modele

ByteDance: Seedance 2.5

Markdown · JSON

ByteDance: Seedance 2.5

Seedance 2.5 tworzy wideo z tekstu oraz odniesień obrazowych, wideo lub dźwiękowych, z udokumentowanymi przepływami edycji i przedłużania. Dokładny przykład 2.5 łączy obraz produktu z kilkoma odniesieniami ruchu i włącza generowany dźwięk dla skoordynowanej sekwencji reklamowej.

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.5 tworzy wideo z użyciem opisu sceny i odniesień multimodalnych. Dokładny selektor doubao-seedance-2-5-260628 ma własną udokumentowaną operację i przykład. Operacja opisuje generowanie wideo, edycję wideo i przedłużanie wideo, z obrazami, wideo, dźwiękiem i tekstem jako mediami wejściowymi. Używaj odniesień do przekazywania wyglądu obiektu, działania, ruchu kamery, stylu i dźwięku, a następnie wyjaśnij wynik, który ma z nich powstać.

Kombinacje wejścia obejmują sam tekst, obrazy lub wideo z opcjonalnym tekstem, obrazy z dźwiękiem, wideo z dźwiękiem oraz obrazy, wideo i dźwięk razem. Wymienione kombinacje dołączają dźwięk do mediów wizualnych zamiast opisywać żądanie zawierające tylko dźwięk. Uporządkuj każdy element według jego roli: obraz ustala obiekt lub wygląd, wideo demonstruje ruch lub istniejącą scenę, a audio dostarcza odniesienia dźwiękowego. Określ, która rola ma znaczenie dla żądanego ujęcia, aby odniesienie tła nie zostało pomylone z główną postacią.

Dokładny przykład 2.5 to sekwencja reklamowa produktu. Dostarcza obraz i kilka odniesień wideo, a następnie opisuje punkt skupienia na otwarciu, uporządkowane układy produktów, ujęcia szczegółów, działanie w zwolnionym tempie i końcową kompozycję marki. Żądanie przypisuje role reference_image i reference_video oraz używa poszczególnych odniesień do kompozycji, ruchu, pracy kamery i siły wizualnego oddziaływania. Daje to praktyczną strukturę koncepcji kampanii: zaplanuj widoczne etapy, wskaż odniesienie dla każdego z nich i określ końcowy układ.

Pisemna sekwencja może odróżniać to, co się dzieje, od sposobu filmowania. Najpierw opisz działanie produktu, a następnie wielkość planu, trasę kamery, tempo i przejście do kolejnego widoku. Jeśli jedno odniesienie określa produkt, a drugie demonstruje ruch kamery, nazwij te odrębne role. W scenie z kilkoma przedmiotami wyjaśnij ich położenie i kolejność interakcji. Sprawdź wygenerowany wynik pod kątem rzeczywistego kształtu produktu, układu i ruchu, zamiast zakładać, że każdy szczegół odniesienia pojawi się bez zmian.

Dla edycji wskaż istniejące wideo i element do zmiany, taki jak otoczenie, działanie lub styl wizualny, określając jednocześnie ciągłość do zachowania. Dla przedłużenia opisz, jak scena powinna być kontynuowana z dostarczonego materiału. Sprawdź połączenie oraz nowy fragment: wygląd obiektu, kierunek ruchu, pozycja kamery i czas dźwięku wpływają na to, czy wynik jest odbierany jako jedna scena. Zachowaj oryginalne wideo i ukończoną wersję po zmianie razem, aby można było sprawdzić zmianę względem zamierzonej ciągłości.

Udokumentowany przykład multimodalny 2.5 ustawia generate_audio=true i żąda piętnastosekundowej sekwencji z kadrem 16:9. Wartości te opisują ten przykład, a nie uniwersalny pułap długości ani limit dotyczący materiałów referencyjnych. Jasno określ zamierzony dźwięk żądanej sceny, w tym relację między muzyką, efektami i widocznym działaniem, a następnie oceń rzeczywiste wyjście audiowizualne. Odniesienie dźwiękowe i wygenerowaną ścieżkę należy sprawdzić razem pod kątem zamierzonego tempa i wykonania.

Wybierz długość, kadrowanie i rozdzielczość spośród ustawień oferowanych dla tego dokładnego profilu. Zachowaj żądaną konfigurację z promptem i porównaj ją z rzeczywiście zwróconymi polami zadania. Korzystaj ze zwróconej długości, rozdzielczości i proporcji podczas przygotowywania ukończonego klipu do miejsca docelowego. Zachowaj dokładny identyfikator profilu w historii wersji, aby późniejsze porównanie korzystało z tej samej wybranej edycji.

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.

Generowanie jest asynchroniczne. Wysłanie żądania zwraca identyfikator, a skonfigurowany przepływ zadania dostarcza stan i po sukcesie content.video_url. Zapisz ukończony klip razem z mediami źródłowymi i opisem sekwencji. Sprawdź wszystkie zaplanowane etapy, interakcje przedmiotów, wygląd postaci, kadrowanie i zgodność dźwięku w całym wyniku. Przy poprawce wskaż konkretny pominięty szczegół i zachowaj udane części sceny zamiast zastępować cały opis niepowiązanymi instrukcjami.

Ailoot Ultra · Wideo POST /v1/videos doubao-seedance-2-5-260628

doubao-seedance-2-5-260628

ByteDance /doubao-seedance-2-5-260628

Start

Seedance 2.5 tworzy wideo z tekstu oraz odniesień obrazowych, wideo lub dźwiękowych, z udokumentowanymi przepływami edycji i przedłużania. Dokładny przykład 2.5 łączy obraz produktu z kilkoma odniesieniami ruchu i włącza generowany dźwięk dla skoordynowanej sekwencji reklamowej.

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-5-260628
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: Przykład dla 2.5 ustawia true, ale skopiowany opis selektora wymienia wyłącznie 2.0/fast/1.5; nie ma gwarancji szerszego zakresu ustawienia ani wartości domyślnej.
Domyślnie—
PoledurationTypintegerWymaganieOpcjonalneWartości i limity
Warunki: Dosłowna wartość 15 w przykładzie dla 2.5 nie jest maksimum ani wartością domyślną.
Domyślnie—
PoleresolutionTypstringWymaganieOpcjonalneWartości i limity
Warunki: Ze skopiowanych opisów nie wywodzi się wartości domyślnej ani enum właściwego dla 2.5.
Domyślnie—
PoleratioTypstringWymaganieOpcjonalneWartości i limity
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ślnie—
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
Warunki: 2.0/fast wykluczają tryb offline flex; zakres dla 2.5 nie został ustalony.
Domyślnie—
Polesafety_identifierTypstringWymaganieOpcjonalneWartości i limityDomyś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
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.012 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.02 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-5-260628","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-5-260628

Aliasy ścieżek metod

/v1/videos/generations

Powiązane ID modeli

doubao-seedance-2-5-260628

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

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

Jakich pól używa żądanie?

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

Jakie limity obowiązują?

POST /v1/videos · doubao-seedance-2-5-260628: 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