Veo | Générateur de vidéos IA

Vous pouvez utiliser Veo sur Vertex AI pour générer de nouvelles vidéos à partir d'une requête de texte ou d'image que vous fournissez dans la console Google Cloud ou envoyer une requête à l'API Vertex AI.

Essayer Veo sur Vertex AI Media Studio

Essayer Veo dans Colab

Demander l'accès aux fonctionnalités avancées et à la liste d'attente Veo

Versions de modèle

Vous pouvez utiliser plusieurs modèles de génération de vidéos. Pour en savoir plus, consultez la section Modèles Veo.

Emplacements

Un emplacement est une région que vous pouvez spécifier dans une requête pour déterminer où les données sont stockées au repos. Pour obtenir la liste des régions disponibles, consultez IA générative sur les emplacements Vertex AI.

Une IA responsable

Veo génère des vidéos réalistes et de haute qualité à partir de requêtes en langage naturel contenant du texte et des images, y compris des images de personnes de tous âges. Veo peut afficher un message d'erreur indiquant que votre projetGoogle Cloud doit être approuvé pour la génération de personnes ou d'enfants, en fonction du contexte de votre requête textuelle ou d'image.

Si vous avez besoin d'une approbation, contactez votre responsable de compte Google.

Avant de commencer

  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. Configurez l'authentification pour votre environnement.

    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

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Google Cloud authentification.

    Générer des vidéos à partir de texte

    Vous pouvez générer des vidéos inédites en n'utilisant que du texte descriptif comme entrée. Dans les exemples suivants, vous trouverez les instructions de base pour générer des vidéos.

    Console

    1. Dans la console Google Cloud , accédez à la page Vertex AI Studio > Media Studio.

      Media Studio

    2. Cliquez sur Vidéo.

    3. (Facultatif) Dans le volet Paramètres, configurez les paramètres suivants :

      • Modèle : sélectionnez un modèle parmi les options disponibles.
      • Format : choisissez 16:9 ou 9:16.

      • Nombre de résultats : ajustez le curseur ou saisissez une valeur comprise entre 1 et 4.

      • Durée de la vidéo: sélectionnez une durée comprise entre 5 secondes et 8 secondes.

      • Répertoire de sortie : cliquez sur Parcourir pour créer ou sélectionner un bucket Cloud Storage afin d'y stocker les fichiers de sortie.

    4. Facultatif : dans la section Sécurité, sélectionnez l'un des paramètres de génération de personnes suivants :

      • Autoriser (adultes uniquement) : valeur par défaut. Permet de générer uniquement des personnes ou des visages adultes. Ne permet pas de générer des visages ni des personnes représentant des enfants ou des adolescents.

      • Ne pas autoriser : ne permet pas de générer des personnes ni des visages.

    5. Facultatif : dans la section Options avancées, saisissez une valeur de graine pour générer des vidéos aléatoires.

    6. Dans la zone Écrivez votre requête, saisissez votre requête textuelle décrivant les vidéos à générer.

    7. Cliquez sur Générer.

    REST

    Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester un prompt textuel. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.

    Pour en savoir plus sur l'API Veo, consultez la page API Veo sur Vertex AI.

    1. Utilisez la commande suivante pour envoyer une requête de génération de vidéo. Cette requête lance une opération de longue durée et stocke le résultat dans un bucket Cloud Storage que vous spécifiez.

      Avant d'utiliser les données de requête, effectuez les remplacements suivants :

      • PROJECT_ID : ID de votre projet Google Cloud .
      • MODEL_ID : ID du modèle à utiliser. Valeurs disponibles :
        • veo-2.0-generate-001 (GA)
        • veo-3.0-generate-preview (Bêta)
      • TEXT_PROMPT : requête textuelle utilisée pour guider la génération de vidéos.
      • OUTPUT_STORAGE_URI : (facultatif) bucket Cloud Storage dans lequel stocker les vidéos de sortie. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Par exemple : gs://video-bucket/output/.
      • RESPONSE_COUNT : nombre de fichiers vidéo que vous souhaitez générer. Valeurs entières acceptées : 1 - 4.
      • DURATION : durée des fichiers vidéo que vous souhaitez générer. Valeurs entières acceptées : 5 - 8.
      • Paramètres facultatifs supplémentaires

        Utilisez les variables facultatives suivantes en fonction de votre cas d'utilisation. Ajoutez l'ensemble ou une partie des paramètres suivants dans l'objet "parameters": {}.

        "parameters": {
          "aspectRatio": "ASPECT_RATIO",
          "negativePrompt": "NEGATIVE_PROMPT",
          "personGeneration": "PERSON_SAFETY_SETTING",
          "sampleCount": RESPONSE_COUNT,
          "seed": SEED_NUMBER
        }
        • ASPECT_RATIO : chaîne. Paramètre facultatif. Définit le format des vidéos générées. Valeurs : 16:9 (par défaut, format paysage) ou 9:16 (format portrait).
        • NEGATIVE_PROMPT : chaîne. Paramètre facultatif. Chaîne de texte décrivant ce que vous ne souhaitez pas que le modèle génère.
        • PERSON_SAFETY_SETTING : chaîne. Paramètre facultatif. Paramètre de sécurité qui détermine si la génération de personnes ou de visages est autorisée. Valeurs :
          • allow_adult (valeur par défaut) : autorise uniquement la génération d'adultes.
          • disallow : interdit l'inclusion de personnes ou de visages dans les images.
        • RESPONSE_COUNT : entier. Paramètre facultatif. Nombre d'images de sortie demandées. Valeurs : 1 - 4.
        • SEED_NUMBER : uint32. Paramètre facultatif. Nombre permettant de rendre les vidéos générées déterministes. Si vous spécifiez un numéro source avec votre requête sans modifier d'autres paramètres, vous indiquez au modèle de produire les mêmes vidéos. Valeurs : 0 - 4294967295.

      Méthode HTTP et URL :

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

      Corps JSON de la requête :

      {
        "instances": [
          {
            "prompt": "TEXT_PROMPT"
          }
        ],
        "parameters": {
          "storageUri": "OUTPUT_STORAGE_URI",
          "sampleCount": "RESPONSE_COUNT"
        }
      }
      

      Pour envoyer votre requête, choisissez l'une des options suivantes :

      curl

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      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

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      $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
      Cette requête renvoie un nom d'opération complet avec un ID d'opération unique. Utilisez ce nom d'opération complet pour interroger l'état de la demande de génération de vidéo.
      {
        "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
      }
      

    2. Facultatif : vérifiez l'état de l'opération de longue durée de génération de la vidéo.

      Avant d'utiliser les données de requête, effectuez les remplacements suivants :

      • PROJECT_ID : ID de votre projet Google Cloud .
      • MODEL_ID : ID du modèle à utiliser. Valeurs disponibles :
        • veo-2.0-generate-001 (GA)
        • veo-3.0-generate-preview (Bêta)
      • OPERATION_ID : ID d'opération unique renvoyé dans la requête de génération de vidéo d'origine.

      Méthode HTTP et URL :

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation

      Corps JSON de la requête :

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

      Pour envoyer votre requête, choisissez l'une des options suivantes :

      curl

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      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

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      $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
      Cette requête renvoie des informations sur l'opération, y compris si elle est toujours en cours d'exécution ou si elle est terminée.

    Gen AI SDK for Python

    Installer

    pip install --upgrade google-genai

    Pour en savoir plus, lisez la documentation de référence du SDK.

    Définissez les variables d'environnement pour utiliser le SDK Gen AI avec Vertex AI :

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    import time
    from google import genai
    from google.genai.types import GenerateVideosConfig
    
    client = genai.Client()
    
    # TODO(developer): Update and un-comment below line
    # output_gcs_uri = "gs://your-bucket/your-prefix"
    
    operation = client.models.generate_videos(
        model="veo-3.0-generate-preview",
        prompt="a cat reading a book",
        config=GenerateVideosConfig(
            aspect_ratio="16:9",
            output_gcs_uri=output_gcs_uri,
        ),
    )
    
    while not operation.done:
        time.sleep(15)
        operation = client.operations.get(operation)
        print(operation)
    
    if operation.response:
        print(operation.result.generated_videos[0].video.uri)
    
    # Example response:
    # gs://your-bucket/your-prefix

    Générer des vidéos à partir d'une image

    Exemple d'entrée Exemple de sortie
    1. Image d'entrée1
      Fichier PNG d'entrée d'un éléphant fait au crochet
    2. Requête textuelle : l'éléphant se déplace naturellement

    Vidéo de sortie d'un éléphant fait au crochet

    1 Image générée à l'aide d'Imagen sur Vertex AI à partir de la requête suivante: Un éléphant, fait au crochet avec des motifs complexes, marchant dans la savane

    Vous pouvez générer des vidéos inédites en n'utilisant qu'une image, ou une image et un texte descriptif comme entrées. Dans les exemples suivants, vous trouverez les instructions de base pour générer des vidéos à partir d'images et de texte.

    Console

    1. Dans la console Google Cloud , accédez à la page Vertex AI Studio > Media Studio.

      Media Studio

    2. Cliquez sur Vidéo.

    3. (Facultatif) Dans le volet Paramètres, configurez les paramètres suivants :

      • Modèle : sélectionnez un modèle parmi les options disponibles.
      • Format : choisissez 16:9 ou 9:16.

      • Nombre de résultats : ajustez le curseur ou saisissez une valeur comprise entre 1 et 4.

      • Durée de la vidéo: sélectionnez une durée comprise entre 5 secondes et 8 secondes.

      • Répertoire de sortie : cliquez sur Parcourir pour créer ou sélectionner un bucket Cloud Storage afin d'y stocker les fichiers de sortie.

    4. Facultatif : dans la section Sécurité, sélectionnez l'un des paramètres de génération de personnes suivants :

      • Autoriser (adultes uniquement) : valeur par défaut. Permet de générer uniquement des personnes ou des visages adultes. Ne permet pas de générer des visages ni des personnes représentant des enfants ou des adolescents.

      • Ne pas autoriser : ne permet pas de générer des personnes ni des visages.

    5. Facultatif : dans la section Options avancées, saisissez une valeur de graine pour générer des vidéos aléatoires.

    6. Dans la zone Écrivez votre requête, cliquez sur Importer.

    7. Sélectionnez une image locale à importer, puis cliquez sur Sélectionner.

    8. Dans la zone Écrivez votre requête, saisissez votre requête textuelle décrivant les vidéos à générer.

    9. Cliquez sur Générer.

    REST

    Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester un prompt textuel. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.

    Pour en savoir plus sur l'API Veo, consultez la page API Veo sur Vertex AI.

    1. Utilisez la commande suivante pour envoyer une requête de génération de vidéo. Cette requête lance une opération de longue durée et stocke le résultat dans un bucket Cloud Storage que vous spécifiez.

      Avant d'utiliser les données de requête, effectuez les remplacements suivants :

      • PROJECT_ID : ID de votre projet Google Cloud .
      • MODEL_ID : ID du modèle à utiliser. Valeurs disponibles :
        • veo-2.0-generate-001 (GA)
        • veo-3.0-generate-preview (Bêta)
      • TEXT_PROMPT : requête textuelle utilisée pour guider la génération de vidéos.
      • INPUT_IMAGE : chaîne d'octets encodée en base64 représentant l'image d'entrée. Pour que le résultat soit de qualité, l'image d'entrée doit avoir une résolution d'au moins 720p (1 280 x 720 pixels) et être au format 16:9 ou 9:16. Les images de formats ou de tailles différents peuvent être redimensionnées ou recadrées au centre lors du processus d'importation.
      • MIME_TYPE : type MIME de l'image d'entrée. Seules les images des types MIME suivants sont acceptées : image/jpeg ou image/png.
      • OUTPUT_STORAGE_URI : (facultatif) bucket Cloud Storage dans lequel stocker les vidéos de sortie. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Par exemple : gs://video-bucket/output/.
      • RESPONSE_COUNT : nombre de fichiers vidéo que vous souhaitez générer. Valeurs entières acceptées : 1 - 4.
      • DURATION : durée des fichiers vidéo que vous souhaitez générer. Valeurs entières acceptées : 5 - 8.
      • Paramètres facultatifs supplémentaires

        Utilisez les variables facultatives suivantes en fonction de votre cas d'utilisation. Ajoutez l'ensemble ou une partie des paramètres suivants dans l'objet "parameters": {}.

        "parameters": {
          "aspectRatio": "ASPECT_RATIO",
          "negativePrompt": "NEGATIVE_PROMPT",
          "personGeneration": "PERSON_SAFETY_SETTING",
          "sampleCount": RESPONSE_COUNT,
          "seed": SEED_NUMBER
        }
        • ASPECT_RATIO : chaîne. Paramètre facultatif. Définit le format des vidéos générées. Valeurs : 16:9 (par défaut, format paysage) ou 9:16 (format portrait).
        • NEGATIVE_PROMPT : chaîne. Paramètre facultatif. Chaîne de texte décrivant ce que vous ne souhaitez pas que le modèle génère.
        • PERSON_SAFETY_SETTING : chaîne. Paramètre facultatif. Paramètre de sécurité qui détermine si la génération de personnes ou de visages est autorisée. Valeurs :
          • allow_adult (valeur par défaut) : autorise uniquement la génération d'adultes.
          • disallow : interdit l'inclusion de personnes ou de visages dans les images.
        • RESPONSE_COUNT : entier. Paramètre facultatif. Nombre d'images de sortie demandées. Valeurs : 1 - 4.
        • SEED_NUMBER : uint32. Paramètre facultatif. Nombre permettant de rendre les vidéos générées déterministes. Si vous spécifiez un numéro source avec votre requête sans modifier d'autres paramètres, vous indiquez au modèle de produire les mêmes vidéos. Valeurs : 0 - 4294967295.

      Méthode HTTP et URL :

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

      Corps JSON de la requête :

      {
        "instances": [
          {
            "prompt": "TEXT_PROMPT",
            "image": {
              "bytesBase64Encoded": "INPUT_IMAGE",
              "mimeType": "MIME_TYPE"
            }
          }
        ],
        "parameters": {
          "storageUri": "OUTPUT_STORAGE_URI",
          "sampleCount": RESPONSE_COUNT
        }
      }
      

      Pour envoyer votre requête, choisissez l'une des options suivantes :

      curl

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      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

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      $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
      Cette requête renvoie un nom d'opération complet avec un ID d'opération unique. Utilisez ce nom d'opération complet pour interroger l'état de la demande de génération de vidéo.
      {
        "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
      }
      

    2. Facultatif : vérifiez l'état de l'opération de longue durée de génération de la vidéo.

      Avant d'utiliser les données de requête, effectuez les remplacements suivants :

      • PROJECT_ID : ID de votre projet Google Cloud .
      • MODEL_ID : ID du modèle à utiliser. Valeurs disponibles :
        • veo-2.0-generate-001
      • TEXT_PROMPT : requête textuelle utilisée pour guider la génération de vidéos.
      • OUTPUT_STORAGE_URI : (facultatif) bucket Cloud Storage dans lequel stocker les vidéos de sortie. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Par exemple : gs://video-bucket/output/.
      • RESPONSE_COUNT : nombre de fichiers vidéo que vous souhaitez générer. Valeurs entières acceptées : 1 - 4.
      • Paramètres facultatifs supplémentaires

        Utilisez les variables facultatives suivantes en fonction de votre cas d'utilisation. Ajoutez l'ensemble ou une partie des paramètres suivants dans l'objet "parameters": {}.

        "parameters": {
          "aspectRatio": "ASPECT_RATIO",
          "negativePrompt": "NEGATIVE_PROMPT",
          "personGeneration": "PERSON_SAFETY_SETTING",
          "sampleCount": RESPONSE_COUNT,
          "seed": SEED_NUMBER
        }
        • ASPECT_RATIO : chaîne. Paramètre facultatif. Définit le format des vidéos générées. Valeurs : 16:9 (par défaut, format paysage) ou 9:16 (format portrait).
        • NEGATIVE_PROMPT : chaîne. Paramètre facultatif. Chaîne de texte décrivant ce que vous ne souhaitez pas que le modèle génère.
        • PERSON_SAFETY_SETTING : chaîne. Paramètre facultatif. Paramètre de sécurité qui détermine si la génération de personnes ou de visages est autorisée. Valeurs :
          • allow_adult (valeur par défaut) : autorise uniquement la génération d'adultes.
          • disallow : interdit l'inclusion de personnes ou de visages dans les images.
        • RESPONSE_COUNT : entier. Paramètre facultatif. Nombre d'images de sortie demandées. Valeurs : 1 - 4.
        • SEED_NUMBER : uint32. Paramètre facultatif. Nombre permettant de rendre les vidéos générées déterministes. Si vous spécifiez un numéro source avec votre requête sans modifier d'autres paramètres, vous indiquez au modèle de produire les mêmes vidéos. Valeurs : 0 - 4294967295.

      Méthode HTTP et URL :

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

      Corps JSON de la requête :

      {
        "instances": [
          {
            "prompt": "TEXT_PROMPT"
          }
        ],
        "parameters": {
          "storageUri": "OUTPUT_STORAGE_URI",
          "sampleCount": "RESPONSE_COUNT"
        }
      }
      

      Pour envoyer votre requête, choisissez l'une des options suivantes :

      curl

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      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

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      $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
      Cette requête renvoie un nom d'opération complet avec un ID d'opération unique. Utilisez ce nom d'opération complet pour interroger l'état de la demande de génération de vidéo.
      {
        "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
      }
      

    Gen AI SDK for Python

    Installer

    pip install --upgrade google-genai

    Pour en savoir plus, lisez la documentation de référence du SDK.

    Définissez les variables d'environnement pour utiliser le SDK Gen AI avec Vertex AI :

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    import time
    from google import genai
    from google.genai.types import GenerateVideosConfig, Image
    
    client = genai.Client()
    
    # TODO(developer): Update and un-comment below line
    # output_gcs_uri = "gs://your-bucket/your-prefix"
    
    operation = client.models.generate_videos(
        model="veo-3.0-generate-preview",
        image=Image(
            gcs_uri="gs://cloud-samples-data/generative-ai/image/flowers.png",
            mime_type="image/png",
        ),
        config=GenerateVideosConfig(
            aspect_ratio="16:9",
            output_gcs_uri=output_gcs_uri,
        ),
    )
    
    while not operation.done:
        time.sleep(15)
        operation = client.operations.get(operation)
        print(operation)
    
    if operation.response:
        print(operation.result.generated_videos[0].video.uri)
    
    # Example response:
    # gs://your-bucket/your-prefix

    Outil de reformulation de requêtes

    Veo propose un outil d'amélioration des requêtes basé sur un LLM, également appelé outil de réécriture de requêtes. Le réécrivain de requêtes vous permet de réécrire vos requêtes pour ajouter une description vidéo, des mouvements de caméra, une transcription et des effets sonores. Si vous rédigez des requêtes plus détaillées, vous obtiendrez des vidéos de meilleure qualité.

    Si vous désactivez l'amélioration de la requête, la qualité des vidéos et la ressemblance du résultat avec la requête que vous avez fournie peuvent être affectées. Cette fonctionnalité est activée par défaut pour les versions de modèle suivantes:

    • veo-2.0-generate-001
    • veo-3.0-generate-preview (Preview)

      .

    La requête reformulée n'est envoyée par la réponse de l'API que si la requête d'origine contient moins de 30 mots.

    Pour désactiver l'amélioration des requêtes, procédez comme suit:

    Console

    1. Dans la console Google Cloud , accédez à la page Vertex AI Studio > Media Studio.

      Accéder à Media Studio

    2. Cliquez sur Veo.

    3. Dans Settings (Paramètres), cliquez sur l'option Enable prompt enhancement (Activer l'amélioration des requêtes).

    4. Dans la zone Rédigez votre requête, saisissez votre requête, puis cliquez sur Générer.

    REST

    Pour en savoir plus sur l'API Veo, consultez la page API Veo sur Vertex AI.

    1. Utilisez la commande suivante pour envoyer une requête de génération de vidéo. Cette requête lance une opération de longue durée et stocke le résultat dans un bucket Cloud Storage que vous spécifiez.

      Avant d'utiliser les données de requête, effectuez les remplacements suivants :

      • PROJECT_ID : ID de votre projet Google Cloud .
      • MODEL_ID : ID du modèle à utiliser. Valeurs disponibles :
        • veo-2.0-generate-001 (DG avec liste d'autorisation).
        • veo-3.0-generate-preview (Bêta)
      • TEXT_PROMPT : requête textuelle utilisée pour guider la génération de vidéos.
      • OUTPUT_STORAGE_URI : (facultatif) bucket Cloud Storage dans lequel stocker les vidéos de sortie. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Exemple : gs://video-bucket/output/.
      • RESPONSE_COUNT : nombre de fichiers vidéo que vous souhaitez générer. Valeurs entières acceptées : 1 à 4.
      • DURATION : durée des fichiers vidéo que vous souhaitez générer. Valeurs entières acceptées : 5 à 8.
      • ENHANCED_PROMPT: indique si les requêtes améliorées doivent être utilisées ou non. Vous pouvez utiliser l'une des méthodes suivantes :
        • True: (par défaut) utilisez Gemini pour améliorer vos requêtes.
        • False: n'utilisez pas Gemini pour améliorer vos requêtes.
      • Paramètres facultatifs supplémentaires

        Utilisez les variables facultatives suivantes en fonction de votre cas d'utilisation. Ajoutez l'ensemble ou une partie des paramètres suivants dans l'objet "parameters": {}.

        "parameters": {
          "aspectRatio": "ASPECT_RATIO",
          "negativePrompt": "NEGATIVE_PROMPT",
          "personGeneration": "PERSON_SAFETY_SETTING",
          "sampleCount": RESPONSE_COUNT,
          "seed": SEED_NUMBER
        }
        • ASPECT_RATIO : chaîne. Paramètre facultatif. Définit le format des vidéos générées. Valeurs : 16:9 (par défaut, format paysage) ou 9:16 (format portrait).
        • NEGATIVE_PROMPT : chaîne. Paramètre facultatif. Chaîne de texte décrivant ce que vous ne souhaitez pas que le modèle génère.
        • PERSON_SAFETY_SETTING : chaîne. Paramètre facultatif. Paramètre de sécurité qui détermine si la génération de personnes ou de visages est autorisée. Valeurs :
          • allow_adult (valeur par défaut) : autorise uniquement la génération d'adultes.
          • disallow : interdit l'inclusion de personnes ou de visages dans les images.
        • RESPONSE_COUNT : entier. Paramètre facultatif. Nombre d'images de sortie demandées. Valeurs : 1 - 4.
        • SEED_NUMBER : uint32. Paramètre facultatif. Nombre permettant de rendre les vidéos générées déterministes. Si vous spécifiez un numéro source avec votre requête sans modifier d'autres paramètres, vous indiquez au modèle de produire les mêmes vidéos. Valeurs : 0 - 4294967295.

      Méthode HTTP et URL :

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

      Corps JSON de la requête :

      {
        "instances": [
          {
            "prompt": "TEXT_PROMPT"
          }
        ],
        "parameters": {
          "storageUri": "OUTPUT_STORAGE_URI",
          "sampleCount": "RESPONSE_COUNT",
          "durationSeconds": "DURATION",
          "enhancePrompt": ENHANCED_PROMPT
        }
      }
      

      Pour envoyer votre requête, choisissez l'une des options suivantes :

      curl

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      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

      Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

      $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
      Cette requête renvoie un nom d'opération complet avec un ID d'opération unique. Utilisez ce nom d'opération complet pour interroger l'état de la demande de génération de vidéo.
      {
        "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
      }
      

    Étapes suivantes