根據參考內容生成影片

您可以在 Gemini Enterprise Agent Platform 使用 Gemini Omni Flash 或 Veo,參考圖像或影片來生成影片。

下列模型支援參考圖片:

Gemini Omni Flash

Gemini Omni Flash 可讓您使用參考圖像或影片,在生成影片時為模型提供額外輸入內容。

按一下即可展開支援的模型

Veo

Gemini Enterprise Agent Platform 的 Veo 可讓您使用參考主體圖片,引導生成影片。最多提供三張同一個人、角色或產品的圖片。 Veo 會在輸出影片中保留主體的外觀。

按一下即可展開支援的機型

如要進一步瞭解如何撰寫有效的文字提示詞來生成影片,請參閱影片生成提示詞指南。

在 Colab 試用 Gemini Omni Flash

事前準備

  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. 設定環境的驗證機制。

    請根據您打算如何使用本頁範例,選取對應的分頁標籤:

    控制台

    使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,不需要設定驗證。

    Python

    如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。

    1. 安裝 Google Cloud CLI。

    2. 設定 gcloud CLI,使用您的聯合身分。

      詳情請參閱「 使用聯合身分登入 gcloud CLI」。

    3. 為使用者帳戶建立本機驗證憑證:

      gcloud auth application-default login

      如果傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「 為本機開發環境設定 ADC」。

    REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」一節。

使用 Gemini Omni Flash 和參考資料生成影片

REST

影片生成作業可能需要超過一分鐘才能完成。您可以根據工作流程選擇下列幾種互動模式:

  • 同步:無狀態:在單一要求中生成影片,不必在伺服器上保留互動狀態。
  • 同步:有狀態:將 store 設為 true,即可保留互動狀態,方便您日後擷取結果,或參考互動 ID 進行多輪影片編輯。
  • 同步:有狀態的串流:將 store 和 stream 都設為 true,即可在模型生成想法時逐步接收,然後接收輸出影片。
  • 非同步:將 background 設為 true,在背景執行影片生成作業,並在稍後使用互動 ID 擷取結果。

儲存和非同步互動資料最多會保留 14 天。

如要進一步瞭解如何使用 Gemini Omni Flash API,請參閱「Interactions API」。

同步:無狀態

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:代表 Cloud de Confiance by S3NS 專案 ID 的字串。
  • MODEL_ID:代表要使用的模型 ID 的字串。可接受的值如下:
    • "gemini-omni-1.1-flash-preview"
  • TEXT_PROMPT:用來引導影片生成的文字提示詞。
  • CLOUD_STORAGE_IMAGE_URI:代表 Cloud Storage bucket 的字串,其中包含輸入圖片。例如:"gs://video-bucket/input/"。
  • IMAGE_MIME: 代表圖片 MIME 類型的字串。可接受的值如下:
    • image/png
    • image/jpeg
    • image/webp
    • image/heic
    • image/heif
  • CLOUD_STORAGE_VIDEO_URI:代表 Cloud Storage bucket 的字串,其中包含輸入影片。例如:"gs://video-bucket/input/"。
  • VIDEO_MIME: 代表影片 MIME 類型的字串。可接受的值如下:
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • CLOUD_STORAGE_OUTPUT_URI:選用。代表 Cloud Storage bucket 的字串,用於儲存輸出影片。如未提供,回應中會傳回影片位元組。 例如:"gs://video-bucket/output/"。
  • ASPECT_RATIO: 選用:代表輸出影片預期顯示比例的字串。如未提供,系統會根據提示推斷顯示比例。 可接受的值如下:
    • "16:9"
    • "9:16"
  • OUTPUT_RESOLUTION:

    選用:代表影片輸出解析度的字串。如未提供,輸出內容預設為 720p。

    gemini-omni-1.1-flash-preview 支援下列值:

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

    gemini-omni-flash-preview 僅支援 "720p"。

  • DURATION:代表生成影片檔案長度的字串。允許的字串為 3 到 10 之間的整數,後接「s」代表秒數。例如 "10s"。

HTTP 方法和網址:

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

JSON 要求內文:

{
  "model": "MODEL_ID",
  "input": [
    {
      "type": "text",
      "text": "TEXT_PROMPT Use the image(s) as references to
      generate the video."
    },
    {
      "type": "image",
      "uri": "CLOUD_STORAGE_IMAGE_URI",
      "mime_type": "IMAGE_MIME"
    },
    {
      "type": "video",
      "uri": "CLOUD_STORAGE_VIDEO_URI",
      "mime_type": "VIDEO_MIME"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "resolution": "OUTPUT_RESOLUTION",
      "duration": "DURATION"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "reference_to_video"
    }
  }
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

同步:有狀態

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:代表 Cloud de Confiance by S3NS 專案 ID 的字串。
  • MODEL_ID:代表要使用的模型 ID 的字串。可接受的值如下:
    • "gemini-omni-1.1-flash-preview"
  • TEXT_PROMPT:用來引導影片生成的文字提示詞。
  • CLOUD_STORAGE_IMAGE_URI:代表 Cloud Storage bucket 的字串,其中包含輸入圖片。例如:"gs://video-bucket/input/"。
  • IMAGE_MIME: 代表圖片 MIME 類型的字串。可接受的值如下:
    • image/png
    • image/jpeg
    • image/webp
    • image/heic
    • image/heif
  • CLOUD_STORAGE_VIDEO_URI:代表 Cloud Storage bucket 的字串,其中包含輸入影片。例如:"gs://video-bucket/input/"。
  • VIDEO_MIME: 代表影片 MIME 類型的字串。可接受的值如下:
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • CLOUD_STORAGE_OUTPUT_URI:選用。代表 Cloud Storage bucket 的字串,用於儲存輸出影片。如未提供,回應中會傳回影片位元組。 例如:"gs://video-bucket/output/"。
  • ASPECT_RATIO: 選用:代表輸出影片預期顯示比例的字串。如未提供,系統會根據提示推斷顯示比例。 可接受的值如下:
    • "16:9"
    • "9:16"
  • OUTPUT_RESOLUTION:

    選用:代表影片輸出解析度的字串。如未提供,輸出內容預設為 720p。

    gemini-omni-1.1-flash-preview 支援下列值:

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

    gemini-omni-flash-preview 僅支援 "720p"。

  • DURATION:代表生成影片檔案長度的字串。允許的字串為 3 到 10 之間的整數,後接「s」代表秒數。例如 "10s"。

HTTP 方法和網址:

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

JSON 要求內文:

{
  "model": "MODEL_ID",
  "background": false,
  "store": true,
  "stream": false,
  "input": [
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "TEXT_PROMPT Use the image(s) as references to generate the video."
        },
        {
          "type": "image",
          "uri": "CLOUD_STORAGE_IMAGE_URI",
          "mime_type": "IMAGE_MIME"
        },
        {
          "type": "video",
          "uri": "CLOUD_STORAGE_VIDEO_URI",
          "mime_type": "VIDEO_MIME"
        }
      ]
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "resolution": "OUTPUT_RESOLUTION",
      "duration": "DURATION"
    }
  ]
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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-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",
}
使用 INTERACTION_ID 取得生成的影片:

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:代表 Cloud de Confiance by S3NS 專案 ID 的字串。
  • INTERACTION_ID:非同步要求的互動 ID。

HTTP 方法和網址:

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

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

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

PowerShell

執行下列指令:

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

同步:有狀態串流

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:代表 Cloud de Confiance by S3NS 專案 ID 的字串。
  • MODEL_ID:代表要使用的模型 ID 的字串。可接受的值如下:
    • "gemini-omni-1.1-flash-preview"
  • TEXT_PROMPT:用來引導影片生成的文字提示詞。
  • CLOUD_STORAGE_IMAGE_URI:代表 Cloud Storage bucket 的字串,其中包含輸入圖片。例如:"gs://video-bucket/input/"。
  • IMAGE_MIME: 代表圖片 MIME 類型的字串。可接受的值如下:
    • image/png
    • image/jpeg
    • image/webp
    • image/heic
    • image/heif
  • CLOUD_STORAGE_VIDEO_URI:代表 Cloud Storage bucket 的字串,其中包含輸入影片。例如:"gs://video-bucket/input/"。
  • VIDEO_MIME: 代表影片 MIME 類型的字串。可接受的值如下:
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • CLOUD_STORAGE_OUTPUT_URI:選用。代表 Cloud Storage bucket 的字串,用於儲存輸出影片。如未提供,回應中會傳回影片位元組。 例如:"gs://video-bucket/output/"。
  • ASPECT_RATIO: 選用:代表輸出影片預期顯示比例的字串。如未提供,系統會根據提示推斷顯示比例。 可接受的值如下:
    • "16:9"
    • "9:16"
  • OUTPUT_RESOLUTION:

    選用:代表影片輸出解析度的字串。如未提供,輸出內容預設為 720p。

    gemini-omni-1.1-flash-preview 支援下列值:

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

    gemini-omni-flash-preview 僅支援 "720p"。

  • DURATION:代表生成影片檔案長度的字串。允許的字串為 3 到 10 之間的整數,後接「s」代表秒數。例如 "10s"。

HTTP 方法和網址:

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

JSON 要求內文:

{
  "model": "MODEL_ID",
  "background": false,
  "store": true,
  "stream": true,
  "input": [
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "TEXT_PROMPT Use the image(s) as references to generate the video."
        },
        {
          "type": "image",
          "uri": "CLOUD_STORAGE_IMAGE_URI",
          "mime_type": "IMAGE_MIME"
        },
        {
          "type": "video",
          "uri": "CLOUD_STORAGE_VIDEO_URI",
          "mime_type": "VIDEO_MIME"
        }
      ]
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "resolution": "OUTPUT_RESOLUTION",
      "duration": "DURATION"
    }
  ]
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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-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]
使用 INTERACTION_ID 和 `?stream=true` 串流儲存的互動和生成的影片:

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:代表 Cloud de Confiance by S3NS 專案 ID 的字串。
  • INTERACTION_ID:要求中的互動 ID。

HTTP 方法和網址:

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

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

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

PowerShell

執行下列指令:

$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
回應是伺服器傳送事件 (SSE) 串流,格式類似於:
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]

非同步

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:代表 Cloud de Confiance by S3NS 專案 ID 的字串。
  • MODEL_ID:代表要使用的模型 ID 的字串。可接受的值如下:
    • "gemini-omni-1.1-flash-preview"
  • TEXT_PROMPT:用來引導影片生成的文字提示詞。
  • CLOUD_STORAGE_IMAGE_URI:代表 Cloud Storage bucket 的字串,其中包含輸入圖片。例如:"gs://video-bucket/input/"。
  • IMAGE_MIME: 代表圖片 MIME 類型的字串。可接受的值如下:
    • image/png
    • image/jpeg
    • image/webp
    • image/heic
    • image/heif
  • CLOUD_STORAGE_VIDEO_URI:代表 Cloud Storage bucket 的字串,其中包含輸入影片。例如:"gs://video-bucket/input/"。
  • VIDEO_MIME: 代表影片 MIME 類型的字串。可接受的值如下:
    • video/3gpp
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-ms-wmv
  • CLOUD_STORAGE_OUTPUT_URI:選用。代表 Cloud Storage bucket 的字串,用於儲存輸出影片。如未提供,回應中會傳回影片位元組。 例如:"gs://video-bucket/output/"。
  • ASPECT_RATIO: 選用:代表輸出影片預期顯示比例的字串。如未提供,系統會根據提示推斷顯示比例。 可接受的值如下:
    • "16:9"
    • "9:16"
  • OUTPUT_RESOLUTION:

    選用:代表影片輸出解析度的字串。如未提供,輸出內容預設為 720p。

    gemini-omni-1.1-flash-preview 支援下列值:

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

    gemini-omni-flash-preview 僅支援 "720p"。

  • DURATION:代表生成影片檔案長度的字串。允許的字串為 3 到 10 之間的整數,後接「s」代表秒數。例如 "10s"。

HTTP 方法和網址:

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

JSON 要求內文:

{
  "model": "MODEL_ID",
  "input": [
    {
      "background": true,
      "type": "text",
      "text": "TEXT_PROMPT Use the image(s) as references to
      generate the video."
    },
    {
      "type": "image",
      "uri": "CLOUD_STORAGE_IMAGE_URI",
      "mime_type": "IMAGE_MIME"
    },
    {
      "type": "video",
      "uri": "CLOUD_STORAGE_VIDEO_URI",
      "mime_type": "VIDEO_MIME"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "resolution": "OUTPUT_RESOLUTION",
      "duration": "DURATION"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "reference_to_video"
    }
  }
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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,您將使用這個 ID 取得生成的影片。
{
  "id":"INTERACTION_ID",
  "status":"in_progress",
  "object":"interaction"
}
稍後,使用 INTERACTION_ID 取得生成的影片:

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:代表 Cloud de Confiance by S3NS 專案 ID 的字串。
  • INTERACTION_ID: 非同步要求的互動 ID。

HTTP 方法和網址:

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

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

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

PowerShell

執行下列指令:

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

使用 Veo 和素材資源圖片生成影片

請執行下列步驟:

控制台

  1. 前往 Cloud de Confiance 控制台,依序點選「Agent Platform」 >「Agent Platform Studio」 頁面。

    前往 Agent Platform Studio

  2. 按一下「生成媒體」。

  3. 按一下「影片」。

  4. 在「Task」選單中,選取「Reference-to-video (Subject)」。

  5. 在「Model」(模型) 選單中,從可用選項選取模型。

  6. 在「Subject Images」部分,按一下「Add」。

    系統會顯示檔案選取對話方塊。從電腦中選擇一到三張圖片上傳。

  7. 選用步驟:在「參數」部分調整下列設定:

    • 顯示比例:選取「16:9」或「9:16」。
    • 結果數量:調整滑桿或輸入 1 至 4 之間的值。
    • 影片長度:選取 8、6 或 4 秒。
    • 輸出內容解析度:選取下列其中一項:
      • 720p
      • 1080p
      • 4k
  8. 選用:在「Safety」(安全) 部分,選取下列其中一項「Person generation」(人物生成) 設定:

    • 允許 (僅限成人):預設值。僅生成成人或臉孔。請勿生成青少年、兒童、人物或臉部。

    • 不允許:不生成人物或臉孔。

  9. 選用:在「Advanced options」(進階選項) 部分,輸入種子值,隨機生成影片。

  10. 在「Prompt」(提示) 方塊中,輸入文字提示詞,描述要生成的影片。

  11. 按一下「執行」。

Python

安裝

pip install --upgrade google-genai

詳情請參閱 SDK 參考文件。

設定環境變數,以便透過 Vertex AI 使用 Google Gen AI SDK:

# 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_ENTERPRISE=True

import time
from google import genai
from google.genai.types import GenerateVideosConfig, Image, VideoGenerationReferenceImage

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.1-generate-preview",
    prompt="A person walks in carrying a vase full of flowers and places the vase on a kitchen table.",
    config=GenerateVideosConfig(
        reference_images=[
            VideoGenerationReferenceImage(
                image=Image(
                    gcs_uri="gs://cloud-samples-data/generative-ai/image/vase.png",
                    mime_type="image/png",
                ),
                reference_type="asset",
            ),
        ],
        aspect_ratio="9:16",
        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

REST

如要進一步瞭解 Veo API,請參閱下列內容:

  1. 請使用下列指令傳送影片生成要求。這項要求會啟動長時間執行的作業,並將輸出內容儲存至您指定的 Cloud Storage bucket。

    使用任何要求資料之前,請先修改下列項目的值:

    • PROJECT_ID:您的 Cloud de Confiance by S3NS 專案 ID。
    • MODEL_ID:代表要使用的模型 ID 的字串。支援的機型如下:
      • veo-3.1-generate-preview preview
      • veo-3.1-generate-001
      • veo-3.1-fast-generate-preview preview
      • veo-3.1-fast-generate-001
    • TEXT_PROMPT:用於引導影片生成的文字提示詞。
    • BASE64_ENCODED_IMAGE:以 Base64 位元組編碼的主體圖片。您可以重複這個欄位和 mimeType,最多指定三張主體圖片。
    • IMAGE_MIME_TYPE:輸入圖片的 MIME 類型。只能是下列其中一項:

      • image/jpeg
      • image/png

      您可以重複這個欄位和 bytesBase64Encoded,最多指定三張主體圖片。

    • ASPECT_RATIO:選用。生成影片的顯示比例。只能是下列其中一項:

      • "16:9"
      • "9:16"

      預設值為 "16:9"。

    • OUTPUT_STORAGE_URI:選用。用於儲存輸出影片的 Cloud Storage bucket。如果未提供,回應中會傳回 Base64 位元組編碼的影片。例如:gs://video-bucket/output/。
    • RESPONSE_COUNT:要生成的影片檔案數量。可接受的整數值:1-4。
    • VIDEO_RESOLUTION: 選用:生成的影片解析度。只能是下列其中一項:

      • "720p"
      • "1080p"
      • "4k" (僅限 Veo 3.1 預先發布版模型)

      預設值為 "720p"。

    • 其他選用參數

      視用途而定,使用下列選用變數。在 "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: 選用:描述生成影片顯示比例的字串值。您可以使用下列值:
        • "16:9" (橫向)
        • "9:16" 個直向媒體

        預設值為 "16:9"

      • NEGATIVE_PROMPT:選用:字串值,說明您要禁止模型生成哪些內容。
      • PERSON_SAFETY_SETTING:選用。這個字串值可控制生成人物或臉孔的安全設定。您可以使用下列值:
        • "allow_adult":僅允許生成成人人物和臉孔。
        • "disallow":不會生成人物或臉孔。

        預設值為 "allow_adult"。

      • RESOLUTION:選用。控制生成影片解析度的字串值。僅支援 Veo 3 模型。您可以使用下列值:
        • "720p"
        • "1080p"
        • "4k" (僅限 Veo 3.1 預先發布版模型)

        預設值為 "720p"。

      • RESPONSE_COUNT: 選用。描述要生成影片數量的整數值。 可接受的值範圍為 1-4。
      • SEED_NUMBER: 選用。模型用來生成確定性影片的 uint32 值。在要求中指定種子編號,但不變更其他參數,模型就會生成相同的影片。可接受的值範圍為 0-4294967295。

    HTTP 方法和網址:

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

    JSON 要求內文:

    {
      "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": {
        "aspectRatio":, "ASPECT_RATIO,
        "durationSeconds": 8,
        "storageUri": "OUTPUT_STORAGE_URI",
        "sampleCount": RESPONSE_COUNT,
        "resolution": "VIDEO_RESOLUTION
      }
    }
    

    如要傳送要求,請選擇以下其中一個選項:

    curl

    將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

    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

    將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

    $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
    這項要求會傳回完整的作業名稱,其中包含專屬作業 ID。使用這個完整的作業名稱,輪詢影片生成要求的狀態。
    {
      "name":
      "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
    }
    

  2. 選用:檢查影片生成長時間執行作業的狀態。

    使用任何要求資料之前,請先修改下列項目的值:

    • PROJECT_ID:您的 Cloud de Confiance by S3NS 專案 ID。
    • MODEL_ID:要使用的模型 ID。
    • OPERATION_ID:原始生成影片要求中傳回的專屬作業 ID。

    HTTP 方法和網址:

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

    JSON 要求內文:

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

    如要傳送要求,請選擇以下其中一個選項:

    curl

    將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

    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

    將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

    $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
    這項要求會傳回作業相關資訊,包括作業是否仍在執行或已完成。

後續步驟