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ção | Valor |
|---|---|
| Endpoint | https://veevid.ai/api/mcp |
| Transporte | HTTP Streamable (POST, sem estado) |
| Autenticação | Cabeç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.
| Ferramenta | O que faz |
|---|---|
list_models | Lista 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_credits | Retorna seu saldo atual de créditos. |
get_quote | Retorna o custo exato em créditos de uma requisição (required_credits, current_balance, sufficient) sem executá-la. Gratuito. |
generate | Inicia 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_generation | Retorna 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_file | Envia 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_url | Retorna 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_creations | Lista 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çamento | Descrição |
|---|---|
input_image_count | Número de imagens (0–16), para os modelos cujas regras pedem |
has_video_input | Sempre 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_count | Número de vídeos de referência (também lido por MiniMax H3 Max e pelo modelo insert-shot) |
input_video_duration | Duração em segundos do(s) vídeo(s) de entrada / referência |
reference_video_duration | Duração total dos vídeos de referência para um insert-shot |
| has_audio_input, input_audio_count, input_audio_duration | O 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âmetro | Tipo | Descrição |
|---|---|---|
mode | string | Seletor de modelo (veja Modelos). Necessário na prática — o padrão do servidor é um modelo legado. |
generation_type | string | O 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". |
prompt | string | Prompt 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_ratio | string | "16:9", "9:16", "1:1" etc. — os valores permitidos dependem do modelo |
duration | string | Duraçã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_quality | string | Nível ou resolução, dependendo do modelo (ex.: nível Veo 3.1 "lite" / "standard" / "pro"; "720p" / "1080p"; modelos de imagem "1K" / "2K" / "4K") |
resolution | string | Resolução de saída para modelos que a aceitam separadamente (ex.: Veo 3.1 "720p" / "1080p" / "4k") |
image | string | URL de imagem única (primeiro quadro, foto de personagem…) |
images | string[] | URLs de múltiplas imagens (quadros inicial/final, imagens de referência, imagens para editar) |
video | string | URL de vídeo único (vídeo de origem para ferramentas) |
videos | string[] | URLs de vídeos de referência |
audio | string | URL de áudio (áudio de condução, áudio para transcrever…). Alguns modelos aceitam um array audios em vez disso. |
model_version | string | Subvariante (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"]
}
| Campo | Descrição |
|---|---|
status | "processing" → "completed" ou "failed" |
media_kind | "video", "image" ou "audio" |
video_url | O arquivo de resultado para todos os tipos de mídia — vídeo, imagem ou áudio (para imagens, é a primeira imagem) |
result_images | Todas as imagens de saída, quando um modelo retorna mais de uma |
error_message | Por que a geração falhou (os créditos normalmente são reembolsados automaticamente) |
| lyrics, transcript, timestamps | Resultados extras de áudio: letras de música (Lyria), a transcrição (Scribe V2) e timestamps de palavras (Eleven v4, quando solicitado) |
seedance25_draft | Apenas 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.
| Consulta | Descrição |
|---|---|
page | Número da página, começando em 1 (padrão 1) |
pageSize | Itens por página (padrão 12, máximo 50) |
generationType | Retornar apenas um generation_type, ex.: "text-to-image" (padrão: todos) |
includeAudio | Geraçõ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.
| Modelo | modo | generation_type |
|---|---|---|
| Google Veo 3.1 | veo3 | text-to-video, image-to-video, reference-to-video |
| Grok Imagine | grok-imagine | text-to-video, image-to-video |
| Kling 2.6 | kling-2-6 | text-to-video, image-to-video |
| Kling 3.0 | kling-3 | text-to-video, image-to-video |
| LTX 2.5 | ltx-2-5 | text-to-video, image-to-video |
| LTX 2.3 | ltx-2-3 | text-to-video, image-to-video |
| Wan Animate | wan-animate | image-to-video |
| Veevid 2.0 Pro | veevid-2.0-pro | text-to-video, image-to-video |
| Veevid 2.5 Pro | veevid-2.5-pro | text-to-video, image-to-video |
| Seedance 2.0 | seedance-2.0 | text-to-video, image-to-video, reference-to-video |
| Seedance 2.5 | seedance-2.5 | text-to-video, image-to-video, reference-to-video |
| Wan 2.6 | wan-2-6 | text-to-video, image-to-video, reference-to-video |
| Wan 2.7 | wan-2.7 | text-to-video, image-to-video, reference-to-video |
| Wan 3.0 | wan-3.0 | text-to-video, image-to-video, reference-to-video |
| MiniMax H3 | minimax-h3 | text-to-video, image-to-video, reference-to-video |
| MiniMax H3 Max | minimax-h3-max | text-to-video, image-to-video, reference-to-video |
| MiniMax H3 Max Camera Controls | minimax-h3-max-camera | camera-controls |
| MiniMax H3 Max Lip Sync | minimax-h3-max-lip-sync | lip-sync |
| Gemini Omni | gemini-omni | text-to-video, image-to-video, reference-to-video |
| Boreal | creatify-boreal | text-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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Descriçã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 string | Texto 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Descriçã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 string | Texto 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Descrição da cena (obrigatório, não vazio). |
| images string[] · obrigatório | 1-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 string | Texto 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt 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 array | Array opcional de todas as URLs de imagem quando mais de uma imagem é usada (a primeira também vai em image). |
| image string | URL 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt de texto (obrigatório, não vazio, máximo 20000 caracteres). |
| negative_prompt string | Coisas 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 true | Gera á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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto descrevendo o movimento (obrigatório, não vazio). |
| image string · obrigatório | URL pública da imagem do quadro inicial. |
| negative_prompt string | Itens 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 true | Gera á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âmetro | Valores e observações |
|---|---|
| prompt string | Prompt 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 array | Prompts 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.5 | 0–1 Adesão ao prompt, 0-1 (passo 0.01). |
| negative_prompt string | Itens 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
durationcomo 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âmetro | Valores e observações |
|---|---|
| prompt string | Prompt de texto. Obrigatório a menos que multi_prompt seja usado; nunca envie ambos não vazios. |
| image string | URL 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 array | Array 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.5 | 0–1 |
| negative_prompt string | Prompt negativo opcional (máx. 2000 caracteres); omita quando vazio. |
Arquivos de entrada
image: 1 URL de imagem (quadro inicial); JPEG/PNG/WebP, máx. 10MBimages: 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 25 | 24, 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 true | Gera 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ço | 2–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 number | 1–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.
audiodeve ser enviado primeiro comPOST /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
audioenviada (a cotação mede o arquivo). Antes de enviar, enviehas_audio_input: trueeinput_audio_durationem 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âmetro | Valores e observações |
|---|---|
| prompt string | Prompt de texto descrevendo o movimento. Obrigatório a menos que audio seja enviado. |
| image string | URL 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 25 | 24, 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 true | Gera 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ço | 2–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 number | 1–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 quadroimages: Opcional: [start, end] - 2 URLs de imagem; a segunda é usada como último quadroaudio: 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.
audiodeve ser enviado primeiro comPOST /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
audioenviada (a cotação mede o arquivo). Antes de enviar, enviehas_audio_input: trueeinput_audio_durationem 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt 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 24 | 24, 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 true | Gera 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt de texto descrevendo o movimento (obrigatório, não vazio, máx. 20000 caracteres). |
| image string | URL 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 24 | 24, 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 true | Gera 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âmetro | Valores e notas |
|---|---|
| image string · obrigatório | URL pública da imagem do personagem. |
| video string · obrigatório | URL 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 string | Orientação de texto opcional, máx. 5000 caracteres; pode ser vazio. |
| aspect_ratio string | Opcional; 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
durationigual à 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt 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 true | Gera áudio nativo. Não altera o preço. |
| seed integer padrão -1 | Semente 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âmetro | Valores e notas |
|---|---|
| prompt string | Prompt de texto opcional (máx. 20000 caracteres). |
| image string | URL 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 true | Gera áudio nativo. Não altera o preço. |
| seed integer padrão -1 | Semente 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 true | Gera áudio nativo. Não altera o preço. |
| seed integer padrão -1 | Semente 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 comPOST /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âmetro | Valores e observações |
|---|---|
| prompt string | Prompt de texto (máx. 20000 caracteres). Um prompt ou pelo menos uma imagem é obrigatório. |
| image string | URL 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 true | Gera áudio nativo. Não altera o preço. |
| seed integer padrão -1 | Semente 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 comPOST /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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 true | Gera trilha de áudio nativa. |
| seed integer padrão -1 | Semente 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âmetro | Valores e observações |
|---|---|
| prompt string | Prompt 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 true | Gera trilha de áudio nativa. |
| seed integer padrão -1 | Semente aleatória; -1 = aleatório. |
| image string | URL 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âmetro | Valores e observações |
|---|---|
| prompt string | Prompt 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 true | Gera trilha de áudio nativa. |
| seed integer padrão -1 | Semente 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ço | URLs 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ço | 0–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 string | Opcional; 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_durationigual 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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt 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 true | Gera uma trilha de áudio nativa. Padrão true. |
| seed inteiro padrão -1 | Semente 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_qualitycomo 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 comPOST /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âmetro | Valores e notas |
|---|---|
| prompt string | Prompt 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 true | Gera uma trilha de áudio nativa. Padrão true. |
| seed inteiro padrão -1 | Semente aleatória; -1 = aleatória. |
| image string | URL 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_qualitycomo 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
imageouimages(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 comPOST /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âmetro | Valores e notas |
|---|---|
| prompt string | Prompt 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 true | Gera uma trilha de áudio nativa. Padrão true. |
| seed inteiro padrão -1 | Semente aleatória; -1 = aleatória. |
| images array<string> | URLs de imagens de referência. Máx. 30. |
| videos array<string> afeta o preço | URLs 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ço | 0–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 string | URL 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_qualitycomo 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_durationigual ao comprimento total dos vídeos de referência (segundos) sempre quevideosfor 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 comPOST /api/video-generation/{id}/upgrade-draft. - Ao cotar com
/api/quote, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio. |
| negative_prompt string | Prompt 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 -1 | Semente aleatória; -1 = aleatória, caso contrário 0-2147483647. |
| enable_prompt_expansion boolean padrão true | Deixa 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 string | URL 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio. |
| negative_prompt string | Prompt negativo opcional (máx. 2000 caracteres). Omita quando vazio. |
| image string · obrigatório | URL 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 -1 | Semente aleatória; -1 = aleatória, caso contrário 0-2147483647. |
| enable_prompt_expansion booleano padrão true | Permite que o modelo reescreva/expanda o prompt. |
| shot_type string padrão "single" | "single", "multi" multi = vídeo com múltiplas tomadas. |
| audio string | URL 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. 10MBaudio: 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio. |
| negative_prompt string | Prompt negativo opcional (máx. 2000 caracteres). Omita quando vazio. |
| videos array<string> · obrigatório | 1-3 URLs de vídeos de referência. |
| video string | URL 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 -1 | Semente aleatória; -1 = aleatória, caso contrário 0-2147483647. |
| enable_prompt_expansion booleano padrão true | Permite 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio. |
| negative_prompt string | Prompt 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 true | Permite que o modelo expanda o prompt. |
| audio string | URL opcional de áudio para conduzir o vídeo (mp3/ogg/wav/m4a/aac, máx. 15MB). |
| seed inteiro padrão -1 | Semente 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio. |
| negative_prompt string | Prompt negativo opcional (máx. 2000 caracteres). Omita quando vazio. |
| image string | URL 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 true | Permite que o modelo expanda o prompt. |
| audio string | URL opcional de áudio para conduzir o vídeo (mp3/ogg/wav/m4a/aac, máx. 15MB). |
| seed inteiro padrão -1 | Semente 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 quadroaudio: 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto (máx. 20000 caracteres). Sempre envie um prompt não vazio. |
| negative_prompt string | Prompt 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 string | URL 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 -1 | Semente 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 true | Gera uma trilha sonora sincronizada (padrão true; envie false para desativar). Não altera o preço. |
| seed inteiro | Aceito, 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âmetro | Valores e observações |
|---|---|
| prompt string | Prompt de movimento/cena (opcional para imagem-para-vídeo). |
| image string | URL 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 true | Gera uma trilha sonora sincronizada (padrão true; envie false para desativar). Não altera o preço. |
| seed inteiro | Aceito, 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âmetro | Valores e observações |
|---|---|
| prompt string | Instruçã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ço | 0–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 string | URL 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 true | Gera uma trilha sonora sincronizada (padrão true; envie false para desativar). Não altera o preço. |
| seed integer | Aceito, 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 <= 15saudio: 0-5 URLs de áudios via audios (wav/mp3, máx. 15MB cada), combinados <= 15sfiles: 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 envieinput_video_durationigual à duração total deles (segundos) - duration deve ser um inteiro de 2 a 30; -1 rejeitado
- Ao cotar com
/api/quote, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 string | URL 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, envieinput_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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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ço | URLs de imagens de referência, máx. 9. |
| videos string[] afeta o preço | URLs 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ço | 0–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_durationigual à 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, adicionehas_video_input: trueeinput_video_durationse 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 envieinput_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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 integer | Opcional; 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 string | URL 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 integer | Opcional; um valor >= 0 fixa a semente aleatória. |
Arquivos de entrada
image: 1 URL de imagem pública usado como primeiro quadroimages: 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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ço | URLs de imagens de referência, máx. 9. Redimensione as imagens para que a borda longa seja <= 1024 px. |
| videos string[] afeta o preço | URLs 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ço | URLs 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ço | 0–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ço | 0–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 integer | Opcional; 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_durationigual 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 cominput_image_count,has_video_input+input_video_count+input_video_durationehas_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âmetro | Valores e notas |
|---|---|
| image string | URL 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 array | Keyframes 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 string | Opcional. 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 integer | Opcional, 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âmetro | Valores e notas |
|---|---|
| image string | URL 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ório | Exatamente 1 URL de áudio de condução. Singular audio é aceito como fallback se audios estiver ausente. |
| input_audio_duration number afeta o preço | 5–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 true | Transcreve o áudio para guiar os formatos da boca. Padrão para true. |
| seed integer | Opcional, 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt 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ço | Opcional, no máximo 1 URL de vídeo usado como referência de movimento/estilo. |
| input_video_duration number | 0–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 integer | 0–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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt de texto, máximo de 20000 caracteres. |
| images string[] · obrigatório | 1-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ço | Opcional, no máximo 1 URL de vídeo. |
| input_video_duration number | 0–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 integer | 0–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
imageou umimagesnã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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | Prompt 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ço | 0-1 URL de vídeo de referência. |
| input_video_duration number | 0–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 integer | 0–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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt; 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 string | URL 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt; seções opcionais [VISUAL]/[SPEECH]/[SOUNDS]/[TEXT]. |
| image string · obrigatório | 1 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 string | URL 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 imagemaudio: 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
imageouimagesnã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).
| Modelo | modo | generation_type |
|---|---|---|
| Google Nano Banana | nano-banana | text-to-image |
| Google Nano Banana (Editar) | nano-banana-edit | image-to-image |
| Google Nano Banana 2.1 | nano-banana-2-1 | text-to-image, image-to-image |
| Google Nano Banana 2 | nano-banana-2 | text-to-image, image-to-image |
| Flux Kontext | flux-kontext | text-to-image, image-to-image |
| Krea 3 | krea-3 | text-to-image, image-to-image |
| FLUX 3 Image | flux-3-image | text-to-image, image-to-image |
| Seedream 5.0 | seedream-5.0-lite | text-to-image, image-to-image |
| Seedream 5.0 Pro | seedream-5.0-pro | text-to-image, image-to-image |
| Seedream 5.0 Flash | seedream-5.0-flash | text-to-image, image-to-image |
| Ideogram 4.5 | ideogram-4-5 | text-to-image, image-to-image |
| GPT Image 2 | gpt-image-2 | text-to-image, image-to-image |
| GPT Image 2.5 | gpt-image-2-5 | text-to-image, image-to-image |
| Qwen Image 2.1 | qwen-image-2-1 | text-to-image, image-to-image |
| Virtual Try-On | virtual-try-on | image-to-image |
| Product Holding | product-holding | image-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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto, até 20000 caracteres. |
| images string[] · obrigatório | URLs 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto, até 5000 caracteres. |
| images string[] · obrigatório | 1-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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 false | Ativa a fundamentação com Google Search. |
| image_search boolean padrão false | Opcional; 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto, até 20000 caracteres. |
| images string[] · obrigatório | URLs 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 false | Ativa a fundamentação com Google Search. |
| image_search boolean padrão false | Opcional; 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 false | Upsampling de prompt (apenas flux1). |
| enableTranslation boolean padrão false | Traduçã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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto. |
| image string | URL 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 false | Upsampling de prompt (apenas flux1). |
| enableTranslation boolean padrão false | Traduçã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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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ço | 1-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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto, até 5000 caracteres. |
| images string[] · obrigatório | 1-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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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 1 | 1–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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto. |
| images string[] · obrigatório | URLs 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 1 | 1–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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto, até 5000 caracteres. |
| images string[] · obrigatório afeta o preço | 1-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, envieinput_image_count(o número de imagens) — a cotação não conta o arrayimagespara 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt 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_ratioexplicitamente. - 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Prompt de texto, máximo de 5000 caracteres. |
| images string[] · obrigatório | 1-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_ratioexplicitamente. - 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigató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 1 | 1–8 Imagens por requisição (1-8); o preço é multiplicado por num_images. |
| enable_prompt_expansion boolean padrão true | Somente 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 number | Semente 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigatório, não vazio, máximo 10000 caracteres. |
| images string[] · obrigatório | images[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 1 | 1–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 string | URL 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 number | Semente 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigató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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigatório, não vazio, máximo 20000 caracteres. |
| images string[] · obrigatório | 1-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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigató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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigatório, não vazio, máximo 20000 caracteres. |
| images string[] · obrigatório | 1-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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigató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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Obrigatório, não vazio, máximo 5000 caracteres. |
| images string[] · obrigatório | 1-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 string | URL 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âmetro | Valores e observações |
|---|---|
| images string[] · obrigatório | [foto da pessoa, 1-3 imagens de roupa]; images[0] é sempre a pessoa. |
| prompt string | Instruçã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âmetro | Valores e observações |
|---|---|
| images string[] · obrigatório | [foto da pessoa, 1-3 imagens de produto]; images[0] é sempre a pessoa. |
| prompt string | Instruçã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".
| Modelo | mode | generation_type |
|---|---|---|
| Grok TTS | grok-tts | text-to-speech |
| Eleven v4 | eleven-v4 | text-to-speech |
| Eleven v4 Turbo | eleven-v4-turbo | text-to-speech |
| Lyria 3.5 (Text to Music) | lyria-music | text-to-music |
| Lyria 3.5 (Image to Music) | lyria-music | text-to-music |
| Scribe V2 | scribe-v2 | speech-to-text |
| VEED Clean Audio | veed-clean-audio | remove-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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório afeta o preço | 1–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 24000 | 8000, 16000, 22050, 24000, 44100, 48000 Taxa de amostragem de saída em Hz. |
| bit_rate number padrão 128000 | 32000, 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 number | Aceito 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório afeta o preço | 1–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.5 | 0–1 Menor = mais expressivo, maior = mais estável. |
| similarity_boost number padrão 0.75 | 0–1 Maior = mais próximo da voz original. |
| seed number | 0–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 false | Retorna 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório afeta o preço | 1–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.5 | 0–1 |
| similarity_boost number padrão 0.75 | 0–1 |
| seed number | 0–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 false | Retorna 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | 1–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 string | URL 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 comPOST /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âmetro | Valores e notas |
|---|---|
| prompt string · obrigatório | 1–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 string | URL 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 comPOST /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âmetro | Valores e notas |
|---|---|
| audio string · obrigatório | URL https do arquivo de áudio a ser transcrito. |
| input_audio_duration number · obrigatório afeta o preço | 0–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 true | Identificar falantes. |
| tag_audio_events boolean padrão true | Marcar eventos não relacionados à fala, como [risos]. |
| keyterms array<string> afeta o preço | Substantivos 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 comPOST /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_durationigual à 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
audioeinput_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âmetro | Valores e notas |
|---|---|
| audio string · obrigatório | URL 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ço | 0–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.874 | 0–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 comPOST /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_durationigual à 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
audioeinput_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.
| Modelo | mode | generation_type |
|---|---|---|
| Kling 3.0 Motion Control | motion-control-standard | motion-control |
| Kling 3.0 Motion Control | motion-control-pro | motion-control |
| AI Hug Video Generator | ai-hug | ai-hug |
| AI Kissing Video Generator | ai-kissing | ai-kissing |
| AI Video Upscaler | upscale | video-upscale |
| AI Video Resizer | reframe | video-reframe |
| Wan 2.7 Edit | wan-2.7-edit | edit-video |
| Wan 3.0 | wan-3.0 | edit-video, video-extend |
| Seedance 2.0 | seedance-2.0 | edit-video, video-extend |
| Seedance 2.5 | seedance-2.5 | edit-video, video-extend |
| LTX 2.3 | ltx-2-3 | video-extend |
| MiniMax H3 Max | minimax-h3-max-extend | video-extend |
| MiniMax H3 Max | minimax-h3-max-insert | video-insert |
| MiniMax H3 Max | minimax-h3-max-recast | character-swap |
| Video Lip Sync | video-lip-sync | lip-sync |
| Google Veo 3.1 | veo3 | video-extend |
| Grok Imagine | grok-imagine | video-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âmetro | Valores e notas |
|---|---|
| image string · obrigatório | URL pública da imagem do personagem. |
| video string · obrigatório | URL pública do vídeo de direção (referência de movimento). |
| duration string (segundos inteiros) · obrigatório afeta o preço | Duraçã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 string | Orientaçã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 true | Manter o áudio do vídeo de direção. |
| elements array | No 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
durationigual à 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âmetro | Valores e observações |
|---|---|
| image string · obrigatório | URL pública da imagem do personagem. |
| video string · obrigatório | URL pública do vídeo de referência (movimento). |
| duration string (segundos inteiros) · obrigatório afeta o preço | Duraçã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 string | Orientação textual opcional (omitir se em branco). |
| keep_original_sound boolean padrão true | Mantém o áudio do vídeo de referência. |
| elements array | No 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
durationigual à 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Apenas 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ório | Exatamente 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 false | Gera á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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Apenas 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ório | 1 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ço | 3–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, envieimagesouinput_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âmetro | Valores e observações |
|---|---|
| video string · obrigatório | URL 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 30 | 15–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âmetro | Valores e observações |
|---|---|
| video string · obrigatório | URL 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
durationigual à 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Instrução de edição (obrigatória). |
| video string · obrigatório | URL do vídeo de origem (campo singular). MP4 ou MOV, 2-10s, <=100MB. |
| duration string · obrigatório afeta o preço | 2–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 string | URL 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Instruçã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 true | Gera uma trilha sonora. |
| input_video_duration number afeta o preço | 0–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 boolean | Campo 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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| prompt string | O 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 true | Gera áudio. |
| input_video_duration number afeta o preço | 0–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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Instruçã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 true | Gera áudio. |
| input_video_duration number afeta o preço | 0–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 boolean | Campo 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_versionexplicitamente; 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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| prompt string | O 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 true | Gera áudio. |
| input_video_duration number afeta o preço | 0–15 Duração da origem em segundos (cobrada como pelo menos 2s). Envie sempre junto com o vídeo de origem. |
| has_video_input boolean | Campo 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ênciaaudio: 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_versionexplicitamente; 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, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | Instruçã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 true | Gera áudio. |
| input_video_duration number afeta o preço | 0–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 boolean | Campo 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 comPOST /api/video-generation/{id}/upgrade-draft. - Ao fazer cotação com
/api/quote, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| prompt string | O 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 true | Gerar áudio. |
| input_video_duration number afeta o preço | 0–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 boolean | Campo 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ênciaaudio: 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 comPOST /api/video-generation/{id}/upgrade-draft. - Ao cotar com
/api/quote, adicionehas_video_input: trueeinput_video_durationse 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âmetro | Valores e observações |
|---|---|
| video string · obrigatório | URL do vídeo de origem (campo singular). |
| prompt string | Descriçã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 number | 1–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âmetro | Valores e observações |
|---|---|
| prompt string · obrigatório | O 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 number | 1.625–60 Duração da origem em segundos (até 2 decimais). Usado apenas para validação; a origem não é cobrada. |
| seed number | Inteiro 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âmetro | Valores e observações |
|---|---|
| video string · obrigatório | URL do vídeo de origem (campo singular; 'videos' significa vídeos de referência aqui). |
| prompt string | Descreve 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ório | 1.625–60 Ponto de corte em segundos (grade de quadros de 24 fps). |
| resume_time number · obrigatório | 1.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ço | Imagens de referência para a nova cena, até 9. |
| videos string[] afeta o preço | Ví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ço | 0–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 number | 0–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 true | Combinar 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 number | Inteiro 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_countpara imagens de referência, e para vídeos de referência adicionehas_video_input: true,input_video_countereference_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âmetro | Valores e observações |
|---|---|
| video string · obrigatório | URL 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ório | 1-4 fotos de referência, uma por nova pessoa, mapeadas da esquerda para a direita por padrão. |
| prompt string | Opcional (<=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ço | 5–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 number | Inteiro 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âmetro | Valores 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ço | 0–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 false | Isolar vocais / suprimir ruído de fundo. |
| lip_sync_open_scenedet boolean padrão true | Detecção de planos e falantes (apenas basic). |
| lip_sync_align_audio boolean padrão true | Repetir o vídeo quando o áudio for mais longo (apenas lite; sempre ativo em basic). |
| lip_sync_align_audio_reverse boolean padrão false | Repetir reproduzindo ao contrário (apenas lite; requer align_audio). |
| lip_sync_templ_start_seconds number padrão 0 | 0–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âmetro | Valores e observações |
|---|---|
| taskId string · obrigatório afeta o preço | O 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ório | O 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 string | Texto 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âmetro | Valores e observações |
|---|---|
| taskId string · obrigatório afeta o preço | O provider_task_id de uma de suas próprias gerações Grok Imagine anteriores. |
| prompt string · obrigatório | O 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 0 | Posiçã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ódigo | Significado | O que Fazer |
|---|---|---|
| 400 | Parâmetros inválidos | Verifique os valores permitidos para o modelo |
| 401 | Chave de API inválida ou ausente | Verifique sua chave em /settings/api-keys |
| 402 | Créditos insuficientes | Recarregue em /pricing |
| 403 | Conta suspensa | Entre em contato com o suporte |
| 404 | Geração não encontrada | Verifique o generation_id |
| 409 | Conflito: o vídeo de entrada é mais longo que o comprimento declarado (troca de personagem), ou um rascunho não está pronto / já foi atualizado | Nada foi cobrado; leia o erro — para troca de personagem, reenvie com o measured_duration da resposta |
| 410 | O rascunho expirou | Gere novamente |
| 422 | Combinação de parâmetros não suportada pelo modelo | Leia a mensagem de erro e as regras do modelo |
| 500 | Erro de servidor | Aguarde alguns segundos e tente novamente |
| 502 | Uma 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
| Limite | Valor |
|---|---|
| Chaves de API por conta | 5 chaves ativas |
| Comprimento do prompt | Até 20.000 caracteres (específico do modelo) |
| Tamanho do upload | Por 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ções | Sem limite fixo por chave hoje — seu saldo de créditos é o limite. Consulte o status a cada 5–10 segundos em vez de continuamente. |