Google: Veo 3.1
Veo 3.1 is Google's videomodel voor scènes vanuit tekst en afbeeldingen met gegenereerd geluid, gestuurde grensframes en beeldreferenties. Het productieprofiel levert clips van vier, zes of acht seconden met 24 fps, met uitvoeropties waaronder 720p, 1080p en 4K.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Veo 3.1 is Google's videogeneratiemodel om vanuit tekst of een afbeeldingsgestuurde briefing een korte audiovisuele scène te maken. Het productieprofiel ondersteunt tekst naar video, afbeelding naar video en creatie met een gestuurd eerste/laatste frame, met gegenereerd geluid, beeldreferenties en een afzonderlijke voortzettingsprocedure. Gebruik het om een filmisch concept, een kort productverhaal of een visueel segment te ontwikkelen met een vastgelegde scène, handeling en luisterervaring.
Beschrijf eerst het onderwerp en de zichtbare gebeurtenis. Leg omgeving, tijdstip en licht vast en bepaal daarna het camerastandpunt of de beweging en de gewenste visuele stijl. Een oorspronkelijke scènebriefing kan een glazen vat op een donker studio-oppervlak tonen, met een langzame zijwaartse beweging die een reflectie onthult terwijl een zacht omgevingsgeluid de onthulling begeleidt. Elke instructie geeft een zichtbaar of hoorbaar kenmerk dat in het voltooide resultaat kan worden beoordeeld.
Google's promptkader behandelt onderwerp, handeling, scène, camera en esthetiek als afzonderlijke onderdelen van de briefing. Gebruik de onderdelen die het shot dienen in plaats van elke mogelijke omschrijving toe te voegen. Schrijf regie in het Engels voor het gedocumenteerde promptprofiel. Benoem bij meerdere handelingen hun relatie en houd ze in verhouding tot een korte clip, zodat een onthulling of reactie leesbaar blijft.
Een startafbeelding legt het openingsuiterlijk en de compositie vast. Gebruik deze wanneer personage, product of omgeving al als visueel materiaal bestaat en beschrijf de beweging die daaruit moet ontstaan. Een laatste frame voegt een doelcompositie voor het einde toe. Bereid grensframes voor die een aannemelijke overgang overbrengen en de herkenningsdetails van het hoofdonderwerp behouden en controleer na generatie de beweging tussen die frames.
Beeldreferenties hebben een ander doel: ze sturen het uiterlijk van een personage of object in een nieuw gegenereerde scène, terwijl grensframes specifieke momenten daarin bepalen. Kies referenties die belangrijke visuele kenmerken tonen en maak de rol van elk beeld duidelijk in de prompt. De specificatie voor referentieafbeelding naar video van het productiemodel gebruikt uitvoer van acht seconden voor die referentieprocedure, los van de gewone duurkeuze bij tekstgestuurde generatie.
Het gewone productieprofiel van de maker genereert clips van vier, zes of acht seconden met 24 beelden per seconde. Het vermeldt kadrering in landschap 16:9 en portret 9:16, maximaal vier video-uitvoeren per prompt en uitvoerresoluties van 720p, 1080p en 4K. Het video-uitvoerformaat is MP4. De afbeeldingsgestuurde specificatie accepteert JPEG of PNG, vermeldt maximaal 20 MB voor invoerafbeeldingen en ondersteunt 720p/1080p-invoerconfiguraties. Kies het uitvoerprofiel voor de beoogde plaatsing en houd de framecompositie leesbaar op dat formaat.
Door het model zelf gegenereerd geluid kan de zichtbare scène begeleiden. Specificeer gesproken zinnen, sfeer en geluidseffecten als onderdelen van dezelfde briefing en benoem het onderwerp of de gebeurtenis die elk geluid voortbrengt. Een dialooginstructie en een camera-instructie beantwoorden verschillende vragen: de ene bepaalt de voordracht, de andere hoe de kijker die ziet. Houd de woorden binnen de bruikbare spreektijd van de clip en beoordeel het geluid op verstaanbaarheid en de relatie met de handeling.
Voor voortzetting biedt de maker een afzonderlijke procedure voor videoverlenging. Begin met een geschikte gegenereerde bronclip en beschrijf de volgende zichtbare gebeurtenis of verandering in de scène. Bewaar het oorspronkelijke en voortgezette segment zodat de aansluiting kan worden beoordeeld op uiterlijk, beweging en geluid. De normale keuzes voor duur en resolutie bij nieuwe generatie mogen niet als universeel contract voor elke verlengingsoperatie worden behandeld.
Een negatieve beschrijving kan uitsluitingen richten op de visuele eisen van de taak. Houd voor een reeks productvariaties onderwerp en compositie stabiel terwijl je één creatieve richting verandert, zoals belichting of camera-afstand. Leg prompt, referenties en gekozen instellingen bij het resultaat vast. Daardoor kun je een bruikbaar creatief verschil vergelijken in plaats van een verzameling ongerelateerde generaties.
Het gewone Veo 3.1-productieprofiel en Veo 3.1 Fast hebben verschillende uitvoerresolutieprofielen. Fast vermeldt 720p en 1080p; gewone 3.1 vermeldt ook 4K. Houd de gekozen editie gekoppeld aan het resultaat en vervang een productiemodel-ID niet ongemerkt door een ouder Preview-profiel of een andere Veo-generatie. Zowel het uiterlijk van een onderwerp als de ondersteunde operatie hangen af van de gekozen procedure.
Generatie is een operatie waarvan het voltooide resultaat videobestanden levert om af te spelen en later te monteren. Bewaar de geretourneerde bestanden met bronframes, beeldreferenties en briefing en behoud aangeleverde herkomstinformatie. Controleer elke daadwerkelijke uitvoer op het uiterlijk van het onderwerp, handeling, kadrering, geluid en eindcompositie. Gebruik de gekozen clip als productiebouwsteen, met titels, overgangen of andere afwerking toegevoegd in de omringende montage.
Ailoot Ultra · Video POST /v1/videos google/veo-3.1
google/veo-3.1Aan de slag
Veo 3.1 is Google's videomodel voor scènes vanuit tekst en afbeeldingen met gegenereerd geluid, gestuurde grensframes en beeldreferenties. Het productieprofiel levert clips van vier, zes of acht seconden met 24 fps, met uitvoeropties waaronder 720p, 1080p en 4K.
- Toegestane invoer
- Tekst
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Video POST /v1/videos
- Invoertypen
text- Uitvoertypen
video- Uitvoerformaat
- mp4
- Aantal uitvoerresultaten
- Tot en met 4 uitvoers
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten google/veo-3.1 | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Maximumaantal UTF-8-bytes: 10.000 Ten minste één teken anders dan witruimte vereist: Ja | Standaard— |
Veldduration | Typeinteger | VereisteVereist | Waarden en limieten 4, 6, 8 | Standaard— |
Veldresolution | Typestring | VereisteVereist | Waarden en limieten 720p | Standaard— |
Veldaspect_ratio | Typestring | VereisteVereist | Waarden en limieten 16:9, 9:16 | Standaard— |
Veldgenerate_audio | Typeboolean | VereisteVereist | Waarden en limieten false, true | Standaard— |
Combinaties van invoermaterialen
Tekst naar video · Vereist: prompt
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Parameteradditional_properties | Contractfalse |
Parameterparameters | Contract{"name":"model","type":"string","required":true,"enum":["google/veo-3.1"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[4,6,8]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]} |
Parametermaterial_types | Contracttext |
Methodealiasnamen: /v1/videos/generations, /videos, /videos/generations
Levenscyclus: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Bewaar het volledige antwoord en de oorspronkelijk geretourneerde IDs.
Dien een onzekere aanmaak nooit opnieuw in.
Tarieven
Zo worden de uiteindelijke kosten berekend
De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Audio genereren | Resolutie | Rekeneenheid | Factureringsvoorwaarden | Kosten |
|---|---|---|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Audio genereren— | Resolutie— | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratieUltra | Tariefstaffel— | Verwachte hoeveelheidGevraagde configuratie; alleen een schatting. | Audio genererenMet audio | Resolutie720p | Rekeneenheidper seconde uitvoervideo | Factureringsvoorwaarden— | Kosten Uitvoer · Geschatte seconde video-uitvoer · Schatting uitsluitend ter vergelijking $0.8 per seconde uitvoervideo Het weergegeven tarief schat de kosten vóór generatie. De uiteindelijke kosten worden berekend uit de voor de oorspronkelijke generatie vastgelegde kosten. De fysieke videoduur is niet de factureerbare hoeveelheid. |
| ConfiguratieVideoprijs | Tariefstaffel— | Verwachte hoeveelheid— | Audio genereren— | Resolutie— | Rekeneenheidper videoseconde | Factureringsvoorwaardenaudio: with_audio; resolutie: 4k | Kosten Uitvoer · Videoprijs · Schatting uitsluitend ter vergelijking $1.2 per videoseconde |
| ConfiguratieUltra | Tariefstaffel— | Verwachte hoeveelheidGevraagde configuratie; alleen een schatting. | Audio genererenZonder audio | Resolutie720p | Rekeneenheidper seconde uitvoervideo | Factureringsvoorwaarden— | Kosten Uitvoer · Geschatte seconde video-uitvoer · Schatting uitsluitend ter vergelijking $0.4 per seconde uitvoervideo Het weergegeven tarief schat de kosten vóór generatie. De uiteindelijke kosten worden berekend uit de voor de oorspronkelijke generatie vastgelegde kosten. De fysieke videoduur is niet de factureerbare hoeveelheid. |
| ConfiguratieVideoprijs | Tariefstaffel— | Verwachte hoeveelheid— | Audio genereren— | Resolutie— | Rekeneenheidper videoseconde | Factureringsvoorwaardenaudio: without_audio; resolutie: 4k | Kosten Uitvoer · Videoprijs · Schatting uitsluitend ter vergelijking $0.8 per videoseconde |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Audio genereren— | Resolutie— | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $1.6 schatting vóór generatie Deze schatting is geen extra bedrag of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Details van het referentietarief
Referentiestaffels op modelniveau veranderen de methodeselectie, kostenramingen of afschrijvingen niet. Voor de actieve kostenberekening gelden de tarieven van de geselecteerde Ailoot-methode.
Prijsreferenties voor videoconfiguraties
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Factureringsvoorwaarden | Kosten |
|---|---|---|
| ConfiguratieVideoprijs | Factureringsvoorwaardengeluid: with_audio | Kosten Uitvoer · Videoprijs $0.8 per videoseconde Gepubliceerde prijsreferentie voor de weergegeven configuratie. De definitieve kosten volgen de daadwerkelijk gefactureerde configuratie. |
| ConfiguratieVideoprijs | Factureringsvoorwaardenaudio: with_audio; resolutie: 4k | Kosten Uitvoer · Videoprijs $1.2 per videoseconde Gepubliceerde prijsreferentie voor de weergegeven configuratie. De definitieve kosten volgen de daadwerkelijk gefactureerde configuratie. |
| ConfiguratieVideoprijs | Factureringsvoorwaardengeluid: without_audio | Kosten Uitvoer · Videoprijs $0.4 per videoseconde Gepubliceerde prijsreferentie voor de weergegeven configuratie. De definitieve kosten volgen de daadwerkelijk gefactureerde configuratie. |
| ConfiguratieVideoprijs | Factureringsvoorwaardenaudio: without_audio; resolutie: 4k | Kosten Uitvoer · Videoprijs $0.8 per videoseconde Gepubliceerde prijsreferentie voor de weergegeven configuratie. De definitieve kosten volgen de daadwerkelijk gefactureerde configuratie. |
Voorbeeldverzoeken
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/veo-3.1", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Resultaten ophalen en opslaan
Ailoot Ultra · Video
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Taakstatus controleren
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Lezen van andere inhoud
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Alle voltooide resultaten bewaren
Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.
Bewaar elke voltooide ondertekende URL in data[] die u bezit en alle statusmetadata. Sla alle uitvoer op, inclusief de gegenereerde audio. Een geldige AAC-audiotrack kan aanwezig zijn, zelfs met generate_audio=false; bewaar de volledige oorspronkelijke MP4 inclusief die audio.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Lees de bestaande oorspronkelijke taak; dien een onzekere verzending nooit opnieuw in.
Maximumaantal uitvoerresultaten: 4.
Antwoordvelden
| Veld | Type | Betekenis |
|---|---|---|
Veldid | Typestring | Betekenis— |
Veldobject | Typestring | Betekenis— |
Veldmodel | Typestring | Betekenis— |
Veldstatus | Typestring | Betekenis— |
Velddata[] | Typesigned content URL | Betekenis— |
Veldcharge_pending_check | Typeboolean | Betekenis— |
Velderror.code | Typestring | Betekenis— |
Velderror.message | Typestring | Betekenis— |
Veldoperation_id | Typestring | BetekenisHTTP503 result_pending_check-antwoord voor oorspronkelijke status/inhoud: dezelfde oorspronkelijke openbare video-ID als id. |
Velderror.type | Typestring | Betekenisserver_error bij HTTP503 result_pending_check. |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeHet lezen van de ruwe verzoekbody mislukt voordat het videoprofiel wordt geparseerd | Volgende stapBewaar het geretourneerde antwoord en corrigeer de onleesbare verzoekbody. |
Antwoord422 · price_unavailable | VoorwaardeHet exacte videoprofiel kan niet worden geparseerd of voor het volledig geparseerde profiel is geen exacte prijskaart gereed | Volgende stapBewaar het antwoord; gebruik het volledige exact toegelaten profiel en de gepubliceerde kaart ervan. Deze tak wordt uitgevoerd vóór verzending naar een provider. |
Antwoord409 · video_not_ready | VoorwaardeOorspronkelijke resultaatinhoud nog niet beschikbaar | Volgende stapVraag de oorspronkelijke geretourneerde ID periodiek op en respecteer Retry-After. |
Antwoordserver_error | VoorwaardeHet geretourneerde antwoord geeft aan dat de bewerking of het resultaat moet worden gecontroleerd | Volgende stapBewaar de oorspronkelijk geretourneerde bewerkings-/taak-ID, de aanvraagheaders en het antwoord; blijf de ondersteunde leesacties voor die oorspronkelijke bewerking uitvoeren. Dien de aanmaakaanvraag niet opnieuw in. |
Antwoord503 · result_pending_check | VoorwaardeGET oorspronkelijke status/inhoud: de taak is niet gepubliceerd, de oorspronkelijke taak is niet failed/cancelled/expired en de lokale status is unknown of de oorspronkelijke taakstatus is completed. | Volgende stapBewaar de oorspronkelijke id en operation_id (dezelfde openbare video-ID), het antwoord en de headers; lees uitsluitend de oorspronkelijke status/inhoud. Dien nooit een nieuw generatieverzoek in. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra google/veo-3.1
Aliasnamen voor methodepaden
/v1/videos/generations, /videos, /videos/generations
Gerelateerde aanroeper-ID’s
FAQ · Google: Veo 3.1
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·google/veo-3.1:text→video- Welke velden gebruikt het verzoek?
POST /v1/videos·google/veo-3.1:model,prompt,duration,resolution,aspect_ratio,generate_audio