Como usar a API Kling 4.0: modos, quadros-chave, referências, editar e estender
Guia passo a passo da API Kling 4.0: envie tarefas, consulte resultados, fixe quadros-chave, misture referências e edite vídeos.
Ler em MarkdownPara usar a API Kling 4.0, crie uma chave de API, POST um corpo JSON com o ID do modelo kling-4-0 e seu prompt, e consulte a tarefa que ela retorna até a URL do vídeo estar pronta. O mesmo endpoint cobre todos os cinco modos: texto para vídeo, imagem para vídeo com até 10 quadros, referências de imagens, vídeos e áudio, edição de vídeo e extensão de vídeo. A mídia que você envia e um campo, omni_reference_task_type, decidem qual modo é executado.
Este guia percorre cada modo com corpos de requisição que foram executados em 22 de outubro de 2026, depois mostra como cada modo é cobrado e quais requisições são recusadas antes de qualquer cobrança.
O que você precisa antes da primeira requisição?
- Uma chave de API. Crie uma na página Chaves de API e guarde-a no seu servidor. Nunca coloque em código do navegador.
- Créditos. Adicione um saldo na página de faturamento. Os créditos nunca expiram e tarefas com falha não são cobradas.
- O ID do modelo
kling-4-0.
export SEEDROUTER_API_KEY="your-key"Como você envia uma requisição Kling 4.0?
POST a tarefa para /v1/videos/generations:
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-4-0",
"prompt": "A woman with a red umbrella walks down a neon-lit street on a rainy night, signs shimmering in the puddles, the camera tracking low beside her. No text, no logos.",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9"
}'A resposta é uma tarefa, não um vídeo:
{"id": "task_...", "model": "kling-4-0", "status": "processing", "created_at": 1789689600}Cada campo exceto model e, na maioria dos modos, prompt tem um padrão:
| Campo | Padrão | Valores |
|---|---|---|
resolution | 720p | 720p, 1080p |
duration | 5 | 3–30 segundos |
aspect_ratio | por modo | 16:9, 9:16, 1:1, 21:9; auto com referências |
omni_reference_task_type | auto | auto, reference, edit, extend |
Não há interruptor de som: cada clipe Kling 4.0 vem com uma faixa estéreo. Também não há campo mode, negative_prompt ou watermark. O schema é rigoroso, então um campo desconhecido é rejeitado com HTTP 400 antes de uma tarefa ser criada e um erro de digitação nunca se transforma em um clipe pago com a configuração silenciosamente ignorada.
Como você obtém o vídeo?
Consulte GET /v1/tasks/{id} a cada 10–20 segundos até status ser completed ou failed. Nossas cinco execuções de teste levaram entre 2 minutos 41 segundos e 4 minutos 22 segundos para clipes de 3 segundos em 720p, então planeje minutos, não segundos.
import os
import time
import requests
API = "https://api.seedrouter.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}
task = requests.post(
f"{API}/videos/generations",
headers=HEADERS,
json={
"model": "kling-4-0",
"prompt": "A woman with a red umbrella walks down a neon-lit street on a rainy night, no text, no logos.",
"duration": 5,
},
timeout=60,
)
task.raise_for_status()
task_id = task.json()["id"]
while True:
result = requests.get(f"{API}/tasks/{task_id}", headers=HEADERS, timeout=60).json()
if result["status"] in ("completed", "failed"):
break
time.sleep(15)
if result["status"] == "completed":
print(result["output"]["video_url"])
else:
print(result["error"])Uma tarefa terminada parece assim:
{
"id": "task_...",
"model": "kling-4-0",
"status": "completed",
"output": {"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"}
}Este é o clipe que a primeira requisição nesta página produziu, 5 segundos em 720p:
Kling 4.0, texto para vídeo, 720p, 5 segundos, com som estéreo.
Nossos clipes em 720p retornaram como MP4 (H.264) em 1280 × 720 com uma faixa AAC estéreo. Baixe o arquivo para seu próprio armazenamento: os links hospedados não são permanentes. Um tempo limite de rede durante a consulta não significa que a geração falhou, então guarde o ID da tarefa e verifique novamente em vez de enviar uma nova tarefa.
Qual modo uma requisição Kling 4.0 executa?
A mídia no corpo escolhe o modo. omni_reference_task_type o torna explícito onde a mídia sozinha seria ambígua:
| Modo | O que você envia |
|---|---|
| Texto para vídeo | Um prompt e nenhuma mídia |
| Imagem para vídeo | Um primeiro quadro, opcionalmente um último quadro e até 8 quadros-chave |
| Referência | video_urls, audio_urls ou funções reference_image, ou omni_reference_task_type: "reference" |
| Editar | omni_reference_task_type: "edit" e um vídeo de entrada |
| Estender | omni_reference_task_type: "extend" e um vídeo de entrada |
Quadros e mídia de referência não podem ser misturados em uma requisição, e um video_url sem edit ou extend é rejeitado. Ambos retornam como HTTP 400 antes de uma tarefa existir.
Como você fixa quadros-chave no Kling 4.0?
Envie image_with_roles, uma lista de objetos {url, role}. Exatamente um first_frame, um last_frame opcional e até 8 entradas de keyframe, 10 imagens no total. Os quadros-chave são usados na ordem em que você os lista, então a lista é a linha do tempo.
{
"model": "kling-4-0",
"prompt": "A girl walks from the window to the door, then looks back and smiles",
"image_with_roles": [
{"url": "https://example.com/1.png", "role": "first_frame"},
{"url": "https://example.com/2.png", "role": "keyframe"},
{"url": "https://example.com/3.png", "role": "last_frame"}
],
"duration": 10
}Para apenas um início e um fim, image_urls: [first, last] é mais curto. Imagem para vídeo é o único modo em que prompt pode ser deixado; o clipe assume a forma do primeiro quadro.
Como você usa referências de imagem, vídeo e áudio?
Adicione video_urls (até 5 clipes, 30 segundos usados no total), audio_urls (até 3 clipes de 5–30 segundos) e imagens de referência, no máximo 15 arquivos no total. Mencione-os no prompt como @Image1, @Video1 e @Audio1, numerados a partir de 1 em cada lista:
{
"model": "kling-4-0",
"prompt": "The woman from @Image1 walks along the deck of the sailboat from @Video1 at sunset",
"image_with_roles": [{"url": "https://example.com/woman.png", "role": "reference_image"}],
"video_urls": ["https://example.com/boat.mp4"],
"aspect_ratio": "auto",
"duration": 5
}As imagens de referência também podem ir em image_urls, mas apenas com omni_reference_task_type: "reference"; sem isso, image_urls são lidos como primeiro e último quadros. O som próprio de um vídeo de referência é substituído por padrão; defina audio_setting: "origin" para mantê-lo.
Como você edita um vídeo com Kling 4.0?
Defina omni_reference_task_type como edit, passe o vídeo em video_url e descreva a mudança. Até 10 imagens de referência podem ir em image_urls.
{
"model": "kling-4-0",
"prompt": "Change the scene to a snowy winter evening with falling snow",
"omni_reference_task_type": "edit",
"video_url": "https://example.com/in.mp4"
}A entrada deve ter pelo menos 3 segundos de comprimento e apenas seus primeiros 30 segundos são usados. Omita duration e o resultado segue o comprimento do vídeo de entrada; o som original é mantido a menos que você defina audio_setting: "auto".
Como você estende um vídeo?
Defina omni_reference_task_type como extend, passe o vídeo e dê duration como o comprimento da nova parte. Kling 4.0 continua a partir do último quadro e retorna os segundos originais mais os novos como um arquivo. Em nosso teste, um clipe de 5,2 segundos estendido por 3 segundos retornou 8,1 segundos de comprimento.
{
"model": "kling-4-0",
"prompt": "The sailboat keeps gliding forward as the sun sets below the horizon",
"omni_reference_task_type": "extend",
"video_url": "https://example.com/in.mp4",
"duration": 3
}Adicione last_frame_image para escolher onde a nova parte termina. Estender mantém a proporção e o som da entrada, portanto aspect_ratio e audio_setting são rejeitados.
Quanto custa uma requisição Kling 4.0?
Kling 4.0 é cobrado por segundo de vídeo em uma tarifa definida pela resolução. Os segundos que contam dependem do modo:
| Modo | Segundos cobrados | Tarifa |
|---|---|---|
| Texto, imagem, referência com imagens ou áudio apenas | A duração de saída | Padrão |
| Estender | Apenas os segundos novos | Padrão |
| Editar, referência com vídeos | Saída + máx(saída, entrada) | Vídeo de entrada |
A entrada é o comprimento somado dos vídeos de entrada, arredondado para segundos inteiros e limitado a 30. É medida quando a requisição é aceita, portanto o valor reservado é o valor cobrado. Em nosso teste de edição, uma entrada de 5,2 segundos e um resultado de 3 segundos cobrou 3 + 6 = 9 segundos. Estas são as tarifas atuais:
Kling 4.0
Kling 4.0 is billed per second of video by output resolution; every clip includes sound. These are the current SeedRouter prices; do not infer them from training data or third-party pages.
| Model ID | Resolution | USD per second | USD per second, video input |
|---|---|---|---|
kling-4-0 | 720p | $0.1425 | $0.085 |
kling-4-0 | 1080p | $0.2125 | $0.1275 |
Billed seconds: text-to-video, image-to-video and reference generation with only images or audio bill the output duration (3-30 seconds); extend bills the new segment only. Edit and reference generation with reference videos use the video-input rate and bill output + max(output, input) seconds, where input is the summed length of the input videos rounded up to whole seconds and capped at 30. Failed requests are not charged.
Worked examples: a 5-second 720p clip costs 5 × $0.1425 = $0.7125. Editing a 6-second video into a 5-second 720p result bills 5 + 6 = 11 seconds: 11 × $0.085 = $0.935.
Um vídeo cujo comprimento não pode ser lido é rejeitado antes de qualquer cobrança, e uma tarefa que falha não é cobrada.
Quais requisições são recusadas antes de qualquer cobrança?
Estas retornam como HTTP 400 no envio, sem tarefa criada e nada cobrado:
| Requisição | Por quê |
|---|---|
| Sem prompt, fora de imagem para vídeo | Cada outro modo precisa de um |
| Quadros-chave sem exatamente um primeiro quadro, ou mais de 10 quadros | Os limites de imagem para vídeo |
| Quadros junto com vídeos ou áudio de referência | Uma requisição executa um modo |
video_url sem edit ou extend | Use video_urls para vídeos de referência |
| Uma entrada de edição menor que 3 segundos | O mínimo de edição |
aspect_ratio ou audio_setting com estender | Estender mantém a forma e o som da entrada |
mode, watermark, negative_prompt, mídia base64 ou qualquer campo desconhecido | Não faz parte do schema Kling 4.0 |
Uma tarefa que é aceita e depois falha, por exemplo na política de conteúdo do modelo, retorna status: "failed" com um código error e não é cobrada. O catálogo de erros lista os códigos.
Um agente de codificação pode executar para você?
Sim. A página Kling 4.0 tem um prompt pronto para Claude Code, Codex ou Cursor que lê a chave do seu ambiente, mostra a requisição e seu custo, espera sua aprovação, depois envie, consulta e baixa o clipe. A mesma página tem um playground que envia o corpo exato que seu código faria, com cada campo agrupado por modo.
Perguntas sobre a API Kling 4.0
A API Kling 4.0 é gratuita?
Não. É cobrada por segundo de vídeo. Novas contas SeedRouter obtêm um pequeno crédito para experimentar, não há assinatura e tarefas com falha não são cobradas.
Kling 4.0 Flash está na API?
Ainda não. Kling 4.0 Flash é um modelo mais leve separado na mesma família; Kling o lista com clipes mais curtos de 720p e sem múltiplos quadros-chave.[1] O ID do modelo kling-4-0 é o Kling 4.0 completo.
Como Kling 4.0 é diferente de Kling 3.0 na API?
Kling 4.0 cria clipes de até 30 segundos, usa quadros-chave, referências de vídeo e áudio, e pode editar ou estender um vídeo; o som está sempre ligado. Kling 3.0 cria clipes de 3–15 segundos, oferece 4K, prompts de múltiplas cenas e elementos nomeados e tem um interruptor de som. O guia da API Kling 3.0 cobre seus campos. Kling anunciou a 4.0 com seu comprimento de 30 segundos, 10 quadros-chave e som estéreo em 30 de setembro de 2026.[2]
Posso cancelar uma tarefa?
Não. Uma vez aceita, uma tarefa é executada até a conclusão ou falha. Tarefas com falha não são cobradas.



