Wprowadzenie
Seedance 2.5 Spicy w trybie obraz na wideo robi z wysłanego zdjęcia pierwszą klatkę i animuje je do 30 sekund, z dźwiękiem w tym samym przebiegu. image_url to jedyne wymagane pole; prompt służy do kierowania ruchem, a nie do bronienia treści.
Seedance 2.5 Spicy to dostrojona przez LoRA, prowadzona obrazem odmiana bez cenzury linii Seedance 2.5 od ByteDance, udostępniona jako jeden endpoint obraz na wideo. Natywny render sięga 1080p; poziom 4K to dodatkowy przebieg upscalingu nałożony na ten render, a nie rozdzielczość, którą model tworzy sam.
Najważniejsze funkcje
Kadr to brief
Strój, poza, skóra, światło i kadrowanie przychodzą z obrazem, zanim prompt cokolwiek powie. Dlatego praca prowadzona obrazem przechodzi briefy, których pusta kartka by nie przeszła, a prompt może skupić się na opisie ruchu.
Trzydzieści sekund i dostawa w 4K na jednym endpoincie
duration_seconds sięga 30, a resolution wartości 4k, więc styl, który działa przy pięciu sekundach, można wygenerować ponownie dłużej i większy, nie ruszając niczego innego. Poziom 4K powiększa natywny render 1080p: trwa dłużej i nie dodaje niczego, czego zabrakło w przebiegu natywnym, więc wybieraj go, gdy specyfikacja dostawy wymaga 4K, a nie po to, by ratować nieostry kadr.
Wybierz też ostatnią klatkę
last_image_url ustala ostatnią klatkę obok pierwszej. Wyślij to samo zdjęcie dwa razy, a klip zacznie się i skończy na nim, tworząc płynną pętlę; wyślij dwa różne zdjęcia, by uzyskać odsłonięcie albo zmianę stylizacji. Pole jest przyjmowane tylko razem z image_url.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
image_url | Tak | Wymagane i jako jedyne. |
prompt | Nie | Tutaj opcjonalny i na tym polega rzecz: klatka początkowa ustala już to, co widać na ekranie, więc promptowi zostaje samo prowadzenie ruchu – akcja, kierunek spojrzenia, dryf ka… do 5000 znaków |
last_image_url | Nie | Opcjonalna klatka końcowa. Decyduje, na jakim obrazie ujęcie wyląduje: przejście, para „przed i po” albo pętla otwierająca się i zamykająca tym samym kadrem. |
resolution | Nie | Rozdzielczość wyjściowa: 480p, domyślnie 720p, 1080p albo 4k. |
duration_seconds | Nie | Długość gotowego klipu w pełnych sekundach, od 4 do 30, domyślnie 5, i zarazem rozliczana wielkość – opłata rośnie wprost proporcjonalnie. |
generate_audio | Nie | Decyduje, czy powstaje natywna ścieżka dźwiękowa zsynchronizowana z obrazem. Domyślnie włączona. Domyślnie: |
seed | Nie | Całkowity seed; pominięty – każdy przebieg losuje własny. Ustal go przy wszystkim innym bez zmian, żeby ocenić, co naprawdę zmieniła poprawka w prompcie. |
Cennik
| Specyfikacja | Cena |
|---|---|
| $0.216 / sekundę |
| $0.432 / sekundę |
| $1.08 / sekundę |
| $2.16 / sekundę |
Zastosowania
Odgrywanie ról i stroje, których inne platformy odmawiają
Pary dowolnej płci, ujęcia z perspektywy pierwszej osoby i rekwizyty do odgrywania ról nie są po naszej stronie weryfikowane. Daj ujęciu otwierający kadr bez cenzury, a Seedance 2.5 Spicy ożywi to, co naprawdę jest na obrazie.
Krótkie pętle do płatnego feedu
Wyślij to samo zdjęcie jako image_url i last_image_url, a klip zacznie się i skończy tym samym obrazem, tworząc płynną pętlę. Cztery sekundy w 720p wystarczą na kafelek w feedzie; 4K zostaw na materiał, za który ktoś faktycznie zapłacił.
Długie sceny składane z odcinków
Dryf pojawia się po mniej więcej dziesięciu sekundach, więc długa scena lepiej trzyma się jako łańcuch odcinków niż jedno trzydziestosekundowe ujęcie. Zakończ każdy klip na kadrze, który ci odpowiada, i użyj go do otwarcia następnego.
Wskazówki
Niech treść niesie kadr otwierający
Zrób zdjęcie albo je wygeneruj i ustal tam strój, pozę, światło i kadrowanie. Rozdzielczość nie doda szczegółów, których kadr nigdy nie miał, a prompt nie wprowadzi treści do obrazu, który jej nie pokazuje.
Zablokuj kamerę, gdy kadrowanie ma znaczenie
Model poszerza albo porusza kamerę, jeśli prompt zostawia mu na to miejsce. Gdy ciasny kadr jest kluczowy, powiedz to wyraźnie i więcej niż raz, jak w opublikowanym przykładzie, i opisz jedną ciągłą akcję w tym kadrze.
Dostosuj dołączony przykład
Opublikowany przykład używa duration_seconds 5, generate_audio true i resolution 720p.
Her palm drags straight down the fogged glass, carving one long clear streak from the wiped patch to the bottom edge, and her fingertips lift away. She immediately steps forward and leans into that clear streak: her face arrives close to the glass and comes into sharp focus through it, wet skin and lashes clearly visible, water beading and running around her cheek. She holds there, eyes level with the lens, and breathes out against the glass so a small bloom of fog spreads and fades. The framing stays tight on the glass panel the entire time. Do not pull back, do not widen the shot, do not change the camera angle. Running water, muffled room tone, one slow breath.
Jedna ciągła akcja w ciasnym kadrze, z kamerą przytrzymaną na trzy różne sposoby; para, skóra i kadrowanie pochodzą ze zdjęcia.
Szkic w 720p, potem skalowanie
Zrób szkic w 720p przez pięć sekund, żeby sprawdzić kadrowanie i ruch, a wersję końcową wygeneruj w 1080p albo na poziomie 4K z upscalingiem, gdy wymaga tego specyfikacja dostawy. Własna warstwa bezpieczeństwa Seedance nadal działa przed generowaniem: wprost opisany pocałunek zostaje odrzucony, a szept do ucha czy zetknięte czoła przechodzą, więc umieść ten moment w kadrze.
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": "bytedance/seedance-2.5-spicy/image-to-video",
"input": {
"duration_seconds": 5,
"generate_audio": true,
"image_url": "https://example.com/reference.png",
"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.















