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": "pixverse-v6",
    "prompt": "A cinematic shot of a corgi running through a sunflower field at golden hour",
    "size": "16:9",
    "resolution": "540p",
    "duration": 5
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01JWXXXXXXXXXXXX"
    }
  ]
}

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": "pixverse-v6",
    "prompt": "A cinematic shot of a corgi running through a sunflower field at golden hour",
    "size": "16:9",
    "resolution": "540p",
    "duration": 5
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01JWXXXXXXXXXXXX"
    }
  ]
}

Autenticação

Authorization
string
obrigatório
Todos os endpoints requerem autenticação via Bearer Token.Obter uma API Key:Acesse a página de gerenciamento de API Key para obter sua API Key.Adicione o seguinte cabeçalho à requisição:
Authorization: Bearer YOUR_API_KEY

Parâmetros da requisição

model
string
obrigatório
Nome do modelo de geração de vídeo. Fixo em pixverse-v6.
prompt
string
obrigatório
Descrição do conteúdo do vídeo, até 5000 caracteres. Obrigatório em todos os modos.
resolution
string
padrão:"540p"
Nível de resolução do vídeo. Afeta diretamente a cobrança.
  • 360p: SD
  • 540p: Padrão (padrão)
  • 720p: HD
  • 1080p: Full HD
Outros valores de resolução retornam erro de parâmetro.
duration
integer
padrão:"5"
Duração do vídeo em segundos, faixa 1–15.
O modo de transição entre primeiro/último frame só suporta 5 ou 8 segundos.
size
string
padrão:"16:9"
Proporção do vídeo. Efetivo apenas nos modos texto-para-vídeo e fusão de múltiplas referências.
  • 16:9: Paisagem widescreen (padrão)
  • 4:3: Paisagem 4:3
  • 1:1: Quadrado
  • 3:4: Retrato 3:4
  • 9:16: Retrato vertical
  • 2:3: Retrato 2:3
  • 3:2: Paisagem 3:2
  • 21:9: Cinema widescreen
seed
integer
padrão:"0"
Semente aleatória, faixa 0–2147483647. Mesmo prompt e seed reproduzem resultados similares.
negative_prompt
string
Prompt negativo para excluir conteúdo indesejado. Até 2048 caracteres.
audio
boolean
padrão:"false"
Indica se uma trilha de áudio deve ser gerada.
  • true: Gerar áudio (aumenta o preço)
  • false: Sem áudio (padrão)
watermark
boolean
padrão:"false"
Indica se uma marca d’água deve ser adicionada no canto inferior direito do vídeo.
  • true: Adicionar marca d’água
  • false: Sem marca d’água (padrão)
motion_mode
string
Modo de movimento.
  • normal: Modo padrão (pixverse-v6 suporta apenas este valor)
fast aplica-se apenas a modelos legados e será rejeitado pelo upstream para pixverse-v6.
generate_multi_clip_switch
boolean
padrão:"false"
Indica se um vídeo contínuo de múltiplos clipes deve ser gerado. Suportado apenas em texto-para-vídeo e imagem-para-vídeo.
  • true: Gerar vídeo contínuo de múltiplos clipes
  • false: Clipe único (padrão)
image_urls
array<url>
Array de URLs de imagens de entrada para imagem-para-vídeo. Apenas a primeira é usada.As imagens devem ser URLs HTTP/HTTPS publicamente acessíveis.
first_frame_image
url
URL do primeiro frame no modo de transição. Deve ser fornecido junto com last_frame_image.
last_frame_image
url
URL do último frame no modo de transição. Deve ser fornecido junto com first_frame_image.
img_references
array<url>
Array de URLs de imagens de referência para o modo de fusão de múltiplas referências. Suporta 1–7 imagens.Fornecer este campo aciona o modo de fusão de múltiplas imagens de referência.
extend_from_task_id
string
ID da tarefa de origem para extensão de vídeo. Fornecer este campo aciona o modo de extensão.A tarefa de origem deve pertencer ao usuário atual, usar o modelo pixverse-v6 e ter status completed.

Modos de geração

O adaptador despacha automaticamente para o modo de geração correspondente conforme os campos da requisição. A correspondência segue a ordem de prioridade; o primeiro a corresponder vence.
ModoCondição de ativaçãoDescrição
Texto-para-vídeoSem campos de imagem ou extensãoGera vídeo a partir do prompt
Imagem-para-vídeoimage_urls com uma imagemUsa a primeira imagem como entrada
Transição primeiro/último framefirst_frame_image e last_frame_image juntosGera transição suave entre dois frames
Fusão de múltiplas referênciasArray img_references fornecidoFunde 1–7 imagens de referência em um vídeo
Extensão de vídeoextend_from_task_id fornecidoContinua a partir de uma tarefa Pixverse concluída
Todas as entradas de imagem aceitam apenas URLs HTTP/HTTPS publicamente acessíveis. base64 e Data URI não são suportados. Se você só tiver imagens locais, faça o upload para um object storage e forneça a URL.

Regras de parâmetros

LimiteDescrição
Duração1 ≤ duration ≤ 15 segundos; modo de transição apenas 5 ou 8 segundos
ResoluçãoApenas 360p, 540p, 720p, 1080p são suportadas
Proporçãosize é efetivo apenas em texto-para-vídeo e fusão de múltiplas referências
Tamanho do promptprompt até 5000 caracteres, negative_prompt até 2048 caracteres
Imagem-para-vídeoimage_urls usa apenas a primeira imagem
Transiçãofirst_frame_image e last_frame_image devem ser enviados juntos
Modo de movimentopixverse-v6 suporta apenas normal
Fusão de múltiplas referênciasimg_references suporta 1–7 imagens
Extensão de vídeoextend_from_task_id deve apontar para uma tarefa pixverse-v6 completed do usuário atual

Resposta

code
integer
Código de status da resposta. 200 em caso de sucesso.
data
array
Array de tarefas retornado.

Consulta do resultado da tarefa

A geração de vídeo é uma tarefa assíncrona. Após o envio, um task_id é retornado. Use o endpoint Obter status da tarefa para consultar progresso e resultado.
cURL
curl --request GET \
  --url https://api.apimart.ai/v1/tasks/task_01JWXXXXXXXXXXXX \
  --header 'Authorization: Bearer <token>'
Recomenda-se fazer polling a cada 5 segundos até o status ficar completed ou failed.

Exemplo de sucesso

{
  "code": 200,
  "data": {
    "id": "task_01KSPX48B8V1M6C2ZN0D0T4BKB",
    "status": "completed",
    "progress": 100,
    "cost": 0.2,
    "created": 1779958948,
    "completed": 1779958999,
    "estimated_time": 100,
    "actual_time": 51,
    "result": {
      "videos": [
        {
          "url": ["https://upload.apimart.ai/f/video/xxxx.mp4"],
          "expires_at": 1780045399
        }
      ]
    }
  }
}
A URL do vídeo está em data.result.videos[0].url[0]. O campo url é, ele mesmo, um array. Os links de vídeo geralmente expiram após 24 horas — baixe ou transfira-os a tempo.

Exemplo de falha

{
  "code": 200,
  "data": {
    "id": "task_01KSPX48B8V1M6C2ZN0D0T4BKB",
    "status": "failed",
    "progress": 100,
    "cost": 0,
    "created": 1779958948,
    "completed": 1779958960,
    "error": {
      "code": "task_failed",
      "message": "pixverse error 400063: moderation failed",
      "type": "task_failed"
    }
  }
}
Em caso de falha, cost geralmente é 0. A causa do erro está em data.error.message.

Casos de uso

Caso 1: Texto-para-vídeo

{
  "model": "pixverse-v6",
  "prompt": "A neon-lit alley in Tokyo at night, light rain, anamorphic lens flare",
  "size": "21:9",
  "resolution": "720p",
  "duration": 8,
  "seed": 42,
  "audio": true
}

Caso 2: Imagem-para-vídeo

{
  "model": "pixverse-v6",
  "prompt": "Camera slowly zooms in, gentle wind moves the leaves",
  "image_urls": ["https://example.com/first-frame.jpg"],
  "resolution": "540p",
  "duration": 5
}

Caso 3: Transição primeiro/último frame

{
  "model": "pixverse-v6",
  "prompt": "transform smoothly from a puppy to a cat",
  "first_frame_image": "https://example.com/puppy.jpg",
  "last_frame_image": "https://example.com/cat.jpg",
  "resolution": "540p",
  "duration": 5,
  "motion_mode": "normal"
}

Caso 4: Fusão de múltiplas referências

{
  "model": "pixverse-v6",
  "prompt": "A girl wearing the outfit from image 2, holding the cat from image 3",
  "img_references": [
    "https://example.com/character.jpg",
    "https://example.com/outfit.jpg",
    "https://example.com/cat.jpg"
  ],
  "size": "9:16",
  "resolution": "720p",
  "duration": 5
}

Caso 5: Extensão de vídeo

{
  "model": "pixverse-v6",
  "prompt": "the character now walks into a forest",
  "extend_from_task_id": "task_01JWXXXXXXXXXXXX",
  "resolution": "540p",
  "duration": 5
}