Como usar a API do Kling 3.0: chave, requisição, consulta, quadros e multicena
Use a API do Kling 3.0 passo a passo: crie uma chave, envie uma tarefa, consulte até ter a URL, parta de primeiro e último quadro e crie clipes multicena.
Ler em MarkdownPara usar a API do Kling 3.0, crie uma chave de API, envie via POST um corpo JSON com o ID de modelo kling-3-0 e seu prompt, e consulte a tarefa retornada até a URL do vídeo ficar pronta. Um único endpoint cobre texto para vídeo, vídeo com primeiro e último quadro, clipes multicena e referências de elementos; os campos do corpo decidem qual.
Este guia percorre cada passo com código que funciona e depois mostra quadros, clipes multicena, elementos e as requisições recusadas antes de qualquer cobrança.
O que você precisa antes da primeira requisição?
- Uma chave de API. Crie uma na página de chaves de API e mantenha-a no seu servidor. Nunca a coloque em código do navegador.
- Créditos. Adicione saldo na página de cobrança. Os créditos nunca expiram, e tarefas que falham não são cobradas.
- O ID de modelo
kling-3-0.
export SEEDROUTER_API_KEY="your-key"Como enviar uma requisição ao Kling 3.0?
Envie a tarefa via POST 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-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, soft mist on the water, slow push-in, no text, no logos.",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9"
}'A resposta é uma tarefa, não um vídeo:
{"id": "task_...", "model": "kling-3-0", "status": "processing", "created_at": 1789689600}Todos os campos, exceto model e prompt, têm um valor padrão:
| Campo | Padrão | Valores |
|---|---|---|
mode | pro | std (720p), pro (1080p), 4K |
duration | 5 | De 3 a 15 segundos |
aspect_ratio | 16:9 | 16:9, 9:16, 1:1 |
sound | false | true gera áudio nativo |
O esquema é estrito: um campo desconhecido é recusado com HTTP 400 antes de a tarefa ser criada, então um erro de digitação nunca vira um clipe pago com o ajuste ignorado em silêncio.
Como obter o vídeo?
Consulte GET /v1/tasks/{id} a cada 10–20 segundos até status ser completed ou failed. Nos nossos testes, um clipe std de 3 segundos ficou pronto em cerca de dois minutos e um clipe pro de 5 segundos com áudio, em cerca de dois minutos e meio.
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-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, slow push-in, no text, no logos.",
"mode": "std",
"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 concluída fica assim:
{
"id": "task_...",
"model": "kling-3-0",
"status": "completed",
"output": {"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"}
}std voltou em 1280 × 720 e pro em 1920 × 1080, ambos em MP4 (H.264); com sound ativado, o arquivo traz uma faixa de áudio estéreo. Baixe o arquivo para o 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 consulte de novo em vez de enviar uma nova tarefa.
Como partir de um primeiro e um último quadro?
Passe uma ou duas URLs de imagem em image_urls. A primeira imagem abre o clipe; uma segunda é onde ele termina. Sem imagens, o clipe é feito só a partir do prompt.
{
"model": "kling-3-0",
"prompt": "The camera glides from the empty street to the lit shop window",
"image_urls": ["https://example.com/start.png", "https://example.com/end.png"],
"mode": "pro",
"duration": 6
}As imagens precisam ser URLs HTTP(S) públicas, em JPG ou PNG. Dados em base64 são recusados; envie antes o arquivo para o seu próprio armazenamento.
Como fazer um clipe multicena?
Defina multi_shots como true e descreva cada cena em multi_prompt, até cinco cenas de 1 a 12 segundos cada. As durações das cenas precisam somar de 3 a 15 segundos, e essa soma é a duração do clipe que é cobrada; duration não é usado.
{
"model": "kling-3-0",
"mode": "pro",
"sound": true,
"multi_shots": true,
"multi_prompt": [
{"prompt": "Wide shot of a small open kitchen, a chef tosses vegetables in a wok, flames rising, warm light.", "duration": 3},
{"prompt": "Close-up of the wok, vegetables flipping through the flames, oil sizzling, steam drifting.", "duration": 3}
]
}Este é o clipe que essa requisição gerou no nosso teste, um único vídeo de 6 segundos que corta de um plano aberto para um close:
Kling 3.0, pro (1080p), multicena de 3 + 3 segundos, com áudio.
Como manter uma pessoa ou um produto consistente?
Adicione-o a kling_elements: um name, uma description curta e 2 a 4 URLs de imagens do assunto, até três elementos por requisição. Mencione o elemento pelo nome no prompt.
{
"model": "kling-3-0",
"prompt": "@hero slowly turns toward the camera in soft window light",
"kling_elements": [
{
"name": "hero",
"description": "a young woman with short black hair and a yellow raincoat",
"element_input_urls": ["https://example.com/hero-front.png", "https://example.com/hero-side.png"]
}
]
}Quais requisições são recusadas antes de qualquer cobrança?
Estas voltam como HTTP 400 no envio, sem criar tarefa e sem cobrar nada:
| Requisição | Motivo |
|---|---|
| Um clipe multicena cujas cenas somam menos de 3 ou mais de 15 segundos | O Kling 3.0 faz clipes de 3 a 15 segundos |
Um elemento sem description | Todo elemento precisa de uma |
Mais de 2 image_urls, mais de 5 cenas ou mais de 3 elementos | Fora dos limites do modelo |
mode: "4k" em minúscula | O valor é 4K |
| Imagens em base64, ou qualquer campo que não esteja na tabela acima | A mídia vai como URL; o esquema é estrito |
Uma tarefa que é aceita e depois falha, por exemplo pela política de conteúdo do modelo, retorna status: "failed" com um código de error e não é cobrada. O catálogo de erros lista os códigos.
Qual a diferença para a API do próprio Kling?
A API para desenvolvedores do Kling usa nomes de campo próprios, e a versão legada e a atual diferem entre si.[1][2] Se você vai migrar uma integração, faça a correspondência dos campos:
| SeedRouter | API legada do Kling |
|---|---|
model: "kling-3-0" | model_name: "kling-v3" |
sound: true / false | sound: "on" / "off" |
duration: 5 (inteiro) | duration: "5" (string) |
mode: "4K" | mode: "4k" |
image_urls: [first, last] | image e image_tail |
multi_shots + multi_prompt: [{prompt, duration}] | multi_shot + shot_type: "customize" + multi_prompt: [{index, prompt, duration}] |
kling_elements: [{name, description, element_input_urls}] | element_list: [{element_id}], criados com antecedência |
O SeedRouter entrega os resultados como uma tarefa que você consulta; callback_url não é oferecido.
Um agente de programação pode fazer isso por você?
Sim. A página do Kling 3.0 tem um prompt pronto para Claude Code, Codex ou Cursor que lê a chave do seu ambiente, mostra a requisição e o custo, espera a sua aprovação e depois envia, consulta e baixa o clipe. A mesma página tem um Playground que envia exatamente o corpo que o seu código enviaria.
Perguntas sobre a API do Kling 3.0
Existe uma API oficial do Kling 3.0?
Sim. O Kling publica uma API para desenvolvedores com chaves próprias, cobrança por unidades e um formato de requisição próprio.[1][3] O SeedRouter é outra forma de chamar o Kling 3.0, com uma única chave e um saldo compartilhado com outros modelos.
Quanto custa a API do Kling 3.0?
É cobrada por segundo de vídeo, conforme o modo e o áudio ativado ou não. O guia de preços da API do Kling 3.0 calcula o custo dos clipes, e a página do modelo mostra as tarifas atuais.
Posso cancelar uma tarefa?
Não. Depois de aceita, uma tarefa vai até a conclusão ou a falha. Tarefas que falham não são cobradas.
Referências
- Kling AI. Kling 3.0: Text to Video (referência da API, versão legada). Consultado em 6 de outubro de 2026 em kling.ai.
- Kling AI. Kling 3.0: Image to Video (referência da API, versão legada). Consultado em 6 de outubro de 2026 em kling.ai.
- Kling AI. Pricing: Video (API para desenvolvedores). Consultado em 6 de outubro de 2026 em kling.ai.



