Saltar para o conteúdo

Documentos do desenvolvedor UlazAI

Google Veo 3.1 Geração de vídeo API

Google Veo 3.1 Geração de vídeo API

Gere vídeos com Veo 3.1 usando os controles de quadro suportados e o fluxo de trabalho de status de trabalho.

✨ NOVO: Veo 3.1 Lite, Fast e Quality estão disponíveis com controle do primeiro e do último quadro.

✨ Recursos Veo 3.1

✅ Três opções de modelo - Leve, rápido e de qualidade

✅ Controle de quadro - Definir imagens do primeiro e do último quadro

✅ Texto para vídeo e imagem para vídeo

✅ Vídeos de 8 segundos com áudio nativo

✅ Suporte para marca d'água - Adicionar texto da marca

✅ Modo de fallback opcional para uma segunda tentativa de modelo

✅ Tradução automática para inglês

✅ Múltiplas proporções de aspecto (16:9, 9:16, Automático)

💰 Preços

💸 Veo 3.1 Lite

40 créditos

Modo de melhor valor

Texto para vídeo + imagem para vídeo

⚡ Veo 3.1 Fast

100 créditos

~US$ 0,92 por vídeo

O tempo varia de acordo com a fila

💎 Qualidade Veo 3.1

220 créditos

~US$ 2,31 por vídeo

O tempo varia de acordo com a fila

🛡️ Modo substituto

+200 créditos

Complemento opcional

Fallback não garante sucesso

POSTAR /veo31/api/generate/

Gerar vídeo Veo 3.1

Crie um vídeo de 8 segundos com Google Veo 3.1 usando prompts de texto e quadros de imagem opcionais.

Corpo da Solicitação

{
  "prompt": "A golden retriever running through a field of flowers at sunset",
  "model": "veo3_lite",           // Options: "veo3_lite", "veo3_fast", "veo3"
  "aspectRatio": "16:9",          // Options: "16:9", "9:16", "Auto"
  "imageUrls": [],                // Optional: Array of 1-2 image URLs
  "seeds": 42069,                 // Optional: 10000-99999 for reproducible results
  "watermark": "UlazAI",          // Optional: Max 50 characters
  "enableFallback": false,        // Optional fallback attempt; check current extra credits
  "enableTranslation": true       // Optional: Auto-translate to English
}

Parâmetros

incitar * (corda)

Descrição de texto do vídeo a ser gerado. Máximo de 5.000 caracteres. Seja descritivo sobre ações, movimentos de câmera e atmosfera.

modelo * (corda)

Modelo a ser usado: veo3_lite (40 créditos), veo3_fast (100 créditos), ou veo3 (220 créditos)

proporção de aspecto (corda)

Proporção do vídeo: 16:9 (paisagem), 9:16 (retrato), Auto (automático). Padrão: 16:9

URLs de imagem (matriz)

Matriz opcional de 1 a 2 URLs de imagem para controle de quadros:
• 1 imagem: o vídeo gira em torno desta imagem
• 2 imagens: transições de vídeo do primeiro ao último quadro
Máximo de 10 MB por imagem, somente JPG/PNG

sementes (inteiro)

Semente opcional para resultados reproduzíveis. Faixa: 10000-99999

marca d'água (corda)

Texto de marca d'água opcional para sobrepor no vídeo. Máximo de 50 caracteres. Ótimo para branding.

habilitarFallback (booleano)

Habilite uma tentativa opcional de modelo de backup. Verifique o custo atual do crédito extra; o substituto não garante a conclusão. Padrão: false

habilitarTradução (booleano)

Traduza automaticamente o prompt para o inglês para obter melhores resultados. Suporta todos os idiomas. Padrão: true

Resposta de sucesso (201)

{
  "success": true,
  "data": {
    "task_id": "veo31_abc123def456",
    "status": "processing",
    "model": "veo3_fast",
    "credits_charged": 100,
    "credits_remaining": 900,
    "estimated_time": "varies by queue",
    "message": "Veo 3.1 video generation started successfully"
  }
}

Resposta de erro (400)

{
  "success": false,
  "error": "Insufficient credits. Required: 100, Available: 50"
}

Exemplo cURL - texto para vídeo

curl -X POST https://ulazai.com/veo31/api/generate/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A golden retriever running through a field of flowers at sunset, slow motion, cinematic lighting",
    "model": "veo3_fast",
    "aspectRatio": "16:9",
    "watermark": "MyBrand",
    "enableTranslation": true
  }'

Exemplo cURL - imagem para vídeo com controle de quadros

curl -X POST https://ulazai.com/veo31/api/generate/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "The character slowly turns their head and smiles at the camera",
    "model": "veo3",
    "aspectRatio": "16:9",
    "imageUrls": ["https://your-domain.com/start-frame.jpg"],
    "seeds": 42069,
    "enableFallback": true
  }'

Exemplo de Python

import requests
import time

API_KEY = "your_api_key_here"
BASE_URL = "https://ulazai.com"

# Generate video
response = requests.post(
    f"{BASE_URL}/veo31/api/generate/",
    headers={
        "Authorization": f"Token {API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        "prompt": "A serene mountain lake at sunrise with mist rising from the water",
        "model": "veo3_fast",
        "aspectRatio": "16:9",
        "watermark": "MyBrand"
    }
)

data = response.json()
if data["success"]:
    task_id = data["data"]["task_id"]
    print(f"Task created: {task_id}")

    # Poll for completion
    while True:
        status_response = requests.get(
            f"{BASE_URL}/veo31/api/status/{task_id}/",
            headers={"Authorization": f"Token {API_KEY}"}
        )

        status_data = status_response.json()
        if status_data["data"]["status"] == "completed":
            video_url = status_data["data"]["video_url"]
            print(f"Video ready: {video_url}")
            break
        elif status_data["data"]["status"] == "failed":
            print(f"Generation failed: {status_data['data']['error_message']}")
            break

        time.sleep(5)  # Poll every 5 seconds
else:
    print(f"Error: {data['error']}")
OBTER /veo31/api/status/<task_id>/

Verifique o status da geração

Verifique o status de uma tarefa de geração de vídeo Veo 3.1.

Resposta - Processamento

{
  "success": true,
  "data": {
    "task_id": "veo31_abc123def456",
    "status": "processing",
    "model": "veo3_fast",
    "prompt": "A golden retriever running through flowers",
    "credits_charged": 100
  }
}

Resposta - Concluída

{
  "success": true,
  "data": {
    "task_id": "veo31_abc123def456",
    "status": "completed",
    "video_url": "https://cdn.ulazai.com/videos/veo31_abc123.mp4",
    "thumbnail_url": "https://cdn.ulazai.com/videos/veo31_abc123_thumb.jpg",
    "resolution": "1080p",
    "duration": 8,
    "aspect_ratio": "16:9",
    "fallback_used": false,
    "credits_charged": 100
  }
}

Resposta - Falha

{
  "success": true,
  "data": {
    "task_id": "veo31_abc123def456",
    "status": "failed",
    "error_message": "Content policy violation. Enable fallback mode to retry.",
    "credits_refunded": 100
  }
}

Exemplo de cURL

curl -X GET https://ulazai.com/veo31/api/status/veo31_abc123def456/ \
  -H "Authorization: Token YOUR_API_KEY"
POSTAR /veo31/api/upload-frame/

Carregar imagem do quadro

Carregue uma imagem para controle de quadros (primeiro ou último quadro). Retorna uma URL para usar no endpoint de geração.

Solicitação (multipart/form-data)

Content-Type: multipart/form-data

image: (binary file data)

Parâmetros

imagem * (arquivo)

Arquivo de imagem para upload. Máximo de 10 MB. Formatos suportados: JPG, PNG. Resolução recomendada: 1920x1080 ou superior.

Resposta de sucesso (200)

{
  "success": true,
  "url": "https://cdn.ulazai.com/uploads/frame_abc123.jpg",
  "message": "Image uploaded successfully"
}

Exemplo de cURL

curl -X POST https://ulazai.com/veo31/api/upload-frame/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -F "image=@/path/to/your/image.jpg"

Códigos de status

200 OK - Solicitação bem-sucedida

201 Criado - Tarefa de geração criada com sucesso

400 Solicitação incorreta - Parâmetros inválidos ou créditos insuficientes

401 Não autorizado - Chave API ausente ou inválida

404 não encontrado - ID da tarefa não encontrado

413 Carga útil muito grande - A imagem excede o limite de 10 MB

429 Muitas solicitações - Limite de taxa excedido

500 Erro interno do servidor - Erro no servidor, entre em contato com o suporte

Valores de status da tarefa

pendente - Tarefa criada, aguardando para começar

processamento - O vídeo está sendo gerado

concluído - Geração de vídeo bem-sucedida, video_url disponível

falhou - Falha na geração, créditos reembolsados automaticamente

💡 Melhores Práticas

Use prompts descritivos

Inclua detalhes sobre ações, movimentos de câmera, iluminação e atmosfera. Exemplo: "close-up em câmera lenta de gotas de água caindo, iluminado por um pôr do sol dourado, profundidade de campo rasa"

Habilite substituto para conteúdo importante

Para trabalhos importantes, considere a tentativa opcional de fallback e ainda lide com gerações com falha ou rejeitadas em seu fluxo de trabalho.

Use sementes para obter consistência

Se você precisar regenerar vídeos semelhantes, use o mesmo valor inicial (10000-99999) para obter resultados mais consistentes.

Controle de quadro para branding

Carregue 1 imagem para centralizar seu vídeo ou 2 imagens para criar uma transição suave. Perfeito para vídeos consistentes de personagens ou produtos.

Status da pesquisa com eficiência

Pesquisa a cada 5 segundos para o modo Rápido, 10 segundos para o modo Qualidade. Não faça pesquisas com mais frequência para evitar limites de taxa.

📝 Exemplos de solicitações

✅ Bom prompt

"Uma majestosa águia voa sobre montanhas cobertas de neve ao amanhecer, luz dourada iluminando suas asas, câmera em câmera lenta rastreando tomada de baixo, composição cinematográfica"

✅ Bom prompt

"Close-up de um barista servindo latte art, vapor saindo da xícara, iluminação quente do café, profundidade de campo rasa, perspectiva de lente macro"

❌ Fraca solicitação

"águia voando"

Muito vago – faltam detalhes sobre configuração, movimento e ângulo da câmera

Precisa de ajuda?

Está tendo problemas com o Veo 3.1 API? Estamos aqui para ajudar!