Veevid

Servidor MCP remoto para Veevid AI: liste modelos, verifique o custo de créditos e gere vídeos, imagens e áudio com IA a partir do Claude Code, Cursor ou Claude Desktop.

Servidor MCP hospedado

npx add-mcp 'https://veevid.ai/api/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Início Rápido

1. Obtenha sua Chave de API

Crie uma chave de API em veevid.ai/settings/api-keys. Guarde-a com segurança — ela só é exibida uma vez.

mkdir -p ~/.config/veevid
echo "vv_sk_your_key_here" > ~/.config/veevid/api_key

2. Obtenha um Orçamento

Antes de gerar, verifique o custo exato em créditos. Um orçamento é gratuito e nunca inicia uma geração:

curl -X POST https://veevid.ai/api/quote \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "veo3",
    "generation_type": "text-to-video",
    "video_quality": "standard"
  }'

Resposta:

{
  "required_credits": 30,
  "current_balance": 451,
  "sufficient": true
}

3. Gere um Vídeo

curl -X POST https://veevid.ai/api/generate-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A golden retriever running through sunflowers, cinematic lighting",
    "mode": "veo3",
    "generation_type": "text-to-video",
    "aspect_ratio": "16:9",
    "video_quality": "standard"
  }'

Resposta:

{
  "generation_id": "vg_abc123",
  "status": "processing",
  "video_url": null,
  "image_url": null,
  "provider_task_id": "...",
  "video_quality": "standard"
}

O mesmo endpoint gera imagens e áudio também — escolha um mode e generation_type em Modelos.

4. Verifique o Status

curl https://veevid.ai/api/video-generation/GENERATION_ID/status \
  -H "Authorization: Bearer YOUR_API_KEY"

Quando concluído:

{
  "id": "vg_abc123",
  "status": "completed",
  "media_kind": "video",
  "video_url": "https://cdn.veevid.ai/generated-videos/...mp4",
  "credits_used": 30,
  ...
}

Tempo típico de geração: 60–180 segundos para vídeos, de alguns segundos a um minuto para imagens e áudio.

Autenticação

Todas as requisições à API exigem um token Bearer:

Authorization: Bearer vv_sk_your_key_here
  • As chaves começam com o prefixo vv_sk_
  • Crie e gerencie chaves em /settings/api-keys (o gerenciamento de chaves só está disponível enquanto você estiver conectado no site, não pela API)
  • Cada chave compartilha o saldo de créditos da sua conta
  • Máximo de 5 chaves ativas por conta

Dicas de segurança

  • Nunca exponha sua chave de API em código no lado do cliente
  • Use variáveis de ambiente ou arquivos de configuração seguros
  • Rotacione as chaves se suspeitar de vazamento

Servidor MCP

Veevid também é um servidor MCP (Model Context Protocol) remoto, então assistentes de IA como Claude Code, Cursor e Claude Desktop podem listar modelos, orçar, gerar e buscar resultados para você. As ferramentas MCP executam os mesmos endpoints da API REST desta página — mesma chave de API, mesmos modelos, mesmo saldo de créditos e o mesmo custo em créditos do site (veja preços).

ConfiguraçãoValor
Endpointhttps://veevid.ai/api/mcp
TransporteHTTP Streamable (POST, sem estado)
AutenticaçãoCabeçalho Authorization: Bearer vv_sk_your_key_here. Apenas chaves de API — não há login OAuth, então use uma das configurações abaixo em vez de um conector baseado em login.

1. Obtenha uma Chave de API

Entre no site e crie uma chave em veevid.ai/settings/api-keys. Guarde-a com segurança — ela só é exibida uma vez. Nos exemplos abaixo, substitua vv_sk_your_key_here pela sua chave.

2. Conecte Seu Cliente

Claude Code

claude mcp add --transport http veevid https://veevid.ai/api/mcp \
  --header "Authorization: Bearer vv_sk_your_key_here"

O servidor é adicionado ao projeto atual. Adicione --scope user para usá-lo em todos os seus projetos.

Cursor

Adicione isto a ~/.cursor/mcp.json (todos os projetos) ou .cursor/mcp.json em um projeto:

{
  "mcpServers": {
    "veevid": {
      "url": "https://veevid.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer vv_sk_your_key_here"
      }
    }
  }
}

Para manter a chave fora do arquivo, escreva "Bearer ${env:VEEVID_API_KEY}" e defina VEEVID_API_KEY no seu ambiente.

Claude Desktop

O arquivo de configuração do Claude Desktop executa servidores locais, então conecte-se através da ponte mcp-remote (requer Node.js). Abra Configurações → Desenvolvedor → Editar Configuração (claude_desktop_config.json), adicione o servidor e então feche e reinicie completamente o Claude Desktop:

{
  "mcpServers": {
    "veevid": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://veevid.ai/api/mcp",
        "--header",
        "Authorization:${VEEVID_AUTH}"
      ],
      "env": {
        "VEEVID_AUTH": "Bearer vv_sk_your_key_here"
      }
    }
  }
}

Mantenha Authorization:${VEEVID_AUTH} sem espaço e coloque a chave em env — espaços dentro de args quebram no Windows.

3. Ferramentas

get_quote e generate recebem mode, generation_type e params, onde params contém todos os outros campos do corpo da requisição (prompt, duração, aspect_ratio, video_quality, image, images, video, audio…) exatamente como listado em Modelos. Os arquivos de entrada são URLs https. Os resultados são JSON. Uma chamada com falha é marcada como erro e carrega uma mensagem error, além de http_status quando o endpoint da API subjacente rejeitou a requisição.

FerramentaO que faz
list_modelsLista modelos (mode, generation_type, name, category, summary), opcionalmente filtrados por categoria: video, image, audio, video-tool ou effect. Passe mode para obter os parâmetros desse modelo, arquivos de entrada, pastas de upload, regras e um exemplo de requisição.
get_creditsRetorna seu saldo atual de créditos.
get_quoteRetorna o custo exato em créditos de uma requisição (required_credits, current_balance, sufficient) sem executá-la. Gratuito.
generateInicia uma geração de vídeo, imagem ou áudio e retorna o generation_id. Gasta créditos; eles são reembolsados automaticamente se o trabalho falhar.
get_generationRetorna o status e o resultado de uma geração por id — video_url contém o arquivo de saída para vídeo, imagem e áudio. Defina wait_seconds (até 40) para aguardar a conclusão.
upload_fileEnvia um arquivo de imagem, vídeo ou áudio de source_url (https, até 20MB) ou data_base64 (até 10MB) e retorna uma url para passar para generate. Use a pasta de upload que list_models fornece para o modelo.
create_upload_urlRetorna uma URL pré-assinada para enviar um arquivo grande diretamente ao armazenamento via PUT. Atualmente apenas para veed-clean-audio (pasta remove-background-noise/input, até 512MB).
list_creationsLista suas gerações passadas, das mais recentes para as mais antigas. Opcional: page, page_size (até 50), generation_type e include_audio.

4. Exemplo: Orçar, Gerar, Obter o Resultado

Peça ao seu assistente algo como "Faça um vídeo de 8 segundos de um golden retriever correndo por girassóis com Veo 3.1". Ele chama as ferramentas nesta ordem (os números abaixo são espaços reservados):

get_quote — argumentos:

{
  "mode": "veo3",
  "generation_type": "text-to-video",
  "params": {
    "prompt": "A golden retriever running through sunflowers, cinematic lighting",
    "video_quality": "standard",
    "resolution": "720p",
    "duration": "8",
    "aspect_ratio": "16:9"
  }
}

Resultado:

{
  "required_credits": <cost of this request>,
  "current_balance": <your balance>,
  "sufficient": true
}

O servidor instrui o assistente a confirmar o custo com você antes de gerar.

generate — os mesmos argumentos de get_quote. Resultado:

{
  "generation_id": "vg_abc123",
  "status": "processing",
  "video_url": null,
  ...
}

get_generation — argumentos:

{
  "id": "vg_abc123",
  "wait_seconds": 40
}

Resultado quando concluído:

{
  "id": "vg_abc123",
  "status": "completed",
  "media_kind": "video",
  "video_url": "https://cdn.veevid.ai/generated-videos/...mp4",
  "error_message": null,
  "credits_used": <credits charged>,
  ...
}

Vídeos geralmente levam de 1 a 5 minutos. Enquanto status ainda estiver "processing", o assistente chama get_generation novamente. Se generate expirar, verifique list_creations antes de tentar novamente — o trabalho pode já ter começado.

Referência da API

URL base: https://veevid.ai. Todos os endpoints aceitam e retornam JSON, salvo indicação contrária.

POST /api/quote

Obtenha o custo exato em créditos antes de gerar. Envie o mesmo corpo que você enviará para /api/generate-video, incluindo o prompt — os modelos GPT Image, Qwen Image, text-to-speech e música o verificam. URLs de arquivos só são necessárias para orçar speech-to-text e remoção de ruído (a URL de áudio); para outros modelos, você pode orçar antes de enviar. O endpoint de orçamento não lê URLs de vídeo e, para alguns modelos, não conta o array images, então descreva seus arquivos de entrada com estes campos — as regras de cada modelo dizem quais são necessários:

Campo de orçamentoDescrição
input_image_countNúmero de imagens (0–16), para os modelos cujas regras pedem
has_video_inputSempre verdadeiro quando você envia vídeos de referência, ou um vídeo de origem para editar ou estender (não para troca de personagem ou o vídeo de origem do insert-shot)
input_video_countNúmero de vídeos de referência (também lido por MiniMax H3 Max e pelo modelo insert-shot)
input_video_durationDuração em segundos do(s) vídeo(s) de entrada / referência
reference_video_durationDuração total dos vídeos de referência para um insert-shot
has_audio_input, input_audio_count, input_audio_durationO mesmo para entradas de áudio

Requisição:

{
  "mode": "kling-3",
  "generation_type": "text-to-video",
  "duration": "10",
  "model_version": "kling-3-standard",
  "generate_audio": true
}

Resposta:

{
  "required_credits": 250,
  "current_balance": 451,
  "sufficient": true
}

POST /api/generate-video

Inicie uma geração. Apesar do nome, este único endpoint lida com todos os modelos: vídeo, imagem, áudio e ferramentas de vídeo. Cada modelo aceita seus próprios parâmetros — veja Modelos para a lista completa. Os créditos são deduzidos quando o trabalho é enviado e reembolsados automaticamente se falhar, a menos que as regras do modelo digam o contrário.

Parâmetros Comuns:

ParâmetroTipoDescrição
modestringSeletor de modelo (veja Modelos). Necessário na prática — o padrão do servidor é um modelo legado.
generation_typestringO que fazer com o modelo, ex.: "text-to-video", "image-to-video", "reference-to-video", "text-to-image", "image-to-image", "text-to-speech", "video-upscale". O padrão é "text-to-video".
promptstringPrompt de texto (máximo de 20.000 caracteres; alguns modelos permitem menos). Os prompts são enviados ao modelo como estão — a tradução automática de prompts do site não é aplicada às chamadas de API, então escreva prompts em inglês para melhores resultados.
aspect_ratiostring"16:9", "9:16", "1:1" etc. — os valores permitidos dependem do modelo
durationstringDuração da saída em segundos, como string (específica do modelo). Para ferramentas, geralmente é a duração do seu vídeo de entrada.
video_qualitystringNível ou resolução, dependendo do modelo (ex.: nível Veo 3.1 "lite" / "standard" / "pro"; "720p" / "1080p"; modelos de imagem "1K" / "2K" / "4K")
resolutionstringResolução de saída para modelos que a aceitam separadamente (ex.: Veo 3.1 "720p" / "1080p" / "4k")
imagestringURL de imagem única (primeiro quadro, foto de personagem…)
imagesstring[]URLs de múltiplas imagens (quadros inicial/final, imagens de referência, imagens para editar)
videostringURL de vídeo único (vídeo de origem para ferramentas)
videosstring[]URLs de vídeos de referência
audiostringURL de áudio (áudio de condução, áudio para transcrever…). Alguns modelos aceitam um array audios em vez disso.
model_versionstringSubvariante (ex.: "kling-3-pro", "seedance-2.0-fast")

Resposta:

{
  "generation_id": "vg_abc123",
  "status": "processing",
  "video_url": null,
  "image_url": null,
  "provider_task_id": "...",
  "video_quality": "standard"
}

A maioria dos trabalhos retorna "processing" — consulte o endpoint de status. Alguns retornam "completed" imediatamente com video_url (vídeos) ou image_url (imagens).

GET /api/video-generation/{generation_id}/status

Consulte a conclusão. Funciona para todos os tipos de geração — vídeos, imagens e áudio.

Resposta (concluída):

{
  "id": "vg_abc123",
  "status": "completed",
  "media_kind": "image",
  "video_url": "https://cdn.veevid.ai/images/...jpg",
  "error_message": null,
  "credits_used": 5,
  "created_at": "2026-10-06T08:00:00.000Z",
  "completed_at": "2026-10-06T08:01:37.000Z",
  "video_metadata": { "content_type": null, "file_name": null, "file_size": null },
  "provider_task_id": "...",
  "video_quality": "1K",
  "result_images": ["https://cdn.veevid.ai/images/...jpg"]
}
CampoDescrição
status"processing" → "completed" ou "failed"
media_kind"video", "image" ou "audio"
video_urlO arquivo de resultado para todos os tipos de mídia — vídeo, imagem ou áudio (para imagens, é a primeira imagem)
result_imagesTodas as imagens de saída, quando um modelo retorna mais de uma
error_messagePor que a geração falhou (os créditos normalmente são reembolsados automaticamente)
lyrics, transcript, timestampsResultados extras de áudio: letras de música (Lyria), a transcrição (Scribe V2) e timestamps de palavras (Eleven v4, quando solicitado)
seedance25_draftApenas para rascunhos Seedance 2.5 / Veevid 2.5 Pro 480p: { upgradable, upgrade_credits, expires_at, upgrade_generation_id } — veja upgrade-draft abaixo

POST /api/video-generation/{generation_id}/upgrade-draft

Vídeos Seedance 2.5 e Veevid 2.5 Pro gerados em 480p geralmente são rascunhos (a resposta de status inclui seedance25_draft). Um rascunho concluído pode ser atualizado uma vez, dentro de 7 dias, para uma versão 1080p com o mesmo prompt, entradas e seed. Nenhum corpo de requisição é necessário; a atualização é uma nova geração com seu próprio generation_id para consultar. Obtenha o preço primeiro enviando apenas o id do rascunho ao endpoint de orçamento:

curl -X POST https://veevid.ai/api/quote \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "draft_upgrade_id": "vg_abc123" }'

curl -X POST https://veevid.ai/api/video-generation/vg_abc123/upgrade-draft \
  -H "Authorization: Bearer YOUR_API_KEY"

Resposta:

{
  "generation_id": "vg_def456",
  "status": "processing",
  "credits_used": 790,
  "draft_id": "vg_abc123"
}

Retorna 409 se o rascunho ainda não foi concluído ou já foi atualizado, 410 quando expirou e 502 se a atualização não pôde ser enviada (os créditos são reembolsados).

GET /api/user/creations

Liste suas gerações, das mais recentes para as mais antigas.

ConsultaDescrição
pageNúmero da página, começando em 1 (padrão 1)
pageSizeItens por página (padrão 12, máximo 50)
generationTypeRetornar apenas um generation_type, ex.: "text-to-image" (padrão: todos)
includeAudioGerações de áudio são omitidas a menos que você passe includeAudio=1
curl "https://veevid.ai/api/user/creations?page=1&pageSize=20&includeAudio=1" \
  -H "Authorization: Bearer YOUR_API_KEY"

Resposta:

{
  "creations": [
    {
      "id": "vg_abc123",
      "mode": "veo3",
      "generationType": "text-to-video",
      "status": "completed",
      "prompt": "A golden retriever running through sunflowers...",
      "videoUrl": "https://cdn.veevid.ai/generated-videos/...mp4",
      "creditsUsed": 30,
      "createdAt": "2026-10-06T08:00:00.000Z",
      "mediaKind": "video",
      ...
    }
  ],
  "totalPages": 3,
  "currentPage": 1,
  "totalCount": 41,
  "hasMore": true
}

Observe que os itens da lista usam nomes de campos em camelCase (videoUrl, generationType), ao contrário do endpoint de status.

GET | DELETE /api/user/creations/{id}

GET retorna uma geração com os mesmos campos de um item da lista. DELETE a exclui, incluindo seus arquivos de resultado, e retorna { "success": true }.

GET /api/credits

Verifique seu saldo atual de créditos.

{
  "success": true,
  "credits": 451,
  "balance": 451
}

Uploads de Arquivos

Entradas de imagem, vídeo e áudio são passadas como URLs. A maioria dos modelos aceita qualquer URL pública https, mas algumas ferramentas só aceitam arquivos enviados para a Veevid (indicado nas regras de cada modelo). Envie um arquivo local primeiro e depois passe o url retornado.

POST /api/storage/upload

multipart/form-data com um file e um folder. Use a pasta de upload listada para a entrada do modelo — a pasta determina quais tipos e tamanhos de arquivo são aceitos (imagens: JPEG/PNG/WebP, 10MB por padrão; pastas de vídeo e áudio permitem arquivos maiores). Requisições para este endpoint são limitadas a 100MB pela nossa plataforma de hospedagem, mesmo quando uma pasta ou modelo permite mais; para arquivos maiores, passe uma URL https pública se o modelo aceitar.

curl -X POST https://veevid.ai/api/storage/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@./photo.jpg" \
  -F "folder=image-generator"

Resposta:

{
  "url": "https://cdn.veevid.ai/image-generator/...jpg",
  "key": "image-generator/...jpg"
}

POST /api/storage/presign-upload

Upload direto para arquivos grandes, atualmente apenas para o modelo veed-clean-audio (pasta remove-background-noise/input, até 512MB). Envie { "folder", "filename", "size" } (tamanho em bytes), depois PUT o arquivo bruto para uploadUrl com exatamente o contentType retornado como cabeçalho Content-Type, e passe url para o modelo. Extensões aceitas: .mp3 .wav .m4a .aac .ogg .opus .flac .mp4 .mov .m4v .webm. Retorna 402 se seu saldo estiver abaixo do valor mínimo para um minuto de áudio.

{
  "uploadUrl": "https://...r2.cloudflarestorage.com/...&X-Amz-Signature=...",
  "url": "https://cdn.veevid.ai/remove-background-noise/input/...mp3",
  "key": "remove-background-noise/input/...mp3",
  "contentType": "audio/mpeg"
}

Modelos

Cada modelo abaixo é chamado através de POST /api/generate-video com seu mode e generation_type. Abra um modelo para ver seus parâmetros, arquivos de entrada, regras e um exemplo de corpo de requisição. Parâmetros marcados com afeta o preço alteram o custo em créditos — use /api/quote para o valor exato. Os padrões são o que a API usa quando você omite um campo, o que nem sempre é o que o site pré-seleciona, então envie os valores que você deseja explicitamente.

Modelos de Vídeo

Geração de texto-para-vídeo, imagem-para-vídeo e referência-para-vídeo.

Modelomodogeneration_type
Google Veo 3.1veo3text-to-video, image-to-video, reference-to-video
Grok Imaginegrok-imaginetext-to-video, image-to-video
Kling 2.6kling-2-6text-to-video, image-to-video
Kling 3.0kling-3text-to-video, image-to-video
LTX 2.5ltx-2-5text-to-video, image-to-video
LTX 2.3ltx-2-3text-to-video, image-to-video
Wan Animatewan-animateimage-to-video
Veevid 2.0 Proveevid-2.0-protext-to-video, image-to-video
Veevid 2.5 Proveevid-2.5-protext-to-video, image-to-video
Seedance 2.0seedance-2.0text-to-video, image-to-video, reference-to-video
Seedance 2.5seedance-2.5text-to-video, image-to-video, reference-to-video
Wan 2.6wan-2-6text-to-video, image-to-video, reference-to-video
Wan 2.7wan-2.7text-to-video, image-to-video, reference-to-video
Wan 3.0wan-3.0text-to-video, image-to-video, reference-to-video
MiniMax H3minimax-h3text-to-video, image-to-video, reference-to-video
MiniMax H3 Maxminimax-h3-maxtext-to-video, image-to-video, reference-to-video
MiniMax H3 Max Camera Controlsminimax-h3-max-cameracamera-controls
MiniMax H3 Max Lip Syncminimax-h3-max-lip-synclip-sync
Gemini Omnigemini-omnitext-to-video, image-to-video, reference-to-video
Borealcreatify-borealtext-to-video, image-to-video

Google Veo 3.1 modo: veo3

text-to-video

Gera um vídeo de 4 a 8 segundos com áudio nativo a partir de um prompt de texto usando Google Veo 3.1 (níveis Lite / Fast / Quality).

ParâmetroValores e notas
prompt string · obrigatórioDescrição da cena (obrigatório, não vazio, máximo 20000 caracteres).
video_quality string afeta o preço padrão "standard""lite", "standard", "pro" Nível: lite = Lite, standard = Fast, pro = Quality. Sempre envie video_quality.
resolution string afeta o preço padrão "720p""720p", "1080p", "4k" Resolução de saída.
duration string padrão "8""4", "6", "8" Segundos: "4", "6" ou "8" (padrão 8).
aspect_ratio string padrão "16:9""16:9", "9:16" 16:9 (paisagem) ou 9:16 (retrato).
watermark stringTexto de marca d'água personalizado opcional (máximo 200 caracteres).

Regras

  • resolution, quando enviado, deve ser 720p, 1080p ou 4k (422 caso contrário).
  • duration, quando enviado, deve ser '4', '6' ou '8' (400 caso contrário); duration omitido torna-se '8'.
  • Envie lite, standard ou pro: qualquer outro valor aceito de video_quality (ex.: "1080p") é tratado como o nível Quality (pro) — defina o tamanho de saída com resolution.
  • O preço depende apenas do nível de video_quality e da resolução; duration e aspect_ratio não alteram o preço.

Exemplo de corpo de requisição

{
  "mode": "veo3",
  "generation_type": "text-to-video",
  "prompt": "A golden retriever running through sunflowers, cinematic lighting",
  "video_quality": "standard",
  "resolution": "720p",
  "duration": "8",
  "aspect_ratio": "16:9"
}

image-to-video

Anima um primeiro quadro (opcionalmente até um último quadro) em um vídeo Veo 3.1 de 4 a 8 segundos com áudio nativo.

ParâmetroValores e notas
prompt string · obrigatórioDescrição de movimento/cena (obrigatório, não vazio, máximo 20000 caracteres).
images string[] · obrigatório[first_frame_url] ou [first_frame_url, last_frame_url]. Uma única string image também é aceita.
video_quality string afeta o preço padrão "standard""lite", "standard", "pro" Nível: lite = Lite, standard = Fast, pro = Quality. Sempre envie video_quality.
resolution string afeta o preço padrão "720p""720p", "1080p", "4k" Resolução de saída; mesma tabela de preços do texto-para-vídeo.
duration string padrão "8""4", "6", "8" Segundos: "4", "6" ou "8" (padrão 8).
aspect_ratio string padrão "16:9""16:9", "9:16" 16:9 (paisagem) ou 9:16 (retrato).
watermark stringTexto de marca d'água personalizado opcional (máximo 200 caracteres).

Arquivos de entrada

  • images: 1-2 URLs de imagem: primeiro quadro, último quadro opcional (máximo 10MB por imagem)

Pastas de upload para /api/storage/upload

  • image: video-generator-veo3

Regras

  • image ou um array images não vazio é obrigatório (400 'Image is required for image-to-video generation').
  • Envie 1 ou 2 imagens: o primeiro quadro e um último quadro opcional.
  • resolution deve ser 720p/1080p/4k (422) e duration 4/6/8 (400) quando enviados.
  • Envie lite, standard ou pro: qualquer outro valor aceito de video_quality (ex.: "1080p") é tratado como o nível Quality (pro) — defina o tamanho de saída com resolution.
  • O preço depende apenas do nível de video_quality e da resolução.
  • Para guiar a geração com imagens de referência (em vez de primeiro/último quadro), use generation_type reference-to-video.

Exemplo de corpo de requisição

{
  "mode": "veo3",
  "generation_type": "image-to-video",
  "prompt": "The woman slowly turns toward the camera and smiles",
  "images": [
    "https://example.com/first-frame.jpg"
  ],
  "video_quality": "standard",
  "resolution": "720p",
  "duration": "8",
  "aspect_ratio": "16:9"
}

reference-to-video

Gera um vídeo Veo 3.1 de 8 segundos que mantém os sujeitos consistentes com 1-3 imagens de referência.

ParâmetroValores e notas
prompt string · obrigatórioDescrição da cena (obrigatório, não vazio).
images string[] · obrigatório1-3 URLs de imagem de referência.
video_quality string afeta o preço padrão "standard""lite", "standard" Apenas os níveis Lite (lite) e Fast (standard) aceitam imagens de referência.
resolution string afeta o preço padrão "720p""720p", "1080p", "4k"
duration string padrão "8""8" Fixado em 8 segundos.
aspect_ratio string padrão "16:9""16:9" Envie 16:9; o modo de referência suporta apenas 16:9.
watermark stringTexto de marca d'água personalizado opcional (máximo 200 caracteres).

Arquivos de entrada

  • images: 1-3 URLs de imagem de referência (máximo 10MB por imagem)

Pastas de upload para /api/storage/upload

  • image: video-generator-veo3

Regras

  • images deve conter 1-3 URLs (400 'Reference-to-video requires 1-3 images').
  • video_quality, quando enviado, deve ser lite ou standard; o nível Quality é rejeitado com 422.
  • duration, quando enviado, deve ser '8' (422).
  • resolution deve ser 720p/1080p/4k (422) quando enviado.

Exemplo de corpo de requisição

{
  "mode": "veo3",
  "generation_type": "reference-to-video",
  "prompt": "The character from the reference walks through a neon-lit street at night",
  "images": [
    "https://example.com/character.png"
  ],
  "video_quality": "standard",
  "resolution": "720p",
  "duration": "8",
  "aspect_ratio": "16:9"
}

Grok Imagine modo: grok-imagine

text-to-video

Gere um vídeo de 6 a 30 segundos com áudio sincronizado a partir de um prompt de texto usando xAI Grok Imagine.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (obrigatório, não vazio).
duration string afeta o preço padrão "6"6–30 Segundos inteiros enviados como string, 6-30.
video_quality string afeta o preço padrão "720p""480p", "720p" Resolução de saída: 480p ou 720p. Sempre envie video_quality.
grokMode string padrão "normal""fun", "normal", "spicy" Modo de estilo Grok: fun, normal ou spicy.
aspect_ratio string padrão "16:9""2:3", "3:2", "1:1", "9:16", "16:9" Proporção de tela de saída; use um dos valores listados. Sempre envie aspect_ratio explicitamente (16:9 é usado quando omitido).

Regras

  • duration deve ser uma string inteira entre 6 e 30 (400 caso contrário); duration omitido tem padrão 6.
  • video_quality, quando enviado, deve ser 480p ou 720p (400 caso contrário).
  • grokMode deve ser fun, normal ou spicy; aspect_ratio deve ser um dos valores listados.
  • prompt deve ser não vazio.

Exemplo de corpo de requisição

{
  "mode": "grok-imagine",
  "generation_type": "text-to-video",
  "prompt": "A cat DJ spinning records in a neon club, crowd cheering",
  "duration": "6",
  "video_quality": "480p",
  "aspect_ratio": "1:1",
  "grokMode": "normal"
}

image-to-video

Anime uma ou mais imagens em um vídeo de 6 a 30 segundos com áudio usando xAI Grok Imagine.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (obrigatório, não vazio).
duration string afeta o preço padrão "6"6–30 Segundos inteiros enviados como string, 6-30.
video_quality string afeta o preço padrão "720p""480p", "720p" Resolução de saída: 480p ou 720p. Sempre envie video_quality.
grokMode string padrão "normal""fun", "normal", "spicy" Modo de estilo Grok: fun, normal ou spicy.
aspect_ratio string"2:3", "3:2", "1:1", "9:16", "16:9" Proporção de tela de saída; use um dos valores listados. Quando omitido, uma requisição de imagem única segue a imagem e uma requisição de múltiplas imagens usa 16:9.
images arrayArray opcional de todas as URLs de imagem quando mais de uma imagem é usada (a primeira também vai em image).
image stringURL da primeira imagem. Obrigatório, a menos que você a envie como images[0].

Arquivos de entrada

  • image: URL da primeira imagem.
  • images: Array opcional de até 7 URLs de imagem quando mais de uma imagem é usada (jpg/png/webp, máximo 10MB cada).

Pastas de upload para /api/storage/upload

  • image: video-generator-grok-imagine

Regras

  • imagem-para-vídeo requer image ou images (400).
  • Envie no máximo 7 imagens.
  • aspect_ratio só se aplica quando mais de uma imagem é usada; com uma única imagem, a saída segue a imagem.
  • duration deve ser uma string inteira entre 6 e 30 (400 caso contrário); duration omitido tem padrão 6.
  • video_quality, quando enviado, deve ser 480p ou 720p (400 caso contrário).
  • grokMode deve ser fun, normal ou spicy; aspect_ratio deve ser um dos valores listados.
  • prompt deve ser não vazio.

Exemplo de corpo de requisição

{
  "mode": "grok-imagine",
  "generation_type": "image-to-video",
  "prompt": "She turns toward the camera and laughs as the wind blows her hair",
  "image": "https://example.com/portrait.jpg",
  "duration": "6",
  "video_quality": "480p",
  "aspect_ratio": "1:1",
  "grokMode": "normal"
}

Kling 2.6 modo: kling-2-6

text-to-video

Gera um vídeo cinematográfico com áudio nativo sincronizado opcional a partir de um prompt de texto usando Kling 2.6.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (obrigatório, não vazio, máximo 20000 caracteres).
negative_prompt stringCoisas opcionais a evitar (máximo 2000 caracteres).
duration string afeta o preço padrão "5""5", "10" Segundos, enviados como string: "5" ou "10".
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1" Proporção de tela de saída.
generate_audio boolean afeta o preço padrão trueGera áudio nativo.

Regras

  • duration deve ser '5' ou '10'; aspect_ratio deve ser um de 16:9, 9:16, 1:1.

Exemplo de corpo de requisição

{
  "mode": "kling-2-6",
  "generation_type": "text-to-video",
  "prompt": "A red fox running through a snowy forest at sunrise, cinematic",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": true
}

image-to-video

Anima uma imagem inicial em um vídeo guiado por um prompt de texto, com áudio nativo sincronizado opcional, usando Kling 2.6.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto descrevendo o movimento (obrigatório, não vazio).
image string · obrigatórioURL pública da imagem do quadro inicial.
negative_prompt stringItens opcionais a evitar (máximo de 2000 caracteres).
duration string afeta o preço padrão "5""5", "10" Segundos, enviados como string: "5" ou "10".
aspect_ratio string padrão "16:9""16:9" Envie 16:9; a saída segue a proporção da imagem de entrada.
generate_audio boolean afeta o preço padrão trueGera áudio nativo.

Arquivos de entrada

  • image: 1 URL de imagem usada como quadro inicial (JPEG/PNG/WebP, máx. 10MB)

Pastas de upload para /api/storage/upload

  • image: video-generator-kling26

Regras

  • image (ou images[0]) é obrigatório para imagem-para-vídeo, caso contrário 400 'Image is required for image-to-video generation'.
  • Apenas uma imagem é usada (quadro inicial); não há suporte a quadro final para Kling 2.6.
  • duration deve ser '5' ou '10'.

Exemplo de corpo de requisição

{
  "mode": "kling-2-6",
  "generation_type": "image-to-video",
  "prompt": "The woman slowly turns her head and smiles",
  "image": "https://cdn.veevid.ai/sample/motion-control-image-1.webp",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": true
}

Modo Kling 3.0: kling-3

text-to-video

Gera um vídeo de 3 a 15 segundos com áudio nativo opcional a partir de um prompt de texto ou de uma lista de prompts multi-cena usando Kling 3.0 Standard/Pro.

ParâmetroValores e observações
prompt stringPrompt de texto único. Obrigatório a menos que multi_prompt seja usado; envie prompt ou multi_prompt, não ambos (envie prompt como string vazia ao usar multi_prompt).
multi_prompt arrayPrompts multi-cena: array de {prompt: string (máx. 5000 caracteres), duration: string segundos 3-15}. Defina duration como a soma das durações dos itens.
model_version string afeta o preço padrão "kling-3-standard""kling-3-standard", "kling-3-pro" Nível de qualidade Standard ou Pro.
duration string afeta o preço padrão "5"3–15 Total de segundos como string, passo inteiro de 1.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1" Proporção de saída.
generate_audio boolean afeta o preço padrão falseÁudio nativo. Quando omitido, o vídeo é gerado sem áudio (e precificado como silencioso); o site envia true.
shot_type string padrão "customize""customize", "intelligent" 'customize' ou 'intelligent'.
cfg_scale number padrão 0.50–1 Adesão ao prompt, 0-1 (passo 0.01).
negative_prompt stringItens opcionais a evitar (máximo de 2000 caracteres).

Regras

  • duration deve ser um inteiro de 3 a 15.
  • aspect_ratio deve ser um de 16:9, 9:16, 1:1 quando fornecido.
  • model_version deve ser kling-3-standard ou kling-3-pro, caso contrário 400.
  • prompt e multi_prompt não devem ambos ser não vazios; com multi_prompt, defina duration como a soma das durações dos itens.

Exemplo de corpo de requisição

{
  "mode": "kling-3",
  "generation_type": "text-to-video",
  "prompt": "A drone shot flying over a neon-lit city at night, rain reflections",
  "model_version": "kling-3-standard",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": true,
  "shot_type": "customize",
  "cfg_scale": 0.5
}

image-to-video

Anima um quadro inicial (opcionalmente até um quadro final) em um vídeo de 3 a 15 segundos com áudio nativo opcional (Kling 3.0 Standard ou Pro).

ParâmetroValores e observações
prompt stringPrompt de texto. Obrigatório a menos que multi_prompt seja usado; nunca envie ambos não vazios.
image stringURL pública do quadro inicial. Se images também for enviado, images[0] tem precedência.
images array[start_frame_url] ou [start_frame_url, end_frame_url]. images[0] é o quadro inicial (tem precedência sobre image), images[1] é o quadro final opcional.
multi_prompt arrayArray de {prompt, duration} para geração multi-cena. Não combine com um quadro final.
model_version string afeta o preço padrão "kling-3-standard""kling-3-standard", "kling-3-pro"
duration string afeta o preço padrão "5"3–15 Total de segundos como string.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1"
generate_audio boolean afeta o preço padrão falseÁudio nativo. Quando omitido, o vídeo é gerado sem áudio (e precificado como silencioso); o site envia true.
shot_type string padrão "customize""customize" Envie 'customize'.
cfg_scale number padrão 0.50–1
negative_prompt stringPrompt negativo opcional (máx. 2000 caracteres); omita quando vazio.

Arquivos de entrada

  • image: 1 URL de imagem (quadro inicial); JPEG/PNG/WebP, máx. 10MB
  • images: 1-2 URLs de imagem: [start_frame] ou [start_frame, end_frame]; apenas as duas primeiras são usadas

Pastas de upload para /api/storage/upload

  • image: video-generator-kling3
  • images: video-generator-kling3

Regras

  • image ou images[0] é obrigatório, caso contrário 400 'Image is required for image-to-video generation'.
  • duration deve ser um inteiro de 3 a 15; aspect_ratio um de 16:9, 9:16, 1:1; model_version kling-3-standard ou kling-3-pro.
  • images[1] é usado como quadro final; um quadro final não pode ser combinado com multi_prompt.

Exemplo de corpo de requisição

{
  "mode": "kling-3",
  "generation_type": "image-to-video",
  "prompt": "The character walks toward the camera as the wind blows her hair",
  "image": "https://cdn.veevid.ai/sample/motion-control-image-1.webp",
  "images": [
    "https://cdn.veevid.ai/sample/motion-control-image-1.webp"
  ],
  "model_version": "kling-3-pro",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": true,
  "shot_type": "customize",
  "cfg_scale": 0.5
}

Modo LTX 2.5: ltx-2-5

text-to-video

Gera um vídeo de 720p a 4K com áudio nativo a partir de um prompt de texto usando LTX 2.5 Fast ou Pro; com um arquivo de áudio de condução, anima uma cena para esse áudio (áudio-para-vídeo).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (obrigatório, não vazio).
model_version string afeta o preço padrão "ltx-2.5-fast""ltx-2.5-fast", "ltx-2.5-pro" Nível Fast ou Pro. Fast: 720p-2160p, 6-20s. Pro: 720p/1080p, 6/8/10s.
duration string afeta o preço padrão "6""6", "8", "10", "12", "14", "16", "18", "20" Segundos, enviados como string. Pro suporta apenas 6/8/10; 12-20 exigem ltx-2.5-fast. Ignorado quando audio é enviado (o clipe tem a duração do áudio).
video_quality string afeta o preço padrão "1080p""720p", "1080p", "1440p", "2160p" Resolução de saída. Pro suporta apenas 720p/1080p. Fast com mais de 10s suporta apenas 720p/1080p. Ignorado quando audio é enviado (sempre 1080p).
aspect_ratio string padrão "16:9""16:9", "9:16" 16:9 ou 9:16 ('auto' também é aceito quando audio é enviado). 16:9 quando omitido.
target_fps number padrão 2524, 25, 48, 50 Quadros por segundo. Pro: 24, 25 ou 50. Fast: 24, 25, 48 ou 50; Fast com mais de 10s apenas 24 ou 25. Ignorado quando audio é enviado.
generate_audio boolean padrão trueGera uma trilha de áudio nativa. Mesmo preço de qualquer forma. Ignorado quando audio é enviado.
camera_motion string"dolly_in", "dolly_out", "dolly_left", "dolly_right", "jib_up", "jib_down", "static", "focus_shift" Movimento de câmera opcional. Omita para deixar o prompt decidir. Não permitido junto com audio (400).
audio string afeta o preçoÁudio de condução opcional (2-20s; Pro 2-10s). Alterna para áudio-para-vídeo: o clipe segue o áudio e tem a mesma duração, sempre em 1080p. O preço então depende da duração do áudio. Deve ser um arquivo enviado com POST /api/storage/upload para a pasta 'ltx25/audio'; qualquer outra URL é rejeitada com 400 antes da cobrança.
input_audio_duration number afeta o preço2–20 Duração do áudio de condução em segundos. O servidor mede o arquivo enviado e usa a duração medida (seu valor é usado apenas quando está dentro de 0,15s da medição). Necessário apenas para cotar antes de enviar o áudio.
guidance_scale number1–50 Apenas áudio-para-vídeo (400 sem audio). Omita para usar o padrão do modelo.

Arquivos de entrada

  • audio: Opcional: 1 arquivo de áudio de condução (2-20s, Pro 2-10s; máx. 15MB), enviado para a pasta 'ltx25/audio'

Pastas de upload para /api/storage/upload

  • audio: ltx25/audio

Regras

  • texto-para-vídeo não aceita imagens (400); use imagem-para-vídeo.
  • duration deve ser um de '6','8','10' para ltx-2.5-pro e '6'-'20' (par) para ltx-2.5-fast (400 caso contrário).
  • video_quality deve ser 720p ou 1080p para ltx-2.5-pro; 720p, 1080p, 1440p ou 2160p para ltx-2.5-fast (400 caso contrário).
  • ltx-2.5-fast com mais de 10s suporta apenas 720p/1080p e 24/25 fps (400 caso contrário).
  • Combinações inválidas são rejeitadas com 400 antes da cobrança; nada é silenciosamente rebaixado.
  • audio deve ser enviado primeiro com POST /api/storage/upload (pasta 'ltx25/audio'); URLs externas e arquivos em outras pastas são rejeitados com 400 antes da cobrança.
  • Se o servidor não conseguir ler a duração do arquivo de áudio enviado, a requisição é rejeitada com 400; reencodifique como MP3 ou WAV e envie novamente.
  • O áudio deve ter 2-20s de duração (Pro: 2-10s), medido no servidor (400 caso contrário).
  • Com audio: duration, video_quality, target_fps e generate_audio são ignorados; camera_motion e uma imagem final são rejeitados (400).
  • Para cotar áudio-para-vídeo, envie a URL audio enviada (a cotação mede o arquivo). Antes de enviar, envie has_audio_input: true e input_audio_duration em vez disso.
  • A geração é assíncrona; consulte por generation_id.

Exemplo de corpo de requisição

{
  "mode": "ltx-2-5",
  "generation_type": "text-to-video",
  "prompt": "A slow cinematic dolly shot through a neon-lit rainy street at night",
  "model_version": "ltx-2.5-fast",
  "duration": "6",
  "video_quality": "720p",
  "aspect_ratio": "16:9",
  "target_fps": 25,
  "generate_audio": true
}

image-to-video

Anima uma imagem inicial (opcionalmente até uma imagem final) em um vídeo de 720p a 4K com áudio nativo usando LTX 2.5 Fast ou Pro; com um arquivo de áudio de condução, anima a imagem para esse áudio (áudio-para-vídeo).

ParâmetroValores e observações
prompt stringPrompt de texto descrevendo o movimento. Obrigatório a menos que audio seja enviado.
image stringURL pública da imagem inicial (primeiro quadro). Obrigatória a menos que você a envie como images[0]; quando ambos são enviados, eles são mesclados (image primeiro, duplicatas removidas).
images string[][start_url] ou [start_url, end_url]. A segunda imagem é usada como quadro final (não permitido com audio). Mais de 2 imagens é rejeitado (400).
model_version string afeta o preço padrão "ltx-2.5-fast""ltx-2.5-fast", "ltx-2.5-pro" Nível Fast ou Pro. Fast: 720p-2160p, 6-20s. Pro: 720p/1080p, 6/8/10s.
duration string afeta o preço padrão "6""6", "8", "10", "12", "14", "16", "18", "20" Segundos, enviados como string. Pro suporta apenas 6/8/10; 12-20 exigem ltx-2.5-fast. Ignorado quando audio é enviado (o clipe tem a duração do áudio).
video_quality string afeta o preço padrão "1080p""720p", "1080p", "1440p", "2160p" Resolução de saída. Pro suporta apenas 720p/1080p. Fast com mais de 10s suporta apenas 720p/1080p. Ignorado quando audio é enviado (sempre 1080p).
aspect_ratio string padrão "16:9""auto", "16:9", "9:16" 'auto' segue a imagem inicial; caso contrário, 16:9 ou 9:16. 16:9 quando omitido (envie 'auto' para manter o enquadramento da imagem).
target_fps number padrão 2524, 25, 48, 50 Quadros por segundo. Pro: 24, 25 ou 50. Fast: 24, 25, 48 ou 50; Fast com mais de 10s apenas 24 ou 25. Ignorado quando audio é enviado.
generate_audio boolean padrão trueGera uma trilha de áudio nativa. Mesmo preço de qualquer forma. Ignorado quando audio é enviado.
camera_motion string"dolly_in", "dolly_out", "dolly_left", "dolly_right", "jib_up", "jib_down", "static", "focus_shift" Movimento de câmera opcional. Omita para deixar o prompt decidir. Não permitido junto com audio (400).
audio string afeta o preçoÁudio de condução opcional (2-20s; Pro 2-10s). Alterna para áudio-para-vídeo: o clipe segue o áudio e tem a mesma duração, sempre em 1080p. O preço então depende da duração do áudio. Deve ser um arquivo enviado com POST /api/storage/upload para a pasta 'ltx25/audio'; qualquer outra URL é rejeitada com 400 antes da cobrança.
input_audio_duration number afeta o preço2–20 Duração do áudio de condução em segundos. O servidor mede o arquivo enviado e usa a duração medida (seu valor é usado apenas quando está dentro de 0,15s da medição). Necessário apenas para cotar antes de enviar o áudio.
guidance_scale number1–50 Apenas áudio-para-vídeo (400 sem audio). Omita para usar o padrão do modelo.

Arquivos de entrada

  • image: 1 URL de imagem usada como primeiro quadro
  • images: Opcional: [start, end] - 2 URLs de imagem; a segunda é usada como último quadro
  • audio: Opcional: 1 arquivo de áudio de condução (2-20s, Pro 2-10s; máx. 15MB), enviado para a pasta 'ltx25/audio'

Pastas de upload para /api/storage/upload

  • image: video-generator-ltx25
  • end image: video-generator-ltx25-end
  • audio: ltx25/audio

Regras

  • image-to-video requer uma imagem inicial em image ou images (400 'LTX 2.5 image-to-video requires a start image').
  • Quadro inicial = primeira imagem; quadro final = segunda imagem, se presente. A imagem final não altera o preço.
  • duration deve ser um de '6','8','10' para ltx-2.5-pro e '6'-'20' (par) para ltx-2.5-fast (400 caso contrário).
  • video_quality deve ser 720p ou 1080p para ltx-2.5-pro; 720p, 1080p, 1440p ou 2160p para ltx-2.5-fast (400 caso contrário).
  • ltx-2.5-fast com duração maior que 10s suporta apenas 720p/1080p e 24/25 fps (400 caso contrário).
  • Combinações inválidas são rejeitadas com 400 antes da cobrança; nada é rebaixado silenciosamente.
  • audio deve ser enviado primeiro com POST /api/storage/upload (pasta 'ltx25/audio'); URLs externas e arquivos em outras pastas são rejeitados com 400 antes da cobrança.
  • Se o servidor não conseguir ler a duração do arquivo de áudio enviado, a solicitação é rejeitada com 400; reencodifique-o como MP3 ou WAV e envie novamente.
  • O áudio deve ter 2-20s de duração (Pro: 2-10s), medido no servidor (400 caso contrário).
  • Com audio: duration, video_quality, target_fps e generate_audio são ignorados; camera_motion e uma imagem final são rejeitados (400).
  • Para cotar audio-to-video, envie a URL audio enviada (a cotação mede o arquivo). Antes de enviar, envie has_audio_input: true e input_audio_duration em vez disso.
  • A geração é assíncrona; consulte por generation_id.

Exemplo de corpo de solicitação

{
  "mode": "ltx-2-5",
  "generation_type": "image-to-video",
  "prompt": "The woman turns toward the camera and smiles as the wind moves her hair",
  "image": "https://example.com/start.jpg",
  "images": [
    "https://example.com/start.jpg"
  ],
  "model_version": "ltx-2.5-fast",
  "duration": "6",
  "video_quality": "1080p",
  "aspect_ratio": "auto",
  "target_fps": 25,
  "generate_audio": true
}

Modo LTX 2.3: ltx-2-3

text-to-video

Gera um vídeo de alta resolução (1080p-2160p) com áudio nativo opcional a partir de um prompt de texto usando LTX 2.3 ou LTX 2.3 Fast.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (obrigatório, não vazio, máx. 20000 caracteres).
model_version string afeta o preço padrão "ltx-2.3""ltx-2.3", "ltx-2.3-fast" Variante Padrão ou Fast. Use um dos valores listados.
duration string · obrigatório afeta o preço"6", "8", "10", "12", "14", "16", "18", "20" Segundos, enviados como string. Padrão ('ltx-2.3') suporta apenas 6/8/10; 12-20 exigem 'ltx-2.3-fast'. Sempre envie explicitamente.
video_quality string afeta o preço padrão "1080p""1080p", "1440p", "2160p" Resolução de saída. Forçado para 1080p quando model_version é 'ltx-2.3-fast' e duration > 10.
aspect_ratio string padrão "16:9""16:9", "9:16" 16:9 ou 9:16 para text-to-video.
target_fps number padrão 2424, 25, 48, 50 Quadros por segundo: 24, 25, 48 ou 50. Envie explicitamente (24 é usado quando omitido). Forçado para 25 quando model_version é 'ltx-2.3-fast' e duration > 10.
generate_audio boolean padrão trueGera trilha de áudio nativa.

Regras

  • Sempre envie duration; deve ser um de '6','8','10','12','14','16','18','20' (400 caso contrário).
  • model_version 'ltx-2.3' suporta apenas duration 6/8/10; 'ltx-2.3-fast' suporta 6-20 (par). Outras combinações fazem a geração falhar.
  • video_quality deve ser um de 1080p, 1440p, 2160p (400 caso contrário); padrão é 1080p.
  • target_fps deve ser 24, 25, 48 ou 50; outros valores fazem a geração falhar.
  • Com ltx-2.3-fast e duration > 10, a saída é sempre 1080p a 25 fps e precificada como 1080p.
  • aspect_ratio: use um dos valores listados.
  • A geração é assíncrona; consulte por generation_id.

Exemplo de corpo de solicitação

{
  "mode": "ltx-2-3",
  "generation_type": "text-to-video",
  "prompt": "A slow cinematic dolly shot through a neon-lit rainy street at night",
  "model_version": "ltx-2.3",
  "duration": "6",
  "video_quality": "1080p",
  "aspect_ratio": "16:9",
  "target_fps": 25,
  "generate_audio": true
}

image-to-video

Anima uma imagem inicial (opcionalmente em direção a uma imagem final) em um vídeo de alta resolução com áudio nativo opcional usando LTX 2.3 ou LTX 2.3 Fast.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto descrevendo o movimento (obrigatório, não vazio, máx. 20000 caracteres).
image stringURL pública da imagem inicial (primeiro quadro). Obrigatória a menos que você envie images; quando ambos são enviados, images[0] é usado.
images string[][start_url] ou [start_url, end_url]. images[1], se presente, é usado como quadro final.
model_version string afeta o preço padrão "ltx-2.3""ltx-2.3", "ltx-2.3-fast" Variante Padrão ou Fast. Use um dos valores listados.
duration string · obrigatório afeta o preço"6", "8", "10", "12", "14", "16", "18", "20" Segundos, enviados como string. Padrão suporta apenas 6/8/10; 12-20 exigem 'ltx-2.3-fast'. Sempre envie explicitamente.
video_quality string afeta o preço padrão "1080p""1080p", "1440p", "2160p" Resolução de saída. Forçado para 1080p quando Fast e duration > 10.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16" 'auto' segue a imagem de entrada; caso contrário, 16:9 ou 9:16.
target_fps number padrão 2424, 25, 48, 50 Quadros por segundo: 24, 25, 48 ou 50. Envie explicitamente (24 é usado quando omitido). Forçado para 25 quando Fast e duration > 10.
generate_audio boolean padrão trueGera trilha de áudio nativa.

Arquivos de entrada

  • image: 1 URL de imagem usada como primeiro quadro (JPEG/PNG/GIF, máx. 10MB)
  • images: Opcional: [start, end] - 2 URLs de imagem; a segunda é usada como último quadro

Pastas de upload para /api/storage/upload

  • image: video-generator-ltx23
  • end image: video-generator-ltx23-end

Regras

  • image-to-video requer image ou um array images não vazio (400 'Image is required for image-to-video generation').
  • Quadro inicial = image (ou images[0] se image estiver ausente); quadro final = images[1] se presente.
  • Sempre envie duration; deve ser um de '6','8','10','12','14','16','18','20' (400 caso contrário).
  • model_version 'ltx-2.3' suporta apenas duration 6/8/10; 'ltx-2.3-fast' suporta 6-20 (par). Outras combinações fazem a geração falhar.
  • video_quality deve ser um de 1080p, 1440p, 2160p (400 caso contrário); padrão é 1080p.
  • target_fps deve ser 24, 25, 48 ou 50; outros valores fazem a geração falhar.
  • Com ltx-2.3-fast e duration > 10, a saída é sempre 1080p a 25 fps e precificada como 1080p.
  • aspect_ratio: use um dos valores listados.
  • A imagem final não altera o preço.

Exemplo de corpo de solicitação

{
  "mode": "ltx-2-3",
  "generation_type": "image-to-video",
  "prompt": "The woman turns toward the camera and smiles as the wind moves her hair",
  "image": "https://example.com/start.jpg",
  "images": [
    "https://example.com/start.jpg"
  ],
  "model_version": "ltx-2.3",
  "duration": "6",
  "video_quality": "1080p",
  "aspect_ratio": "16:9",
  "target_fps": 25,
  "generate_audio": true
}

Modo Wan Animate: wan-animate

image-to-video

Anima uma imagem de personagem com o movimento de um vídeo de referência (animate), ou substitui a pessoa no vídeo de referência pelo personagem (replace).

ParâmetroValores e notas
image string · obrigatórioURL pública da imagem do personagem.
video string · obrigatórioURL pública do vídeo de referência (direção), até 120 segundos.
animationMode string padrão "animate""animate", "replace" 'animate' = personagem executa o movimento do vídeo de referência; 'replace' = personagem substitui a pessoa no vídeo de referência.
video_quality string · obrigatório afeta o preço"480p", "720p" Resolução de saída. Sempre envie ('480p' ou '720p').
duration string afeta o preço padrão "5"1–120 Duração do vídeo de referência em segundos inteiros (arredondado para cima), como string. Envie a duração real do vídeo de referência; ela determina o preço (5 quando omitido).
prompt stringOrientação de texto opcional, máx. 5000 caracteres; pode ser vazio.
aspect_ratio stringOpcional; pode ser omitido (a saída segue as entradas).

Arquivos de entrada

  • image: 1 URL de imagem do personagem (JPEG/PNG/GIF, máx. 10MB)
  • video: 1 URL de vídeo de referência, máx. 120 segundos (máx. 200MB)

Pastas de upload para /api/storage/upload

  • image: video-generator
  • video: wan-animate/reference-videos

Regras

  • image é obrigatório (400 'Character image is required for wan-animate generation').
  • video é obrigatório (400 'Reference video is required for wan-animate generation').
  • Quando enviado, duration deve ser um inteiro > 0 e <= 120 (400).
  • prompt, se enviado, deve ser <= 5000 caracteres (400).
  • generation_type deve ser 'image-to-video'.
  • Sempre envie video_quality ('480p' ou '720p').
  • animationMode deve ser 'animate' ou 'replace'; padrão é 'animate'.
  • Envie duration igual à duração do vídeo de referência em segundos inteiros (arredondado para cima).
  • A geração é assíncrona; consulte por generation_id.

Exemplo de corpo de solicitação

{
  "mode": "wan-animate",
  "generation_type": "image-to-video",
  "prompt": "",
  "image": "https://example.com/character.png",
  "video": "https://example.com/dance.mp4",
  "duration": "8",
  "video_quality": "480p",
  "aspect_ratio": "",
  "animationMode": "animate"
}

Modo Veevid 2.0 Pro: veevid-2.0-pro

text-to-video

Veevid 2.0 Pro text-to-video, 4-15s, camadas Mini/Fast/Standard até 4K com áudio nativo.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Obrigatório para text-to-video.
model_version string afeta o preço padrão "seedance-2.0""seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.0" Camada de qualidade: Mini, Fast ou Standard ('seedance-2.0'). Sempre envie model_version; quando omitido, Standard é usado. Mini/Fast suportam apenas 480p/720p.
duration string afeta o preço padrão "5"4–15 Duração da saída em segundos como string inteira; valores fora de 4-15 são limitados a 4-15.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p", "4k" Resolução de saída. 1080p/4k estão disponíveis apenas com Standard ('seedance-2.0'); com Mini/Fast são reduzidos para 720p e precificados como 720p. Padrão é 480p; use um dos valores listados.
aspect_ratio string padrão "16:9""auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" Proporção de aspecto de saída; 'auto' adapta-se ao conteúdo. Use um dos valores listados; quando omitido, 16:9 é usado.
generate_audio boolean padrão trueGera áudio nativo. Não altera o preço.
seed integer padrão -1Semente aleatória; -1 significa aleatório.

Regras

  • duration é limitado a 4-15 segundos (para preço e saída); nenhum erro de intervalo é retornado.
  • Sempre envie model_version; valores diferentes das camadas Mini/Fast são tratados como Standard ('seedance-2.0').
  • generate_audio e seed não afetam o preço.

Exemplo de corpo de solicitação

{
  "mode": "veevid-2.0-pro",
  "generation_type": "text-to-video",
  "prompt": "A chef flips a pancake in a sunlit kitchen, slow motion, warm tones",
  "model_version": "seedance-2.0-fast",
  "duration": "5",
  "aspect_ratio": "16:9",
  "video_quality": "480p",
  "generate_audio": true,
  "seed": -1
}

image-to-video

Veevid 2.0 Pro image-to-video com primeiro/último quadro opcional, 4-15s, camadas Mini/Fast/Standard até 4K com áudio nativo.

ParâmetroValores e notas
prompt stringPrompt de texto opcional (máx. 20000 caracteres).
image stringURL pública https da imagem do primeiro quadro. Obrigatória a menos que você envie como images[0].
images array<string>Opcional [first_frame_url, last_frame_url]; quando 2+ entradas são enviadas, a última é usada como último quadro.
model_version string afeta o preço padrão "seedance-2.0""seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.0" Camada de qualidade: Mini, Fast ou Standard ('seedance-2.0'). Sempre envie model_version; quando omitido, Standard é usado. Mini/Fast suportam apenas 480p/720p.
duration string afeta o preço padrão "5"4–15 Duração da saída em segundos como string inteira; valores fora de 4-15 são limitados a 4-15.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p", "4k" Resolução de saída. 1080p/4k estão disponíveis apenas com Standard ('seedance-2.0'); com Mini/Fast são reduzidos para 720p e precificados como 720p. Padrão é 480p; use um dos valores listados.
aspect_ratio string padrão "16:9""auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" Proporção de aspecto de saída; 'auto' adapta-se ao conteúdo. Use um dos valores listados; quando omitido, 16:9 é usado.
generate_audio boolean padrão trueGera áudio nativo. Não altera o preço.
seed integer padrão -1Semente aleatória; -1 significa aleatório.

Arquivos de entrada

  • image: 1 URL de imagem usada como primeiro quadro (JPEG/PNG/WebP, máx. 30MB)
  • images: opcional [first,last] para adicionar um último quadro

Pastas de upload para /api/storage/upload

  • image: seedance20

Regras

  • duration é limitado a 4-15 segundos (para preço e saída); nenhum erro de intervalo é retornado.
  • Sempre envie model_version; valores diferentes das camadas Mini/Fast são tratados como Standard ('seedance-2.0').
  • generate_audio e seed não afetam o preço.

Exemplo de corpo de solicitação

{
  "mode": "veevid-2.0-pro",
  "generation_type": "image-to-video",
  "prompt": "A chef flips a pancake in a sunlit kitchen, slow motion, warm tones",
  "model_version": "seedance-2.0-fast",
  "duration": "5",
  "aspect_ratio": "auto",
  "video_quality": "480p",
  "generate_audio": true,
  "seed": -1,
  "image": "https://example.com/first-frame.jpg",
  "images": [
    "https://example.com/first-frame.jpg"
  ]
}

Modo Veevid 2.5 Pro: veevid-2.5-pro

text-to-video

Veevid 2.5 Pro text-to-video, vídeos de uma única tomada 4-30s até 1080p com áudio nativo.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Um prompt ou pelo menos uma imagem é obrigatório.
duration string afeta o preço padrão "5"4–30 Duração da saída: string inteira 4-30, ou '-1' para deixar o modelo escolher a duração. Qualquer outro valor retorna 400.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p" Resolução de saída (1080p é HEVC de 10 bits). O padrão é 480p; use um dos valores listados.
aspect_ratio string padrão "16:9""auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" Proporção de tela da saída; 'auto' se adapta ao conteúdo. Use um dos valores listados; quando omitido, 16:9 é usado.
output_format string padrão "mp4""mp4", "mov" Contêiner. mov = H.264 yuv444p + áudio PCM (reprodução ruim no navegador). Apenas mp4/mov são válidos para este modo.
generate_audio boolean padrão trueGera áudio nativo. Não altera o preço.
seed integer padrão -1Semente aleatória; -1 significa aleatório.

Regras

  • duration deve ser uma string inteira pura 4-30 ou '-1'; caso contrário, 400.
  • output_format deve ser mp4 ou mov para este modo; formatos de imagem (PNG/JPEG) retornam 400.
  • output_format, generate_audio e seed não afetam o preço.
  • Resultados em 480p geralmente são rascunhos: a resposta de status então inclui seedance25_draft, e o rascunho pode ser atualizado uma vez para uma versão 1080p dentro de 7 dias com POST /api/video-generation/{id}/upgrade-draft.

Exemplo de corpo de requisição

{
  "mode": "veevid-2.5-pro",
  "generation_type": "text-to-video",
  "prompt": "A lighthouse keeper climbs the spiral stairs at dusk, one continuous take",
  "duration": "5",
  "aspect_ratio": "16:9",
  "video_quality": "480p",
  "output_format": "mp4",
  "generate_audio": true,
  "seed": -1
}

image-to-video

Veevid 2.5 Pro imagem-para-vídeo com primeiro/último quadro opcional, vídeos de uma única tomada de 4-30s até 1080p com áudio nativo.

ParâmetroValores e observações
prompt stringPrompt de texto (máx. 20000 caracteres). Um prompt ou pelo menos uma imagem é obrigatório.
image stringURL https pública da imagem do primeiro quadro. Obrigatório, a menos que você a envie como images[0].
images array<string>Opcional [first_frame_url, last_frame_url]; images[0] é usado como primeiro quadro e a última entrada (quando 2+) como último quadro.
duration string afeta o preço padrão "5"4–30 Duração da saída: string inteira 4-30, ou '-1' para deixar o modelo escolher a duração. Qualquer outro valor retorna 400.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p" Resolução de saída (1080p é HEVC de 10 bits). O padrão é 480p; use um dos valores listados.
aspect_ratio string padrão "auto""auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" Não aplicado para imagem-para-vídeo: a saída segue a proporção de tela do primeiro quadro. Envie 'auto'.
output_format string padrão "mp4""mp4", "mov" Contêiner. mov = H.264 yuv444p + áudio PCM (reprodução ruim no navegador). Apenas mp4/mov são válidos para este modo.
generate_audio boolean padrão trueGera áudio nativo. Não altera o preço.
seed integer padrão -1Semente aleatória; -1 significa aleatório.

Arquivos de entrada

  • image: 1 URL de imagem usado como primeiro quadro (JPEG/PNG/WebP, máx. 30MB)
  • images: opcional [first,last] para adicionar um último quadro

Pastas de upload para /api/storage/upload

  • image: seedance25

Regras

  • image (ou images) é obrigatório para imagem-para-vídeo, caso contrário, 400.
  • Para imagem-para-vídeo, a proporção de tela sempre segue o primeiro quadro, independentemente de aspect_ratio.
  • duration deve ser uma string inteira pura 4-30 ou '-1'; caso contrário, 400.
  • output_format deve ser mp4 ou mov para este modo; formatos de imagem (PNG/JPEG) retornam 400.
  • output_format, generate_audio e seed não afetam o preço.
  • Resultados em 480p geralmente são rascunhos: a resposta de status então inclui seedance25_draft, e o rascunho pode ser atualizado uma vez para uma versão 1080p dentro de 7 dias com POST /api/video-generation/{id}/upgrade-draft.

Exemplo de corpo de requisição

{
  "mode": "veevid-2.5-pro",
  "generation_type": "image-to-video",
  "prompt": "A lighthouse keeper climbs the spiral stairs at dusk, one continuous take",
  "duration": "5",
  "aspect_ratio": "auto",
  "video_quality": "480p",
  "output_format": "mp4",
  "generate_audio": true,
  "seed": -1,
  "image": "https://example.com/first-frame.jpg",
  "images": [
    "https://example.com/first-frame.jpg"
  ]
}

Modo Seedance 2.0: seedance-2.0

text-to-video

Gera um vídeo de 4-15s com áudio nativo opcional a partir de um prompt de texto usando ByteDance Seedance 2.0 (camadas Mini/Fast/Standard).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Obrigatório para texto-para-vídeo.
model_version string afeta o preço padrão "seedance-2.0""seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.0" Camada de qualidade: 'seedance-2.0-mini', 'seedance-2.0-fast' ou 'seedance-2.0' (Standard). Sempre envie model_version; quando omitido, Standard é usado. Mini e Fast suportam apenas 480p/720p.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p", "4k" Resolução de saída ('4K' também é aceito como 4k). O padrão é 480p; use um dos valores listados. 1080p e 4k estão disponíveis apenas com 'seedance-2.0'; com Mini/Fast eles caem para 720p.
duration string afeta o preço padrão "5"4–15 Duração da saída em segundos como uma string inteira (ex.: "5"), 4-15. Valores fora do intervalo são limitados a 4-15; valores não numéricos caem para 5.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" Proporção de tela da saída; 'auto' (ou 'adaptive') se adapta ao conteúdo. Use um dos valores listados; quando omitido, 16:9 é usado.
generate_audio boolean padrão trueGera trilha de áudio nativa.
seed integer padrão -1Semente aleatória; -1 = aleatório.

Regras

  • duration deve ser uma string JSON (ex.: "5"); um número retorna 400.
  • duration é limitado a 4-15 segundos (tanto para preço quanto para saída) em vez de ser rejeitado.
  • Sempre envie model_version; valores diferentes de seedance-2.0 / seedance-2.0-fast / seedance-2.0-mini são tratados como seedance-2.0 (Standard).
  • seedance-2.0-fast e seedance-2.0-mini suportam apenas 480p/720p; 1080p/4k solicitado é reduzido para 720p e precificado como 720p.
  • Créditos são deduzidos no envio (402 se insuficientes); créditos não utilizados são reembolsados automaticamente se a geração falhar.

Exemplo de corpo de requisição

{
  "mode": "seedance-2.0",
  "generation_type": "text-to-video",
  "prompt": "A red fox running through fresh snow at sunrise, cinematic tracking shot",
  "model_version": "seedance-2.0-fast",
  "video_quality": "480p",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": true,
  "seed": -1
}

image-to-video

Anima uma imagem de primeiro quadro (opcionalmente com uma imagem de último quadro) em um vídeo de 4-15s com Seedance 2.0.

ParâmetroValores e observações
prompt stringPrompt de texto opcional (máx. 20000 caracteres) quando imagem ou entradas de referência são fornecidas.
model_version string afeta o preço padrão "seedance-2.0""seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.0" Camada de qualidade: 'seedance-2.0-mini', 'seedance-2.0-fast' ou 'seedance-2.0' (Standard). Sempre envie model_version; quando omitido, Standard é usado. Mini e Fast suportam apenas 480p/720p.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p", "4k" Resolução de saída ('4K' também é aceito como 4k). O padrão é 480p; use um dos valores listados. 1080p e 4k estão disponíveis apenas com 'seedance-2.0'; com Mini/Fast eles caem para 720p.
duration string afeta o preço padrão "5"4–15 Duração da saída em segundos como uma string inteira (ex.: "5"), 4-15. Valores fora do intervalo são limitados a 4-15; valores não numéricos caem para 5.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" Proporção de tela da saída; 'auto' (ou 'adaptive') se adapta ao conteúdo. Use um dos valores listados; quando omitido, 16:9 é usado.
generate_audio boolean padrão trueGera trilha de áudio nativa.
seed integer padrão -1Semente aleatória; -1 = aleatório.
image stringURL da imagem do primeiro quadro. Obrigatório, a menos que você a envie como images[0].
images array<string>[first] ou [first, last]. images[0] é usado como primeiro quadro (substitui image), e o último elemento se torna o último quadro quando o comprimento > 1.

Arquivos de entrada

  • image: 1 URL de imagem pública usado como primeiro quadro (JPEG/PNG/WebP, máx. 30MB)
  • images: opcional [first_frame_url, last_frame_url] para o modo primeiro+último quadro

Pastas de upload para /api/storage/upload

  • image: seedance20

Regras

  • duration deve ser uma string JSON (ex.: "5"); um número retorna 400.
  • duration é limitado a 4-15 segundos (tanto para preço quanto para saída) em vez de ser rejeitado.
  • Sempre envie model_version; valores diferentes de seedance-2.0 / seedance-2.0-fast / seedance-2.0-mini são tratados como seedance-2.0 (Standard).
  • seedance-2.0-fast e seedance-2.0-mini suportam apenas 480p/720p; 1080p/4k solicitado é reduzido para 720p e precificado como 720p.
  • Créditos são deduzidos no envio (402 se insuficientes); créditos não utilizados são reembolsados automaticamente se a geração falhar.
  • aspect_ratio é aplicado como enviado para imagem-para-vídeo.
  • O preço é o mesmo que texto-para-vídeo (imagens não adicionam custo).

Exemplo de corpo de requisição

{
  "mode": "seedance-2.0",
  "generation_type": "image-to-video",
  "prompt": "The woman turns toward the camera and smiles",
  "image": "https://example.com/first.jpg",
  "images": [
    "https://example.com/first.jpg"
  ],
  "model_version": "seedance-2.0-fast",
  "video_quality": "720p",
  "duration": "5",
  "aspect_ratio": "auto",
  "generate_audio": true,
  "seed": -1
}

reference-to-video

Gera um vídeo de 4-15s guiado por referências multimodais (até 9 imagens, 3 vídeos, 3 clipes de áudio) com Seedance 2.0 omni reference.

ParâmetroValores e observações
prompt stringPrompt de texto opcional (máx. 20000 caracteres) quando imagem ou entradas de referência são fornecidas.
model_version string afeta o preço padrão "seedance-2.0""seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.0" Camada de qualidade: 'seedance-2.0-mini', 'seedance-2.0-fast' ou 'seedance-2.0' (Standard). Sempre envie model_version; quando omitido, Standard é usado. Mini e Fast suportam apenas 480p/720p.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p", "4k" Resolução de saída ('4K' também é aceito como 4k). O padrão é 480p; use um dos valores listados. 1080p e 4k estão disponíveis apenas com 'seedance-2.0'; com Mini/Fast eles caem para 720p.
duration string afeta o preço padrão "5"4–15 Duração da saída em segundos como uma string inteira (ex.: "5"), 4-15. Valores fora do intervalo são limitados a 4-15; valores não numéricos caem para 5.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" Proporção de tela da saída; 'auto' (ou 'adaptive') se adapta ao conteúdo. Use um dos valores listados; quando omitido, 16:9 é usado.
generate_audio boolean padrão trueGera trilha de áudio nativa.
seed integer padrão -1Semente aleatória; -1 = aleatório.
images array<string>URLs de imagem de referência (função reference_image). Máx. 9; extras são ignorados.
videos array<string> afeta o preçoURLs de vídeo de referência (função reference_video), mp4/mov. Máx. 3; extras são ignorados.
input_video_duration number afeta o preço0–15 Total de segundos de todos os vídeos de referência (arredondado para cima). Obrigatório quando vídeos são enviados; deve ser igual ao comprimento total dos vídeos de referência. >15 é rejeitado com 400; valores abaixo de 2 são precificados como 2.
audio stringOpcional; se enviado, defina-o como o primeiro URL de áudio de referência (audios[0]).
audios array<string>URLs de áudio de referência (função reference_audio). Máx. 3, .wav/.mp3, total <= 15s; extras são ignorados. O áudio não pode ser a única referência: pelo menos uma imagem ou vídeo é obrigatório.

Arquivos de entrada

  • images: 0-9 URLs de imagem de referência (JPEG/PNG/WebP; máx. 30MB cada)
  • videos: 0-3 URLs de vídeo de referência (mp4/mov, máx. 50MB cada, total <= 15s)
  • audios: 0-3 URLs de áudio de referência (wav/mp3, máx. 15MB cada, total <= 15s); requer pelo menos uma imagem ou vídeo

Pastas de upload para /api/storage/upload

  • image: seedance20
  • video: seedance20/reference-videos
  • audio: seedance20/audio

Regras

  • duration deve ser uma string JSON (ex.: "5"); um número retorna 400.
  • duration é limitado a 4-15 segundos (tanto para preço quanto para saída) em vez de ser rejeitado.
  • Sempre envie model_version; valores diferentes de seedance-2.0 / seedance-2.0-fast / seedance-2.0-mini são tratados como seedance-2.0 (Standard).
  • seedance-2.0-fast e seedance-2.0-mini suportam apenas 480p/720p; 1080p/4k solicitado é reduzido para 720p e precificado como 720p.
  • Créditos são deduzidos no envio (402 se insuficientes); créditos não utilizados são reembolsados automaticamente se a geração falhar.
  • Pelo menos uma imagem ou vídeo de referência é obrigatório (somente áudio não é permitido); caso contrário, a geração falha.
  • Ao enviar vídeos, envie input_video_duration igual ao comprimento total dos vídeos de referência em segundos (arredondado para cima); > 15 é rejeitado com 400.
  • Envie no máximo 9 imagens, 3 vídeos e 3 áudios; extras são ignorados.
  • Sem vídeos de referência (somente imagens/áudio), o preço é igual ao preço de texto-para-vídeo.
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar vídeos de referência (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "seedance-2.0",
  "generation_type": "reference-to-video",
  "prompt": "The character from image 1 dances in the style of video 1",
  "images": [
    "https://example.com/character.png"
  ],
  "videos": [
    "https://example.com/dance.mp4"
  ],
  "input_video_duration": 6,
  "model_version": "seedance-2.0-fast",
  "video_quality": "480p",
  "duration": "5",
  "aspect_ratio": "auto",
  "generate_audio": true,
  "seed": -1
}

Modo Seedance 2.5: seedance-2.5

text-to-video

Gera um vídeo de 4-30s em take único com áudio nativo opcional a partir de um prompt de texto usando ByteDance Seedance 2.5.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Obrigatório para texto-para-vídeo.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p" Resolução de saída; sempre envie video_quality explicitamente. 1080p é HEVC de 10 bits (pode não reproduzir em alguns navegadores). '4k'/'4K'/'2160p' são tratados como 1080p.
duration string afeta o preço padrão "5"4–30 Segundos de saída como uma string contendo um inteiro simples de 4 a 30, ou "-1" para deixar o modelo escolher o comprimento. Qualquer outra coisa (ex.: "3", "31", "5.0", "0x10") é rejeitada com 400.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" Proporção de aspecto de saída; 'auto' deixa o modelo escolher. Envie aspect_ratio explicitamente e use um dos valores listados.
output_format string padrão "mp4""mp4", "mov" Contêiner de saída. mov = H.264 yuv444p com áudio PCM (frequentemente não reproduzível em navegadores). Qualquer outro valor é rejeitado com 400.
generate_audio boolean padrão trueGera uma trilha de áudio nativa. Padrão true.
seed inteiro padrão -1Semente aleatória; -1 = aleatória.

Regras

  • duration deve ser uma string JSON correspondente a /^-?\d+$/ e igual a -1 ou 4-30, caso contrário 400
  • output_format deve ser mp4 ou mov (400 caso contrário)
  • Sempre envie video_quality como 480p, 720p ou 1080p ('4k' é tratado como 1080p)
  • Sem parâmetro model_version (camada única)
  • O preço pode ser pré-visualizado com POST /api/quote; /api/generate-video retorna 402 se os créditos forem insuficientes. Créditos para gerações com falha são reembolsados automaticamente.
  • Resultados em 480p geralmente são rascunhos: a resposta de status então inclui seedance25_draft, e o rascunho pode ser atualizado uma vez para uma versão 1080p dentro de 7 dias com POST /api/video-generation/{id}/upgrade-draft.

Exemplo de corpo de requisição

{
  "mode": "seedance-2.5",
  "generation_type": "text-to-video",
  "prompt": "A lighthouse keeper climbs the spiral stairs at dusk, one continuous shot",
  "video_quality": "480p",
  "duration": "5",
  "aspect_ratio": "16:9",
  "output_format": "mp4",
  "generate_audio": true,
  "seed": -1
}

image-to-video

Anima uma imagem de primeiro quadro (opcionalmente para uma imagem de último quadro) em um vídeo de 4-30s com Seedance 2.5; a proporção de aspecto segue a imagem de entrada.

ParâmetroValores e notas
prompt stringPrompt de texto (máx. 20000 caracteres). Opcional quando uma imagem de primeiro quadro é fornecida.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p" Resolução de saída; sempre envie video_quality explicitamente. 1080p é HEVC de 10 bits (pode não reproduzir em alguns navegadores). '4k'/'4K'/'2160p' são tratados como 1080p.
duration string afeta o preço padrão "5"4–30 Segundos de saída como uma string contendo um inteiro simples de 4 a 30, ou "-1" para deixar o modelo escolher o comprimento. Qualquer outra coisa (ex.: "3", "31", "5.0", "0x10") é rejeitada com 400.
aspect_ratio string padrão "auto""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" Ignorado para imagem-para-vídeo: a proporção de aspecto de saída segue a imagem de primeiro quadro.
output_format string padrão "mp4""mp4", "mov" Contêiner de saída. mov = H.264 yuv444p com áudio PCM (frequentemente não reproduzível em navegadores). Qualquer outro valor é rejeitado com 400.
generate_audio boolean padrão trueGera uma trilha de áudio nativa. Padrão true.
seed inteiro padrão -1Semente aleatória; -1 = aleatória.
image stringURL da imagem de primeiro quadro (ou forneça images[0]).
images array<string>[first_frame_url] ou [first_frame_url, last_frame_url]. images[0] é o primeiro quadro (substitui image); quando há mais de uma entrada, o último elemento é usado como o último quadro.

Arquivos de entrada

  • image: 1 URL de imagem pública usado como primeiro quadro (JPEG/PNG/WEBP; máx. 30MB)
  • images: opcional [first_frame_url, last_frame_url]

Pastas de upload para /api/storage/upload

  • image: seedance25

Regras

  • duration deve ser uma string JSON correspondente a /^-?\d+$/ e igual a -1 ou 4-30, caso contrário 400
  • output_format deve ser mp4 ou mov (400 caso contrário)
  • Sempre envie video_quality como 480p, 720p ou 1080p ('4k' é tratado como 1080p)
  • Sem parâmetro model_version (camada única)
  • O preço pode ser pré-visualizado com POST /api/quote; /api/generate-video retorna 402 se os créditos forem insuficientes. Créditos para gerações com falha são reembolsados automaticamente.
  • imagem-para-vídeo requer image ou images (400 'Image is required for image-to-video generation')
  • aspect_ratio não tem efeito para imagem-para-vídeo; a saída segue a imagem de primeiro quadro
  • O preço é o mesmo que texto-para-vídeo (imagens não adicionam custo)
  • Resultados em 480p geralmente são rascunhos: a resposta de status então inclui seedance25_draft, e o rascunho pode ser atualizado uma vez para uma versão 1080p dentro de 7 dias com POST /api/video-generation/{id}/upgrade-draft.

Exemplo de corpo de requisição

{
  "mode": "seedance-2.5",
  "generation_type": "image-to-video",
  "prompt": "The camera slowly pushes in as leaves drift past",
  "image": "https://example.com/first.jpg",
  "images": [
    "https://example.com/first.jpg",
    "https://example.com/last.jpg"
  ],
  "video_quality": "720p",
  "duration": "8",
  "aspect_ratio": "auto",
  "output_format": "mp4",
  "generate_audio": true,
  "seed": -1
}

reference-to-video

Gera um vídeo de 4-30s guiado por até 30 imagens de referência, 10 vídeos de referência e 10 clipes de áudio de referência (somente áudio permitido) com Seedance 2.5.

ParâmetroValores e notas
prompt stringPrompt de texto (máx. 20000 caracteres). Opcional quando ativos de referência são fornecidos; pode se referir a eles (ex.: 'image 1', 'video 1').
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p" Resolução de saída; sempre envie video_quality explicitamente. 1080p é HEVC de 10 bits (pode não reproduzir em alguns navegadores). '4k'/'4K'/'2160p' são tratados como 1080p.
duration string afeta o preço padrão "5"4–30 Segundos de saída como uma string contendo um inteiro simples de 4 a 30, ou "-1" para deixar o modelo escolher o comprimento. Qualquer outra coisa (ex.: "3", "31", "5.0", "0x10") é rejeitada com 400.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" Proporção de aspecto de saída; 'auto' deixa o modelo escolher. Envie aspect_ratio explicitamente e use um dos valores listados.
output_format string padrão "mp4""mp4", "mov" Contêiner de saída. mov = H.264 yuv444p com áudio PCM (frequentemente não reproduzível em navegadores). Qualquer outro valor é rejeitado com 400.
generate_audio boolean padrão trueGera uma trilha de áudio nativa. Padrão true.
seed inteiro padrão -1Semente aleatória; -1 = aleatória.
images array<string>URLs de imagens de referência. Máx. 30.
videos array<string> afeta o preçoURLs de vídeos de referência (mp4/mov). Máx. 10, comprimento total <= 30s. Incluir vídeos de referência muda para precificação de vídeo de referência.
input_video_duration número afeta o preço0–30 Comprimento total em segundos de todos os vídeos de referência (arredonde a soma para um segundo inteiro). Máx. 30; valores maiores são rejeitados com 400. Envie-o igual ao comprimento total dos vídeos de referência sempre que videos for enviado. Comprimento mínimo cobrado de entrada é 2s.
audio stringURL opcional de um único áudio de referência; pode ser o mesmo que audios[0].
audios array<string>URLs de áudios de referência (wav/mp3). Máx. 10, comprimento total <= 30s. Referência somente de áudio é permitida.

Arquivos de entrada

  • images: 0-30 URLs de imagens de referência (JPEG/PNG/WEBP; máx. 30MB cada)
  • videos: 0-10 URLs de vídeos de referência (mp4/mov, máx. 50MB cada, total <= 30s)
  • audios: 0-10 URLs de áudios de referência (wav/mp3, máx. 15MB cada, total <= 30s)

Pastas de upload para /api/storage/upload

  • image: seedance25
  • video: seedance25/reference-videos
  • audio: seedance25/audio

Regras

  • duration deve ser uma string JSON correspondente a /^-?\d+$/ e igual a -1 ou 4-30, caso contrário 400
  • output_format deve ser mp4 ou mov (400 caso contrário)
  • Sempre envie video_quality como 480p, 720p ou 1080p ('4k' é tratado como 1080p)
  • Sem parâmetro model_version (camada única)
  • O preço pode ser pré-visualizado com POST /api/quote; /api/generate-video retorna 402 se os créditos forem insuficientes. Créditos para gerações com falha são reembolsados automaticamente.
  • Pelo menos uma imagem, vídeo ou áudio de referência é obrigatório; a geração falha caso contrário
  • Envie input_video_duration igual ao comprimento total dos vídeos de referência (segundos) sempre que videos for enviado; valores > 30 são rejeitados com 400
  • aspect_ratio é respeitado para referência-para-vídeo
  • Sem vídeos de referência (somente imagens/áudio), o preço é igual ao preço de texto-para-vídeo
  • Resultados em 480p geralmente são rascunhos: a resposta de status então inclui seedance25_draft, e o rascunho pode ser atualizado uma vez para uma versão 1080p dentro de 7 dias com POST /api/video-generation/{id}/upgrade-draft.
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar vídeos de referência (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "seedance-2.5",
  "generation_type": "reference-to-video",
  "prompt": "The product from image 1 rotates on a marble table, lit like video 1",
  "images": [
    "https://example.com/product.png"
  ],
  "videos": [
    "https://example.com/lighting.mp4"
  ],
  "input_video_duration": 8,
  "video_quality": "480p",
  "duration": "10",
  "aspect_ratio": "9:16",
  "output_format": "mp4",
  "generate_audio": true,
  "seed": -1
}

Modo Wan 2.6: wan-2-6

text-to-video

Gera um vídeo de 5-15 segundos com áudio sincronizado a partir de um prompt de texto usando Wan 2.6.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio.
negative_prompt stringPrompt negativo opcional (máx. 2000 caracteres). Omita quando vazio.
duration string afeta o preço padrão "5""5", "10", "15" Segundos de saída, enviados como uma string.
video_quality string afeta o preço padrão "720p""720p", "1080p" Resolução de saída. Use um dos valores listados.
seed inteiro padrão -1Semente aleatória; -1 = aleatória, caso contrário 0-2147483647.
enable_prompt_expansion boolean padrão trueDeixa o modelo reescrever/expandir o prompt.
shot_type string padrão "single""single", "multi" multi = vídeo multi-cena.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1", "4:3", "3:4" Proporção de aspecto de saída. Use um dos valores listados.
audio stringURL opcional de áudio de condução/fundo (mp3/ogg/wav/m4a/aac, máx. 15MB) para sincronização audiovisual.

Arquivos de entrada

  • audio: opcional 1 URL de áudio (mp3/ogg/wav/m4a/aac)

Pastas de upload para /api/storage/upload

  • audio: wan26/audio

Regras

  • duration deve ser um de 5, 10, 15 (padrão 5)
  • video_quality e aspect_ratio não são validados; sempre envie um dos valores listados

Exemplo de corpo de requisição

{
  "mode": "wan-2-6",
  "generation_type": "text-to-video",
  "prompt": "A red fox running through fresh snow at sunrise, cinematic",
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "16:9"
}

image-to-video

Anima uma única imagem em um vídeo de 5-15 segundos com Wan 2.6.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio.
negative_prompt stringPrompt negativo opcional (máx. 2000 caracteres). Omita quando vazio.
image string · obrigatórioURL https pública da imagem de origem (usada como primeiro quadro).
duration string afeta o preço padrão "5""5", "10", "15" Segundos de saída, enviados como string.
video_quality string afeta o preço padrão "720p""720p", "1080p" Resolução de saída. Use um dos valores listados.
seed inteiro padrão -1Semente aleatória; -1 = aleatória, caso contrário 0-2147483647.
enable_prompt_expansion booleano padrão truePermite que o modelo reescreva/expanda o prompt.
shot_type string padrão "single""single", "multi" multi = vídeo com múltiplas tomadas.
audio stringURL opcional de áudio de condução/fundo (mp3/ogg/wav/m4a/aac, máx. 15MB) para sincronização audiovisual.

Arquivos de entrada

  • image: 1 URL de imagem (primeiro quadro); jpg/png/webp, máx. 10MB
  • audio: opcional, 1 URL de áudio (mp3/ogg/wav/m4a/aac)

Pastas de upload para /api/storage/upload

  • image: video-generator
  • audio: wan26/audio

Regras

  • image (ou images[0]) é obrigatório
  • aspect_ratio não é usado para imagem-para-vídeo; a saída segue a imagem
  • duration deve ser um dos valores: 5, 10, 15

Exemplo de corpo de requisição

{
  "mode": "wan-2-6",
  "generation_type": "image-to-video",
  "prompt": "The character turns and smiles at the camera",
  "image": "https://example.com/input.jpg",
  "duration": "5",
  "video_quality": "720p"
}

reference-to-video

Gera um novo vídeo guiado por 1-3 vídeos de referência (referência de assunto/movimento) com Wan 2.6.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio.
negative_prompt stringPrompt negativo opcional (máx. 2000 caracteres). Omita quando vazio.
videos array<string> · obrigatório1-3 URLs de vídeos de referência.
video stringURL opcional de um único vídeo de referência; video ou videos satisfaz o requisito.
duration string afeta o preço padrão "5""5", "10" Segundos de saída: 5 ou 10 (15 é rejeitado para referência-para-vídeo).
video_quality string afeta o preço padrão "720p""720p", "1080p" Resolução de saída. Use um dos valores listados.
seed inteiro padrão -1Semente aleatória; -1 = aleatória, caso contrário 0-2147483647.
enable_prompt_expansion booleano padrão truePermite que o modelo reescreva/expanda o prompt.
shot_type string padrão "single""single", "multi" multi = vídeo com múltiplas tomadas.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1", "4:3", "3:4" Proporção de tela de saída. Use um dos valores listados.

Arquivos de entrada

  • videos: 1-3 URLs de vídeos de referência (mp4/mov/mkv; máx. 10MB cada)

Pastas de upload para /api/storage/upload

  • video: wan26/reference-videos

Regras

  • Pelo menos um vídeo de referência (video ou videos) é obrigatório
  • No máximo 3 vídeos de referência
  • duration 15 é rejeitado (apenas 5 ou 10)
  • Entrada de áudio não é suportada para referência-para-vídeo; não envie audio

Exemplo de corpo de requisição

{
  "mode": "wan-2-6",
  "generation_type": "reference-to-video",
  "prompt": "The character from the reference video dances in a neon-lit street",
  "videos": [
    "https://example.com/ref.mp4"
  ],
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "16:9"
}

Modo Wan 2.7: wan-2.7

text-to-video

Gera um vídeo de 2 a 15 segundos a partir de um prompt de texto com Wan 2.7 (movimento mais suave, melhor fidelidade de cena).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio.
negative_prompt stringPrompt negativo opcional (máx. 2000 caracteres). Omita quando vazio.
duration string afeta o preço padrão "5"2–15 Segundos de saída como string inteira.
video_quality string afeta o preço padrão "720p""720p", "1080p" Resolução de saída.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1", "4:3", "3:4" Proporção de tela de saída.
enable_prompt_expansion booleano padrão truePermite que o modelo expanda o prompt.
audio stringURL opcional de áudio para conduzir o vídeo (mp3/ogg/wav/m4a/aac, máx. 15MB).
seed inteiro padrão -1Semente aleatória; -1 = aleatória.

Arquivos de entrada

  • audio: opcional, 1 URL de áudio (mp3/ogg/wav/m4a/aac)

Pastas de upload para /api/storage/upload

  • audio: wan27/audio

Regras

  • duration deve ser um inteiro de 2 a 15 (padrão 5)
  • video_quality, se enviado, deve ser 720p ou 1080p
  • aspect_ratio, se enviado, deve ser um dos valores: 16:9, 9:16, 1:1, 4:3, 3:4

Exemplo de corpo de requisição

{
  "mode": "wan-2.7",
  "generation_type": "text-to-video",
  "prompt": "A paper boat drifting down a rain-soaked city gutter, macro shot",
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "16:9"
}

image-to-video

Anima uma imagem inicial (opcionalmente até um quadro final) em um vídeo de 2 a 15 segundos com Wan 2.7.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio.
negative_prompt stringPrompt negativo opcional (máx. 2000 caracteres). Omita quando vazio.
image stringURL da imagem do quadro inicial. Obrigatório, a menos que você a envie como images[0].
images array<string>Apenas para modo primeiro/último quadro: [start_image_url, end_image_url]; images[1] se torna o quadro final.
duration string afeta o preço padrão "5"2–15 Segundos de saída como string inteira.
video_quality string afeta o preço padrão "720p""720p", "1080p" Resolução de saída.
enable_prompt_expansion booleano padrão truePermite que o modelo expanda o prompt.
audio stringURL opcional de áudio para conduzir o vídeo (mp3/ogg/wav/m4a/aac, máx. 15MB).
seed inteiro padrão -1Semente aleatória; -1 = aleatória.

Arquivos de entrada

  • image: 1 URL de imagem do quadro inicial (jpg/png/webp, máx. 20MB)
  • images: opcional, par [início, fim] para interpolação primeiro/último quadro
  • audio: opcional, 1 URL de áudio

Pastas de upload para /api/storage/upload

  • image: video-generator-wan27
  • audio: wan27/audio

Regras

  • image (ou images[0]) é obrigatório
  • aspect_ratio não é necessário para imagem-para-vídeo (a saída segue a imagem); se enviado, deve ser um dos valores listados
  • duration deve ser um inteiro de 2 a 15

Exemplo de corpo de requisição

{
  "mode": "wan-2.7",
  "generation_type": "image-to-video",
  "prompt": "Gentle wind moves the hair, camera slowly pushes in",
  "image": "https://example.com/start.jpg",
  "duration": "5",
  "video_quality": "720p"
}

reference-to-video

Gera um vídeo guiado por até 3 imagens de referência e/ou até 3 vídeos de referência com Wan 2.7.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio.
negative_prompt stringPrompt negativo opcional (máx. 2000 caracteres). Omita quando vazio.
images array<string>0-3 URLs de imagens de referência.
videos array<string>0-3 URLs de vídeos de referência.
video stringURL opcional de um único vídeo de referência; pode ser o mesmo que videos[0].
duration string afeta o preço padrão "5"2–15 Segundos de saída como string inteira.
video_quality string afeta o preço padrão "720p""720p", "1080p" Resolução de saída; 720p quando omitido.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1", "4:3", "3:4" Proporção de tela de saída.
shot_type string padrão "single""single", "multi" Saída de tomada única ou múltipla.
seed inteiro padrão -1Semente aleatória; -1 = aleatória (valores >= 0 fixam a semente).

Arquivos de entrada

  • images: 0-3 URLs de imagens de referência (jpg/png/webp, máx. 20MB)
  • videos: 0-3 URLs de vídeos de referência (mp4/mov, máx. 100MB cada)

Pastas de upload para /api/storage/upload

  • image: video-generator-wan27
  • video: wan27/reference-videos

Regras

  • Pelo menos uma imagem ou vídeo de referência é obrigatório
  • No máximo 3 imagens de referência e no máximo 3 vídeos de referência
  • duration deve ser um inteiro de 2 a 15
  • audio e enable_prompt_expansion não são suportados para referência-para-vídeo

Exemplo de corpo de requisição

{
  "mode": "wan-2.7",
  "generation_type": "reference-to-video",
  "prompt": "The woman from the reference image walks through a sunflower field",
  "images": [
    "https://example.com/ref.jpg"
  ],
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "16:9",
  "shot_type": "single"
}

Modo Wan 3.0: wan-3.0

text-to-video

Gera um vídeo de 2 a 30 segundos com áudio nativo opcional a partir de um prompt de texto usando Wan 3.0.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto. Obrigatório para texto-para-vídeo.
duration string afeta o preço padrão "5"2–30 Segundos de saída como string inteira (2-30); -1 (duração inteligente) é rejeitado.
video_quality string afeta o preço padrão "720p""480p", "720p", "1080p" Resolução. Use um dos valores listados ('4k' é tratado como 1080p).
aspect_ratio string padrão "16:9""adaptive", "16:9", "9:16", "1:1", "4:3", "3:4" Proporção de tela de saída; 'adaptive' permite que o modelo escolha. Envie aspect_ratio explicitamente e use um dos valores listados.
generate_audio booleano padrão trueGera uma trilha sonora sincronizada (padrão true; envie false para desativar). Não altera o preço.
seed inteiroAceito, mas atualmente não é passado ao modelo.

Regras

  • duration deve ser um inteiro de 2 a 30; -1 (duração inteligente) é rejeitado
  • generate_audio não altera o preço

Exemplo de corpo de requisição

{
  "mode": "wan-3.0",
  "generation_type": "text-to-video",
  "prompt": "A drone shot over a misty mountain lake at dawn, birds taking off",
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "adaptive",
  "generate_audio": true
}

image-to-video

Anima um primeiro quadro (opcionalmente até um último quadro) em um vídeo de 2 a 30 segundos com Wan 3.0.

ParâmetroValores e observações
prompt stringPrompt de movimento/cena (opcional para imagem-para-vídeo).
image stringURL da imagem do primeiro quadro. Obrigatório, a menos que você a envie como images[0].
images array<string>[first_frame] ou [first_frame, last_frame]; images[0] é o primeiro quadro e o último elemento (quando 2 ou mais) é o último quadro.
duration string afeta o preço padrão "5"2–30 Segundos de saída como string inteira (2-30); -1 (duração inteligente) é rejeitado.
video_quality string afeta o preço padrão "720p""480p", "720p", "1080p" Resolução. Use um dos valores listados ('4k' é tratado como 1080p).
aspect_ratio string padrão "16:9""adaptive", "16:9", "9:16", "1:1", "4:3", "3:4" Proporção de tela de saída; 'adaptive' permite que o modelo escolha. Envie aspect_ratio explicitamente e use um dos valores listados.
generate_audio booleano padrão trueGera uma trilha sonora sincronizada (padrão true; envie false para desativar). Não altera o preço.
seed inteiroAceito, mas atualmente não é passado ao modelo.

Arquivos de entrada

  • image: 1 URL de imagem do primeiro quadro (jpg/png/webp/bmp/tiff, máx. 20MB)
  • images: opcional, par [primeiro, último] de quadros

Pastas de upload para /api/storage/upload

  • image: wan30

Regras

  • image ou images é obrigatório
  • files (documento) e links (página web) não podem ser combinados com imagem-para-vídeo
  • duration deve ser um inteiro de 2 a 30; -1 é rejeitado

Exemplo de corpo de requisição

{
  "mode": "wan-3.0",
  "generation_type": "image-to-video",
  "prompt": "The cat slowly opens its eyes and yawns",
  "image": "https://example.com/first.jpg",
  "images": [
    "https://example.com/first.jpg"
  ],
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "adaptive",
  "generate_audio": true
}

reference-to-video

Gera um vídeo de 2 a 30 segundos a partir de qualquer combinação de imagens de referência, vídeos, áudio, um documento (documento-para-vídeo) ou uma página web (página web-para-vídeo) com Wan 3.0.

ParâmetroValores e observações
prompt stringInstrução descrevendo como usar as referências (ex.: referir-se a 'Imagem 1', 'Vídeo 1').
images array<string>0-10 URLs de imagens de referência.
videos array<string>0-5 URLs de vídeos de referência, duração total <= 15s. Sempre envie vídeos de referência em videos (plural), juntamente com input_video_duration.
input_video_duration number afeta o preço0–15 Total de segundos de todos os vídeos de referência (arredonde a soma para um segundo inteiro; máx. 15). Envie igual à duração total dos vídeos de referência sempre que videos for enviado.
audios array<string>0-5 URLs de áudios de referência (wav/mp3), total <= 15s.
audio stringURL de um único áudio de referência; usado apenas quando audios estiver ausente.
files array<string>Documento-para-vídeo: no máximo 1 URL de documento (.doc.docx.xls.xlsx.ppt.pptx.pdf.txt.md.key.pages.numbers; <=100MB, <=50 páginas). Mutuamente exclusivo com links.
links array<string>Página-web-para-vídeo: no máximo 1 URL de página web pública. Mutuamente exclusivo com files.
duration string afeta o preço padrão "5"2–30 Segundos de saída como uma string de inteiro (2-30); -1 (duração inteligente) é rejeitado.
video_quality string afeta o preço padrão "720p""480p", "720p", "1080p" Resolução. Use um dos valores listados ('4k' é tratado como 1080p).
aspect_ratio string padrão "16:9""adaptive", "16:9", "9:16", "1:1", "4:3", "3:4" Proporção de tela de saída; 'adaptive' permite que o modelo escolha. Envie aspect_ratio explicitamente e use um dos valores listados.
generate_audio boolean padrão trueGera uma trilha sonora sincronizada (padrão true; envie false para desativar). Não altera o preço.
seed integerAceito, mas atualmente não é passado ao modelo.

Arquivos de entrada

  • images: 0-10 URLs de imagens (jpg/png/webp/bmp/tiff, máx. 20MB cada)
  • videos: 0-5 URLs de vídeos (mp4/mov, máx. 100MB cada), combinados <= 15s
  • audio: 0-5 URLs de áudios via audios (wav/mp3, máx. 15MB cada), combinados <= 15s
  • files: 0-1 URL de documento (100MB, máx. 50 páginas)
  • links: 0-1 URL de página web

Pastas de upload para /api/storage/upload

  • image: wan30
  • video: wan30/reference-videos
  • audio: wan30/audio
  • document: wan30/documents

Regras

  • No máximo 10 imagens, 5 vídeos, 5 áudios, 1 arquivo, 1 link (exceder retorna 400, nunca truncado)
  • files e links não podem ser enviados juntos
  • Forneça pelo menos uma imagem, vídeo, áudio, documento ou página web de referência
  • input_video_duration deve ser <= 15, e input_video_duration + duration deve ser <= 30 (caso contrário, 400)
  • Sempre envie vídeos de referência em videos (plural) e envie input_video_duration igual à duração total deles (segundos)
  • duration deve ser um inteiro de 2 a 30; -1 rejeitado
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar vídeos de referência (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "wan-3.0",
  "generation_type": "reference-to-video",
  "prompt": "Turn this product page into a 10 second promo video",
  "links": [
    "https://example.com/product"
  ],
  "duration": "10",
  "video_quality": "720p",
  "aspect_ratio": "16:9",
  "generate_audio": true
}

Modo MiniMax H3: minimax-h3

text-to-video

Gera um vídeo de 4 a 15 segundos a partir de um prompt de texto com MiniMax H3 (Hailuo 03) em 768P ou 2K.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio.
duration string afeta o preço padrão "5"4–15 Segundos de saída como uma string de inteiro.
video_quality string afeta o preço padrão "768p""768p", "2k" Resolução. '2K', '1440p', '2160p' são tratados como 2k. Use um dos valores listados.
aspect_ratio string padrão "16:9""21:9", "16:9", "4:3", "1:1", "3:4", "9:16" Proporção de tela de saída. 'adaptive' não é suportado para texto-para-vídeo; use um dos valores listados.

Regras

  • duration deve ser um inteiro entre 4 e 15 (caso contrário, 400); enviado como string
  • Seed, prompt negativo e opções de áudio não são suportados para este modelo

Exemplo de corpo de requisição

{
  "mode": "minimax-h3",
  "generation_type": "text-to-video",
  "prompt": "A red fox running through fresh snow at sunrise, cinematic tracking shot",
  "duration": "5",
  "aspect_ratio": "16:9",
  "video_quality": "768p"
}

image-to-video

Anima uma imagem de primeiro quadro (opcionalmente em direção a um último quadro) em um vídeo MiniMax H3 de 4 a 15 segundos em 768P ou 2K.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto descrevendo o movimento. Sempre envie um prompt não vazio.
duration string afeta o preço padrão "5"4–15 Segundos de saída como uma string de inteiro.
video_quality string afeta o preço padrão "768p""768p", "2k"
image stringURL da imagem do primeiro quadro. Ou image ou images[0] deve estar presente.
images string[] afeta o preço[first_frame] ou [first_frame, last_frame]. images[0] é o primeiro quadro; com 2 ou mais entradas, o ÚLTIMO elemento é usado como último quadro. Máx. 9.
aspect_ratio string padrão "adaptive""adaptive", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" Ignorado para imagem-para-vídeo; a saída segue o primeiro quadro.

Arquivos de entrada

  • image: 1 URL de imagem pública usado como primeiro quadro (jpg/png/webp, máx. 20MB)
  • images: Array opcional [first_frame_url, last_frame_url]; apenas o primeiro e o último elementos são usados

Pastas de upload para /api/storage/upload

  • image: minimax-h3

Regras

  • imagem-para-vídeo requer image ou um array images não vazio (400 'Image is required for image-to-video generation')
  • duration deve ser um inteiro de 4 a 15
  • No máximo 9 imagens
  • O último quadro é obtido do último elemento de images apenas quando images tem 2 ou mais entradas
  • Apenas a primeira e a última imagens são usadas, mas toda imagem após a 5ª é cobrada: envie no máximo 2. Ao cotar com /api/quote, envie input_image_count.

Exemplo de corpo de requisição

{
  "mode": "minimax-h3",
  "generation_type": "image-to-video",
  "prompt": "The woman turns toward the camera and smiles as wind moves her hair",
  "duration": "5",
  "aspect_ratio": "adaptive",
  "video_quality": "768p",
  "image": "https://example.com/first-frame.jpg",
  "images": [
    "https://example.com/first-frame.jpg"
  ]
}

reference-to-video

Gera um vídeo MiniMax H3 guiado por até 9 imagens de referência, 3 vídeos de referência e 3 clipes de áudio de referência.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto; pode referir-se aos ativos de referência. Sempre envie um prompt não vazio.
duration string afeta o preço padrão "5"4–15 Segundos de saída como uma string de inteiro.
video_quality string afeta o preço padrão "768p""768p", "2k"
aspect_ratio string padrão "16:9""adaptive", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" 'adaptive' permite que o modelo escolha a partir das referências. Use um dos valores listados.
images string[] afeta o preçoURLs de imagens de referência, máx. 9.
videos string[] afeta o preçoURLs de vídeos de referência, máx. 3, duração total <= 15s. 'video' no singular é aceito como fallback quando 'videos' está ausente.
input_video_duration number afeta o preço0–15 Total de segundos dos vídeos de referência (máx. 15). Envie igual à duração total dos vídeos de referência sempre que vídeos forem enviados.
audios string[]URLs de áudios de referência, máx. 3 (grátis).
audio stringÁudio de referência singular; usado apenas se 'audios' estiver ausente.

Arquivos de entrada

  • images: 0-9 URLs de imagens de referência (jpg/png/webp/bmp/tiff, 20MB cada)
  • video: 0-3 URLs de vídeos de referência via 'videos' (mp4/mov, 100MB cada, total <= 15s)
  • audio: 0-3 URLs de áudios de referência via 'audios' (wav/mp3, 15MB cada); não pode ser a única referência

Pastas de upload para /api/storage/upload

  • image: minimax-h3
  • video: minimax-h3/reference-videos
  • audio: minimax-h3/audio

Regras

  • No máximo 9 imagens de referência, 3 vídeos de referência, 3 arquivos de áudio de referência (400 se excedido, sem truncamento silencioso)
  • Pelo menos uma imagem ou vídeo de referência é obrigatório; áudio de referência não pode ser usado sozinho
  • input_video_duration deve ser <= 15 segundos no total
  • Envie input_video_duration igual à duração total dos vídeos de referência (segundos) sempre que vídeos forem enviados
  • duration deve ser um inteiro de 4 a 15
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar vídeos de referência (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo). Também envie input_image_count (número de imagens de referência).

Exemplo de corpo de requisição

{
  "mode": "minimax-h3",
  "generation_type": "reference-to-video",
  "prompt": "The character from image 1 walks into the room from video 1 and waves",
  "duration": "5",
  "aspect_ratio": "adaptive",
  "video_quality": "768p",
  "images": [
    "https://example.com/character.png"
  ],
  "videos": [
    "https://example.com/room.mp4"
  ],
  "input_video_duration": 6
}

Modo MiniMax H3 Max: minimax-h3-max

text-to-video

Texto-para-vídeo rápido (turbo) MiniMax H3 Max, 5-15 segundos em 480P/768P/1080P.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto. Obrigatório; sempre envie um prompt não vazio.
duration string afeta o preço padrão "5"5–15 Segundos de saída como uma string de inteiro.
video_quality string afeta o preço padrão "768p""480p", "768p", "1080p" Use um dos valores listados (2k não é suportado).
aspect_ratio string padrão "16:9""21:9", "16:9", "4:3", "1:1", "3:4", "9:16" 'adaptive' não é suportado para texto-para-vídeo. Use um dos valores listados.
prompt_expansion_mode string padrão "balanced""disabled", "fast", "balanced", "quality" Força de reescrita do prompt. Valores fora da lista são rejeitados com 400.
seed integerOpcional; um valor >= 0 fixa a semente aleatória.

Regras

  • generation_type deve ser text-to-video, image-to-video ou reference-to-video para este modo (caso contrário, 400)
  • duration deve ser um inteiro entre 5 e 15

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max",
  "generation_type": "text-to-video",
  "prompt": "A paper boat drifting down a rainy city gutter, macro shot",
  "duration": "5",
  "aspect_ratio": "16:9",
  "video_quality": "768p",
  "prompt_expansion_mode": "balanced"
}

image-to-video

Imagem-para-vídeo rápido MiniMax H3 Max a partir de um primeiro quadro (quadro final opcional), 5-15 segundos.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de movimento. Obrigatório; sempre envie um prompt não vazio.
duration string afeta o preço padrão "5"5–15 Segundos de saída como uma string de inteiro.
video_quality string afeta o preço padrão "768p""480p", "768p", "1080p"
image stringURL do primeiro quadro (image ou images[0] obrigatório).
images string[][first_frame] ou [first_frame, end_frame]. Com 2 ou mais entradas, a última é usada como quadro final.
aspect_ratio string padrão "16:9""21:9", "16:9", "4:3", "1:1", "3:4", "9:16" Ignorado para imagem-para-vídeo; a saída segue o primeiro quadro.
prompt_expansion_mode string padrão "balanced""disabled", "fast", "balanced", "quality" Força de reescrita do prompt.
seed integerOpcional; um valor >= 0 fixa a semente aleatória.

Arquivos de entrada

  • image: 1 URL de imagem pública usado como primeiro quadro
  • images: Opcional [first_frame_url, end_frame_url]

Pastas de upload para /api/storage/upload

  • image: minimax-h3-max

Regras

  • imagem-para-vídeo requer um primeiro quadro (image ou images[0]); caso contrário, 400
  • duration deve ser um inteiro de 5 a 15

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max",
  "generation_type": "image-to-video",
  "prompt": "The camera slowly pushes in as the dog tilts its head",
  "duration": "5",
  "aspect_ratio": "16:9",
  "video_quality": "768p",
  "prompt_expansion_mode": "balanced",
  "image": "https://example.com/dog.jpg",
  "images": [
    "https://example.com/dog.jpg"
  ]
}

reference-to-video

Vídeo rápido MiniMax H3 Max guiado por imagens, vídeos e áudios de referência (até 12 arquivos no total).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto. Obrigatório; sempre envie um prompt não vazio.
duration string afeta o preço padrão "5"5–15 Segundos de saída como uma string de inteiro.
video_quality string afeta o preço padrão "768p""480p", "768p", "1080p"
aspect_ratio string padrão "16:9""adaptive", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" 'adaptive' está disponível apenas para reference-to-video. Use um dos valores listados.
prompt_expansion_mode string padrão "balanced""disabled", "fast", "balanced", "quality" Força de reescrita do prompt.
images string[] afeta o preçoURLs de imagens de referência, máx. 9. Redimensione as imagens para que a borda longa seja <= 1024 px.
videos string[] afeta o preçoURLs de vídeos de referência, máx. 3, cada um de 2 a 15s, total <= 15s. 'video' no singular aceito como fallback.
audios string[] afeta o preçoURLs de áudios de referência, máx. 3, cada um de 2 a 15s, total <= 15s. 'audio' no singular aceito como fallback.
input_video_duration number afeta o preço0–15 Total de segundos dos vídeos de referência (máx. 15). Envie igual à duração total dos vídeos de referência sempre que vídeos forem enviados.
input_audio_duration number afeta o preço0–15 Total de segundos dos áudios de referência (máx. 15). Envie igual à duração total dos áudios de referência sempre que áudios forem enviados.
seed integerOpcional; um valor >= 0 fixa a semente aleatória.
Input files
  • images: 0-9 URLs de imagens de referência (jpg/png/webp, 20MB, borda longa <= 1024 px)
  • video: 0-3 URLs de vídeos de referência via 'videos' (mp4/mov, 100MB cada, 2-15s cada, total <= 15s)
  • audio: 0-3 URLs de áudios de referência via 'audios' (wav/mp3, 15MB cada, 2-15s cada, total <= 15s); não pode ser a única referência

Pastas de upload para /api/storage/upload

  • imagem: minimax-h3-max
  • vídeo: minimax-h3-max/reference-videos
  • áudio: minimax-h3-max/audio

Regras

  • Pelo menos uma imagem, vídeo ou áudio de referência é obrigatório
  • Áudio de referência não pode ser usado sozinho; adicione pelo menos uma imagem ou vídeo
  • Máximo de 9 imagens, 3 vídeos, 3 arquivos de áudio e máximo de 12 arquivos no total
  • Vídeos de referência e áudios de referência têm cada um total <= 15s (dois limites separados); cada clipe deve ter pelo menos 2s
  • Envie input_video_duration / input_audio_duration igual ao comprimento total do vídeo / áudio de referência (segundos)
  • duration deve ser um inteiro de 5 a 15
  • Redimensione as imagens de referência para que a borda longa seja <= 1024 px
  • Ao cotar com /api/quote, descreva as referências com input_image_count, has_video_input + input_video_count + input_video_duration e has_audio_input + input_audio_count + input_audio_duration (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max",
  "generation_type": "reference-to-video",
  "prompt": "The product from image 1 rotates on a marble table, soft studio light",
  "duration": "5",
  "aspect_ratio": "adaptive",
  "video_quality": "768p",
  "prompt_expansion_mode": "balanced",
  "images": [
    "https://example.com/product.jpg"
  ]
}

Modo MiniMax H3 Max Camera Controls: minimax-h3-max-camera

camera-controls

Transforma uma única imagem em um vídeo de 5 a 15 segundos com movimento de câmera roteirizado (órbita, dolly, grua, etc.) usando MiniMax H3 Max.

ParâmetroValores e notas
image stringURL da imagem de origem (image ou images[0]). A proporção de aspecto da saída segue a imagem.
images string[]Opcional; se enviado, deve conter no máximo 1 entrada (a imagem de origem). Sem quadro final.
camera_preset string padrão "orbit-360""orbit-360", "birds-eye", "whip-spin", "hero-reveal", "dolly-in", "dolly-out", "arc-left", "arc-right", "worms-eye" Trajetória nomeada. Nomes desconhecidos são rejeitados (400). Ignorado quando camera_trajectory é fornecido. Padrão para orbit-360 quando ambos são omitidos.
camera_trajectory arrayKeyframes explícitos. Array de 2 a 12 objetos {time: número 0..1 estritamente crescente, azimuth: graus (com sinal, múltiplas voltas permitidas), elevation: número -90..90, distance: número > 0}. Viagem total de |azimuth| <= 11520 graus (32 voltas). Tem precedência sobre camera_preset.
prompt stringOpcional. Se vazio, a instrução padrão 'The entire scene is frozen. Only the camera moves.' é usada.
duration string afeta o preço padrão "5"5–15 Segundos de saída como string inteira.
video_quality string afeta o preço padrão "768p""480p", "768p", "1080p" Use um dos valores listados.
prompt_expansion_mode string padrão "balanced""disabled", "fast", "balanced", "quality" Força de reescrita do prompt.
seed integerOpcional, inteiro não negativo para resultados reproduzíveis; omita para aleatório.

Input files

  • image: Exatamente 1 URL de imagem pública (imagem de origem / primeiro quadro); sem quadro final, sem vídeos ou áudios de referência

Pastas de upload para /api/storage/upload

  • imagem: minimax-h3-max

Regras

  • generation_type deve ser 'camera-controls' (imagem-para-vídeo é rejeitado com 400)
  • Uma imagem de origem é obrigatória; mais de 1 imagem, qualquer vídeo ou qualquer áudio é rejeitado com 400
  • duration deve ser um inteiro de 5 a 15
  • camera_preset deve ser um dos 9 ids de preset, a menos que camera_trajectory seja fornecido
  • camera_trajectory: 2-12 keyframes, time em [0,1] estritamente crescente, elevation em [-90,90], distance > 0, viagem total de azimuth <= 11520 graus
  • aspect_ratio não tem efeito (a saída segue a imagem de origem)

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max-camera",
  "generation_type": "camera-controls",
  "prompt": "",
  "duration": "5",
  "video_quality": "768p",
  "prompt_expansion_mode": "balanced",
  "image": "https://example.com/statue.jpg",
  "images": [
    "https://example.com/statue.jpg"
  ],
  "camera_preset": "orbit-360"
}

Modo MiniMax H3 Max Lip Sync: minimax-h3-max-lip-sync

lip-sync

Faz uma foto de retrato falar em sincronia com uma faixa de áudio (5-14.8s) usando MiniMax H3 Max; o comprimento da saída segue o áudio.

ParâmetroValores e notas
image stringURL da imagem de retrato (image ou images[0]). A proporção de aspecto da imagem (largura/altura) deve estar entre 0.4 e 2.5.
images string[]Opcional; se enviado, deve conter no máximo 1 entrada (a imagem de retrato).
audios string[] · obrigatórioExatamente 1 URL de áudio de condução. Singular audio é aceito como fallback se audios estiver ausente.
input_audio_duration number afeta o preço5–3600 Comprimento do áudio em segundos. Sempre envie, igual ao comprimento do áudio. Segundos cobrados = ceil(min(input_audio_duration, 14.8)), mínimo 5. Valores < 5 são rejeitados.
video_quality string afeta o preço padrão "768p""480p", "768p", "1080p", "2k" Use um dos valores listados.
enable_transcription boolean padrão trueTranscreve o áudio para guiar os formatos da boca. Padrão para true.
seed integerOpcional, inteiro não negativo para resultados reproduzíveis; omita para aleatório.

Input files

  • image: 1 URL de imagem de retrato pública (proporção de aspecto 0.4-2.5)
  • audio: 1 URL de áudio público via 'audios' (wav/mp3/m4a/aac, até 15MB); pelo menos 5s; áudio acima de 14.8s é cortado para os primeiros 14.8s

Pastas de upload para /api/storage/upload

  • imagem: minimax-h3-max
  • áudio: minimax-h3-max/audio

Regras

  • generation_type deve ser 'lip-sync' (400 caso contrário)
  • Requer uma imagem de retrato e uma faixa de áudio; mais de 1 imagem, mais de 1 áudio ou qualquer entrada de vídeo é rejeitada (400)
  • A proporção de aspecto da imagem de retrato (largura/altura) deve estar entre 0.4 e 2.5
  • Envie input_audio_duration igual ao comprimento do áudio; deve ser pelo menos 5s (400). Áudio mais longo que 14.8s é permitido e cortado
  • prompt, duration, aspect_ratio e prompt_expansion_mode não têm efeito para este modo
  • Não é possível re-sincronizar um vídeo existente; apenas sincronização labial de imagem-para-vídeo
  • Se o áudio resultar mais longo que o input_audio_duration declarado, a diferença é cobrada após a geração.

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max-lip-sync",
  "generation_type": "lip-sync",
  "image": "https://example.com/portrait.jpg",
  "images": [
    "https://example.com/portrait.jpg"
  ],
  "audios": [
    "https://example.com/speech.mp3"
  ],
  "input_audio_duration": 8.4,
  "video_quality": "768p",
  "enable_transcription": true
}

Modo Gemini Omni: gemini-omni

text-to-video

Google Gemini Omni texto-para-vídeo com áudio nativo, 4-10s, opcionalmente guiado por um vídeo de referência.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto (obrigatório, não vazio), máximo de 20000 caracteres.
duration string afeta o preço padrão "8""4", "6", "8", "10" Segundos. Ignorado (e não cobrado) quando um vídeo é fornecido; o comprimento da saída então segue o clipe de vídeo de entrada (máx. 10s).
video_quality string afeta o preço padrão "1080p""720p", "1080p", "4k" Resolução de saída. O campo resolution com os mesmos valores também é aceito e tem precedência.
aspect_ratio string padrão "16:9""16:9", "9:16" Apenas paisagem ou retrato.
videos string[] afeta o preçoOpcional, no máximo 1 URL de vídeo usado como referência de movimento/estilo.
input_video_duration number0–30 Comprimento do vídeo de entrada fornecido em segundos. Envie sempre que um vídeo for fornecido; a saída cobre os primeiros min(input_video_duration, 10) segundos.
seed integer0–2147483647 Opcional, 0-2147483647; omita para aleatório.

Input files

  • videos: opcional, máximo 1 URL de vídeo (mp4/mov, até 100MB; vídeo de entrada deve ser <= 30s)

Pastas de upload para /api/storage/upload

  • vídeo: gemini-omni/reference-videos

Regras

  • duration deve ser um de 4, 6, 8, 10 (omitido, padrão para 8)
  • video_quality (se enviado) deve ser 720p, 1080p ou 4k; aspect_ratio (se enviado) deve ser 16:9 ou 9:16
  • no máximo 1 vídeo; cota de ativos imagens + 2*vídeos <= 7
  • input_video_duration deve ser <= 30s
  • prompt é obrigatório, máximo de 20000 caracteres
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar um vídeo (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "gemini-omni",
  "generation_type": "text-to-video",
  "prompt": "A golden retriever surfing a wave at sunset, cinematic, with ocean sounds",
  "duration": "8",
  "video_quality": "1080p",
  "aspect_ratio": "16:9"
}

image-to-video

Google Gemini Omni imagem-para-vídeo: anima até 7 imagens de entrada em um vídeo de 4-10s com áudio nativo.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto, máximo de 20000 caracteres.
images string[] · obrigatório1-7 URLs de imagens. Um único campo image também é aceito.
duration string afeta o preço padrão "8""4", "6", "8", "10" Segundos. Ignorado e não cobrado quando um vídeo é fornecido.
video_quality string afeta o preço padrão "1080p""720p", "1080p", "4k" Resolução de saída; resolution também é aceito e tem precedência.
aspect_ratio string padrão "16:9""16:9", "9:16"
videos string[] afeta o preçoOpcional, no máximo 1 URL de vídeo.
input_video_duration number0–30 Comprimento do vídeo de entrada em segundos. Envie sempre que um vídeo for fornecido; a saída cobre os primeiros min(input_video_duration, 10) segundos.
seed integer0–2147483647

Input files

  • images: 1-7 URLs de imagens (até 20MB cada)
  • videos: opcional, máximo 1 URL de vídeo (mp4/mov, <= 30s, até 100MB)

Pastas de upload para /api/storage/upload

  • imagem: gemini-omni
  • vídeo: gemini-omni/reference-videos

Regras

  • imagem-para-vídeo requer image ou um images não vazio
  • máximo de 7 imagens e máximo de 1 vídeo; imagens + 2*vídeos <= 7 (então com um vídeo, no máximo 5 imagens)
  • video_quality deve ser 720p, 1080p ou 4k; aspect_ratio deve ser 16:9 ou 9:16
  • input_video_duration deve ser <= 30s
  • mesma tabela de preços que texto-para-vídeo
  • duration deve ser 4, 6, 8 ou 10, também quando um vídeo é fornecido (então é ignorado).
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar um vídeo (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "gemini-omni",
  "generation_type": "image-to-video",
  "prompt": "The woman in the photo turns toward the camera and smiles as wind moves her hair",
  "images": [
    "https://example.com/portrait.jpg"
  ],
  "duration": "6",
  "video_quality": "1080p",
  "aspect_ratio": "9:16"
}

reference-to-video

Google Gemini Omni referência-para-vídeo: gera um vídeo guiado por até 7 imagens de referência e/ou 1 vídeo de referência.

ParâmetroValores e notas
prompt string · obrigatórioPrompt de texto, máximo de 20000 caracteres.
images string[]0-7 URLs de imagens de referência. Pelo menos uma imagem ou um vídeo é obrigatório.
videos string[] afeta o preço0-1 URL de vídeo de referência.
input_video_duration number0–30 Comprimento do vídeo de referência em segundos; comprimento da saída = min(isto, 10). Envie sempre que um vídeo for fornecido.
duration string afeta o preço padrão "8""4", "6", "8", "10" Apenas usado/cobrado quando nenhum vídeo é fornecido.
video_quality string afeta o preço padrão "1080p""720p", "1080p", "4k"
aspect_ratio string padrão "16:9""16:9", "9:16"
seed integer0–2147483647

Input files

  • images: 0-7 URLs de imagens de referência (até 20MB cada)
  • videos: 0-1 URL de vídeo de referência (mp4/mov, <= 30s; apenas os primeiros 10s são usados)

Pastas de upload para /api/storage/upload

  • imagem: gemini-omni
  • vídeo: gemini-omni/reference-videos

Regras

  • pelo menos uma imagem ou vídeo de referência é obrigatório
  • cota de referência: imagens <= 7, vídeos <= 1, imagens + 2*vídeos <= 7
  • input_video_duration deve ser <= 30s
  • mesma tabela de preços que texto-para-vídeo
  • duration deve ser 4, 6, 8 ou 10, também quando um vídeo é fornecido (então é ignorado).
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar um vídeo de referência (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "gemini-omni",
  "generation_type": "reference-to-video",
  "prompt": "The character from the reference images walks through a neon-lit Tokyo street at night",
  "images": [
    "https://example.com/character-front.png",
    "https://example.com/character-side.png"
  ],
  "duration": "8",
  "video_quality": "1080p",
  "aspect_ratio": "16:9"
}

Modo Boreal: creatify-boreal

text-to-video

Creatify Boreal texto-para-vídeo para anúncios, UGC e clipes de apresentador com fala sincronizada nativa, 1-20s, opcionalmente conduzido por uma faixa de áudio enviada.

ParâmetroValores e observações
prompt string · obrigatórioPrompt; pode opcionalmente ser estruturado com cabeçalhos de seção [VISUAL], [SPEECH], [SOUNDS], [TEXT] (diálogo entre aspas).
duration string afeta o preço padrão "10"1–20 segundos inteiros.
video_quality string afeta o preço padrão "720p""720p", "1080p", "2k" Resolução de saída ('2K' maiúsculo também é aceito).
aspect_ratio string padrão "auto""auto", "16:9", "9:16", "1:1", "4:3", "3:4"
audio stringURL de áudio opcional para condução; se fornecido, a faixa de áudio é mantida e o modelo sincroniza os lábios com ela em vez de gerar fala.

Arquivos de entrada

  • audio: opcional, 1 URL de áudio (.mp3/.ogg/.wav/.m4a/.aac)

Pastas de upload para /api/storage/upload

  • audio: creatify-boreal/audio

Regras

  • generation_type deve ser text-to-video ou image-to-video
  • duration deve ser um inteiro entre 1 e 20 (se omitido, o padrão é 10)
  • video_quality deve ser 720p, 1080p, 2k ou 2K; aspect_ratio deve ser auto, 16:9, 9:16, 1:1, 4:3 ou 3:4
  • prompt é obrigatório

Exemplo de corpo de requisição

{
  "mode": "creatify-boreal",
  "generation_type": "text-to-video",
  "prompt": "[VISUAL]\nA young woman holds a can of sparkling water in a sunny kitchen and talks to the camera.\n\n[SPEECH]\n\"This is the only drink I grab after my workout.\"",
  "duration": "10",
  "video_quality": "720p",
  "aspect_ratio": "9:16"
}

image-to-video

Creatify Boreal image-to-video: transforma uma imagem de produto ou apresentador em um clipe de anúncio/UGC com fala sincronizada nativa, opcionalmente conduzida por áudio.

ParâmetroValores e observações
prompt string · obrigatórioPrompt; seções opcionais [VISUAL]/[SPEECH]/[SOUNDS]/[TEXT].
image string · obrigatório1 URL de imagem usada como imagem inicial (images[0] também é aceito).
duration string afeta o preço padrão "10"1–20 segundos inteiros.
video_quality string afeta o preço padrão "720p""720p", "1080p", "2k"
aspect_ratio string padrão "auto""auto", "16:9", "9:16", "1:1", "4:3", "3:4" 'auto' segue a imagem de entrada.
audio stringURL de áudio opcional para condução; o modelo sincroniza os lábios com ele em vez de gerar fala.

Arquivos de entrada

  • image: 1 URL de imagem
  • audio: opcional, 1 URL de áudio (.mp3/.ogg/.wav/.m4a/.aac)

Pastas de upload para /api/storage/upload

  • image: creatify-boreal
  • audio: creatify-boreal/audio

Regras

  • image-to-video requer image ou images não vazio
  • duration inteiro 1-20; video_quality 720p/1080p/2k/2K; aspect_ratio auto/16:9/9:16/1:1/4:3/3:4

Exemplo de corpo de requisição

{
  "mode": "creatify-boreal",
  "generation_type": "image-to-video",
  "prompt": "[VISUAL]\nThe presenter picks up the product and shows it to the camera.\n\n[SPEECH]\n\"Meet the lightest headphones we've ever made.\"",
  "image": "https://example.com/presenter.jpg",
  "duration": "8",
  "video_quality": "1080p",
  "aspect_ratio": "auto"
}

Modelos de Imagem

Texto para imagem e edição de imagem (imagem para imagem).

Modelomodogeneration_type
Google Nano Banananano-bananatext-to-image
Google Nano Banana (Editar)nano-banana-editimage-to-image
Google Nano Banana 2.1nano-banana-2-1text-to-image, image-to-image
Google Nano Banana 2nano-banana-2text-to-image, image-to-image
Flux Kontextflux-kontexttext-to-image, image-to-image
Krea 3krea-3text-to-image, image-to-image
FLUX 3 Imageflux-3-imagetext-to-image, image-to-image
Seedream 5.0seedream-5.0-litetext-to-image, image-to-image
Seedream 5.0 Proseedream-5.0-protext-to-image, image-to-image
Seedream 5.0 Flashseedream-5.0-flashtext-to-image, image-to-image
Ideogram 4.5ideogram-4-5text-to-image, image-to-image
GPT Image 2gpt-image-2text-to-image, image-to-image
GPT Image 2.5gpt-image-2-5text-to-image, image-to-image
Qwen Image 2.1qwen-image-2-1text-to-image, image-to-image
Virtual Try-Onvirtual-try-onimage-to-image
Product Holdingproduct-holdingimage-to-image

Modo Google Nano Banana: nano-banana

text-to-image

Gera uma imagem a partir de texto com Google Nano Banana (ou Nano Banana Pro via modelVersion).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 20000 caracteres.
modelVersion string afeta o preço padrão "nano-banana""nano-banana", "nano-banana-pro" nano-banana = modelo base; nano-banana-pro = Nano Banana Pro.
video_quality string afeta o preço padrão "standard""standard", "1K", "2K", "4K" Envie 'standard' com nano-banana; com nano-banana-pro, envie a resolução de saída 1K, 2K ou 4K.
aspect_ratio string padrão "16:9""auto", "1:1", "9:16", "16:9", "3:4", "4:3", "3:2", "2:3", "5:4", "4:5", "21:9" Use um dos valores listados. nano-banana-pro não suporta auto (produz 1:1).
output_format string padrão "PNG""PNG", "JPEG" Formato da imagem de saída.
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • aspect_ratio: use um dos valores listados; com nano-banana-pro, auto produz 1:1.
  • Texto para imagem não usa imagens; envie images: [] ou omita.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem está então em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de requisição

{
  "mode": "nano-banana",
  "generation_type": "text-to-image",
  "prompt": "A beautiful sunset over mountains with golden light",
  "duration": "0",
  "aspect_ratio": "auto",
  "video_quality": "standard",
  "modelVersion": "nano-banana",
  "output_format": "PNG",
  "images": []
}

Modo Google Nano Banana (Editar): nano-banana-edit

image-to-image

Edita uma ou mais imagens enviadas a partir de uma instrução de texto com Google Nano Banana (ou Nano Banana Pro).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 20000 caracteres.
images string[] · obrigatórioURLs de imagem de entrada para editar (1-10).
modelVersion string afeta o preço padrão "nano-banana""nano-banana", "nano-banana-pro" nano-banana = modelo base; nano-banana-pro = Nano Banana Pro.
video_quality string afeta o preço padrão "standard""standard", "1K", "2K", "4K" Envie 'standard' com nano-banana; com nano-banana-pro, envie a resolução de saída 1K, 2K ou 4K.
aspect_ratio string padrão "16:9""auto", "1:1", "9:16", "16:9", "3:4", "4:3", "3:2", "2:3", "5:4", "4:5", "21:9" Use um dos valores listados. nano-banana-pro não suporta auto (produz 1:1).
output_format string padrão "PNG""PNG", "JPEG" Formato da imagem de saída.
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • images: 1-10 URLs de imagem; URLs https públicas ou arquivos enviados com POST /api/storage/upload

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • aspect_ratio: use um dos valores listados; com nano-banana-pro, auto produz 1:1.
  • imagem para imagem requer um array images não vazio (ou image) (400 caso contrário).
  • Envie 1-10 imagens de entrada.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem está então em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de requisição

{
  "mode": "nano-banana-edit",
  "generation_type": "image-to-image",
  "prompt": "Change the background to a blue sky",
  "duration": "0",
  "aspect_ratio": "auto",
  "video_quality": "standard",
  "modelVersion": "nano-banana",
  "output_format": "PNG",
  "images": [
    "https://example.com/input.jpg"
  ]
}

Modo Google Nano Banana 2.1: nano-banana-2-1

text-to-image

Gera uma imagem 1K/2K/4K a partir de texto com Google Nano Banana 2.1.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres.
resolution string afeta o preço padrão "1K""1K", "2K", "4K" Nível de saída.
aspect_ratio string padrão "16:9""auto", "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "5:4", "4:5", "21:9", "4:1", "1:4", "8:1", "1:8" auto permite que o modelo escolha a partir do prompt. Sempre envie (o padrão da API é 16:9).
output_format string padrão "JPEG""JPEG", "PNG" Formato de saída: JPEG ou PNG (padrão JPEG).
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • Preço apenas por resolução: 1K = 3 créditos, 2K = 5, 4K = 8. Proporção de aspecto e número de imagens de referência não alteram o preço.
  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um dos valores listados (400).
  • resolution deve ser 1K, 2K ou 4K (422).
  • prompt máximo 5000 caracteres (400).
  • Este é um modelo diferente de nano-banana-2 (modo e preço separados).
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem está então em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de requisição

{
  "mode": "nano-banana-2-1",
  "generation_type": "text-to-image",
  "prompt": "A minimalist coffee shop poster with the headline \"SLOW MORNINGS\" in bold serif type",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "output_format": "JPEG",
  "images": []
}

image-to-image

Edita/combina até 10 imagens de referência a partir de um prompt com Google Nano Banana 2.1 em 1K-4K.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres.
images string[] · obrigatório1-10 URLs de imagem de referência.
resolution string afeta o preço padrão "1K""1K", "2K", "4K" Nível de saída.
aspect_ratio string padrão "16:9""auto", "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "5:4", "4:5", "21:9", "4:1", "1:4", "8:1", "1:8" auto mantém a proporção de aspecto da primeira imagem de referência. Sempre envie (o padrão da API é 16:9).
output_format string padrão "JPEG""JPEG", "PNG" Formato de saída: JPEG ou PNG (padrão JPEG).
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • images: 1-10 URLs de imagem de referência

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • Preço apenas por resolução: 1K = 3 créditos, 2K = 5, 4K = 8. Proporção de aspecto e número de imagens de referência não alteram o preço.
  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um dos valores listados (400).
  • resolution deve ser 1K, 2K ou 4K (422).
  • prompt máximo 5000 caracteres (400).
  • imagem para imagem requer um array images não vazio (ou image) (400 caso contrário).
  • Máximo de 10 imagens de referência (400).
  • Este é um modelo diferente de nano-banana-2 (modo e preço separados).
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem está então em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de requisição

{
  "mode": "nano-banana-2-1",
  "generation_type": "image-to-image",
  "prompt": "A minimalist coffee shop poster with the headline \"SLOW MORNINGS\" in bold serif type",
  "duration": "0",
  "aspect_ratio": "auto",
  "resolution": "1K",
  "output_format": "JPEG",
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Google Nano Banana 2: nano-banana-2

text-to-image

Gera uma imagem a partir de texto com Google Nano Banana 2 (1K-4K).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 20000 caracteres.
video_quality string afeta o preço padrão "1K""1K", "2K", "4K"
aspect_ratio string padrão "16:9""1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9", "1:4", "4:1", "1:8", "8:1" Proporção de aspecto de saída. Use um dos valores listados.
output_format string padrão "JPG""JPG", "PNG" Formato de saída: JPG ou PNG (padrão JPG).
google_search boolean padrão falseAtiva a fundamentação com Google Search.
image_search boolean padrão falseOpcional; não tem efeito para este modelo e pode ser omitido.
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • Use um dos valores listados.
  • aspect_ratio: use um dos valores listados.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem está então em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de requisição

{
  "mode": "nano-banana-2",
  "generation_type": "text-to-image",
  "prompt": "A beautiful portrait with stunning details",
  "duration": "0",
  "aspect_ratio": "1:1",
  "video_quality": "1K",
  "output_format": "JPG",
  "google_search": false,
  "image_search": false,
  "images": []
}

image-to-image

Edita/combina imagens de referência a partir de um prompt de texto com Google Nano Banana 2.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 20000 caracteres.
images string[] · obrigatórioURLs de imagens de referência (1-14).
video_quality string afeta o preço padrão "1K""1K", "2K", "4K"
aspect_ratio string padrão "16:9""match_input_image", "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9", "1:4", "4:1", "1:8", "8:1" Proporção de aspecto de saída. 'match_input_image' mantém a proporção da imagem de entrada. Use um dos valores listados.
output_format string padrão "JPG""JPG", "PNG" Formato de saída: JPG ou PNG (padrão JPG).
google_search boolean padrão falseAtiva a fundamentação com Google Search.
image_search boolean padrão falseOpcional; não tem efeito para este modelo e pode ser omitido.
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • images: 1-14 URLs de imagens de referência

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • Use um dos valores listados.
  • aspect_ratio: use um dos valores listados.
  • image-to-image exige um array images não vazio (ou image) (400 caso contrário).
  • Envie 1-14 imagens de referência.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Faça polling em GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "nano-banana-2",
  "generation_type": "image-to-image",
  "prompt": "A beautiful portrait with stunning details",
  "duration": "0",
  "aspect_ratio": "match_input_image",
  "video_quality": "1K",
  "output_format": "JPG",
  "google_search": false,
  "image_search": false,
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Flux Kontext: flux-kontext

text-to-image

Gera uma imagem a partir de texto com Flux Kontext (Flux 1 ou Flux 2, Pro ou Max).

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto.
fluxModelVersion string afeta o preço padrão "flux1""flux1", "flux2" Flux Kontext 1 (flux1) ou Flux 2 (flux2).
fluxModel string afeta o preço padrão "flux-kontext-pro""flux-kontext-pro", "flux-kontext-max" Pro ou Max (com flux2, Max é Flux 2 Flex).
fluxResolution string afeta o preço padrão "1K""1K", "2K" Resolução de saída; afeta o preço e a saída apenas com flux2.
video_quality string padrão "1K""1K", "2K" Envie o mesmo valor de fluxResolution.
aspect_ratio string padrão "16:9""16:9", "21:9", "4:3", "1:1", "3:4", "9:16", "16:21", "3:2", "2:3", "auto" Com flux1: 16:9, 21:9, 4:3, 1:1, 3:4, 9:16, 16:21. Com flux2: 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, auto.
output_format string"PNG", "JPEG" Formato de saída, PNG ou JPEG (apenas flux1). Quando omitido, o modelo escolhe o formato.
promptUpsampling boolean padrão falseUpsampling de prompt (apenas flux1).
enableTranslation boolean padrão falseTradução de prompt (apenas flux1).
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • aspect_ratio: use um valor suportado pela fluxModelVersion selecionada.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Faça polling em GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "flux-kontext",
  "generation_type": "text-to-image",
  "prompt": "Serene mountain landscape at sunset with lake reflection",
  "duration": "0",
  "aspect_ratio": "16:9",
  "video_quality": "1K",
  "fluxModel": "flux-kontext-pro",
  "fluxModelVersion": "flux1",
  "fluxResolution": "1K",
  "promptUpsampling": false,
  "enableTranslation": true,
  "output_format": "PNG"
}

image-to-image

Edita uma imagem (ou até 8 referências com Flux 2) a partir de uma instrução de texto com Flux Kontext.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto.
image stringURL da imagem de entrada (primeira imagem); flux1 usa apenas esta. Obrigatório, a menos que você a envie como images[0].
images string[]Apenas flux2: todos os URLs de imagens de referência, até 8.
fluxModelVersion string afeta o preço padrão "flux1""flux1", "flux2" Flux Kontext 1 (flux1) ou Flux 2 (flux2).
fluxModel string afeta o preço padrão "flux-kontext-pro""flux-kontext-pro", "flux-kontext-max" Pro ou Max (com flux2, Max é Flux 2 Flex).
fluxResolution string afeta o preço padrão "1K""1K", "2K" Resolução de saída; afeta o preço e a saída apenas com flux2.
video_quality string padrão "1K""1K", "2K" Envie o mesmo valor de fluxResolution.
aspect_ratio string padrão "16:9""16:9", "21:9", "4:3", "1:1", "3:4", "9:16", "16:21", "3:2", "2:3", "auto" Com flux1: 16:9, 21:9, 4:3, 1:1, 3:4, 9:16, 16:21. Com flux2: 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, auto.
output_format string"PNG", "JPEG" Formato de saída, PNG ou JPEG (apenas flux1). Quando omitido, o modelo escolhe o formato.
promptUpsampling boolean padrão falseUpsampling de prompt (apenas flux1).
enableTranslation boolean padrão falseTradução de prompt (apenas flux1).
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • image: 1 URL de imagem (flux1)
  • images: 1-8 URLs de imagens (apenas flux2)

Pastas de upload para /api/storage/upload

  • image: flux-kontext

Regras

  • aspect_ratio: use um valor suportado pela fluxModelVersion selecionada.
  • image-to-image exige um array images não vazio (ou image) (400 caso contrário).
  • flux1 usa apenas a única imagem de entrada em image; flux2 aceita até 8 imagens de referência em images.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Faça polling em GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "flux-kontext",
  "generation_type": "image-to-image",
  "prompt": "Serene mountain landscape at sunset with lake reflection",
  "duration": "0",
  "aspect_ratio": "16:9",
  "video_quality": "1K",
  "fluxModel": "flux-kontext-pro",
  "fluxModelVersion": "flux1",
  "fluxResolution": "1K",
  "promptUpsampling": false,
  "enableTranslation": true,
  "output_format": "PNG",
  "image": "https://example.com/input.jpg"
}

Modo Krea 3: krea-3

text-to-image

Gera uma imagem 1K ou 2K a partir de texto com Krea 3.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres.
resolution string afeta o preço padrão "1K""1K", "2K" Nível de saída: 1K (cerca de 1 MP) ou 2K (cerca de 4 MP).
aspect_ratio string padrão "16:9""1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "5:4", "4:5", "21:9" Proporção de aspecto de saída (sem auto). Sempre envie.
output_format string padrão "JPEG""JPEG", "PNG" Formato de saída: JPEG ou PNG (padrão JPEG).
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um dos 10 valores listados (400). Sempre envie aspect_ratio.
  • resolution deve ser 1K ou 2K (422).
  • prompt com no máximo 5000 caracteres (400).
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Faça polling em GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "krea-3",
  "generation_type": "text-to-image",
  "prompt": "A cozy bookshop window at dusk with a cat asleep on a stack of books",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "output_format": "JPEG",
  "images": []
}

image-to-image

Edita ou combina 1-8 imagens de referência a partir de um prompt com Krea 3 em 1K ou 2K; refira-se a elas como <image-1>...<image-N>.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres. Refira-se às imagens de referência como <image-1>, <image-2>,... na ordem de upload.
images string[] · obrigatório afeta o preço1-8 URLs de imagens de referência, na ordem de <image-1>...<image-N> no prompt.
resolution string afeta o preço padrão "1K""1K", "2K" Nível de saída: 1K (cerca de 1 MP) ou 2K (cerca de 4 MP).
aspect_ratio string padrão "16:9""1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "5:4", "4:5", "21:9" Proporção de aspecto de saída (sem auto). Sempre envie.
output_format string padrão "JPEG""JPEG", "PNG" Formato de saída: JPEG ou PNG (padrão JPEG).
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • images: 1-8 URLs de imagens de referência

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um dos 10 valores listados (400). Sempre envie aspect_ratio.
  • resolution deve ser 1K ou 2K (422).
  • prompt com no máximo 5000 caracteres (400).
  • image-to-image exige um array images não vazio (ou image) (400 caso contrário).
  • Máximo de 8 imagens de referência (400); cada imagem de referência adiciona uma cobrança de tamanho de saída.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Faça polling em GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "krea-3",
  "generation_type": "image-to-image",
  "prompt": "Place the ceramic mug from <image-2> on the wooden table in <image-1>. Keep everything else unchanged.",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "output_format": "JPEG",
  "images": [
    "https://example.com/scene.jpg",
    "https://example.com/mug.jpg"
  ]
}

Modo FLUX 3 Image: flux-3-image

text-to-image

Gera uma imagem nativa 1K/2K/4K a partir de texto com FLUX 3.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres.
resolution string afeta o preço padrão "1K""1K", "2K", "4K" Nível de saída.
aspect_ratio string afeta o preço padrão "16:9""21:9", "2:1", "16:9", "3:2", "7:5", "4:3", "5:4", "1:1", "4:5", "3:4", "5:7", "2:3", "9:16", "1:2" Proporção de aspecto de saída (sem auto). Sempre envie.
output_format string padrão "JPEG""JPEG", "PNG" Formato de saída: JPEG ou PNG (padrão JPEG).
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um dos 14 valores listados (400). Sempre envie aspect_ratio.
  • resolution deve ser 1K, 2K ou 4K (422).
  • prompt com no máximo 5000 caracteres (400).
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Faça polling em GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "flux-3-image",
  "generation_type": "text-to-image",
  "prompt": "A bakery storefront at golden hour with a hand-painted sign that reads \"Morning Loaf\"",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "output_format": "JPEG",
  "images": []
}

image-to-image

Edita/combina até 10 imagens de referência a partir de um prompt com FLUX 3 em 1K-4K.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres.
images string[] · obrigatório1-10 URLs de imagens de referência.
resolution string afeta o preço padrão "1K""1K", "2K", "4K" Nível de saída.
aspect_ratio string afeta o preço padrão "16:9""21:9", "2:1", "16:9", "3:2", "7:5", "4:3", "5:4", "1:1", "4:5", "3:4", "5:7", "2:3", "9:16", "1:2" Proporção de aspecto de saída (sem auto). Sempre envie.
output_format string padrão "JPEG""JPEG", "PNG" Formato de saída: JPEG ou PNG (padrão JPEG).
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • images: 1-10 URLs de imagens de referência

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um dos 14 valores listados (400). Sempre envie aspect_ratio.
  • resolution deve ser 1K, 2K ou 4K (422).
  • prompt com no máximo 5000 caracteres (400).
  • image-to-image exige um array images não vazio (ou image) (400 caso contrário).
  • Máximo de 10 imagens de referência (400); referências não alteram o preço.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Faça polling em GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "flux-3-image",
  "generation_type": "image-to-image",
  "prompt": "A bakery storefront at golden hour with a hand-painted sign that reads \"Morning Loaf\"",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "output_format": "JPEG",
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Seedream 5.0: seedream-5.0-lite

text-to-image

Gera imagens HD (opcionalmente em lote) a partir de texto com Seedream 5.0 Lite.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto.
video_quality string padrão "2K""2K", "3K" Tamanho da saída: 2K ou 3K.
aspect_ratio string padrão "16:9""1:1", "2:3", "3:2", "3:4", "4:3", "9:16", "16:9", "21:9" Proporção de aspecto da saída. Use um dos valores listados e sempre envie-o.
output_format string padrão "PNG""PNG", "JPEG" Formato da saída: PNG ou JPEG.
sequential_image_generation string padrão "disabled""disabled", "auto" 'auto' ativa a saída em lote (multi-imagem).
max_images number afeta o preço padrão 11–15 Número de imagens em um lote. Defina acima de 1 somente com sequential_image_generation='auto'.
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • Defina max_images > 1 somente com sequential_image_generation='auto'.
  • Se um lote retornar menos imagens do que o solicitado, os créditos não utilizados são reembolsados automaticamente.
  • Sempre envie aspect_ratio, usando um dos valores listados.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url. Os resultados do lote aparecem em result_images.

Exemplo de corpo de requisição

{
  "mode": "seedream-5.0-lite",
  "generation_type": "text-to-image",
  "prompt": "A cozy reading nook with warm light",
  "duration": "0",
  "aspect_ratio": "1:1",
  "video_quality": "2K",
  "output_format": "PNG",
  "sequential_image_generation": "disabled",
  "max_images": 1,
  "images": []
}

image-to-image

Edita/mistura imagens de referência em novas imagens HD (opcionalmente em lote) com Seedream 5.0 Lite.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto.
images string[] · obrigatórioURLs de imagens de referência (1-14).
video_quality string padrão "2K""2K", "3K" Tamanho da saída: 2K ou 3K.
aspect_ratio string padrão "16:9""match_input_image", "1:1", "2:3", "3:2", "3:4", "4:3", "9:16", "16:9", "21:9" Proporção de aspecto da saída; 'match_input_image' mantém a proporção da imagem de entrada. Use um dos valores listados e sempre envie-o.
output_format string padrão "PNG""PNG", "JPEG" Formato da saída: PNG ou JPEG.
sequential_image_generation string padrão "disabled""disabled", "auto" 'auto' ativa a saída em lote (multi-imagem).
max_images number afeta o preço padrão 11–15 Número de imagens em um lote. Defina acima de 1 somente com sequential_image_generation='auto'.
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • images: 1-14 URLs de imagens de referência

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • Defina max_images > 1 somente com sequential_image_generation='auto'.
  • Se um lote retornar menos imagens do que o solicitado, os créditos não utilizados são reembolsados automaticamente.
  • Sempre envie aspect_ratio, usando um dos valores listados.
  • image-to-image requer um array de images não vazio (ou image) (400 caso contrário).
  • Envie 1-14 imagens de referência.
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url. Os resultados do lote aparecem em result_images.

Exemplo de corpo de requisição

{
  "mode": "seedream-5.0-lite",
  "generation_type": "image-to-image",
  "prompt": "A cozy reading nook with warm light",
  "duration": "0",
  "aspect_ratio": "match_input_image",
  "video_quality": "2K",
  "output_format": "PNG",
  "sequential_image_generation": "disabled",
  "max_images": 1,
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Seedream 5.0 Pro: seedream-5.0-pro

text-to-image

Gera imagens com texto denso e infográficos a partir de um prompt com Seedream 5.0 Pro.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres.
resolution string afeta o preço padrão "1K""1K", "2K"
video_quality string padrão "1K""1K", "2K" Envie o mesmo valor que resolution; resolution determina o preço e a saída.
aspect_ratio string padrão "16:9""1:1", "4:3", "3:4", "16:9", "9:16", "2:3", "3:2", "21:9" Proporção de aspecto da saída; sem auto (também para image-to-image). Sempre envie-o.
output_format string"PNG", "JPEG" Formato da saída: PNG ou JPEG. Quando omitido, o modelo escolhe o formato.
duration string padrão "0"Envie "0" (não usado para imagens).

Regras

  • aspect_ratio deve ser um de 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9 (400). Sempre envie aspect_ratio.
  • resolution deve ser 1K ou 2K (422).
  • prompt máximo de 5000 caracteres (400).
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "seedream-5.0-pro",
  "generation_type": "text-to-image",
  "prompt": "An infographic poster explaining the water cycle with labeled arrows",
  "duration": "0",
  "aspect_ratio": "1:1",
  "video_quality": "1K",
  "resolution": "1K",
  "output_format": "PNG",
  "images": []
}

image-to-image

Edita com precisão até 10 imagens de referência a partir de um prompt com Seedream 5.0 Pro.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, até 5000 caracteres.
images string[] · obrigatório afeta o preço1-10 URLs de imagens de referência.
resolution string afeta o preço padrão "1K""1K", "2K"
video_quality string padrão "1K""1K", "2K" Envie o mesmo valor que resolution; resolution determina o preço e a saída.
aspect_ratio string padrão "16:9""1:1", "4:3", "3:4", "16:9", "9:16", "2:3", "3:2", "21:9" Proporção de aspecto da saída; sem auto (também para image-to-image). Sempre envie-o.
output_format string"PNG", "JPEG" Formato da saída: PNG ou JPEG. Quando omitido, o modelo escolhe o formato.
duration string padrão "0"Envie "0" (não usado para imagens).

Arquivos de entrada

  • images: 1-10 URLs de imagens de referência

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • aspect_ratio deve ser um de 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9 (400). Sempre envie aspect_ratio.
  • resolution deve ser 1K ou 2K (422).
  • prompt máximo de 5000 caracteres (400).
  • image-to-image requer um array de images não vazio (ou image) (400 caso contrário).
  • Máximo de 10 imagens de referência (400).
  • Assíncrono: a resposta é {generation_id, status:'processing', image_url:null, video_url:null, video_quality}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem estará então em video_url e todas as imagens de saída estarão em result_images (array). A resposta de status não possui o campo image_url.
  • Ao cotar com /api/quote, envie input_image_count (o número de imagens) — a cotação não conta o array images para este modelo, então ela sairia muito baixa.

Exemplo de corpo de requisição

{
  "mode": "seedream-5.0-pro",
  "generation_type": "image-to-image",
  "prompt": "An infographic poster explaining the water cycle with labeled arrows",
  "duration": "0",
  "aspect_ratio": "1:1",
  "video_quality": "1K",
  "resolution": "1K",
  "output_format": "PNG",
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Seedream 5.0 Flash: seedream-5.0-flash

text-to-image

Texto-para-imagem rápido e de baixo custo até 2K com Seedream 5.0 Flash.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, máximo de 5000 caracteres.
resolution string padrão "1K""1K", "1.5K", "2K" Tamanho da saída (1K, 1.5K ou 2K). Defina com resolution; video_quality não é usado.
aspect_ratio string padrão "16:9""1:1", "4:3", "3:4", "16:9", "9:16", "2:3", "3:2", "21:9" Proporção de aspecto da saída; sem opção auto. Sempre envie-o explicitamente.
output_format string padrão "PNG""PNG", "JPEG" Formato da saída em maiúsculas: PNG ou JPEG.
duration string padrão "0"Envie "0".

Regras

  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um de 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9 (400). Sempre envie aspect_ratio explicitamente.
  • resolution deve ser 1K, 1.5K ou 2K (422).
  • prompt máximo de 5000 caracteres (400).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "seedream-5.0-flash",
  "generation_type": "text-to-image",
  "prompt": "A cozy coffee shop interior at golden hour, warm light through large windows",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "output_format": "PNG",
  "images": []
}

image-to-image

Edições rápidas e de baixo custo de até 10 imagens de referência até 2K com Seedream 5.0 Flash.

ParâmetroValores e observações
prompt string · obrigatórioPrompt de texto, máximo de 5000 caracteres.
images string[] · obrigatório1-10 URLs de imagens de referência.
resolution string padrão "1K""1K", "1.5K", "2K" Tamanho da saída (1K, 1.5K ou 2K). Defina com resolution; video_quality não é usado.
aspect_ratio string padrão "16:9""1:1", "4:3", "3:4", "16:9", "9:16", "2:3", "3:2", "21:9" Proporção de aspecto da saída; sem opção auto. Sempre envie-o explicitamente.
output_format string padrão "PNG""PNG", "JPEG" Formato da saída em maiúsculas: PNG ou JPEG.
duration string padrão "0"Envie "0".

Arquivos de entrada

  • images: 1-10 URLs de imagens de referência.

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • generation_type deve ser text-to-image ou image-to-image (422).
  • aspect_ratio deve ser um de 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9 (400). Sempre envie aspect_ratio explicitamente.
  • resolution deve ser 1K, 1.5K ou 2K (422).
  • prompt máximo de 5000 caracteres (400).
  • image-to-image requer um array de images não vazio (ou image) (400).
  • No máximo 10 imagens de referência (400).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não possui o campo image_url.

Exemplo de corpo de requisição

{
  "mode": "seedream-5.0-flash",
  "generation_type": "image-to-image",
  "prompt": "A cozy coffee shop interior at golden hour, warm light through large windows",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "output_format": "PNG",
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Ideogram 4.5: ideogram-4-5

text-to-image

Gera 1-8 imagens com texto preciso dentro da imagem a partir de um prompt com Ideogram 4.5.

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo de 10000 caracteres.
quality string afeta o preço padrão "low""low", "medium", "high"
num_images number afeta o preço padrão 11–8 Imagens por requisição (1-8); o preço é multiplicado por num_images.
enable_prompt_expansion boolean padrão trueSomente text-to-image.
aspect_ratio string padrão "1:1""1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "5:4", "4:5", "16:10", "10:16", "2:1", "1:2", "12:5", "5:12", "22:9", "9:22", "23:9", "9:23", "8:3", "3:8", "3:1", "1:3" Proporção de aspecto da saída.
resolution string"1K", "2K" Nível de resolução para o aspect_ratio escolhido; padrão para o menor disponível. 12:5, 5:12, 22:9, 9:22, 23:9, 9:23, 8:3, 3:8, 3:1, 1:3 são somente 2K.
seed numberSemente inteira opcional.
duration string padrão "0"Envie "0".

Regras

  • Créditos para imagens não entregues são reembolsados automaticamente.
  • generation_type deve ser text-to-image ou image-to-image.
  • prompt obrigatório, máximo de 10000 caracteres (422).
  • num_images deve ser um inteiro de 1-8 (422).
  • resolution deve ser válido para o aspect_ratio escolhido (422).
  • text-to-image não deve incluir images (422); edit_precision e mask_url são rejeitados (422).
  • aspect_ratio auto não é permitido para text-to-image.
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não possui o campo image_url. Com num_images > 1, todas as imagens estão em result_images.

Exemplo de corpo de requisição

{
  "mode": "ideogram-4-5",
  "generation_type": "text-to-image",
  "prompt": "A vintage travel poster with the bold title \"VISIT LISBON\" and a yellow tram",
  "duration": "0",
  "quality": "low",
  "num_images": 1,
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "enable_prompt_expansion": true
}

image-to-image

Edita uma imagem (opcionalmente com máscara e imagens de referência) com renderização precisa de texto via Ideogram 4.5.

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo 10000 caracteres.
images string[] · obrigatórioimages[0] = imagem para editar; images[1..] = até 4 imagens de referência (3 com máscara). Apenas URLs http(s).
quality string afeta o preço padrão "very_low""very_low", "low", "medium", "high"
num_images number afeta o preço padrão 11–8 Imagens por solicitação (1-8); o preço é multiplicado por num_images.
edit_precision string padrão "regular""regular", "high" Precisão de edição.
mask_url stringURL de máscara preto/branco, mesmo tamanho da imagem de origem; preto = área a alterar.
aspect_ratio string padrão "auto""auto", "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "5:4", "4:5", "16:10", "10:16", "2:1", "1:2", "12:5", "5:12", "22:9", "9:22", "23:9", "9:23", "8:3", "3:8", "3:1", "1:3" auto mantém o tamanho da imagem de origem.
resolution string"1K", "2K" Nível de resolução para o aspect_ratio escolhido; o padrão é o menor disponível. 12:5, 5:12, 22:9, 9:22, 23:9, 9:23, 8:3, 3:8, 3:1, 1:3 são apenas 2K. Não permitido com aspect_ratio auto.
seed numberSemente inteira opcional.
duration string padrão "0"Envie "0".

Arquivos de entrada

  • images: 1 imagem para editar + 0-4 URLs de imagens de referência (0-3 com máscara).
  • mask: mask_url opcional (PNG, preto = área de edição, mesmo tamanho da origem).

Pastas de upload para /api/storage/upload

  • image: image-generator
  • mask: image-generator

Regras

  • Os créditos para imagens não entregues são reembolsados automaticamente.
  • generation_type deve ser text-to-image ou image-to-image.
  • prompt obrigatório, máximo 10000 caracteres (422).
  • num_images deve ser um inteiro de 1 a 8 (422).
  • resolution deve ser válido para o aspect_ratio escolhido (422).
  • A qualidade very_low está disponível apenas para image-to-image.
  • É necessária pelo menos 1 imagem; no máximo 4 imagens de referência após a primeira (3 quando mask_url está definido). As URLs das imagens devem ser http(s).
  • enable_prompt_expansion é rejeitado para image-to-image (422).
  • Um aspect_ratio/resolution diferente de auto só é permitido com edit_precision=regular e sem máscara (422).
  • mask_url só é aceito para qwen-image-2-1 e ideogram-4-5 e deve ser uma URL http(s).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url. Com num_images > 1, todas as imagens estão em result_images.

Exemplo de corpo de solicitação

{
  "mode": "ideogram-4-5",
  "generation_type": "image-to-image",
  "prompt": "Replace the sign text with \"OPEN\"",
  "duration": "0",
  "quality": "very_low",
  "num_images": 1,
  "aspect_ratio": "auto",
  "images": [
    "https://example.com/source.jpg"
  ],
  "edit_precision": "regular"
}

Modo GPT Image 2: gpt-image-2

text-to-image

Gera imagens fotorrealistas com renderização nítida de texto a partir de um prompt com GPT Image 2.

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo 20000 caracteres.
resolution string afeta o preço padrão "1K""1K", "2K", "4K"
aspect_ratio string padrão "auto""auto", "1:1", "3:2", "2:3", "4:3", "3:4", "5:4", "4:5", "16:9", "9:16", "2:1", "1:2", "3:1", "1:3", "21:9", "9:21" Omitido = auto.
background string padrão "auto""auto", "opaque", "transparent" Valores diferentes de auto só são permitidos em 1K.
duration string padrão "0"Envie "0".

Regras

  • generation_type deve ser text-to-image ou image-to-image; prompt obrigatório, máximo 20000 caracteres (422).
  • aspect_ratio auto (ou omitido) só suporta 1K (422).
  • 1:1 não suporta 4K (422).
  • 5:4, 4:5, 3:1, 1:3 e 9:21 não são suportados em 2K; 3:1, 1:3 e 9:21 não são suportados em 4K (422).
  • background diferente de auto só é permitido em 1K (422).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de solicitação

{
  "mode": "gpt-image-2",
  "generation_type": "text-to-image",
  "prompt": "A modern storefront poster with the headline \"Summer Sale\" in bold serif type",
  "duration": "0",
  "aspect_ratio": "auto",
  "resolution": "1K",
  "images": []
}

image-to-image

Edita/combina até 16 imagens de referência a partir de um prompt com GPT Image 2.

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo 20000 caracteres.
images string[] · obrigatório1-16 URLs de imagens de referência.
resolution string afeta o preço padrão "1K""1K", "2K", "4K"
aspect_ratio string padrão "auto""auto", "1:1", "3:2", "2:3", "4:3", "3:4", "5:4", "4:5", "16:9", "9:16", "2:1", "1:2", "3:1", "1:3", "21:9", "9:21" Omitido = auto.
background string padrão "auto""auto", "opaque", "transparent" Valores diferentes de auto só são permitidos em 1K.
duration string padrão "0"Envie "0".

Arquivos de entrada

  • images: 1-16 URLs de imagens de referência.

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • generation_type deve ser text-to-image ou image-to-image; prompt obrigatório, máximo 20000 caracteres (422).
  • aspect_ratio auto (ou omitido) só suporta 1K (422).
  • 1:1 não suporta 4K (422).
  • 5:4, 4:5, 3:1, 1:3 e 9:21 não são suportados em 2K; 3:1, 1:3 e 9:21 não são suportados em 4K (422).
  • background diferente de auto só é permitido em 1K (422).
  • image-to-image requer um array de images não vazio (ou image) (400).
  • No máximo 16 imagens de referência (400).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de solicitação

{
  "mode": "gpt-image-2",
  "generation_type": "image-to-image",
  "prompt": "A modern storefront poster with the headline \"Summer Sale\" in bold serif type",
  "duration": "0",
  "aspect_ratio": "auto",
  "resolution": "1K",
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo GPT Image 2.5: gpt-image-2-5

text-to-image

Gera imagens mais nítidas e detalhadas a partir de um prompt com GPT Image 2.5 (Flare/Sunburst).

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo 20000 caracteres.
gptImage25Version string padrão "flare""flare", "sunburst" Nível de qualidade; flare e sunburst atualmente custam o mesmo.
resolution string afeta o preço padrão "1K""1K", "2K", "4K"
aspect_ratio string padrão "auto""auto", "1:1", "3:2", "2:3", "4:3", "3:4", "16:9", "9:16", "21:9", "27:16", "16:27", "9:8", "8:9" Omitido = auto. 27:16, 16:27, 9:8, 8:9 são apenas 1K.
background string padrão "auto""auto", "opaque", "transparent" Disponível em todas as resoluções.
duration string padrão "0"Envie "0".

Regras

  • generation_type deve ser text-to-image ou image-to-image; prompt obrigatório, máximo 20000 caracteres (422).
  • 27:16, 16:27, 9:8, 8:9 estão disponíveis apenas em 1K (422).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de solicitação

{
  "mode": "gpt-image-2-5",
  "generation_type": "text-to-image",
  "prompt": "A cinematic night city poster with neon reflections on a rainy street",
  "duration": "0",
  "aspect_ratio": "auto",
  "resolution": "1K",
  "gptImage25Version": "flare",
  "background": "auto",
  "images": []
}

image-to-image

Edita até 16 imagens de referência com maior fidelidade de referência usando GPT Image 2.5.

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo 20000 caracteres.
images string[] · obrigatório1-16 URLs de imagens de referência.
gptImage25Version string padrão "flare""flare", "sunburst" Nível de qualidade; flare e sunburst atualmente custam o mesmo.
resolution string afeta o preço padrão "1K""1K", "2K", "4K"
aspect_ratio string padrão "auto""auto", "1:1", "3:2", "2:3", "4:3", "3:4", "16:9", "9:16", "21:9", "27:16", "16:27", "9:8", "8:9" Omitido = auto. 27:16, 16:27, 9:8, 8:9 são apenas 1K.
background string padrão "auto""auto", "opaque", "transparent" Disponível em todas as resoluções.
duration string padrão "0"Envie "0".

Arquivos de entrada

  • images: 1-16 URLs de imagens de referência.

Pastas de upload para /api/storage/upload

  • image: image-generator

Regras

  • generation_type deve ser text-to-image ou image-to-image; prompt obrigatório, máximo 20000 caracteres (422).
  • 27:16, 16:27, 9:8, 8:9 estão disponíveis apenas em 1K (422).
  • image-to-image requer um array de images não vazio (ou image) (400).
  • No máximo 16 imagens de referência (400).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de solicitação

{
  "mode": "gpt-image-2-5",
  "generation_type": "image-to-image",
  "prompt": "A cinematic night city poster with neon reflections on a rainy street",
  "duration": "0",
  "aspect_ratio": "auto",
  "resolution": "1K",
  "gptImage25Version": "flare",
  "background": "auto",
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Qwen Image 2.1: qwen-image-2-1

text-to-image

Gera imagens (incluindo PNGs transparentes nativos) a partir de um prompt com Qwen Image 2.1.

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo 5000 caracteres.
resolution string afeta o preço padrão "1K""1K", "2K"
aspect_ratio string padrão "1:1""1:1", "4:3", "3:4", "3:2", "2:3", "16:9", "9:16" Padrão text-to-image 1:1; auto não está disponível.
background string padrão "opaque""opaque", "transparent" transparent retorna um PNG transparente nativo; 'auto' é rejeitado.
duration string padrão "0"Envie "0".

Regras

  • generation_type deve ser text-to-image ou image-to-image; prompt obrigatório, máximo 5000 caracteres (422).
  • resolution deve ser 1K ou 2K (422).
  • background deve ser opaque ou transparent (422).
  • Proporções de aspecto text-to-image: 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16 (auto é rejeitado, 422).
  • mask_url é rejeitado para text-to-image (422).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de solicitação

{
  "mode": "qwen-image-2-1",
  "generation_type": "text-to-image",
  "prompt": "A glossy cartoon sticker of a corgi astronaut, transparent background",
  "duration": "0",
  "aspect_ratio": "1:1",
  "resolution": "1K",
  "background": "transparent",
  "images": []
}

image-to-image

Edita até 10 imagens de referência, ou faz inpaint em uma imagem com máscara, usando Qwen Image 2.1.

ParâmetroValores e observações
prompt string · obrigatórioObrigatório, não vazio, máximo 5000 caracteres.
images string[] · obrigatório1-10 URLs de imagens de referência (exatamente 1 com mask_url).
resolution string afeta o preço padrão "1K""1K", "2K"
aspect_ratio string padrão "auto""auto", "1:1", "4:3", "3:4", "3:2", "2:3", "16:9", "9:16" Padrão image-to-image auto. Quando mask_url está definido, auto é sempre usado.
background string padrão "opaque""opaque", "transparent" transparent retorna um PNG transparente nativo; 'auto' é rejeitado.
mask_url stringURL de máscara preto/branco para inpaint; branco = área a alterar.
duration string padrão "0"Envie "0".

Arquivos de entrada

  • images: 1-10 URLs de imagens de referência (exatamente 1 ao usar máscara).
  • mask: mask_url opcional (PNG preto/branco, branco = área de edição).

Pastas de upload para /api/storage/upload

  • image: image-generator
  • mask: image-generator

Regras

  • generation_type deve ser text-to-image ou image-to-image; prompt obrigatório, máximo 5000 caracteres (422).
  • resolution deve ser 1K ou 2K (422).
  • background deve ser opaque ou transparent (422).
  • image-to-image requer um array de images não vazio (ou image) (400).
  • No máximo 10 imagens de referência (422).
  • mask_url requer exatamente 1 imagem e não pode ser combinado com background=transparent (422); com máscara, aspect_ratio é sempre auto.
  • Proporções de aspecto image-to-image: auto, 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16 (422).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL da imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não tem campo image_url.

Exemplo de corpo de solicitação

{
  "mode": "qwen-image-2-1",
  "generation_type": "image-to-image",
  "prompt": "A glossy cartoon sticker of a corgi astronaut, transparent background",
  "duration": "0",
  "aspect_ratio": "auto",
  "resolution": "1K",
  "background": "opaque",
  "images": [
    "https://example.com/ref.jpg"
  ]
}

Modo Virtual Try-On: virtual-try-on

image-to-image

Veste a pessoa em uma foto com 1-3 imagens de roupas.

ParâmetroValores e observações
images string[] · obrigatório[foto da pessoa, 1-3 imagens de roupa]; images[0] é sempre a pessoa.
prompt stringInstrução extra opcional anexada à instrução integrada de experimentação de roupas, máximo 1000 caracteres.
aspect_ratio string padrão "auto""auto", "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9" Omita ou envie auto para seguir a proporção da foto da pessoa.
duration string padrão "0"Envie "0".

Arquivos de entrada

  • images: images[0] = URL da foto da pessoa, images[1..3] = 1-3 URLs de imagens de roupa.

Pastas de upload para /api/storage/upload

  • image: virtual-try-on

Regras

  • generation_type deve ser image-to-image (422).
  • images deve ser [pessoa, 1-3 imagens de roupa] (422).
  • prompt máximo 1000 caracteres (422).
  • aspect_ratio deve ser auto ou um de 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9 (422).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não possui campo image_url.

Exemplo de corpo de requisição

{
  "mode": "virtual-try-on",
  "generation_type": "image-to-image",
  "prompt": "",
  "duration": "0",
  "images": [
    "https://example.com/person.jpg",
    "https://example.com/garment.jpg"
  ]
}

Modo Product Holding: product-holding

image-to-image

Coloca 1-3 imagens de produto nas mãos da pessoa em uma foto.

ParâmetroValores e observações
images string[] · obrigatório[foto da pessoa, 1-3 imagens de produto]; images[0] é sempre a pessoa.
prompt stringInstrução extra opcional anexada à instrução integrada de product-holding, máximo 1000 caracteres.
aspect_ratio string padrão "auto""auto", "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9" Omita ou envie auto para seguir a proporção da foto da pessoa.
duration string padrão "0"Envie "0".

Arquivos de entrada

  • images: images[0] = URL da foto da pessoa, images[1..3] = 1-3 URLs de imagens de produto.

Pastas de upload para /api/storage/upload

  • image: virtual-try-on

Regras

  • generation_type deve ser image-to-image (422).
  • images deve ser [pessoa, 1-3 imagens de produto] (422).
  • prompt máximo 1000 caracteres (422).
  • aspect_ratio deve ser auto ou um de 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9 (422).
  • Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{generation_id}/status até status='completed'; o primeiro URL de imagem está em video_url e todas as imagens de saída estão em result_images (array). A resposta de status não possui campo image_url.

Exemplo de corpo de requisição

{
  "mode": "product-holding",
  "generation_type": "image-to-image",
  "prompt": "",
  "duration": "0",
  "images": [
    "https://example.com/person.jpg",
    "https://example.com/product.jpg"
  ]
}

Modelos de Áudio

Texto para fala, música, fala para texto e limpeza de áudio. Resultados de áudio são retornados em video_url com media_kind "audio".

Modelomodegeneration_type
Grok TTSgrok-ttstext-to-speech
Eleven v4eleven-v4text-to-speech
Eleven v4 Turboeleven-v4-turbotext-to-speech
Lyria 3.5 (Text to Music)lyria-musictext-to-music
Lyria 3.5 (Image to Music)lyria-musictext-to-music
Scribe V2scribe-v2speech-to-text
VEED Clean Audioveed-clean-audioremove-background-noise

Modo Grok TTS: grok-tts

text-to-speech

Converte texto em fala com xAI Grok TTS, com voz, idioma e codec de saída selecionáveis.

ParâmetroValores e observações
prompt string · obrigatório afeta o preço1–15000 Texto para falar (enviado como está, nunca traduzido automaticamente). O comprimento é contado em caracteres.
duration string padrão "0""0" Envie "0" (áudio não tem entrada de duração).
voice string padrão "eve""carina", "zagan", "helix", "orion", "luna", "iris", "altair", "zenith", "perseus", "helios", "lux", "kepler", "rigel", "cosmo", "celeste", "ursa", "sirius", "lumen", "castor", "naksh", "atlas", "aurora", "liora", "ara", "eve", "leo", "rex", "sal" Nome da voz.
language string padrão "auto""auto", "en", "zh", "ja", "ko", "fr", "de", "it", "es-ES", "es-MX", "pt-BR", "pt-PT", "ru", "tr", "vi", "id", "hi", "bn", "ar-EG", "ar-SA", "ar-AE" Idioma BCP-47; 'auto' = detecção automática.
audio_codec string padrão "mp3""mp3", "wav", "pcm", "mulaw", "alaw" Formato de saída. pcm/mulaw/alaw são dados brutos sem cabeçalho (apenas download, não reproduzíveis no navegador).
sample_rate number padrão 240008000, 16000, 22050, 24000, 44100, 48000 Taxa de amostragem de saída em Hz.
bit_rate number padrão 12800032000, 64000, 96000, 128000, 192000 Aplica-se apenas quando audio_codec é mp3. O máximo depende de sample_rate: até 8000 Hz → 64000, até 24000 Hz → 160000 (então 128000 é o maior valor permitido), acima → 192000.
seed numberAceito para compatibilidade retroativa; pode ser omitido.

Regras

  • prompt é obrigatório e deve ser não vazio após trim; máximo 15000 caracteres.
  • generation_type deve ser 'text-to-speech'; text-to-speech aceita apenas os modos eleven-v4-turbo, eleven-v4, grok-tts.
  • voice, language, audio_codec, sample_rate e bit_rate devem ser um dos valores listados quando fornecidos, caso contrário 400.
  • bit_rate acima do máximo para sample_rate (sample_rate padrão é 24000 quando omitido) é rejeitado com 400.
  • Campos exclusivos do Eleven (stability, similarity_boost, audio_output_format, text_normalization, timestamps=true) são rejeitados com 400.

Resultado

Assíncrono: POST retorna {generation_id, status:'processing'}. Consulte GET /api/video-generation/{id}/status; quando status='completed', video_url é o arquivo de áudio gerado, media_kind é 'audio', e video_metadata fornece content_type/file_name/file_size. Sem letras/transcrição/timestamps.

Exemplo de corpo de requisição

{
  "mode": "grok-tts",
  "generation_type": "text-to-speech",
  "prompt": "Welcome to Veevid. Let's make something amazing today.",
  "duration": "0",
  "voice": "eve",
  "language": "auto",
  "audio_codec": "mp3",
  "sample_rate": 24000,
  "bit_rate": 128000
}

Modo Eleven v4: eleven-v4

text-to-speech

Converte texto em fala com ElevenLabs Eleven v4, o nível de maior qualidade.

ParâmetroValores e observações
prompt string · obrigatório afeta o preço1–5000 Texto para falar (não traduzido automaticamente). Máximo 5000 caracteres.
duration string padrão "0""0" Envie "0".
voice string padrão "Rachel""Rachel", "Aria", "Roger", "Sarah", "Laura", "Charlie", "George", "Callum", "River", "Liam", "Charlotte", "Alice", "Matilda", "Will", "Jessica", "Eric", "Chris", "Brian", "Daniel", "Lily", "Bill" Nome da voz predefinida (sensível a maiúsculas/minúsculas).
language string padrão "auto""auto", "en", "zh", "yue", "es", "pt", "fr", "de", "it", "ja", "ko", "hi", "ar", "ru", "af", "as", "ast", "az", "be", "bg", "bn", "bs", "ca", "ceb", "cs", "cy", "da", "el", "et", "fa", "fi", "fil", "gl", "gu", "ha", "he", "hr", "hu", "hy", "id", "is", "jv", "ka", "kk", "kn", "ky", "lb", "ln", "lt", "lv", "mi", "mk", "ml", "mn", "mr", "ms", "mt", "my", "ne", "nl", "no", "oc", "or", "pa", "pl", "ps", "ro", "sd", "sk", "sl", "so", "sr", "sv", "sw", "ta", "te", "tg", "th", "tr", "uk", "ur", "uz", "vi" Código ISO 639-1 (alguns códigos de 3 letras: yue, ast, ceb, fil); 'auto' = deixar o modelo detectar.
stability number padrão 0.50–1 Menor = mais expressivo, maior = mais estável.
similarity_boost number padrão 0.750–1 Maior = mais próximo da voz original.
seed number0–4294967295 Seed inteiro; omita para um seed aleatório.
audio_output_format string padrão "mp3_44100_128""mp3_22050_32", "mp3_44100_32", "mp3_44100_64", "mp3_44100_96", "mp3_44100_128", "mp3_44100_192", "opus_48000_32", "opus_48000_64", "opus_48000_96", "opus_48000_128", "opus_48000_192", "pcm_8000", "pcm_16000", "pcm_22050", "pcm_24000", "pcm_44100", "pcm_48000", "ulaw_8000", "alaw_8000" codec_samplerate_bitrate. opus ->.ogg; pcm/ulaw/alaw são arquivos brutos sem cabeçalho (.pcm/.ulaw/.alaw).
text_normalization string padrão "auto""auto", "on", "off" Se números/datas/abreviações são expandidos antes da síntese.
timestamps boolean padrão falseRetorna timestamps por caractere na resposta de status.

Regras

  • prompt é obrigatório e não vazio após trim; máximo 5000 caracteres.
  • generation_type deve ser 'text-to-speech'.
  • Campos exclusivos do Grok audio_codec / sample_rate / bit_rate são rejeitados com 400 (use audio_output_format).
  • voice, language, audio_output_format e text_normalization devem ser um dos valores listados quando fornecidos, caso contrário 400.
  • stability e similarity_boost devem ser números finitos em [0,1]; seed deve ser um inteiro em [0, 4294967295].

Resultado

Assíncrono: consulte GET /api/video-generation/{id}/status. Ao concluir, video_url é o arquivo de áudio gerado e media_kind é 'audio'. Se timestamps:true foi enviado, a resposta também tem 'timestamps': um array de grupos de palavras como {characters:[...], character_start_times_seconds:[...], character_end_times_seconds:[...]} (presente apenas quando não vazio).

Exemplo de corpo de requisição

{
  "mode": "eleven-v4",
  "generation_type": "text-to-speech",
  "prompt": "Welcome to Veevid. Let's make something amazing today.",
  "duration": "0",
  "voice": "Rachel",
  "language": "auto",
  "stability": 0.5,
  "similarity_boost": 0.75,
  "audio_output_format": "mp3_44100_128",
  "text_normalization": "auto",
  "timestamps": false
}

Modo Eleven v4 Turbo: eleven-v4-turbo

text-to-speech

Converte texto em fala com ElevenLabs Eleven v4 Turbo: metade do preço do Eleven v4, com menor latência.

ParâmetroValores e observações
prompt string · obrigatório afeta o preço1–5000 Texto para falar (não traduzido automaticamente). Máximo 5000 caracteres.
duration string padrão "0""0" Envie "0".
voice string padrão "Rachel""Rachel", "Aria", "Roger", "Sarah", "Laura", "Charlie", "George", "Callum", "River", "Liam", "Charlotte", "Alice", "Matilda", "Will", "Jessica", "Eric", "Chris", "Brian", "Daniel", "Lily", "Bill" Nome da voz predefinida (sensível a maiúsculas/minúsculas).
language string padrão "auto""auto", "en", "zh", "yue", "es", "pt", "fr", "de", "it", "ja", "ko", "hi", "ar", "ru", "af", "as", "ast", "az", "be", "bg", "bn", "bs", "ca", "ceb", "cs", "cy", "da", "el", "et", "fa", "fi", "fil", "gl", "gu", "ha", "he", "hr", "hu", "hy", "id", "is", "jv", "ka", "kk", "kn", "ky", "lb", "ln", "lt", "lv", "mi", "mk", "ml", "mn", "mr", "ms", "mt", "my", "ne", "nl", "no", "oc", "or", "pa", "pl", "ps", "ro", "sd", "sk", "sl", "so", "sr", "sv", "sw", "ta", "te", "tg", "th", "tr", "uk", "ur", "uz", "vi" Mesma lista de idiomas do eleven-v4.
stability number padrão 0.50–1
similarity_boost number padrão 0.750–1
seed number0–4294967295 Seed inteiro; omita para um seed aleatório.
audio_output_format string padrão "mp3_44100_128""mp3_22050_32", "mp3_44100_32", "mp3_44100_64", "mp3_44100_96", "mp3_44100_128", "mp3_44100_192", "opus_48000_32", "opus_48000_64", "opus_48000_96", "opus_48000_128", "opus_48000_192", "pcm_8000", "pcm_16000", "pcm_22050", "pcm_24000", "pcm_44100", "pcm_48000", "ulaw_8000", "alaw_8000"
text_normalization string padrão "auto""auto", "on", "off"
timestamps boolean padrão falseRetorna timestamps por caractere na resposta de status.

Regras

  • Mesmas regras de validação do eleven-v4; apenas o preço difere.

Resultado

Igual ao eleven-v4: video_url é o arquivo de áudio gerado; array opcional 'timestamps' quando timestamps:true.

Exemplo de corpo de requisição

{
  "mode": "eleven-v4-turbo",
  "generation_type": "text-to-speech",
  "prompt": "Welcome to Veevid. Let's make something amazing today.",
  "duration": "0",
  "voice": "Rachel",
  "language": "auto",
  "stability": 0.5,
  "similarity_boost": 0.75,
  "audio_output_format": "mp3_44100_128",
  "text_normalization": "auto",
  "timestamps": false
}

Modo Lyria 3.5 (Text to Music): lyria-music

text-to-music

Gera uma faixa musical (cerca de 1-2 minutos, vocal ou instrumental) a partir de um prompt de texto com Google Lyria 3.5.

ParâmetroValores e observações
prompt string · obrigatório1–5000 Descrição da música (estilo, clima, instrumentos, tempo, estrutura). Não há parâmetro de duração; o comprimento só pode ser descrito no prompt (mínimo observado ~60s).
duration string padrão "0""0" Envie "0".
image stringURL https opcional de uma única imagem de referência.

Arquivos de entrada

  • image: Opcional, 1 URL https de imagem (jpeg/png/webp, máx. 10MB; envie com POST /api/storage/upload). Apenas uma imagem é usada.

Pastas de upload para /api/storage/upload

  • image: lyria-music

Regras

  • o prompt é obrigatório e não pode ser vazio após o corte; máximo de 5000 caracteres.
  • generation_type deve ser 'text-to-music' (e text-to-music só aceita lyria-music).
  • image e cada entrada de images, se fornecidas, devem começar com https://.
  • Prompts que imitam cantores reais ou letras protegidas por direitos autorais são rejeitados pelo modelo; créditos não utilizados são reembolsados automaticamente.

Resultado

Assíncrono: consulte GET /api/video-generation/{id}/status. Quando concluído, video_url é o arquivo de áudio musical gerado e media_kind é 'audio'. 'lyrics' (string) está presente apenas quando a faixa tem vocais; é marcação bruta do Lyria (tags de seção como [[A0]], tempo de linha como [12.0:]), então limpe antes de exibir.

Exemplo de corpo de requisição

{
  "mode": "lyria-music",
  "generation_type": "text-to-music",
  "prompt": "Upbeat lo-fi hip hop with warm piano chords, soft vinyl crackle and a relaxed 80 BPM groove. About two minutes long.",
  "duration": "0"
}

Modo Lyria 3.5 (Image to Music): lyria-music

text-to-music

Gera música que combina com o clima de uma imagem de referência mais um prompt de texto com Google Lyria 3.5 (image-to-music).

ParâmetroValores e notas
prompt string · obrigatório1–5000 Ainda obrigatório. Exemplo: 'Música instrumental de fundo que combine com o clima desta imagem. Cerca de um minuto de duração.'
image stringURL https da imagem de referência; a entrada principal para image-to-music (opcional no nível da API).
duration string padrão "0""0" Envie "0".

Arquivos de entrada

  • image: 1 URL https de imagem (jpeg/png/webp, máx. 10MB; envie com POST /api/storage/upload). Apenas uma imagem é usada.

Pastas de upload para /api/storage/upload

  • image: lyria-music

Regras

  • Mesmo modo, generation_type, validação e preço da entrada text-to-music; não há um generation_type separado para 'image-to-music'.
  • image deve ser https; um prompt ainda é obrigatório.

Resultado

Igual ao text-to-music: video_url é o arquivo de áudio musical; 'lyrics' opcional.

Exemplo de corpo de requisição

{
  "mode": "lyria-music",
  "generation_type": "text-to-music",
  "prompt": "Instrumental background music that matches the mood of this image. About one minute long.",
  "duration": "0",
  "image": "https://cdn.veevid.ai/image-to-music/i2m-sample-coffee.webp"
}

Modo Scribe V2: scribe-v2

speech-to-text

Transcreve um arquivo de áudio para texto com diarização de falantes e tags de eventos de áudio usando ElevenLabs Scribe V2.

ParâmetroValores e notas
audio string · obrigatórioURL https do arquivo de áudio a ser transcrito.
input_audio_duration number · obrigatório afeta o preço0–3600 Duração do áudio em segundos (deve ser > 0, máx. 3600); envie a duração real. Base de cobrança: ceil(segundos/60) minutos, mín. 1.
duration string padrão "0""0" Envie "0".
diarize boolean padrão trueIdentificar falantes.
tag_audio_events boolean padrão trueMarcar eventos não relacionados à fala, como [risos].
keyterms array<string> afeta o preçoSubstantivos próprios/nomes de marcas para enviesar o reconhecimento; máx. 100 itens, cada um não vazio e <=50 caracteres. Envie apenas quando não vazio; keyterms aumentam o preço.

Arquivos de entrada

  • audio: 1 URL https de áudio; apenas .mp3, .wav, .m4a, .ogg, .flac, .aac (arquivos de vídeo como mp4 não são suportados). Máx. 60 minutos; envie com POST /api/storage/upload (máx. 100MB).

Pastas de upload para /api/storage/upload

  • audio: speech-to-text/audio

Regras

  • generation_type deve ser 'speech-to-text' e vice-versa.
  • audio é obrigatório e deve ser uma URL https; audios (array) é rejeitado - apenas um único arquivo.
  • Se a URL tiver uma extensão de arquivo, ela deve ser uma de .mp3, .wav, .m4a, .ogg, .flac, .aac; URLs sem extensão são aceitas.
  • input_audio_duration é obrigatório, > 0 e <= 3600 segundos.
  • keyterms: máx. 100, cada um não vazio e <= 50 caracteres após o corte.
  • Envie input_audio_duration igual à duração real do áudio (segundos); se for subdeclarada, a diferença é cobrada após a transcrição.
  • Transcrições com falha são reembolsadas automaticamente.
  • Para cotação, envie a URL https audio e input_audio_duration (a cotação verifica a URL, mas não a baixa).

Resultado

Assíncrono e rápido (consulte GET /api/video-generation/{id}/status, por exemplo, a cada 4s). Quando concluído: objeto 'transcript' {v:1, language (ISO 639-3, ex.: 'eng', ou null), duration (segundos, fim da última palavra), speakers (contagem), text (texto completo), cues: [{s: start_sec, e: end_sec, p: speaker_index_or_null, t: text}]}. Nota: video_url aqui é a URL do áudio de origem original (não um arquivo de resultado) e é mantida por 14 dias. media_kind 'audio'.

Exemplo de corpo de requisição

{
  "mode": "scribe-v2",
  "generation_type": "speech-to-text",
  "duration": "0",
  "audio": "https://example.com/interview.mp3",
  "input_audio_duration": 95.4,
  "diarize": true,
  "tag_audio_events": true
}

Modo VEED Clean Audio: veed-clean-audio

remove-background-noise

Remove ruído de fundo de um arquivo de áudio ou vídeo e retorna um arquivo de áudio limpo e normalizado em loudness com VEED Clean Audio.

ParâmetroValores e notas
audio string · obrigatórioURL https do arquivo de áudio OU vídeo a ser limpo (vídeo: apenas a trilha de áudio é usada).
input_audio_duration number · obrigatório afeta o preço0–1800 Duração da mídia em segundos (deve ser > 0, máx. 1800); envie a duração real.
duration string padrão "0""0" Envie "0".
strength number padrão 0.8740–1 Quanto do fundo original é mantido sob a fala; piso de supressão = 1 - strength (0.874 = -18 dB). Silêncio entre palavras é sempre limpo.
target_lufs number|null padrão -19-40–-8 Loudness integrada de saída (LUFS). null = desabilitar normalização de loudness (manter volume original); omitido = -19. Apenas ganho, pico limitado a -1.1 dBTP, então alvos altos podem não ser alcançados.
audio_output_format string padrão "flac""flac", "wav" A saída é sempre 48kHz mono 16-bit

Arquivos de entrada

  • audio: 1 URL https; áudio .mp3, .wav, .m4a, .aac, .ogg, .opus, .flac ou vídeo .mp4, .mov, .m4v, .webm. Máx. 30 minutos e 512MB (envie com POST /api/storage/presign-upload, veja File Uploads). Vídeo sem trilha de áudio falha e os créditos são reembolsados automaticamente.

Regras

  • generation_type deve ser 'remove-background-noise' e vice-versa.
  • audio é obrigatório e deve ser uma URL https; audios (array) é rejeitado - apenas um único arquivo.
  • Se a URL tiver uma extensão de arquivo, ela deve ser uma de .mp3, .wav, .m4a, .aac, .ogg, .opus, .flac, .mp4, .mov, .m4v, .webm; URLs sem extensão são aceitas.
  • input_audio_duration é obrigatório, > 0 e <= 1800 segundos (30 minutos).
  • strength deve estar em [0,1]; target_lufs deve ser null ou em [-40,-8]; audio_output_format deve ser flac ou wav.
  • Envie input_audio_duration igual à duração real da mídia (segundos); se for subdeclarada, a diferença é cobrada após o processamento.
  • Gerações com falha (ex.: 'File has no audio track') são reembolsadas automaticamente.
  • Para cotação, envie a URL https audio e input_audio_duration (a cotação verifica a URL, mas não a baixa).

Resultado

Assíncrono (o processamento leva cerca de 0,2-0,35x a duração da mídia; consulte GET /api/video-generation/{id}/status). Quando concluído, video_url é o arquivo de áudio limpo (.flac ou .wav) e media_kind é 'audio'. Sem lyrics/transcript/timestamps.

Exemplo de corpo de requisição

{
  "mode": "veed-clean-audio",
  "generation_type": "remove-background-noise",
  "duration": "0",
  "audio": "https://example.com/noisy-recording.mp3",
  "input_audio_duration": 162.3,
  "strength": 0.874,
  "target_lufs": -19,
  "audio_output_format": "flac"
}

Ferramentas e Efeitos de Vídeo

Upscale, redimensionar, editar, estender, inserir cenas, trocar personagens, sincronização labial, controle de movimento e efeitos de vídeo.

Modelomodegeneration_type
Kling 3.0 Motion Controlmotion-control-standardmotion-control
Kling 3.0 Motion Controlmotion-control-promotion-control
AI Hug Video Generatorai-hugai-hug
AI Kissing Video Generatorai-kissingai-kissing
AI Video Upscalerupscalevideo-upscale
AI Video Resizerreframevideo-reframe
Wan 2.7 Editwan-2.7-editedit-video
Wan 3.0wan-3.0edit-video, video-extend
Seedance 2.0seedance-2.0edit-video, video-extend
Seedance 2.5seedance-2.5edit-video, video-extend
LTX 2.3ltx-2-3video-extend
MiniMax H3 Maxminimax-h3-max-extendvideo-extend
MiniMax H3 Maxminimax-h3-max-insertvideo-insert
MiniMax H3 Maxminimax-h3-max-recastcharacter-swap
Video Lip Syncvideo-lip-synclip-sync
Google Veo 3.1veo3video-extend
Grok Imaginegrok-imaginevideo-extend

Modo Kling 3.0 Motion Control: motion-control-standard

motion-control

Transfere o movimento de um vídeo de direção para o personagem em uma imagem de referência (Kling 3.0 Motion Control, Standard).

ParâmetroValores e notas
image string · obrigatórioURL pública da imagem do personagem.
video string · obrigatórioURL pública do vídeo de direção (referência de movimento).
duration string (segundos inteiros) · obrigatório afeta o preçoDuração do vídeo de direção como um número inteiro de segundos, arredondado para cima (ex.: "5"; decimais são rejeitados); determina o preço. Quando o vídeo de direção está no armazenamento Veevid, o servidor também o mede e cobra pela duração medida se for maior.
character_orientation string · obrigatório"image", "video" 'image' mantém a orientação do personagem da imagem (vídeo até 10s); 'video' segue o vídeo (até 30s).
model_version string afeta o preço padrão "motion-control-standard""motion-control-standard", "motion-control-pro" Opcional; o nível Pro é usado quando mode ou model_version é motion-control-pro.
prompt stringOrientação de texto opcional, ex.: 'Sem distorção, os movimentos do personagem são consistentes com o vídeo.' Omita se em branco.
keep_original_sound boolean padrão trueManter o áudio do vídeo de direção.
elements arrayNo máximo 1 elemento: {frontal_image_url?: string, reference_image_urls: string[1-3]}. Permitido apenas quando character_orientation é 'video'. Envie [] quando não usado.
aspect_ratio string"original" Envie 'original'; a saída segue as entradas.

Arquivos de entrada

  • image: 1 URL de imagem do personagem (JPEG/PNG/WebP, máx. 10MB)
  • video: 1 URL de vídeo de direção; até 10s quando character_orientation=image, até 30s quando =video (mp4/webm/mov, máx. 200MB)
  • images: imagens de elementos opcionais via elements[0].frontal_image_url e elements[0].reference_image_urls (1-3)

Pastas de upload para /api/storage/upload

  • image: kling-motion-control/reference-images
  • video: kling-motion-control/reference-videos
  • images: kling-motion-control/reference-images

Regras

  • image, video e character_orientation são obrigatórios (400 caso contrário).
  • elements são permitidos apenas quando character_orientation=video; no máximo 1 elemento com 1-3 reference_image_urls.
  • Envie duration igual à duração do vídeo de direção em segundos inteiros (arredondado para cima).
  • duration deve ser um número inteiro de segundos (decimais são rejeitados); máx. 10 quando character_orientation=image, máx. 30 quando =video (400 caso contrário).
  • mode motion-control-standard / motion-control-pro deve ser usado com generation_type motion-control, e vice-versa (400 caso contrário).
  • Se o vídeo de saída for mais longo que a duração cobrada, a diferença é cobrada após a geração; se seu saldo não cobrir, o resultado não é entregue e a geração falha sem reembolso.

Exemplo de corpo de requisição

{
  "mode": "motion-control-standard",
  "generation_type": "motion-control",
  "model_version": "motion-control-standard",
  "prompt": "No distortion, the character's movements are consistent with the video.",
  "image": "https://cdn.veevid.ai/sample/motion-control-image-1.webp",
  "video": "https://cdn.veevid.ai/sample/motion-control-video-1.mp4",
  "duration": "5",
  "aspect_ratio": "original",
  "character_orientation": "image",
  "keep_original_sound": true,
  "elements": []
}

Modo Kling 3.0 Motion Control: motion-control-pro

motion-control

Transfere o movimento de um vídeo de direção para o personagem em uma imagem de referência em qualidade Pro (Kling 3.0 Motion Control, Pro).

ParâmetroValores e observações
image string · obrigatórioURL pública da imagem do personagem.
video string · obrigatórioURL pública do vídeo de referência (movimento).
duration string (segundos inteiros) · obrigatório afeta o preçoDuração do vídeo de referência em segundos inteiros, arredondado para cima (ex.: "5"; decimais são rejeitados); determina o preço. Quando o vídeo de referência está no armazenamento do Veevid, o servidor também o mede e cobra pela duração medida se esta for maior.
character_orientation string · obrigatório"image", "video" 'image': vídeo de até 10s; 'video': vídeo de até 30s.
model_version string afeta o preço padrão "motion-control-pro""motion-control-standard", "motion-control-pro" Opcional; o nível Pro é usado quando mode ou model_version é motion-control-pro.
prompt stringOrientação textual opcional (omitir se em branco).
keep_original_sound boolean padrão trueMantém o áudio do vídeo de referência.
elements arrayNo máximo 1 elemento: {frontal_image_url?: string, reference_image_urls: string[1-3]}; somente com character_orientation='video'. Envie [] quando não for usado.
aspect_ratio string"original" Envie 'original'; a saída segue as entradas.

Arquivos de entrada

  • image: 1 URL de imagem do personagem (JPEG/PNG/WebP, máx. 10MB)
  • video: 1 URL de vídeo de referência; até 10s quando character_orientation=image, até 30s quando =video (máx. 200MB)
  • images: imagens de elementos opcionais via elements[0].frontal_image_url e elements[0].reference_image_urls (1-3)

Pastas de upload para /api/storage/upload

  • image: kling-motion-control/reference-images
  • video: kling-motion-control/reference-videos
  • images: kling-motion-control/reference-images

Regras

  • image, video e character_orientation são obrigatórios (caso contrário, 400).
  • elements são permitidos somente quando character_orientation=video; no máximo 1 elemento com 1-3 reference_image_urls.
  • Envie duration igual à duração do vídeo de referência em segundos inteiros (arredondado para cima).
  • duration deve ser um número inteiro de segundos (decimais são rejeitados); máx. 10 quando character_orientation=image, máx. 30 quando =video (caso contrário, 400).
  • mode motion-control-standard / motion-control-pro deve ser usado com generation_type motion-control, e vice-versa (caso contrário, 400).
  • Se o vídeo de saída for mais longo que a duração cobrada, a diferença é cobrada após a geração; se seu saldo não cobrir, o resultado não é entregue e a geração falha sem reembolso.

Exemplo de corpo de requisição

{
  "mode": "motion-control-pro",
  "generation_type": "motion-control",
  "model_version": "motion-control-pro",
  "prompt": "No distortion, the character's movements are consistent with the video.",
  "image": "https://cdn.veevid.ai/sample/motion-control-image-1.webp",
  "video": "https://cdn.veevid.ai/sample/motion-control-video-1.mp4",
  "duration": "5",
  "aspect_ratio": "original",
  "character_orientation": "video",
  "keep_original_sound": true,
  "elements": []
}

Modo Gerador de Vídeo de Abraço com IA: ai-hug

ai-hug

Gera um vídeo de duas pessoas (ou uma pessoa e um animal de estimação) a partir de duas fotos separadas se abraçando em uma cena descrita.

ParâmetroValores e observações
prompt string · obrigatórioApenas a frase da cena (máx. 500 caracteres). Ela é automaticamente envolvida em um modelo fixo que referencia as duas fotos como @Element1/@Element2; não escreva o prompt completo.
images string[] · obrigatórioExatamente 2 URLs de imagem: [pessoa A, pessoa B]; images[0] = @Element1.
resolution string afeta o preço padrão "720p""720p", "1080p", "4k" Usa resolution, não video_quality.
duration string afeta o preço padrão "5"3–15 Segundos inteiros.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1"
generate_audio boolean afeta o preço padrão falseGera áudio ambiente.

Arquivos de entrada

  • images: exatamente 2 URLs de imagem, um sujeito cada (até 10MB por foto)

Pastas de upload para /api/storage/upload

  • image: ai-hug

Regras

  • mode e generation_type devem ser ambos 'ai-hug'
  • images deve conter exatamente 2 URLs
  • prompt (cena) é obrigatório e tem no máximo 500 caracteres
  • resolution deve ser 720p, 1080p ou 4k; duration inteiro 3-15; aspect_ratio 16:9, 9:16 ou 1:1
  • scene_template é rejeitado para este modo (apenas ai-kissing o aceita)

Exemplo de corpo de requisição

{
  "mode": "ai-hug",
  "generation_type": "ai-hug",
  "prompt": "They spot each other in a sunlit park, walk closer and share a warm, tight hug.",
  "images": [
    "https://example.com/person-a.jpg",
    "https://example.com/person-b.jpg"
  ],
  "resolution": "720p",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": false
}

Modo Gerador de Vídeo de Beijo com IA: ai-kissing

ai-kissing

Gera um vídeo de dois adultos se beijando, a partir de duas fotos separadas ou de uma foto com ambas as pessoas.

ParâmetroValores e observações
prompt string · obrigatórioApenas a frase da cena (máx. 500 caracteres); pode referir-se às duas pessoas somente como @Element1 e @Element2 (grafia exata). Ela é automaticamente envolvida em um modelo fixo.
images string[] · obrigatório1 URL (uma foto de ambas as pessoas, usada como primeiro quadro) ou 2 URLs ([pessoa 1, pessoa 2], images[0] = @Element1). A contagem seleciona o modo de entrada.
scene_template string padrão "default""default", "stylized" 'stylized' para cenas em estilo anime/3D (remove restrições de realismo).
resolution string afeta o preço padrão "720p""720p", "1080p", "4k" Usa resolution, não video_quality.
duration string afeta o preço3–15 Segundos inteiros. Padrão 5 com 2 fotos, 8 com 1 foto.
aspect_ratio string padrão "16:9""16:9", "9:16", "1:1" Sem efeito no modo de uma foto (a saída segue a foto).
generate_audio boolean afeta o preço padrão false

Arquivos de entrada

  • images: 1 URL de imagem (foto do casal) ou 2 URLs de imagem (uma por pessoa); até 10MB por foto

Pastas de upload para /api/storage/upload

  • image: ai-kissing

Regras

  • mode e generation_type devem ser ambos 'ai-kissing' (modo legado 'normal' é rejeitado)
  • images deve conter 1 ou 2 URLs
  • prompt (cena) é obrigatório, máx. 500 caracteres; apenas referências @Element1/@Element2 são permitidas
  • scene_template deve ser default ou stylized
  • resolution 720p/1080p/4k; duration inteiro 3-15; aspect_ratio 16:9, 9:16 ou 1:1
  • Ao cotar com /api/quote, envie images ou input_image_count (1 ou 2) — o modo de entrada decide a duração padrão (caso contrário, 422).

Exemplo de corpo de requisição

{
  "mode": "ai-kissing",
  "generation_type": "ai-kissing",
  "prompt": "Standing face to face in a sunlit park at golden hour, @Element1 tilts their head up and closes their eyes while @Element2 gently cups @Element1's face with one hand and leans in; they share a soft, tender kiss on the lips.",
  "images": [
    "https://example.com/person-1.jpg",
    "https://example.com/person-2.jpg"
  ],
  "scene_template": "default",
  "resolution": "720p",
  "duration": "5",
  "aspect_ratio": "16:9",
  "generate_audio": false
}

Modo Ampliador de Vídeo com IA: upscale

video-upscale

Amplia um vídeo existente para 720p, 1080p ou 4K e opcionalmente aumenta sua taxa de quadros.

ParâmetroValores e observações
video string · obrigatórioURL do vídeo de origem (campo singular).
video_quality string · obrigatório afeta o preço"720p", "1080p", "4K" Resolução alvo. Sempre envie video_quality.
target_fps number afeta o preço padrão 3015–60 Taxa de quadros alvo. Acima de 30 fps custa mais em 1080p e 4K.
duration string afeta o preço padrão "5"Duração do vídeo de origem em segundos inteiros, como string. Envie a duração real do vídeo de origem; ela determina o preço (5 quando omitido).
video_source string"upload", "url" 'upload' para arquivos enviados com POST /api/storage/upload, 'url' para um link externo. Com 'url', o link deve responder a uma solicitação HEAD com um tipo de vídeo suportado e ser <=200MB.
prompt string padrão "Upscale"Opcional; não tem efeito e pode ser omitido.

Arquivos de entrada

  • video: 1 URL de vídeo (mp4, mov, webm, m4v, mkv, avi, wmv, ts, vob, mpg, flv, 3gp ou gif), até 200MB.

Pastas de upload para /api/storage/upload

  • video: upscale-input

Regras

  • video é obrigatório (400 'Video is required for video-upscale generation').
  • Quando enviado, duration deve ser um inteiro positivo (400).
  • target_fps deve ser 15-60.
  • Com video_source 'url': a URL deve responder a uma solicitação HEAD em 5s, ter um tipo de conteúdo ou extensão de arquivo de vídeo suportado e ser <=200MB.
  • O processamento é assíncrono: a resposta tem status 'processing' e um generation_id para consulta.

Exemplo de corpo de requisição

{
  "mode": "upscale",
  "generation_type": "video-upscale",
  "prompt": "Upscale",
  "video": "https://cdn.veevid.ai/upscale-input/clip.mp4",
  "video_quality": "1080p",
  "target_fps": 30,
  "duration": "10",
  "video_source": "upload"
}

Modo Redimensionador de Vídeo com IA: reframe

video-reframe

Altera a proporção de um vídeo usando IA para estender o quadro (outpainting) em vez de cortar.

ParâmetroValores e observações
video string · obrigatórioURL do vídeo de origem (campo singular).
aspect_ratio string padrão "16:9""1:1", "16:9", "9:16", "4:3", "3:4", "21:9", "9:21" Proporção alvo; use um dos valores listados (16:9 quando omitido).
duration string afeta o preço padrão "5"Duração do vídeo de origem em segundos inteiros, como string. Envie a duração real do vídeo de origem.
prompt string padrão "Reframe Video"Descrição opcional da cena para guiar as áreas estendidas. O literal 'Reframe Video' significa sem prompt.
video_source string"upload", "url" Opcional: 'upload' ou 'url'.
video_quality string padrão "standard"Opcional; não tem efeito (envie 'standard' ou omita).

Arquivos de entrada

  • video: 1 URL de vídeo, até 100MB e até 30s.

Pastas de upload para /api/storage/upload

  • video: reframe-input

Regras

  • video é obrigatório (400 'Video is required for video-reframe generation').
  • Sempre envie duration igual à duração do vídeo de origem (segundos inteiros).
  • aspect_ratio deve ser um dos 7 valores listados.
  • O vídeo de origem deve ter no máximo 30s e 100MB.
  • O processamento é assíncrono: consulte o generation_id retornado.

Exemplo de corpo de requisição

{
  "mode": "reframe",
  "generation_type": "video-reframe",
  "video": "https://cdn.veevid.ai/reframe-input/clip.mp4",
  "aspect_ratio": "9:16",
  "prompt": "Reframe Video",
  "duration": "8",
  "video_source": "upload",
  "video_quality": "standard"
}

Modo Wan 2.7 Edit: wan-2.7-edit

edit-video

Edita um vídeo existente de 2-10s de acordo com uma instrução de texto, com uma imagem de referência opcional.

ParâmetroValores e observações
prompt string · obrigatórioInstrução de edição (obrigatória).
video string · obrigatórioURL do vídeo de origem (campo singular). MP4 ou MOV, 2-10s, <=100MB.
duration string · obrigatório afeta o preço2–10 Duração da saída em segundos inteiros (2-10). Para corresponder à entrada, envie a duração da origem arredondada para cima.
video_quality string padrão "1080p""720p", "1080p" Resolução da saída. Mesmo preço para ambas.
aspect_ratio string"auto", "16:9", "9:16", "1:1", "4:3", "3:4" Omita (ou envie 'auto') para manter a proporção da origem.
audio_setting string padrão "auto""auto", "origin" 'auto' permite que o modelo gere áudio; 'origin' mantém o áudio da origem.
video_source string"upload", "url" 'upload' para arquivos enviados com POST /api/storage/upload; 'url' para um link externo, que deve passar em uma verificação HEAD (tipo de vídeo suportado, <=100MB).
image stringURL de imagem de referência opcional (http/https) para a edição.

Arquivos de entrada

  • video: 1 URL de vídeo de origem (MP4/MOV, 2-10s, <=100MB)
  • image: 1 URL de imagem de referência opcional (jpg/png/webp)

Pastas de upload para /api/storage/upload

  • video: edit-video-input
  • image: edit-video-ref

Regras

  • Sempre envie duration.
  • duration deve ser uma string inteira 2-10 (400).
  • video_quality, se enviado, deve ser 720p ou 1080p; aspect_ratio, se enviado, deve ser auto, 16:9, 9:16, 1:1, 4:3 ou 3:4 (400).
  • video (singular) é obrigatório (400 'Video is required for edit-video generation').
  • Com video_source 'url', o link deve passar em uma verificação HEAD (tipo de vídeo suportado, <=100MB).
  • Vídeos de origem enviados para edit-video-input devem ser .mp4/.mov, até 100MB.
  • prompt é obrigatório.

Exemplo de corpo de requisição

{
  "mode": "wan-2.7-edit",
  "generation_type": "edit-video",
  "prompt": "Change the jacket to red leather",
  "video": "https://cdn.veevid.ai/edit-video-input/clip.mp4",
  "duration": "6",
  "video_quality": "720p",
  "audio_setting": "auto",
  "video_source": "upload"
}

Modo Wan 3.0: wan-3.0

edit-video

Edita um vídeo de origem com uma instrução de texto, além de imagens de referência e áudio opcionais, e permite escolher a duração da saída.

ParâmetroValores e observações
prompt string · obrigatórioInstrução de edição (obrigatória). É prefixada automaticamente com 'Edit Video 1: ' quando não contém uma intenção de edição.
videos string[] · obrigatório afeta o preço[URL do vídeo de origem]. Os segundos de origem são cobrados juntamente com os segundos de saída.
images string[]Imagens de referência opcionais, até 10.
audios string[]Arquivos de áudio de referência opcionais, até 5.
duration string afeta o preço padrão "5"2–30 Duração da saída em segundos inteiros (2-30); -1 (duração inteligente) é rejeitado.
video_quality string afeta o preço padrão "720p""480p", "720p", "1080p" Resolução de saída.
aspect_ratio string padrão "adaptive""adaptive", "16:9", "9:16", "1:1", "4:3", "3:4" Use um dos valores listados; 'adaptive' mantém a proporção da origem.
generate_audio boolean padrão trueGera uma trilha sonora.
input_video_duration number afeta o preço0–15 Duração do vídeo de origem em segundos, arredondada para cima. Envie sempre junto com o vídeo de origem.
has_video_input booleanCampo somente para cotação: envie true para /api/quote junto com a duração do vídeo de origem; /api/generate-video o ignora.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em videos[] (1-15s, até 100MB)
  • images: 0-10 URLs de imagens de referência (até 20MB cada)
  • audio: 0-5 URLs de áudio de referência em audios[]

Pastas de upload para /api/storage/upload

  • vídeo: wan30/reference-videos
  • imagem: wan30
  • áudio: wan30/audio

Regras

  • Envie input_video_duration igual à duração do vídeo de origem (em segundos); valores > 15 são rejeitados (400).
  • duration deve ser um inteiro de 2 a 30; -1 é rejeitado (400).
  • input_video_duration + duration deve ser <= 30 (400).
  • No máximo 10 imagens, 5 vídeos e 5 áudios (400).
  • videos[] deve conter o vídeo de origem (400 'Video is required for edit-video generation').
  • prompt é obrigatório.
  • Ao fazer cotação com /api/quote, adicione has_video_input: true e input_video_duration se você enviar o vídeo de origem (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "wan-3.0",
  "generation_type": "edit-video",
  "prompt": "Replace the skateboarder with a short-haired woman in a yellow raincoat",
  "videos": [
    "https://cdn.veevid.ai/wan30/reference-videos/clip.mp4"
  ],
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "adaptive",
  "generate_audio": true,
  "input_video_duration": 6
}

video-extend

Continua um vídeo enviado (até 15s), mantendo seus personagens, estilo e som.

ParâmetroValores e observações
prompt stringO que acontece em seguida. É prefixado automaticamente com 'Extend Video 1 by N seconds.' quando não há intenção de extensão.
videos string[] · obrigatório afeta o preço[URL do vídeo de origem]. Nenhum taskId é necessário.
duration string afeta o preço padrão "5"2–30 Duração do novo material em segundos. Deve ser <= 30 - segundos da origem.
video_quality string afeta o preço padrão "720p""480p", "720p", "1080p" Resolução de saída.
aspect_ratio string padrão "16:9""adaptive" Envie 'adaptive' para que a saída siga a origem; quando omitido, 16:9 é usado.
generate_audio boolean padrão trueGera áudio.
input_video_duration number afeta o preço0–15 Duração da origem em segundos, arredondada para cima. Envie sempre junto com o vídeo de origem.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em videos[] (1-15s, até 100MB)

Pastas de upload para /api/storage/upload

  • vídeo: wan30-extend

Regras

  • Envie input_video_duration igual à duração do vídeo de origem (em segundos); valores > 15 são rejeitados (400).
  • duration deve ser um inteiro de 2 a 30; -1 é rejeitado; origem + duration deve ser <= 30 (400).
  • No máximo 5 vídeos, 10 imagens e 5 áudios (400); apenas o vídeo de origem é necessário.
  • Um vídeo de origem em videos[] é obrigatório.
  • Ao fazer cotação com /api/quote, adicione has_video_input: true e input_video_duration se você enviar o vídeo de origem (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "wan-3.0",
  "generation_type": "video-extend",
  "prompt": "She turns around and waves at the camera",
  "videos": [
    "https://cdn.veevid.ai/wan30-extend/clip.mp4"
  ],
  "duration": "5",
  "video_quality": "720p",
  "aspect_ratio": "adaptive",
  "generate_audio": true,
  "input_video_duration": 6
}

Modo Seedance 2.0: seedance-2.0

edit-video

Edita um vídeo de origem (até 15s) usando um prompt mais imagens e áudio de referência opcionais.

ParâmetroValores e observações
prompt string · obrigatórioInstrução de edição (obrigatória).
videos string[] · obrigatório afeta o preço[URL do vídeo de origem]. A duração da origem é cobrada.
images string[]Imagens de referência opcionais; até 9 são usadas.
audios string[]Áudio de referência opcional; até 3 são usados.
duration string afeta o preço padrão "5"4–15 Duração da saída em segundos, 4-15. Valores fora do intervalo são ajustados para 4-15.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p", "4k" Resolução de saída. 1080p e 4k exigem model_version 'seedance-2.0'; com mini ou fast use 480p ou 720p.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" 'auto' mantém a proporção da origem. Use um dos valores listados.
model_version string afeta o preço padrão "seedance-2.0""seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.0" Nível de qualidade/preço. Envie model_version explicitamente.
generate_audio boolean padrão trueGera áudio.
input_video_duration number afeta o preço0–15 Duração do vídeo de origem em segundos (cobrada como pelo menos 2s). Envie sempre junto com o vídeo de origem.
has_video_input booleanCampo somente para cotação: envie true para /api/quote junto com a duração do vídeo de origem; /api/generate-video o ignora.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em videos[] (até 15s e 200MB)
  • images: 0-9 URLs de imagens de referência (até 30MB cada)
  • audio: 0-3 URLs de áudio de referência em audios[] (.wav/.mp3, até 15MB cada, 15s no total)

Pastas de upload para /api/storage/upload

  • vídeo: seedance20-edit
  • imagem: seedance20
  • áudio: seedance20-edit/audio

Regras

  • Envie input_video_duration igual à duração do vídeo de origem (em segundos); valores > 15 são rejeitados (400).
  • Envie model_version explicitamente; com seedance-2.0-mini ou seedance-2.0-fast use 480p ou 720p.
  • videos[] deve conter o vídeo de origem (400 'Video is required for edit-video generation').
  • Apenas as primeiras 9 imagens, 3 vídeos e 3 áudios são usados; duration é normalizado para 4-15 em vez de ser rejeitado.
  • Não suportado: output_format (mp4/mov é válido apenas para Seedance 2.5).
  • Ao fazer cotação com /api/quote, adicione has_video_input: true e input_video_duration se você enviar o vídeo de origem (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "seedance-2.0",
  "generation_type": "edit-video",
  "prompt": "Make it snow in the scene",
  "videos": [
    "https://cdn.veevid.ai/seedance20-edit/clip.mp4"
  ],
  "duration": "5",
  "video_quality": "480p",
  "aspect_ratio": "auto",
  "model_version": "seedance-2.0-fast",
  "generate_audio": true,
  "input_video_duration": 8
}

video-extend

Continua um vídeo enviado por 4-15s com imagens e áudio de referência opcionais.

ParâmetroValores e observações
prompt stringO que acontece em seguida.
videos string[] · obrigatório afeta o preço[URL do vídeo de origem]. Nenhum taskId é necessário.
images string[]Imagens de referência opcionais; até 9 são usadas.
audios string[]Áudio de referência opcional; até 3 são usados.
duration string afeta o preço padrão "5"4–15 Duração do novo material em segundos; ajustada para 4-15.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p", "4k" 1080p e 4k exigem model_version 'seedance-2.0'; com mini ou fast use 480p ou 720p.
aspect_ratio string padrão "16:9""auto", "16:9", "9:16", "1:1", "4:3", "3:4", "21:9" 'auto' mantém a proporção da origem.
model_version string afeta o preço padrão "seedance-2.0""seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.0" Nível de qualidade/preço. Envie model_version explicitamente.
generate_audio boolean padrão trueGera áudio.
input_video_duration number afeta o preço0–15 Duração da origem em segundos (cobrada como pelo menos 2s). Envie sempre junto com o vídeo de origem.
has_video_input booleanCampo somente para cotação: envie true para /api/quote junto com a duração do vídeo de origem; /api/generate-video o ignora.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em videos[] (<=15s; mp4/mov/webm até 200MB)
  • images: 0-9 URLs de imagens de referência
  • audio: 0-3 URLs de áudio de referência em audios[] (.wav/.mp3, até 15MB cada, 15s no total)

Pastas de upload para /api/storage/upload

  • vídeo: seedance20-extend
  • imagem: seedance20-extend
  • áudio: seedance20-extend/audio

Regras

  • Envie input_video_duration igual à duração do vídeo de origem (em segundos); valores > 15 são rejeitados (400).
  • Envie model_version explicitamente; com seedance-2.0-mini ou seedance-2.0-fast use 480p ou 720p.
  • O vídeo de origem é obrigatório em videos[].
  • Apenas as primeiras 9 imagens, 3 vídeos e 3 áudios são usados.
  • Imagens de referência enviadas para a pasta seedance20-extend devem ser .jpg/.jpeg/.png/.tiff/.gif (não .webp).
  • Ao fazer cotação com /api/quote, adicione has_video_input: true e input_video_duration se você enviar o vídeo de origem (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "seedance-2.0",
  "generation_type": "video-extend",
  "prompt": "The camera follows the runner across the bridge",
  "videos": [
    "https://cdn.veevid.ai/seedance20-extend/clip.mp4"
  ],
  "duration": "5",
  "video_quality": "480p",
  "aspect_ratio": "auto",
  "model_version": "seedance-2.0-fast",
  "generate_audio": true,
  "input_video_duration": 8
}

Modo Seedance 2.5: seedance-2.5

edit-video

Edita um vídeo de origem (até 30s) com um prompt e referências opcionais; a saída mantém a duração e a proporção da origem.

ParâmetroValores e observações
prompt string · obrigatórioInstrução de edição. É prefixada automaticamente com 'Edit the video: ' quando não há palavra-chave de edição (edit/add/remove/replace/change/...) presente.
videos string[] · obrigatório afeta o preço[URL do vídeo de origem].
images string[]Imagens de referência opcionais; até 30 são usadas.
audios string[]Áudio de referência opcional; até 10 são usados.
duration string · obrigatório afeta o preço"-1" Envie "-1". A saída da edição sempre corresponde à duração da origem.
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p" Resolução de saída. Use um dos valores listados; a saída 1080p é HEVC de 10 bits.
aspect_ratio string padrão "auto""auto" Envie 'auto' ou omita; as edições sempre mantêm a proporção da origem.
generate_audio boolean padrão trueGera áudio.
input_video_duration number afeta o preço0–30 Duração do vídeo de origem em segundos (cobrada como pelo menos 2s). Envie sempre junto com o vídeo de origem.
output_format string padrão "mp4""mp4", "mov" Contêiner de saída opcional: mp4 ou mov.
has_video_input booleanCampo somente para cotação: envie true para /api/quote junto com a duração do vídeo de origem; /api/generate-video o ignora.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em videos[] (até 30s e 200MB)
  • images: 0-30 URLs de imagens de referência (até 30MB cada)
  • audio: 0-10 URLs de áudio de referência em audios[] (.wav/.mp3, até 15MB cada)

Pastas de upload para /api/storage/upload

  • vídeo: seedance25-edit
  • imagem: seedance25
  • áudio: seedance25-edit/audio

Regras

  • duration deve ser um inteiro de 4 a 30 ou -1 (400); para edições, envie -1.
  • Envie input_video_duration igual à duração do vídeo de origem (em segundos); valores > 30 são rejeitados (400).
  • output_format aceita apenas mp4 ou mov (400 caso contrário).
  • videos[] deve conter a origem (400 'Video is required for edit-video generation').
  • Resultados em 480p geralmente são rascunhos: a resposta de status então inclui seedance25_draft, e o rascunho pode ser atualizado uma vez para uma versão 1080p dentro de 7 dias com POST /api/video-generation/{id}/upgrade-draft.
  • Ao fazer cotação com /api/quote, adicione has_video_input: true e input_video_duration se você enviar o vídeo de origem (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "seedance-2.5",
  "generation_type": "edit-video",
  "prompt": "Replace the car with a red vintage convertible",
  "videos": [
    "https://cdn.veevid.ai/seedance25-edit/clip.mp4"
  ],
  "duration": "-1",
  "video_quality": "480p",
  "aspect_ratio": "auto",
  "generate_audio": true,
  "input_video_duration": 10
}

video-extend

Continua um vídeo enviado por 4-30s com imagens e áudio de referência opcionais.

ParâmetroValores e observações
prompt stringO que acontece em seguida. É automaticamente prefixado com 'Continue the video: ' quando não há palavra-chave de extensão (extend/continue/continuation).
videos string[] · obrigatório afeta o preço[URL do vídeo de origem]. Nenhum taskId é necessário.
images string[]Imagens de referência opcionais; até 30 são usadas.
audios string[]Áudios de referência opcionais; até 10 são usados.
duration string afeta o preço padrão "5"4–30 Duração do novo material em segundos. -1 permite que o modelo escolha e é cobrado como a duração da origem (mín. 4).
video_quality string afeta o preço padrão "480p""480p", "720p", "1080p" Resolução de saída.
output_format string padrão "mp4""mp4", "mov" mov usa H.264 + áudio PCM e geralmente não pode ser reproduzido em navegadores.
aspect_ratio string padrão "auto""auto" A saída segue a proporção de aspecto da origem.
generate_audio boolean padrão trueGerar áudio.
input_video_duration number afeta o preço0–30 Duração da origem em segundos, arredondada para cima (cobrada como pelo menos 2s). Sempre envie junto com o vídeo de origem.
has_video_input booleanCampo somente para cotação: envie true para /api/quote junto com a duração do vídeo de origem; /api/generate-video o ignora.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em videos[] (<=30s; mp4/mov/webm até 200MB)
  • images: 0-30 URLs de imagens de referência
  • audio: 0-10 URLs de áudios de referência em audios[] (.wav/.mp3, até 15MB cada, 30s no total)

Pastas de upload para /api/storage/upload

  • vídeo: seedance25-extend
  • imagem: seedance25-extend
  • áudio: seedance25-extend/audio

Regras

  • duration deve ser um inteiro 4-30 ou -1 (400).
  • Envie input_video_duration igual à duração do vídeo de origem (em segundos); valores > 30 são rejeitados (400).
  • output_format aceita apenas mp4 ou mov (400).
  • Um vídeo de origem em videos[] é obrigatório.
  • Imagens de referência enviadas para a pasta seedance25-extend devem ser .jpg/.jpeg/.png/.tiff/.gif (não .webp).
  • Resultados em 480p geralmente são rascunhos: a resposta de status então inclui seedance25_draft, e o rascunho pode ser atualizado uma vez para uma versão 1080p dentro de 7 dias com POST /api/video-generation/{id}/upgrade-draft.
  • Ao cotar com /api/quote, adicione has_video_input: true e input_video_duration se você enviar o vídeo de origem (o endpoint de cotação não lê URLs de vídeo, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "seedance-2.5",
  "generation_type": "video-extend",
  "prompt": "Continue the video: the dog runs to the beach",
  "videos": [
    "https://cdn.veevid.ai/seedance25-extend/clip.mp4"
  ],
  "duration": "5",
  "video_quality": "480p",
  "output_format": "mp4",
  "aspect_ratio": "auto",
  "generate_audio": true,
  "input_video_duration": 8
}

Modo LTX 2.3: ltx-2-3

video-extend

Estende um vídeo enviado em 1-20s no início ou no fim, com controle opcional do comprimento do contexto.

ParâmetroValores e observações
video string · obrigatórioURL do vídeo de origem (campo singular).
prompt stringDescrição opcional da extensão.
duration string afeta o preço padrão "5"1–20 Segundos a adicionar (1-20). Decimais são permitidos (ex.: passos de 0,5s).
extend_mode string padrão "end""start", "end" Onde adicionar o material.
context number1–20 Segundos da origem a usar como contexto. Omita para deixar o modelo maximizar o contexto.
video_source string"upload", "url" 'upload' para arquivos enviados com POST /api/storage/upload; 'url' para um link externo, que deve passar em uma verificação HEAD (tipo de vídeo suportado, <=200MB).
aspect_ratio string padrão "original""original" Opcional; envie 'original' ou omita. A saída mantém a proporção de aspecto da origem.

Arquivos de entrada

  • video: 1 URL de vídeo de origem (mp4/mov/webm/m4v/gif, até 20s e 200MB)

Pastas de upload para /api/storage/upload

  • vídeo: video-generator-ltx23-extend

Regras

  • duration deve ser um número entre 1 e 20 (400).
  • context, se enviado, deve ser 1-20.
  • video (singular) é obrigatório (400 'Video is required for LTX 2.3 extend generation').
  • Nenhum taskId é usado; model_version e video_quality não têm efeito para extensões.

Exemplo de corpo de requisição

{
  "mode": "ltx-2-3",
  "generation_type": "video-extend",
  "prompt": "The waves keep rolling in at sunset",
  "video": "https://cdn.veevid.ai/video-generator-ltx23-extend/clip.mp4",
  "duration": "5",
  "extend_mode": "end",
  "aspect_ratio": "original",
  "video_source": "upload"
}

Modo MiniMax H3 Max: minimax-h3-max-extend

video-extend

Continua um clipe enviado (1.625-60s) em 5-15s em resolução de até 2K.

ParâmetroValores e observações
prompt string · obrigatórioO que acontece em seguida (obrigatório).
videos string[] · obrigatório[URL do vídeo de origem]; exatamente um. O campo singular 'video' também é aceito.
duration string afeta o preço padrão "5"5–15 Segundos de novo material (segundos inteiros).
video_quality string afeta o preço padrão "768p""480p", "768p", "1080p", "2k", "2K" Resolução de saída.
aspect_ratio string padrão "auto""auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16" auto (ou adaptive) segue a origem. Uma proporção fixa corta a saída. Se omitido, auto é usado, não 16:9.
extend_output string padrão "extended""extended", "continuation" 'extended' retorna origem + novo material; 'continuation' retorna apenas o novo material mais ~1,6s da cauda da origem.
prompt_expansion_mode string padrão "balanced""balanced", "disabled" 'balanced' ativa a expansão de prompt; 'disabled' a desativa.
input_video_duration number1.625–60 Duração da origem em segundos (até 2 decimais). Usado apenas para validação; a origem não é cobrada.
seed numberInteiro opcional >= 0.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em videos[] (1.625-60s, <=50MB, proporção de aspecto 0.4-2.5; mp4/mov/webm/m4v)

Pastas de upload para /api/storage/upload

  • vídeo: minimax-h3-max-extend

Regras

  • A duração da origem e extend_output não afetam o preço.
  • generation_type deve ser video-extend; duration deve ser um inteiro 5-15 (400).
  • Exatamente um vídeo de origem; prompt é obrigatório; imagens e áudio são rejeitados (400).
  • aspect_ratio deve ser auto/adaptive/21:9/16:9/4:3/1:1/3:4/9:16; video_quality deve ser 480p/768p/1080p/2k/2K (400).
  • Um input_video_duration declarado deve ser 1.625-60s (400).
  • O vídeo de origem deve ser <=50MB com proporção de aspecto entre 0.4 e 2.5; origens fora da especificação falham durante a geração. Envie a origem com POST /api/storage/upload (o upload só verifica o tamanho de 50MB).

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max-extend",
  "generation_type": "video-extend",
  "prompt": "The cat jumps onto the windowsill and looks outside",
  "videos": [
    "https://cdn.veevid.ai/minimax-h3-max-extend/clip.mp4"
  ],
  "duration": "5",
  "video_quality": "768p",
  "aspect_ratio": "auto",
  "extend_output": "extended",
  "prompt_expansion_mode": "balanced",
  "input_video_duration": 6.04
}

Modo MiniMax H3 Max: minimax-h3-max-insert

video-insert

Insere uma cena recém-gerada de 5-13s entre dois pontos de tempo de um vídeo de origem.

ParâmetroValores e observações
video string · obrigatórioURL do vídeo de origem (campo singular; 'videos' significa vídeos de referência aqui).
prompt stringDescreve a nova cena. Obrigatório a menos que imagens ou vídeos sejam fornecidos.
duration string afeta o preço padrão "5"5–13 Duração da nova cena em segundos; decimais são permitidos.
video_quality string afeta o preço padrão "768p""480p", "768p" Resolução de saída.
start_time number · obrigatório1.625–60 Ponto de corte em segundos (grade de quadros de 24 fps).
resume_time number · obrigatório1.667–60 Ponto de retomada em segundos. Deve ser pelo menos 1 quadro (1/24s) após start_time e deixar >= 33/24s (+0,25s de margem de segurança) da origem depois dele. A origem entre start e resume é substituída.
images string[] afeta o preçoImagens de referência para a nova cena, até 9.
videos string[] afeta o preçoVídeos de referência, até 3. Cada um deve ser >= 2s, <= 15s no total, e enviado com POST /api/storage/upload.
reference_video_duration number afeta o preço0–15 Envie a duração total dos vídeos de referência em segundos. O servidor também mede os arquivos e cobra o valor medido se for mais de 0,5s maior; se for omitido com vídeos de referência, o máximo de 15 segundos é cobrado.
input_video_duration number0–60 Duração do vídeo de origem em segundos; usado para validar resume_time. A origem não é cobrada.
color_match boolean padrão trueCombinar a classificação de cor da nova cena com a origem.
prompt_expansion_mode string padrão "balanced""balanced", "disabled" Apenas 'disabled' desativa a expansão de prompt.
seed numberInteiro opcional >= 0.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em 'video' (cerca de 3.3-60s, <=50MB; mp4/mov/webm/m4v)
  • images: 0-9 URLs de imagens de referência em 'images' (jpg/png/webp)
  • videos: 0-3 URLs de vídeos de referência em 'videos' (mp4/mov, cada um >=2s, total <=15s, <=100MB cada, enviados com POST /api/storage/upload)

Pastas de upload para /api/storage/upload

  • vídeo: minimax-h3-max-insert
  • imagens: minimax-h3-max-insert/reference-images
  • vídeos: minimax-h3-max-insert/reference-videos

Regras

  • Ao enviar vídeos de referência, sempre envie reference_video_duration igual à duração total deles (em segundos).
  • generation_type deve ser video-insert; video_quality deve ser 480p ou 768p (400).
  • duration deve ser 5-13 (400).
  • Exatamente uma origem em 'video'. Imagens de referência devem usar 'images'; um 'image' singular é rejeitado (400).
  • Um prompt, uma imagem de referência ou um vídeo de referência é obrigatório; áudio é rejeitado (400).
  • Vídeos de referência devem ser enviados com POST /api/storage/upload primeiro; URLs externas são rejeitadas (400). Cada um deve ser >= 2s, o total <= 15s, e no máximo 3 vídeos e 9 imagens.
  • start_time deve ser 1.625-60. resume_time deve ser > start_time por >= 1/24s e <= 60. Com uma duração de origem declarada, resume_time deve ser <= floor((source - 1.375 - 0.25) x 24)/24 (400).
  • Uma duração de origem declarada deve ser ~3.29-60s (400).
  • Ao cotar, envie input_image_count para imagens de referência, e para vídeos de referência adicione has_video_input: true, input_video_count e reference_video_duration (o endpoint de cotação não lê esses arquivos, então o preço sairia muito baixo).

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max-insert",
  "generation_type": "video-insert",
  "prompt": "A hot air balloon drifts across the sky",
  "video": "https://cdn.veevid.ai/minimax-h3-max-insert/clip.mp4",
  "duration": "5",
  "video_quality": "768p",
  "start_time": 3,
  "resume_time": 3.042,
  "input_video_duration": 10,
  "color_match": true,
  "prompt_expansion_mode": "balanced"
}

Modo MiniMax H3 Max: minimax-h3-max-recast

character-swap

Troca as pessoas em um vídeo de 5-30s por pessoas de 1-4 fotos de referência, mantendo movimento, câmera e áudio original.

ParâmetroValores e observações
video string · obrigatórioURL do vídeo de origem (campo singular). Deve ser enviado com POST /api/storage/upload, MP4/MOV, 5-30s, e sem nenhuma tomada única acima de 15s.
images string[] · obrigatório1-4 fotos de referência, uma por nova pessoa, mapeadas da esquerda para a direita por padrão.
prompt stringOpcional (<=2000 caracteres), ex.: qual pessoa se torna quem.
video_quality string afeta o preço padrão "1080p""768p", "1080p" Resolução de saída. Sempre envie video_quality.
input_video_duration number afeta o preço5–30 Duração da origem em segundos (até 2 decimais). Envie a duração real; o servidor mede o arquivo e cobra a duração medida.
seed numberInteiro opcional >= 0.

Arquivos de entrada

  • video: 1 URL de vídeo de origem em 'video' (MP4/MOV, 5-30s, <=50MB, enviado com POST /api/storage/upload)
  • images: 1-4 URLs de fotos de referência em 'images' (jpg/png/webp, <=20MB cada)

Pastas de upload para /api/storage/upload

  • vídeo: minimax-h3-max-recast
  • imagens: minimax-h3-max-recast/reference-images

Regras

  • Segundos = duração da origem medida pelo servidor (mínimo 5). Fotos de referência são gratuitas.
  • generation_type deve ser character-swap; video_quality deve ser 768p ou 1080p (400). Sempre envie video_quality.
  • Arquivos de entrada devem ser enviados com POST /api/storage/upload primeiro (URLs externas são rejeitadas).
  • Se a duração do vídeo de origem não puder ser lida do cabeçalho MP4/MOV, a requisição retorna 422 e nada é cobrado.
  • Uma duração medida fora de 5-30s (+-0,1s) é rejeitada (400).
  • Se a duração medida exceder o input_video_duration declarado em >0,1s, retorna 409 com measured_duration e required_credits e não cobra nada; reenvie com input_video_duration = measured_duration.
  • 1-4 imagens obrigatórias; um 'image' singular, vídeos de referência ou áudio são rejeitados (400); prompt <= 2000 caracteres.
  • Duração e proporção de aspecto não são entradas: a saída corresponde à origem.

Exemplo de corpo de requisição

{
  "mode": "minimax-h3-max-recast",
  "generation_type": "character-swap",
  "prompt": "Replace the man on the left with the person in photo 1",
  "video": "https://cdn.veevid.ai/minimax-h3-max-recast/clip.mp4",
  "images": [
    "https://cdn.veevid.ai/minimax-h3-max-recast/reference-images/person1.jpg"
  ],
  "video_quality": "768p",
  "input_video_duration": 8.04
}

Modo Video Lip Sync: video-lip-sync

lip-sync

Re-sincroniza os movimentos da boca em um vídeo existente com uma nova faixa de voz; a duração da saída é igual à duração do áudio.

ParâmetroValores e observações
videos string[] · obrigatório[URL do vídeo de origem]; apenas o primeiro é usado. O singular 'video' também é aceito. Deve ser enviado com POST /api/storage/upload.
audios string[] · obrigatório[URL do áudio de voz]; apenas o primeiro é usado. O singular 'audio' também é aceito. Deve ser enviado com POST /api/storage/upload; use vocais limpos.
input_audio_duration number afeta o preço0–61 Envie a duração do áudio em segundos.
lip_sync_mode string padrão "lite""lite", "basic" lite: um único falante de frente para a câmera, mais rápido. basic: cenas complexas, múltiplos planos.
lip_sync_separate_vocal boolean padrão falseIsolar vocais / suprimir ruído de fundo.
lip_sync_open_scenedet boolean padrão trueDetecção de planos e falantes (apenas basic).
lip_sync_align_audio boolean padrão trueRepetir o vídeo quando o áudio for mais longo (apenas lite; sempre ativo em basic).
lip_sync_align_audio_reverse boolean padrão falseRepetir reproduzindo ao contrário (apenas lite; requer align_audio).
lip_sync_templ_start_seconds number padrão 00–3600 Deslocamento inicial no vídeo de origem, arredondado para segundos inteiros (apenas lite).

Arquivos de entrada

  • video: 1 URL de vídeo de origem (mp4/mov, <=100MB, short side >=360p, enviado com POST /api/storage/upload)
  • audio: 1 URL de áudio de voz (mp3/wav/m4a/aac/ogg, <=10MB, <=60s, enviado com POST /api/storage/upload)

Pastas de upload para /api/storage/upload

  • video: video-lip-sync
  • audio: video-lip-sync/audio

Regras

  • Sempre envie input_audio_duration igual à duração do áudio (em segundos); se for omitido, você será cobrado pelo máximo de 60 segundos. Se a saída for mais longa que o declarado, a diferença será cobrada após o processamento (um comprimento superdeclarado não é reembolsado).
  • generation_type deve ser lip-sync (422).
  • O vídeo e o áudio devem ser enviados com POST /api/storage/upload primeiro; URLs externas são rejeitadas (422).
  • input_audio_duration > 61 é rejeitado (422; o limite é 60s mais 1s de tolerância).
  • Sem prompt, duração ou proporção de aspecto: o comprimento da saída é igual ao do áudio e a resolução segue a origem.

Exemplo de corpo de requisição

{
  "mode": "video-lip-sync",
  "generation_type": "lip-sync",
  "videos": [
    "https://cdn.veevid.ai/video-lip-sync/clip.mp4"
  ],
  "audios": [
    "https://cdn.veevid.ai/video-lip-sync/audio/voice.mp3"
  ],
  "input_audio_duration": 12.4,
  "lip_sync_mode": "lite",
  "lip_sync_separate_vocal": false,
  "lip_sync_open_scenedet": true,
  "lip_sync_align_audio": true,
  "lip_sync_align_audio_reverse": false,
  "lip_sync_templ_start_seconds": 0
}

Modo Google Veo 3.1: veo3

video-extend

Estende um vídeo Veo 3.1 que você gerou anteriormente, identificado pelo ID da tarefa.

ParâmetroValores e observações
taskId string · obrigatório afeta o preçoO provider_task_id de uma de suas próprias gerações Veo 3.1 anteriores (retornado quando foi criada e pelo endpoint de status).
prompt string · obrigatórioO que acontece na extensão. Obrigatório.
generation_mode string afeta o preço padrão "fast""lite", "fast", "quality" Nível de qualidade da extensão.
watermark stringTexto de marca d'água personalizado opcional, <=200 caracteres.
duration string padrão "8""4", "6", "8" Deve ser 4, 6 ou 8 se enviado; envie "8".
aspect_ratio string padrão "original""original" Envie "original" (o valor não é usado).

Regras

  • taskId é obrigatório (400). Deve corresponder a uma de suas gerações (404 'Task not found') de sua propriedade (403).
  • A origem deve ser um vídeo Veo 3.1 ou Grok Imagine (400). Um taskId Grok Imagine é executado e precificado como uma extensão Grok Imagine.
  • Fontes Veo em 1080p e 4k podem ser estendidas.
  • Quando taskId pertence a um vídeo Grok Imagine, a requisição é executada e cobrada como uma extensão Grok Imagine: envie duration "6" ou "10" (ou omita), não "8".

Exemplo de corpo de requisição

{
  "mode": "veo3",
  "generation_type": "video-extend",
  "taskId": "veo_task_abc123",
  "prompt": "The drone keeps flying over the city at night",
  "generation_mode": "fast",
  "duration": "8",
  "aspect_ratio": "original"
}

Modo Grok Imagine: grok-imagine

video-extend

Estende um vídeo Grok Imagine que você gerou anteriormente em 6 ou 10 segundos a partir de um ponto escolhido.

ParâmetroValores e observações
taskId string · obrigatório afeta o preçoO provider_task_id de uma de suas próprias gerações Grok Imagine anteriores.
prompt string · obrigatórioO que acontece na extensão. Obrigatório.
duration string afeta o preço padrão "6""6", "10" Segundos a adicionar.
extend_at number padrão 0Posição inicial em segundos (>= 0); 0 estende a partir do final do vídeo.
aspect_ratio string padrão "original""original" Envie "original" (o valor não é usado).

Regras

  • duration deve ser '6' ou '10' (400 'Grok Imagine Extend only supports 6s or 10s durations').
  • taskId é obrigatório, deve existir (404) e pertencer a você (403). A origem deve ser um vídeo Grok Imagine ou Veo 3.1; um taskId Veo 3.1 é executado e precificado como uma extensão Veo 3.1.

Exemplo de corpo de requisição

{
  "mode": "grok-imagine",
  "generation_type": "video-extend",
  "taskId": "grok_task_abc123",
  "prompt": "The knight raises his sword as the dragon lands",
  "duration": "6",
  "extend_at": 0,
  "aspect_ratio": "original"
}

Exemplos de Código

Gerar uma imagem (curl)

curl -X POST https://veevid.ai/api/generate-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "nano-banana-2",
    "generation_type": "text-to-image",
    "prompt": "A cozy coffee shop interior, morning light, watercolor style",
    "aspect_ratio": "1:1",
    "video_quality": "1K"
  }'

Para editar sua própria foto, envie-a para /api/storage/upload primeiro e envie "generation_type": "image-to-image" com "images": ["UPLOADED_URL"].

Texto para fala (curl)

curl -X POST https://veevid.ai/api/generate-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "eleven-v4-turbo",
    "generation_type": "text-to-speech",
    "prompt": "Welcome to Veevid. Let us make something amazing today.",
    "voice": "Rachel"
  }'

Consulte o endpoint de status; o arquivo de áudio está em video_url.

Python

import requests
import time

API_KEY = "vv_sk_your_key_here"
BASE = "https://veevid.ai/api"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# 1. Upload a first frame
with open("first_frame.jpg", "rb") as f:
    upload = requests.post(
        f"{BASE}/storage/upload",
        headers=HEADERS,
        files={"file": f},
        data={"folder": "video-generator-veo3"},
    ).json()

body = {
    "mode": "veo3",
    "generation_type": "image-to-video",
    "prompt": "The camera slowly pushes in, leaves rustle in the wind",
    "images": [upload["url"]],
    "video_quality": "standard",
}

# 2. Quote
quote = requests.post(f"{BASE}/quote", headers=HEADERS, json=body).json()
print(f"Cost: {quote['required_credits']} credits")

# 3. Generate
result = requests.post(f"{BASE}/generate-video", headers=HEADERS, json=body).json()
gen_id = result["generation_id"]

# 4. Poll
while True:
    status = requests.get(
        f"{BASE}/video-generation/{gen_id}/status", headers=HEADERS
    ).json()
    if status["status"] == "completed":
        print(f"Ready: {status['video_url']}")
        break
    if status["status"] == "failed":
        print(f"Failed: {status['error_message']}")
        break
    time.sleep(10)

JavaScript / TypeScript

const API_KEY = "vv_sk_your_key_here";
const BASE = "https://veevid.ai/api";
const headers = {
  Authorization: \`Bearer ${API_KEY}\`,
  "Content-Type": "application/json",
};

async function generate(body: Record<string, unknown>) {
  // 1. Quote
  const quote = await fetch(\`${BASE}/quote\`, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
  }).then((r) => r.json());
  console.log(\`Cost: ${quote.required_credits} credits\`);

  // 2. Generate
  const result = await fetch(\`${BASE}/generate-video\`, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
  }).then((r) => r.json());

  // 3. Poll
  while (true) {
    const status = await fetch(
      \`${BASE}/video-generation/${result.generation_id}/status\`,
      { headers }
    ).then((r) => r.json());

    if (status.status === "completed") return status.video_url;
    if (status.status === "failed") throw new Error(status.error_message);
    await new Promise((r) => setTimeout(r, 10000));
  }
}

await generate({
  mode: "kling-3",
  generation_type: "text-to-video",
  prompt: "A drone shot flying over a neon-lit city at night",
  duration: "5",
  generate_audio: true,
});

Agente OpenClaw

Instale a habilidade Veevid:

npx clawhub@latest install veevid

Depois diga ao seu agente: "Gere um vídeo de produto de 10 segundos com Kling 3.0"

O agente lida automaticamente com citações, confirmação, geração e consulta de status.

Códigos de Erro

CódigoSignificadoO que Fazer
400Parâmetros inválidosVerifique os valores permitidos para o modelo
401Chave de API inválida ou ausenteVerifique sua chave em /settings/api-keys
402Créditos insuficientesRecarregue em /pricing
403Conta suspensaEntre em contato com o suporte
404Geração não encontradaVerifique o generation_id
409Conflito: o vídeo de entrada é mais longo que o comprimento declarado (troca de personagem), ou um rascunho não está pronto / já foi atualizadoNada foi cobrado; leia o erro — para troca de personagem, reenvie com o measured_duration da resposta
410O rascunho expirouGere novamente
422Combinação de parâmetros não suportada pelo modeloLeia a mensagem de erro e as regras do modelo
500Erro de servidorAguarde alguns segundos e tente novamente
502Uma atualização de rascunho não pôde ser enviada (créditos reembolsados)Aguarde alguns segundos e tente novamente

Formato de resposta de erro:

{
  "error": "Insufficient credits. You need 140 credits but only have 12.",
  "required": 140,
  "balance": 12
}

Limites

LimiteValor
Chaves de API por conta5 chaves ativas
Comprimento do promptAté 20.000 caracteres (específico do modelo)
Tamanho do uploadPor pasta: 10MB para imagens por padrão, maior para pastas de vídeo/áudio, e no máximo 100MB por requisição de upload; 512MB via upload pré-assinado (áudio limpo)
Taxa de requisiçõesSem limite fixo por chave hoje — seu saldo de créditos é o limite. Consulte o status a cada 5–10 segundos em vez de continuamente.