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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

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 ao cabeçalho da requisição:
Authorization: Bearer YOUR_API_KEY

Roteamento de modos

wan2.7 é uma entrada unificada para text-to-video e image-to-video. O backend determina automaticamente o modo com base nos parâmetros recebidos. Ambos os modos são cobrados de forma idêntica:
CondiçãoRoteia paraDescrição do modo
Qualquer um de image_urls / image_with_roles / video_urls é fornecidoImage-to-VideoPrimeiro quadro / Primeiro e último quadro / Continuação de vídeo
Nenhum dos parâmetros acima fornecidoText-to-VideoGera vídeo puramente a partir da descrição em texto

Parâmetros da requisição

model
string
obrigatório
Nome do modelo de geração de vídeo, fixo como wan2.7
prompt
string
Descrição do conteúdo do vídeo, até 5000 caracteres
  • Modo Text-to-Video (quando nenhuma imagem/vídeo é fornecido): obrigatório
  • Modo Image-to-Video: opcional, mas recomendado para guiar o movimento da câmera e as ações
Exemplo: "A cat chasing butterflies on the grass, bright sunshine, slow motion"
image_urls
array<string>
Array de URLs de imagens. Fornecê-lo entra automaticamente no modo Image-to-Video
  • 1 imagem: primeiro quadro para o vídeo
  • 2 imagens: primeiro e último quadro para o vídeo (1ª = primeiro quadro, 2ª = último quadro)
Use este ou image_with_roles
image_urls entra em conflito com audio_url; não podem ser fornecidos ao mesmo tempo
image_with_roles
array<object>
Array de imagens com papéis, alternativa a image_urls, usado para especificar com precisão o papel de cada imagemCampos de cada objeto:
  • url (string): URL da imagem (suporta http/https)
  • role (string): papel da imagem, first_frame / last_frame, padrão first_frame
Exemplo:
[
  { "url": "https://cdn.example.com/start.jpg", "role": "first_frame" },
  { "url": "https://cdn.example.com/end.jpg", "role": "last_frame" }
]
image_with_roles entra em conflito com audio_url; não podem ser fornecidos ao mesmo tempo
video_urls
array<string>
Array de URLs de vídeos. Fornecê-lo entra no modo de continuação de vídeo (apenas o 1º vídeo é usado)
video_urls entra em conflito com audio_url; não podem ser fornecidos ao mesmo tempo
Restrições do vídeo:
  • Formato: mp4, mov
  • Duração: 2–10s
  • Resolução: largura e altura no intervalo [240, 4096] pixels
  • Proporção: 1:8 – 8:1
  • Tamanho do arquivo: até 100MB
negative_prompt
string
Prompt negativo que descreve conteúdo indesejado, até 500 caracteresExemplo: "blurry, distorted, low quality"
resolution
string
padrão:"1080P"
Resolução do vídeoOpções:
  • 720P - Padrão
  • 1080P - Alta definição (padrão)
duration
integer
padrão:"5"
Duração do vídeo (segundos)Intervalo suportado: 2 ~ 15 segundosPadrão: 5
size
string
padrão:"16:9"
Proporção de tela, efetivo apenas no modo Text-to-Video (quando nenhuma imagem/vídeo é fornecido)Formatos suportados:
  • 16:9 - Paisagem widescreen (padrão)
  • 9:16 - Retrato
  • 1:1 - Quadrado
  • 4:3 - Paisagem
  • 3:4 - Retrato
Este parâmetro é ignorado no modo Image-to-Video; a proporção é determinada automaticamente pela imagem de entrada
audio_url
string
URL de áudio personalizado
  • Modo Text-to-Video: usado como música de fundo
  • Modo Image-to-Video: usado como áudio condutor, sincronizado com as ações na tela
Formato: wav / mp3, duração 2-30 segundos, tamanho do arquivo ≤ 15MB
audio_url entra em conflito com video_urls, image_urls e image_with_roles; não podem ser fornecidos ao mesmo tempo
prompt_extend
boolean
padrão:"true"
Se deve ativar a reescrita inteligente do promptMelhora significativamente os resultados para prompts curtos, mas aumenta o tempo de processamentoPadrão: true
watermark
boolean
padrão:"false"
Se deve adicionar a marca d’água “AI Generated” ao vídeo gerado
  • true: adicionar marca d’água
  • false: sem marca d’água (padrão)
seed
integer
Inteiro de seed usado para controlar a aleatoriedade do conteúdo geradoIntervalo de valores: inteiro ≥0
  • Para requisições idênticas, o modelo gera resultados diferentes ao receber valores de seed diferentes (por exemplo, omitindo o seed)
  • Para requisições idênticas, o modelo gera resultados semelhantes ao receber o mesmo valor de seed, mas a consistência exata não é garantida

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 (Requisição mais simples)

{
  "model": "wan2.7",
  "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel"
}

Caso 2: Texto para vídeo (Parâmetros completos)

{
  "model": "wan2.7",
  "prompt": "A cat chasing butterflies on the grass, bright sunshine, slow motion",
  "negative_prompt": "blurry, distorted, low quality",
  "resolution": "1080P",
  "duration": 8,
  "size": "16:9",
  "audio_url": "https://cdn.example.com/bgm.mp3",
  "prompt_extend": true,
  "watermark": false,
  "seed": 42
}

Caso 3: Primeiro quadro para vídeo

{
  "model": "wan2.7",
  "prompt": "The character slowly stands up and walks toward the camera",
  "image_urls": ["https://cdn.example.com/person.jpg"],
  "resolution": "1080P",
  "duration": 8
}

Caso 4: Primeiro e último quadro para vídeo

{
  "model": "wan2.7",
  "prompt": "The camera pans slowly from the beach to the mountaintop",
  "image_urls": [
    "https://cdn.example.com/beach.jpg",
    "https://cdn.example.com/mountain.jpg"
  ],
  "resolution": "1080P",
  "duration": 10
}
Com 2 imagens: a 1ª é o primeiro quadro, a 2ª é o último quadro. Você também pode usar image_with_roles para uma especificação precisa.

Caso 5: Continuação de vídeo

{
  "model": "wan2.7",
  "prompt": "Continue walking forward, camera follows",
  "video_urls": ["https://cdn.example.com/clip.mp4"],
  "resolution": "1080P",
  "duration": 8
}

Caso 6: Imagem + áudio condutor

{
  "model": "wan2.7",
  "prompt": "The character moves to the rhythm of the music",
  "image_urls": ["https://cdn.example.com/dancer.jpg"],
  "audio_url": "https://cdn.example.com/beat.mp3",
  "resolution": "1080P",
  "duration": 8
}

Guia de seleção de modo

RequisitoAbordagem recomendada
Gerar vídeo apenas a partir de textoPasse apenas prompt (sem imagem/vídeo)
Fazer uma imagem “ganhar vida”Passe 1 imagem em image_urls
Controlar o primeiro e o último quadroPasse 2 imagens em image_urls (primeiro + último)
Estender um vídeo existentePasse o vídeo em video_urls
Fazer a imagem se mover ao ritmo da músicaPasse imagem + audio_url
Consultar resultados da tarefaA geração de vídeos é uma tarefa assíncrona que retorna um task_id no envio. Use o endpoint Obter status da tarefa para consultar o progresso e os resultados da geração.