Wprowadzenie
Seedance 2.0 reference-to-video godzi kilka autoryzowanych źródeł w jedno ujęcie: obrazy odpowiadają za to, kto i co, klipy za ruch i tempo, audio za rytm, na którym ląduje cięcie. To osobny kontrakt i nie przyjmuje żadnej pierwszej klatki.
Seedance 2.0 od ByteDance publikuje text-to-video, image-to-video i reference-to-video: klipy od 4 do 15 sekund, od 480p do 4K, z natywnym dźwiękiem i domyślnym kadrowaniem adaptive.
| Materiał początkowy | Odpowiedni tryb |
|---|---|
| Opisana scena | Seedance 2.0 Tekst na wideo |
| Zatwierdzony obraz początkowy | Seedance 2.0 Obraz na wideo |
| Oddzielne materiały referencyjne | Seedance 2.0 Referencje na wideo |
Najważniejsze funkcje
Brzmienie pomieszczenia wraca w tym samym pliku
generate_audio jest domyślnie włączone, więc lód w shakerze, śmiech, cichy gwar przy barze i samo pomieszczenie wychodzą z tego samego przebiegu co obraz. Wynik przychodzi już zsynchronizowany, bez czekania na osobną obróbkę dźwięku. Wyłącz je, kiedy klip i tak trafi do montażysty.
Dziewięć referencji, jedna ciągła obsada
reference-to-video przyjmuje naraz do 9 obrazów, 3 klipów i 3 ścieżek audio. Trzy ujęcia jednej twarzy plus kadr z kostiumem utrzymują postać przez cały odcinek znacznie lepiej niż dziewięć niepowiązanych kadrów, a klip referencyjny niesie język kamery, którego żaden przymiotnik w prompcie nie odtworzy w sposób pewny.
Kształt idzie za materiałem
aspect_ratio ma we wszystkich trzech endpointach domyślną wartość adaptive. W image-to-video klip zachowuje kształt kadru otwierającego, więc pion nie zostaje przycięty do poziomu; w text-to-video model bierze kształt z promptu; w reference-to-video znajduje kadr, który mieści wszystko z referencji. Podawaj 16:9, 9:16 albo 21:9 tylko wtedy, gdy miejsce publikacji wymaga stałego formatu.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
prompt | Tak | Wymagany, a tutaj robi także casting. Referencje są cytowane w kolejności wysyłki, więc nazwij, który obraz jest którą postacią, co wnosi każdy klip i po co jest audio. |
reference_image_urls | Nie | Do 9 obrazów referencyjnych, używanych do utrzymania postaci, stylu albo scenografii. do 9 elementów |
reference_video_urls | Nie | Do 3 klipów referencyjnych, każdy od 2 do 15 sekund, o łącznej długości nieprzekraczającej 15 sekund, wnoszących ruch, tempo albo język kamery. do 3 elementów |
reference_audio_urls | Nie | Do 3 referencyjnych plików audio, każdy od 2 do 15 sekund, o łącznej długości nieprzekraczającej 15 sekund; dają modelowi kotwicę dźwiękową – sposób mówienia, tempo, frazę muzyc… do 3 elementów |
aspect_ratio | Nie | Domyślnie |
resolution | Nie | 480p, 720p, 1080p albo 4k, domyślnie 720p, i wprost zasila rozliczaną wielkość. Ustawia tylko próg wyjścia i nie wyostrzy referencji o niskiej rozdzielczości. |
duration_seconds | Nie | Od 4 do 15 sekund, domyślnie 5; przy -1 długość wybiera model (wycena zakłada maksimum 15 sekund, opłata – dostarczoną długość). |
generate_audio | Nie | Domyślnie włączone. Tworzy natywną ścieżkę zsynchronizowaną z obrazem. 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. |
return_last_frame | Nie | Oprócz wideo zwraca ostatnią klatkę klipu jako osobny obraz. Wyślij ją do image-to-video jako kolejną klatkę początkową, żeby łączyć ujęcia bez samodzielnego eksportowania kadru. Domyślnie: |
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
Klipy referencyjne doliczają się do rozliczanych sekund. Ponieważ nie możemy zmierzyć Twoich klipów przed uruchomieniem zadania, najpierw blokujemy kwotę za maksymalne 15 sekund, a niewykorzystaną część zwalniamy w chwili rozliczenia — płacisz wyłącznie za faktycznie wykorzystane sekundy.
| Rozdzielczość | With video: Tak | With video: Nie |
|---|---|---|
| $0.0431 / sekundę | $0.07 / sekundę |
| $0.0928 / sekundę | $0.152 / sekundę |
| $0.2284 / sekundę | $0.374 / sekundę |
| $0.778 / sekundę | $0.778 / sekundę |
Zastosowania
Nadaj każdej referencji rolę
Seedance 2.0 reference-to-video godzi kilka autoryzowanych źródeł w jedno ujęcie: obrazy odpowiadają za to, kto i co, klipy za ruch i tempo, audio za rytm, na którym ląduje cięcie. To osobny kontrakt i nie przyjmuje żadnej pierwszej klatki. Użyj tego trybu, gdy osobne obrazy, klipy lub nagrania audio mają prowadzić różne części nowego ujęcia. Określ wkład każdego zasobu przed opisaniem działania, które je łączy.
Nocne lokale i sceny barowe, które niosą własny dźwięk
Mieszany koktajl, szkło na barze, cichy gwar za czerwonym lampionem: wpisz pomieszczenie w prompt i zostaw generate_audio włączone. Seedance 2.0 renderuje tło dźwiękowe razem z obrazem, więc cięcie przychodzi z atmosferą, a nie jako niemy materiał.
Ciągłość kampanii w serii cięć
Wczytaj produkt z trzech ujęć i modelkę z dwóch do reference-to-video, a potem zmieniaj wyłącznie prompt dla każdego cięcia. Ta sama butelka, ta sama twarz i ta sama kurtka jadą razem z żądaniem, więc seria trzyma się w całości bez ręcznej korekcji.
Materiał kostiumowy i roleplay bez cenzury
Koronka i satyna, ogony i uszy jako rekwizyty, kadry z perspektywy pierwszej osoby, pary dowolnej płci – nic z tego nie jest przez nas przeglądane. Własna warstwa Seedance odrzuca część śmielszych sformułowań, więc prowadź te momenty z pierwszej klatki w image-to-video, a nie z promptu.
Wskazówki
Wybierz endpoint na podstawie tego, co już masz
Sam opis idzie do text-to-video. Kadr, który musi przetrwać, idzie do image-to-video. Obsada, produkt albo ruch, który ma się powtarzać między cięciami, idzie do reference-to-video. Kiedy wołasz nazwę rodziny, endpoint wybierają za ciebie wysłane pola.
Zapisz ujęcie jak listę zdjęciową
Bohater, akcja, kamera, światło, dźwięk – jedna myśl na zdanie. Klip z tej strony powstał dokładnie z tego tekstu, zostawionego po angielsku tak, jak został wysłany: „Photorealistic live-action, not animation. A real adult woman in a chocolate satin robe works behind a dim neon bar, a large fluffy faux fox tail accessory clipped at the small of her back. She shakes a cocktail, turns to set the glass on the counter and the tail sways with the movement, then she looks back at camera with a teasing smile. Warm red lantern light, 35mm grain, slow push-in, ice rattling and low bar chatter.” Pięć sekund, 720p, 16:9, dźwięk włączony.
Dostosuj opublikowany przykład
Zacznij od opublikowanego przykładu i zachowaj wejścia właściwe dla tego trybu. Zmień tylko temat i kierunek kreatywny, a kolejne ujęcie porównaj z konkretnym celem wizualnym.
The woman from @Image1, in the same sheer black robe, steps out onto the rooftop from @Image2 at sunset. She walks slowly between the drying white sheets; the wind lifts one sheet across her body and lets it fall away. She stops at the parapet, the robe sliding off one shoulder, and glances back over her shoulder into camera. Warm golden backlight, slow tracking shot, no cuts.
Jedna referencja to osoba, druga to miejsce: prompt nazywa, który obraz pełni którą rolę, więc kobieta z portretu przy świecach trafia na dach o zachodzie słońca w tym samym szlafroku, a schnące prześcieradła stają się tym, przez co się przedziera.
Sprawdź wynik i iteruj celowo
Sprawdź, czy każda referencja pełni zaplanowaną rolę: postaci, otoczenia, ruchu albo dźwięku. Gdy materiały się kłócą, najpierw usuń sprzeczne źródło, zamiast rozbudowywać prompt.
Ustal punkt wyjścia i oczekiwany rezultat
Przed generowaniem określ, co ma być widoczne na początku, w trakcie zmiany i na końcu. Dzięki temu oceniasz sekwencję względem konkretnego celu, a nie ogólnego wrażenia.
Oceń osobno źródło i ruch
Obraz źródłowy ustala rozpoznawalne detale, a instrukcja opisuje to, co wydarzy się później. Sprawdź oba wybory razem, aby ruch nie zatarł kompozycji początkowej.
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/reference-to-video",
"input": {
"aspect_ratio": "adaptive",
"bitrate_mode": "standard",
"duration_seconds": 5,
"generate_audio": true,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"reference_image_urls": [
"https://example.com/reference.png"
]
}
}'
# 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.
















