Wprowadzenie
Seedance 2.0 Fast Przedłużanie wideo kontynuuje klip, który już masz. Przekaż go w video_url i, jeśli chcesz pokierować dalszym ciągiem, dodaj prompt opisujący, co dzieje się dalej. Ostatnia klatka klipu staje się klatką początkową nowego ujęcia Seedance 2.0 Fast 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
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.
To ty wybierasz zakończenie. last_image_url jest opcjonalne: po jego podaniu nowy fragment kończy się na tym obrazie, bez niego decyduje model. Prompt też jest opcjonalny, więc przedłużenie jednym kliknięciem działa bez napisania ani słowa.
Dostajesz jeden plik i osobno nowy kawałek. Pierwszy zasób w wyniku to połączony klip (rola video), drugi to sam nowy fragment (rola segment), gotowy do kolejnego przedłużenia albo do montażu. Dźwięk oryginału 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.
Cała reszta to Seedance 2.0 Fast z obrazu na wideo. Nowy fragment idzie tymi samymi trasami, z tym samym zakresem dopuszczalnych treści i tymi samymi cenami za sekundę według rozdzielczości i ustawienia dźwięku co endpoint z obrazu na wideo, a nieudane generowanie jest zwracane tak samo. Jeśli generowanie się uda, ale samo łączenie nie powstanie, zadanie kończy się błędem, a opłata wraca.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
prompt | Nie | Opcjonalny, ale warto go napisać: co dzieje się dalej, czyli następna akcja, ruch kamery i dźwięk. Obiekt i scenografię ustala już klatka początkowa, więc słowa przeznacz na ruch. od 1 znaków |
video_url | Tak | Klip do kontynuowania: 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 |
last_image_url | Nie | Opcjonalna klatka końcowa: nowy fragment kończy się na tym obrazie, w ten sposób wskazujesz, gdzie ma lądować ujęcie, na przykład przejście, para przed i po albo spokojna poza. |
resolution | Nie | Rozdzielczość nowego fragmentu: 480p lub 720p, domyślnie 720p. Od niej zależy cena. |
duration_seconds | Nie | Długość nowego fragmentu w pełnych sekundach, od 4 do 15; domyślnie 5. |
generate_audio | Nie | Domyślnie włączone, więc nowy fragment dostaje ścieżkę dźwiękową zsynchronizowaną z obrazem; wyłączenie nie obniża ceny w tym wariancie. 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. |
bitrate_mode | Nie | Bitrate dostarczanego pliku: |
watermark | Nie | Dodaje do wideo widoczny znak wodny „AI generated” samego modelu. Domyślnie wyłączone; włącz, gdy miejsce publikacji wymaga oznaczania materiałów wygenerowanych przez AI. Domyślnie: |
Cennik
Opłata za każdą sekundę nowego fragmentu w wybranej rozdzielczości i przy wybranym ustawieniu dźwięku; wysłany klip źródłowy nie jest rozliczany.
| Specyfikacja | Cena |
|---|---|
| $0.04499712 / sekundę |
| $0.096768 / sekundę |
Zastosowania
Wydłuż ujęcie, które skończyło się za wcześnie: obrotową podstawę z produktem, która staje, zanim etykieta zwróci się do kamery, albo spacer urwany, zanim postać dojdzie do drzwi. Przedłuż 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 znowu przedłuż połączony wynik; każdy krok rozlicza tylko dodane sekundy. Każdy krok zaczyna się od jednej klatki, więc obejrzyj każde łączenie, zanim dołożysz kolejne.
Wskazówki
Opisuj następny moment, a nie całą scenę. Klatka już ustala, kto i gdzie się znajduje; poświęć prompt na następną akcję i ruch kamery oraz nazwij dźwięk, którego chcesz. Powtórz język kamery, na którym skończył się klip, na przykład powolny najazd albo statyczne ujęcie, żeby łączenie wyglądało jak jedno ujęcie.
Przytnij klip przed przedłużeniem. Ostatnia klatka to jedyne, co widzi model, więc rozmyte, urwane w pół ruchu albo mocno skompresowane zakończenie przechodzi wprost do kontynuacji. Najpierw przytnij oryginał na czystej, ostrej klatce. Przyjmowane są oryginały do 60 sekund w formatach MP4, MOV lub WebM.
Wybierz rozdzielczość oryginału i ustaw duration_seconds na długość, której naprawdę potrzebujesz: opłata dotyczy tylko nowego fragmentu. 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. 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.
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-fast/video-extend",
"input": {
"bitrate_mode": "standard",
"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.









