Introdução
Kling 2.1 Imagem para vídeo é o único modo que esta geração oferece: envie uma imagem inicial e um prompt descrevendo o que acontece depois, escolha uma resolution de 720p (padrão) ou 1080p (pro), e receba de volta um clipe silencioso de 5 ou 10 segundos. Uma imagem final (last_image_url) só é aceita em 1080p.
Escolha uma resolução pelo orçamento
| O que você quer | Resolução |
|---|---|
| o nível mais barato desta linha | 720p (padrão) |
| um clipe mais nítido, com uma imagem final opcional | 1080p (pro) |
Recursos e destaques
Uma imagem final, mas só em 1080p
Defina resolution como 1080p e adicione uma imagem final junto com sua imagem inicial, e o clipe é construído para pousar exatamente nessa pose no último quadro. Em 720p, uma imagem final não é aceita: uma solicitação que a inclua é recusada antes de rodar, sem cobrança — por isso não a envie nesse nível e deixe o clipe correr da imagem inicial até onde o modelo decidir parar.
Sem trilha de áudio em nenhum dos dois níveis
Este modelo não gera som algum, nem em 720p nem em 1080p. É um fato simples para planejar, não um defeito — combina com material destinado a uma edição que vai adicionar sua própria narração, música ou design de som depois.
As imagens inicial e final podem se conectar de forma limpa
Em um dos nossos testes, uma caminhada por um cais que começava na neblina e terminava em uma pose próxima voltada para a câmera pousou quase exatamente na imagem final fornecida, com o vento e a correção de cor consistentes ao longo dos cinco segundos inteiros.
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
prompt | Sim | Descreva só o que acontece depois da imagem inicial: a ação e o movimento de câmera. pelo menos 1 caracteres · no máximo 5000 caracteres |
image_url | Sim | Imagem inicial. Apenas JPEG ou PNG. |
last_image_url | Não | Imagem final opcional, aceita só em 1080p. Uma solicitação em 720p que a inclua é recusada, sem cobrança. |
resolution | Não | 720p (padrão, o nível mais barato) ou 1080p (pro, e o único nível que aceita uma imagem final). |
duration_seconds | Não | Segundos inteiros, 5 ou 10. Influencia o preço. |
negative_prompt | Não | Uma lista curta do que o clipe deve evitar. no máximo 500 caracteres |
guidance_scale | Não | De 0 a 1. Mais alto se apega mais às suas palavras; mais baixo dá ao modelo mais liberdade. |
Preços
Cobrado por segundo do clipe de saída; o nível pro em 1080p custa mais por segundo do que o nível padrão em 720p. Um envio que a Kling recusa não é cobrado.
| Especificação | Preço |
|---|---|
| $0.035 / segundo |
| $0.068 / segundo |
Casos de uso
O teste mais barato de uma imagem inicial
Rode primeiro o nível padrão 720p para ver se uma ação, um movimento de câmera ou um enquadramento funciona do jeito que você quer, antes de gastar mais em um nível mais alto ou em uma geração mais nova.
Uma sequência de duas imagens com um desfecho travado
Use o nível pro 1080p com image_url e last_image_url quando a pose final exata importar — a última tomada antes de um corte, por exemplo.
Guia de prompt e dicas práticas
Descreva uma ação contínua, do início ao fim
O exemplo da espada no telhado acima nomeia um único arco, do movimento até a postura de guarda final; essa estrutura de um único momento é mais confiável nesta geração do que várias ações distintas amontoadas em um prompt.
Não espere que detalhes longos e arrastados mantenham a forma
Cabelo longo, tecido arrastando ou acessórios flutuantes são o tipo de detalhe que esta geração tende a perder ao longo de 10 segundos — uma longa cauda de veludo encurtou visivelmente na metade de um dos nossos testes de escadaria. Mantenha esses detalhes curtos, ou planeje um retoque depois.
Combine sua escolha de resolução com o que a cena precisa
Faça primeiro um teste em 720p enquanto ainda está ajustando a ação ou o movimento de câmera, e guarde o nível pro de 1080p — com sua imagem final opcional — para o take que você pretende manter.
Início rápido da API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "kling/2.1/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Consulte a referência da API para autenticação, esquema completo, polling e tratamento de erros.











