Video
Kling 4.0
Gere clipes Kling 4.0 de 3–30 segundos com som estéreo a partir de texto, quadros-chave ou referências de imagem, vídeo e áudio, ou edite e estenda um vídeo, em 720p ou 1080p.
Kling 4.0 é o modelo de vídeo da Kuaishou anunciado em setembro de 2026. Um ID de modelo cobre cinco modos: texto para vídeo, imagem para vídeo com até 10 quadros, geração baseada em referências a partir de imagens, vídeos e áudio, edição de vídeo e extensão de vídeo. Cada clipe tem 3–30 segundos em 720p ou 1080p com som estéreo. Envie a requisição, guarde o ID de tarefa retornado e leia o vídeo terminado da tarefa. A mídia entra como URLs.
IDs de modelo
| Model ID | Modos | Resoluções | Duração |
|---|---|---|---|
kling-4-0 | texto, imagem, referência, editar, estender | 720p, 1080p | 3–30 segundos |
Veja a página do modelo para os preços atuais.
Exemplo rápido
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"
}'Endpoint
POST https://api.seedrouter.ai/v1/videos/generations| Cabeçalho | Valor |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
A resposta é uma tarefa ({"id": "task_...", "status": "processing"}), não o vídeo terminado. Consulte GET /v1/tasks/{task_id} para o resultado. Guarde chaves de API no código do servidor.
Parâmetros
| Campo | Tipo | Padrão | Notas |
|---|---|---|---|
model | string | obrigatório | kling-4-0 |
prompt | string | obrigatório | Opcional apenas para imagem para vídeo. Mencione referências como @Image1, @Video1, @Audio1, numeradas a partir de 1 em cada lista. |
duration | integer | 5 | 3–30 segundos. Editar: omitido, a saída segue o vídeo de entrada. Estender: a duração da nova parte. |
resolution | enum | 720p | 720p ou 1080p. |
aspect_ratio | enum | por modo | 16:9, 9:16, 1:1, 21:9; auto apenas para modo de referência. Padrões: texto 16:9, imagem o formato do primeiro quadro, referência auto, editar o formato do vídeo de entrada. Não aceito com estender. |
image_urls | URL list | nenhum | Imagem para vídeo: até 2, primeiro então último quadro. Referência (com omni_reference_task_type: "reference") e editar: até 10 imagens de referência. |
image_with_roles | object list | nenhum | {"url", "role"} com a função first_frame, last_frame, keyframe (ou middle_frame) ou reference_image. Exatamente 1 primeiro quadro, até 8 quadros-chave usados em ordem, 10 quadros no total. |
first_frame_image | URL | nenhum | O primeiro quadro para imagem para vídeo. |
last_frame_image | URL | nenhum | O último quadro para imagem para vídeo, ou o quadro último alvo para estender. |
video_urls | URL list | nenhum | Vídeos de referência: até 5, 30 segundos usados no total. Para editar ou estender, exatamente 1 no lugar de video_url. |
video_url | URL | nenhum | O vídeo de entrada para editar ou estender; requer omni_reference_task_type edit ou extend. |
audio_urls | URL list | nenhum | Áudio de referência: até 3 clipes de 5–30 segundos cada. |
omni_reference_task_type | enum | auto | auto, reference, edit ou extend. |
audio_setting | enum | por modo | origin mantém o áudio do vídeo de entrada, auto o regenera. Editar mantém por padrão; referência com vídeos o regenera por padrão. Não aceito com estender. |
Cada clipe vem com som estéreo; não há interruptor de som. Não há campo mode, negative_prompt, watermark ou múltiplas cenas. O schema é rigoroso: campos desconhecidos são rejeitados em vez de ignorados. callback_url não está disponível; consulte a tarefa em vez disso.
Modos
O modo segue a mídia que você envia e omni_reference_task_type:
| Modo | Como selecioná-lo |
|---|---|
| Texto para vídeo | Nenhuma mídia. |
| Imagem para vídeo | Um primeiro quadro, opcionalmente um último quadro e 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. Ao lado de vídeos ou áudio de referência, image_urls contam como imagens de referência apenas com omni_reference_task_type: "reference"; use funções reference_image caso contrário. Um video_url sem edit ou extend é rejeitado.
Quadros-chave
{
"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
}Referência
{
"model": "kling-4-0",
"prompt": "The woman from @Image1 walks along the beach with the camera movement of @Video1",
"image_with_roles": [{"url": "https://example.com/woman.png", "role": "reference_image"}],
"video_urls": ["https://example.com/camera.mp4"],
"aspect_ratio": "auto",
"duration": 5
}Editar
{
"model": "kling-4-0",
"prompt": "Change the scene to a snowy winter evening",
"omni_reference_task_type": "edit",
"video_url": "https://example.com/in.mp4"
}O vídeo de entrada deve ter pelo menos 3 segundos; apenas seus primeiros 30 segundos são usados. Sem duration, a saída segue o vídeo de entrada.
Estender
{
"model": "kling-4-0",
"prompt": "The camera keeps moving forward as the sky grows darker",
"omni_reference_task_type": "extend",
"video_url": "https://example.com/in.mp4",
"duration": 5
}A extensão continua a partir do último quadro do vídeo de entrada e retorna o original mais a nova parte. Adicione last_frame_image para escolher onde termina.
Entradas de mídia
Imagens, vídeos e áudio são URLs HTTP(S) públicas. URIs de dados base64 não são aceitas: carregue os arquivos em seu próprio armazenamento e passe suas URLs. Imagens, vídeos e áudio juntos têm no máximo 15 arquivos de referência.
Dimensões de preço
Verifique a seção de preço do modelo para as tarifas atuais. Kling 4.0 é cobrado por segundo de vídeo, em uma tarifa definida pela resolução:
text, image, reference without videos: cost = duration × standard rate
extend: cost = new seconds × standard rate
edit, reference with videos: cost = (output + max(output, input)) × video-input rateentrada é o comprimento somado dos vídeos de entrada, arredondado para segundos inteiros e limitado a 30. É medido quando a requisição é aceita, portanto o valor reservado é o valor cobrado. Um vídeo cujo comprimento não pode ser lido é rejeitado antes de qualquer cobrança. Exemplo: editar um vídeo de 5,2 segundos em um resultado de 3 segundos cobra 3 + 6 = 9 segundos. As tarefas com falha não são cobradas.
Esquema de saída
O envio retorna a tarefa:
{"id": "task_...", "model": "kling-4-0", "status": "processing", "created_at": 1789689600}Obter a tarefa
GET https://api.seedrouter.ai/v1/tasks/{task_id}Consulte a cada 10–20 segundos até status ser completed ou failed. Um tempo limite de rede durante a consulta não significa que a geração falhou: guarde o ID da tarefa e retome a verificação. Não crie outra tarefa para verificar o progresso.
Tarefa concluída
{
"id": "task_...",
"model": "kling-4-0",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689800,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
}
}Em nossos testes, clipes 720p de 3 segundos retornaram como MP4 (H.264) em 1280 × 720 com uma faixa AAC estéreo, 2 min 41 s a 4 min 22 s após o envio. Um vídeo estendido de 5,2 segundos retornou 8,1 segundos de comprimento.
Erros
As requisições rejeitadas antes de uma tarefa ser criada retornam um erro HTTP com um objeto error e não são cobradas. Uma tarefa que falha após a aceitação retorna HTTP 200 quando consultada, com status: "failed" e um objeto error.
Veja o catálogo de erros compartilhado para códigos, status HTTP e orientação de tentativa.
{
"id": "task_...",
"model": "kling-4-0",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}Se o envio em si expirar, verifique suas tarefas antes de enviar novamente: a primeira requisição pode ter sido aceita.
Dicas
- Descreva assunto, lugar, movimento de câmera, luz e som; o áudio do clipe segue o prompt.
- Rascunhe em
720p, depois renderize a tomada final em1080pcom a mesma requisição. - Dê aos clipes mais longos quadros-chave para que a cena se mova para onde você quer.
- Adicione
no text, no logospara manter marcas inventadas.
