Claude Opus 5 is now live on CometAPI →
G

Veo 3.1

Per Sekund:$0.32
Udgivet:May 31, 2026

Veo 3.1 er en flagskibsmodel til AI-videogenerering, designet til filmisk output i høj kvalitet med indbygget lydsynkronisering. Den leverer realistiske bevægelser, høj visuel troværdighed og tæt afstemt audiovisuel generering til professionel videoproduktion.

Ny
Populær
Kommersiel brug

Playground for Veo 3.1

Udforsk Veo 3.1's Playground — et interaktivt miljø til at teste modeller og køre forespørgsler i realtid. Prøv prompts, juster parametre og iterer øjeblikkeligt for at fremskynde udvikling og validere use cases.

Tekniske specifikationer for Veo 3.1

EmneVeo 3.1 (offentlige specifikationer)
Officielt model-IDveo-3.1-generate-001
UdbyderGoogle DeepMind / Google Cloud
ModeltypeTekst-til-video og billede-til-video-generering
InputtyperTekstprompter, billedinputs, første-frame + sidste-frame-vejledning
OutputtypeAI-genereret video
Understøttede opløsninger720p og 1080p, 4K
Understøttede sideforhold16:9 og 9:16
Understøttet billedfrekvens24 FPS
Videovarighed4s, 6s eller 8s klip (afhængigt af tilstand)
PromptsprogEngelsk
Videoer pr. anmodningOp til 4
API-hastighedsgrænseOp til 50 anmodninger/minut/projekt
Understøttet udrulningVertex AI, Gemini-økosystem-integrationer, Flow
Ikke-understøttede funktioner (officielle dokumenter)Dynamisk delt kvote, nogle referencebillede-workflows, indfødt video-udvidelse i standard API-flow

Hvad er Veo 3.1?

Veo 3.1 er Googles flagskibs-generative videomodelfamilie med fokus på videogenerering i filmkvalitet, stærkere overholdelse af prompts, bedre scenekonsistens og multimodale videoproduktions-workflows. Den går ud over standard tekst-til-video-generering ved at understøtte billedstyret generering og rammekontrollerede fortælle-workflows. Officiel understøttelse omfatter tekst-til-video, billede-til-video, prompt-omskrivning og First/Last Frame-genereringsworkflows.

Kernefunktioner

Veo 3.1 fokuserer på praktiske funktioner til indholdsskabelse:

  • Native lydgenerering (dialog, baggrundslyd, SFX) integreret i output. Veo 3.1 genererer native lyd (dialog + ambience + SFX), der er justeret til den visuelle tidslinje; modellen sigter mod at bevare læbesynk og audio–visuel justering for dialog og scenesignaler.
  • Længere output (understøttelse af op til ~60 sekunder / 1080p sammenlignet med Veo 3’s meget korte klip på 8s) og multi-prompt multi-shot-sekvenser for narrativ kontinuitet.
  • Scene Extension og First/Last Frame-tilstande, der forlænger eller interpolerer optagelser mellem nøgleframes.
  • Objektindsættelse og (kommende) objektfjernelse samt redigeringsprimitiver i Flow.

Hvert af punkterne ovenfor er designet til at reducere manuelt VFX-arbejde: lyd og scenekontinuitet er nu førsteklasses output frem for efterfølgende tilføjelser.

Tekniske detaljer (modeladfærd og input)

Modelfamilie og varianter: Veo tilhører Googles Veo-3-familie; preview-model-ID’et er typisk veo3.1-pro; veo3.1 (CometAPI-dokumentation). Den accepterer tekstprompter, billedreferencer (enkelt frame eller sekvenser) og strukturerede multiprompt-layouts til multi-shot-generering.

Opløsning og varighed: Preview-dokumentation beskriver output i 720p/1080p med muligheder for længere varigheder (op til ~60s i visse preview-indstillinger) og højere kvalitet end tidligere Veo-varianter.

Sideforhold: 16:9 (understøttet) og 9:16 (understøttet undtagen i nogle referencebillede-flows).

Promptsprog: Engelsk (preview).

API-begrænsninger: Typiske preview-grænser omfatter maks. 10 API-anmodninger/min pr. projekt, maks. 4 videoer pr. anmodning, og videolængder valgbare blandt 4, 6 eller 8 sekunder (referencebillede-flows understøtter 8s).

Benchmark-ydelse

Googles interne og offentligt opsummerede evalueringer rapporterer stærk præference for Veo 3.1-output på tværs af sammenligninger foretaget af menneskelige bedømmere på metrikker såsom tekstilpasning, visuel kvalitet og audio–visuel sammenhæng (tekst→video- og billede→video-opgaver).

Veo 3.1 opnåede state-of-the-art-resultater i interne sammenligninger med menneskelige bedømmere på tværs af flere objektive dimensioner — overordnet præference, prompt-tilpasning (tekst→video og billede→video), visuel kvalitet, audio–video-tilpasning og “visuelt realistisk fysik” på benchmark-datasæt som MovieGenBench og VBench.

Begrænsninger og sikkerhedsovervejelser

Begrænsninger:

  • Artefakter og inkonsistens: trods forbedringer kan visse lyssætninger, finkornet fysik og komplekse okklusioner stadig give artefakter; billede-til-video-konsistens (især over lange varigheder) er forbedret, men ikke perfekt.
  • Misinformation-/deepfake-risiko: rigere lyd + objektindsættelse/fjernelse øger risikoen for misbrug (realistisk falsk lyd og længere klip). Google nævner afbødninger (politik, værn), og tidligere Veo-lanceringer refererede til vandmærkning/SynthID for at understøtte oprindelsesfastlæggelse; tekniske værn eliminerer dog ikke misbrugsrisikoen.
  • Omkostnings- og gennemløbsbegrænsninger: højopløselige, lange videoer er beregningstunge og er i øjeblikket begrænset i et betalt preview — forvent højere latenstid og omkostninger sammenlignet med billedmodeller. Indlæg i communityet og Google-forumtråde diskuterer tilgængelighedsvinduer og fallback-strategier.

Sikkerhedskontroller: Veo3.1 har integrerede indholdsretningslinjer, vandmærkning/SynthID-signaler fra tidligere Veo-udgivelser og adgangskontrol i preview; kunder rådes til at følge platformens politik og implementere menneskelig gennemgang for højrisiko-output.

Praktiske anvendelser

  • Hurtig prototyping for kreative: storyboards → multi-shot-klip og animatics med native dialog til tidlig kreativ gennemgang.
  • Marketing og kortformat-indhold: 15–60s produktspots, sociale klip og konceptteasere, hvor hastighed betyder mere end perfekt fotorealisme.
  • Billede-til-video-tilpasning: omdanne illustrationer, karakterer eller to frames til glidende overgange eller animerede scener via First/Last Frame og Scene Extension.
  • Værktøjsudvidelse: integreret i Flow til iterativ redigering (objektindsættelse/fjernelse, lysforudindstillinger), der reducerer manuelle VFX-pas.

Sammenligning med andre førende modeller

Veo 3.1 vs Veo 3 (forgænger): Veo 3.1 fokuserer på forbedret prompt-tilpasning, lydkvalitet og multi-shot-konsistens — inkrementelle, men effektfulde opdateringer, der sigter mod at reducere artefakter og forbedre redigerbarheden.

Veo 3.1 vs OpenAI Sora 2: afvejninger rapporteret i pressen: Veo 3.1 lægger vægt på længere narrativ kontrol, integreret lyd og Flow-redigeringsintegration; Sora 2 (når den sammenlignes i pressen) fokuserer på andre styrker (hastighed, andre redigeringspipelines). TechRadar og andre medier beskriver Veo 3.1 som Googles målrettede konkurrent til Sora 2 for narrativ og længere video-understøttelse. Uafhængig side-by-side-test er fortsat begrænset.

KapabilitetVeo 3.1Sora 2Runway Gen-4 / Gen-4.5
Indfødt vertikalt outputJaBegrænset workflow-understøttelseJa
Billede-til-videoJaJaJa
Fokus på lydintegrationStærkModeratModerat
Frame-betingningJaJaDelvis
Social-video-optimeringStærkModeratStærk
API-økosystemintegrationGoogle-økosystemOpenAI-økosystemSkaberværktøjs-økosystem

Hvordan bruger jeg Veo 3.1 API med CometAPI?

  1. Opret en CometAPI-API-nøgle
  2. Vælg veo-3.1-generate-001 som model-endpoint
  3. Send prompt- eller billedinput gennem video-genererings-API’en
  4. Poll resultater og hent genererede videoer
  5. Iterér prompter for kamerabevægelse, scenekontinuitet og konsistensforbedringer

FAQ

Priser for Veo 3.1

Udforsk konkurrencedygtige priser for Veo 3.1, designet til at passe til forskellige budgetter og brugsbehov. Vores fleksible planer sikrer, at du kun betaler for det, du bruger, hvilket gør det nemt at skalere, efterhånden som dine krav vokser. Opdag hvordan Veo 3.1 kan forbedre dine projekter, mens omkostningerne holdes håndterbare.

Veo Video Generation Pricing

Pricing (Per Second)

Model720p1080p4K
veo3$0.32$0.32$0.48
veo3-fast$0.08$0.096$0.24
veo3.1$0.32$0.32$0.48
veo3.1-fast$0.08$0.096$0.24

💡 Billed per second. Total cost = price per second × video duration (seconds).

Eksempelkode og API til Veo 3.1

Få adgang til omfattende eksempelkode og API-ressourcer for Veo 3.1 for at strømline din integrationsproces. Vores detaljerede dokumentation giver trin-for-trin vejledning, der hjælper dig med at udnytte det fulde potentiale af Veo 3.1 i dine projekter.

#!/bin/bash
# Get your CometAPI key from https://api.cometapi.com/console/token
# Export it as: export COMETAPI_KEY="your-key-here"

BASE_URL="https://api.cometapi.com/v1"
IMAGE_PATH="/tmp/veo3.1_reference.jpg"

# ============================================================
# Step 1: Download Reference Image
# ============================================================
echo "Step 1: Downloading reference image..."

curl -s -o "$IMAGE_PATH" "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280"
echo "Reference image saved to: $IMAGE_PATH"

# ============================================================
# Step 2: Create Video Generation Task (form-data with image upload)
# ============================================================
echo ""
echo "Step 2: Creating video generation task..."

RESPONSE=$(curl -s -X POST "${BASE_URL}/videos" \
  -H "Authorization: $COMETAPI_KEY" \
  -F 'prompt=A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot' \
  -F 'model=veo3.1' \
  -F 'size=16x9' \
  -F "input_reference=@${IMAGE_PATH}")

echo "Create response:"
echo "$RESPONSE" | jq .

TASK_ID=$(echo "$RESPONSE" | jq -r '.id')

if [ "$TASK_ID" = "null" ] || [ -z "$TASK_ID" ]; then
  echo "Error: Failed to get task_id from response"
  exit 1
fi

echo "Task ID: $TASK_ID"

# ============================================================
# Step 3: Query Task Status
# ============================================================
echo ""
echo "Step 3: Querying task status..."

QUERY_RESPONSE=$(curl -s -X GET "${BASE_URL}/videos/${TASK_ID}" \
  -H "Authorization: $COMETAPI_KEY")

echo "Query response:"
echo "$QUERY_RESPONSE" | jq .

TASK_STATUS=$(echo "$QUERY_RESPONSE" | jq -r '.data.status')
echo "Task status: $TASK_STATUS"

cURL Code Example

#!/bin/bash
# Get your CometAPI key from https://api.cometapi.com/console/token
# Export it as: export COMETAPI_KEY="your-key-here"

BASE_URL="https://api.cometapi.com/v1"
IMAGE_PATH="/tmp/veo3.1_reference.jpg"

# ============================================================
# Step 1: Download Reference Image
# ============================================================
echo "Step 1: Downloading reference image..."

curl -s -o "$IMAGE_PATH" "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280"
echo "Reference image saved to: $IMAGE_PATH"

# ============================================================
# Step 2: Create Video Generation Task (form-data with image upload)
# ============================================================
echo ""
echo "Step 2: Creating video generation task..."

RESPONSE=$(curl -s -X POST "${BASE_URL}/videos" \
  -H "Authorization: $COMETAPI_KEY" \
  -F 'prompt=A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot' \
  -F 'model=veo3.1' \
  -F 'size=16x9' \
  -F "input_reference=@${IMAGE_PATH}")

echo "Create response:"
echo "$RESPONSE" | jq .

TASK_ID=$(echo "$RESPONSE" | jq -r '.id')

if [ "$TASK_ID" = "null" ] || [ -z "$TASK_ID" ]; then
  echo "Error: Failed to get task_id from response"
  exit 1
fi

echo "Task ID: $TASK_ID"

# ============================================================
# Step 3: Query Task Status
# ============================================================
echo ""
echo "Step 3: Querying task status..."

QUERY_RESPONSE=$(curl -s -X GET "${BASE_URL}/videos/${TASK_ID}" \
  -H "Authorization: $COMETAPI_KEY")

echo "Query response:"
echo "$QUERY_RESPONSE" | jq .

TASK_STATUS=$(echo "$QUERY_RESPONSE" | jq -r '.data.status')
echo "Task status: $TASK_STATUS"

Python Code Example

import os
import requests
import json

# Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
COMETAPI_KEY = os.environ.get("COMETAPI_KEY") or "<YOUR_COMETAPI_KEY>"
BASE_URL = "https://api.cometapi.com/v1"

headers = {
    "Authorization": COMETAPI_KEY,
}

# ============================================================
# Step 1: Download Reference Image
# ============================================================
print("Step 1: Downloading reference image...")

image_url = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280"
image_response = requests.get(image_url)
image_path = "/tmp/veo3.1_reference.jpg"
with open(image_path, "wb") as f:
    f.write(image_response.content)
print(f"Reference image saved to: {image_path}")

# ============================================================
# Step 2: Create Video Generation Task (form-data with image upload)
# ============================================================
print("\nStep 2: Creating video generation task...")

with open(image_path, "rb") as image_file:
    files = {
        "input_reference": ("reference.jpg", image_file, "image/jpeg"),
    }
    data = {
        "prompt": "A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot",
        "model": "veo3.1",
        "size": "16x9",
    }
    create_response = requests.post(
        f"{BASE_URL}/videos", headers=headers, data=data, files=files
    )

create_result = create_response.json()
print("Create response:", json.dumps(create_result, indent=2))

task_id = create_result.get("id")
if not task_id:
    print("Error: Failed to get task_id from response")
    exit(1)
print(f"Task ID: {task_id}")

# ============================================================
# Step 3: Query Task Status
# ============================================================
print("\nStep 3: Querying task status...")

query_response = requests.get(f"{BASE_URL}/videos/{task_id}", headers=headers)
query_result = query_response.json()
print("Query response:", json.dumps(query_result, indent=2))

task_status = query_result.get("data", {}).get("status")
print(f"Task status: {task_status}")

JavaScript Code Example

import fs from "fs";
import path from "path";
import os from "os";

// Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
const api_key = process.env.COMETAPI_KEY || "<YOUR_COMETAPI_KEY>";
const base_url = "https://api.cometapi.com/v1";

// ============================================================
// Step 1: Download Reference Image
// ============================================================
console.log("Step 1: Downloading reference image...");

const imageUrl = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1280";
const imageResponse = await fetch(imageUrl);
const imageBuffer = Buffer.from(await imageResponse.arrayBuffer());
const imagePath = path.join(os.tmpdir(), "veo3.1_reference.jpg");
fs.writeFileSync(imagePath, imageBuffer);
console.log(`Reference image saved to: ${imagePath}`);

// ============================================================
// Step 2: Create Video Generation Task (form-data with image upload)
// ============================================================
console.log("\nStep 2: Creating video generation task...");

const formData = new FormData();
formData.append("prompt", "A breathtaking mountain landscape with clouds flowing through valleys, cinematic aerial shot");
formData.append("model", "veo3.1");
formData.append("size", "16x9");
formData.append("input_reference", new Blob([fs.readFileSync(imagePath)], { type: "image/jpeg" }), "reference.jpg");

const createResponse = await fetch(`${base_url}/videos`, {
  method: "POST",
  headers: {
    "Authorization": api_key,
  },
  body: formData,
});

const createResult = await createResponse.json();
console.log("Create response:", JSON.stringify(createResult, null, 2));

const taskId = createResult?.id;
if (!taskId) {
  console.log("Error: Failed to get task_id from response");
  process.exit(1);
}
console.log(`Task ID: ${taskId}`);

// ============================================================
// Step 3: Query Task Status
// ============================================================
console.log("\nStep 3: Querying task status...");

const queryResponse = await fetch(`${base_url}/videos/${taskId}`, {
  method: "GET",
  headers: {
    "Authorization": api_key,
  },
});

const queryResult = await queryResponse.json();
console.log("Query response:", JSON.stringify(queryResult, null, 2));

const taskStatus = queryResult?.data?.status;
console.log(`Task status: ${taskStatus}`);

Versioner af Veo 3.1

Årsagen til, at Veo 3.1 har flere øjebliksbilleder kan omfatte potentielle faktorer såsom variationer i output efter opdateringer, der kræver ældre øjebliksbilleder for konsistens, at give udviklere en overgangsperiode til tilpasning og migration, og at forskellige øjebliksbilleder svarer til globale eller regionale slutpunkter for at optimere brugeroplevelsen. For detaljerede forskelle mellem versioner, henvises der til den officielle dokumentation.

Model-idBeskrivelseTilgængelighedAnmodning
veo3.1-allDen anvendte teknologi er uofficiel, og genereringen er ustabil osv.Chat format
veo3.1Anbefales, peger på den nyeste modelAsynkron generering