Endpoint này cho phép bạn tạo một tác vụ mới để áp dụng hoạt hình cho một nhân vật đã được rigging trước đó — có thể là một hành động dựng sẵn từ thư viện hoạt hình (action_id) hoặc một đoạn clip chuyển động bạn đã tạo bằng Text to Motion API (motion_task_id). Bao gồm các tùy chọn xử lý hậu kỳ.
Tham số
Name
rig_task_id
Type
string
Bắt buộc
Description
id của một tác vụ rigging đã hoàn thành thành công (từ POST /openapi/v1/rigging). Nhân vật từ tác vụ này sẽ được gắn hoạt hình.
Name
action_id
Type
integer
Description
Định danh của hành động hoạt hình dựng sẵn cần áp dụng. Xem Animation Library Reference để biết danh sách đầy đủ các hoạt hình có sẵn. Chỉ cung cấp chính xác một trong hai giá trị action_id hoặc motion_task_id.
Name
motion_task_id
Type
string
Description
id của một tác vụ Text to Motion đã hoàn thành thành công để áp dụng thay cho một hành động dựng sẵn. Đoạn clip được tạo ra sẽ được retarget lên nhân vật đã rigging và clip được chụp nhanh (snapshot) tại thời điểm tạo, do đó tác vụ này không bị ảnh hưởng nếu tác vụ nguồn sau đó hết hạn hoặc bị xóa. Các tài sản của tác vụ nguồn được giữ lại trong 3 ngày — hãy áp dụng clip trước khi nó hết hạn. Yêu cầu bộ khung xương hai chân (biped rig). Chỉ cung cấp chính xác một trong hai giá trị action_id hoặc motion_task_id.
Name
post_process
Type
object
Description
Xử lý hậu kỳ tùy chọn cho đầu ra hoạt hình. Bỏ qua để nhận các tệp hoạt hình tiêu chuẩn.
Chỉ áp dụng khi post_process is set
Name
operation_type
Type
string
Bắt buộc
Description
Loại thao tác cần thực hiện. Các giá trị có sẵn: change_fps, fbx2usdz, extract_armature.
Name
fps
Type
integer
mặc định 30
Description
Tốc độ khung hình mục tiêu. Chỉ áp dụng khi operation_type là change_fps. Các giá trị được phép: 24, 25, 30, 60.
Với motion_task_id, quá trình retarget có thể tạo ra một hoạt hình chỉ có định dạng GLB. Nếu bạn đã yêu cầu post_process mà không có tệp FBX nào khả dụng, tác vụ sẽ thất bại với lỗi task_error và tín dụng của bạn sẽ được hoàn lại tự động; nếu không có post_process, tác vụ sẽ thành công và animation_fbx_url sẽ trống.
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ụ hoạt hình vừa được tạo.
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ố: rig_task_id bị thiếu, hoặc cả action_id lẫn motion_task_id đều không được cung cấp.
Tham số xung đột: cả action_id và motion_task_id đều được cung cấp — hai tham số này loại trừ lẫn nhau.
Tác vụ rigging không hợp lệ: rig_task_id không hợp lệ hoặc trỏ đến một tác vụ thất bại/không tồn tại.
ID hành động không hợp lệ: action_id không tương ứng với một hoạt hình hợp lệ.
Tác vụ chuyển động chưa sẵn sàng: tác vụ motion_task_id chưa đạt trạng thái SUCCEEDED.
Rig không được hỗ trợ: motion_task_id yêu cầu bộ khung xương hai chân (biped rig); các bộ khung xương bốn chân (quadruped rig) sẽ bị từ chối.
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
Không tìm thấy tác vụ rigging được chỉ định bởi rig_task_id, không tìm thấy tác vụ chuyển động được chỉ định bởi motion_task_id, hoặc đoạn clip chuyển động đã hết hạn (các tài sản của tác vụ nguồn được giữ lại trong 3 ngà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/v1/animations
# Animate a rigged model with required params onlycurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "action_id": 92 }'# Apply a generated Text to Motion clip instead of a preset actioncurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "motion_task_id": "018c425b-b2c6-727e-d333-3c1887i9h791" }'# With post-processing to change FPScurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "action_id": 92, "post_process": { "operation_type": "change_fps", "fps": 24 } }'
Trả về danh sách đã phân trang các tác vụ Hoạt hình của người gọi, mới nhất trước. Phân trang tiêu chuẩn thông qua page_num và page_size.
Lưu ý rằng các tác vụ được tạo qua API được quản lý qua API — chúng không xuất hiện trong My Assets của ứng dụng web. Sử dụng endpoint này để tìm một tác vụ mà bạn không còn ID của nó.
Đối tượng Animation Task đại diện cho đơn vị công việc áp dụng hoạt hình cho một nhân vật đã được gắn xương.
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ụ Animation. Giá trị là animate.
Name
status
Type
string
Description
Trạng thái của tác vụ. Các giá trị có thể có: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Tiến trình của tác vụ (0-100).
Name
created_at
Type
timestamp
Description
Dấu thời gian (mili giây kể từ epoch) khi tác vụ được tạo.
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, theo
tiêu chuẩn RFC 3339.
Ví dụ: Thứ Sáu, ngày 1 tháng 9 năm 2023, 12:00:00 chiều GMT được biểu thị 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 (mili giây kể từ epoch) khi tác vụ bắt đầu xử lý. 0 nếu chưa bắt đầu.
Name
finished_at
Type
timestamp
Description
Dấu thời gian (mili giây kể từ epoch) khi tác vụ hoàn thành. 0 nếu chưa hoàn thành.
Name
expires_at
Type
timestamp
Description
Dấu thời gian (mili giây kể từ epoch) khi các tài sản kết quả của tác vụ hết hạn.
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 tài liệu tham khảo đầ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. Có mặt khi trạng thái tác vụ là PENDING, IN_PROGRESS, hoặc SUCCEEDED. Trả về 0 đối với các tác vụ FAILED (tín dụng sẽ được hoàn lại khi thất bại).
Name
result
Type
object
Description
Chứa các URL hoạt hình đầu ra nếu tác vụ SUCCEEDED.
Name
animation_glb_url
Type
string
Description
URL tải xuống cho hoạt hình ở định dạng GLB.
Name
animation_fbx_url
Type
string
Description
URL tải xuống cho hoạt hình ở định dạng FBX.
Name
processed_usdz_url
Type
string
Description
URL tải xuống cho hoạt hình đã xử lý ở định dạng USDZ.
Name
processed_armature_fbx_url
Type
string
Description
URL tải xuống cho bộ xương đã xử lý ở định dạng FBX.
Name
processed_animation_fps_fbx_url
Type
string
Description
URL tải xuống cho hoạt hình đã thay đổi FPS ở định dạng FBX (ví dụ: nếu thao tác change_fps đã được sử dụng).
Name
preceding_tasks
Type
integer
Description
Số lượng tác vụ đứng trước trong hàng đợi. Chỉ có ý nghĩa nếu trạng thái là PENDING.