Wprowadzenie
Wan 2.5 Tekst na wideo generuje 5- lub 10-sekundowy klip z dźwiękiem wyłącznie na podstawie pisanego promptu. Jedynym wymaganym polem jest prompt o długości do 1500 znaków; wszystko inne ma wartość domyślną: 16:9, 720p, pięć sekund, rozszerzanie promptu wyłączone. Sięgnij po ten endpoint, gdy nie ma jeszcze zatwierdzonego kadru, a miejsce akcji, ruch i kamera muszą wynikać z tekstu. Jeśli masz już kadr początkowy, endpoint oparty na obrazie zachowuje jego postać i proporcje.
Wybierz tryb Wan 2.5 według materiału początkowego
| Z czym zaczynasz | Tryb |
|---|---|
| opisana scena lub scenariusz | Wan 2.5 Tekst na wideo |
| zatwierdzony obraz początkowy | Wan 2.5 Obraz na wideo |
Najważniejsze funkcje
Obraz i dźwięk w jednym przebiegu
Klip wraca z dźwiękiem już w pliku: ambient, efekty i głosy powstają razem z obrazem, więc warto dopisać linijkę w rodzaju „Audio: gulls, a splash, her breath”. Aby ruch i kształt ust podążały za nagraniem, które już masz, przekaż audio_url – plik WAV lub MP3 o długości od 3 do 30 sekund i rozmiarze do 15 MB. Ścieżka dłuższa niż klip jest ucinana na końcu; krótsza zostawia resztę klipu w ciszy.
Pięć formatów, trzy rozdzielczości, dwie długości
aspect_ratio przyjmuje 16:9, 9:16, 1:1, 4:3 i 3:4, a resolution – 480p, 720p i 1080p. Oba parametry są powiązane: w 480p renderowane są tylko kadry poziome, pionowe i kwadratowe, więc 4:3 i 3:4 wymagają co najmniej 720p. duration_seconds wynosi dokładnie 5 lub 10, a wartość taka jak 7 jest odrzucana, a nie zaokrąglana. Rozdzielczość wyznacza też stawkę za sekundę i czas przetwarzania.
Wykluczenia i kontrolowane porównania
negative_prompt mieści do 500 znaków i to w nim umieszcza się napisy, logo, dodatkowe osoby czy powracający kolor. seed (od 0 do 2147483647) utrzymuje to samo źródło losowości, gdy zmieniasz jedno pole naraz, ale nie gwarantuje identycznego kadru. enable_prompt_expansion jest domyślnie wyłączone; po włączeniu krótki brief jest przed generowaniem przepisywany na pełniejszy.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
prompt | Tak | Samo ujęcie: kto, jedna czynność, jeden ruch kamery, potem światło i dźwięk. Wyrazisty czasownik porusza wynikiem bardziej niż stos przymiotników. od 1 znaków · do 1500 znaków |
negative_prompt | Nie | Rzeczy, które mają zostać poza kadrem: napisy, logotypy, dodatkowe osoby, kolor, który uparcie wraca. To jedyne miejsce, w którym wykluczenia działają niezawodnie. do 500 znaków |
aspect_ratio | Nie | 16:9, 9:16, 1:1, 4:3 albo 3:4, domyślnie 16:9. Proporcje 4:3 i 3:4 nie są dostępne na najniższym progu rozdzielczości. |
resolution | Nie | 480p, 720p lub 1080p, domyślnie 720p. Wyznacza stawkę za sekundę i czas trwania zadania; najniższy próg oferuje tylko kadry poziome, pionowe i kwadratowe. |
duration_seconds | Nie | Dokładnie 5 albo 10. Każda inna wartość jest odrzucana, a nie zaokrąglana. |
audio_url | Nie | Kwestia głosowa albo akcent muzyczny, za którym klip ma podążać. Układ ust i tempo ruchu dopasowują się do tego pliku. od 1 znaków |
enable_prompt_expansion | Nie | Domyślnie wyłączone. Po włączeniu krótki opis zostaje przed generowaniem rozpisany na pełniejszy; zostaw je wyłączone, gdy prompt jest już precyzyjnym opisem ujęcia. Domyślnie: |
seed | Nie | Od 0 do 2147483647. Przytrzymaj go, porównując po jednej zmianie naraz; gdy zależy ci na różnorodności, pomiń pole zamiast wysyłać 0. |
Cennik
| Specyfikacja | Cena |
|---|---|
| $0.045 / sekundę |
| $0.09 / sekundę |
| $0.135 / sekundę |
Zastosowania
Pionowe klipy z wbudowaną ścieżką dźwiękową
Ustaw aspect_ratio na 9:16 i zostań przy pięciu sekundach, aby dostać szkic do feedu bez osobnego etapu pracy nad dźwiękiem. Opublikowany przykład ze sklepu z płytami idzie dalej: dziesięć sekund w 1080p i 9:16, powolny ruch kamery w górę od skrzynki z winylami do twarzy mężczyzny oraz negatywny prompt „text on screen, logos, extra people”, dzięki któremu nie pojawiają się napisy ani przechodnie.
Sprawdzanie dźwięku na widocznej czynności
Przykład z saksofonem prosi o dziesięć sekund w 1080p i 16:9, przy czym dźwięk instrumentu ma zgadzać się z palcowaniem. Powiązanie dźwięku z czymś widocznym – klapami, pluskiem, trzaskiem gramofonu – daje konkretny punkt kontroli przy odtwarzaniu zamiast oceny samego klimatu.
Kwestia mówiona w twoim tempie
Nagraj kwestię, przekaż ją jako audio_url i opisz, kto mówi i gdzie. Ruch i kształt ust podążają za tempem pliku, więc przy odbiorze możesz skupić się na grze. Gdy potrzebna jest konkretna twarz lub produkt, sam tekst nie utrzyma tego wyglądu między uruchomieniami; zacznij wtedy od kadru na endpoincie obraz na wideo.
Wskazówki
Pisz ujęcie w stałej kolejności
Postać, jedna czynność, jeden ruch kamery, światło, a na końcu linijka o dźwięku. Wyraźny czasownik zmienia wynik bardziej niż stos przymiotników. Wykluczenia trzymaj poza promptem i wypisz je w negative_prompt. Gdy prompt już precyzyjnie opisuje ujęcie, zostaw enable_prompt_expansion wyłączone, żeby twoje sformułowania zostały użyte bez zmian.
Dostosuj dołączony przykład
Opublikowany przykład z portu działa z aspect_ratio 16:9, duration_seconds 5 i resolution 720p. Zachowaj tę strukturę, gdy podmieniasz postać i miejsce.
Early morning at a stone harbour wall. An adult woman in a navy one-piece swimsuit and a white swim cap stands at the edge, shakes out her arms, then dives cleanly into flat green water and surfaces laughing, pushing her goggles up. Gulls lift off the wall behind her. Low handheld camera at water level, soft pink dawn light, mist on the water. Audio: gulls, a splash, her breath and a short laugh, distant boat engine.
Jedna czynność i jedno ustawienie kamery, a dźwięk jest rozpisany słowami, żeby plusk i śmiech trafiły we właściwe klatki.
Dopracuj ujęcie przy pięciu sekundach i 720p
Ustal seed i porównuj po jednej zmianie: czasownik, ruch kamery, linijkę o dźwięku. Gdy ujęcie działa, wyrenderuj je ponownie w 10 sekundach lub w 1080p. Jeśli żądanie w 4:3 lub 3:4 zostanie odrzucone, najpierw sprawdź rozdzielczość: te formaty nie są dostępne w 480p.
Oceń cały klip z dźwiękiem
Odtwórz klip od początku do końca z dźwiękiem: czy czynność jest czytelna przy normalnej prędkości, czy efekty trafiają w swoje widoczne źródło, czy dłonie i włosy się trzymają? Dłuższe klipy mocniej dryfują w dłoniach, włosach i drobnych detalach, więc przed oddaniem porównaj ujęcie 10-sekundowe z wersją 5-sekundową.
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.5/text-to-video",
"input": {
"aspect_ratio": "16:9",
"duration_seconds": 5,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# 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.




























