Wprowadzenie
Wan 2.2 Animate zamienia zatwierdzony obraz postaci i osobną referencję ruchu w nowy klip, w którym ta postać gra scenę. Używaj go, gdy wygląd i ruch są już ustalone w różnych materiałach, zamiast oczekiwać obu od jednego źródła.
Działa w dwóch trybach. Przy animation_mode ustawionym na animate postać z twojego obrazu porusza się ruchem z wideo sterującego; przy replace osoba z wideo sterującego zostaje zastąpiona tą z twojego obrazu, a scena z wideo zostaje zachowana. Wynik trwa tyle, co wideo sterujące, od 2 do 30 sekund, w 480p lub 720p.
Najważniejsze funkcje
Czysta poza A jest warta więcej niż długi prompt
Opublikowany obraz referencyjny to dokładnie taki obraz, jakiego potrzebuje ten endpoint: cała sylwetka w kadrze, neutralna poza A, jednolite tło, równe światło. Cały wygląd wyniku pochodzi z tego obrazu. Przycięty lub mocno zasłonięty obraz ogranicza każdy klip, jaki z niego zrobisz, i żaden prompt tego nie odrobi.
Klip trwa tyle, co źródło, do 30 sekund
Wynik trwa tyle, co wideo sterujące, które musi mieć od 2 do 30 sekund, więc dwuminutowe źródło trzeba najpierw przyciąć. Rozliczenie idzie za faktycznie dostarczone sekundy, a nie za limit użyty w wycenie, więc przycięcie wideo sterującego przed przesłaniem to bezpośredni sposób na kontrolę kosztów.
Sprawdź podobieństwo w 480p, zanim zapłacisz za 720p
Opublikowany klip to ten sam obraz poruszony wideo referencyjnym: ten sam bordowy top, te same spodnie z szerokimi nogawkami, tym razem w trakcie obrotu. Rozdzielczość to próg cenowy, a 720p kosztuje więcej za sekundę niż 480p, więc najpierw sprawdź w 480p, na najkrótszym przydatnym wideo sterującym, czy tożsamość i sylwetka się utrzymują.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
animation_mode | Nie | Animate porusza postacią z twojego obrazu, używając ruchu z wideo sterującego. |
image_url | Tak | Obraz postaci. To właśnie ta osoba zostanie zanimowana, więc użyj ujęcia całej sylwetki z wyraźnym zarysem i równym światłem. od 1 znaków |
video_url | Tak | Wideo sterujące o długości 2-30 sekund: wyślij plik MP4 albo podaj adres MP4 lub MOV. od 1 znaków |
resolution | Nie | 480p albo 720p, domyślnie 720p, i jest to próg cenowy. Sprawdź przeniesienie w 480p, a potem wyrenderuj ponownie tylko te ujęcia, które zamierzasz oddać. |
prompt | Nie | Opcjonalny, do 2000 znaków. Prowadzi styl i treść animacji, a nie tożsamość, która należy do obrazu postaci. do 2000 znaków |
seed | Nie | Od 0 do 2147483647; zero prosi o losowy seed. Ustal go, by porównać dwa przebiegi na tym samym wideo sterującym. |
Cennik
Długość wyniku odpowiada wideo sterującemu i jest rozliczana za sekundę.
| Specyfikacja | Cena |
|---|---|
| $0.053 / sekundę |
| $0.11 / sekundę |
Zastosowania
Wstaw swoją postać do istniejącego materiału
Przy animation_mode ustawionym na replace osoba z wideo sterującego zostaje zastąpiona postacią z twojego obrazu, a materiał zachowuje własną scenę. Używaj tego, gdy lokacja istnieje już na wideo i zmienić trzeba tylko osobę, która gra.
Krótkie pętle z jednej karty postaci
Do 30 sekund wystarczy na pętlę do feedu, naklejkę albo klip z reakcją. Zachowaj jeden obraz i wymieniaj wideo sterujące, by zbudować bibliotekę gestów, takich jak machnięcie, obrót czy wzruszenie ramion, które wszystkie wyglądają jak ta sama postać, bo mają wspólny obraz referencyjny.
Układy taneczne i występy
Obraz postaci plus wideo sterujące z wybranym układem: strój i budowę ciała ustala obraz, a tempo, ciężar i kamerę daje nagranie. Granicę wyznacza własność: potrzebujesz praw zarówno do obrazu, jak i do wideo sterującego, i odpowiadasz za sposób użycia wyniku.
Test obrazu przed dłuższym renderem
Uruchom pięciosekundowy transfer w 480p, żeby sprawdzić, czy nowy obraz postaci utrzymuje twarz, dłonie i sylwetkę w ruchu. To najtańszy sposób na odrzucenie złego obrazu, zanim użyjesz go w pełnym, trzydziestosekundowym zadaniu.
Wskazówki
Przygotuj obraz postaci
Cała sylwetka w kadrze, neutralna poza, gładkie tło, równe światło. Ten obraz decyduje o twarzy, stroju i proporcjach każdego klipu, który nim poprowadzisz, więc warto wygenerować i odrzucić kilka, zanim się zdecydujesz. Jeśli nie da się na nim znaleźć twarzy ani osoby, zadanie zostaje odrzucone z invalid_request. Opublikowany obraz powstał z tego promptu: „Full-body studio photograph of an adult female dancer standing in a neutral A-pose against a seamless grey backdrop, wearing a cropped burgundy tank top and high-waisted wide-leg trousers, barefoot, hair tied back, even soft studio lighting, sharp full-length framing, clean reference plate for character animation.”
Przytnij wideo sterujące do potrzebnych sekund
Długość wyniku jest równa długości źródła, które musi mieć od 2 do 30 sekund, a płacisz za dostarczone sekundy. Prześlij plik MP4 albo podaj bezpośredni link do pliku MP4 lub MOV; strona internetowa, która tylko odtwarza wideo, nie jest plikiem, więc wywołanie się nie powiedzie, a opłata zostanie zwrócona.
Prompt służy stylowi, nie tożsamości
prompt jest opcjonalny i mieści do 2000 znaków. Kieruje stylem i treścią animacji; tożsamość należy do obrazu postaci. Ustal seed, gdy chcesz porównać dwa przebiegi na tym samym wideo sterującym.
Sprawdź wynik przed kolejną iteracją
Oba wejścia są wymagane i nie są wymienne: tożsamość pochodzi z obrazu, ruch z wideo. W trybie animate otoczenie zostaje z obrazu postaci; w przebiegu referencyjnym wideo sterujące nagrano w kuchni, a wynik pozostał na szarym studyjnym tle obrazu, przejęte zostały tylko ruch i kamera. Dłuższe źródło nie jest kompresowane, więc przytnij je przed przesłaniem.
Szybki start z API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-2.2-animate/character-animation",
"input": {
"animation_mode": "animate",
"image_url": "https://example.com/reference.png",
"resolution": "720p",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Uwierzytelnianie, pełny schemat, odpytywanie i obsługę błędów opisuje dokumentacja API.




























