Modifier des vidéos

Vous pouvez utiliser Gemini Omni Flash pour modifier des vidéos à l'aide de la console Cloud de Confiance ou de l'API Agent Platform.

Les modèles suivants sont compatibles avec le montage vidéo :

Cliquer pour développer les modèles compatibles

Pour savoir comment rédiger des prompts textuels efficaces pour la génération de vidéos, consultez le guide sur les prompts pour la génération de vidéos.

Essayer Gemini Omni Flash dans Colab

Avant de commencer

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Enable the Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  3. Configurez l'authentification pour votre environnement.

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Cloud de Confiance pour accéder aux services et aux API Cloud de Confiance by S3NS , vous n'avez pas besoin de configurer l'authentification.

    REST

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

      Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.

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

Modifier des vidéos à l'aide de Gemini Omni Flash

Pour modifier des vidéos à l'aide de Gemini Omni Flash :

REST

La génération de la vidéo peut prendre plus d'une minute. Vous pouvez choisir parmi plusieurs modes d'interaction en fonction de votre workflow :

  • Synchrones : sans état : générez une vidéo en une seule requête sans conserver l'état de l'interaction sur le serveur.
  • Synchronisation : avec état : définissez store sur true pour conserver l'état de l'interaction, ce qui vous permet de récupérer le résultat ultérieurement ou de faire référence à l'ID d'interaction pour le montage vidéo en plusieurs étapes.
  • Synchrone : streaming avec état : définissez store et stream sur true pour recevoir les pensées du modèle de manière incrémentielle au fur et à mesure qu'elles sont générées, suivies de la vidéo de sortie.
  • Asynchrone : définissez background sur true pour exécuter la génération de vidéo en arrière-plan et récupérer le résultat ultérieurement à l'aide de l'ID d'interaction.

Les interactions stockées et asynchrones sont conservées pendant 14 jours maximum.

Pour en savoir plus sur l'utilisation de l'API Gemini Omni Flash, consultez API Interactions.

Synchrone : sans état

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

  • PROJECT_ID : chaîne représentant l'ID de votre projet Cloud de Confiance by S3NS .
  • MODEL_ID : chaîne représentant l'ID du modèle à utiliser. Les valeurs suivantes sont acceptées :
    • "gemini-omni-flash-preview"
    • "gemini-omni-1.1-flash-preview"
  • TEXT_PROMPT : prompt textuel utilisé pour guider la génération de vidéos.
  • CLOUD_STORAGE_VIDEO_URI : chaîne représentant le bucket Cloud Storage qui contient la vidéo d'entrée. Exemple : "gs://video-bucket/input/".
  • VIDEO_MIME : Chaîne représentant un type MIME vidéo. Voici les valeurs acceptées :
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • OUTPUT_RESOLUTION :

    Facultatif : chaîne représentant la résolution de sortie de la vidéo. Si aucune valeur n'est fournie, la sortie est définie par défaut sur 720p.

    gemini-omni-1.1-flash-preview accepte les valeurs suivantes :

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview n'est compatible qu'avec "720p".

  • CLOUD_STORAGE_OUTPUT_URI (facultatif) : chaîne représentant le 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/".

Méthode HTTP et URL :

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

Corps JSON de la requête :

{
  "model": "MODEL_ID",
  "input": [
    {
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "video",
      "uri": "CLOUD_STORAGE_VIDEO_URI",
      "mime_type": "VIDEO_MIME"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "output": "OUTPUT_RESOLUTION",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "edit"
    }
  }
}

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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

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

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
La réponse contient une interaction qui inclut les réflexions du modèle et une vidéo de sortie.
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type":"thought",
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "uri":"gs://some/output_path/123.mp4",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction",
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}

Synchrone : avec état

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

  • PROJECT_ID : chaîne représentant l'ID de votre projet Cloud de Confiance by S3NS .
  • MODEL_ID : chaîne représentant l'ID du modèle à utiliser. Les valeurs suivantes sont acceptées :
    • "gemini-omni-flash-preview"
    • "gemini-omni-1.1-flash-preview"
  • TEXT_PROMPT : prompt textuel utilisé pour guider la génération de vidéos.
  • CLOUD_STORAGE_VIDEO_URI : chaîne représentant le bucket Cloud Storage qui contient la vidéo d'entrée. Exemple : "gs://video-bucket/input/".
  • VIDEO_MIME : Chaîne représentant un type MIME vidéo. Voici les valeurs acceptées :
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • OUTPUT_RESOLUTION :

    Facultatif : chaîne représentant la résolution de sortie de la vidéo. Si aucune valeur n'est fournie, la sortie est définie par défaut sur 720p.

    gemini-omni-1.1-flash-preview accepte les valeurs suivantes :

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview n'est compatible qu'avec "720p".

  • CLOUD_STORAGE_OUTPUT_URI (facultatif) : chaîne représentant le 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/".

Méthode HTTP et URL :

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

Corps JSON de la requête :

{
  "model": "MODEL_ID",
  "background": false,
  "store": true,
  "stream": false,
  "input": [
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "TEXT_PROMPT"
        },
        {
          "type": "video",
          "uri": "CLOUD_STORAGE_VIDEO_URI",
          "mime_type": "VIDEO_MIME"
        }
      ]
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "resolution": "OUTPUT_RESOLUTION",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI"
    }
  ]
}

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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

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

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
La réponse contient une interaction qui inclut les réflexions du modèle et une vidéo de sortie.
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type":"thought",
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "uri":"gs://some/output_path/123.mp4",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction",
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}
Utilisez INTERACTION_ID pour obtenir la vidéo générée :

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

  • PROJECT_ID : chaîne représentant l'ID de votre projet Cloud de Confiance by S3NS .
  • INTERACTION_ID : ID d'interaction de la requête asynchrone.

Méthode HTTP et URL :

GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID

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

curl

Exécutez la commande suivante :

curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"

PowerShell

Exécutez la commande suivante :

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
La réponse est semblable à ce qui suit :
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "5 second, 9:16 video. Use the image as the first frame."
        },
        {
          "type": "image",
          "uri": "gs://some/path",
          "mime_type": "image/png"
        }
      ]
    },
    {
      "type":"thought"
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "data":"VIDEO DATA",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction"
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}

Synchrone : streaming avec état

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

  • PROJECT_ID : chaîne représentant l'ID de votre projet Cloud de Confiance by S3NS .
  • MODEL_ID : chaîne représentant l'ID du modèle à utiliser. Les valeurs suivantes sont acceptées :
    • "gemini-omni-flash-preview"
    • "gemini-omni-1.1-flash-preview"
  • TEXT_PROMPT : prompt textuel utilisé pour guider la génération de vidéos.
  • CLOUD_STORAGE_VIDEO_URI : chaîne représentant le bucket Cloud Storage qui contient la vidéo d'entrée. Exemple : "gs://video-bucket/input/".
  • VIDEO_MIME : Chaîne représentant un type MIME vidéo. Voici les valeurs acceptées :
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • OUTPUT_RESOLUTION :

    Facultatif : chaîne représentant la résolution de sortie de la vidéo. Si aucune valeur n'est fournie, la sortie est définie par défaut sur 720p.

    gemini-omni-1.1-flash-preview accepte les valeurs suivantes :

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview n'est compatible qu'avec "720p".

  • CLOUD_STORAGE_OUTPUT_URI (facultatif) : chaîne représentant le 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/".

Méthode HTTP et URL :

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

Corps JSON de la requête :

{
  "model": "MODEL_ID",
  "background": false,
  "store": true,
  "stream": true,
  "input": [
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "TEXT_PROMPT"
        },
        {
          "type": "video",
          "uri": "CLOUD_STORAGE_VIDEO_URI",
          "mime_type": "VIDEO_MIME"
        }
      ]
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "resolution": "OUTPUT_RESOLUTION",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI"
    }
  ]
}

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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

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

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
La réponse contient une interaction qui inclut les réflexions du modèle et une vidéo de sortie.
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}

event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}

event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}

event: step.stop
data: {"index":0,"event_type":"step.stop"}

event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}

event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.stop
data: {"index":1,"event_type":"step.stop"}

event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17812,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":415},"created":"2026-08-12T21:26:20Z","updated":"2026-08-12T21:26:20Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}

event: done
data: [DONE]
Utilisez INTERACTION_ID avec `?stream=true` pour diffuser l'interaction stockée et la vidéo générée :

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

  • PROJECT_ID : chaîne représentant l'ID de votre projet Cloud de Confiance by S3NS .
  • INTERACTION_ID : ID d'interaction de la requête.

Méthode HTTP et URL :

GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true

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

curl

Exécutez la commande suivante :

curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true"

PowerShell

Exécutez la commande suivante :

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true" | Select-Object -Expand Content
La réponse est un flux d'événements envoyés par le serveur (SSE) dans un format semblable à ce qui suit :
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}

event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}

event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}

event: step.stop
data: {"index":0,"event_type":"step.stop"}

event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}

event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.stop
data: {"index":1,"event_type":"step.stop"}

event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17664,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":267},"created":"2026-08-12T21:33:08Z","updated":"2026-08-12T21:33:08Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}

event: done
data: [DONE]

Asynchrone

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

  • PROJECT_ID : chaîne représentant l'ID de votre projet Cloud de Confiance by S3NS .
  • MODEL_ID : chaîne représentant l'ID du modèle à utiliser. Les valeurs suivantes sont acceptées :
    • "gemini-omni-1.1-flash-preview"
    • "gemini-omni-flash-preview"
  • TEXT_PROMPT : prompt textuel utilisé pour guider la génération de vidéos.
  • CLOUD_STORAGE_VIDEO_URI : chaîne représentant le bucket Cloud Storage qui contient la vidéo d'entrée. Exemple : "gs://video-bucket/input/".
  • VIDEO_MIME : Chaîne représentant un type MIME vidéo. Voici les valeurs acceptées :
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • OUTPUT_RESOLUTION :

    Facultatif : chaîne représentant la résolution de sortie de la vidéo. Si aucune valeur n'est fournie, la sortie est définie par défaut sur 720p.

    gemini-omni-1.1-flash-preview accepte les valeurs suivantes :

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview n'est compatible qu'avec "720p".

  • CLOUD_STORAGE_OUTPUT_URI (facultatif) : chaîne représentant le 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/".

Méthode HTTP et URL :

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

Corps JSON de la requête :

{
  "model": "MODEL_ID",
  "input": [
    {
      "background": true,
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "video",
      "uri": "CLOUD_STORAGE_VIDEO_URI",
      "mime_type": "VIDEO_MIME"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "resolution": "OUTPUT_RESOLUTION",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "edit"
    }
  }
}

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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

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

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
La réponse contient un ID d'interaction, que vous utiliserez pour obtenir la vidéo que vous avez générée.
{
  "id":"INTERACTION_ID",
  "status":"in_progress",
  "object":"interaction"
}
Utilisez ensuite INTERACTION_ID pour obtenir la vidéo générée :

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

  • PROJECT_ID : chaîne représentant l'ID de votre projet Cloud de Confiance by S3NS .
  • INTERACTION_ID : ID d'interaction de la requête asynchrone.

Méthode HTTP et URL :

GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID

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

curl

Exécutez la commande suivante :

curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"

PowerShell

Exécutez la commande suivante :

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
La réponse est semblable à ce qui suit :
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "5 second, 9:16 video. Use the image as the first frame."
        },
        {
          "type": "image",
          "uri": "gs://some/path",
          "mime_type": "image/png"
        }
      ]
    },
    {
      "type":"thought"
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "data":"VIDEO DATA",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction"
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}

Étapes suivantes