Přejít na dokumentaci
Na této stránce

Kling 4.0

Generujte videa pomocí modelu Kling 4.0 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: kling-4-0

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

FunkcePodporované hodnoty
Výstupní rozlišení720p · 1080p
Délka výstupu3–30 s
Poměr stranauto, 16:9, 9:16, 1:1, 21:9
Referenční obrázkyAž 10 obrázků
Referenční videaAž 5 videí
Referenční audio souboryAž 3 audio souborů
Všechny reference dohromadyCelkem až 15 referenčních souborů
Referenční videa (Σ)30 sekund
seedNepodporováno

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 vstupuS video vstupem
720p13 kreditů/sekunda8 kreditů/sekunda
1080p20 kreditů/sekunda13 kreditů/sekunda
  • Bez video vstupu: sekundy výstupu × sazba bez videa.
  • Při vstupu videa je T celková délka referenčních videí v sekundách naměřená serverem. Nahoru se zaokrouhlí až výsledný počet kreditů. ceil((duration + max(duration, T)) × rate)
  • 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 × 13 = 65 kreditů.

5sekundový výstup s 5sekundovým referenčním videem v 720p: (5 + 5) × 8 = 80 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.ai
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json

Př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": "kling-4-0",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video"
  }
}'

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": 65
}

Vytvoření úlohy

POST https://api.seevio.ai/v1/videos/generations

Odešlete objekt JSON obsahující model a input, případně nepovinný parametr callback_url. Vždy uveďte ID modelu zobrazené na této stránce; při vynechání parametru model se automaticky zvolí seedance-2-0.

Tělo požadavku

PoleTypPovinnéPopis a omezení
model
stringAno

ID modelu. Chcete-li použít Kling 4.0, nastavte toto pole na kling-4-0.

callback_url
stringNe

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
objectAno

Vstupní parametry

Vstupní parametry

PoleTypVýchozíPopis a omezení
input.generation_typestringtext-to-videotext-to-video | image-to-video | reference-to-video
input.promptstring—Nejvýše 8000 znaků. Nepovinné pouze při tvorbě z obrázku. Odkazy číslujte podle typu a pořadí v poli od @Image1, @Video1 a @Audio1.
input.durationinteger53–30 s
input.resolutionstring720p720p | 1080p
input.aspect_ratiostringPodle režimu
Podporované hodnotyauto16:99:161:121:9

Pevný poměr stran určuje formát výstupu. Pokud pole vynecháte nebo nastavíte auto, textový režim použije 16:9 a obrazový režim poměr prvního snímku. V referenčním režimu se poměr určuje podle referenčních obrázků nebo videí.

input.image_urlsstring[][]Při tvorbě z obrázku zadejte první snímek a volitelně za ním poslední. Referenční režim podporuje až 10 obrázků.
input.keyframe_urlsstring[][]Mezilehlé snímky v pořadí přehrávání při tvorbě z obrázku. Nejvýše 9 bez posledního snímku nebo 8 s ním.
input.video_urlsstring[][]Pouze v referenčním režimu. Zadejte HTTPS adresy videí, která budou vzorem pro pohyb postav nebo kamery. Nejvýše 5 klipů po 2 až 30 sekundách, dohromady nejvýše 30 sekund.
input.audio_urlsstring[][]Pouze v referenčním režimu. Zadejte HTTPS adresy zvukových ukázek, které poslouží jako předloha pro hlas nebo zvuk. Nejvýše 3 klipy po 5 až 30 sekundách.
input.keep_original_soundbooleanfalsePokud video_urls obsahuje referenční video, true zachová původní zvuk a false (výchozí) vytvoří nový. Bez referenčního videa se nastavení ignoruje.

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": 65
}

Režimy generování a příklady

Nahraďte ukázkové adresy URL z example.com vlastními veřejně přístupnými soubory na HTTPS. Ukázkové adresy URL slouží pouze pro ilustraci struktury požadavku a nelze je stáhnout.

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": "kling-4-0",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video"
  }
}'

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": "kling-4-0",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "image-to-video",
    "image_urls": [
      "https://example.com/first.jpg"
    ]
  }
}'

První a poslední snímek

Při tvorbě z obrázku zadejte první snímek a volitelně za ním poslední. Referenční režim podporuje až 10 obrázků.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "kling-4-0",
  "input": {
    "prompt": "",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "image-to-video",
    "image_urls": [
      "https://example.com/first.jpg",
      "https://example.com/last.jpg"
    ]
  }
}'

Příklad s klíčovými snímky: rozkvět růže

Ze čtyř fotografií ze stejného úhlu vytvořte osmivteřinový časosběr. Do image_urls vložte zavřené poupě a rozkvetlou růži jako první a poslední snímek. Do keyframe_urls zadejte nejprve rozevírající se okvětní lístky a potom zpola otevřený květ. Video přejde od poupěte přes obě mezifáze až k plnému rozkvětu. Pole určuje pořadí a model volí načasování.

Nahraďte ukázkové adresy URL z example.com vlastními veřejně přístupnými soubory na HTTPS. Ukázkové adresy URL slouží pouze pro ilustraci struktury požadavku a nelze je stáhnout.

curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEVIO_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "kling-4-0",
  "input": {
    "prompt": "A time-lapse of a rose opening. Keep the camera still and the light soft as the petals unfold.",
    "duration": 8,
    "resolution": "720p",
    "generation_type": "image-to-video",
    "image_urls": [
      "https://example.com/rose-bud.jpg",
      "https://example.com/rose-full-bloom.jpg"
    ],
    "keyframe_urls": [
      "https://example.com/rose-opening.jpg",
      "https://example.com/rose-half-open.jpg"
    ]
  }
}'

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": "kling-4-0",
  "input": {
    "prompt": "Animate @Image1 with the movement of @Video1 and ambience from @Audio1.",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "reference-to-video",
    "image_urls": [
      "https://example.com/character.jpg"
    ],
    "video_urls": [
      "https://example.com/motion.mp4"
    ],
    "audio_urls": [
      "https://example.com/surf.mp3"
    ],
    "keep_original_sound": false
  }
}'

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"
StavPopis a omezení
queuedPřijato a čeká na zpracování.
generatingGenerování probíhá.
completedÚspěšně dokončeno. Stáhněte si data.results před vypršením platnosti.
failedTrvalé selhání. Zkontrolujte failed_reason a billing_status.
PoleTypPopis a omezení
idstring
Identifikátor úlohy. Jedná se o taskId z odpovědi na vytvoření.
created_atnumber
Čas vytvoření úlohy jako unixový čas v sekundách.
modelstring
Veřejné ID modelu použité pro tuto úlohu.
billing_statusstring
reserved (rezervováno), charged (zaúčtováno), refunded (vráceno) nebo refund_failed (vrácení selhalo).
creditsnumber
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_reasonstring | 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.
dataobject
Přítomno u úspěšně dotázaných úloh, které neselhaly. Obsahuje výstup a podrobnosti o zpracování.
data.resultsstring[]
Pole URL adres vygenerovaných videí. Prázdné do dokončení nebo po vypršení platnosti videa.
data.video_expires_atstring | 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_urlstring | null
URL posledního snímku, pokud byl vyžádán a je k dispozici, jinak null.
data.processing_timenumber | null
Doba zpracování úkolu 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": "kling-4-0",
  "is_draft": false,
  "draft_task_id": null,
  "status": "completed",
  "billing_status": "charged",
  "credits": 65,
  "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": "kling-4-0",
  "is_draft": false,
  "draft_task_id": null,
  "status": "failed",
  "billing_status": "refunded",
  "credits": 65,
  "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": "kling-4-0",
  "input": {
    "prompt": "A cat surfing at sunset, cinematic lighting",
    "duration": 5,
    "resolution": "720p",
    "generation_type": "text-to-video"
  },
  "callback_url": "https://example.com/webhooks/seevio"
}'

Ú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.

created_at je čas vytvoření události, task_created_at čas vytvoření úlohy, v sekundách Unix. Příklady ukazují doporučená pole; odpovědi mohou obsahovat další pole.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652848,
  "model": "kling-4-0",
  "status": "completed",
  "task_created_at": 1788652800,
  "billing_status": "charged",
  "credits": 65,
  "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
  }
}

Ú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í failed_reason a pro počet vrácených kreditů credits_refunded.

{
  "id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
  "created_at": 1788652848,
  "model": "kling-4-0",
  "status": "failed",
  "task_created_at": 1788652800,
  "billing_status": "refunded",
  "credits": 65,
  "failed_reason": "provider_failed",
  "credits_refunded": 65
}

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;
    // 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.
  • Velikost každého videa nesmí překročit 100 MB.
  • Velikost každého audiosouboru nesmí překročit 15 MB.
  • Celkem až 15 referenčních souborů