Veo 3 è il modello all'avanguardia di Google per generare video di 8 secondi a 720p di alta fedeltà da un prompt di testo, con un realismo sorprendente e audio generato in modo nativo. Veo 3 eccelle in un'ampia gamma di stili visivi e cinematografici. Per scoprire di più sulle varianti del modello Veo disponibili, consulta la sezione Versioni del modello.
Scegli un esempio per scoprire come generare un video con dialoghi, realismo cinematografico o animazione creativa:
Generazione di video a partire da immagini
Il seguente codice mostra la generazione di un'immagine utilizzando Imagen, quindi l'utilizzo di questa immagine come frame iniziale per la generazione di video con Veo 3.
Python
import time
from google import genai
client = genai.Client()
prompt = "Panning wide shot of a calico kitten sleeping in the sunshine"
# Step 1: Generate an image with Imagen.
imagen = client.models.generate_images(
model="imagen-3.0-generate-002",
prompt=prompt,
)
# Step 2: Generate video with Veo 3 using the image.
operation = client.models.generate_videos(
model="veo-3.0-generate-preview",
prompt=prompt,
image=imagen.generated_images[0].image,
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3_with_image_input.mp4")
print("Generated video saved to veo3_with_image_input.mp4")
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const prompt = "Panning wide shot of a calico kitten sleeping in the sunshine";
// Step 1: Generate an image with Imagen.
const imagenResponse = await ai.models.generateImages({
model: "imagen-3.0-generate-002",
prompt: prompt,
});
// Step 2: Generate video with Veo 3 using the image.
let operation = await ai.models.generateVideos({
model: "veo-3.0-generate-preview",
prompt: prompt,
image: {
imageBytes: imagenResponse.generatedImages[0].image.imageBytes,
mimeType: "image/png",
},
});
// Poll the operation status until the video is ready.
while (!operation.done) {
console.log("Waiting for video generation to complete...")
await new Promise((resolve) => setTimeout(resolve, 10000));
operation = await ai.operations.getVideosOperation({
operation: operation,
});
}
// Download the video.
ai.files.download({
file: operation.response.generatedVideos[0].video,
downloadPath: "veo3_with_image_input.mp4",
});
console.log(`Generated video saved to veo3_with_image_input.mp4`);
Vai
package main
import (
"context"
"log"
"os"
"time"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
prompt := "Panning wide shot of a calico kitten sleeping in the sunshine"
// Step 1: Generate an image with Imagen.
imagenResponse, err := client.Models.GenerateImages(
ctx,
"imagen-3.0-generate-002",
prompt,
nil, // GenerateImagesConfig
)
if err != nil {
log.Fatal(err)
}
// Step 2: Generate video with Veo 3 using the image.
operation, err := client.Models.GenerateVideos(
ctx,
"veo-3.0-generate-preview",
prompt,
imagenResponse.GeneratedImages[0].Image,
nil, // GenerateVideosConfig
)
if err != nil {
log.Fatal(err)
}
// Poll the operation status until the video is ready.
for !operation.Done {
log.Println("Waiting for video generation to complete...")
time.Sleep(10 * time.Second)
operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
}
// Download the video.
video := operation.Response.GeneratedVideos[0]
client.Files.Download(ctx, video.Video, nil)
fname := "veo3_with_image_input.mp4"
_ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
log.Printf("Generated video saved to %s\n", fname)
}
Parametri e specifiche
Questi sono i parametri che puoi impostare nella richiesta API per controllare il processo di generazione dei video.
Parametro | Descrizione | Veo 3 e Veo 3 Fast (anteprima) | Veo 2 (stabile) |
---|---|---|---|
prompt |
La descrizione testuale del video. Supporta i segnali acustici. | string |
string |
negativePrompt |
Testo che descrive cosa non includere nel video. | string |
string |
image |
Un'immagine iniziale da animare. | Image oggetto |
Image oggetto |
aspectRatio |
Le proporzioni del video. | "16:9" |
"16:9" , "9:16" |
personGeneration |
Controlla la generazione di persone. (vedi Limitazioni per le limitazioni regionali) |
Da testo a video:"allow_all" soloDa immagine a video: "dont_allow" solo per le regioni con limitazioni.
e "allow_adult" solo per tutti gli altri.
|
Da testo a video: "allow_all" , "allow_adult" , "dont_allow"
Da immagine a video: "dont_allow" solo per le regioni con limitazioni."allow_adult" e "dont_allow" per tutti gli altri.
|
Puoi personalizzare la generazione di video impostando i parametri nella richiesta.
Ad esempio, puoi specificare negativePrompt
per guidare il modello.
Python
import time
from google import genai
from google.genai import types
client = genai.Client()
operation = client.models.generate_videos(
model="veo-3.0-generate-preview",
prompt="A cinematic shot of a majestic lion in the savannah.",
config=types.GenerateVideosConfig(negative_prompt="cartoon, drawing, low quality"),
)
# Poll the operation status until the video is ready.
while not operation.done:
print("Waiting for video generation to complete...")
time.sleep(10)
operation = client.operations.get(operation)
# Download the generated video.
generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("parameters_example.mp4")
print("Generated video saved to parameters_example.mp4")
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
let operation = await ai.models.generateVideos({
model: "veo-3.0-generate-preview",
prompt: "A cinematic shot of a majestic lion in the savannah.",
config: {
aspectRatio: "16:9",
negativePrompt: "cartoon, drawing, low quality"
},
});
// Poll the operation status until the video is ready.
while (!operation.done) {
console.log("Waiting for video generation to complete...")
await new Promise((resolve) => setTimeout(resolve, 10000));
operation = await ai.operations.getVideosOperation({
operation: operation,
});
}
// Download the generated video.
ai.files.download({
file: operation.response.generatedVideos[0].video,
downloadPath: "parameters_example.mp4",
});
console.log(`Generated video saved to parameters_example.mp4`);
Vai
package main
import (
"context"
"log"
"os"
"time"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
videoConfig := &genai.GenerateVideosConfig{
AspectRatio: "16:9",
NegativePrompt: "cartoon, drawing, low quality",
}
operation, _ := client.Models.GenerateVideos(
ctx,
"veo-3.0-generate-preview",
"A cinematic shot of a majestic lion in the savannah.",
nil,
videoConfig,
)
// Poll the operation status until the video is ready.
for !operation.Done {
log.Println("Waiting for video generation to complete...")
time.Sleep(10 * time.Second)
operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
}
// Download the generated video.
video := operation.Response.GeneratedVideos[0]
client.Files.Download(ctx, video.Video, nil)
fname := "parameters_example.mp4"
_ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
log.Printf("Generated video saved to %s\n", fname)
}
REST
# Note: This script uses jq to parse the JSON response.
# GEMINI API Base URL
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
# Send request to generate video and capture the operation name into a variable.
operation_name=$(curl -s "${BASE_URL}/models/veo-3.0-generate-preview:predictLongRunning" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-X "POST" \
-d '{
"instances": [{
"prompt": "A cinematic shot of a majestic lion in the savannah."
}
],
"parameters": {
"aspectRatio": "16:9",
"negativePrompt": "cartoon, drawing, low quality"
}
}' | jq -r .name)
# Poll the operation status until the video is ready
while true; do
# Get the full JSON status and store it in a variable.
status_response=$(curl -s -H "x-goog-api-key: $GEMINI_API_KEY" "${BASE_URL}/${operation_name}")
# Check the "done" field from the JSON stored in the variable.
is_done=$(echo "${status_response}" | jq .done)
if [ "${is_done}" = "true" ]; then
# Extract the download URI from the final response.
video_uri=$(echo "${status_response}" | jq -r '.response.generateVideoResponse.generatedSamples[0].video.uri')
echo "Downloading video from: ${video_uri}"
# Download the video using the URI and API key and follow redirects.
curl -L -o parameters_example.mp4 -H "x-goog-api-key: $GEMINI_API_KEY" "${video_uri}"
break
fi
# Wait for 5 seconds before checking again.
sleep 10
done
Gestione di operazioni asincrone
La generazione di video è un'attività che richiede un'elevata potenza di calcolo. Quando invii una richiesta,
l'API avvia un job a lunga esecuzione e restituisce immediatamente un oggetto operation
.
Dopodiché, devi eseguire il polling finché il video non è pronto, come indicato dallo stato done
true.
Il fulcro di questo processo è un ciclo di polling, che controlla periodicamente lo stato del job.
Python
import time
from google import genai
from google.genai import types
client = genai.Client()
# After starting the job, you get an operation object.
operation = client.models.generate_videos(
model="veo-3.0-generate-preview",
prompt="A cinematic shot of a majestic lion in the savannah.",
)
# Alternatively, you can use operation.name to get the operation.
operation = types.GenerateVideosOperation(name=operation.name)
# This loop checks the job status every 10 seconds.
while not operation.done:
time.sleep(10)
# Refresh the operation object to get the latest status.
operation = client.operations.get(operation)
# Once done, the result is in operation.response.
# ... process and download your video ...
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
// After starting the job, you get an operation object.
let operation = await ai.models.generateVideos({
model: "veo-3.0-generate-preview",
prompt: "A cinematic shot of a majestic lion in the savannah.",
});
// Alternatively, you can use operation.name to get the operation.
// operation = types.GenerateVideosOperation(name=operation.name)
// This loop checks the job status every 10 seconds.
while (!operation.done) {
await new Promise((resolve) => setTimeout(resolve, 1000));
// Refresh the operation object to get the latest status.
operation = await ai.operations.getVideosOperation({ operation });
}
// Once done, the result is in operation.response.
// ... process and download your video ...
Funzionalità del modello
Funzionalità | Descrizione | Veo 3 e Veo 3 Fast (anteprima) | Veo 2 (stabile) |
---|---|---|---|
Audio | Genera audio in modo nativo con il video. | ✔️ Sempre attivo | ❌ Solo silenzioso |
Modalità di input | Il tipo di input utilizzato per la generazione. | Da testo a video, da immagine a video | Da testo a video, da immagine a video |
Risoluzione | La risoluzione di output del video. | 720p | 720p |
Frequenza fotogrammi | La frequenza fotogrammi di output del video. | 24 fps | 24 fps |
Durata video | Durata del video generato. | 8 secondi | 5-8 secondi |
Video per richiesta | Numero di video generati per richiesta. | 1 | 1 o 2 |
Stato e dettagli | Disponibilità del modello e ulteriori dettagli. | Anteprima | Stabile |
Per ulteriori dettagli sull'utilizzo di Veo, consulta la sezione Versioni del modello e le pagine Prezzi e Limiti di velocità.
Guida ai prompt di Veo
Questa sezione contiene esempi di video che puoi creare utilizzando Veo e mostra come modificare i prompt per produrre risultati diversi.
Filtri di sicurezza
Veo applica filtri di sicurezza in Gemini per garantire che i video generati e le foto caricate non contengano contenuti offensivi. I prompt che violano i nostri termini e linee guida vengono bloccati.
Nozioni di base sulla scrittura di prompt
I prompt efficaci sono descrittivi e chiari. Per ottenere il massimo da Veo, inizia identificando la tua idea principale, perfezionala aggiungendo parole chiave e modificatori e incorpora la terminologia specifica dei video nei tuoi prompt.
I seguenti elementi devono essere inclusi nel prompt:
- Soggetto: l'oggetto, la persona, l'animale o il paesaggio che vuoi includere nel video, ad esempio paesaggio urbano, natura, veicoli o cuccioli.
- Azione: cosa sta facendo il soggetto (ad esempio, camminando, correndo o girando la testa).
- Stile: specifica la direzione creativa utilizzando parole chiave specifiche per lo stile cinematografico, ad esempio fantascienza, film horror, film noir o stili di animazione come cartone animato.
- Posizionamento e movimento della videocamera: [facoltativo] controlla la posizione e il movimento della videocamera utilizzando termini come vista aerea, altezza degli occhi, inquadratura dall'alto, carrellata o dal basso.
- Composizione: [facoltativo] come è inquadrato lo scatto, ad esempio campo lungo, primo piano, scatto singolo o scatto a due.
- Effetti di messa a fuoco e obiettivo: [facoltativo] utilizza termini come messa a fuoco selettiva, messa a fuoco profonda, messa a fuoco morbida, obiettivo macro e obiettivo grandangolare per ottenere effetti visivi specifici.
- Atmosfera: [facoltativo] in che modo il colore e la luce contribuiscono alla scena, ad esempio toni blu, notte o toni caldi.
Altri suggerimenti per scrivere prompt
- Usa un linguaggio descrittivo: utilizza aggettivi e avverbi per fornire un quadro chiaro a Veo.
- Migliora i dettagli del viso: specifica i dettagli del viso come punto focale della foto, ad esempio utilizzando la parola ritratto nel prompt.
Per strategie di prompting più complete, visita la pagina Introduzione alla progettazione dei prompt.
Richiesta di audio
Con Veo 3, puoi fornire indicazioni per effetti sonori, rumore ambientale e dialoghi. Il modello acquisisce le sfumature di questi segnali per generare una colonna sonora sincronizzata.
- Dialogo:utilizza le virgolette per un discorso specifico. (Esempio: "Questa deve essere la chiave", sussurrò.)
- Effetti sonori (SFX): descrivi esplicitamente i suoni. (Esempio: pneumatici che stridono forte, motore che romba).
- Rumore ambientale:descrivi il paesaggio sonoro dell'ambiente. (Esempio: un leggero, inquietante ronzio risuona in sottofondo.)
Questi video mostrano come richiedere la generazione audio di Veo 3 con livelli di dettaglio crescenti.
Prompt | Output generato |
---|---|
Più dettagli (dialoghi e ambiente) Primo piano di due persone che fissano un disegno criptico su una parete, la luce di una torcia che tremola. "Questa deve essere la chiave", mormorò, tracciando il disegno. "Ma cosa significa?" ha chiesto, perplessa, inclinando la testa. Pietra umida, intagli intricati, simboli nascosti. Un ronzio leggero e inquietante risuona sullo sfondo. |
![]() |
Meno dettagli (dialogo) Campeggio (stop motion): camper: "Ora sono tutt'uno con la natura!" Orso: "La natura preferirebbe un po' di spazio personale". |
![]() |
Prova questi prompt per ascoltare l'audio. Prova Veo 3
Utilizzare immagini di riferimento per generare video
Puoi animare oggetti di uso quotidiano, dare vita a disegni e dipinti e aggiungere movimento e suono a scene naturali, utilizzando la funzionalità da immagine a video di Veo.
Prompt | Output generato |
---|---|
Immagine di input (generata da Imagen) Coniglio con una barretta di cioccolato. |
![]() |
Output video (generato da Veo 3) Il coniglio scappa. |
![]() |
Prompt e output di esempio
Questa sezione presenta diversi prompt, evidenziando come i dettagli descrittivi possano migliorare il risultato di ogni video.
Ghiaccioli
Questo video mostra come utilizzare gli elementi delle basi per la scrittura di prompt nel prompt.
Prompt | Output generato |
---|---|
Primo piano (composizione) di stalattiti che si sciolgono (soggetto) su una parete rocciosa congelata (contesto) con tonalità fredde di blu (atmosfera), con zoom (movimento della videocamera) che mantiene i dettagli ravvicinati delle gocce d'acqua (azione). |
![]() |
Uomo al telefono
Questi video mostrano come rivedere il prompt con dettagli sempre più specifici per fare in modo che Veo perfezioni l'output in base alle tue preferenze.
Prompt | Output generato |
---|---|
Meno dettagli La videocamera si sposta per mostrare il primo piano di un uomo disperato che indossa un impermeabile verde. Sta effettuando una chiamata con un telefono a muro in stile retrò con una luce verde al neon. Sembra una scena di un film. |
![]() |
Maggiori dettagli Un primo piano cinematografico segue un uomo disperato con un cappotto verde consunto mentre compone un numero su un telefono a disco montato su un muro di mattoni grezzi, immerso nel bagliore inquietante di un'insegna al neon verde. La videocamera si avvicina, rivelando la tensione nella mascella e la disperazione incisa sul suo volto mentre fatica a fare la chiamata. La profondità di campo ridotta mette a fuoco la sua fronte aggrottata e il telefono nero con tasti rotanti, sfocando lo sfondo in un mare di colori al neon e ombre indistinte, creando un senso di urgenza e isolamento. |
![]() |
Leopardo delle nevi
Prompt | Output generato |
---|---|
Prompt semplice: Una creatura carina con pelliccia simile a quella di un leopardo delle nevi cammina in una foresta invernale, rendering in stile cartone animato 3D. |
![]() |
Prompt dettagliato: crea una breve scena animata in 3D in stile cartone animato gioioso. Una simpatica creatura con pelliccia simile a quella del leopardo delle nevi, grandi occhi espressivi e una forma amichevole e arrotondata che trotterella felice in una foresta invernale fantastica. La scena dovrebbe mostrare alberi arrotondati e innevati, fiocchi di neve che cadono delicatamente e una calda luce solare che filtra attraverso i rami. I movimenti rimbalzanti della creatura e il suo ampio sorriso devono trasmettere pura gioia. Punta a un tono allegro e commovente con colori vivaci e allegri e animazioni giocose. |
![]() |
Esempi per elementi di scrittura
Questi esempi mostrano come perfezionare i prompt in base a ogni elemento di base.
Oggetto e contesto
Specifica il soggetto principale e lo sfondo o l'ambiente.
Prompt | Output generato |
---|---|
Rendering architettonico di un condominio in cemento bianco con forme organiche fluide, che si fondono perfettamente con la vegetazione lussureggiante ed elementi futuristici |
![]() |
Un satellite che fluttua nello spazio con la luna e alcune stelle sullo sfondo. |
![]() |
Azione
Specifica cosa sta facendo il soggetto (ad es. camminando, correndo o girando la testa).
Prompt | Output generato |
---|---|
Un'inquadratura ampia di una donna che cammina lungo la spiaggia, con un'espressione serena e rilassata, mentre guarda l'orizzonte al tramonto. |
![]() |
Stile
Aggiungi parole chiave per indirizzare la generazione verso un'estetica specifica (ad es. surreale, vintage, futuristico, film noir).
Prompt | Output generato |
---|---|
Stile noir, uomo e donna camminano per strada, mistero, cinematografico, bianco e nero. |
![]() |
Movimento e composizione della videocamera
Specifica come si muove la videocamera (soggettiva, vista aerea, vista con drone di monitoraggio) e come viene inquadrata la ripresa (campo lungo, primo piano, angolazione dal basso).
Prompt | Output generato |
---|---|
Una ripresa in soggettiva da un'auto d'epoca che guida sotto la pioggia, Canada di notte, cinematografica. |
![]() |
Primo piano estremo di un occhio con il riflesso della città. |
![]() |
Atmosfera
Le tavolozze dei colori e l'illuminazione influenzano l'atmosfera. Prova con termini come "arancione tenue toni caldi", "luce naturale", "alba" o "toni blu freddi".
Prompt | Output generato |
---|---|
Primo piano di una ragazza che tiene in braccio un adorabile cucciolo di golden retriever nel parco, luce solare. |
![]() |
Primo piano cinematografico di una donna triste che viaggia in autobus sotto la pioggia, con tonalità fredde di blu e un'atmosfera malinconica. |
![]() |
Prompt negativi
I prompt negativi specificano gli elementi che non vuoi nel video.
- ❌ Non utilizzare un linguaggio che dia istruzioni, ad esempio no o non. (ad es. "No walls" (Nessuna parete).
- ✅ Descrivi ciò che non vuoi vedere. (ad es. "wall, frame").
Prompt | Output generato |
---|---|
Senza prompt negativo: genera una breve animazione stilizzata di una grande quercia solitaria con le foglie mosse vigorosamente da un forte vento… [troncato] |
![]() |
Con prompt negativo: [Stesso prompt] Prompt negativo: sfondo urbano, strutture artificiali, atmosfera buia, tempestosa o minacciosa. |
![]() |
Proporzioni
Veo ti consente di specificare le proporzioni del video.
Prompt | Output generato |
---|---|
Widescreen (16:9) Crea un video con una vista da drone di un uomo che guida una decappottabile rossa a Palm Springs negli anni '70, con luce solare calda e ombre lunghe. |
![]() |
Verticale (9:16 - solo Veo 2) Crea un video che metta in evidenza il movimento fluido di una maestosa cascata hawaiana all'interno di una lussureggiante foresta pluviale. Concentrati sul flusso realistico dell'acqua, sul fogliame dettagliato e sull'illuminazione naturale per trasmettere tranquillità. Cattura l'acqua impetuosa, l'atmosfera nebbiosa e la luce del sole screziata che filtra attraverso la fitta chioma degli alberi. Utilizza movimenti di ripresa fluidi e cinematografici per mostrare la cascata e l'ambiente circostante. Punta a un tono tranquillo e realistico, trasportando lo spettatore nella serena bellezza della foresta pluviale hawaiana. |
![]() |
Limitazioni
- Latenza richiesta: min. 11 secondi; max. 6 minuti (durante le ore di punta).
- Limitazioni regionali:
personGeneration
è impostato per impostazione predefinita e accetta solodont_allow
nelle località di UE, Regno Unito, Svizzera e MENA. - Conservazione dei video:i video generati vengono memorizzati sul server per 2 giorni, dopodiché vengono rimossi. Per salvare una copia locale, devi scaricare il video entro 2 giorni dalla generazione.
- Filigrana: ai video creati da Veo viene applicata una filigrana utilizzando SynthID, il nostro strumento per l'applicazione di filigrane e l'identificazione di contenuti creati con l'AI.
- Sicurezza:i video generati vengono sottoposti a filtri di sicurezza e a processi di controllo della memorizzazione che contribuiscono a ridurre i rischi di privacy, copyright e pregiudizi.
- Errore audio:a volte Veo 3 impedisce la generazione di un video a causa di filtri di sicurezza o altri problemi di elaborazione dell'audio. Non ti verrà addebitato alcun costo se la generazione del video viene bloccata.
Versioni modello
Anteprima di Veo 3
Proprietà | Descrizione |
---|---|
Codice modello |
API Gemini
|
Tipi di dati supportati |
Ingresso Testo, immagine Output Video con audio |
Limiti di |
Inserimento di testo 1024 token Output video 1 |
Ultimo aggiornamento | Luglio 2025 |
Anteprima di Veo 3 Fast
Veo 3 Fast consente agli sviluppatori di creare video con audio mantenendo un'alta qualità e ottimizzando la velocità e i casi d'uso aziendali. È ideale per i servizi di backend che generano annunci in modo programmatico, per gli strumenti di test A/B rapidi dei concetti creativi o per le app che devono produrre rapidamente contenuti per i social media.Proprietà | Descrizione |
---|---|
Codice modello |
API Gemini
|
Tipi di dati supportati |
Ingresso Testo, immagine Output Video con audio |
Limiti di |
Inserimento di testo 1024 token Output video 1 |
Ultimo aggiornamento | Luglio 2025 |
Veo 2
Proprietà | Descrizione |
---|---|
Codice modello |
API Gemini
|
Tipi di dati supportati |
Ingresso Testo, immagine Output Video |
Limiti di |
Inserimento di testo N/D Input immagine Qualsiasi risoluzione e proporzione dell'immagine fino a una dimensione del file di 20 MB Output video Fino a 2 |
Ultimo aggiornamento | Aprile 2025 |
Passaggi successivi
- Sperimenta con Veo 3 in Guida rapida di Veo in Colab.
- Scopri come scrivere prompt ancora migliori con la nostra Introduzione alla progettazione dei prompt.