Biến một bức ảnh nguồn thành một tượng 3D vinyl đầu to trong hai giai đoạn:
nguyên mẫu tạo ra một hình ảnh ý tưởng phong cách từ ảnh đầu vào của bạn,
sau đó xây dựng biến hình ảnh ý tưởng đó thành một mô hình 3D có texture.
Hai giai đoạn này được liên kết qua input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Tạo một hình ảnh ý tưởng theo phong cách tượng vinyl từ bức ảnh nguồn.
ID nhiệm vụ được trả về là những gì bạn truyền như input_task_id cho
endpoint xây dựng. Tham khảo
Đối tượng Nhiệm vụ Tượng Vinyl Prototype
để biết cấu trúc phản hồi.
Tham số
Name
image_url
Type
string
Bắt buộc
Description
Bức ảnh nguồn để Meshy tạo kiểu thành tượng vinyl đầu to. Chúng tôi hiện hỗ trợ các định dạng .jpg, .jpeg, .png, và .webp.
Có hai cách để cung cấp hình ảnh:
URL truy cập công khai: Một URL có thể truy cập từ internet công cộng.
Data URI: Một Data URI mã hóa base64 của hình ảnh. Ví dụ một Data URI: data:image/jpeg;base64,<dữ liệu hình ảnh mã hóa base64 của bạn>.
Name
name
Type
string
Description
Tên nhiệm vụ tùy chọn cho mục đích hiển thị. Tối đa 100 ký tự.
Trở về
Thuộc tính result của phản hồi chứa ID nhiệm vụ của nhiệm vụ tượng vinyl prototype mới tạo. Khảo sát endpoint Lấy một Nhiệm vụ hoặc đăng ký luồng stream cho đến khi nhiệm vụ đạt trạng thái SUCCEEDED, sau đó truyền ID đó cho endpoint xây dựng như input_task_id.
Chế độ Lỗi
Name
400 - Bad Request
Description
Yêu cầu không chấp nhận được. Các nguyên nhân phổ biến:
Thiếu tham số: image_url là bắt buộc.
Định dạng hình ảnh không hợp lệ: image_url cung cấp không phải là định dạng được hỗ trợ (.jpg, .jpeg, .png, .webp).
Kích thước hình ảnh ngoài phạm vi: Hình ảnh quá nhỏ, vượt quá kích thước tập tin tối đa, hoặc vượt quá số điểm ảnh tối đa.
URL không thể truy cập: image_url không thể tải xuống được (lỗi 404 hoặc timeout).
Data URI không hợp lệ: Chuỗi base64 bị lỗi.
Nội dung bị gắn cờ: Hình ảnh đầu vào bị gắn cờ bởi moderation NSFW hoặc tài sản trí tuệ.
Name
401 - Unauthorized
Description
Xác thực thất bại. Vui lòng kiểm tra khóa API của bạn.
Name
402 - Payment Required
Description
Không đủ tín dụng để thực hiện nhiệm vụ này.
Name
429 - Too Many Requests
Description
Bạn đã vượt quá giới hạn tốc độ của mình.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/prototype
# Giai đoạn 1: tạo một hình ảnh ý tưởng theo phong cách tượng vinylcurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Response
{"result":"019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"}
Ví dụ nguyên mẫu
Bắt đầu với một ảnh chân dung nguồn, sau đó tạo ảnh nguyên mẫu được dùng bởi giai đoạn build.
Tạo tượng vinyl 3D có kết cấu cuối cùng từ một nhiệm vụ nguyên mẫu thành công. Quá trình xây dựng chạy cùng một quy trình Ảnh sang 3D như Ảnh sang 3D, do đó định dạng đối tượng phản hồi và danh sách các đầu ra URL hoàn toàn khớp. Tham khảo Đối tượng Build Task của Tượng Vinyl để biết kết cấu phản hồi.
Tham số
Name
input_task_id
Type
string
Bắt buộc
Description
ID của nhiệm vụ nguyên mẫu được tạo thông qua cùng endpoint OpenAPI này. Nguyên mẫu phải được tạo bằng cùng khóa API, phải đạt SUCCEEDED, và phải tạo ra chính xác một ảnh ứng cử viên.
Các nhiệm vụ nguyên mẫu được tạo qua webapp không được chấp nhận — endpoint xây dựng chỉ chấp nhận các nhiệm vụ nguyên mẫu được tạo ra từ POST /openapi/creative-lab/vinyl-figure/v1/prototype và từ chối bất kỳ nguồn nào khác với 404.
Name
name
Type
string
Description
Tên nhiệm vụ tùy chọn cho mục đích hiển thị. Tối đa 100 ký tự.
Hoàn trả
Thuộc tính result của phản hồi chứa id của nhiệm vụ xây dựng tượng vinyl mới được tạo. Liên tục kiểm tra Lấy Nhiệm Vụ endpoint hoặc đăng ký với luồng cho đến khi nhiệm vụ đạt SUCCEEDED, sau đó tải xuống GLB đã được dán kết cấu từ model_urls.glb (hoặc cặp OBJ + MTL từ model_urls.obj và model_urls.mtl nếu quy trình xử lý sau của bạn ưu thích OBJ).
Chế Độ Thất Bại
Name
400 - Bad Request
Description
Yêu cầu không chấp nhận được. Các nguyên nhân phổ biến:
Thiếu tham số: input_task_id là bắt buộc.
UUID không hợp lệ: input_task_id không phải là UUID hợp lệ.
Nguyên mẫu chưa thành công: Nhiệm vụ nguyên mẫu được tham chiếu chưa đạt SUCCEEDED.
Không có ứng cử viên: Nhiệm vụ nguyên mẫu đã thành công nhưng không tạo ra ảnh ứng cử viên nào.
Name
401 - Unauthorized
Description
Xác thực thất bại. Vui lòng kiểm tra khóa API của bạn.
Name
402 - Payment Required
Description
Không đủ tín dụng để thực hiện nhiệm vụ này.
Name
404 - Not Found
Description
Nhiệm vụ nguyên mẫu được tham chiếu không tồn tại, thuộc về người dùng khác, hoặc đã được tạo thông qua webapp (chỉ các nhiệm vụ nguyên mẫu dạng API mới được liên kết vào xây dựng).
Name
429 - Too Many Requests
Description
Bạn đã vượt quá giới hạn tốc độ của mình.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Giai đoạn 2: liên kết xây dựng từ một nhiệm vụ nguyên mẫu đã thành côngcurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Truy xuất một nhiệm vụ prototype hoặc xây dựng với một id nhiệm vụ hợp lệ. Đường dẫn URL
phải khớp với giai đoạn của nhiệm vụ — một nhiệm vụ xây dựng được lấy thông qua
/prototype/:id sẽ trả về 404, và ngược lại.
Hủy bỏ một nhiệm vụ tượng vinyl. Nếu nhiệm vụ vẫn đang PENDING, tín dụng
đã tiêu thụ khi tạo sẽ được hoàn trả. Các nhiệm vụ đã IN_PROGRESS sẽ bị hủy mà không hoàn lại (công nhân có thể đã đốt tài nguyên). Nhiệm vụ đã đạt trạng thái cuối cùng (SUCCEEDED, FAILED, CANCELED) không thể bị hủy.
Đường dẫn URL phải khớp với giai đoạn của nhiệm vụ — DELETE trên
/prototype/:buildId trả về 404.
Tham Số Đường Dẫn
Name
id
Type
path
Description
Định danh duy nhất cho nhiệm vụ tượng vinyl cần hủy.
Trả Về
Trả về 204 No Content khi thành công với thân trống.
Các Chế Độ Thất Bại
Name
400 - Bad Request
Description
Nhiệm vụ đã ở trạng thái cuối cùng và không thể bị hủy.
Name
404 - Not Found
Description
Nhiệm vụ không tồn tại, thuộc về người dùng khác, hoặc giai đoạn của nó không khớp với đường dẫn URL.
Phát trực tuyến cập nhật theo thời gian thực cho một nhiệm vụ tượng vinyl qua Server-Sent Events
(SSE). Đường dẫn URL phải khớp với giai đoạn của nhiệm vụ — mở một luồng tại
/prototype/:buildId/stream phát ra một event: error payload đơn với
status_code: 404 và đóng luồng.
Tham Số
Name
id
Type
path
Description
Định danh duy nhất cho nhiệm vụ tượng vinyl để phát trực tuyến.
Trả Về
Trả về một luồng các đối tượng nhiệm vụ Tượng Vinyl Mẫu
hoặc Tượng Vinyl Xây Dựng như Server-Sent Events. Đối với các nhiệm vụ PENDING hoặc IN_PROGRESS, luồng phản hồi chỉ bao gồm các trường progress và status cần thiết.
// Ví dụ sự kiện lỗi (sai giai đoạn hoặc không tìm thấy nhiệm vụ)event: errordata: {"status_code": 404,"message": "Task not found"}// Các ví dụ về sự kiện tin nhắn minh họa tiến trình nhiệm vụ.// Đối với các nhiệm vụ PENDING hoặc IN_PROGRESS, luồng phản hồi sẽ không bao gồm tất cả các trường.event: messagedata: {"id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef","progress": 0,"status": "PENDING"}event: messagedata: {"id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef","type": "creative-lab-vinyl-figure-build","status": "SUCCEEDED","progress": 100,"created_at": 1752969700000,"started_at": 1752969710000,"finished_at": 1752969735000,"expires_at": 1753228935000,"task_error": null,"consumed_credits": 30,"prompt": "","negative_prompt": "","texture_prompt": "","texture_image_url": "","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.glb?Expires=***","obj":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.mtl?Expires=***" },"thumbnail_url": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/preview.png?Expires=***","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/texture_0.png?Expires=***" } ]}
Lấy danh sách phân trang các công việc tượng vinyl của bạn cho một giai đoạn duy nhất.
Đường dẫn URL chọn giai đoạn — /prototype trả về công việc prototype;
/build trả về công việc xây dựng. Công việc từ giai đoạn khác không được bao gồm
trong bất kỳ phản hồi nào.
Tham Số Đường Dẫn
Name
stage
Type
path
Bắt buộc
Description
Hoặc prototype hoặc build. Bộ sưu tập chỉ trả về những công việc
có giai đoạn khớp với URL — lấy /prototype không bao giờ trả về
các công việc xây dựng và ngược lại.
Tham Số Truy Vấn
Name
page_num
Type
integer
mặc định 1
Description
Số trang cho phân trang.
Name
page_size
Type
integer
mặc định 10
Description
Giới hạn kích thước trang. Tối đa cho phép là 50 mục.
Name
sort_by
Type
string
mặc định -created_at
Description
Trường để sắp xếp. Các giá trị có sẵn:
+created_at: Sắp xếp theo thời gian tạo theo thứ tự tăng dần.
-created_at: Sắp xếp theo thời gian tạo theo thứ tự giảm dần.
Đối tượng Nhiệm Vụ Nguyên Mẫu Tượng Vinyl là một đơn vị công việc mà Meshy theo dõi để tạo ra một hình ảnh khái niệm theo phong cách tượng vinyl từ một bức ảnh nguồn. Kết quả đầu ra của giai đoạn này được liên kết với giai đoạn xây dựng qua input_task_id.
Thuộc Tính
Name
id
Type
string
Description
Định danh duy nhất cho nhiệm vụ. Mặc dù chúng tôi sử dụng một UUID có thể sắp xếp theo k cho ID nhiệm vụ như là chi tiết triển khai, bạn không nên đưa ra bất kỳ giả định nào về định dạng của id.
Name
type
Type
string
Description
Loại của nhiệm vụ. Giá trị là creative-lab-vinyl-figure-prototype.
Name
name
Type
string
Description
Tên nhiệm vụ được cung cấp khi nhiệm vụ được tạo. Chuỗi rỗng nếu không có tên được cung cấp.
Name
status
Type
string
Description
Trạng thái của nhiệm vụ. Các giá trị khả thi là một trong các PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Tiến độ của nhiệm vụ. Nếu nhiệm vụ chưa bắt đầu, thuộc tính này sẽ là 0. Khi nhiệm vụ đã thành công, giá trị này sẽ trở thành 100.
Name
created_at
Type
timestamp
Description
Dấu thời gian khi nhiệm vụ được tạo, tính bằng mili giây.
Một dấu thời gian đại diện cho số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 theo UTC,
theo tiêu chuẩn RFC 3339.
Ví dụ: Thứ Sáu, ngày 1 tháng 9 năm 2023, 12:00:00 PM GMT sẽ được biểu diễn là 1693569600000. Điều này áp dụng
cho tất cả dấu thời gian trong Meshy API.
Name
started_at
Type
timestamp
Description
Dấu thời gian khi nhiệm vụ được bắt đầu, tính bằng mili giây. Nếu nhiệm vụ chưa bắt đầu, thuộc tính này sẽ là 0.
Name
finished_at
Type
timestamp
Description
Dấu thời gian khi nhiệm vụ hoàn thành, tính bằng mili giây. Nếu nhiệm vụ chưa hoàn thành, thuộc tính này sẽ là 0.
Name
expires_at
Type
timestamp
Description
Dấu thời gian khi kết quả nhiệm vụ hết hạn, tính bằng mili giây.
Name
preceding_tasks
Type
integer
Description
Số lượng nhiệm vụ trước đó.
Giá trị của trường này chỉ có ý nghĩa nếu trạng thái nhiệm vụ là PENDING.
Name
task_error
Type
object
Description
Chi tiết lỗi cho các nhiệm vụ thất bại. Xem Lỗi để biết đầy đủ tham chiếu đối tượng task_error.
Name
consumed_credits
Type
integer
Description
Số lượng tín dụng đã tiêu thụ bởi nhiệm vụ này. Hiện diện khi trạng thái nhiệm vụ là PENDING, IN_PROGRESS, hoặc SUCCEEDED. Trả lại 0 cho các nhiệm vụ FAILED (tín dụng được hoàn trả nếu thất bại).
Name
image_urls
Type
array of strings
Description
URL có thể tải về cho các hình ảnh khái niệm do nhiệm vụ nguyên mẫu này tạo ra. Hiện tại API luôn trả về chính xác một ứng viên; trường này là một mảng để các phiên bản tương lai có thể cung cấp nhiều ứng viên mà không thay đổi cấu trúc.
Đối tượng Tác Vụ Xây Dựng Tượng Vinyl là một đơn vị công việc mà Meshy theo dõi
để tạo ra một tượng vinyl 3D có dán 贴图(非纹理) từ một tác vụ nguyên mẫu SUCCEEDED.
Nó chạy cùng một quy trình Ảnh sang 3D được sử dụng bởi Ảnh sang 3D,
vì vậy các trường đầu ra cũng tương tự như đối tượng tác vụ của endpoint đó.
Thuộc tính
Name
id
Type
string
Description
Định danh duy nhất cho tác vụ.
Name
type
Type
string
Description
Loại của tác vụ. Giá trị là creative-lab-vinyl-figure-build.
Name
name
Type
string
Description
Tên tác vụ được cung cấp khi tác vụ được tạo. Chuỗi rỗng nếu không có tên nào được cung cấp.
Name
status
Type
string
Description
Trạng thái của tác vụ. Các giá trị có thể là một trong những: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Tiến trình của tác vụ. Nếu tác vụ chưa được bắt đầu, thuộc tính này sẽ là 0. Khi tác vụ đã thành công, thuộc tính này sẽ là 100.
Name
created_at
Type
timestamp
Description
Dấu thời gian khi tác vụ được tạo, tính bằng mili giây.
Name
started_at
Type
timestamp
Description
Dấu thời gian khi tác vụ bắt đầu, tính bằng mili giây.
Name
finished_at
Type
timestamp
Description
Dấu thời gian khi tác vụ kết thúc, tính bằng mili giây.
Name
expires_at
Type
timestamp
Description
Dấu thời gian khi kết quả tác vụ hết hạn, tính bằng mili giây.
Name
preceding_tasks
Type
integer
Description
Số lượng tác vụ đứng trước. Chỉ có nghĩa khi trạng thái là PENDING.
Name
task_error
Type
object
Description
Chi tiết lỗi cho các tác vụ thất bại. Xem Lỗi để tham khảo đầy đủ đối tượng task_error.
Name
consumed_credits
Type
integer
Description
Số lượng tín dụng đã được tiêu thụ bởi tác vụ này. Trả về 0 cho các tác vụ FAILED (tín dụng sẽ được hoàn lại khi thất bại).
Name
prompt
Type
string
Description
Luôn trống đối với việc xây dựng tượng vinyl figure. Hiện diện để tương thích với endpoint chung có dạng V2ImageTo3DTaskResponse được sử dụng bởi Ảnh sang 3D.
Name
negative_prompt
Type
string
Description
Luôn trống đối với việc xây dựng tượng vinyl figure. Hiện diện để tương thích với endpoint chung.
Name
texture_prompt
Type
string
Description
Luôn trống đối với việc xây dựng tượng vinyl figure. Hiện diện để tương thích với endpoint chung.
Name
texture_image_url
Type
string
Description
Luôn trống đối với việc xây dựng tượng vinyl figure. Hiện diện để tương thích với endpoint chung.
Name
model_urls
Type
object
Description
URLs có thể tải xuống cho mô hình 3D được tạo. Quy trình xây dựng tượng vinyl phát ra một GLB có dán texture cùng với cặp OBJ + MTL cho những pipeline thích định dạng Wavefront OBJ. Dạng của trường khớp với đối tượng model_urls của Ảnh sang 3D để việc bổ sung định dạng trong tương lai mà không gây ra sự thay đổi lớn.
Name
glb
Type
string
Description
URL có thể tải xuống cho tệp GLB có dán texture.
Name
obj
Type
string
Description
URL có thể tải xuống cho tệp Wavefront OBJ (hình học + UV).
Name
mtl
Type
string
Description
URL có thể tải xuống cho tệp vật liệu MTL kèm theo dành cho OBJ. Ghép với obj và mục từ texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
URL có thể tải xuống cho ảnh thu nhỏ của tệp mô hình.
Name
texture_urls
Type
array
Description
Một mảng các đối tượng URL texture được tạo ra bởi tác vụ này. Hiện tại chỉ chứa một đối tượng với bản đồ màu cơ bản.
Name
base_color
Type
string
Description
URL có thể tải xuống cho ảnh bản đồ màu cơ bản.
Ví dụ về Đối tượng Tác vụ Xây dựng Tượng Vinyl Figure