Saltar para o conteúdo principal
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Autorização

Authorization
string
obrigatório
Todos os endpoints da API exigem autenticação via Bearer TokenObtenha sua chave de API:Acesse a página de gerenciamento de chaves de API para obter sua chave de APIAdicione-a ao cabeçalho da requisição:
Authorization: Bearer YOUR_API_KEY

Parâmetros da requisição

model
string
obrigatório
Nome do modelo de geração de vídeoModelos suportados:
  • kling-v3-omni - Kling v3 Omni (interface unificada)
prompt
string
obrigatório
Prompt de texto positivoSuporta referência a imagens de image_urls usando a sintaxe <<<image_N>>>, onde N começa em 1.Exemplo: "Make the person in <<<image_1>>> wave at the camera"
Se imagens forem fornecidas, mas o prompt não contiver nenhuma referência <<<image_N>>>, o sistema adicionará automaticamente <<<image_1>>> no início do prompt.
negative_prompt
string
Prompt negativo usado para excluir conteúdo indesejado. Comprimento máximo de 2500 caracteres.
mode
string
padrão:"std"
Modo de geraçãoOpções:
  • std - Modo padrão (720P)
  • pro - Modo profissional (1080P)
  • 4k - Modo 4K ultra HD
Padrão: std
duration
integer
padrão:"5"
Padrão: 5 Duração do vídeo (segundos)Faixa: 3-15 (mínimo de 3 segundos, máximo de 15 segundos)⚠️ Nota: Deve ser um número simples (por exemplo, 6), sem aspas, caso contrário ocorrerá um erro
aspect_ratio
string
padrão:"16:9"
Proporção do vídeoOpções:
  • 16:9 - Paisagem
  • 9:16 - Retrato
  • 1:1 - Quadrado
Padrão: 16:9
image_urls
array<url>
Array de URLs de imagens para referenciamento de imagensReferencie as imagens correspondentes no prompt usando a sintaxe <<<image_N>>> (N começa em 1)Exemplo: ["https://example.com/photo.jpg"]
  • As URLs das imagens devem ser publicamente acessíveis, sem proteção contra hotlink
  • No modo image-to-video, aspect_ratio pode ser substituído pela proporção real da imagem
image_with_roles
array<object>
Array de imagens baseado em papéis, recomendado para image-to-video.Formato de cada item: { "url": "...", "role": "..." }
  • first_frame: primeiro frame
  • last_frame: último frame
  • reference: imagem de referência
image_urls e image_with_roles são mutuamente exclusivos. Use apenas um.
video_list
array
Lista de vídeos de referência (baseada em URLs), até 1 vídeo.Use refer_type para distinguir os tipos:
  • base: vídeo a ser editado (padrão)
  • feature: vídeo de referência por característica
Use keep_original_sound para controlar o áudio original:
  • no: não manter (padrão)
  • yes: manter o áudio original
Formato da requisição:
"video_list":[
  { "video_url": "video_url", "refer_type": "base", "keep_original_sound": "no" }
]
  • video_url não pode estar vazio, e a URL do vídeo deve ser acessível
  • Quando refer_type=base:
    • Não é possível definir frames inicial/final
    • O vídeo de referência deve ter de 3 a 10 segundos
    • A duração do vídeo gerado segue o vídeo enviado
  • Quando refer_type=feature e video_url não está vazio:
    • image_urls só pode incluir uma imagem de primeiro frame
  • Requisitos do vídeo: apenas MP4/MOV; duração de pelo menos 3 segundos; resolução de 720px-2160px; taxa de quadros de 24-60fps (a saída é 24fps); tamanho não superior a 200MB
multi_shot
boolean
padrão:"false"
Define se o modo multi-shot (múltiplos planos) deve ser ativado.
shot_type
string
Método de divisão de planos: customize / intelligence.Obrigatório quando multi_shot=true.
multi_prompt
array<object>
Lista multi-shot, cada item é { index, prompt, duration }.
  • Mínimo 1 plano, máximo 6 planos
  • Cada duration de plano deve ser um inteiro e >= 1
  • A soma das durações de todos os planos deve ser igual ao duration de nível superior
  • index deve começar em 1 e aumentar continuamente
  • Obrigatório quando multi_shot=true e shot_type=customize
Exemplo:
[
  { "index": 1, "prompt": "a happy dog in running@element_cat", "duration": 3 },
  { "index": 2, "prompt": "a happy dog play with a cat@element_dog", "duration": 3 }
]
element_list
array<object>
Lista de sujeitos de referência, até 3 sujeitos. Suporta:
  • Criar sujeitos na hora com name, description, element_input_urls
Formato comum:
[
  {
    "name": "element_dog",
    "description": "a golden retriever, fluffy fur, friendly expression",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  },
  {
    "name": "element_cat",
    "description": "an orange tabby cat, round face, bright eyes",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  }
]
Observações:
  • Para criação na hora, name, description, element_input_urls são obrigatórios
  • element_input_urls: 2 a 4 imagens por sujeito (a primeira como imagem frontal, as demais como referências)
  • Use @name em prompt, por exemplo, "@element_dog and @element_cat are playing on the grass"
watermark
boolean
Define se uma marca d’água deve ser adicionada
audio
boolean
padrão:"false"
Define se o vídeo deve ser gerado com áudio
Este parâmetro é mutuamente exclusivo com video_list.Quando video_list tem um valor, o parâmetro audio não é necessário.

Restrições e limites de parâmetros

  • image_urls e image_with_roles são mutuamente exclusivos
  • mode=4k está disponível para kling-v3-omni
  • Entrada apenas do último frame (last_frame sem o primeiro frame) é inválida
  • Frames inicial/final e edição de vídeo são mutuamente exclusivos: quando video_list.refer_type=base (ou omitido), frames inicial/final não são permitidos
  • Quando video_list está presente, audio é ignorado
  • video_list suporta no máximo 1 vídeo
  • multi_prompt suporta até 6 planos, com index começando em 1 e aumentando continuamente

Sintaxe de referência de imagens

O modelo Omni usa a sintaxe <<<image_N>>> para referenciar imagens nos prompts, oferecendo uma experiência unificada de text-to-video/image-to-video:
SintaxeDescrição
<<<image_1>>>Referencia a 1ª imagem no array image_urls
<<<image_2>>>Referencia a 2ª imagem no array image_urls
Referência automática: Se image_urls for fornecido, mas o prompt não contiver nenhuma referência <<<image_N>>>, o sistema adicionará automaticamente <<<image_1>>> no início do prompt.

Resposta

code
integer
Código de status da resposta, 200 em caso de sucesso
data
array
Array de dados da resposta

Casos de uso

Caso 1: Texto para vídeo (Modo padrão)

{
  "model": "kling-v3-omni",
  "prompt": "A golden retriever running on the beach, sunset, cinematic",
  "mode": "std",
  "duration": 5,
  "aspect_ratio": "16:9"
}

Caso 2: Referência de imagem (uma imagem)

{
  "model": "kling-v3-omni",
  "prompt": "Make the person in <<<image_1>>> wave at the camera",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "pro",
  "duration": 5
}

Caso 3: Múltiplas referências de imagens

{
  "model": "kling-v3-omni",
  "prompt": "The character in <<<image_1>>> walks toward the scene in <<<image_2>>>",
  "image_urls": [
    "https://example.com/character.jpg",
    "https://example.com/scene.jpg"
  ],
  "mode": "pro",
  "duration": 5
}

Caso 4: Imagem fornecida sem referência explícita (adicionada automaticamente)

{
  "model": "kling-v3-omni",
  "prompt": "The person slowly turns and smiles",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "std",
  "duration": 5
}
O sistema adicionará automaticamente <<<image_1>>> no início do prompt, equivalente a "<<<image_1>>>The person slowly turns and smiles".

Caso 5: Gerar vídeo com áudio

{
  "model": "kling-v3-omni",
  "prompt": "A yellow canary singing on a branch",
  "audio": true,
  "mode": "std",
  "duration": 5
}
Nota: audio é mutuamente exclusivo com video_list. Quando video_list tem um valor, o parâmetro audio não é necessário.
Consultar os resultados da tarefaA geração de vídeo é uma tarefa assíncrona que retorna um task_id ao ser submetida. Use o endpoint Obter status da tarefa para consultar o progresso e os resultados da geração.