Utilizzare immagini di riferimento per guidare la generazione di video

Veo su Vertex AI ti consente di utilizzare immagini di riferimento con veo-2.0-generate-exp per guidare i contenuti e lo stile artistico del video generato. Quando utilizzi immagini di riferimento con Veo, puoi scegliere di utilizzare una delle seguenti opzioni:

  • Immagine dell'asset: fornisci fino a tre immagini di una singola persona, personaggio o prodotto. Veo preserva l'aspetto del soggetto nel video di output.

  • Immagine di stile: fornisci una singola immagine di stile. Veo applica lo stile dell'immagine caricata nel video di output.

Per ulteriori informazioni su come scrivere prompt di testo efficaci per la generazione di video, consulta la guida ai prompt di Veo.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Vertex AI API.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Enable the Vertex AI API.

    Enable the API

  6. Configura l'autenticazione per il tuo ambiente.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

    Utilizzare le immagini dei soggetti per generare video

    Segui questi passaggi:

    Console

    1. Nella console Google Cloud , vai alla pagina Vertex AI Studio > Media Studio.

      Media Studio

    2. Fai clic su Veo.

    3. Nel riquadro Impostazioni, seleziona le seguenti impostazioni:

      • Modello: seleziona veo-2.0-generate-exp.

      • Numero di risultati: regola il cursore o inserisci un valore compreso tra 1 e 4.

    4. Nella sezione Riferimento, seleziona Oggetto > fai clic su Aggiungi.

    5. Scegli da una a tre immagini sul tuo computer da caricare.

    6. (Facoltativo) Nella sezione Sicurezza, seleziona una delle seguenti impostazioni di generazione di persone:

      • Consenti (solo per adulti): valore predefinito. Genera solo persone o volti adulti. Non generare persone o volti di giovani o bambini.

      • Non consentire: non generare persone o volti.

    7. (Facoltativo) Nella sezione Opzioni avanzate, inserisci un valore Seed per randomizzare la generazione dei video.

    8. Nella casella Scrivi il prompt, inserisci il prompt di testo che descrive i video da generare.

    9. Fai clic su Genera.

    REST

    Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta all'endpoint del modello del publisher.

    Per saperne di più sull'API Veo, consulta la API Veo su Vertex AI.

    1. Utilizza i seguenti comandi per inviare una richiesta di generazione di video. Questa richiesta avvia un'operazione a lunga esecuzione e archivia l'output in un bucket Cloud Storage specificato.

      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-byte. 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"
      }
      

    2. (Facoltativo) Controlla lo stato dell'operazione a lunga esecuzione di generazione del video.

      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.

    Utilizzare immagini di stile per generare video

    Segui questi passaggi:

    Console

    1. Nella console Google Cloud , vai alla pagina Vertex AI Studio > Media Studio.

      Media Studio

    2. Fai clic su Veo.

    3. Nel riquadro Impostazioni, seleziona le seguenti impostazioni:

      • Modello: seleziona veo-2.0-generate-exp.

      • Numero di risultati: regola il cursore o inserisci un valore compreso tra 1 e 4.

    4. Nella sezione Riferimento, seleziona Stile > fai clic su Aggiungi.

    5. Scegli un'immagine sul computer da caricare.

    6. (Facoltativo) Nella sezione Sicurezza, seleziona una delle seguenti impostazioni di generazione di persone:

      • Consenti (solo per adulti): valore predefinito. Genera solo persone o volti adulti. Non generare persone o volti di giovani o bambini.

      • Non consentire: non generare persone o volti.

    7. (Facoltativo) Nella sezione Opzioni avanzate, inserisci un valore Seed per randomizzare la generazione dei video.

    8. Nella casella Scrivi il prompt, inserisci il prompt di testo che descrive i video da generare.

    9. Fai clic su Genera.

    REST

    Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta all'endpoint del modello del publisher.

    Per saperne di più sull'API Veo, consulta la API Veo su Vertex AI.

    1. Utilizza i seguenti comandi per inviare una richiesta di generazione di video. Questa richiesta avvia un'operazione a lunga esecuzione e archivia l'output in un bucket Cloud Storage specificato.

      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 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"
      }
      

    2. (Facoltativo) Controlla lo stato dell'operazione a lunga esecuzione di generazione del video.

      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.

    Passaggi successivi