API di generazione video Veo su Vertex AI

Veo è il nome del modello che supporta la generazione di video. Veo genera un video da un prompt di testo o un prompt di immagine che fornisci. Per saperne di più su Veo, consulta la panoramica della generazione di video con Veo.

Per esplorare questo modello nella console, consulta la scheda del modello Video Generation in Model Garden.

Prova Veo su Vertex AI (Vertex AI Studio)

Prova Veo in Colab

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,
      "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
      },
      "lastFrame": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "video": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "referenceImages": [
        // A list of up to three asset images or at most one style image for the
        // model to use when generating videos.
        //
        // referenceImages is supported by veo-2.0-generate-exp in Preview
        {
        "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
        },
        "referenceType": string
        }
      ]
    }
  ],
  "parameters": {
    "aspectRatio": string,
    "compressionQuality": string,
    "durationSeconds": integer,
    "enhancePrompt": boolean,
    "generateAudio": boolean,
    "negativePrompt": string,
    "personGeneration": string,
    "resolution": string, // Veo 3 models only
    "sampleCount": integer,
    "seed": uint32,
    "storageUri": string
  }
}'

Istanze

Istanze

prompt

string

Obbligatorio per la funzionalità da testo a video.
Facoltativo se viene fornito un prompt di input dell'immagine (da immagine a video).

Una stringa di testo per guidare i primi otto secondi del video. Ad esempio:

  • Una ripresa in rapido movimento attraverso una distesa distopica brulicante con insegne al neon luminose, auto volanti e nebbia, di notte, con flare e illuminazione volumetrica
  • Un ologramma al neon di un'auto che viaggia alla massima velocità, alla velocità della luce, cinematografico, dettagli incredibili, illuminazione volumetrica
  • Molte meduse maculate pulsano sott'acqua. Il loro corpo è trasparente e luminoso nell'oceano profondo
  • Primo piano estremo con profondità di campo ridotta di una pozzanghera in una strada. che riflette una frenetica città futuristica di Tokyo con insegne al neon luminose, di notte, con bagliore della lente
  • Timelapse dell'aurora boreale che danza nel cielo artico, stelle che brillano, paesaggio innevato
  • Un cowboy solitario cavalca il suo cavallo attraverso una pianura aperta al tramonto, con luce soffusa e colori caldi
image

Campo Unione

Facoltativo. Un'immagine per guidare la generazione del video, che può essere una stringa bytesBase64Encoded che codifica un'immagine o una stringa URI gcsUri che rimanda a una posizione del bucket Cloud Storage.

lastFrame

Campo Unione

Facoltativo. Un'immagine del primo fotogramma di un video per riempire lo spazio intermedio. lastFrame può essere una stringa bytesBase64Encoded che codifica un'immagine o una stringa URI gcsUri a una posizione del bucket Cloud Storage.

lastFrame è supportato solo da veo-2.0-generate-001.

video

Campo Unione

Facoltativo. Un video generato da Veo da estendere in lunghezza, che può essere una stringa bytesBase64Encoded che codifica un video o una stringa URI gcsUri che rimanda a una posizione del bucket Cloud Storage.

video è supportato solo da veo-2.0-generate-001.

referenceImages

list[referenceImages]

Facoltativo. Un elenco di massimo tre immagini di asset o al massimo un'immagine di stile che descrive lo referenceImages che il modello deve utilizzare per generare i video.

referenceImages è supportato da veo-2.0-generate-exp in anteprima.

referenceImages.image

Campo Unione

Facoltativo. Contiene le immagini di riferimento per veo-2.0-generate-exp da utilizzare come input per l'argomento. Ogni immagine può essere una stringa bytesBase64Encoded che codifica un'immagine o una stringa gcsUri URI di una posizione del bucket Cloud Storage.

referenceImages.referenceType

string

Obbligatorio in un oggetto referenceImages. Specifica il tipo di immagine di riferimento fornita. Sono supportati i seguenti valori:

  • "asset": l'immagine di riferimento fornisce asset per il video generato, ad esempio la scena, un oggetto o un personaggio.
  • "style": L'immagine di riferimento fornisce informazioni sullo stile per i video generati, ad esempio: colori della scena, illuminazione o texture.
bytesBase64Encoded

string

Una stringa con codifica base64 di un file immagine o video. Utilizzato con i seguenti oggetti:

gcsUri

string

Una stringa URI che indica la posizione di un bucket Cloud Storage. Utilizzato con i seguenti oggetti:

mimeType

string

Obbligatorio per i seguenti oggetti:

Specifica il tipo MIME di un video o di un'immagine.

Per le immagini, sono accettati i seguenti tipi MIME:

  • image/jpeg
  • image/png

Per i video, sono accettati i seguenti tipi MIME:

  • video/mp4

Parametri

Parametri
aspectRatio

string

Facoltativo. Specifica le proporzioni dei video generati. I seguenti sono valori accettati:

  • 16:9 (valore predefinito)
  • 9:16
compressionQuality

string

Facoltativo. Specifica la qualità di compressione dei video generati. I valori accettati sono "optimized" o "lossless".

Il valore predefinito è "optimized".

durationSeconds

integer

Obbligatorio. La durata in secondi dei file video che vuoi generare.

I valori accettati sono i seguenti:

  • veo-2.0-generate-001: 5-8. Il valore predefinito è 8.
  • veo-3.0-generate-preview: 8.
  • Quando utilizzi referenceImages: 8.
enhancePrompt

boolean

Facoltativo. Utilizza Gemini per migliorare i tuoi prompt. I valori accettati sono true o false. Il valore predefinito è true.

enhancePrompt non è supportato da veo-3.0-generate-001 o veo-3.0-fast-generate-001.

generateAudio

boolean

Obbligatorio per veo-3.0-generate-preview. Genera l'audio per il video. I valori accettati sono true o false.

generateAudio non è supportato da veo-2.0-generate-001 o veo-2.0-generate-exp.

negativePrompt

string

Facoltativo. Una stringa di testo che descrive tutto ciò che vuoi scoraggiare il modello a generare. Ad esempio:

  • illuminazione dall'alto, colori vivaci
  • persone, animali
  • più auto, vento
personGeneration

string

Facoltativo. L'impostazione di sicurezza che controlla se è consentita la generazione di persone o volti. Il valore sarà uno dei seguenti:

  • allow_adult (valore predefinito): consente la generazione di solo adulti
  • dont_allow: non consente l'inclusione di persone/volti nelle immagini
resolution

string

Facoltativo. Solo modelli Veo 3. La risoluzione del video generato. I valori accettati sono 720p (predefinito) o 1080p.

sampleCount

int

Facoltativo. Il numero di video di output richiesti. I valori accettati sono 1-4.

seed

uint32

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 è 0-4,294,967,295.

storageUri

string

Facoltativo. Un URI bucket Cloud Storage per archiviare il video di output, nel formato gs://BUCKET_NAME/SUBDIRECTORY. Se non viene fornito un bucket Cloud Storage, nella risposta vengono restituiti i byte video codificati in base64.

Richieste di esempio

Utilizza i seguenti esempi per creare la tua richiesta di video:

Richiesta di generazione di video 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: Una stringa che rappresenta il tuo Google Cloud ID progetto.
  • MODEL_ID: una stringa che rappresenta l'ID modello da utilizzare. I seguenti sono valori accettati:
    • "veo-2.0-generate-001"
    • "veo-3.0-generate-001"
    • "veo-3.0-fast-generate-001"
    • "veo-3.0-generate-preview" (anteprima)
    • "veo-3.0-fast-generate-preview" (anteprima)
  • TEXT_PROMPT: il prompt di testo utilizzato per guidare la generazione del video.
  • OUTPUT_STORAGE_URI: (Facoltativo) Una stringa che rappresenta il bucket Cloud Storage in cui archiviare i video di output. Se non vengono forniti, i byte video vengono restituiti nella risposta. Ad esempio: "gs://video-bucket/output/".
  • RESPONSE_COUNT: Il numero di file video da generare. L'intervallo di valori accettato è 1-4.
  • DURATION: Un numero intero che rappresenta la durata dei file video generati. Di seguito sono riportati i valori accettati per ogni modello:
    • Modelli Veo 2: 5-8
    • Modelli Veo 3: 8
  • Parametri facoltativi aggiuntivi

    Utilizza le seguenti variabili facoltative a seconda del tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri nell'oggetto "parameters": {}.

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: (Facoltativo) Un valore stringa che descrive le proporzioni dei video generati. Puoi utilizzare i seguenti valori:
      • "16:9" per l'orientamento orizzontale
      • "9:16" per il formato verticale

      Il valore predefinito è "16:9"

    • NEGATIVE_PROMPT: (Facoltativo) una stringa che descrive i contenuti che vuoi impedire al modello di generare.
    • PERSON_SAFETY_SETTING: (Facoltativo) Un valore stringa che controlla l'impostazione di sicurezza per la generazione di persone o volti. Puoi utilizzare i seguenti valori:
      • "allow_adult": Consente solo la generazione di persone e volti adulti.
      • "disallow": Non genera persone o volti.

      Il valore predefinito è "allow_adult".

    • RESOLUTION: (Facoltativo) Un valore stringa che controlla la risoluzione del video generato. Supportato solo dai modelli Veo 3. Puoi utilizzare i seguenti valori:
      • "720p"
      • "1080p"

      Il valore predefinito è "720p".

    • RESPONSE_COUNT: Facoltativo. Un valore intero che descrive il numero di video da generare. L'intervallo di valori accettato è 1-4.
    • SEED_NUMBER: Facoltativo. Un valore uint32 che il modello utilizza per generare video deterministici. Se specifichi un numero seed nella richiesta senza modificare altri parametri, il modello genererà gli stessi video. L'intervallo di valori accettati è 0-4294967295.

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 di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, ed esegui questo comando:

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, ed esegui questo comando:

$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
Questa richiesta restituisce un nome completo dell'operazione con un ID operazione univoco. Utilizza questo nome completo dell'operazione per eseguire il polling dello stato della richiesta di generazione del video.
{
  "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: Una stringa che rappresenta il tuo Google Cloud ID progetto.
  • MODEL_ID: una stringa che rappresenta l'ID modello da utilizzare. I seguenti sono valori accettati:
    • veo-2.0-generate-001 (GA)
    • veo-3.0-generate-preview (anteprima)
  • TEXT_PROMPT: il prompt di testo utilizzato per guidare la generazione del video.
  • INPUT_IMAGE: una stringa codificata in base64 che rappresenta l'immagine di input. Per una qualità ottimale, ti consigliamo che la risoluzione dell'immagine di input sia 720p (1280 x 720 pixel) o superiore e che abbia proporzioni 16:9 o 9:16. Le immagini con proporzioni o dimensioni diverse potrebbero essere ridimensionate o ritagliate centralmente al momento del caricamento.
  • MIME_TYPE: una stringa che rappresenta il tipo MIME dell'immagine di input. Sono supportate solo le immagini dei seguenti tipi MIME:
    • "image/jpeg"
    • "image/png"
  • OUTPUT_STORAGE_URI: (Facoltativo) Una stringa che rappresenta il bucket Cloud Storage in cui archiviare i video di output. Se non vengono forniti, i byte video vengono restituiti nella risposta. Ad esempio: "gs://video-bucket/output/".
  • RESPONSE_COUNT: Il numero di file video da generare. L'intervallo di valori accettato è 1-4.
  • DURATION: Un numero intero che rappresenta la durata dei file video generati. Di seguito sono riportati i valori accettati per ogni modello:
    • Modelli Veo 2: 5-8
    • Modelli Veo 3: 8
  • Parametri facoltativi aggiuntivi

    Utilizza le seguenti variabili facoltative a seconda del tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri nell'oggetto "parameters": {}.

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: (Facoltativo) Un valore stringa che descrive le proporzioni dei video generati. Puoi utilizzare i seguenti valori:
      • "16:9" per l'orientamento orizzontale
      • "9:16" per il formato verticale

      Il valore predefinito è "16:9"

    • NEGATIVE_PROMPT: (Facoltativo) una stringa che descrive i contenuti che vuoi impedire al modello di generare.
    • PERSON_SAFETY_SETTING: (Facoltativo) Un valore stringa che controlla l'impostazione di sicurezza per la generazione di persone o volti. Puoi utilizzare i seguenti valori:
      • "allow_adult": Consente solo la generazione di persone e volti adulti.
      • "disallow": Non genera persone o volti.

      Il valore predefinito è "allow_adult".

    • RESOLUTION: (Facoltativo) Un valore stringa che controlla la risoluzione del video generato. Supportato solo dai modelli Veo 3. Puoi utilizzare i seguenti valori:
      • "720p"
      • "1080p"

      Il valore predefinito è "720p".

    • RESPONSE_COUNT: Facoltativo. Un valore intero che descrive il numero di video da generare. L'intervallo di valori accettato è 1-4.
    • SEED_NUMBER: Facoltativo. Un valore uint32 che il modello utilizza per generare video deterministici. Se specifichi un numero seed nella richiesta senza modificare altri parametri, il modello genererà gli stessi video. L'intervallo di valori accettati è 0-4294967295.

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 di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, ed esegui questo comando:

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, ed esegui questo comando:

$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
Questa richiesta restituisce un nome completo dell'operazione con un ID operazione univoco. Utilizza questo nome completo dell'operazione per eseguire il polling dello stato della richiesta di generazione del video.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Richiesta video che utilizza le immagini degli asset

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.
  • TEXT_PROMPT: il prompt di testo utilizzato per guidare la generazione del video.
  • BASE64_ENCODED_IMAGE: un'immagine soggetto codificata in base64. Puoi ripetere questo campo e mimeType per specificare fino a tre immagini del soggetto.
  • IMAGE_MIME_TYPE: il tipo MIME dell'immagine di input. Solo uno dei seguenti documenti:

    • image/jpeg
    • image/png

    Puoi ripetere questo campo e bytesBase64Encoded per specificare fino a tre immagini del soggetto.

  • OUTPUT_STORAGE_URI: (Facoltativo) Il bucket Cloud Storage in cui archiviare i video di output. Se non fornito, nella risposta viene restituito un video codificato in Base64. Ad esempio: gs://video-bucket/output/.
  • RESPONSE_COUNT: il numero di file video che vuoi generare. Valori interi accettati: 1-4.
  • Parametri facoltativi aggiuntivi

    Utilizza le seguenti variabili facoltative a seconda del tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri nell'oggetto "parameters": {}.

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: (Facoltativo) Un valore stringa che descrive le proporzioni dei video generati. Puoi utilizzare i seguenti valori:
      • "16:9" per l'orientamento orizzontale
      • "9:16" per il formato verticale

      Il valore predefinito è "16:9"

    • NEGATIVE_PROMPT: (Facoltativo) una stringa che descrive i contenuti che vuoi impedire al modello di generare.
    • PERSON_SAFETY_SETTING: (Facoltativo) Un valore stringa che controlla l'impostazione di sicurezza per la generazione di persone o volti. Puoi utilizzare i seguenti valori:
      • "allow_adult": Consente solo la generazione di persone e volti adulti.
      • "disallow": Non genera persone o volti.

      Il valore predefinito è "allow_adult".

    • RESOLUTION: (Facoltativo) Un valore stringa che controlla la risoluzione del video generato. Supportato solo dai modelli Veo 3. Puoi utilizzare i seguenti valori:
      • "720p"
      • "1080p"

      Il valore predefinito è "720p".

    • RESPONSE_COUNT: Facoltativo. Un valore intero che descrive il numero di video da generare. L'intervallo di valori accettato è 1-4.
    • SEED_NUMBER: Facoltativo. Un valore uint32 che il modello utilizza per generare video deterministici. Se specifichi un numero seed nella richiesta senza modificare altri parametri, il modello genererà gli stessi video. L'intervallo di valori accettati è 0-4294967295.

Metodo HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

Corpo JSON della richiesta:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      // The following fields can be repeated for up to three total
      // images.
      "referenceImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_ENCODED_IMAGE",
            "mimeType": "IMAGE_MIME_TYPE"
          },
          "referenceType": "asset"
        }
      ]
    }
  ],
  "parameters": {
    "durationSeconds": 8,
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": RESPONSE_COUNT
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, ed esegui questo comando:

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/veo-2.0-generate-001:predictLongRunning"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, ed esegui questo comando:

$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/veo-2.0-generate-001:predictLongRunning" | Select-Object -Expand Content
Questa richiesta restituisce un nome completo dell'operazione con un ID operazione univoco. Utilizza questo nome completo dell'operazione per eseguire il polling dello stato della richiesta di generazione del video.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Richiesta video utilizzando un'immagine di stile

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.
  • TEXT_PROMPT: il prompt di testo utilizzato per guidare la generazione del video.
  • BASE64_ENCODED_IMAGE: Un'immagine di stile codificata in base64-byte.
  • IMAGE_MIME_TYPE: il tipo MIME dell'immagine di input. Solo uno dei seguenti:
    • image/jpeg
    • image/png
  • OUTPUT_STORAGE_URI: (Facoltativo) Il bucket Cloud Storage in cui archiviare i video di output. Se non forniti, 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.
  • Parametri facoltativi aggiuntivi

    Utilizza le seguenti variabili facoltative a seconda del tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri nell'oggetto "parameters": {}.

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: (Facoltativo) Un valore stringa che descrive le proporzioni dei video generati. Puoi utilizzare i seguenti valori:
      • "16:9" per l'orientamento orizzontale
      • "9:16" per il formato verticale

      Il valore predefinito è "16:9"

    • NEGATIVE_PROMPT: (Facoltativo) una stringa che descrive i contenuti che vuoi impedire al modello di generare.
    • PERSON_SAFETY_SETTING: (Facoltativo) Un valore stringa che controlla l'impostazione di sicurezza per la generazione di persone o volti. Puoi utilizzare i seguenti valori:
      • "allow_adult": Consente solo la generazione di persone e volti adulti.
      • "disallow": Non genera persone o volti.

      Il valore predefinito è "allow_adult".

    • RESOLUTION: (Facoltativo) Un valore stringa che controlla la risoluzione del video generato. Supportato solo dai modelli Veo 3. Puoi utilizzare i seguenti valori:
      • "720p"
      • "1080p"

      Il valore predefinito è "720p".

    • RESPONSE_COUNT: Facoltativo. Un valore intero che descrive il numero di video da generare. L'intervallo di valori accettato è 1-4.
    • SEED_NUMBER: Facoltativo. Un valore uint32 che il modello utilizza per generare video deterministici. Se specifichi un numero seed nella richiesta senza modificare altri parametri, il modello genererà gli stessi video. L'intervallo di valori accettati è 0-4294967295.

Metodo HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

Corpo JSON della richiesta:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_ENCODED_IMAGE",
            "mimeType": "IMAGE_MIME_TYPE"
          },
          "referenceType": "style"
        }
      ]
    }
  ],
  "parameters": {
    "durationSeconds": 8,
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": RESPONSE_COUNT
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, ed esegui questo comando:

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/veo-2.0-generate-001:predictLongRunning"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, ed esegui questo comando:

$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/veo-2.0-generate-001:predictLongRunning" | Select-Object -Expand Content
Questa richiesta restituisce un nome completo dell'operazione con un ID operazione univoco. Utilizza questo nome completo dell'operazione per eseguire il polling dello stato della richiesta di generazione del video.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Estrai lo stato dell'operazione a lunga esecuzione di generazione video

Controlla lo stato dell'operazione a lunga esecuzione di generazione del video.

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.
  • OPERATION_ID: L'ID operazione univoco restituito nella richiesta di generazione 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 di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, ed esegui questo comando:

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, ed esegui questo comando:

$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
Questa richiesta restituisce informazioni sull'operazione, ad esempio se è ancora in esecuzione o è stata completata.

Corpo della risposta (richiesta di generazione video)

L'invio di una richiesta di conversione da testo a video o da immagine a video restituisce la seguente risposta:

{
  "name": string
}
Elemento di risposta Descrizione
name Il nome completo dell'operazione a lunga esecuzione che inizia dopo l'invio di una richiesta di generazione video.

Esempio di risposta (richiesta di generazione di video)

{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}

Corpo della risposta (polling su operazione a lunga esecuzione)

Il polling dello stato dell'operazione a lunga esecuzione di generazione del video originale restituisce una risposta simile alla seguente:

{
   "name": string,
   "done": boolean,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "raiMediaFilteredCount": integer,
      "videos":[
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
      ]
   }
}
Elemento di risposta Descrizione
bytesBase64Encoded Una stringa con codifica Base64 che rappresenta l'oggetto video.
done Un valore booleano che indica se l'operazione è completata.
encoding Il tipo di codifica video.
gcsUri L'URI Cloud Storage del video generato.
name Il nome completo dell'operazione a lunga esecuzione che inizia dopo l'invio di una richiesta di generazione di video.
raiMediaFilteredCount Restituisce il conteggio dei video filtrati da Veo a causa delle norme sull'AI responsabile. Se non vengono filtrati video, il conteggio restituito è 0.
raiMediaFilteredReasons Elenca i motivi per cui i video di Veo sono stati filtrati a causa delle norme sull'AI responsabile. Per ulteriori informazioni, consulta Categorie di codici del filtro di sicurezza.
response Il corpo della risposta dell'operazione a lunga esecuzione.
video Il video generato.

Esempio di risposta (polling su operazione a lunga esecuzione)

{
   "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",
      "raiMediaFilteredCount": 0,
      "videos":[
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
          "mimeType":"video/mp4"
        }
      ]
   }
}

Ulteriori informazioni

Passaggi successivi