Claude Opus 5 is now live on CometAPI →
G

Veo 3.1

Al Secondo:$0.32
Rilasciato:May 31, 2026

Veo 3.1 è un modello di generazione video basato sull'IA di punta, progettato per output cinematografici di alta qualità con sincronizzazione audio nativa. Offre movimenti realistici, elevata fedeltà visiva e una generazione audiovisiva strettamente allineata per la produzione video professionale.

Nuovo
Popolare
Uso commerciale

Playground per Veo 3.1

Esplora il Playground di Veo 3.1 — un ambiente interattivo per testare modelli ed eseguire query in tempo reale. Prova prompt, regola parametri e itera istantaneamente per accelerare lo sviluppo e convalidare i casi d'uso.

Specifiche tecniche di Veo 3.1

VoceVeo 3.1 (specifiche pubbliche)
ID modello ufficialeveo-3.1-generate-001
FornitoreGoogle DeepMind / Google Cloud
Tipo di modelloGenerazione da testo a video e da immagine a video
Tipi di inputPrompt testuali, input immagine, guida primo fotogramma + ultimo fotogramma
Tipo di outputVideo generato dall'IA
Risoluzioni supportate720p e 1080p, 4K
Rapporti d'aspetto supportati16:9 e 9:16
Framerate supportato24 FPS
Durata videoClip da 4 s, 6 s o 8 s (a seconda della modalità)
Lingua del promptInglese
Video per richiestaFino a 4
Limite di rate APIFino a 50 richieste/minuto/progetto
Distribuzioni supportateVertex AI, integrazioni nell’ecosistema Gemini, Flow
Funzionalità non supportate (doc ufficiali)Quota condivisa dinamica, alcuni flussi con immagine di riferimento, estensione video nativa nel flusso API standard

Che cos’è Veo 3.1?

Veo 3.1 è la famiglia di modelli generativi video di punta di Google, focalizzata su sintesi video di qualità cinematografica, maggiore aderenza ai prompt, migliore coerenza di scena e flussi di lavoro multimodali per la creazione di video. Va oltre la generazione standard da testo a video, supportando la generazione guidata da immagini e flussi di narrazione controllati a livello di fotogramma. Il supporto ufficiale include flussi testo→video, immagine→video, riscrittura del prompt e generazione First/Last Frame.

Funzionalità principali

Veo 3.1 si concentra su funzionalità pratiche di content creation:

  • Generazione audio nativa (dialoghi, suoni ambientali, SFX) integrata negli output. Veo 3.1 genera audio nativo (dialoghi + ambiente + SFX) allineato alla timeline visiva; il modello mira a preservare il lip sync e l’allineamento audio–video per i dialoghi e i segnali di scena.
  • Output più lunghi (supporto fino a ~60 secondi / 1080p rispetto ai clip molto brevi di Veo 3, 8 s) e sequenze multi-shot con multi-prompt per la continuità narrativa.
  • Modalità Scene Extension e First/Last Frame che estendono o interpolano riprese tra fotogrammi chiave.
  • Inserimento di oggetti e (in arrivo) rimozione di oggetti, oltre a primitive di editing all’interno di Flow.

Ogni punto sopra è progettato per ridurre il lavoro VFX manuale: audio e continuità di scena sono ora output di prima classe, non un ripensamento.

Dettagli tecnici (comportamento del modello e input)

Famiglia di modelli e varianti: Veo appartiene alla famiglia Veo-3 di Google; l’ID del modello di anteprima è tipicamente veo3.1-pro; veo3.1 (doc CometAPI). Accetta prompt testuali, riferimenti immagine (singolo fotogramma o sequenze) e layout strutturati multi-prompt per la generazione multi-shot.

Risoluzione e durata: La documentazione di anteprima descrive output a 720p/1080p con opzioni per durate più lunghe (fino a ~60 s in alcune impostazioni di anteprima) e una fedeltà superiore rispetto alle precedenti varianti di Veo.

Rapporti d’aspetto: 16:9 (supportato) e 9:16 (supportato, tranne in alcuni flussi con immagine di riferimento).

Lingua del prompt: Inglese (anteprima).

Limiti API: i limiti tipici in anteprima includono max 10 richieste API/min per progetto, max 4 video per richiesta e durate video selezionabili tra 4, 6 o 8 secondi (i flussi con immagine di riferimento supportano 8 s).

Prestazioni nei benchmark

Le valutazioni interne di Google e i riassunti pubblici riportano una forte preferenza per gli output di Veo 3.1 nei confronti tra valutatori umani su metriche come allineamento al testo, qualità visiva e coerenza audio–video (task testo→video e immagine→video).

Veo 3.1 ha raggiunto risultati state-of-the-art nei confronti interni con valutatori umani su diversi assi obiettivi — preferenza complessiva, allineamento al prompt (testo→video e immagine→video), qualità visiva, allineamento audio–video e “fisica visivamente realistica” — su dataset di benchmark come MovieGenBench e VBench.

Limitazioni e considerazioni sulla sicurezza

Limitazioni:

  • Artefatti e incoerenze: nonostante i miglioramenti, alcune condizioni di illuminazione, fisica fine e occlusioni complesse possono ancora generare artefatti; la coerenza immagine→video (soprattutto su durate lunghe) è migliorata ma non perfetta.
  • Rischio di disinformazione/deepfake: audio più ricco + inserimento/rimozione di oggetti aumentano il rischio d’uso improprio (audio realistici falsi e clip estese). Google segnala mitigazioni (policy, salvaguardie) e lanci precedenti di Veo hanno fatto riferimento a watermarking/SynthID per supportare la provenienza; tuttavia le salvaguardie tecniche non eliminano il rischio di abuso.
  • Vincoli di costo e throughput: video ad alta risoluzione e lunga durata sono computazionalmente onerosi e attualmente disponibili in anteprima a pagamento — aspettarsi latenza e costi superiori rispetto ai modelli d’immagine. Post della community e thread nei forum Google discutono finestre di disponibilità e strategie di fallback.

Controlli di sicurezza: Veo 3.1 integra policy sui contenuti, watermarking/segnalazione SynthID in versioni precedenti di Veo e controlli di accesso in anteprima; si consiglia ai clienti di seguire le policy della piattaforma e implementare una revisione umana per output ad alto rischio.

Casi d’uso pratici

  • Prototipazione rapida per creativi: storyboard → clip multi-shot e animatic con dialoghi nativi per revisioni creative iniziali.
  • Marketing e contenuti short form: spot di prodotto da 15–60 s, clip social e concept teaser in cui la velocità conta più del fotorealismo perfetto.
  • Adattamento immagine→video: trasformare illustrazioni, personaggi o due fotogrammi in transizioni fluide o scene animate tramite First/Last Frame e Scene Extension.
  • Potenziare gli strumenti: integrazione in Flow per l’editing iterativo (inserimento/rimozione oggetti, preset di illuminazione) che riduce i passaggi VFX manuali.

Confronto con altri modelli leader

Veo 3.1 vs Veo 3 (predecessore): Veo 3.1 si concentra su migliore aderenza al prompt, qualità audio e coerenza multi-shot — aggiornamenti incrementali ma incisivi pensati per ridurre gli artefatti e migliorare l’editabilità.

Veo 3.1 vs OpenAI Sora 2: compromessi riportati dalla stampa: Veo 3.1 enfatizza controllo narrativo long-form, audio integrato e integrazione di editing in Flow; Sora 2 (nelle comparazioni riportate) si concentra su punti di forza diversi (velocità, pipeline di editing differenti). I test comparativi indipendenti fianco a fianco restano limitati.

CapacitàVeo 3.1Sora 2Runway Gen-4 / Gen-4.5
Output verticale nativoSupporto workflow limitato
Da immagine a video
Focus sull’integrazione audioForteModeratoModerato
Condizionamento sui fotogrammiParziale
Ottimizzazione per social videoForteModeratoForte
Integrazione nell’ecosistema APIEcosistema GoogleEcosistema OpenAIEcosistema dei creator

Come uso l’API di Veo 3.1 con CometAPI?

  1. Crea una chiave API CometAPI
  2. Seleziona veo-3.1-generate-001 come endpoint del modello
  3. Invia prompt o input immagine tramite la video generation API
  4. Effettua il polling dei risultati e recupera i video generati
  5. Itera sui prompt per movimento camera, continuità di scena e miglioramenti di coerenza

FAQ

Prezzi per Veo 3.1

Esplora i prezzi competitivi per Veo 3.1, progettato per adattarsi a vari budget e necessità di utilizzo. I nostri piani flessibili garantiscono che paghi solo per quello che usi, rendendo facile scalare man mano che i tuoi requisiti crescono. Scopri come Veo 3.1 può migliorare i tuoi progetti mantenendo i costi gestibili.

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).

Codice di esempio e API per Veo 3.1

Accedi a codice di esempio completo e risorse API per Veo 3.1 per semplificare il tuo processo di integrazione. La nostra documentazione dettagliata fornisce una guida passo dopo passo, aiutandoti a sfruttare appieno il potenziale di Veo 3.1 nei tuoi progetti.

#!/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}`);

Versioni di Veo 3.1

Il motivo per cui Veo 3.1 dispone di più snapshot può includere fattori potenziali come variazioni nell'output dopo aggiornamenti che richiedono snapshot precedenti per coerenza, offrire agli sviluppatori un periodo di transizione per l'adattamento e la migrazione, e diversi snapshot corrispondenti a endpoint globali o regionali per ottimizzare l'esperienza utente. Per le differenze dettagliate tra le versioni, si prega di fare riferimento alla documentazione ufficiale.

ID modellodescrizioneDisponibilitàRichiesta
veo3.1-allLa tecnologia utilizzata è non ufficiale e la generazione è instabile, ecc.Chat formato
veo3.1Consigliato, indica il modello più recenteGenerazione asincrona