Wprowadzenie
Przedłużanie wideo w Seedance 2.0 Spicy. Wyślij klip, który chcesz kontynuować, i opisz, co dzieje się dalej: ostatnia klatka klipu staje się klatką początkową nowego ujęcia Seedance 2.0 Spicy z obrazu na wideo, a oryginał i nowy fragment wracają połączone w jednym pliku MP4. Rozliczane są tylko nowe sekundy.
| Pole | Wartość |
|---|---|
| Wejście | Wideo |
| Wyjście | Wideo |
| Endpoint | image-to-video i video-extend |
| Wymagane wejście |
|
| Długość klipu | 4–15 pełnych sekund, domyślnie 5 |
| Rozdzielczość | 480p, 720p (domyślnie), 1080p, 4k |
| Proporcje obrazu | adaptive (domyślnie), 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
| Dźwięk | Natywna ścieżka dźwiękowa renderowana w tym samym przebiegu, domyślnie włączona |
| Weryfikacja treści | Żadnej po naszej stronie; własne odmowy modelu nadal obowiązują |
Najważniejsze funkcje
To, co pokazuje zdjęcie, jest już w klipie
image_url to jedyne wymagane pole w tej rodzinie. Strój, poza, skóra, para i światło przychodzą razem z obrazem, zanim prompt zostanie w ogóle przeczytany – dlatego praca prowadzona klatką wytrzymuje briefy, których pusta kartka nie wytrzyma. Prompt zostaje wolny i może kierować ruchem, zamiast wywalczać treść.
Domyślnie adaptive, a jeśli trzeba – sześć stałych proporcji
W odróżnieniu od rodziny 2.5 Spicy ta publikuje aspect_ratio, a domyślną wartością jest adaptive: wynik zachowuje geometrię twojej klatki początkowej, więc pionowe zdjęcie zostaje pionowe, bez kadrowania. Wskazuj 9:16, 1:1 albo 21:9 tylko wtedy, gdy wymusza to miejsce publikacji, i sprawdź, czy temat nadal mieści się w obszarze bezpiecznym.
Wybierz, gdzie klip się kończy, a nie tylko gdzie się zaczyna
last_image_url przypina ostatnią klatkę oprócz pierwszej, więc model musi dotrzeć do obrazu, który wybierasz. Wyślij dwa razy ten sam kadr, a klip zacznie się i skończy na nim, co daje pętlę bez szwu; wyślij dwa różne kadry, żeby dostać odsłonę albo zmianę stylizacji. Pole jest przyjmowane tylko razem z image_url, a dwa kadry mocno różniące się kadrowaniem albo światłem utrudniają poprowadzenie środka.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
prompt | Nie | Opcjonalny. Ostatnia klatka już ustala bohatera i plan, więc słowa poświęć temu, co dzieje się dalej: kolejnej akcji, ruchowi kamery i dźwiękowi. do 5000 znaków |
last_image_url | Nie | Opcjonalna klatka końcowa: nowy fragment kończy się na tym obrazie. |
resolution | Nie | Rozmiar nowego fragmentu: 480p, 720p, 1080p lub 4k; domyślnie 720p. Wyznacza próg cenowy. |
duration_seconds | Nie | Długość nowego fragmentu w pełnych sekundach, od 4 do 15, domyślnie 5, a zarazem rozliczana ilość. Twoje źródło jest dodawane z przodu i nie jest rozliczane. |
generate_audio | Nie | Domyślnie włączone, więc nowy fragment dostaje wygenerowany dźwięk. Domyślnie: |
seed | Nie | Od 0 do 2147483647. Bez niego każde uruchomienie losuje własną wartość. |
video_url | Tak | Klip do kontynuacji: MP4, MOV lub WebM, do 60 sekund. Jego ostatnia klatka staje się klatką początkową nowego fragmentu, więc przytnij go na czystej, ostrej klatce. od 1 znaków |
Cennik
Opłata za każdą sekundę nowego fragmentu w wybranej rozdzielczości; wysłany klip źródłowy nie jest rozliczany.
| Specyfikacja | Cena |
|---|---|
| $0.114 / sekundę |
| $0.228 / sekundę |
| $0.57 / sekundę |
| $1.14 / sekundę |
Zastosowania
Materiał, którego inne platformy odmawiają
Para i kondensacja, bliskie wnętrza, pary dowolnej płci i ujęcia z perspektywy pierwszej osoby — po naszej stronie nic z tego nie jest weryfikowane. Umieść treść w klatce otwierającej, a Seedance 2.0 Spicy ożywi to, co obraz faktycznie pokazuje.
Klipy towarzyszące, które zostają tą samą osobą
Użyj jednej klatki początkowej w całej serii i zmieniaj tylko prompt. Podobieństwo podróżuje w kadrze, a nie w stosie referencji, więc postać jest tą samą osobą od klipu do klipu i nie ma nic dodatkowego do zsynchronizowania.
Pionowe cięcia na płatny feed
Zostaw aspect_ratio na adaptive, a zdjęcie 3:4 albo 9:16 wróci we własnym kształcie, gotowe na telefon. Cztery do sześciu sekund w 720p wystarczy na kafelek w feedzie; 1080p albo 4k zostaw na materiał za paywallem.
Istniejąca sesja zdjęciowa wprawiona w ruch
Sesja, którą już masz, zamienia się w rolkę: puść każde udane zdjęcie na pięć sekund w 720p, odrzuć te, które źle się poruszają, a ocalałe wyrenderuj dłużej i w wyższej rozdzielczości – każdy przebieg to nowe ujęcie, więc zachowaj najlepsze z kilku. Nic nie trzeba dofotografowywać, doświetlać ani ponownie zatwierdzać.
Wskazówki
Umieść treść w klatce początkowej
Zrób je albo wygeneruj – zdjęcie na tej stronie pochodzi z rodziny text-to-image z tego samego katalogu. Strój, poza, światło i kadr muszą być właściwe już tam, bo rozdzielczość nie dokłada szczegółu, którego w klatce nie było, a prompt nie wywalczy treści w obrazie, który jej nie pokazuje.
Opisz ruch, a nie obraz
Klip na tej stronie powstał z nieruchomego kadru obok i dokładnie z tego promptu: “She wipes a wider streak through the fogged mirror, steam curling back across the glass, then leans in closer to her reflection and exhales, the robe slipping a little further off her shoulder. Slow push toward the mirror, warm vanity bulbs, water dripping.” Pięć sekund, 720p, dźwięk włączony. Nic w nim nie opisuje ubioru — zrobił to już kadr.
Utwórz zadanie asynchroniczne, potem powiększ to, co zadziałało
Wyślij Idempotency-Key, zachowaj identyfikator zadania i odpytuj albo odbierz callback. Szkicuj w 720p na pięciu sekundach, żeby sprawdzić kadrowanie i ruch. Nie ma seeda, więc dłuższy albo większy przebieg to nowe ujęcie, a nie powiększony szkic: gdy prompt już działa, wyrenderuj wersję końcową w 1080p lub 4k i licz się z wyborem spośród kilku.
Wprowadzenie
Seedance 2.0 Spicy Przedłużanie wideo kontynuuje klip, który już masz. Przekaż go w video_url; prompt o tym, co dzieje się dalej, jest opcjonalny. Ostatnia klatka klipu staje się klatką początkową nowego ujęcia Seedance 2.0 Spicy z obrazu na wideo trwającego od 4 do 15 sekund, a obie części są łączone w jeden plik MP4: najpierw oryginał, potem kontynuacja, bez powtórzonej klatki na łączeniu. Nowy fragment wraca też jako osobny plik, więc możesz przedłużać dalej albo montować części oddzielnie.
Najważniejsze funkcje i zalety
Ciągłość bierze się z ostatniej klatki. Kostiumy, scenografia, światło i ustawienie wszystkich postaci zostają zachowane, bo nowy fragment dosłownie zaczyna się od twojej ostatniej klatki. Ruch nie przechodzi w ten sam sposób: model widzi jedną nieruchomą klatkę, a nie cały klip, dlatego opisz ruch, który ma trwać dalej, zamiast zakładać, że tempo i kierunek zostaną zachowane.
Dostajesz jeden plik i osobno nowy kawałek. Połączony plik zachowuje liczbę klatek na sekundę i kadr Twojego klipu, bez czarnych pasów, i jest zakodowany jako MP4 H.264 z dźwiękiem AAC. Aby dopasować łączenie, obraz może zostać przycięty lub skorygowany o kilka procent przy krawędziach. Jeśli model zwróci wyraźnie inne proporcje, nowy fragment zostanie przeskalowany tak, aby wypełnić Twój kadr, i wyśrodkowany, a to, co wystaje, zostanie przycięte. Dźwięk źródła zostaje, dźwięk wygenerowany dla nowego fragmentu idzie po nim, a cicha strona jest wypełniana ciszą, żeby obraz i dźwięk zgadzały się na łączeniu. Drugi zasób w wyniku to sam nowy fragment, gotowy do kolejnego przedłużenia albo do montażu. Kadr nowego fragmentu wynika z ostatniej klatki klipu, więc nie wybierasz proporcji obrazu; spodziewaj się wyniku bardzo zbliżonego do źródła, ale nie identycznego co do piksela.
Cała reszta to Seedance 2.0 Spicy z obrazu na wideo. Nowy fragment idzie tymi samymi trasami, z tym samym zakresem dopuszczalnych treści i tą samą ceną za sekundę co endpoint z obrazu na wideo, a nieudane generowanie jest zwracane tak samo. Opcjonalna klatka końcowa pozwala dodatkowo ustalić, na czym kończy się fragment. Jeśli generowanie się powiedzie, ale samo połączenie nie da się zbudować, zadanie kończy się błędem, a opłata jest zwracana.
Przykładowe zastosowania
Wydłuż ujęcie, które skończyło się za wcześnie: obrotowy stolik z produktem zatrzymujący się, zanim etykieta spojrzy w kamerę, albo spacer urwany, zanim bohater dojdzie do drzwi. Przedłuż je o kilka sekund i opisz tylko pozostały ruch.
Buduj dłuższą sekwencję krok po kroku. Wygeneruj pierwsze ujęcie, przedłuż je, a potem przedłuż połączony wynik jeszcze raz; każdy krok rozlicza tylko sekundy, które dodaje. Ponieważ każdy krok zaczyna się od jednej klatki, obejrzyj każde łączenie, zanim dołożysz następne.
Poradnik promptów i wskazówki
Opisz następny takt, a nie całą scenę. Klatka już ustala, kto i gdzie, więc prompt poświęć kolejnej akcji, ruchowi kamery i dźwiękowi. Powtórz język kamery, którym kończył się klip, na przykład powolny najazd albo nieruchome ujęcie, żeby łączenie wyglądało jak jedno ujęcie.
Przytnij przed przedłużeniem. Ostatnia klatka to jedyne, co widzi model, więc rozmyte, urwane w pół ruchu albo mocno skompresowane zakończenie przechodzi prosto do kontynuacji. Najpierw przytnij źródło na czystej, ostrej klatce. Akceptowane są źródła do 60 sekund w formatach MP4, MOV lub WebM.
Dopasuj rozdzielczość do źródła. Rozdzielczość określa tylko jakość nowego fragmentu, więc niższe ustawienie daje miększą drugą połowę. Ustaw duration_seconds na długość, której naprawdę potrzebujesz: opłata dotyczy tylko nowego fragmentu.
Korzystaj wyłącznie z dorosłych osób, które wyraziły zgodę, i z materiałów objętych właściwą licencją. Zabronione są osoby małoletnie, intymne obrazy bez zgody oraz zwodnicze podszywanie się pod realne osoby.
Odpowiadasz za prawa do materiałów źródłowych, wizerunku, marek i muzyki oraz za wykorzystanie komercyjne.
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.0-spicy/video-extend",
"input": {
"duration_seconds": 5,
"generate_audio": true,
"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.









