Vídeo
Kling 2.1 video
Kling 2.1 — image-to-video. 5s/10s. Pro tier adds optional end-frame and costs ~1.85x of Standard.
Categoria: Criação · kling-2-1
Como usar & limites
- Imagem-para-vídeo: exige prompt + start_image_url.
- prompt: até 5.000 caracteres.
- Duração: 5 ou 10 segundos.
- quality standard ou pro; o frame final (end_image_url) só funciona em pro.
- negative_prompt opcional.
Capacidades
O que este modelo suporta, direto do schema — sem preços, sem detalhes de infraestrutura.
| Capacidade | Valor |
|---|---|
video_edit Edição de vídeo | — |
start_frame Frame inicial | Sim |
text_to_video Texto → vídeo | — |
image_to_video Imagem → vídeo | Sim |
end_frame_pro_only Frame final (tier pro) | Sim |
reference_to_video Referência → vídeo | — |
Parâmetros
Campos aceitos em params (ou de primeira classe, quando aplicável) para POST /generations.
| Nome | Rótulo | Tipo | Obrigatório | Padrão | Opções | Mín / Máx | Descrição |
|---|---|---|---|---|---|---|---|
prompt | Prompt | textarea | Obrigatório | — | — | — | Descrição da cena; até 5.000 caracteres. |
start_image_url | Start frame | url | Obrigatório | — | — | — | Frame inicial (obrigatório). |
end_image_url | End frame | url | Opcional | — | — | — | Frame final opcional; só em quality=pro. |
negative_prompt | Negative prompt | textarea | Opcional | — | — | — | Termos a evitar na geração. |
duration | Duration | select | Opcional | 5 | — | — | Duração: 5 ou 10 segundos (padrão 5). |
quality | Quality | select | Opcional | standard | standard · pro | — | Nível: standard ou pro. |
Exemplo de requisição
curl -X POST https://caranguejo.art/api/v1/dev/generations \
-H "Authorization: Bearer $CK" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-2-1",
"prompt": "A personagem vira o rosto para a câmera e sorri, cabelos ao vento.",
"params": {
"duration": 5,
"quality": "standard",
"image_urls": [
"https://media.caranguejo.art/inputs/example.png"
]
}
}'
const res = await fetch("https://caranguejo.art/api/v1/dev/generations", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.CK,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "kling-2-1",
"prompt": "A personagem vira o rosto para a câmera e sorri, cabelos ao vento.",
"params": {
"duration": 5,
"quality": "standard",
"image_urls": [
"https://media.caranguejo.art/inputs/example.png"
]
}
}),
});
const { data } = await res.json();
Exemplo de resposta
{
"id": "9f0c1a7e-…",
"object": "generation",
"model": "kling-2-1",
"type": "video",
"status": "completed",
"output": {
"assets": [
{
"url": "https://media.caranguejo.art/outputs/example.mp4",
"type": "video"
}
]
}
}
O custo real do job é retornado em credits_charged na resposta concluída — consulte GET /balance para o saldo da conta.
Erros comuns deste tipo de job:
insufficient_credits | Saldo insuficiente para cobrir o job. |
content_policy_violation | Prompt ou mídia recusados por política de conteúdo. |
generation_timeout | O job excedeu o tempo máximo de processamento. |
rate_limited | Limite de requisições por minuto excedido. |
invalid_input | Parâmetro obrigatório ausente ou fora do schema do modelo. |
generation_failed | Falha genérica no processamento do job. |