Google: Veo 3.1
Veo 3.1 är Googles videomodell för text- och bildstyrda scener med genererat ljud, styrande gränsbildrutor och referensmaterial. Produktionsprofilen ger klipp på fyra, sex eller åtta sekunder med 24 bilder per sekund och utdataalternativ som 720p, 1080p och 4K.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Veo 3.1 är Googles videogenereringsmodell för att skapa en kort audiovisuell scen från text eller en bildstyrd instruktion. Produktionsprofilen stöder text-till-video, bild-till-video och skapande med styrande första/sista bildruta, med genererat ljud, tillgångsreferenser och ett separat fortsättningsflöde. Använd den för att utveckla ett filmiskt koncept, en kort produktberättelse eller ett visuellt avsnitt med definierad scen, handling och lyssningsupplevelse.
Beskriv motivet och den synliga händelsen först. Fastställ omgivning, tid på dagen och ljus och definiera sedan kamerans synvinkel eller rörelse samt avsedd visuell stil. En egen sceninstruktion kan visa ett glaskärl på en mörk studioyta, med en långsam sidorörelse som avslöjar en reflektion medan ett mjukt miljöljud följer avslöjandet. Varje instruktion ger en synlig eller hörbar egenskap som kan bedömas i det färdiga resultatet.
Googles promptramverk behandlar motiv, handling, scen, kamera och estetik som separata delar av instruktionen. Använd delarna som tjänar tagningen i stället för att lägga till varje tänkbar beskrivning. Skriv instruktioner på engelska för den dokumenterade promptprofilen. Om scenen har flera handlingar anger du deras relation och håller dem proportionerliga mot ett kort klipp, så att ett avslöjande eller en reaktion förblir tydlig.
En startbild fastställer inledande utseende och komposition. Använd den när karaktären, produkten eller miljön redan finns som visuellt material och beskriv rörelsen som ska utvecklas från den. En sista bildruta lägger till en målkomposition för avslutningen. Förbered gränsbildrutor som förmedlar en rimlig övergång och bevarar detaljerna som identifierar huvudmotivet och granska sedan rörelsen mellan bildrutorna efter generering.
Tillgångsreferenser har ett annat syfte: de styr en karaktärs eller ett föremåls utseende i en nygenererad scen, medan gränsbildrutor definierar specifika ögonblick i scenen. Välj referenser som visar viktiga visuella drag och tydliggör varje materials roll i prompten. Produktionsmodellens specifikation för referensbild-till-video använder utdata på åtta sekunder i det referensflödet, separat från vanliga längdval vid textstyrd generering.
Tillverkarens vanliga produktionsprofil genererar klipp på fyra, sex eller åtta sekunder med 24 bilder per sekund. Den listar liggande 16:9 och stående 9:16, upp till fyra videoutdata per prompt och upplösningarna 720p, 1080p och 4K. Videoformatet för utdata är MP4. Den bildstyrda specifikationen tar emot JPEG eller PNG, anger högst 20 MB per indatabild och stöder indatakonfigurationer i 720p/1080p. Välj utdataprofil efter avsedd placering och håll bildrutans komposition läsbar i den storleken.
Inbyggt ljud kan följa den synliga scenen. Ange repliker, atmosfär och ljudeffekter som delar av samma instruktion och namnge motivet eller händelsen som producerar var och en. En dialoginstruktion och en kamerainstruktion besvarar olika frågor: den ena fastställer framförandet och den andra hur tittaren ser det. Håll orden inom klippets användbara taltid och granska ljudet för begriplighet och relation till handlingen.
För fortsättning erbjuder tillverkaren ett separat flöde för videoförlängning. Börja med ett lämpligt genererat källklipp och beskriv nästa synliga händelse eller förändring i scenen. Bevara originalet och det fortsatta avsnittet så att skarven kan granskas för utseende, rörelse och ljud. Vanliga längd- och upplösningsval för nygenerering ska inte behandlas som ett universellt kontrakt för varje förlängningsoperation.
En negativ beskrivning kan avgränsa vad som ska undvikas utifrån uppgiftens visuella krav. För en serie produktvariationer håller du motiv och komposition stabila medan en enda kreativ inriktning ändras, till exempel belysning eller kameraavstånd. Registrera prompt, referenser och valda inställningar med resultatet. Detta gör det möjligt att jämföra en användbar kreativ skillnad i stället för en samling orelaterade genereringar.
Vanliga produktionsprofilen Veo 3.1 och Veo 3.1 Fast har olika upplösningsprofiler för utdata. Fast listar 720p och 1080p; vanliga 3.1 listar även 4K. Behåll vald utgåva kopplad till resultatet, utan att tyst ersätta en produktionsmodellidentifierare med en äldre Preview-profil eller en annan Veo-generation. Både motivets utseende och den stödda operationen beror på valt arbetsflöde.
Generering är en operation vars färdiga resultat ger videofiler för uppspelning och senare redigering. Behåll returnerade filer med deras källbildrutor, referensmaterial och instruktion och bevara medföljande information om innehållsproveniens. Granska varje faktisk utdata för motivets utseende, handling, bildutsnitt, ljud och slutkomposition. Använd valt klipp som en byggsten i produktionen, med titlar, övergångar eller annan färdigställning tillagd i den omgivande redigeringen.
Ailoot Ultra · Video POST /v1/videos google/veo-3.1
google/veo-3.1Start
Veo 3.1 är Googles videomodell för text- och bildstyrda scener med genererat ljud, styrande gränsbildrutor och referensmaterial. Produktionsprofilen ger klipp på fyra, sex eller åtta sekunder med 24 bilder per sekund och utdataalternativ som 720p, 1080p och 4K.
- Godkända indata
- Text
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text- Utdatatyper
video- Utdataformat
- mp4
- Antal utdata
- Upp till 4 utdatas
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser google/veo-3.1 | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Maximalt antal UTF-8-byte: 10 000 Minst ett tecken som inte är blanksteg krävs: Ja | Standard— |
Fältduration | Typinteger | KravObligatoriskt | Värden & gränser 4, 6, 8 | Standard— |
Fältresolution | Typstring | KravObligatoriskt | Värden & gränser 720p | Standard— |
Fältaspect_ratio | Typstring | KravObligatoriskt | Värden & gränser 16:9, 9:16 | Standard— |
Fältgenerate_audio | Typboolean | KravObligatoriskt | Värden & gränser false, true | Standard— |
Kombinationer av indatamaterial
Text till video · Krävs: prompt
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Parameteradditional_properties | Avtalfalse |
Parameterparameters | Avtal{"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 | Avtaltext |
Metodalias: /v1/videos/generations, /videos, /videos/generations
Livscykel: 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
Behåll hela svaret och de ursprungliga returnerade ID:na.
Skicka aldrig en oklar skapandebegäran igen.
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Generera ljud | Upplösning | Debiteringsenhet | Debiteringsvillkor | Avgift |
|---|---|---|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Generera ljud— | Upplösning— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationUltra | Prislista— | Prognostiserad mängdBegärd konfiguration; endast en uppskattning. | Generera ljudMed ljud | Upplösning720p | Debiteringsenhetper sekund utdatavideo | Debiteringsvillkor— | Avgift Utdata · Uppskattad sekund av utgående video · Uppskattning endast för jämförelse $0.8 per sekund utdatavideo Det visade priset uppskattar kostnaden före generering. Slutdebiteringen beräknas utifrån kostnaden som registrerats för den ursprungliga genereringen. Den fysiska videolängden är inte den debiterbara mängden. |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Generera ljud— | Upplösning— | Debiteringsenhetper videosekund | Debiteringsvillkorljud: with_audio; upplösning: 4k | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $1.2 per videosekund |
| KonfigurationUltra | Prislista— | Prognostiserad mängdBegärd konfiguration; endast en uppskattning. | Generera ljudUtan ljud | Upplösning720p | Debiteringsenhetper sekund utdatavideo | Debiteringsvillkor— | Avgift Utdata · Uppskattad sekund av utgående video · Uppskattning endast för jämförelse $0.4 per sekund utdatavideo Det visade priset uppskattar kostnaden före generering. Slutdebiteringen beräknas utifrån kostnaden som registrerats för den ursprungliga genereringen. Den fysiska videolängden är inte den debiterbara mängden. |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Generera ljud— | Upplösning— | Debiteringsenhetper videosekund | Debiteringsvillkorljud: without_audio; upplösning: 4k | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.8 per videosekund |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Generera ljud— | Upplösning— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $1.6 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Detaljer om referenstariffen
Referensprislistor på modellnivå ändrar inte metodval, prisuppgifter eller avgifter. Aktiva avgifter använder priserna för den valda Ailoot-metoden.
Prisreferenser för videokonfigurationer
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Debiteringsvillkor | Avgift |
|---|---|---|
| KonfigurationVideopris | Debiteringsvillkorljud: with_audio | Avgift Utdata · Videopris $0.8 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
| KonfigurationVideopris | Debiteringsvillkorljud: with_audio; upplösning: 4k | Avgift Utdata · Videopris $1.2 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
| KonfigurationVideopris | Debiteringsvillkorljud: without_audio | Avgift Utdata · Videopris $0.4 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
| KonfigurationVideopris | Debiteringsvillkorljud: without_audio; upplösning: 4k | Avgift Utdata · Videopris $0.8 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
Exempelbegäranden
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
Ta emot och spara resultat
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
Kontrollera jobbstatus
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
Andra innehållsläsningar
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
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll varje färdig, signerad URL i data[] som du äger och all statusmetadata. Spara varje resultat inklusive dess genererade ljud. Ett giltigt AAC-ljudspår kan finnas även med generate_audio=false; behåll hela den ursprungliga MP4-filen inklusive ljudet.
Om det ursprungliga svaret behöver kontrolleras
Läs det befintliga ursprungliga jobbet; skicka aldrig en oklar sändning igen.
Maximalt antal utdata: 4.
Svarsfält
| Fält | Typ | Betydelse |
|---|---|---|
Fältid | Typstring | Betydelse— |
Fältobject | Typstring | Betydelse— |
Fältmodel | Typstring | Betydelse— |
Fältstatus | Typstring | Betydelse— |
Fältdata[] | Typsigned content URL | Betydelse— |
Fältcharge_pending_check | Typboolean | Betydelse— |
Fälterror.code | Typstring | Betydelse— |
Fälterror.message | Typstring | Betydelse— |
Fältoperation_id | Typstring | BetydelseHTTP503 result_pending_check i det ursprungliga status- eller innehållssvaret: samma ursprungliga offentliga video-ID som id. |
Fälterror.type | Typstring | Betydelseserver_error vid HTTP503 result_pending_check. |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorDen råa begäranskroppen kan inte läsas före tolkning av videoprofilen | Nästa stegBevara det returnerade svaret och korrigera den oläsbara begäranskroppen. |
Svar422 · price_unavailable | VillkorDen exakta videoprofilen kan inte tolkas, eller den fullständigt tolkade profilen saknar ett färdigt exakt priskort | Nästa stegBevara svaret; använd hela den exakta tillåtna profilen och dess publicerade priskort. Denna gren körs innan något skickas till leverantören. |
Svar409 · video_not_ready | VillkorDet ursprungliga resultatinnehållet är ännu inte tillgängligt | Nästa stegKontrollera det ursprungliga returnerade ID:t och följ Retry-After. |
Svarserver_error | VillkorDet returnerade svaret anger att operationen eller resultatet behöver kontrolleras | Nästa stegSpara det ursprungliga operations- eller uppgifts-ID som returnerades, förfrågans headers och svaret. Fortsätt att läsa den ursprungliga operationen med de läsmetoder som stöds. Skicka inte skapandeförfrågan igen. |
Svar503 · result_pending_check | VillkorGET av ursprunglig status/innehåll: uppgiften är inte publicerad, det ursprungliga jobbet har inte misslyckats, avbrutits eller löpt ut, och det lokala tillståndet är unknown eller det ursprungliga jobbets status är completed. | Nästa stegBehåll ursprungliga id och operation_id (samma offentliga video-ID), svar och svarshuvuden; läs endast ursprunglig status/innehåll. Skicka aldrig en ny genereringsbegäran. |
Alias
Modellalias
Ailoot Ultra google/veo-3.1
Alias för metodsökvägar
/v1/videos/generations, /videos, /videos/generations
Relaterade anropar-ID:n
FAQ · Google: Veo 3.1
- Vilka indata och resultat finns?
POST /v1/videos·google/veo-3.1:text→video- Vilka fält använder begäran?
POST /v1/videos·google/veo-3.1:model,prompt,duration,resolution,aspect_ratio,generate_audio