modele

ByteDance: Seedance 2.0

Markdown · JSON

ByteDance: Seedance 2.0

Seedance 2.0 generuje i edytuje wideo z wykorzystaniem tekstu, obrazów, wideo i odniesień dźwiękowych. Może kontynuować istniejący materiał i generować zsynchronizowany dźwięk, z długością 4–15 sekund, wyjściem 480p lub 720p i jawnymi rolami odniesień.

O modelu

Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.

Seedance 2.0 generuje wideo z opisu sceny lub połączenia odniesień obrazowych, wideo i dźwiękowych. Dokładny selektor doubao-seedance-2-0-260128 identyfikuje standardowy profil 2.0. Udokumentowane przepływy obejmują generowanie nowego wideo, edycję i przedłużanie istniejącego materiału. Używaj odniesień do przekazywania wyglądu, ruchu, języka kamery i dźwięku, a następnie określ, które części sceny powinny wyznaczać.

Tekst można podać samodzielnie. Udokumentowane kombinacje multimodalne dopuszczają również obrazy lub wideo z opcjonalnym tekstem, obrazy z dźwiękiem, wideo z dźwiękiem oraz obrazy, wideo i dźwięk razem. W tych wymienionych kombinacjach dźwięk towarzyszy więc mediom wizualnym; nie opisano go jako samodzielnego żądania dźwięk-do-wideo. Jasno napisz zamierzony wynik nawet wtedy, gdy tekst jest opcjonalny, aby rola każdego odniesienia była określona wprost, zamiast wynikać z domysłów na podstawie niepowiązanych materiałów.

Tablica content rozróżnia elementy text, image_url, video_url i audio_url. Odniesienia multimodalne używają ról takich jak reference_image, reference_video i reference_audio. Obraz może określać osobę, przedmiot, miejsce lub wygląd. Wideo może przekazywać wykonanie, ruch lub widok kamery, a dźwięk ustalać ścieżkę lub rytm czasowy. Określ przypisanie w opisie: zachowaj obiekt z obrazu, podążaj za widokiem kamery z wideo i użyj dźwięku jako tła. Nie wymagaj, aby każde odniesienie określało wszystkie właściwości naraz.

Udokumentowany przykład reklamowy łączy dwa obrazy produktu z wideo i odniesieniem dźwiękowym. Opisuje widok otwierający, sekwencję działań, zbliżenie szczegółu produktu i kompozycję końcową, zachowując spójny głos w tle. Ta sama struktura może uporządkować krótką prezentację: pokaż przedmiot, zademonstruj jedno działanie i zakończ na rozpoznawalnej cesze. Dla edycji wskaż materiał źródłowy i element, który powinien się zmienić; dla przedłużenia wyjaśnij działanie kontynuowane poza istniejącą sceną, zachowując obiekt i kierunek ruchu.

Profil 2.0 dokumentuje długość w pełnych sekundach od czterech do piętnastu lub -1 dla długości automatycznie wybranej w tym zakresie. Wartość domyślna wynosi pięć sekund. Opcje rozdzielczości to 480p i 720p, z 720p jako wartością domyślną; 1080p jest wykluczone dla 2.0. Stałe proporcje obejmują 16:9, 4:3, 1:1, 3:4, 9:16 i 21:9. Proporcje adaptive mogą dobierać kadr z promptu lub odniesienia: praca z pierwszą klatką podąża za obrazem otwierającym, a praca multimodalna korzysta z zamierzonej sceny lub pierwszego istotnego medium, z pierwszeństwem wideo przed obrazami. Sprawdź wynik zadania pod kątem rzeczywistych proporcji i długości.

Generowany dźwięk jest sterowany niezależnie od mediów referencyjnych. generate_audio=true żąda zsynchronizowanych głosów, efektów i muzyki tła na podstawie tekstu i zawartości wizualnej; false żąda niemego wideo. Udokumentowaną wartością domyślną jest true, a dla mowy zaleca się dialog w cudzysłowie. Określ mówiącego oraz związek dźwięku z widocznym działaniem, a następnie sprawdź rzeczywiste słowa, przypisanie głosu i czas. Dostarczenie odniesienia dźwiękowego i włączenie generowanego dźwięku to odrębne wybory w żądaniu.

Poradnik 2.0 wyklucza starsze ustawienia frames i camera_fixed oraz nie obsługuje przetwarzania offline flex. Używaj pola duration i opisz ruch kamery w samej scenie. Ziarno i znak wodny pozostają udokumentowanymi ustawieniami; poradnik podaje, że to samo żądanie i ziarno mogą dawać podobne wyniki bez gwarancji pełnej identyczności. Unikaj traktowania ziarna jako dowodu odtwarzalności lub powtórzonego żądania jako już sprawdzonego klipu.

Zużycie tokenów wideo oblicza się jako (długość wideo wejściowego + długość wideo wyjściowego) × szerokość wyjściowa × wysokość wyjściowa × liczba klatek na sekundę wyjścia / 1024. Żądania zawierające wideo wejściowe i te bez wideo wejściowego mają odrębne kategorie rozliczeniowe. Zapytanie o zadanie raportuje usage.completion_tokens i usage.total_tokens; zachowaj te zgłoszone wielkości razem z ukończonym klipem.

Przepływ jest asynchroniczny: wysłanie żądania zwraca identyfikator zadania, a ukończone zadanie dostarcza content.video_url wraz z raportowaną długością, rozdzielczością, proporcjami, liczbą klatek na sekundę i zużyciem tokenów. Zachowaj identyfikator i zapisz ukończone wideo z oryginalnymi odniesieniami i promptem. Pole wygaśnięcia domyślnie wynosi 172800 sekund i przyjmuje 3600–259200 sekund od utworzenia zadania; zadanie przekraczające ten czas otrzymuje stan expired. Sprawdź całe wyjście, w tym połączenie edycji lub kontynuacji, pod kątem wyglądu postaci, szczegółów przedmiotu, relacji przestrzennych, ciągłości kamery i zgodności dźwięku z obrazem.

Ailoot Ultra · Wideo POST /v1/videos doubao-seedance-2-0-260128

doubao-seedance-2-0-260128

ByteDance /doubao-seedance-2-0-260128

Start

Seedance 2.0 generuje i edytuje wideo z wykorzystaniem tekstu, obrazów, wideo i odniesień dźwiękowych. Może kontynuować istniejący materiał i generować zsynchronizowany dźwięk, z długością 4–15 sekund, wyjściem 480p lub 720p i jawnymi rolami odniesień.

Akceptowane dane wejściowe
Tekst · Obrazy · Wideo · Audio
Wyniki
Wideo

Dostępne w Ailoot · dane wejściowe i metody

Ailoot Ultra · Wideo POST /v1/videos
Wejście
text, image, video, audio
Wyjście
video
PoleTypWymaganieWartości i limityDomyślnie
PolemodelTypstringWymaganieWymaganeWartości i limity
doubao-seedance-2-0-260128
Domyślnie—
PolecontentTyparrayWymaganieWymaganeWartości i limity
Warunki: Natywne obiekty tekstowe i multimedialne; zewnętrzna tablica musi być niepusta. Ten ogólny konstruktor Ailoot nie weryfikuje typów zagnieżdżonych węzłów.
Domyślnie—
Polegenerate_audioTypbooleanWymaganieOpcjonalneWartości i limity
Warunki: Zsynchronizowany dźwięk osadzony w wideo.
Domyślnietrue
PoledurationTypintegerWymaganieOpcjonalneWartości i limity
Warunki: Liczba całkowita 4–15 lub -1; rzeczywisty czas trwania jest zwracany w wyniku.
Domyślnie5
PoleresolutionTypstringWymaganieOpcjonalneWartości i limity
480p, 720p
Warunki: 1080p jest wyraźnie nieobsługiwane w 2.0/fast.
Domyślnie720p
PoleratioTypstringWymaganieOpcjonalneWartości i limity
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
Warunki: Adaptive ma wyraźnie określony zakres 2.0/fast/1.5; przykład dla 2.5 używa wyłącznie 16:9.
Domyślnieadaptive
PolewatermarkTypbooleanWymaganieOpcjonalneWartości i limityDomyślniefalse
PoleseedTypintegerWymaganieOpcjonalneWartości i limity
Minimum: -1
Maksimum: 4 294 967 295
Domyślnie-1
Poleexecution_expires_afterTypintegerWymaganieOpcjonalneWartości i limity
Minimum: 3600
Maksimum: 259 200
Jednostka: sekundy
Domyślnie172 800
Poleservice_tierTypstringWymaganieOpcjonalneWartości i limity
default
Warunki: 2.0/fast wykluczają tryb offline flex; zakres dla 2.5 nie został ustalony.
Domyślniedefault
Polesafety_identifierTypstringWymaganieOpcjonalneWartości i limityDomyślnie—
PoletoolsTypobjectWymaganieOpcjonalneWartości i limity
Warunki: Wyłącznie 2.0/fast; udokumentowane type=web_search.
Domyślnie—
Kombinacje materiałów wejściowych

Parametry i cykl życia metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktcontent, model
ParametroptionalKontraktgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools
Parametrmaterial_typesKontrakttext, image, video, audio
Parametradditional_propertiesKontrakttrue
Parametrvalidation_scopeKontraktAiloot sprawdza wymagane typy pól oraz niepusty model i tablicę content. Pozostałe pola żądania są zachowywane dla wybranego modelu.
Parametrmaterial_combinationsKontrakttext, image, video, image, audio, image, video, video, audio, image, video, audio
Parametroptional_text_with_mediaKontrakttrue
Parametrreference_media_count_and_size_limitsKontraktnull

Aliasy metody: /v1/videos/generations

Cykl życia: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Utwórz raz i zachowaj zwrócone publiczne id/polling_url.

Odpytuj pierwotne zadanie; pobierz rzeczywistą treść content.video_url należącą do użytkownika po uzyskaniu succeeded.

Cennik

Jak obliczana jest ostateczna opłata

Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki
Nie określono Gdy wybrany jest tryb szybki
Tryb flex
Nie określono Gdy wybrany jest tryb flex
Maksymalna intensywność rozumowania
Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Szacunkowe stawki do porównania

Ceny według konfiguracji

Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.

KonfiguracjaTabela stawekPrzewidywana ilośćJednostka rozliczeniowaOpłata
KonfiguracjaBazowe stawki za tokenyTabela stawekStawka podstawowaPrzewidywana ilość—Jednostka rozliczeniowa—Opłata
Wejście · Tokeny wejściowe · Szacunek tylko do porównania — / 1K tokenów
Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania — / 1K tokenów
Wejście · Odczyt cache · Szacunek tylko do porównania — / 1K tokenów
Wejście · Zapis do cache · Szacunek tylko do porównania — / 1K tokenów
Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania — / 1K tokenów
KonfiguracjaDane wejściowe zawierają wideo.Tabela stawek—Przewidywana ilość—Jednostka rozliczeniowaza 1K tokenów wideoOpłata
Wyjście · Szacunek tylko do porównania $0.0096 za 1K tokenów wideo
KonfiguracjaDane wejściowe nie zawierają wideo.Tabela stawek—Przewidywana ilość—Jednostka rozliczeniowaza 1K tokenów wideoOpłata
Wyjście · Szacunek tylko do porównania $0.015768 za 1K tokenów wideo
KonfiguracjaSzacowany koszt generowaniaTabela stawek—Przewidywana ilośćszacunek dla jednego generowaniaJednostka rozliczeniowa—Opłata
Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $0.822402 szacunek przed generowaniem

Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →

Przykładowe żądania

Ailoot Ultra · Wideo

curl · utwórz filmcurl · odczytaj pierwotne zadaniecurl · pobierz własny film
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-260128","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
    if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
    p=urlsplit(u)
    if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt

Odbieranie i zapisywanie wyników

Ailoot Ultra · Wideo

Natywny JSON z publicznym id/polling_url. Po publikacji content.video_url zawiera podpisane adresy URL należące do Ailoot; przed publikacją wybrane adresy URL wyników są puste.

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Zachowaj wszystkie ukończone wyniki

Zapisz każde ukończone wideo lub zwrócony plik; pobierz każdy faktycznie zwrócony URL zasobu.

Zachowaj każdy rzeczywisty URL z content.video_url; index musi wskazywać faktycznie zwrócony wynik.

Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj oryginalną odpowiedź, nagłówki i id oraz odpytuj tę operację; nigdy nie ponawiaj żądania utworzenia o nieznanym wyniku.

Pola odpowiedzi
PoleTyp
PoleidTypstring
Poleprovider_task_idTypstring
Polepolling_urlTypstring
PolestatusTypstring when supplied
Polecontent.video_urlTypstring|string[]
PoleusageTypobject when supplied
Błędy i dalsze kroki
OdpowiedźWarunekNastępny krok
Odpowiedź400 · invalid_request_errorWarunekNieprawidłowy JSON/model, typy wymaganych pól lub indeks treści.Następny krok
Odpowiedź401 · authentication_errorWarunekNieprawidłowy klucz API Ailoot.Następny krok
Odpowiedź404 · not_found_errorWarunekZadanie lub wynik nie istnieje albo nie należy do tego samego użytkownika, klucza API lub grupy.Następny krok
Odpowiedź502 · result_pending_checkWarunekPierwotne wysłanie lub sprawdzenie statusu jest niekompletne; zachowaj pierwotny identyfikator i nie wysyłaj ponownie.Następny krok
Odpowiedź503 · result_pending_checkWarunekPierwotne multimedia, ścieżka lub rozliczenie są sprawdzane; kontynuuj pierwotną operację.Następny krok

Aliasy

Aliasy modelu

Ailoot Ultra doubao-seedance-2-0-260128

Aliasy ścieżek metod

/v1/videos/generations

Powiązane ID modeli

doubao-seedance-2-0-260128

FAQ · ByteDance: Seedance 2.0
Jakie dane wejściowe i wyniki są dostępne?

POST /v1/videos · doubao-seedance-2-0-260128: text, image, video, audio → video

Jakich pól używa żądanie?

POST /v1/videos · doubao-seedance-2-0-260128: model, content, generate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools

Jakie limity obowiązują?

POST /v1/videos · doubao-seedance-2-0-260128: seed.minimum: -1; seed.maximum: 4294967295; execution_expires_after.minimum: 3600; execution_expires_after.maximum: 259200

Więcej szczegółów

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja
Wybierz plan z rabatem do regularnych żądań.
Kod promocyjny do 50%
Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.
Koszty w historii
Model, tokeny i kwota są zapisywane dla każdego żądania.

Wybierz subskrypcję · Sprawdź ceny modeli

Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna
Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.
Licencja resellerska
Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.
Dokumenty na stronie
Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

Poproś o licencję resellerską · Oferta i umowa licencyjna