Google: Veo 3.1 Lite
Veo 3.1 Lite genererar video med inbyggt ljud från en textbeskrivning eller en startbild. Det dokumenterade Lite-flödet producerar ett klipp, med längder på 4, 6 eller 8 sekunder, liggande eller stående bildutsnitt och specifika begränsningar som skiljer sig från Veo 3.1 och Fast.
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 Lite är Googles Lite-medlem i videogenereringsserien Veo 3. Den syntetiserar en video med ljud från en beskrivning på naturligt språk eller en indatabild. Utdata är ett genererat klipp, inte en textanalys av en befintlig inspelning. Tillverkarens modellkort för Lite hänvisar till Veo 3 för underliggande arkitektur, träningsmaterial och kända begränsningar, medan den Lite-specifika dokumentationen definierar egna genereringsfunktioner och gränser.
Den refererade arkitekturen använder latent diffusion över temporala ljudrepresentationer och rumstidsliga videorepresentationer. Basmodellen tränades på ljud, video och bilder, med bildtexter på olika detaljnivåer samt filtrerat och deduplicerat träningsmaterial. Detta förklarar syftet att generera bild och ljud gemensamt. Det avslöjar inget Lite-specifikt parameterantal och fastställer inte att varje genererad rörelse följer fysisk verklighet. För en praktisk scen bestämmer du synlig handling och motsvarande ljud tillsammans.
Den specifika Lite-dokumentationen anger en textindatagräns på 1 024 token och en utdatavideo. Lite-kolumnen i genereringsguiden listar längder på 4, 6 och 8 sekunder, med 720p som standard och 1080p som kräver ett klipp på 8 sekunder. Liggande 16:9 är standardförhållandet och stående 9:16 listas också; utdata dokumenteras med 24 bilder per sekund. Inbyggt ljud är alltid aktiverat i det flödet. Dessa värden hör till tillverkarens namngivna Lite-flöde, inte till en orelaterad Veo-utgåva eller ett separat uppmätt applikationssvar.
Lite stöder inte 4K-utdata eller videoförlängning. Parametertabellen markerar även funktionen referenceImages för flera referenser och videoindata för förlängning som otillgängliga i Lite-kolumnen. En startbild kan fastställa första bildrutan; tabellen listar en lastFrame-bild tillsammans med startbilden för en övergång. Håll denna bildrutekontroll åtskild från att blanda flera stil- eller motivreferenser. Tillverkarens inställningar för persongenerering är lägesspecifika: Lite-tabellen listar allow_all för text-till-video och allow_adult för bild-till-video och interpolering, medan regionala regler kan begränsa den dokumenterade profilen ytterligare. Välj en startbild som motsvarar den första scen du faktiskt vill ha, med motiv, bildutsnitt och synliga detaljer förberedda innan du begär rörelse.
För text-till-video beskriver du motivet, dess handling, miljön och avsedd stil. Lägg till kameraposition och rörelse, bildutsnitt, fokus och ljus när de spelar roll. En egen produktscen kan hålla föremålet centrerat medan kameran närmar sig en materialdetalj och omgivande ljus ändras mjukt. Ange starttillståndet, huvudhandlingen och slutögonblicket så att det korta klippet fullföljer en sammanhängande idé. En lång samling orelaterade handlingar är en annan uppgift än en fokuserad tagning.
För bild-till-video anger du en tydlig startbildruta och förklarar vad som ska röra sig och vad som ska förbli stabilt. Ange motivets rörelse och eventuell kamerarörelse separat. Om du använder en slutbild som begränsning förbereder du en förenlig slutkomposition och beskriver övergången mellan dem. Granska resultatet i stället för att anta att begärd identitet, position eller form förblir identisk genom hela klippet. Det refererade modellkortet identifierar fullständig konsekvens i komplexa scener och komplex rörelse som en fortsatt utmaning.
Promptguiden stöder uttryckliga signaler för dialog, ljudeffekter och atmosfär. Sätt exakt tal inom citattecken, identifiera talaren och beskriv ljud i relation till den synliga handlingen. En ljudeffekt och bakgrundsatmosfär ska inte förväxlas med en talad replik. Engelska dokumenteras som fullt stödd för promptskrivning, medan andra språk inte har utvärderats i den guiden. Granska hörbara ord, tajmning och ljudkvalitet som delar av samma leverans som videon i stället för att behandla ljudet som en garanterat trogen uppläsning av prompten.
Tillverkarflödet är asynkront: en genereringsförfrågan returnerar en operation och det färdiga resultatet hämtas när dess status rapporterar att den är klar. Behåll operationsidentiteten och granska det returnerade klippet. Guiden beskriver två dagars lagring hos tillverkaren och SynthID-märkning, så ett sparat material bör omfatta det nedladdade resultatet, prompten, källbilderna och valda inställningar. Ett seed kan förbättra upprepbarheten men garanterar inte determinism. Kontrollera motivkontinuitet, handling, bildutsnitt, ljud och scenens avsedda ändpunkt innan klippet används i en redigering; avslutad bearbetning bevisar inte ensamt att de kreativa kraven uppfylldes.
Ailoot Ultra · Video POST /v1/videos google/veo-3.1-lite
google/veo-3.1-liteStart
Omvandla en scenbeskrivning till en 4, 6 eller 8 sekunder lång video i 720p.
- Visa en produkt i rörelse
- Skapa en scen som etablerar miljön
- Prova en kort kamerarörelse
- Godkända indata
- Text · Bilder
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text,image- 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-lite | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Minsta längd: 1 Maximalt antal byte: 10 000 Enhet: UTF8-byte | Standard— |
Fältduration | Typinteger | KravObligatoriskt | Värden & gränser 4, 6, 8 Enhet: sekunder | 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 | Standard— |
Fältframe_images | Typarray | KravValfritt | Värden & gränser Villkor: Utelämna för text_to_video. Om fältet anges: exakt en post {"type":"image_url","image_url":{"url":"<faktisk HTTPS URL>"},"frame_type":"first_frame"}; posten har exakt type,image_url,frame_type; image_url har exakt url. Inga extra eller dubblerade nycklar. Endast duration=4,resolution="720p",aspect_ratio="16:9",generate_audio=false. URL måste kunna tolkas med schemat https, ett icke-tomt värdnamn, utan userinfo och utan ett bokstavligt #; signerad frågesträng och kodad sökväg bevaras. Källkoden kontrollerar varken indatans MIME, filstorlek eller pixeldimensioner. | Standard— |
Kombinationer av indatamaterial
Text till video · Krävs: prompt
Bild till video · Krävs: prompt, frame_images
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Parameterother_options | Avtalfalse |
Parameterresolution | Avtal720p |
Parameterprompt_max_bytes | Avtal10000 |
Parameterduration | Avtal4, 6, 8 |
Parameteraspect_ratio | Avtal16:9, 9:16 |
Parametergenerate_audio | Avtalfalse |
Parametermaterial_types | Avtaltext, image |
Parameterparameters | Avtal{"name":"model","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["google/veo-3.1-lite"],"availability":"source_interface"}, {"name":"prompt","type":"string","required":true,"default_known":false,"default":null,"enum_known":false,"enum":null,"availability":"source_interface","min_length":1,"maximum_bytes":10000,"maximum_length":null,"unit":"UTF8-byte"}, {"name":"duration","type":"integer","required":true,"default_known":false,"default":null,"enum_known":true,"enum":[4,6,8],"availability":"source_interface","unit":"sekunder"}, {"name":"resolution","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["720p"],"availability":"source_interface"}, {"name":"aspect_ratio","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["16:9","9:16"],"availability":"source_interface"}, {"name":"generate_audio","type":"boolean","required":true,"default_known":false,"default":null,"enum_known":true,"enum":[false],"availability":"source_interface"}, {"name":"frame_images","type":"array","required":false,"default_known":false,"default":null,"enum_known":false,"enum":null,"availability":"source_interface","conditions":"Utelämna för text_to_video. Om fältet anges: exakt en post {\"type\":\"image_url\",\"image_url\":{\"url\":\"<faktisk HTTPS URL>\"},\"frame_type\":\"first_frame\"}; posten har exakt type,image_url,frame_type; image_url har exakt url. Inga extra eller dubblerade nycklar. Endast duration=4,resolution=\"720p\",aspect_ratio=\"16:9\",generate_audio=false. URL måste kunna tolkas med schemat https, ett icke-tomt värdnamn, utan userinfo och utan ett bokstavligt #; signerad frågesträng och kodad sökväg bevaras. Källkoden kontrollerar varken indatans MIME, filstorlek eller pixeldimensioner."} |
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
Skapa en gång och spara returnerat ID.
Kontrollera den ursprungliga statusen; behåll varje färdig tillgång och dess längd.
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 |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Generera ljud— | Upplösning— | Debiteringsenhetper videosekund | Debiteringsvillkorljud: with_audio | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.16 per videosekund |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Generera ljud— | Upplösning— | Debiteringsenhetper videosekund | Debiteringsvillkorljud: with_audio; upplösning: 720p | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.1 per videosekund |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Generera ljud— | Upplösning— | Debiteringsenhetper videosekund | Debiteringsvillkorljud: without_audio | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.1 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.06 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. |
| 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 $0.24 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.16 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.1 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: 720p | Avgift Utdata · Videopris $0.1 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: 720p | Avgift Utdata · Videopris $0.06 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-lite", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 4, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": false}')
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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os,re
from pathlib import Path
from urllib.parse import urlsplit
image=os.environ["AILOOT_IMAGE_URL"]
try:
parsed=urlsplit(image)
valid=(image.startswith("https://") and parsed.scheme=="https" and bool(parsed.hostname)
and parsed.username is None and parsed.password is None and "#" not in image
and not any(ord(c)<32 or ord(c)==127 for c in image)
and re.search(r"%(?![0-9A-Fa-f]{2})",image) is None)
except ValueError:
valid=False
if not valid:
raise SystemExit("Use your actual HTTPS image URL with a hostname, no userinfo and no fragment")
p={"model":"google/veo-3.1-lite","prompt":"The subject makes a slow, natural movement. Keep the opening composition.","duration":4,"resolution":"720p","aspect_ratio":"16:9","generate_audio":False,"frame_images":[{"type":"image_url","image_url":{"url":image},"frame_type":"first_frame"}]}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False),encoding="utf-8")
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, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.")
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}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
for x in r.get("data",[]):print(x)
PY_STATUS
Spara alla färdiga resurser
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
Andra innehållsläsningar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Färdigt data[] innehåller alla signerade URL till innehåll som du äger. Hämta varje returnerad URL eller använd innehållsändpunkten med index satt till ett faktiskt utdataindex. Ett misslyckat ursprungligt jobb kan returnera charge_pending_check; kontrollera det ursprungliga jobbet i stället för att skapa det igen. 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 | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
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. |
Svar422 · price_unavailable | VillkorEtt angivet frame_images-objekt eller dess villkorliga profil kan inte tolkas, eller den fullständigt tolkade profilen saknar ett färdigt exakt priskort. | Nästa stegBehåll model, prompt, duration, resolution, aspect_ratio och generate_audio. Lägg till frame_images som innehåller exakt en first_frame-post i det angivna objektformatet. Sätt duration=4, resolution="720p", aspect_ratio="16:9" och generate_audio=false. Denna validering körs innan begäran skickas. |
Alias
Modellalias
Ailoot Ultra google/veo-3.1-lite
Alias för metodsökvägar
/v1/videos/generations, /videos, /videos/generations
Relaterade anropar-ID:n
FAQ · Google: Veo 3.1 Lite
- Vilka indata och resultat finns?
POST /v1/videos·google/veo-3.1-lite:text,image→video- Vilka fält använder begäran?
POST /v1/videos·google/veo-3.1-lite:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images