Ten punkt końcowy pozwala utworzyć nowe zadanie, które zastosuje animację do wcześniej ozdobionego szkieletem (zrigowanego) modelu postaci — albo gotową akcję z biblioteki animacji (action_id), albo klip ruchu wygenerowany za pomocą Text to Motion API (motion_task_id). Zawiera opcje przetwarzania końcowego.
Parametry
Name
rig_task_id
Type
string
Wymagane
Description
Wartość id pomyślnie ukończonego zadania riggingu (z POST /openapi/v1/rigging). Postać z tego zadania zostanie zanimowana.
Name
action_id
Type
integer
Description
Identyfikator gotowej akcji animacji do zastosowania. Pełną listę dostępnych animacji znajdziesz w dokumentacji referencyjnej Biblioteki animacji. Podaj dokładnie jedno z: action_id lub motion_task_id.
Name
motion_task_id
Type
string
Description
Wartość id pomyślnie ukończonego zadania Text to Motion, które ma zostać zastosowane zamiast gotowej akcji. Wygenerowany klip jest retargetowany na zrigowaną postać, a klip jest zapisywany jako migawka w momencie tworzenia zadania, dzięki czemu to zadanie pozostaje niezmienione, nawet jeśli zadanie źródłowe później wygaśnie lub zostanie usunięte. Zasoby zadania źródłowego są przechowywane przez 3 dni — zastosuj klip zanim wygaśnie. Wymaga rigu dwunożnego (biped). Podaj dokładnie jedno z: action_id lub motion_task_id.
Name
post_process
Type
object
Description
Opcjonalne przetwarzanie końcowe wyniku animacji. Pomiń ten parametr, aby otrzymać standardowe pliki animacji.
Dotyczy tylko gdy post_process is set
Name
operation_type
Type
string
Wymagane
Description
Typ operacji do wykonania. Dostępne wartości: change_fps, fbx2usdz, extract_armature.
Name
fps
Type
integer
domyślne 30
Description
Docelowa liczba klatek na sekundę. Ma zastosowanie tylko wtedy, gdy operation_type to change_fps. Dozwolone wartości: 24, 25, 30, 60.
Przy użyciu motion_task_id retargeting może wygenerować animację dostępną tylko w formacie GLB. Jeśli zażądano post_process, a plik FBX nie jest dostępny, zadanie kończy się niepowodzeniem z błędem task_error, a Twoje kredyty są automatycznie zwracane; bez post_process zadanie kończy się powodzeniem, a animation_fbx_url jest puste.
Zwracane dane
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania animacji.
Tryby niepowodzenia
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Najczęstsze przyczyny:
Brakujący parametr: brak rig_task_id lub nie podano ani action_id, ani motion_task_id.
Sprzeczne parametry: podano zarówno action_id, jak i motion_task_id — te parametry wykluczają się wzajemnie.
Nieprawidłowe zadanie riggingu: rig_task_id jest nieprawidłowe lub odnosi się do zadania, które nie powiodło się lub nie istnieje.
Nieprawidłowy identyfikator akcji: action_id nie odpowiada żadnej prawidłowej animacji.
Zadanie ruchu nie jest gotowe: zadanie o podanym motion_task_id nie osiągnęło jeszcze statusu SUCCEEDED.
Nieobsługiwany rig: motion_task_id wymaga rigu dwunożnego (biped); rigi czworonożne są odrzucane.
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.
Name
402 - Payment Required
Description
Niewystarczająca liczba kredytów, aby wykonać to zadanie.
Name
404 - Not Found
Description
Zadanie riggingu wskazane przez rig_task_id nie zostało znalezione, zadanie ruchu wskazane przez motion_task_id nie zostało znalezione lub klip ruchu wygasł (zasoby zadania źródłowego są przechowywane przez 3 dni).
Name
429 - Too Many Requests
Description
Przekroczono limit szybkości.
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 } }'
Ten punkt końcowy umożliwia pobranie zadania animacji na podstawie prawidłowego identyfikatora zadania id. Zapoznaj się z sekcją Obiekt zadania animacji, aby zobaczyć, jakie właściwości są zawarte.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania animacji do pobrania.
Zwraca
Odpowiedź zawiera obiekt zadania animacji. Szczegóły znajdziesz w sekcji Obiekt zadania animacji.
Zwraca listę zadań animacji wywołującego, stronicowaną, posortowaną od najnowszych. Standardowe stronicowanie za pomocą page_num i page_size.
Należy pamiętać, że zadania utworzone za pośrednictwem API są zarządzane przez API — nie pojawiają się w sekcji Moje zasoby w aplikacji webowej. Użyj tego punktu końcowego, aby odnaleźć zadanie, którego identyfikatora już nie posiadasz.
Obiekt zadania animacji reprezentuje jednostkę pracy polegającą na zastosowaniu animacji do postaci z armaturą.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania.
Name
type
Type
string
Description
Typ zadania Animacji. Wartość to animate.
Name
status
Type
string
Description
Status zadania. Możliwe wartości: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Postęp zadania (0-100).
Name
created_at
Type
timestamp
Description
Znacznik czasu (w milisekundach od epoki) utworzenia zadania.
Znacznik czasu reprezentuje liczbę milisekund, które upłynęły od 1 stycznia 1970 UTC, zgodnie ze
standardem RFC 3339.
Na przykład piątek, 1 września 2023, godzina 12:00:00 czasu GMT jest reprezentowana jako 1693569600000. Dotyczy to
wszystkich znaczników czasu w Meshy API.
Name
started_at
Type
timestamp
Description
Znacznik czasu (w milisekundach od epoki) rozpoczęcia przetwarzania zadania. 0, jeśli nie rozpoczęto.
Name
finished_at
Type
timestamp
Description
Znacznik czasu (w milisekundach od epoki) zakończenia zadania. 0, jeśli nie zakończono.
Name
expires_at
Type
timestamp
Description
Znacznik czasu (w milisekundach od epoki) wygaśnięcia zasobów wynikowych zadania.
Name
task_error
Type
object
Description
Szczegóły błędu dla nieudanych zadań. Zobacz Błędy, aby poznać pełną strukturę obiektu task_error.
Name
consumed_credits
Type
integer
Description
Liczba kredytów zużytych przez to zadanie. Obecne, gdy status zadania to PENDING, IN_PROGRESS lub SUCCEEDED. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).
Name
result
Type
object
Description
Zawiera adresy URL wynikowej animacji, jeśli zadanie zakończyło się statusem SUCCEEDED.
Name
animation_glb_url
Type
string
Description
Adres URL do pobrania animacji w formacie GLB.
Name
animation_fbx_url
Type
string
Description
Adres URL do pobrania animacji w formacie FBX.
Name
processed_usdz_url
Type
string
Description
Adres URL do pobrania przetworzonej animacji w formacie USDZ.
Name
processed_armature_fbx_url
Type
string
Description
Adres URL do pobrania przetworzonej armatury w formacie FBX.
Name
processed_animation_fps_fbx_url
Type
string
Description
Adres URL do pobrania animacji ze zmienioną liczbą FPS w formacie FBX (np. jeśli użyto operacji change_fps).
Name
preceding_tasks
Type
integer
Description
Liczba poprzedzających zadań w kolejce. Ma znaczenie tylko wtedy, gdy status to PENDING.