Wprowadzenie
Wan 2.7 Spicy Obraz na wideo to jeden z dwóch endpointów nieocenzurowanej rodziny modeli Wan 2.7 Spicy. Kadr początkowy w image_url i wymagany prompt zamieniają się w wideo o długości od 2 do 15 sekund w 720p lub 1080p, z dźwiękiem. Kadr dostarcza osobę, strój, ciało, scenografię, kierunek światła i kształt klipu, a prompt – ruch, kamerę i dźwięk.
W treści żądania nie ma flagi treści, deklaracji dla każdego żądania ani etapu weryfikacji: klip kontynuuje to, co pokazuje autoryzowany kadr. Ta rodzina nie ma zadań tekst na wideo ani referencji, więc każdy nowy klip zaczyna się od kadru; aby kontynuować klip, który już masz, użyj Przedłużania wideo.
Najważniejsze funkcje
Wysłany kadr to kadr, który się porusza
image_url przyjmuje JPEG, PNG bez przezroczystości, BMP lub WEBP, o bokach od 240 do 8000 pikseli, proporcjach między 1:8 a 8:1 i rozmiarze nie większym niż 20 MB. Nie ma pola proporcji, więc kadr, który wyślesz, taki wraca. To, co pokazuje obraz wyjściowy, trafia do klipu bez zmian.
Dowolna całkowita długość od 2 do 15 sekund
duration_seconds przyjmuje dowolną liczbę całkowitą od 2 do 15, domyślnie 5, a resolution to 720p (domyślnie) lub 1080p. Oba parametry wpływają na cenę i czas przetwarzania. Po dziesięciu sekundach dryf dłoni i tkaniny staje się widoczny, więc długie ujęcia najlepiej wychodzą z kadru, który już utrzymuje pożądaną pozę.
Generowany dźwięk albo twoja ścieżka
generate_audio jest domyślnie włączone i zwraca tło oraz efekty dopasowane do obrazu. Aby sterować synchronizacją ust i tempem za pomocą nagranej kwestii lub muzycznego akcentu, przekaż audio_url – WAV lub MP3 o długości od 2 do 30 sekund, do 15 MB – i zostaw generate_audio włączone: przy wartości false przekazana ścieżka również nie jest używana.
Rozszerzanie promptu jest włączone od początku
Na tym endpoincie enable_prompt_expansion ma domyślnie wartość true, bez dodatkowej opłaty, i przepisuje prompt przed generowaniem. Pomaga to przy jednolinijkowym briefie. Gdy opis ruchu jest już precyzyjny, ustaw false, żeby twoje sformułowania dotarły do modelu bez zmian.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
image_url | Tak | Klatka początkowa, a zarazem największa dźwignia, jaką tu masz. Garderoba, ciało, scenografia, kierunek światła i proporcje klipu są z niej dziedziczone. |
prompt | Tak | Wymagany. Używaj go wyłącznie do ruchu i pracy kamery – jedna czynność, jedno zachowanie kamery, jedna uwaga o dźwięku. od 1 znaków |
negative_prompt | Nie | To, co nie może się pojawić: druga osoba, rekwizyt, napis na ścianie, znak wodny, który materiał uparcie odtwarza. Jedyne miejsce, w którym da się coś wykluczyć. do 500 znaków |
duration_seconds | Nie | Dowolna liczba całkowita od 2 do 15, domyślnie 5. Powyżej dziesięciu sekund odpływanie dłoni i tkanin staje się widoczne. |
resolution | Nie | 720p lub 1080p, domyślnie 720p. Wpływa i na cenę, i na czas powrotu zadania. |
audio_url | Nie | Ścieżka dźwiękowa, za którą klip ma podążać, sterująca synchronizacją ust i tempem. Użyj jej, gdy wypowiedziana kwestia albo akcent muzyczny musi trafić w konkretną klatkę. |
seed | Nie | Od 0 do 2147483647. Przytrzymaj go, gdy porównujesz 720p z 1080p albo pięć sekund z dziesięcioma. |
generate_audio | Nie | Domyślnie włączone; klip wraca z dźwiękiem zsynchronizowanym z obrazem. Przy wartości false nie zostanie użyta także ścieżka podana przez |
enable_prompt_expansion | Nie | Domyślnie włączone, bez dodatkowej opłaty. Prompt jest przepisywany przed generowaniem – pomaga przy jednozdaniowym opisie. Domyślnie: |
Cennik
| Specyfikacja | Cena |
|---|---|
| $0.1235 / sekundę |
| $0.19 / sekundę |
Zastosowania
Sceny bez cenzury z autoryzowanego kadru
Sceny, których nie chcą inne API wideo: wyślij kadr, opisz ruch i odbierz klip. Żadne pole żądania nie deklaruje treści. Wolno używać wyłącznie dorosłych, którzy wyrazili zgodę, oraz materiałów z właściwą licencją; za prawa, wiek i prawo lokalne wobec wszystkich przedstawionych osób odpowiadasz ty.
Ta sama postać w wielu klipach
Używaj jednego kadru postaci jako kadru początkowego każdego klipu i zmieniaj tylko linijkę z czynnością. Twarz i strój niesie kadr, a nie prompt, więc od ujęcia do ujęcia to wciąż ta sama osoba. Przy porównywaniu ujęć ustal też seed.
Tkanina, wiatr i ruch drugoplanowy
Przykład z wydmą to kilka metrów indygo jedwabiu wyrzuconego nocą nad głowę, podczas gdy piasek zsypuje się z grzbietu, płomień latarni migocze, a długi cień kładzie się na zmarszczkach piasku. Duża, miękka tkanina to wymagający temat, więc przez całe pięć sekund sprawdzaj, czy jedwab się nie rwie i nie zamiera.
Mówiące klipy z twoim dźwiękiem
Prześlij nagraną kwestię przez audio_url, a klip zostanie wygenerowany pod nią: ruch warg i tempo podążają za nagraniem, które już masz. Powstaje postać, która mówi twój scenariusz, zamiast tylko poruszać ustami.
Wskazówki
Najpierw zbuduj kadr początkowy
Przytnij kadr do formatu docelowego i sprawdź, czy pokazuje już osobę, kostium, pomieszczenie i kierunek światła, których chcesz. Następnie użyj negative_prompt (do 500 znaków) dla tego, co kadr uparcie podsuwa: drugiej osoby, rekwizytu, napisu na ścianie, znaku wodnego. Tylko tam można coś wykluczyć, bo prompt służy do opisu ruchu.
Dostosuj dołączony przykład
Przykład zza kulis działa z duration_seconds 5 i resolution 720p i wychodzi od kadru tancerki rewiowej przy lustrze z żarówkami. Kostium, pióra i światło są już w kadrze, więc prompt mówi tylko, co ona robi i jak brzmi pomieszczenie.
She finishes adjusting the sequin strap, checks herself in the bulb-lit mirror, then turns her head to camera and raises one eyebrow before stepping out of frame toward the stage. Bulbs flicker, feathers stir in the draft, smoke drifts, muffled orchestra and applause building behind the wall.
Dokładne żądanie, z którego powstał klip tego endpointu, wygenerowany z kadru początkowego pokazanego obok.
Zmieniaj jedno pole na uruchomienie
Dopracuj ujęcie przy pięciu sekundach i 720p, a potem trzymaj stały seed, testując 1080p lub dłuższy czas; jeśli zmienisz dwie rzeczy naraz, para ujęć nic ci nie powie. Po dziesięciu sekundach dokładnie sprawdzaj dryf dłoni i tkaniny, a przed oddaniem odtwórz klip z dźwiękiem.
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.7-spicy/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"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.




























