Vous pouvez utiliser Gemini Omni 1.2 Flash pour améliorer la résolution de vidéos (de 360p ou 720p à 720p, 1080p ou 4K) à l'aide de l'API Agent Platform. L'upscaling vidéo autonome vous permet d'itérer sur des requêtes à des résolutions inférieures et d'effectuer l'upscaling uniquement de la vidéo finale sélectionnée, soit à partir de l'étape précédente, soit à partir d'une vidéo générée précédemment et stockée dans Cloud Storage.
Les modèles suivants sont compatibles avec l'upscaling des vidéos :
Cliquez pour développer la liste des modèles compatibles
Résolutions et spécifications compatibles
L'upscaling vidéo autonome est compatible avec les transitions de résolution et les contraintes d'entrée suivantes :
- Vidéo d'entrée 360p : mise à l'échelle vers
720pou1080p. Il n'est pas possible d'effectuer une mise à l'échelle directement de360pà4kdans une seule requête. - Vidéo d'entrée 720p : mise à l'échelle vers
1080pou4k. La mise à l'échelle de1080pà4kn'est pas possible. - Formats :
16:9(paysage) ou9:16(portrait). - Fréquence d'images : 24 images par seconde (conservée dans la vidéo de sortie).
- Durée : jusqu'à 15 secondes.
- Utilisation des jetons et tarification : l'upscaling vidéo autonome contourne le raisonnement textuel et n'entraîne jamais de jetons d'entrée (
total_input_tokens: 0). Les jetons vidéo de sortie sont facturés au même prix que tous les autres jetons vidéo de sortie des tâches Omni 1.2 Flash, en fonction de la paire de résolutions source et cible (2,896jetons vidéo de sortie par seconde pour360pvers720pet720pvers1080p,5,792jetons vidéo de sortie par seconde pour360pvers1080p, et11,584jetons vidéo de sortie par seconde pour720pvers4k).
Exigences concernant les demandes
Lorsque vous envoyez une requête d'upscaling vidéo autonome, assurez-vous qu'elle répond aux exigences suivantes :
- Spécifiez
task: "upscale": vous devez définirgeneration_config.video_config.tasksur"upscale". Si vous ometteztask: "upscale", l'API interprète la requête comme une opération de montage vidéo ("edit"). - Spécifier un
resolutioncible : vous devez spécifier leresolutioncible ("720p","1080p"ou"4k") dansresponse_format. Si vous omettez la cibleresolution, une erreur est renvoyée. - Fournir une source vidéo : fournissez une vidéo d'entrée dans
input("type": "video") ou définissezprevious_interaction_idpour améliorer une vidéo générée lors du tour avec état immédiatement précédent. Dans les interactions multitours, seul le tour immédiatement précédent est pris en compte pour localiser la vidéo à améliorer. - Paramètres facultatifs : vous pouvez spécifier
generation_config.seedpour une sortie reproductible et associer des étiquettes de métadonnées personnalisées (labels) pour organiser les requêtes et suivre les coûts facturés.
Essayer Gemini Omni dans Colab
Avant de commencer
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
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 Google Cloud pour accéder aux services et aux API Google Cloud , 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.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à 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 Google Cloud .
Augmentez la résolution des vidéos avec Omni 1.2 Flash
Pour améliorer des vidéos à l'aide d'Omni 1.2 Flash, sélectionnez l'un des modes d'interaction suivants :
REST
L'upscaling vidéo peut prendre plus d'une minute. Vous avez le choix entre plusieurs modes d'interaction en fonction de votre workflow :
- Synchrone : sans état (vidéo importée) : définissez
storesurfalsepour améliorer une vidéo 360p ou 720p de Cloud Storage en une seule requête sans conserver l'état d'interaction sur le serveur. - Synchrone : avec état (tour précédent) : référencez l'
previous_interaction_iddu tour avec état immédiatement précédent pour améliorer une vidéo 360p ou 720p précédemment générée. - Synchrone : streaming avec état : définissez
storeetstreamsurtruepour diffuser les mises à jour de l'état de l'interaction et la vidéo de sortie. - Asynchrone : définissez
backgroundsurtruepour exécuter l'upscaling 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 sept jours maximum.
Pour en savoir plus sur l'utilisation des modèles Gemini Omni avec l'API Interactions, 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 Google Cloud . -
MODEL_ID: chaîne représentant l'ID du modèle à utiliser. Voici la valeur acceptée :"gemini-omni-1.2-flash"
-
CLOUD_STORAGE_VIDEO_URI: chaîne représentant l'URI Cloud Storage qui contient la vidéo d'entrée (360p ou 720p, jusqu'à 15 secondes). Par exemple :"gs://video-bucket/input/video.mp4". -
VIDEO_MIME: chaîne représentant un type MIME vidéo. Les valeurs suivantes sont acceptées :video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (facultatif) chaîne représentant le bucket Cloud Storage dans lequel stocker la vidéo upscalée. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Exemple :"gs://video-bucket/output/". -
OUTPUT_RESOLUTION: obligatoire. Chaîne représentant la résolution de sortie cible. Les valeurs acceptées dépendent de la résolution de la vidéo d'entrée :- Pour les vidéos d'entrée 360p :
"720p"ou"1080p" - Pour les vidéos d'entrée en 720p :
"1080p"ou"4k"
- Pour les vidéos d'entrée 360p :
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",
"store": false,
"input": [
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
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
{
"id": "INTERACTION_ID",
"model": "gemini-omni-1.2-flash",
"status": "completed",
"usage": {
"total_tokens": 28960,
"total_input_tokens": 0,
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28960
}
],
"total_output_tokens": 28960
},
"steps": [
{
"type": "model_output",
"content": [
{
"type": "video",
"uri": "gs://some/output_path/123.mp4",
"mime_type": "video/mp4"
}
]
}
],
"object": "interaction",
"role": "model",
"created": "2026-11-05T02:17:56Z",
"updated": "2026-11-05T02: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 Google Cloud . -
MODEL_ID: chaîne représentant l'ID du modèle à utiliser. Voici la valeur acceptée :"gemini-omni-1.2-flash"
-
PREVIOUS_INTERACTION_ID: ID d'interaction du tour avec état immédiatement précédent qui a généré une vidéo 360p ou 720p (jusqu'à 15 secondes). -
CLOUD_STORAGE_OUTPUT_URI: (facultatif) chaîne représentant le bucket Cloud Storage dans lequel stocker la vidéo upscalée. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Exemple :"gs://video-bucket/output/". -
OUTPUT_RESOLUTION: obligatoire. Chaîne représentant la résolution de sortie cible. Les valeurs acceptées dépendent de la résolution vidéo de l'étape précédente :- Pour les vidéos 360p :
"720p"ou"1080p" - Pour les vidéos 720p :
"1080p"ou"4k"
- Pour les vidéos 360p :
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",
"previous_interaction_id": "PREVIOUS_INTERACTION_ID",
"background": false,
"store": true,
"stream": false,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Upsample video."
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
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
{
"id": "INTERACTION_ID",
"previous_interaction_id": "PREVIOUS_INTERACTION_ID",
"model": "gemini-omni-1.2-flash",
"status": "completed",
"usage": {
"total_tokens": 28960,
"total_input_tokens": 0,
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28960
}
],
"total_output_tokens": 28960
},
"steps": [
{
"type": "model_output",
"content": [
{
"type": "video",
"uri": "gs://some/output_path/123.mp4",
"mime_type": "video/mp4"
}
]
}
],
"object": "interaction",
"role": "model",
"created": "2026-11-05T02:17:56Z",
"updated": "2026-11-05T02:17:56Z"
}
INTERACTION_ID pour obtenir la vidéo amélioré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 Google Cloud . -
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
{
"id":"INTERACTION_ID",
"model":"gemini-omni-1.2-flash",
"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 Google Cloud . -
MODEL_ID: chaîne représentant l'ID du modèle à utiliser. Voici la valeur acceptée :"gemini-omni-1.2-flash"
-
CLOUD_STORAGE_VIDEO_URI: chaîne représentant l'URI Cloud Storage qui contient la vidéo d'entrée (360p ou 720p, jusqu'à 15 secondes). Par exemple :"gs://video-bucket/input/video.mp4". -
VIDEO_MIME: chaîne représentant un type MIME vidéo. Les valeurs suivantes sont acceptées :video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (facultatif) chaîne représentant le bucket Cloud Storage dans lequel stocker la vidéo upscalée. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Exemple :"gs://video-bucket/output/". -
OUTPUT_RESOLUTION: obligatoire. Chaîne représentant la résolution de sortie cible. Les valeurs acceptées dépendent de la résolution de la vidéo d'entrée :- Pour les vidéos d'entrée 360p :
"720p"ou"1080p" - Pour les vidéos d'entrée en 720p :
"1080p"ou"4k"
- Pour les vidéos d'entrée 360p :
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": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
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
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-1.2-flash"},"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":"model_output"},"event_type":"step.start"}
event: step.delta
data: {"index":0,"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":0,"event_type":"step.stop"}
event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":28960,"total_input_tokens":0,"total_output_tokens":28960,"output_tokens_by_modality":[{"modality":"video","tokens":28960}]},"created":"2026-11-05T21:26:20Z","updated":"2026-11-05T21:26:20Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-1.2-flash"},"event_id":"EVENT_ID","event_type":"interaction.completed"}
event: done
data: [DONE]
INTERACTION_ID avec "?stream=true" pour diffuser l'interaction stockée et la vidéo amélioré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 Google Cloud . -
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
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-1.2-flash"},"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-1.2-flash"},"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 Google Cloud . -
MODEL_ID: chaîne représentant l'ID du modèle à utiliser. Voici la valeur acceptée :"gemini-omni-1.2-flash"
-
CLOUD_STORAGE_VIDEO_URI: chaîne représentant l'URI Cloud Storage qui contient la vidéo d'entrée (360p ou 720p, jusqu'à 15 secondes). Par exemple :"gs://video-bucket/input/video.mp4". -
VIDEO_MIME: chaîne représentant un type MIME vidéo. Les valeurs suivantes sont acceptées :video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (facultatif) chaîne représentant le bucket Cloud Storage dans lequel stocker la vidéo upscalée. Si cette valeur n'est pas fournie, les octets vidéo sont renvoyés dans la réponse. Exemple :"gs://video-bucket/output/". -
OUTPUT_RESOLUTION: obligatoire. Chaîne représentant la résolution de sortie cible. Les valeurs acceptées dépendent de la résolution de la vidéo d'entrée :- Pour les vidéos d'entrée 360p :
"720p"ou"1080p" - Pour les vidéos d'entrée en 720p :
"1080p"ou"4k"
- Pour les vidéos d'entrée 360p :
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": true,
"input": [
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
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
{
"id": "INTERACTION_ID",
"status": "in_progress",
"object": "interaction"
}
INTERACTION_ID pour obtenir la vidéo mise à l'échelle :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
-
PROJECT_ID: chaîne représentant l'ID de votre projet Google Cloud . -
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
{
"id":"INTERACTION_ID",
"model":"gemini-omni-1.2-flash",
"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"
}