Generuj klipy ruchu postaci na podstawie opisów w języku naturalnym. Opisz czynność — „postać machająca ręką”, „zombie powłóczące się do przodu” — i otrzymaj surowy klip ruchu, który możesz retargetować na postacie z rigiem, korzystając z własnego pipeline'u lub narzędzi DCC.
Wynikiem jest samodzielny klip ruchu: nie wymaga on modelu postaci ani nie jest z nim powiązany. Aby najpierw wykonać rigging postaci, zobacz Rigging API. Aby zastosować wygenerowany klip na swojej postaci z rigiem, przekaż id zadania jako motion_task_id do Animacja API — zastosuj go w ciągu okna przechowywania zasobów wynoszącego 3 dni.
Ten punkt końcowy tworzy nowe zadanie generowania klipu ruchu na podstawie promptu tekstowego.
Zadanie z modeprime kosztuje 10 kredytów i generuje wynik przy użyciu naszego najwyższej jakości modelu ruchu. Zadanie z modeswift kosztuje 3 kredyty i generuje wynik szybciej, korzystając z naszego ekonomicznego modelu ruchu.
Parametry
Name
prompt
Type
string
Wymagane
Description
Opis ruchu do wygenerowania w języku naturalnym. Maksymalnie 400 znaków.
Name
mode
Type
string
domyślne prime
Description
Mode generowania ruchu. Dostępne wartości: prime, swift. prime zapewnia najwyższą jakość i generuje wyjście w formacie FBX; swift jest szybszy i tańszy, a generuje wyjście w formacie BVH.
Name
duration
Type
number
Wymagane
Description
Docelowy czas trwania klipu ruchu w sekundach. Od 2 do 10, z krokiem 0.5 (na przykład 2, 2.5, 3, … 10).
Wartość zwracana
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Text to Motion.
Przypadki niepowodzenia
Name
400 - Bad Request
Description
Żądanie było niedopuszczalne. Najczęstsze przyczyny:
Brakujący lub pusty prompt: prompt jest brakujący, pusty lub dłuższy niż 400 znaków.
Nieprawidłowy mode: mode nie ma wartości prime ani swift.
Nieprawidłowy czas trwania: duration jest brakujący, znajduje się poza zakresem 2–10 lub nie jest wielokrotnością 0.5 sekundy.
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.
Name
402 - Payment Required
Description
Niewystarczająca liczba kredytów do wykonania tego zadania.
Name
403 - Forbidden
Description
Prompt został oznaczony przez moderation treści.
Name
429 - Too Many Requests
Description
Przekroczono limit szybkości.
Request
POST
/openapi/v1/text-to-motion
# Generate a motion clip with required params onlycurlhttps://api.meshy.ai/openapi/v1/text-to-motion \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "prompt": "a character waving", "duration": 3 }'# Generate a fast, economical clip with Swift modecurlhttps://api.meshy.ai/openapi/v1/text-to-motion \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "prompt": "a character waving", "mode": "swift", "duration": 4.5 }'
Ten punkt końcowy umożliwia pobranie zadania Text to Motion na podstawie prawidłowego id zadania. Zapoznaj się z sekcją Obiekt zadania Text to Motion, aby zobaczyć, jakie właściwości są uwzględnione.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania Text to Motion do pobrania.
Zwróć uwagę, że zadania utworzone za pomocą API są zarządzane przez API — nie są wyświetlane w sekcji Moje zasoby aplikacji webowej. Użyj tego punktu końcowego, aby znaleźć zadanie, którego identyfikator już nie masz.
Każde zdarzenie message zawiera pełny obiekt zadania. Gdy zadanie ma status PENDING lub IN_PROGRESS, pola result są nadal puste ("" / 0), a finished_at / expires_at mają wartość 0; obserwuj status i progress.
Obiekt zadania Text to Motion reprezentuje jednostkę pracy służącą do generowania klipu ruchu na podstawie promptu tekstowego.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania.
Name
type
Type
string
Description
Typ zadania. Wartość to text-to-motion.
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 przedstawia liczbę milisekund, które upłynęły od 1 stycznia 1970 UTC, zgodnie z
normą RFC 3339. Na przykład
piątek, 1 września 2023, 12:00:00 czasu GMT jest reprezentowany 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), kiedy wygasają zasoby będące wynikiem zadania. 0 do momentu zakończenia zadania. Wygenerowany klip jest przechowywany przez 3 dni po zakończeniu zadania; pobierz go, zanim wygaśnie.
Name
preceding_tasks
Type
integer
Description
Liczba poprzedzających zadań w kolejce. Ma znaczenie tylko wtedy, gdy status to PENDING; pomijane, gdy wynosi zero.
Name
consumed_credits
Type
integer
Description
Liczba kredytów zużytych przez to zadanie. 10 dla mode prime, 3 dla mode swift. Dla zadań FAILED zwraca 0 (w przypadku niepowodzenia kredyty są zwracane).
Name
task_error
Type
object
Description
Szczegóły błędu dla nieudanych zadań; null, chyba że zadanie zakończy się statusem FAILED. Pełny opis obiektu task_error znajdziesz w sekcji Błędy.
Name
result
Type
object
Description
Zawiera wygenerowany klip ruchu po zakończeniu zadania statusem SUCCEEDED; do tego momentu pola są obecne, ale puste ("" / 0).
Name
motion_url
Type
string
Description
Adres URL do pobrania wygenerowanego klipu ruchu. Adres URL jest ponownie podpisywany przy każdym odczycie i wygasa wraz z oknem przechowywania zadania.
Name
motion_format
Type
string
Description
Format pliku klipu: fbx dla mode prime, bvh dla mode swift.
Name
duration_ms
Type
integer
Description
Czas trwania wygenerowanego klipu w milisekundach.
Name
mode
Type
string
Description
Tryb, w którym wygenerowano klip: prime lub swift.