Biến một bức ảnh nguồn thành một tượng minifigure 3D dạng gạch có thể sưu tầm qua hai giai đoạn:
prototype tạo ra một hình ảnh khái niệm được cách điệu từ ảnh đầu vào của bạn, sau đó
build biến hình ảnh khái niệm đó thành một mô hình 3D có texture. Hai giai đoạn
được liên kết với nhau thông qua input_task_id.
POST /openapi/creative-lab/brick-figure/v1/prototype
Tạo một hình ảnh concept theo phong cách gạch (brick-style) duy nhất từ ảnh nguồn. Task ID được trả về chính là giá trị bạn sẽ truyền vào làm input_task_id cho endpoint build. Tham khảo
The Brick Figure Prototype Task Object
để biết cấu trúc phản hồi.
Tham số
Name
image_url
Type
string
Bắt buộc
Description
Ảnh nguồn để Meshy tạo phong cách nhân vật gạch mini (brick minifigure). Hiện tại chúng tôi hỗ trợ các định dạng .jpg, .jpeg, .png, và .webp.
Có hai cách để cung cấp ảnh:
URL công khai: Một URL có thể truy cập được từ internet công cộng.
Data URI: Một data URI được mã hóa base64 của ảnh. Ví dụ về data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Tên tác vụ (task) tùy chọn dùng cho mục đích hiển thị. Tối đa 100 ký tự.
Name
remove_background
Type
boolean
mặc định false
Description
Khi được đặt là true, ảnh prototype sẽ được trả về dưới dạng PNG RGBA trong suốt với nền đã được xóa, cho phép bạn ghép chủ thể lên bất kỳ nền nào.
Kết quả trả về
Thuộc tính result của phản hồi chứa id của tác vụ tạo brick figure prototype vừa được tạo. Hãy poll endpoint Get a Task hoặc đăng ký stream cho đến khi tác vụ đạt trạng thái SUCCEEDED, sau đó truyền ID đó vào build endpoint dưới dạng input_task_id.
Các trường hợp lỗi
Name
400 - Bad Request
Description
Yêu cầu không hợp lệ. Các nguyên nhân phổ biến:
Thiếu tham số: image_url là bắt buộc.
Định dạng ảnh không hợp lệ: image_url được cung cấp không phải là định dạng được hỗ trợ (.jpg, .jpeg, .png, .webp).
Kích thước ảnh vượt ngoài giới hạn cho phép: Ảnh quá nhỏ, vượt quá kích thước tệp tối đa, hoặc vượt quá số pixel tối đa.
URL không thể truy cập: Không thể tải xuống image_url (lỗi 404 hoặc timeout).
Data URI không hợp lệ: Chuỗi base64 bị sai định dạng.
Nội dung bị gắn cờ: Ảnh đầu vào bị gắn cờ bởi moderation nội dung nhạy cảm (NSFW).
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 tác vụ này.
Name
403 - Forbidden
Description
Ảnh đầu vào bị gắn cờ vi phạm sở hữu trí tuệ.
Name
429 - Too Many Requests
Description
Bạn đã vượt quá giới hạn tốc độ cho phép.
Request
POST
/openapi/creative-lab/brick-figure/v1/prototype
# Stage 1: generate a brick-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/brick-figure/v1/prototype \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Tạo mô hình tượng gạch 3D cuối cùng có texture từ một tác vụ nguyên mẫu (prototype) đã thành công. Quá trình build chạy cùng pipeline ảnh sang 3D như
Ảnh sang 3D, vì vậy định dạng đối tượng phản hồi và
danh sách các URL đầu ra hoàn toàn khớp nhau. Tham khảo
Đối tượng Tác vụ Build Tượng Gạch để biết
hình dạng phản hồi.
Tham số
Name
input_task_id
Type
string
Bắt buộc
Description
ID tác vụ của một tác vụ nguyên mẫu được tạo 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 trạng thái SUCCEEDED, và phải đã tạo ra chính xác một ảnh ứng viên.
Các tác vụ nguyên mẫu được tạo qua webapp không được chấp nhận — endpoint build chỉ chấp nhận các tác vụ nguyên mẫu được tạo bởi POST /openapi/creative-lab/brick-figure/v1/prototype và từ chối mọi nguồn khác với mã 404.
Name
name
Type
string
Description
Tên tác vụ tùy chọn để hiển thị. Tối đa 100 ký tự.
Giá trị trả về
Thuộc tính result của phản hồi chứa id tác vụ của tác vụ build tượng gạch vừa được tạo. Hãy polling endpoint Lấy một Tác vụ hoặc đăng ký stream cho đến khi tác vụ đạt trạng thái SUCCEEDED, sau đó tải xuống GLB có texture từ model_urls.glb (hoặc cặp OBJ + MTL từ model_urls.obj và model_urls.mtl nếu pipeline downstream của bạn ưu tiên OBJ).
Các Chế độ Lỗi
Name
400 - Bad Request
Description
Yêu cầu không được chấp nhận. 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à một UUID hợp lệ.
Tác vụ gốc chưa thành công: Tác vụ nguyên mẫu được tham chiếu chưa đạt trạng thái SUCCEEDED.
Không có ứng viên: Tác vụ nguyên mẫu đã thành công nhưng không tạo ra ảnh ứng 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 tác vụ này.
Name
404 - Not Found
Description
Tác 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 qua webapp (chỉ các tác vụ nguyên mẫu ở chế độ API mới có thể chuyển tiếp sang build).
Name
429 - Too Many Requests
Description
Bạn đã vượt quá giới hạn tốc độ.
Request
POST
/openapi/creative-lab/brick-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/brick-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578" }'
Truy xuất một task prototype hoặc build với id task hợp lệ. Đường dẫn URL
phải khớp với giai đoạn của task — một task build được truy xuất qua
/prototype/:id sẽ trả về 404, và ngược lại.
Hủy một tác vụ brick figure. Nếu tác vụ vẫn đang ở trạng thái PENDING, số tín dụng
đã tiêu tốn tại thời điểm tạo sẽ được hoàn lại. Các tác vụ đã ở trạng thái
IN_PROGRESS sẽ bị hủy mà không được hoàn tín dụng (worker có thể đã đang
tiêu tốn tài nguyên). Các tác vụ đã đạt đến 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 tác vụ — dùng DELETE trên
/prototype/:buildId sẽ trả về 404.
Tham số đường dẫn
Name
id
Type
path
Description
Định danh duy nhất của tác vụ brick figure cần hủy.
Kết quả trả về
Trả về 204 No Content khi thành công với nội dung rỗng.
Các trường hợp lỗi
Name
400 - Bad Request
Description
Tác vụ đã ở trạng thái cuối cùng và không thể bị hủy.
Name
404 - Not Found
Description
Tác 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.
Truyền trực tuyến các cập nhật theo thời gian thực cho một tác vụ brick figure thông qua Server-Sent Events (SSE).
Đường dẫn URL phải khớp với giai đoạn của tác vụ — việc mở một stream tại
/prototype/:buildId/stream sẽ phát ra một payload event: error duy nhất với
status_code: 404 và đóng stream lại.
Tham số
Name
id
Type
path
Description
Định danh duy nhất của tác vụ brick figure cần truyền trực tuyến.
Giá trị trả về
Trả về một stream các đối tượng tác vụ Brick Figure Prototype
hoặc Brick Figure Build dưới dạng
Server-Sent Events. Mỗi khung dữ liệu đều mang toàn bộ đối tượng tác vụ tương ứng với giai đoạn đó — có cùng cấu trúc như
endpoint Get trả về — vì vậy trong khi tác vụ đang ở trạng thái PENDING hoặc IN_PROGRESS, các
trường đầu ra chỉ đơn giản là chưa được điền (null, [] hoặc {}) và
finished_at là null.
Truy xuất danh sách có phân trang các tác vụ tượng gạch của bạn cho một giai đoạn duy nhất. Đường dẫn URL
xác định giai đoạn — /prototype trả về các tác vụ prototype; /build
trả về các tác vụ build. Các tác vụ từ giai đoạn còn lại không được bao gồm trong
phản hồi.
Path Parameters
Name
stage
Type
path
Bắt buộc
Description
Là prototype hoặc build. Bộ sưu tập chỉ trả về các tác vụ
có giai đoạn khớp với URL — việc gọi /prototype sẽ không bao giờ trả về
các tác vụ build và ngược lại.
Query Parameters
Name
page_num
Type
integer
mặc định 1
Description
Số trang dùng 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à 100 mục.
Đối tượng Task Prototype tượng gạch là một đơn vị công việc mà Meshy theo dõi để
tạo ra một ảnh concept phong cách gạch từ một ảnh gốc. Kết quả đầu ra của
giai đoạn này được nối tiếp vào giai đoạn build
thông qua input_task_id.
Thuộc tính
Name
id
Type
string
Description
Định danh duy nhất cho task. Mặc dù chúng tôi sử dụng UUID có thể sắp xếp theo k (k-sortable) làm chi tiết triển khai cho id của task, 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 task. Giá trị là creative-lab-brick-figure-prototype.
Name
name
Type
string
Description
Tên task được cung cấp khi task được tạo. Là 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 task. Các giá trị có thể có là một trong các giá trị PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
progress của task. Nếu task chưa bắt đầu, thuộc tính này sẽ là 0. Khi task đã hoàn thành 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 task được tạo, tính bằng mili giây.
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 UTC, theo
tiêu chuẩn RFC 3339.
Ví dụ, thứ Sáu, ngày 1 tháng 9 năm 2023 lúc 12:00:00 PM GMT được biểu diễn là 1693569600000. Điều này áp dụng
cho tất cả các dấu thời gian trong Meshy API.
Name
started_at
Type
timestamp
Description
dấu thời gian khi task được bắt đầu, tính bằng mili giây. Nếu task chưa bắt đầu, thuộc tính này sẽ là null.
Name
finished_at
Type
timestamp
Description
dấu thời gian khi task được hoàn thành, tính bằng mili giây. Nếu task chưa hoàn thành, thuộc tính này sẽ là null.
Name
expires_at
Type
timestamp
Description
dấu thời gian khi kết quả của task hết hạn, tính bằng mili giây.
Name
preceding_tasks
Type
integer
Description
Số lượng task đứng trước.
Giá trị của trường này chỉ có ý nghĩa khi trạng thái task là PENDING.
Name
task_error
Type
object
Description
Chi tiết lỗi cho các task thất bại. Xem Lỗi để biết tham chiếu đầy đủ về đối tượng task_error.
Name
consumed_credits
Type
integer
Description
Số tín dụng đã tiêu thụ bởi task này. Xuất hiện khi trạng thái task là PENDING, IN_PROGRESS, hoặc SUCCEEDED. Trả về 0 đối với các task FAILED (tín dụng sẽ được hoàn lại khi thất bại).
Name
image_urls
Type
array of strings
Description
Các URL có thể tải xuống cho các ứng viên ảnh concept được tạo bởi task prototype này. 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 sau này có thể hiển thị nhiều ứng viên mà không gây ra thay đổi phá vỡ tương thích.
The Brick Figure Build Task object là một đơn vị công việc mà Meshy theo dõi để
tạo ra một mô hình tượng gạch (brick figure) 3D có texture từ một tác vụ prototype đã thành công. Nó
chạy cùng pipeline image-to-3D được sử dụng bởi Image to 3D,
vì vậy các trường đầu ra phản ánh đối tượng task 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-brick-figure-build.
Name
name
Type
string
Description
Tên tác vụ được cung cấp khi tác vụ được tạo. Là 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 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 bắt đầu, thuộc tính này sẽ là 0. Khi tác 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 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ụ được 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ụ hoàn thành, 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 các 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 để biết tham chiếu đầy đủ về đối tượng task_error.
Name
consumed_credits
Type
integer
Description
Số lượng tín dụng đã tiêu thụ bởi tác vụ này. Trả về 0 đối với các tác vụ FAILED (tín dụng được hoàn lại khi thất bại).
Name
prompt
Type
string
Description
Luôn rỗng đối với brick figure build. Có mặt để tương thích liên endpoint với cấu trúc V2ImageTo3DTaskResponse dùng chung được sử dụng bởi Image to 3D.
Name
negative_prompt
Type
string
Description
Luôn rỗng đối với brick figure build. Có mặt để tương thích liên endpoint.
Name
texture_prompt
Type
string
Description
Luôn rỗng đối với brick figure build. Có mặt để tương thích liên endpoint.
Name
texture_image_url
Type
string
Description
Luôn rỗng đối với brick figure build. Có mặt để tương thích liên endpoint.
Name
model_urls
Type
object
Description
Các URL có thể tải xuống cho mô hình 3D đã được tạo. Brick figure build tạo ra một GLB có texture cùng với cặp OBJ + MTL cho các pipeline ưa thích định dạng Wavefront OBJ. Cấu trúc trường này khớp với đối tượng model_urls của Image to 3D để các định dạng bổ sung trong tương lai có thể được thêm vào mà không gây thay đổi phá vỡ.
Name
glb
Type
string
Description
URL có thể tải xuống cho tệp GLB có 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 đi kèm với OBJ. Kết hợp với obj và mục nhập 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 bởi tác vụ này. Hiện tại chứa một đối tượng duy nhất với bản đồ màu cơ bản (base color).