ByteDance: Seedance 2.0
Seedance 2.0 generuje a upravuje video pomocí textu, obrázků, videa a zvukových referencí. Dokáže navázat na existující záznam a generovat synchronizovaný zvuk, s délkou 4–15 sekund, výstupem 480p nebo 720p a výslovnými rolemi referencí.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Seedance 2.0 generuje video z písemného popisu scény nebo z kombinace obrazových, video a zvukových referencí. Přesný selektor doubao-seedance-2-0-260128 identifikuje standardní profil 2.0. Jeho dokumentované postupy zahrnují generování nového videa, úpravy a prodlužování existujícího záznamu. Reference použijte k předání vzhledu, pohybu, kamerového jazyka a zvuku a poté určete, které části scény mají řídit.
Text lze zadat samostatně. Dokumentované multimodální kombinace dovolují také obrázky nebo video s volitelným textem, obrázky se zvukem, video se zvukem a obrázky, video a zvuk společně. Zvuk tedy v těchto uvedených kombinacích doprovází vizuální média; není popsán jako samostatný požadavek na převod zvuku na video. Napište zamýšlený výsledek jasně i tam, kde je text volitelný, aby byla role každé reference výslovná a nezůstala k odvození z nesouvisejících materiálů.
Pole content rozlišuje položky text, image_url, video_url a audio_url. Multimodální reference používají role jako reference_image, reference_video a reference_audio. Obrázek může určit osobu, předmět, místo nebo vzhled. Video může předvést provedení, pohyb nebo pohled kamery a zvuk může stanovit zvukovou stopu nebo časování. Popište přiřazení v zadání: zachovejte objekt z obrázku, sledujte pohled kamery z videa a použijte zvuk jako podkres. Nežádejte každou referenci, aby současně určovala všechny vlastnosti.
Dokumentovaný reklamní příklad kombinuje dva produktové obrázky s videem a zvukovou referencí. Popisuje úvodní pohled, posloupnost akcí, detail produktu a závěrečnou kompozici při zachování jednotného hlasu v pozadí. Stejná struktura může uspořádat krátkou prezentaci: představte předmět, předveďte jednu akci a zakončete rozpoznatelným detailem. Při úpravě určete zdrojový záznam a prvek, který se má změnit; při prodloužení vysvětlete akci navazující za existující scénou při zachování objektu a směru pohybu.
Profil 2.0 dokumentuje délku v celých sekundách od čtyř do patnácti nebo -1 pro automaticky zvolenou délku v tomto rozsahu. Výchozí hodnota je pět sekund. Možnosti rozlišení jsou 480p a 720p, s 720p jako výchozí hodnotou; 1080p je pro 2.0 vyloučeno. Pevné poměry stran zahrnují 16:9, 4:3, 1:1, 3:4, 9:16 a 21:9. Poměr adaptive může vybrat kompozici podle promptu nebo reference: práce s prvním snímkem sleduje úvodní obrázek a multimodální práce využívá zamýšlenou scénu nebo první relevantní médium, s předností videa před obrázky. Zkontrolujte ve výsledku úlohy skutečný poměr stran a délku.
Generovaný zvuk se řídí odděleně od referenčních médií. generate_audio=true žádá synchronizované hlasy, efekty a hudební podkres podle textu a vizuálního obsahu; false žádá němé video. Dokumentovaná výchozí hodnota je true a pro řeč se doporučuje dialog v uvozovkách. Určete mluvčího a vztah zvuku k viditelné akci a poté zkontrolujte skutečné znění, přiřazení hlasů a časování. Dodání zvukové reference a zapnutí generovaného zvuku jsou samostatné volby požadavku.
Příručka 2.0 vylučuje starší nastavení frames a camera_fixed a nepodporuje offline zpracování flex. Použijte pole duration a pohyb kamery popište v samotné scéně. Seed a vodoznak zůstávají dokumentovanými nastaveními; příručka uvádí, že stejný požadavek a seed mohou vytvořit podobné výsledky bez záruky úplné shody. Nepovažujte seed za důkaz reprodukovatelnosti ani opakovaný požadavek za již zkontrolovaný klip.
Spotřeba tokenů videa se počítá jako (délka vstupního videa + délka výstupního videa) × výstupní šířka × výstupní výška × výstupní snímková frekvence / 1024. Požadavky obsahující vstupní video a požadavky bez vstupního videa mají samostatné účtovací kategorie. Dotaz na úlohu hlásí usage.completion_tokens a usage.total_tokens; uchovejte tyto hlášené veličiny spolu s dokončeným klipem.
Průběh je asynchronní: odeslání vrací identifikátor úlohy a dokončená úloha poskytuje content.video_url spolu s hlášenou délkou, rozlišením, poměrem stran, snímkovou frekvencí a spotřebou tokenů. Uchovejte identifikátor a uložte dokončené video s původními referencemi a promptem. Pole vypršení má výchozí hodnotu 172800 sekund a přijímá 3600–259200 sekund od vytvoření úlohy; úloha, která interval překročí, přejde do stavu expired. Zkontrolujte celý výstup včetně spoje upravené nebo navazující části z hlediska vzhledu postavy, detailů předmětu, prostorových vztahů, návaznosti kamery a časového sladění zvuku s obrazem.
Ailoot Ultra · Tvorba videa POST /v1/videos doubao-seedance-2-0-260128
doubao-seedance-2-0-260128Úvod
Seedance 2.0 generuje a upravuje video pomocí textu, obrázků, videa a zvukových referencí. Dokáže navázat na existující záznam a generovat synchronizovaný zvuk, s délkou 4–15 sekund, výstupem 480p nebo 720p a výslovnými rolemi referencí.
- Přijímané vstupy
- Text · Obrázky · Video · Zvuk
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Tvorba videa POST /v1/videos
- Vstup
text,image,video,audio- Výstup
video
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity doubao-seedance-2-0-260128 | Výchozí— |
Polecontent | Typarray | PožadavekPovinné | Hodnoty a limity Podmínky: Nativní textové a multimediální objekty; vnější pole musí být neprázdné. Tento obecný konstruktor Ailoot nekontroluje typy vnořených uzlů. | Výchozí— |
Polegenerate_audio | Typboolean | PožadavekVolitelné | Hodnoty a limity Podmínky: Synchronizovaný zvuk vložený do videa. | Výchozítrue |
Poleduration | Typinteger | PožadavekVolitelné | Hodnoty a limity Podmínky: Celé číslo 4–15 nebo -1; vrací se skutečná délka výstupu. | Výchozí5 |
Poleresolution | Typstring | PožadavekVolitelné | Hodnoty a limity 480p, 720p Podmínky: 1080p je pro 2.0/fast výslovně nepodporované. | Výchozí720p |
Poleratio | Typstring | PožadavekVolitelné | Hodnoty a limity 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Podmínky: Adaptive je výslovně omezeno na 2.0/fast/1.5; příklad pro 2.5 uvádí pouze 16:9. | Výchozíadaptive |
Polewatermark | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Poleseed | Typinteger | PožadavekVolitelné | Hodnoty a limity Minimum: -1 Maximum: 4 294 967 295 | Výchozí-1 |
Poleexecution_expires_after | Typinteger | PožadavekVolitelné | Hodnoty a limity Minimum: 3 600 Maximum: 259 200 Jednotka: sekundy | Výchozí172 800 |
Poleservice_tier | Typstring | PožadavekVolitelné | Hodnoty a limity default Podmínky: 2.0/fast vylučují offline flex; rozsah podpory pro 2.5 není stanoven. | Výchozídefault |
Polesafety_identifier | Typstring | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Poletools | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: Pouze 2.0/fast; dokumentováno type=web_search. | Výchozí— |
Kombinace vstupních materiálů
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktcontent, model |
Parametroptional | Kontraktgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Parametrmaterial_types | Kontrakttext, image, video, audio |
Parametradditional_properties | Kontrakttrue |
Parametrvalidation_scope | KontraktAiloot kontroluje typy povinných polí, neprázdný model a neprázdné pole content. Ostatní pole požadavku se zachovávají pro vybraný model. |
Parametrmaterial_combinations | Kontrakttext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parametroptional_text_with_media | Kontrakttrue |
Parametrreference_media_count_and_size_limits | Kontraktnull |
Aliasy metody: /v1/videos/generations
Životní cyklus: 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
Vytvořte pouze jednou a uchovejte vrácené veřejné id/polling_url.
Dotazujte se na původní úlohu; po dosažení stavu succeeded stáhněte skutečný obsah spravovaný službou z content.video_url.
Tarify
Jak se vypočítá konečný poplatek
Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Odhadované sazby pro srovnání
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Tabulka sazeb | Předpokládané množství | Účtovací jednotka | Poplatek |
|---|---|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Předpokládané množství— | Účtovací jednotka— | Poplatek Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů |
| KonfiguraceVstup obsahuje video. | Tabulka sazeb— | Předpokládané množství— | Účtovací jednotkaza 1K videotokenů | Poplatek Výstup · Odhad pouze pro srovnání $0.0096 za 1K videotokenů |
| KonfiguraceVstup neobsahuje video. | Tabulka sazeb— | Předpokládané množství— | Účtovací jednotkaza 1K videotokenů | Poplatek Výstup · Odhad pouze pro srovnání $0.015768 za 1K videotokenů |
| KonfiguraceOdhadovaná cena generování | Tabulka sazeb— | Předpokládané množstvíodhad pro jedno generování | Účtovací jednotka— | Poplatek Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $0.822402 odhad před generováním Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování. |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Tvorba videa
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
Přijímání a ukládání výsledků
Ailoot Ultra · Tvorba videa
Nativní JSON s veřejným id/polling_url. Po zveřejnění obsahuje content.video_url podepsané URL spravované službou Ailoot; před zveřejněním jsou vybrané výstupní URL prázdné.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Uchovejte všechny dokončené výsledky
Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.
Uchovejte každou skutečnou URL v content.video_url; index musí označovat skutečně vrácený výstup.
Pokud je nutné ověřit původní odpověď
Zachovejte původní odpověď, hlavičky a id a dotazujte se na tuto operaci; vytvoření s neznámým výsledkem nikdy znovu neodesílejte.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Poleprovider_task_id | Typstring |
Polepolling_url | Typstring |
Polestatus | Typstring when supplied |
Polecontent.video_url | Typstring|string[] |
Poleusage | Typobject when supplied |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatný JSON/model, typy povinných polí nebo index obsahu. | Další krok |
Odpověď401 · authentication_error | PodmínkaNeplatný klíč API Ailoot. | Další krok |
Odpověď404 · not_found_error | PodmínkaÚloha či výstup chybí nebo nepatří stejnému uživateli, klíči API či skupině. | Další krok |
Odpověď502 · result_pending_check | PodmínkaPůvodní odeslání či stav jsou neúplné; zachovejte původní ID, znovu neodesílejte. | Další krok |
Odpověď503 · result_pending_check | PodmínkaPůvodní médium, trasa či vyúčtování se kontrolují; pokračujte v původní operaci. | Další krok |
Aliasy
Aliasy modelu
Ailoot Ultra doubao-seedance-2-0-260128
Aliasy cest metod
/v1/videos/generations
Související ID modelů
FAQ · ByteDance: Seedance 2.0
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/videos·doubao-seedance-2-0-260128:text,image,video,audio→video- Jaká pole požadavek používá?
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- Jaké limity platí?
POST /v1/videos·doubao-seedance-2-0-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200