Seedance 2.0 Fast
Generujte videa pomocí modelu Seedance 2.0 Fast na základě textu, prvního a posledního snímku nebo multimodálních referencí. Tato stránka popisuje kompletní workflow od požadavku po výsledek.
ID modelu v API: seedance-2-0-fast
Generování probíhá asynchronně. Uložte si taskId vrácené při vytvoření úlohy a poté se dotazujte na její stav nebo vyčkejte na webhook.
Schopnosti a funkce
| Funkce | Podporované hodnoty |
|---|---|
| Výstupní rozlišení | 480p · 720p |
| Délka výstupu | 4–15 sekund |
| Poměr stran | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive |
| Referenční obrázky | Až 9 obrázků |
| Referenční videa | Až 3 videí |
| Referenční audio soubory | Až 3 audio souborů |
| Všechny reference dohromady | Celkem až 12 referenčních souborů |
| Celková délka na skupinu video/audio | 15 sekund |
| seed | -1 až 4294967295 |
Ceny a kredity
Generování videa je zpoplatněno kredity na základě účtované délky v sekundách. Bez video vstupu odpovídá účtovaná délka délce výstupu. Pokud video vstup zadáte, započítává se do ní také délka referenčního videa.
V tabulce níže jsou uvedeny kredity účtované za sekundu, nikoli celková cena za úkol. Sazba závisí na modelu, výstupním rozlišení a na tom, zda v režimu reference-to-video zadáte referenční videa. Výpočet celkové ceny najdete ve vzorcích a příkladech pod tabulkou.
| Výstupní rozlišení | Bez video vstupu | S video vstupem |
|---|---|---|
480p | 5 kreditů/sekunda | 3 kreditů/sekunda |
720p | 10 kreditů/sekunda | 6 kreditů/sekunda |
- Bez video vstupu: sekundy výstupu × sazba bez videa.
- S video vstupem: (sekundy výstupu + naměřené sekundy referenčního videa) × sazba s videem. Server změří celkovou délku referenčního videa a před zaúčtováním ji zaokrouhlí nahoru na celé sekundy.
- Samostatné obrázkové nebo zvukové reference využívají sazbu bez videa. Sazba za referenční video se uplatňuje pouze v režimu reference-to-video, pokud jsou skutečně dodány video reference.
Příklady výpočtu ceny
5sekundové text-to-video v 720p: 5 × 10 = 50 kreditů.
5sekundový výstup s 5sekundovým referenčním videem v 720p: (5 + 5) × 6 = 60 kreditů.
Kredity jsou rezervovány při odeslání požadavku a strženy při úspěšném dokončení. Selhané nebo vypršené úlohy jdou do procesu vrácení peněz (refundace). Stav účtování refund_failed znamená, že se vrácení kreditů nedokončilo; zkontrolujte protokoly API nebo kontaktujte podporu.
Ověření
Vytvořte si API klíč v administraci. Celý klíč se zobrazí pouze jednou. Uložte si ho na svém serveru a posílejte ho jako Bearer token v každém požadavku.
Základní URL
https://api.seevio.aiAuthorization: Bearer sk_live_your_api_key
Content-Type: application/jsonPřed spuštěním těchto příkladů nastavte proměnnou prostředí SEEVIO_API_KEY. Příklady v JavaScriptu běží na vašem serveru v prostředí Node.js; příklady v Pythonu používají knihovnu requests.
Rychlý start
Odešlete tento minimální požadavek, uložte si vrácené taskId a poté použijte níže uvedený příklad dotazu na stav úlohy. Hodnota credits v odpovědi na vytvoření představuje rezervovanou částku.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'Příklad odpovědi při vytvoření úlohy
Jakmile je výše uvedený požadavek přijat, API vrátí tuto odpověď ve formátu JSON. Hodnota taskId představuje identifikátor úlohy, který slouží k následnému dotazování na její stav. credits udává počet kreditů rezervovaných pro tuto úlohu. Tato odpověď pouze potvrzuje úspěšné vytvoření úlohy, nikoli to, že je video již hotové. Pro získání výsledného videa je nutné stav úlohy pravidelně kontrolovat (polling) nebo využít Webhook.
{
"taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"credits": 50
}Vytvoření úlohy
POST https://api.seevio.ai/v1/videos/generationsOdešlete objekt JSON obsahující model a input, případně volitelnou callback_url. Vždy uveďte přesné ID modelu uvedené na této stránce; při vynechání modelu se vybere seedance-2-0.
Tělo požadavku
| Pole | Typ | Povinné | Popis a omezení |
|---|---|---|---|
model | string | Ano | ID modelu. Chcete-li použít Seedance 2.0 Fast, nastavte toto pole na seedance-2-0-fast. |
callback_url | string | Ne | Veřejný HTTPS koncový bod pro POST callbacky při dokončení nebo selhání. Privátní sítě a localhost nejsou povoleny. Příklad: https://example.com/webhooks/seevio |
input | object | Ano | Nastavení generování. Musí obsahovat neprázdný prompt. |
Vstupní parametry
Zadejte parametry image_urls, video_urls a audio_urls jako pole řetězců s URL (string[]). Každá zadaná URL musí být veřejně přístupná přes protokol HTTPS, a to včetně médií, která vybraný režim ignoruje.
| Pole | Typ | Povinné | Výchozí | Popis a omezení |
|---|---|---|---|---|
input.prompt | string | Ano | — | Zadání (prompt) je vyžadováno v každém režimu. Může obsahovat maximálně 10 000 znaků (před oříznutím) a nesmí se skládat pouze z mezer. Příklad: A cat surfing at sunset |
input.generation_type | string | Ne | text-to-video | text-to-video používá pouze prompt; image-to-video používá 1–2 obrázky; reference-to-video používá obrázkové, video a/nebo audio reference. Podporované hodnoty text-to-video | image-to-video | reference-to-video |
input.image_urls | string[] | Podmíněně | [] | image-to-video: 1 obrázek pro první snímek, nebo 2 seřazené obrázky pro první a poslední snímek. reference-to-video: až 9 obrázků. V režimu text-to-video se ignoruje. Příklad: ["https://example.com/first-frame.jpg"] |
input.video_urls | string[] | Podmíněně | [] | Předává se pouze v režimu reference-to-video; celkem až 3 videí o celkové délce 15 sekund. V ostatních režimech se ignoruje. Příklad: ["https://example.com/source.mp4"] |
input.audio_urls | string[] | Podmíněně | [] | Předává se pouze v režimu reference-to-video; celkem až 3 zvukových souborů o celkové délce 15 sekund. V ostatních režimech se ignoruje. Zvuk nelze u tohoto modelu použít jako jediný referenční materiál. Pokud zadáváte audio_urls, musíte zároveň poskytnout alespoň jeden referenční obrázek v image_urls nebo jedno referenční video ve video_urls. Příklad: ["https://example.com/music.mp3"] |
input.duration | integer | Ne | 5 | Celočíselná délka výstupu od 4 do 15 sekund. Podporované hodnoty 4–15Příklad: 5 |
input.aspect_ratio | string | Ne | adaptive | Poměr stran výstupu. Hodnota adaptive umožní modelu určit poměr stran automaticky. Podporované hodnoty 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptivePříklad: adaptive |
input.resolution | string | Ne | 720p | Použijte jedno z podporovaných výstupních rozlišení uvedených zde. Podporované hodnoty 480p | 720pPříklad: 720p |
input.generate_audio | boolean | Ne | true | Vyžádat vygenerování synchronizovaného zvuku. Podporované hodnoty true | falsePříklad: true |
input.watermark | boolean | Ne | false | Vyžádat vložení AI vodoznaku do vygenerovaného videa. Podporované hodnoty true | falsePříklad: false |
input.web_search | boolean | Ne | false | Povolit vyhledávání na webu, pokud je modelem podporováno. Podporované hodnoty true | falsePříklad: false |
input.return_last_frame | boolean | Ne | false | Vyžádat poslední snímek. Výsledek dotazu obsahuje data.last_frame_url, jakmile je snímek k dispozici, jinak je hodnota null. Podporované hodnoty true | falsePříklad: true |
input.seed | integer | Ne | -1 | Celé číslo od -1 do 4294967295. Hodnota -1 zvolí náhodný seed. Podporované hodnoty -1 až 4294967295Příklad: 42 |
Booleovská pole musí mít hodnotu JSON true nebo false, nikoli řetězec nebo číslo.
Odpověď na vytvoření
HTTP 200 vrací taskId (řetězec) a credits (číslo). Potvrzuje se tím vytvoření úlohy, nikoli její dokončení. Částka níže odpovídá 5sekundovému rychlému startu v rozlišení 720p.
{
"taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"credits": 50
}Režimy generování a příklady
Text na video
Generování na základě textového zadání. Adresy URL médií se v tomto režimu nepředávají.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'První snímek
Zadejte jeden obrázek jako první snímek a v promptu popište požadovaný pohyb.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "image-to-video",
"image_urls": [
"https://example.com/first-frame.jpg"
],
"aspect_ratio": "adaptive"
}
}'První a poslední snímek
Zadejte dvě URL adresy obrázků v pořadí: první snímek, poté poslední snímek. Tento příklad také vyžaduje vrácení posledního snímku vygenerovaného videa.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "image-to-video",
"image_urls": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"aspect_ratio": "adaptive",
"return_last_frame": true
}
}'Multimodální reference
Kombinujte obrázkové, video a audio reference. Prompt je i nadále vyžadován. Vstup v podobě referenčního videa mění výpočet ceny.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"input": {
"prompt": "Follow the reference camera movement and keep the character consistent. Use the audio for ambience.",
"duration": 5,
"resolution": "720p",
"generation_type": "reference-to-video",
"image_urls": [
"https://example.com/character.jpg"
],
"video_urls": [
"https://example.com/camera.mp4"
],
"audio_urls": [
"https://example.com/ambience.mp3"
],
"aspect_ratio": "adaptive"
}
}'Dotaz na stav úlohy
GET https://api.seevio.ai/v1/tasks/{taskId}Nahraďte ukázkové ID za taskId vrácené při vytvoření. Dotazy vracejí pouze úlohy patřící uživateli daného API klíče; nepřístupná nebo neznámá ID vrací HTTP 404.
Jako výchozí bod se dotazujte každých 10–20 sekund, při chybě HTTP 429 frekvenci snižte a dotazování ukončete, jakmile je stav completed nebo failed. V produkčním prostředí dejte přednost webhookům. Každá ukázka kódu níže provede jeden dotaz.
curl --fail-with-body https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
-H "Authorization: Bearer $SEEVIO_API_KEY"| Stav | Popis a omezení |
|---|---|
queued | Přijato a čeká na zpracování. |
generating | Generování probíhá. |
completed | Úspěšně dokončeno. Stáhněte si data.results před vypršením platnosti. |
failed | Trvalé selhání. Zkontrolujte failed_reason a billing_status. |
| Pole | Typ | Popis a omezení |
|---|---|---|
id | string | Identifikátor úlohy. Jedná se o taskId z odpovědi na vytvoření. |
created_at | number | Čas vytvoření úlohy jako unixový čas v sekundách. |
model | string | Veřejné ID modelu použité pro tuto úlohu. |
billing_status | string | reserved (rezervováno), charged (zaúčtováno), refunded (vráceno) nebo refund_failed (vrácení selhalo). |
credits | number | Kredity rezervované pro tuto úlohu. Tato hodnota zůstává zachována i po vrácení kreditů; pro zjištění konečného stavu platby zkontrolujte billing_status. |
failed_reason | string | null | Důvod selhání u neúspěšných úloh; v ostatních případech null. Odpovědi na dotazy u selhaných úloh neobsahují objekt data. |
data | object | Přítomno u úspěšně dotázaných úloh, které neselhaly. Obsahuje výstup a podrobnosti o zpracování. |
data.results | string[] | Pole URL adres vygenerovaných videí. Prázdné do dokončení nebo po vypršení platnosti videa. |
data.video_expires_at | string | null | Vypršení platnosti videa jako ISO 8601 časové razítko, nebo null, pokud ještě není k dispozici. Uložte si výsledek před tímto časem. |
data.last_frame_url | string | null | URL posledního snímku, pokud byl vyžádán a je k dispozici, jinak null. |
data.processing_time | number | null | Doba zpracování u poskytovatele v sekundách, pokud je k dispozici, jinak null. |
Dokončená úloha: odpověď na dotaz s výsledným videem
Pokud dotaz vrátí status=completed, generování videa bylo dokončeno. Adresy URL videa si přečtěte v data.results a stáhněte si je před vypršením času v data.video_expires_at. billing_status=charged znamená, že vyhrazené kredity byly naúčtovány.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-fast",
"status": "completed",
"billing_status": "charged",
"credits": 50,
"failed_reason": null,
"data": {
"results": [
"https://cdn.seevio.ai/api/videos/example.mp4"
],
"video_expires_at": "2026-09-07T00:00:00Z",
"last_frame_url": null,
"processing_time": 48
}
}Neúspěšná úloha: odpověď na dotaz s podrobnostmi o chybě a účtování
Pokud dotaz vrátí status=failed, generování skončilo neúspěšně. Důvod chyby najdete v failed_reason a výsledek vrácení peněz v billing_status. V tomto příkladu hodnota refunded znamená, že kredity byly vráceny. V credits zůstává původní vyhrazená částka a odpověď neobsahuje žádná data.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-fast",
"status": "failed",
"billing_status": "refunded",
"credits": 50,
"failed_reason": "provider_failed"
}Webhooky
Nastavením callback_url v požadavku na vytvoření obdržíte JSON POST požadavek při dokončení nebo selhání úlohy. Odpovězte stavovým kódem 2xx do 15 sekund. Neúspěšná doručení se opakují; opakovaná doručení zpracovávejte idempotentně podle ID úlohy.
Koncový bod pro zpětné volání (callback) musí přijímat požadavky typu POST s tělem ve formátu JSON (Content-Type: application/json).
Vytvoření úlohy s callbackem
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-fast",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
},
"callback_url": "https://example.com/webhooks/seevio"
}'Data ve webhooku se liší od odpovědí na dotaz na stav úlohy: neobsahují billing_status a credits; podrobnosti o selhání jsou uvnitř data.failed_reason a data.credits_refunded. Hodnota created_at ve webhooku představuje čas vytvoření události v unixových sekundách.
Úloha byla dokončena: callback s úspěšným výsledkem
Pokud generování proběhne úspěšně, callback vrátí status=completed. K identifikaci úlohy použijte id a k získání adres URL vygenerovaného videa data.results. Výsledky si stáhněte a uložte před vypršením času v data.video_expires_at.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-fast",
"status": "completed",
"data": {
"results": [
"https://cdn.seevio.ai/api/videos/example.mp4"
],
"video_expires_at": "2026-09-07T00:00:00Z",
"last_frame_url": null,
"processing_time": 48
}
}Úloha selhala: callback s chybovým hlášením
Pokud generování selže, callback vrátí status=failed. K identifikaci úlohy použijte id, pro zjištění důvodu selhání data.failed_reason a pro počet vrácených kreditů data.credits_refunded.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-fast",
"status": "failed",
"data": {
"failed_reason": "provider_failed",
"credits_refunded": 50
}
}Příklad přijímače
export async function POST(request: Request) {
const callbackData = await request.json();
if (callbackData.status === "completed") {
const videoUrls = callbackData.data.results;
// Save the video URLs and mark this task as completed in your application.
console.log(callbackData.id, videoUrls);
}
if (callbackData.status === "failed") {
const { failed_reason, credits_refunded } = callbackData.data;
// Record the failure reason and refunded credits for this task.
console.error(callbackData.id, failed_reason, credits_refunded);
}
return new Response(null, { status: 200 });
}Tento příklad v Next.js načítá tělo callbacku ve formátu JSON a rovnou zpracovává dokončené i neúspěšné úlohy. Do své aplikace přidejte perzistentní ukládání a deduplikaci podle ID úloh. Náročnější operace zařazujte do fronty ještě před potvrzením přijetí callbacku.
Požadavky na média a omezení
- Všechny adresy URL médií a callbacků musí být veřejné adresy HTTPS. Vyhněte se localhostu, privátním IP adresám a souborům vyžadujícím cookies nebo přihlášení. URL referenčního videa/audia musí odkazovat přímo na čitelný mediální soubor.
- V režimu reference-to-video poskytněte alespoň jednu referenci, s maximálně 9 obrázky, 3 videi, 3 zvukovými soubory a maximálně 12 materiály celkem. Celková délka videa i celková délka audia může být každá maximálně 15 sekund.
- text-to-video ignoruje všechny reference na média. image-to-video předává pouze obrázky pro první/poslední snímek a ignoruje reference na video a audio. Chcete-li média kombinovat, použijte reference-to-video.
- U modelů Seedance 2.0 použijte z důvodu kompatibility zvuk alespoň s jedním obrázkem nebo videem. Příklady čistě pro audio reference naleznete na stránce pro Seedance 2.5.
- Verze Fast a Mini podporují rozlišení 480p a 720p. Nespoléhejte na to, že validace požadavku povolí řetězce s vyšším rozlišením: pro tento model se nejedná o podporované úrovně výstupu.
Požadavky na obrázky
- Velikost každého obrázku musí být menší než 30 MB.
- Podporované formáty: jpeg, png, webp, bmp, tiff, gif.
- Poměr stran (šířka ÷ výška): od 0,4 do 2,5 včetně.
- Šířka i výška musí být v rozmezí od 300 do 6 000 pixelů včetně.
Požadavky na videa
- Podporované formáty: mp4, mov.
- Velikost každého videa nesmí překročit 100 MB.
- Snímková frekvence: 24 až 60 FPS včetně.
- Poměr stran (šířka ÷ výška): od 0,4 do 2,5 včetně.
- Celkový počet pixelů (šířka × výška): od 407 696 do 8 295 044 včetně. Například 614 × 664 = 407 696 a 3 326 × 2 494 = 8 295 044. Jedná se o příklady celkového počtu pixelů, nikoli o pevně stanovené požadavky na šířku a výšku.
Požadavky na audio
- Podporované formáty: wav, mp3.
- Velikost každého audiosouboru nesmí překročit 15 MB.
Chyby
Chyby HTTP obsahují objekt error s poli code a message. Úspěšně přijatá úloha může přesto později selhat; dotazujte se na stav úlohy nebo ošetřete callback o jejím selhání.
{
"error": {
"code": "invalid_request",
"message": "input.prompt is required."
}
}| HTTP | Pole | Co dělat |
|---|---|---|
| 400 | invalid_request | Před dalším pokusem opravte JSON, chybějící prompt, rozsah parametrů nebo URL adresu média. |
| 401 | invalid_api_key | Zkontrolujte token Bearer a zda je API klíč aktivní. |
| 402 | insufficient_credits | Dobijte si kredity nebo snižte náročnost úlohy. Odpověď může obsahovat požadované a dostupné množství kreditů. |
| 403 | forbidden | Zkontrolujte omezení na úrovni účtu popsané v chybové zprávě. |
| 404 | not_found | Zkontrolujte ID úlohy a zda klíč patří uživateli, který úlohu vytvořil. |
| 429 | rate_limited | Před dalším pokusem vyčkejte po dobu uvedenou v intervalu Retry-After. |
| 500 | internal_error | Zkontrolujte chybovou zprávu a protokoly API. Opakujte pokus opatrně; opětovné odeslání požadavku na vytvoření může vytvořit další zpoplatněnou úlohu. |
Limity četnosti požadavků
Vytváření úkolů: každý API klíč standardně umožňuje až 100 požadavků za minutu. Vlastní limity četnosti v současné době nejsou k dispozici.
Dotazování na úkoly: každý API klíč standardně umožňuje až 120 požadavků za minutu. Požadavky na dotazy a požadavky na vytváření úkolů se počítají samostatně.