Wprowadzenie
Seedance 1.5 Pro — przedłużanie wideo kontynuuje klip, który już masz. Wyślij go jako video_url wraz z promptem o tym, co dzieje się dalej. Ostatnia klatka twojego klipu staje się klatką otwierającą nowego ujęcia z obrazu na wideo Seedance 1.5 Pro o długości od 4 do 12 sekund, a obie części łączą się 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 edytować części osobno.
Najważniejsze funkcje
Ciągłość bierze się z ostatniej klatki. Kostiumy, scenografia, światło i ustawienie postaci przechodzą dalej, bo nowy fragment dosłownie zaczyna się na twojej ostatniej klatce. Ruch nie przechodzi w ten sam sposób: model widzi jedną klatkę, a nie cały klip, więc opisz ruch, który ma trwać, zamiast zakładać, że zachowa tempo czy kierunek.
Jeden plik w odpowiedzi, plus nowy kawałek osobno. 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 twojego oryginału zostaje, dźwięk wygenerowany dla nowego fragmentu dołącza po krótkim przenikaniu na łączeniu, a niema strona jest uzupełniana ciszą. Drugim zasobem wyniku jest sam nowy fragment, gotowy do kolejnego przedłużenia albo do edytora.
Opcjonalna klatka końcowa. Dodaj last_image_url, a nowy fragment skończy się na tym obrazie (480p i 720p), co pozwala powtarzalnie zrobić przejście albo powrót do znanej klatki.
Cała reszta to obraz na wideo Seedance 1.5 Pro. Nowy fragment idzie tymi samymi trasami, z tym samym zakresem treści i tą samą ceną za sekundę co endpoint obrazu na wideo, a nieudana generacja jest zwracana tak samo. Jeśli generacja się uda, ale samego połączenia nie da się zbudować, zadanie kończy się niepowodzeniem, a opłata jest zwracana w całości.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
prompt | Tak | Wymagany. Co dzieje się dalej: kolejna akcja, ruch kamery i dźwięk. od 3 znaków |
video_url | Tak | Klip do kontynuowania: MP4, MOV lub WebM, do 60 sekund. Jego ostatnia klatka staje się klatką otwierającą nowego fragmentu, więc potnij go na czystej, ostrej klatce. od 1 znaków |
last_image_url | Nie | Opcjonalna docelowa klatka końcowa: nowy fragment kończy się na tym obrazie, zamiast tam, gdzie zdecyduje model. Nadaj jej te same proporcje co ostatniej klatce klipu. |
resolution | Nie | Rozmiar nowego fragmentu: 480p, 720p lub 1080p, domyślnie 720p. |
duration_seconds | Nie | Długość nowego fragmentu w pełnych sekundach, od 4 do 12, domyślnie 5, a zarazem rozliczana ilość. Twój oryginał jest dodawany z przodu i nie jest rozliczany. |
generate_audio | Nie | Domyślnie włączone i rozliczane w wyższym progu cenowym; wyłącz, żeby dostać fragment bez dźwięku. Domyślnie: |
camera_fixed | Nie | Blokuje kamerę na czas nowego fragmentu, domyślnie wyłączone. Domyślnie: |
seed | Nie | Liczba całkowita od 0 do 2147483647; bez niej każde uruchomienie losuje własną. |
Cennik
Rozliczana jest każda sekunda nowego fragmentu w wybranej rozdzielczości i przy wybranym ustawieniu dźwięku; wysłany klip źródłowy nie jest rozliczany.
| Rozdzielczość | Generuj dźwięk: Nie | Generuj dźwięk: Tak |
|---|---|---|
| $0.0112 / sekundę | $0.0223 / sekundę |
| $0.0227 / sekundę | $0.0454 / sekundę |
| $0.0491 / sekundę | $0.0982 / sekundę |
Zastosowania
Wydłużenie ujęcia, które skończyło się za wcześnie: obrotowy talerz z produktem, który staje, zanim etykieta spojrzy w kamerę, albo spacer ucięty, zanim bohater dojdzie do drzwi. Przedłuż o kilka sekund i opisz tylko brakujący ruch.
Budowanie dłuższej sekwencji krok po kroku. Wygeneruj pierwsze ujęcie, przedłuż je, a potem przedłuż jeszcze raz połączony wynik; każdy krok rozlicza tylko dodane sekundy, a oryginał w każdym kroku może mieć do 60 sekund. Ponieważ każdy krok zaczyna od jednej klatki, obejrzyj każde łączenie, zanim nałożysz kolejne.
Wskazówki
Opisz następny moment, a nie całą scenę. Klatka już ustala, kto i gdzie, więc prompt przeznacz na kolejną akcję, ruch kamery i dźwięk. Powtórz język kamery, którym skończył się twój klip, na przykład powolny najazd albo kadr statyczny, ż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 potnij oryginał na czystej, ostrej klatce.
Utrzymaj spójną rozdzielczość. Rozdzielczość określa tylko jakość nowego fragmentu, więc przedłużenie klipu 1080p w 480p sprawi, że nowa część będzie wyglądać miękciej niż oryginał. Dopasuj rozdzielczość do oryginału i ustaw duration_seconds na długość, której naprawdę potrzebujesz: opłata dotyczy tylko nowego fragmentu.
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-1.5-pro/video-extend",
"input": {
"duration_seconds": 5,
"generate_audio": true,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"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.









