Naar inhoud

UlazAI ontwikkelaarsdocumentatie

Google Veo 3.1 Videogeneratie API

Google Veo 3.1 Videogeneratie API

Genereer video's met Veo 3.1 met behulp van de ondersteunde framebesturingselementen en de taakstatusworkflow.

NIEUW: Veo 3.1 Lite, Fast en Quality zijn beschikbaar met eerste en laatste framecontrole.

✨ Veo 3.1-functies

Drie modelopties - Lite, snel en kwaliteit

Framecontrole - Stel eerste en laatste frame-afbeeldingen in

Tekst-naar-video en afbeelding-naar-video

Video's van 8 seconden met native audio

Ondersteuning voor watermerken - Merktekst toevoegen

✅ Optionele fallback-modus voor een tweede modelpoging

Automatische vertaling naar Engels

Meerdere beeldverhoudingen (16:9, 9:16, automatisch)

💰 Prijzen

💸 Veo 3.1 Lite

40 tegoeden

Modus met de beste prijs

Tekst-naar-video + afbeelding-naar-video

⚡Veo 3.1 Fast

100 tegoeden

~$ 0,92 per video

De tijd varieert per wachtrij

💎 Veo 3.1 Kwaliteit

220 tegoeden

~$2,31 per video

De tijd varieert per wachtrij

🛡️ Terugvalmodus

+200 tegoeden

Optionele toevoeging

Fallback garandeert geen succes

POST /veo31/api/generate/

Genereer Veo 3.1-video

Maak een video van 8 seconden met Google Veo 3.1 met behulp van tekstprompts en optionele afbeeldingsframes.

Verzoek lichaam

{
  "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
}

Parameters

prompt * (tekenreeks)

Tekstbeschrijving van de te genereren video. Maximaal 5000 tekens. Wees beschrijvend over acties, camerabewegingen en sfeer.

model * (tekenreeks)

Te gebruiken model: veo3_lite (40 tegoeden), veo3_fast (100 kredieten), of veo3 (220 tegoeden)

aspectRatio (tekenreeks)

Video-beeldverhouding: 16:9 (landschap), 9:16 (portret), Auto (automatisch). Standaard: 16:9

afbeeldingUrls (matrix)

Optionele reeks van 1-2 afbeeldings-URL's voor framecontrole:
• 1 afbeelding: video draait rond dit beeld
• 2 afbeeldingen: video-overgangen van het eerste naar het laatste frame
Maximaal 10 MB per afbeelding, alleen JPG/PNG

zaden (geheel getal)

Optioneel zaad voor reproduceerbare resultaten. Bereik: 10000-99999

watermerk (tekenreeks)

Optionele watermerktekst voor overlay op video. Maximaal 50 tekens. Ideaal voor branding.

schakel Fallback in (Booleaans)

Schakel een optionele poging tot back-upmodel in. Controleer de huidige extra kredietkosten; fallback garandeert geen voltooiing. Standaard: false

SchakelVertaling in (Booleaans)

Automatische vertaling van de prompt naar het Engels voor de beste resultaten. Ondersteunt alle talen. Standaard: true

Succesreactie (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"
  }
}

Foutreactie (400)

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

cURL-voorbeeld: tekst-naar-video

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
  }'

cURL-voorbeeld - Afbeelding-naar-video met framebeheer

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
  }'

Python-voorbeeld

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']}")
KRIJG /veo31/api/status/<task_id>/

Controleer de generatiestatus

Controleer de status van een Veo 3.1-videogeneratietaak.

Reactie - Verwerking

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

Reactie - Voltooid

{
  "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
  }
}

Reactie - Mislukt

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

cURL-voorbeeld

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

Frameafbeelding uploaden

Upload een afbeelding voor framecontrole (eerste of laatste frame). Retourneert een URL die moet worden gebruikt in het gegenereerde eindpunt.

Aanvraag (meerdelige/formuliergegevens)

Content-Type: multipart/form-data

image: (binary file data)

Parameters

afbeelding * (bestand)

Afbeeldingsbestand om te uploaden. Maximaal 10 MB. Ondersteunde formaten: JPG, PNG. Aanbevolen resolutie: 1920x1080 of hoger.

Succesreactie (200)

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

cURL-voorbeeld

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

Statuscodes

200 Oké - Verzoek succesvol

201 Gemaakt - Generatietaak is succesvol aangemaakt

400 Slecht verzoek - Ongeldige parameters of onvoldoende credits

401 Ongeautoriseerd - Ontbrekende of ongeldige API-sleutel

404 Niet gevonden - Taak-ID niet gevonden

413 Lading te groot - Afbeelding overschrijdt de limiet van 10 MB

429 Te veel verzoeken - Tarieflimiet overschreden

500 Interne serverfout - Serverfout, neem contact op met de ondersteuning

Taakstatuswaarden

in afwachting - Taak gemaakt, wachtend om te starten

verwerking - Video wordt gegenereerd

voltooid - Videogeneratie succesvol, video_url beschikbaar

mislukt - Generatie mislukt, credits worden automatisch terugbetaald

💡 Beste praktijken

Gebruik beschrijvende prompts

Voeg details toe over acties, camerabewegingen, verlichting en sfeer. Voorbeeld: "close-up in slow motion van vallende waterdruppels, verlicht door een gouden zonsondergang, ondiepe scherptediepte"

Schakel terugval in voor belangrijke inhoud

Voor belangrijke taken kunt u de optionele terugvalpoging overwegen en toch mislukte of afgewezen generaties in uw workflow afhandelen.

Gebruik zaden voor consistentie

Als je soortgelijke video's opnieuw wilt genereren, gebruik dan dezelfde startwaarde (10000-99999) voor consistentere resultaten.

Framecontrole voor branding

Upload 1 afbeelding om uw video eromheen te centreren, of 2 afbeeldingen om een vloeiende overgang te creëren. Perfect voor consistente karakter- of productvideo's.

Poll-status efficiënt

Poll elke 5 seconden voor de snelle modus, 10 seconden voor de kwaliteitsmodus. Poll niet vaker om tarieflimieten te vermijden.

📝 Voorbeeld Prompts

✅Goede Prompt

"Een majestueuze adelaar zweeft bij zonsopgang over met sneeuw bedekte bergen, gouden licht verlicht zijn vleugels, slow motion camera-tracking van onderaf, filmische compositie"

✅Goede Prompt

"Close-up van een barista die latte art schenkt, stoom die uit het kopje opstijgt, warme caféverlichting, geringe scherptediepte, macrolensperspectief"

❌ Slechte Prompt

"adelaar vliegt"

Te vaag - ontbrekende details over setting, beweging, camerahoek

Hulp nodig?

Heeft u problemen met de Veo 3.1 API? Wij zijn hier om te helpen!