Processo de solicitação
Para usar a API Kling Videos Generation, primeiro acesse o console Ace Data Cloud para obter seu API Token e guarde-o para uso posterior.
Se você ainda não fez login ou se registrou, será automaticamente redirecionado para a página de login para convidá-lo a se registrar e fazer login, e retornará automaticamente à página atual após a conclusão.
Um único API Token pode chamar todos os serviços da plataforma, não sendo necessário solicitar separadamente para cada serviço. A primeira solicitação incluirá créditos gratuitos, permitindo uma experiência gratuita; quando os créditos forem insuficientes, você poderá recarregar o saldo geral no console.
📘 Documentação completa: Kling Videos Generation API →
Uso básico
Primeiro, vamos entender o método básico de uso: basta inserir o promptprompt, a ação de geração action, a imagem de referência do primeiro quadro start_image_url e o modelo model para obter o resultado processado. Primeiro, é necessário simplesmente passar um campo action, cujo valor é text2video. Ele inclui principalmente três ações: texto para vídeo (text2video), imagem para vídeo (image2video) e extensão de vídeo (extend). Em seguida, também precisamos inserir o modelo model. Atualmente, há principalmente os modelos kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-v2-6, kling-v3, kling-v3-omni, kling-o1; os detalhes são os seguintes:

accept: qual formato de resultado de resposta você deseja receber; aqui, preencha comapplication/json, ou seja, o formato JSON.authorization: a chave para chamar a API, que pode ser selecionada diretamente em uma lista suspensa após a solicitação.
model: o modelo para gerar vídeos, incluindo principalmente os modeloskling-v1,kling-v1-6,kling-v2-master,kling-v2-1-master,kling-v2-5-turbo,kling-v2-6,kling-v3,kling-v3-omni,kling-o1.mode: o modo de geração de vídeo; os valores opcionais são modo padrãostd, modo ultrarrápidoproe modo nativo 4K4k. Entre eles,4ké compatível apenas comkling-v3ekling-v3-omni, e não é compatível comcamera_control(controle de movimento de câmera).action: a ação desta tarefa de geração de vídeo, incluindo principalmente três ações: texto para vídeo (text2video), imagem para vídeo (image2video) e extensão de vídeo (extend).start_image_url: o link da imagem de referência do primeiro quadro que deve ser enviado quando a ação de imagem para vídeoimage2videoé selecionada.end_image_url: opcional para imagem para vídeo, especifica o quadro final.duration: duração do vídeo, em segundos.kling-v3ekling-v3-omnisuportam durações inteiras de 3 a 15 segundos;kling-o1suporta apenas 5 segundos; outros modelos suportam 5 ou 10 segundos.generate_audio: se deve gerar áudio simultaneamente, opcional, valor booleano. Compatível comkling-v3,kling-v3-omniekling-v2-6(somente modo pro). O padrão éfalse.aspect_ratio: proporção de aspecto do vídeo, opcional, compatível com16:9,9:16,1:1, o padrão é16:9.cfg_scale: intensidade de relevância, intervalo [0,1]; quanto maior, mais fiel ao prompt.camera_control: opcional, parâmetro de objeto para controlar o movimento da câmera, compatível com predefinições type/simple e configurações como horizontal, vertical, pan, tilt, roll, zoom, entre outras.negative_prompt: opcional, prompt negativo de elementos que não se deseja que apareçam, com no máximo 200 caracteres.image_list: lista de imagens de referência Omni, aplicável aos modeloskling-o1ekling-v3-omni; para o uso, consulte abaixo «Referência universal Omni».video_list: lista de vídeos de referência Omni (compatível com edição de vídeo), aplicável aos modeloskling-o1ekling-v3-omni; para o uso, consulte abaixo «Referência universal Omni».prompt: prompt.callback_url: URL que precisa receber o resultado de callback.async: opcional; quando definido comotrue, a interface retorna imediatamente otask_id, não sendo necessário fornecercallback_url; em seguida, obtenha o resultado por polling através da interface de consulta de tarefa correspondente.

success, a situação do status da tarefa de geração de vídeo neste momento.task_id, o ID da tarefa de geração de vídeo neste momento.video_id, o ID do vídeo da tarefa de geração de vídeo neste momento.video_url, o link do vídeo da tarefa de geração de vídeo neste momento.duration, a duração do link de vídeo da tarefa de geração de vídeo neste momento.state, o status da tarefa de geração de vídeo neste momento.
data no resultado.
Além disso, se desejar gerar o código de integração correspondente, você pode copiá-lo diretamente. Por exemplo, o código CURL é o seguinte:
Matriz de capacidades dos modelos
O suporte a parâmetros varia consideravelmente entre os diferentes modelos. A matriz abaixo foi compilada a partir da documentação oficial de video models do Kling. Antes de chamar, verifique primeiro se a combinação atual demodel / mode / duration oferece suporte à funcionalidade necessária; caso contrário, erros como model/mode/duration(...) is not supported with image_tail serão retornados.
Observações:
mode=4ké suportado apenas porkling-v3ekling-v3-omni; além disso, é mutuamente exclusivo comcamera_control(movimento de câmera).end_image_urlsó pode ser usado junto comstart_image_urlquandoaction=image2video. Enviar apenasend_image_url(semstart_image_url)será recusado.kling-v3/kling-v3-omniaceitam qualquerdurationinteiro de 3–15 segundos;kling-o1aceita apenas 5; os demais modelos aceitam apenas 5 ou 10.generate_audioéfalsepor padrão. Apenaskling-v3、kling-v3-omniekling-v2-6(modo pro)suportam.
Funcionalidade de extensão de vídeo
Se quiser continuar gerando um vídeo Kling já gerado, você pode definir o parâmetroaction como extend , e inserir o ID do vídeo que precisa continuar sendo gerado, a obtenção do ID do vídeo é feita com base no uso básico, conforme mostrado na imagem abaixo:

Observe que o video_id no vídeo aqui é o ID do vídeo após a geração; se você não sabe como gerar vídeos, pode consultar o uso básico acima para gerar vídeos.
Em seguida, devemos preencher obrigatoriamente o prompt que precisa ser estendido na próxima etapa para personalizar a geração do vídeo, então é possível especificar o seguinte conteúdo:
model:o modelo para gerar vídeos, principalmente os modeloskling-v1、kling-v1-5ekling-v1-6.mode:o modo para gerar vídeos, os valores opcionais são modo padrãostd、modo rápidoproe modo 4K nativo4k(suportado apenas porkling-v3ekling-v3-omni, incompatível com o controle de movimento de câmera).duration:a duração do vídeo desta tarefa de geração de vídeo, incluindo principalmente 5s e 10s.start_image_url:ao escolher o comportamento de geração de vídeo a partir de imagemimage2video, é obrigatório o link da imagem de referência do primeiro quadro que precisa ser enviada.prompt:prompt.


Referência Omni completa(edição de vídeo / vídeo de referência / referência de múltiplas imagens)
kling-o1 e kling-v3-omni são dois modelos independentes, ambos suportam a capacidade de 「referência completa」. Com base na geração de vídeo a partir de texto(action=text2video), é possível transmitir adicionalmente imagens de referência ou vídeos de referência, realizando referência de múltiplas imagens, vídeos de referência e a edição direta de vídeos existentes.
Convenção principal:os materiais de referência devem ser citados no prompt na forma de <<<image_1>>>、<<<video_1>>>(a numeração começa em 1), referenciando os materiais na posição correspondente em image_list / video_list, para que o modelo aplique essas referências. Se apenas os materiais forem enviados sem serem citados no prompt, os materiais serão ignorados.
Explicação de segurança:a API atual não disponibilizaAs solicitações Omni não suportamelement_list. O ID da Kling Element Library não é isolado por locatário; antes de fornecer a Element Management API com isolamento por locatário, useimage_listpara transmitir imagens de referência do sujeito.
negative_prompt、cfg_scale ou camera_control, e também não podem usar mode=4k. Quando incluir vídeos de referência, generate_audio deve ser false.
Vídeos de referência e edição de vídeo(video_list)
video_list é usado para fornecer vídeos de referência, sendo o cenário mais comum desta capacidade. Os campos dos elementos do array são os seguintes:
video_url: link do vídeo de referência, não pode estar vazio. No máximo 1 vídeo MP4/MOV, tamanho do arquivo ≤200MB, taxa de quadros de 24–60fps.kling-o1exige duração de 3–10 segundos e largura e altura de 700–2160px cada;kling-v3-omniexige duração de 3–15,5 segundos, largura e altura de 700–4553px cada, total de pixels ≤8.294.400, proporção de aspecto de 0,4–2.refer_type: tipo de referência, opcionalbase(padrão, vídeo base a ser editado, ou seja, “editar diretamente o vídeo”, podendo adicionar/remover/modificar elementos, alterar a composição, trocar o estilo, trocar as cores, trocar o clima etc.) oufeature(referência de característica, referenciando seu estilo / movimento de câmera / continuação da próxima tomada).keep_original_sound: se deve manter o áudio do vídeo original, opcionalyes(manter) ouno(remover).
Observação: quando houver um vídeo de referência,Um exemplo de CURL para editar um vídeo existente (alterar o vídeo para estilo de anime) é o seguinte:generate_audiodeve serfalse. Um vídeo comrefer_type=basenão pode especificar novamente o primeiro quadro / último quadro.
Referência de múltiplas imagens (image_list)
image_list é usado para fornecer imagens de referência (elementos / cenários / estilos etc.). Os campos dos elementos do array são os seguintes:
image_url: link da imagem de referência, não pode estar vazio. Requisitos: formato .jpg/.jpeg/.png; tamanho do arquivo ≤10MB; lado mais curto ≥300px; proporção de aspecto de 1:2,5 ~ 2,5:1.type: opcional. Quando não informado, é usado como imagem de referência pura; quando informado comofirst_frame/end_frame, é usado respectivamente como primeiro quadro / último quadro (equivalente astart_image_url/end_image_url).
prompt com <<<image_1>>>, <<<image_2>>>. Limite de quantidade: quando não houver vídeo de referência, imagens de referência ≤ 7; quando houver vídeo de referência, imagens de referência ≤ 4. Ao transmitir apenas o primeiro / último quadro, também é possível usar diretamente start_image_url / end_image_url, mas o último quadro deve ser usado junto com o primeiro quadro.
Observação: seExemplo de CURL para gerar vídeo com referência de múltiplas imagens:start_image_url/end_image_urleimage_listforem enviados ao mesmo tempo, o primeiro / último quadro será posicionado antes deimage_list, o que pode afetar a correspondência dos índices de<<<image_N>>>. Recomenda-se escolher um dos dois: quando forem necessários primeiro / último quadro, especifique diretamente otypeemimage_list; não misture comstart_image_url/end_image_url.
Callback assíncrono
Como a API Kling Videos Generation leva um tempo relativamente longo para gerar, aproximadamente 1–2 minutos, se a API não responder por muito tempo, a solicitação HTTP manterá a conexão ativa, resultando em consumo adicional de recursos do sistema. Por isso, esta API também oferece suporte a callbacks assíncronos. O fluxo geral é: quando o cliente inicia uma solicitação, ele especifica adicionalmente um campocallback_url. Depois que o cliente inicia a solicitação à API, a API retorna imediatamente um resultado, contendo um campo task_id, que representa o ID da tarefa atual. Quando a tarefa for concluída, o resultado do vídeo gerado será enviado na forma de POST JSON para o callback_url especificado pelo cliente, incluindo também o campo task_id, para que o resultado da tarefa possa ser associado pelo ID.
A seguir, entenderemos por meio de um exemplo como operar especificamente.
Primeiro, o callback Webhook é um serviço que pode receber solicitações HTTP, e o desenvolvedor deve substituí-lo pela URL do servidor HTTP que construiu. Aqui, para facilitar a demonstração, é usado um site público de exemplo de Webhook, https://webhook.site/. Ao abrir esse site, é possível obter uma URL de Webhook, conforme mostrado na imagem:
Copie esta URL para usá-la como Webhook. O exemplo aqui é https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3.
Em seguida, podemos definir o campo callback_url como a URL de Webhook acima e, ao mesmo tempo, preencher os parâmetros correspondentes. O conteúdo específico é mostrado na imagem:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, conforme mostrado na imagem:
O conteúdo é o seguinte:
task_id no resultado. Os outros campos são semelhantes aos descritos acima, e esse campo permite realizar a associação da tarefa.
Tratamento de erros
Ao chamar a API, se ocorrer um erro, a API retornará o código e as informações de erro correspondentes. Por exemplo:400 token_mismatched: Solicitação incorreta, possivelmente devido a parâmetros ausentes ou inválidos.400 api_not_implemented: Solicitação incorreta, possivelmente devido a parâmetros ausentes ou inválidos.401 invalid_token: Não autorizado, token de autorização inválido ou ausente.429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.500 api_error: Erro interno do servidor, algo deu errado no servidor.
Exemplo de resposta de erro
Conclusão
Por meio deste documento, você já aprendeu como usar a Kling Videos Generation API para gerar vídeos por meio da inserção de prompts e imagens de referência do primeiro quadro. Esperamos que este documento possa ajudá-lo a integrar e usar melhor esta API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico a qualquer momento.Kling 3.0 Turbo
model="kling-v3-turbo" oferece suporte a vídeo gerado a partir de texto e vídeo gerado a partir da imagem do primeiro quadro, com duração em números inteiros de 3–15 segundos. mode="std" produz 720p, e mode="pro" produz 1080p. Este modelo vem com áudio nativo e não fornece uma opção para desativá-lo; omita generate_audio ou defina-o como true. Este modelo não oferece suporte a quadro final, objeto de movimento de câmera, prompt negativo independente ou cfg_scale. Descreva diretamente no prompt o conteúdo que deseja ou deseja evitar que apareça.
Vídeo com múltiplas tomadas
kling-v3 e kling-v3-omni oferecem suporte a multi_shot=true. shot_type="intelligence" cria automaticamente as tomadas com base no prompt; shot_type="customize" fornece de 1–6 tomadas por meio de multi_prompt, sendo que cada item contém um index que aumenta consecutivamente a partir de 1, um prompt de no máximo 512 caracteres e uma duration inteira de pelo menos 1 segundo. A soma das durações de todas as tomadas deve ser igual à duration total. As tomadas personalizadas não usam o prompt global. Múltiplas tomadas são cobradas de acordo com o modelo selecionado, qualidade de imagem, configuração de áudio e duração total.
