Veo è il nome del modello che supporta la generazione di video. Veo genera un video da un prompt di testo o da un prompt di immagine fornito da te.
Per esplorare questo modello nella console, consulta la scheda del modello Video Generation
in
Model Garden.
Prova Veo su Vertex AI (Vertex AI Studio)
Richiedi l'accesso: funzionalità sperimentali
Modelli supportati
L'API Veo supporta i seguenti modelli:
Richiesta HTTP
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION}-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:predictLongRunning \
-d '{
"instances": [
{
"prompt": string,
// Optional. An image to guide video generation.
"image": {
// Union field can be only one of the following:
"bytesBase64Encoded": string,
"gcsUri": string,
// End of list of possible types for union field.
"mimeType": string
}
}
],
"parameters": {
"aspectRatio": string,
"negativePrompt": string,
"personGeneration": string,
"sampleCount": integer,
"seed": uint32,
"storageUri": string,
"durationSeconds": integer,
"enhancePrompt": boolean
}
}'
Utilizza i seguenti parametri per il modello Veo. Per ulteriori informazioni, consulta Creare video utilizzando prompt di testo e immagini con Veo.
Parametro | |
---|---|
|
Obbligatorio per la funzionalità da testo a video. Una stringa di testo per guidare i primi otto secondi del video. Ad esempio:
|
|
Obbligatorio per l'elaborazione di immagini in video. Un'immagine di input per guidare la generazione del video. Consigliamo un'immagine di 1280 x 720 pixel o 720 x 1280 pixel. Il valore sarà uno dei seguenti:
Se le proporzioni dell'immagine sono diverse, l'immagine viene ritagliata utilizzando uno strumento di ritaglio al centro. Se le proporzioni dell'immagine sono le stesse, ma la risoluzione è più elevata, l'immagine viene ridimensionata. |
durationSeconds |
Obbligatorio. La durata dei file video che vuoi generare.
I valori interi accettati sono |
negativePrompt |
Facoltativo. Una stringa di testo che descrive tutto ciò che vuoi scoraggiare il modello a generare. Ad esempio:
|
enhancePrompt |
Facoltativo. Utilizza Gemini per migliorare i tuoi prompt. I valori accettati sono |
seed |
Facoltativo. Un numero da richiedere per rendere deterministici i video generati. Se aggiungi un numero seed alla richiesta senza modificare altri parametri, il modello produrrà gli stessi video.
L'intervallo accettato è |
storageURI |
Facoltativo. Un URI del bucket Cloud Storage per archiviare il video di output nel formato
|
sampleCount |
Facoltativo. Il numero di immagini di output richieste. I valori accettati sono
|
aspectRatio |
Facoltativo. Definisce le proporzioni del video generato. Uno dei seguenti:
|
personGeneration |
Facoltativo. L'impostazione di sicurezza che controlla se è consentita la generazione di persone o volti. Il valore sarà uno dei seguenti:
|
generateAudio |
Obbligatorio per
|
Richiesta di esempio
Utilizza le seguenti richieste per inviare una richiesta di conversione di testo in video o di conversione di immagine in video:
Richiesta di generazione di video a partire da testo
REST
Per testare un prompt di testo utilizzando l'API Vertex AI Veo, invia una richiesta POST all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- MODEL_ID: l'ID modello da utilizzare. Valori disponibili:
veo-2.0-generate-001
(lista consentita di GA)veo-3.0-generate-preview
(anteprima)
- TEXT_PROMPT: il prompt di testo utilizzato per guidare la generazione del video.
- OUTPUT_STORAGE_URI: facoltativo: il bucket Cloud Storage per archiviare i video di output. Se non viene fornito, i byte del video vengono restituiti nella risposta. Ad esempio:
gs://video-bucket/output/
. - RESPONSE_COUNT: il numero di file video che vuoi generare. Valori interi accettati: 1-4.
- DURATION: la durata dei file video che vuoi generare. I valori interi accettati sono 5-8.
-
Parametri facoltativi aggiuntivi
Utilizza le seguenti variabili facoltative in base al tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri all'oggetto
"parameters": {}
."parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: stringa. Facoltativo. Definisce le proporzioni dei video
generati. Valori:
16:9
(predefinito, orizzontale) o9:16
(verticale). - NEGATIVE_PROMPT: stringa. Facoltativo. Una stringa di testo che descrive ciò che vuoi disincentivare il modello a generare.
- PERSON_SAFETY_SETTING: stringa. Facoltativo. L'impostazione di sicurezza che controlla se è consentita la generazione di persone o volti. Valori:
allow_adult
(valore predefinito): consenti la generazione solo di utenti adulti.disallow
: non è consentita l'inclusione di persone o volti nelle immagini.
- RESPONSE_COUNT: int. Facoltativo. Il numero di immagini di output richieste. Valori:
1
-4
. - SEED_NUMBER: uint32. Facoltativo. Un numero per rendere deterministici i video generati.
Se specifichi un numero seed con la richiesta senza modificare altri parametri, il modello produrrà gli stessi video. Valori:
0
-4294967295
.
- ASPECT_RATIO: stringa. Facoltativo. Definisce le proporzioni dei video
generati. Valori:
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning
Corpo JSON della richiesta:
{ "instances": [ { "prompt": "TEXT_PROMPT" } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": "RESPONSE_COUNT" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning" | Select-Object -Expand Content
{ "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8" }
Richiesta di generazione di video da immagini
REST
Per testare un prompt di testo utilizzando l'API Vertex AI Veo, invia una richiesta POST all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- MODEL_ID: l'ID modello da utilizzare. Valori disponibili:
veo-2.0-generate-001
(lista consentita di GA)veo-3.0-generate-preview
(anteprima)
- TEXT_PROMPT: il prompt di testo utilizzato per guidare la generazione del video.
- INPUT_IMAGE: stringa di byte con codifica Base64 che rappresenta l'immagine di input. Per garantire la qualità, l'immagine di input deve essere a 720p o superiore (1280 x 720 pixel) e avere proporzioni 16:9 o 9:16. Le immagini di proporzioni o dimensioni diverse potrebbero essere ridimensionate o ritagliate al centro durante la procedura di caricamento.
- MIME_TYPE: il tipo MIME dell'immagine di input. Sono supportate solo le immagini dei seguenti tipi MIME:
image/jpeg
oimage/png
. - OUTPUT_STORAGE_URI: facoltativo: il bucket Cloud Storage per archiviare i video di output. Se non viene fornito, i byte del video vengono restituiti nella risposta. Ad esempio:
gs://video-bucket/output/
. - RESPONSE_COUNT: il numero di file video che vuoi generare. Valori interi accettati: 1-4.
- DURATION: la durata dei file video che vuoi generare. I valori interi accettati sono 5-8.
-
Parametri facoltativi aggiuntivi
Utilizza le seguenti variabili facoltative in base al tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri all'oggetto
"parameters": {}
."parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: stringa. Facoltativo. Definisce le proporzioni dei video
generati. Valori:
16:9
(predefinito, orizzontale) o9:16
(verticale). - NEGATIVE_PROMPT: stringa. Facoltativo. Una stringa di testo che descrive ciò che vuoi disincentivare il modello a generare.
- PERSON_SAFETY_SETTING: stringa. Facoltativo. L'impostazione di sicurezza che controlla se è consentita la generazione di persone o volti. Valori:
allow_adult
(valore predefinito): consenti la generazione solo di utenti adulti.disallow
: non è consentita l'inclusione di persone o volti nelle immagini.
- RESPONSE_COUNT: int. Facoltativo. Il numero di immagini di output richieste. Valori:
1
-4
. - SEED_NUMBER: uint32. Facoltativo. Un numero per rendere deterministici i video generati.
Se specifichi un numero seed con la richiesta senza modificare altri parametri, il modello produrrà gli stessi video. Valori:
0
-4294967295
.
- ASPECT_RATIO: stringa. Facoltativo. Definisce le proporzioni dei video
generati. Valori:
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning
Corpo JSON della richiesta:
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "INPUT_IMAGE", "mimeType": "MIME_TYPE" } } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": RESPONSE_COUNT } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning" | Select-Object -Expand Content
{ "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8" }
Controlla lo stato dell'operazione a lunga esecuzione di generazione dei video
Controlla lo stato dell'operazione di generazione di video di lunga durata.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- MODEL_ID: l'ID modello da utilizzare. Valori disponibili:
veo-2.0-generate-001
(lista consentita di GA)veo-3.0-generate-preview
(anteprima)
- OPERATION_ID: l'ID operazione univoco restituito nella richiesta di generazione del video originale.
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation
Corpo JSON della richiesta:
{ "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation" | Select-Object -Expand Content
Corpo della risposta (richiesta di generazione di video)
L'invio di una richiesta di conversione di testo in video o di immagine in video restituisce la seguente risposta:
{
"name": string
}
Elemento Response | Descrizione |
---|---|
name |
Il nome completo dell'operazione a lunga esecuzione che inizia dopo l'invio di una richiesta di generazione di video. |
Risposta di esempio (richiesta di generazione di video)
{
"name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}
Corpo della risposta (operazione a lunga esecuzione del sondaggio)
Il polling dello stato dell'operazione a lunga esecuzione di generazione del video originale restituisce la seguente risposta:
{
"name": string,
"done": boolean,
"response":{
"@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
"generatedSamples":[
{
"video":
{
"uri": string,
"encoding": string
}
},
{
"video":
{
"uri": string,
"encoding": string
}
},
{
"video":
{
"uri": string,
"encoding": string
}
},
{
"video":
{
"uri": string,
"encoding": string
}
},
]
}
}
Elemento Response | Descrizione |
---|---|
name |
Il nome completo dell'operazione a lunga esecuzione che inizia dopo l'invio di una richiesta di generazione di video. |
done |
Un valore booleano che indica se l'operazione è completata. |
response |
Il corpo della risposta dell'operazione a lunga esecuzione. |
generatedSamples |
Un array di oggetti SampleVideo generati. |
video |
Il video generato. |
uri |
L'URI Cloud Storage del video generato. |
encoding |
Il tipo di codifica video. |
Risposta di esempio (operazione a lunga esecuzione con polling)
{
"name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID",
"done":true,
"response":{
"@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
"generatedSamples":[
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
"encoding":"video/mp4"
}
}
]
}
}
Ulteriori informazioni
- Per ulteriori informazioni sull'utilizzo di Veo su Vertex AI, consulta Generare video utilizzando prompt di testo e immagine con Veo.
Passaggi successivi
- Leggi le informazioni di Google DeepMind sul modello Veo.
- Leggi il post del blog "Veo e Imagen 3: annuncio di nuovi modelli di generazione di immagini e video su Vertex AI".
- Leggi il post del blog "Nuovi modelli e strumenti di media generativi, creati con e per i creator".