Biến ảnh của bạn thành nam châm tủ lạnh tùy chỉnh — một phù điêu độ sâu
được tô màu dạng hình chữ nhật bo góc với mặt sau nam châm phẳng, có kích thước phù hợp với tủ lạnh — theo hai
giai đoạn: nguyên mẫu tạo hình ảnh ý tưởng được tô màu từ ảnh
đầu vào của bạn, sau đó xây dựng biến hình ảnh ý tưởng đó thành mô hình 3D phù điêu. Hai
giai đoạn được liên kết thông qua input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Tạo một ảnh ý tưởng đã được tô màu từ ảnh nguồn. ID tác vụ
được trả về là giá trị bạn truyền dưới dạng input_task_id tới endpoint
build. Tham khảo
Đối tượng tác vụ nguyên mẫu nam châm tủ lạnh
để 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ô màu thành ảnh ý tưởng sẵn sàng cho nam châm tủ lạnh. 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 ảnh:
URL có thể truy cập công khai: Một URL có thể truy cập từ internet công cộng.
Data URI: 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ụ tùy chọn dùng 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 tác vụ của tác vụ nguyên mẫu nam châm tủ lạnh mới được tạo. Thăm dò endpoint Lấy tác vụ hoặc đăng ký stream cho đến khi tác vụ đạt SUCCEEDED, sau đó truyền ID đó tới endpoint build dưới dạng input_task_id.
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 thường gặp:
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 ngoài phạm vi: Ảnh quá nhỏ, vượt quá kích thước tệp tối đa hoặc vượt quá số lượng pixel tối đa.
URL không thể truy cập: Không thể tải xuống image_url (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 NSFW hoặc sở hữu 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 tác 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/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurl https://api.meshy.ai/openapi/creative-lab/fridge-magnet/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":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Prototype example
Start with a source photo, then generate the prototype image used by the fridge magnet build stage.
Tạo nam châm tủ lạnh cuối cùng có thể in 3D từ một tác vụ
prototype đã thành công. Quá trình build chạy pipeline phù điêu depth-map trên
hình ảnh concept đã tô màu của prototype và xuất một artifact lưới duy nhất ở
định dạng bạn yêu cầu. Tham khảo
Đối tượng tác vụ build nam châm tủ lạnh để biết
cấu trúc 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ụ prototype được tạo thông qua cùng endpoint OpenAPI này. Prototype phải được tạo bằng cùng khóa API, phải đã đạt SUCCEEDED, và phải tạo ra đúng một hình ảnh ứng viên.
Các tác vụ prototype được tạo qua webapp không được chấp nhận — endpoint build chỉ chấp nhận các tác vụ prototype được tạo bởi POST /openapi/creative-lab/fridge-magnet/v1/prototype và từ chối mọi nguồn khác với 404.
Name
name
Type
string
Description
Tên tác vụ tùy chọn dùng cho mục đích hiển thị. Tối đa 100 ký tự.
options
Các tham số tinh chỉnh tùy chọn cho hình học phù điêu. Mỗi trường đều có giá trị mặc định hợp lý — chỉ gửi những trường bạn muốn ghi đè.
Name
badge_shape
Type
string
mặc định rounded-rect
Description
Hình bóng đường viền của nam châm tủ lạnh. Các giá trị khả dụng:
circle
rounded-rect (mặc định)
hexagon
shield
star
Name
size_mm
Type
number
mặc định 60
Description
Độ dài cạnh của hình vuông bao quanh nam châm tủ lạnh, tính bằng milimét. Phạm vi: (0, 400].
Name
relief_height_mm
Type
number
mặc định 3.3
Description
Chiều cao phù điêu tối đa phía trên phần đế, tính bằng milimét. Phạm vi: [0, 20].
Name
relief_offset_mm
Type
number
mặc định 0
Description
Độ lệch dọc được áp dụng cho phù điêu trước khi đùn, tính bằng milimét. Phạm vi: [0, 20].
Name
base_thickness_mm
Type
number
mặc định 2.0
Description
Độ dày của tấm đế phẳng phía sau phù điêu, tính bằng milimét. Mặc định của nam châm tủ lạnh là phần đế 2 mm chắc hơn — giúp nam châm có đủ thân để bám vào tủ lạnh mà không khiến phù điêu có cảm giác mong manh. Phạm vi: [0, 20].
Name
has_closed_back
Type
boolean
mặc định true
Description
Mặt sau của nam châm tủ lạnh có được bịt kín như một bề mặt đóng hay không (phía bạn dán nam châm vào). Đặt thành false để dùng vỏ mở.
Name
relief_curve
Type
string
mặc định linear
Description
Đường cong chuyển đổi ánh xạ các giá trị depth-map sang chiều cao phù điêu. Các giá trị khả dụng:
linear (mặc định)
gamma
s-curve
Name
curve_param
Type
number
mặc định 1.0
Description
Tham số hình dạng cho đường cong chuyển đổi (chỉ có ý nghĩa khi relief_curve là gamma). Phạm vi: (0, 10].
Name
invert_depth
Type
boolean
mặc định false
Description
Đảo ngược cách diễn giải depth-map để các vùng tối hơn trở thành phù điêu cao hơn.
Name
smoothing
Type
number
mặc định 0.24
Description
Cường độ làm mịn được áp dụng cho depth map trước khi trích xuất phù điêu. Phạm vi: [0, 10].
Name
relief_scale
Type
number
mặc định 1.0
Description
Hệ số nhân tỉ lệ theo chiều dọc được áp dụng bên trên relief_height_mm. Phạm vi: (0, 10].
Name
depth_threshold
Type
number
mặc định 0.1
Description
Ngưỡng low-pass cho các giá trị depth-map; mọi giá trị bên dưới ngưỡng này được kẹp về 0. Phạm vi: [0, 1].
Name
remove_background
Type
boolean
mặc định true
Description
Tự động xóa nền của hình ảnh concept của prototype trước khi tạo phù điêu.
Name
export_resolution
Type
integer
mặc định 512
Description
Độ phân giải lưới được dùng để xuất. Phạm vi: [64, 2048].
output
Bộ chọn định dạng truyền tải tùy chọn. Mặc định là glb.
Name
format
Type
string
mặc định glb
Description
Gói artifact được trả về bởi quá trình build. Các giá trị khả dụng:
glb (mặc định) — trả về một model.glb duy nhất trong model_urls.glb.
obj — nén model.obj + model.mtl + texture.png và trả về gói trong model_urls.obj.
zip — nén mọi artifact mà trình tạo phát ra và trả về gói trong model_urls.bundle_zip.
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 nam châm tủ lạnh vừa được tạo. Poll endpoint Lấy một tác vụ hoặc đăng ký stream cho đến khi tác vụ đạt SUCCEEDED, sau đó tải artifact xuống từ mục nhập duy nhất trong model_urls.
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à UUID hợp lệ.
Tác vụ cha chưa thành công: Tác vụ prototype được tham chiếu chưa đạt SUCCEEDED.
Không có ứng viên: Tác vụ prototype đã thành công nhưng không tạo ra hình ảnh ứng viên nào.
Options ngoài phạm vi: Một trong các trường options nằm ngoài phạm vi hoặc tập enum được phép.
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ụ prototype đượ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ụ prototype ở mode API mới nối chuỗi vào build).
Truy xuất một tác vụ nguyên mẫu hoặc bản dựng với id tác vụ hợp lệ. Đường dẫn URL
phải khớp với giai đoạn của tác vụ — một tác vụ bản dựng được lấy thông qua
/prototype/:id sẽ trả về 404, và ngược lại.
Hủy một tác vụ nam châm tủ lạnh. Nếu tác vụ vẫn đang PENDING, số tín dụng
đã tiêu thụ tại thời điểm tạo sẽ được hoàn lại. Các tác vụ đã
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
(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ụ — DELETE trên
/prototype/:buildId trả về 404.
Tham số đường dẫn
Name
id
Type
path
Description
Mã định danh duy nhất của tác vụ nam châm tủ lạnh cần hủy.
Trả về
Trả về 204 No Content khi thành công với phần thân trống.
Trường hợp lỗi
Name
400 - Bad Request
Description
Tác vụ đã ở trạng thái cuối 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 tác vụ 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ụ nam châm tủ lạnh 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 luồng tại
/prototype/:buildId/stream sẽ phát ra một payload event: error duy nhất với
status_code: 404 và đóng luồng.
Tham số
Name
id
Type
path
Description
Mã định danh duy nhất của tác vụ nam châm tủ lạnh cần truyền trực tuyến.
Trả về
Trả về một luồng gồm các đối tượng tác vụ Nguyên mẫu nam châm tủ lạnh
hoặc Bản dựng nam châm tủ lạnh dưới dạng
Server-Sent Events. Đối với các tác vụ PENDING hoặc IN_PROGRESS, luồng phản hồi
sẽ chỉ bao gồm các trường progress và status cần thiết.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","progress": 0,"status": "PENDING"}event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","type": "creative-lab-fridge-magnet-build","status": "SUCCEEDED","progress": 100,"created_at": 1729543250000,"started_at": 1729543258000,"finished_at": 1729543285000,"expires_at": 1729802485000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***" }}
Truy xuất danh sách có phân trang các tác vụ nam châm tủ lạnh 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ác tác vụ prototype; /build
trả về các tác vụ build. Các tác vụ 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ề các tác vụ
có giai đoạn khớp với URL — việc lấy /prototype không bao giờ trả về
tác vụ build 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 được phép là 50 mục.
Name
sort_by
Type
string
mặc định -created_at
Description
Trường để sắp xếp theo. Các giá trị khả dụng:
+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 tác vụ nguyên mẫu nam châm tủ lạnh là một đơn vị công việc mà Meshy theo dõi để
tạo một hình ảnh ý tưởng đã được tô màu từ ảnh nguồn. Đầu ra của
giai đoạn này được nối chuỗi vào giai đoạn xây dựng
thông qua input_task_id.
Thuộc tính
Name
id
Type
string
Description
Mã định danh duy nhất cho tác vụ. Mặc dù chúng tôi sử dụng UUID có thể sắp xếp theo k cho id tác vụ như một 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 tác vụ. Giá trị là creative-lab-fridge-magnet-prototype.
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 PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
progress 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.
Một dấu thời gian biểu thị số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 UTC, tuân 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 được biểu thị 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 tác vụ được bắt đầu, tính bằng mili giây. Nếu tác 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 tác vụ hoàn tất, tính bằng mili giây. Nếu tác vụ chưa hoàn tất, thuộc tính này sẽ là 0.
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.
Giá trị của trường này chỉ có ý nghĩa nếu trạng thái tác vụ 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ố tín dụng được tác vụ này tiêu thụ. Hiển thị khi trạng thái tác vụ là PENDING, IN_PROGRESS, hoặc SUCCEEDED. Trả về 0 cho các tác vụ FAILED (tín dụng đượ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 những ứng viên hình ảnh ý tưởng được tạo bởi tác vụ nguyên mẫu này. Hiện tại API luôn trả về đúng một ứng viên; trường này là một mảng để các bản sửa đổi trong tương lai có thể hiển thị nhiều ứng viên mà không gây thay đổi phá vỡ tương thích.
Đối tượng tác vụ xây dựng nam châm tủ lạnh là một đơn vị công việc mà Meshy theo dõi để
tạo lưới nam châm tủ lạnh 3D cuối cùng từ một tác vụ nguyên mẫu SUCCEEDED. Quy trình
xây dựng chạy một pipeline phù điêu dựa trên bản đồ độ sâu trên hình ảnh ý tưởng của nguyên mẫu và
xuất bản một tạo tác lưới duy nhất ở định dạng mà bên gọi đã yêu cầu.
Thuộc tính
Name
id
Type
string
Description
Mã đị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-fridge-magnet-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 PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress 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ụ được hoàn tất, 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 để biết tham chiếu đầy đủ về đối tượng task_error.
Name
consumed_credits
Type
integer
Description
Số 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 được hoàn lại khi thất bại).
Name
model_urls
Type
object
Description
Các URL có thể tải xuống cho tạo phẩm được tạo, được lập khóa theo tên tạo phẩm. Luôn chứa chính xác một mục nhập — định dạng được yêu cầu qua output.format của yêu cầu build. Khóa khớp với định dạng được yêu cầu:
Name
glb
Type
string
Description
URL có thể tải xuống tới tệp GLB. Có mặt khi output.format là glb (mặc định).
Name
obj
Type
string
Description
URL có thể tải xuống tới một gói zip chứa model.obj, model.mtl, và texture.png. Có mặt khi output.format là obj.
Name
bundle_zip
Type
string
Description
URL có thể tải xuống tới một gói zip của mọi tạo phẩm mà trình tạo phát ra. Có mặt khi output.format là zip.