Wymagany, chyba że wysyłasz action_id lub motion_task_id. Identyfikatory od 1 do 10 gotowych animacji do zastosowania jednocześnie, bez powtórzeń. Podanie więcej niż 10 identyfikatorów lub powtórzonego identyfikatora zwraca błąd 400. Listę identyfikatorów znajdziesz w dokumentacji referencyjnej Biblioteki animacji.
Meshy zwraca jeden plik z jednym klipem animacji na każdą akcję, co pasuje do maszyny stanów w silniku gry. Meshy nalicza opłatę za każdą akcję z listy. Zobacz Cennik.
Lista z jednym identyfikatorem działa tak samo, jak wysłanie tego identyfikatora jako action_id.
Name
motion_task_id
Type
string
Wymagane
Description
Wymagany, chyba że wysyłasz action_id lub action_ids. Identyfikator zadania Text to Motion, którego klip ma zostać zastosowany zamiast gotowej akcji. Zadanie musi mieć status SUCCEEDED, a rig musi być dwunożny.
Meshy dopasowuje klip do zarigowanej postaci. Kopiuje klip w momencie tworzenia tego zadania, więc zadanie to nie jest dotknięte, jeśli zadanie Text to Motion później wygaśnie lub je usuniesz. Meshy przechowuje pliki zadania Text to Motion przez 3 dni, więc zastosuj klip przed upływem tego czasu.
Name
post_process
Type
object
Description
Przetwarzanie końcowe wyniku animacji. Pomiń ten parametr, aby otrzymać standardowe pliki animacji.
Przy użyciu motion_task_id dopasowanie może wygenerować animację wyłącznie w formacie GLB. Jeśli wyślesz post_process, a plik FBX nie jest dostępny, zadanie kończy się niepowodzeniem z błędem task_error, a Meshy zwraca Twoje kredyty. Bez post_process zadanie kończy się sukcesem, a animation_fbx_url jest puste.
Dotyczy tylko gdy post_process is set
Name
operation_type
Type
string
Description
Operacja do wykonania. Bez niej Meshy nie tworzy dodatkowego pliku. Wartość spoza poniższej listy zwraca błąd 400.
Dostępne wartości:
change_fps: zmienia liczbę klatek na sekundę na fps
fbx2usdz: konwertuje animację do USDZ
extract_armature: wyodrębnia armaturę jako plik FBX
Name
fps
Type
integer
domyślne 30
Description
Liczba klatek na sekundę, na którą ma zostać zmieniona wartość — jedna z: 24, 25, 30 lub 60. Dotyczy tylko sytuacji, gdy operation_type to change_fps. Każda inna wartość zwraca błąd 400.
Przy użyciu action_ids zadanie zwraca jeden połączony plik zamiast jednego pliku na akcję. Zarówno animation_glb_url, jak i animation_fbx_url wskazują na jeden plik zawierający każdą żądaną akcję jako osobny klip. W tym pliku:
Kolejność klipów: kolejność z tablicy action_ids, a nie liczbowa kolejność identyfikatorów.
Nazwy klipów: nazwa animacji w bibliotece. Są one zgodne z nazwami, które otrzymujesz podczas eksportowania wszystkich animacji postaci jako jednego pliku z aplikacji webowej Meshy. Jeśli dwa żądane identyfikatory mają tę samą nazwę klipu, Meshy dodaje action_id do późniejszego z nich, aby zachować unikalność nazw.
Przetwarzanie końcowe: Meshy stosuje je do połączonego pliku, a nie do każdego klipu osobno.
Zwracane dane
Pole result w odpowiedzi zawiera identyfikator nowego zadania Animacji.
Przyczyny niepowodzenia
Name
400 - Bad Request
Description
Żądanie nie może zostać wykonane. Komunikat o błędzie wskazuje napotkany problem. Przykłady:
Brakujący parametr: brak rig_task_id lub nie wysłano żadnego z parametrów action_id, action_ids ani motion_task_id.
Konfliktujące parametry: żądanie zawiera więcej niż jeden z parametrów action_id, action_ids i motion_task_id. Wyślij tylko jeden.
Nieprawidłowe zadanie rig: rig_task_id nie jest prawidłowym identyfikatorem zadania, nie jest zadaniem Rigging lub wskazuje na zadanie, które się nie powiodło.
Nieprawidłowy identyfikator akcji: action_id lub jeden z elementów action_ids nie jest prawidłową animacją.
Zbyt wiele akcji: action_ids zawiera więcej niż 10 identyfikatorów.
Zduplikowane akcje: action_ids zawiera ten sam identyfikator więcej niż raz.
Zadanie ruchu nie jest gotowe: zadanie motion_task_id nie osiągnęło jeszcze statusu SUCCEEDED.
Nieobsługiwany rig: motion_task_id wymaga rigu dwunożnego, a Meshy odrzuca rig czworonożny.
Popraw żądanie, a następnie wyślij je ponownie. Zobacz Błędy.
Name
401 - Unauthorized
Description
Brak klucza API lub klucz jest nieprawidłowy. Sprawdź nagłówek Authorization.
Name
402 - Payment Required
Description
Przykłady:
Niewystarczające kredyty: konto nie ma wystarczającej liczby kredytów na to zadanie lub konto osiągnęło limit kredytów. Sprawdź saldo kredytów, a następnie spróbuj ponownie.
Plan darmowy: utworzenie zadania wymaga płatnego planu. Uaktualnij swój plan w ustawieniach subskrypcji, a następnie spróbuj ponownie.
Name
403 - Forbidden
Description
Zadanie rig_task_id dotyczy modelu płaskorzeźby, którego ten punkt końcowy nie może zanimować. Komunikat brzmi This model type does not support this operation. Zarigowuj inny model.
Name
404 - Not Found
Description
Meshy nie może znaleźć zadania lub pliku potrzebnego do realizacji żądania. Dotyczy to jednej z poniższych sytuacji:
Meshy nie może znaleźć zadania rig_task_id wśród Twoich zadań. Sprawdź identyfikator.
Meshy usunęło pliki zadania rig_task_id po upływie jego expires_at. Zarigowuj postać ponownie.
Meshy nie może znaleźć zadania motion_task_id. Sprawdź identyfikator.
Klip ruchu wygasł, ponieważ Meshy przechowuje pliki zadania Text to Motion przez 3 dni. Utwórz kolejne zadanie Text to Motion.
Name
429 - Too Many Requests
Description
Przekroczono limit szybkości. Poczekaj, a następnie spróbuj ponownie. Zobacz Limity szybkości.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS. The task keeps running:{"message":"Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."}
Parametry ścieżki
Name
id
Type
path
Description
ID zadania do usunięcia.
Status zadania
Usunięcie zadania o statusie PENDING zwraca kredyty użyte przy jego tworzeniu.
Zadania o statusie IN_PROGRESS nie można usunąć. Żądanie zwraca 409 Conflict,
a zadanie nadal się wykonuje. Meshy nie zwraca kredytów za zadanie, które już się rozpoczęło,
więc jego usunięcie kosztowałoby Cię zarówno kredyty, jak i wynik. Poczekaj, aż
osiągnie status SUCCEEDED, FAILED lub CANCELED, a następnie je usuń.
Usunięcie zadania w statusie końcowym (SUCCEEDED, FAILED lub CANCELED)
nie zwraca kredytów.
Zwraca
200 OK, gdy zadanie zostanie usunięte, lub 409 Conflict, gdy zadanie ma status
IN_PROGRESS.
Zwraca paginowaną listę Twoich zadań Animacji, od najnowszych. Aby przeglądać listę strona po stronie, użyj parametrów page_num i page_size.
Zadania utworzone za pomocą API nie pojawiają się w sekcji My Assets w aplikacji webowej, więc zarządzasz nimi wyłącznie poprzez API. Aby znaleźć zadanie, którego identyfikatora już nie posiadasz, skorzystaj z tego punktu końcowego.
// Error event exampleevent: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// These examples are shortened. Each event holds the full task object.event: messagedata: {"id": "018c425b-b2c6-727e-d333-3c1887i9h791","progress": 0,"status": "PENDING"}event: messagedata: {"id": "018c425b-b2c6-727e-d333-3c1887i9h791","progress": 50,"status": "IN_PROGRESS"}event: messagedata: { // Example of a SUCCEEDED task stream item, with the same structure as the Animation task object"id": "018c425b-b2c6-727e-d333-3c1887i9h791","type": "animate","status": "SUCCEEDED","created_at": 1747032440896,"progress": 100,"started_at": 1747032441210,"finished_at": 1747032457530,"expires_at": 1747291657530,"task_error": null,"consumed_credits": 3,"result": {"animation_glb_url":"https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.glb?...","animation_fbx_url":"https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.fbx?...","processed_usdz_url":"https://assets.meshy.ai/.../processed.usdz?...","processed_armature_fbx_url":"https://assets.meshy.ai/.../processed_armature.fbx?...","processed_animation_fps_fbx_url":"https://assets.meshy.ai/.../processed_60fps.fbx?..." }}
Każde zdarzenie zawiera pełny obiekt zadania, w tej samej formie, jaką zwraca punkt końcowy Get. Gdy zadanie ma status PENDING lub IN_PROGRESS, jego pola wyniku nie mają jeszcze wartości.
Obiekt zadania Animacja opisuje jedną animację zastosowaną do postaci z riggiem. Zawiera status, progress oraz pliki animacji, gdy zadanie zakończy się powodzeniem.
ID zadania. Traktuj je jako nieprzezroczysty ciąg znaków i nie polegaj na jego formacie.
Name
type
Type
string
Description
Typ zadania, zawsze animate.
Name
status
Type
string
Description
Status zadania, jeden z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED lub CANCELED.
Name
progress
Type
integer
Description
Stopień zaawansowania zadania, wyrażony w procentach. Wynosi 0 do momentu rozpoczęcia zadania i 100, gdy zakończy się ono powodzeniem.
Name
created_at
Type
timestamp
Description
Czas utworzenia zadania, w milisekundach Unix.
Name
started_at
Type
timestamp
Description
Czas rozpoczęcia zadania, w milisekundach Unix. Wynosi 0 do momentu rozpoczęcia zadania.
Name
finished_at
Type
timestamp
Description
Czas zakończenia zadania, w milisekundach Unix. Wynosi 0 do momentu zakończenia zadania.
Name
expires_at
Type
timestamp
Description
Czas wygaśnięcia plików wynikowych zadania, w milisekundach Unix.
Name
task_error
Type
object
Description
Szczegóły błędu, gdy zadanie zakończy się niepowodzeniem. Wartość to null, chyba że status to FAILED. Zobacz Błędy.
Name
consumed_credits
Type
integer
Description
Liczba kredytów zużytych przez zadanie. Obecne, gdy status to PENDING, IN_PROGRESS lub SUCCEEDED. Wynosi 0 dla zadania ze statusem FAILED, ponieważ Meshy zwraca kredyty, gdy zadanie zakończy się niepowodzeniem.
Name
result
Type
object
Description
Adresy URL do pobrania plików animacji, gdy zadanie ma status SUCCEEDED.
Name
animation_glb_url
Type
string
Description
Animacja jako plik GLB. W przypadku zadania utworzonego z action_ids, ten jeden plik zawiera każdą żądaną akcję jako osobny klip.
Name
animation_fbx_url
Type
string
Description
Animacja jako plik FBX. W przypadku zadania utworzonego z action_ids, ten jeden plik zawiera każdą żądaną akcję jako osobny klip.
Name
processed_usdz_url
Type
string
Description
Przetworzona animacja jako plik USDZ.
Name
processed_armature_fbx_url
Type
string
Description
Przetworzona armatura jako plik FBX.
Name
processed_animation_fps_fbx_url
Type
string
Description
Animacja ze zmienioną liczbą klatek na sekundę, jako plik FBX, na przykład gdy użyto operacji change_fps.
Name
preceding_tasks
Type
integer
Description
Liczba zadań znajdujących się przed tym zadaniem w kolejce. Wartość ma znaczenie tylko wtedy, gdy zadanie ma status PENDING. Pole jest pomijane, gdy wartość wynosi 0.
Zwraca każdą animację w bibliotece, uporządkowaną według action_id. Odpowiedź to pełna lista, bez stronicowania, więc jedno wywołanie może wypełnić selektor akcji. Filtry zawężają wynik. Aby otrzymać wszystkie animacje, pomiń je wszystkie.
Tekst do wyszukania. Meshy zwraca animacje, których name lub key zawiera ten tekst, bez rozróżniania wielkości liter. Meshy dopasowuje tekst dosłownie, więc % i _ nie są symbolami wieloznacznymi.
Name
category
Type
string
Description
Kategoria do wylistowania, jako dokładne dopasowanie. Nieznana kategoria zwraca pustą listę.
Dostępne wartości:
WalkAndRun
BodyMovements
DailyActions
Fighting
Dancing
Name
sub_category
Type
string
Description
Podkategoria do wylistowania, jako dokładne dopasowanie. Można ją przesłać bez category. Nazwy podkategorii nie są unikalne w różnych kategoriach. Na przykład Transitioning znajduje się zarówno w Fighting, jak i DailyActions. Dlatego bez category filtr dopasowuje tę podkategorię we wszystkich kategoriach.
Name
action_ids
Type
string
Description
Animacje do zwrócenia, jako lista maksymalnie 200 wartości action_id rozdzielonych przecinkami. Użyj tego parametru, aby wyszukać konkretne identyfikatory zamiast przeglądać listę. Więcej niż 200 identyfikatorów zwraca 400.
Odpowiedź pomija identyfikator, który nie odpowiada żadnej animacji. Dzięki temu możesz też użyć tego filtra, aby sprawdzić, czy przechowywane przez Ciebie identyfikatory są nadal dostępne.
Łączenie filtrów
Meshy stosuje filtry łącznie. Każdy z nich zawęża wynik, więc Meshy zwraca animację tylko wtedy, gdy spełnia wszystkie z nich. W ramach jednego filtra może pasować dowolna z jego wartości. Na przykład search dopasowuje name lub key, a action_ids dopasowuje dowolny identyfikator z listy.
Dlatego kombinacja bez części wspólnej zwraca pustą tablicę, a nie błąd. Akcja 92 to „Double Combo Attack”, animacja z kategorii Fighting. Na przykład:
?action_ids=92&category=Fighting zwraca akcję 92.
?action_ids=92&category=Dancing zwraca [], ponieważ nie jest to animacja z kategorii Dancing.
?action_ids=92&search=walk zwraca [], ponieważ jej nazwa nie pasuje do walk.
Aby uzyskać konkretne animacje z dowolnej kategorii, prześlij samo action_ids.
Zadanie tworzenia animacji akceptuje każdy action_id, który zwraca ten punkt końcowy, a ten punkt końcowy zwraca każdy identyfikator, który akceptuje tworzenie. Żaden z nich nie obejmuje wycofanych animacji. Jeśli przechowujesz bibliotekę w pamięci podręcznej, odświeżaj ją od czasu do czasu, aby wycofany identyfikator nie pozostał w Twoim selektorze.
Wartość wysyłana jako action_id podczas tworzenia zadania Animacji. Jest unikalna i stała, ale nie jest ciągła. Wycofane animacje pozostawiają luki w numeracji, więc nie zakładaj, że każdy identyfikator w danym zakresie jest prawidłowy.
Name
name
Type
string
Description
Wyświetlana nazwa animacji. Nie jest unikalna, ponieważ niektóre animacje mają tę samą nazwę co inny wariant. Aby zidentyfikować animację, użyj action_id lub key.
Name
key
Type
string
Description
Unikalny, stały identyfikator (slug) animacji. Użyj go, gdy potrzebujesz nienumerycznego identyfikatora do indeksowania własnego magazynu danych.
Name
category
Type
string
Description
Grupa najwyższego poziomu, na przykład Fighting.
Name
sub_category
Type
string
Description
Grupa w ramach kategorii, na przykład AttackingwithWeapon.
Name
preview_url
Type
string
Description
Adres URL podglądu akcji w postaci animowanego GIF-a. Możesz wyświetlić go bezpośrednio we własnym selektorze.