アセット画像とスタイル画像を使用して動画の生成をガイドする

Gemini Enterprise Agent Platform で Gemini Omni Flash または Veo を使用して、参照画像を使用して動画生成をガイドできます。

Gemini Omni Flash

Gemini Omni Flash では、動画の生成時に参照画像を使用してモデルに追加の入力を提供できます。次の Gemini Omni Flash モデルは、参照画像をサポートしています。

クリックしてサポートされているモデルを開く

Veo

Gemini Enterprise Agent Platform の Veo では、参照画像を使用して、生成された動画のコンテンツと芸術的なスタイルを指定できます。Veo で参照画像を使用する場合は、次のいずれかを使用するように選択できます。

  • 被写体画像: 1 人の人物、キャラクター、商品の画像を 3 枚まで指定します。Veo は、出力動画で被写体の外観を保持します。

    次のモデルは、参照アセットの画像から動画への変換をサポートしています。

    クリックしてサポートされているモデルを開く

  • スタイル画像: スタイル画像を 1 つ指定します。Veo が、アップロードした画像のスタイルを出力動画に適用します。

    次のモデルは、参照スタイルの画像から動画への変換をサポートしています。

    クリックしてサポートされているモデルを開く

動画生成用の効果的なテキスト プロンプトの作成方法については、動画生成プロンプト ガイドをご覧ください。

Colab で Gemini Omni Flash を試す

Colab で Veo を試す

始める前に

  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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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. フェデレーション ID(連携 ID)を使用するように gcloud CLI を構成します。

      詳細については、連携 ID を使用して gcloud CLI にログインするをご覧ください。

    3. ユーザー アカウントのローカル認証情報を作成します。

      gcloud auth application-default login

      認証エラーが返され、外部 ID プロバイダ(IdP)を使用している場合は、 フェデレーション ID を使用して gcloud CLI にログインしていることを確認します。

    詳細については、 Cloud de Confiance 認証ドキュメントの ローカル開発環境の ADC の設定をご覧ください。

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。

    詳細については、 Cloud de Confiance 認証ドキュメントの REST を使用して認証するをご覧ください。

Gemini Omni Flash と参照用素材を使用して動画を生成する

REST

Gemini Omni Flash API の使用方法については、Interactions API をご覧ください。

動画の生成が完了するまでに 1 分以上かかることがあります。完了直後にダウンロードする動画を生成するには、同期リクエストを使用します。後でダウンロードできる動画を生成するには、background パラメータを true に設定して非同期リクエストを送信します。非同期のやり取りは最長 14 日間保持されます。

同期リクエスト

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: Cloud de Confiance by S3NS プロジェクト ID を表す文字列。
  • MODEL_ID: 使用するモデル ID を表す文字列。指定できる値は次のとおりです。
    • "gemini-omni-flash-preview"
  • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
  • CLOUD_STORAGE_INPUT_URI: 入力メディアを含む Cloud Storage バケットを表す文字列。例: "gs://video-bucket/input/"
  • CLOUD_STORAGE_OUTPUT_URI: 省略可。出力動画を保存する Cloud Storage バケットを表す文字列。指定しない場合、動画のバイト数がレスポンスで返されます。例: "gs://video-bucket/output/"
  • ASPECT_RATIO: 省略可。出力動画の想定されるアスペクト比を表す文字列。指定しない場合、アスペクト比はプロンプトから推測されます。指定できる値は次のとおりです。
    • "16:9"
    • "9:16"
  • DURATION: 生成された動画ファイルの長さを表す文字列。使用できる文字列は、3~10 の整数に秒を表す「s」を付けたものです。例: "10s"

HTTP メソッドと URL:

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

リクエストの本文(JSON):

{
  "model": "MODEL_ID",
  "input": [
    {
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "image",
      "uri": "CLOUD_STORAGE_INPUT_URI",
      "mime_type": "image/png"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "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-flash-preview"
  • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
  • CLOUD_STORAGE_INPUT_URI: 入力メディアを含む Cloud Storage バケットを表す文字列。例: "gs://video-bucket/input/"
  • CLOUD_STORAGE_OUTPUT_URI: 省略可。出力動画を保存する Cloud Storage バケットを表す文字列。指定しない場合、動画のバイト数がレスポンスで返されます。例: "gs://video-bucket/output/"
  • ASPECT_RATIO: 省略可。出力動画の想定されるアスペクト比を表す文字列。指定しない場合、アスペクト比はプロンプトから推測されます。指定できる値は次のとおりです。
    • "16:9"
    • "9:16"
  • DURATION: 生成された動画ファイルの長さを表す文字列。使用できる文字列は、3~10 の整数に秒を表す「s」を付けたものです。例: "10s"

HTTP メソッドと URL:

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

リクエストの本文(JSON):

{
  "model": "MODEL_ID",
  "input": [
    {
      "background": true,
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "image",
      "uri": "CLOUD_STORAGE_INPUT_URI",
      "mime_type": "image/png"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "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 メソッドと URL:

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

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"

PowerShell

次のコマンドを実行します。

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

Invoke-WebRequest `
-Method POST `
-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 と参照を使用して動画を生成する

以降のセクションでは、Veo を使用してリファレンスから動画を生成する方法について説明します。

アセット画像を使用して動画を生成する

手順は次のとおりです。

コンソール

  1. Cloud de Confiance コンソールで、[Agent Platform] > [Agent Platform Studio] ページに移動します。

    Agent Platform Studio に移動する

  2. [メディアを生成] をクリックします。

  3. [動画] をクリックします。

  4. [タスク] メニューで、[動画への参照(件名)] を選択します。

  5. [モデル] メニューで、使用可能なオプションからモデルを選択します。

  6. [被写体の画像] セクションで、[追加] をクリックします。

    ファイル選択ダイアログが表示されます。パソコンで 1 ~ 3 枚の画像を選択してアップロードします。

  7. 省略可: [パラメータ] セクションで、次の設定を調整します。

    • アスペクト比: 16:9 または 9:16 を選択します。
    • 検索結果の表示件数: スライダーを調整するか、1~4 の値を入力します。
    • 動画の長さ: 8、6、または 4 秒を選択します。
    • 出力解像度: 次のいずれかを選択します。
      • 720p
      • 1080p
      • 4k
  8. 省略可: [安全性] セクションで、次のいずれかの人物生成の設定を選択します。

    • Allow (Adults only): デフォルト値。成人の人物または顔のみを生成します。若者や子供の人物や顔を生成しません。

    • Don't allow: 人物や顔を生成しません。

  9. 省略可: [詳細オプション] セクションで、動画生成をランダム化するためのシード値を入力します。

  10. [プロンプト] ボックスに、生成する動画の説明となるテキスト プロンプトを入力します。

  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 バケットに出力が保存されます。

    リクエストのデータを使用する前に、次のように置き換えます。

    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。
    • MODEL_ID: 使用するモデル ID を表す文字列。次のモデルがサポートされています。
        <0x0A
    • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
    • BASE64_ENCODED_IMAGE: Base64 でエンコードされた被写体の画像。このフィールドと mimeType を繰り返し使用することで、最大 3 つの被写体画像を指定できます。
    • IMAGE_MIME_TYPE: 入力画像の MIME タイプ。次のいずれか 1 つのみ。

      • image/jpeg
      • image/png

      このフィールドと bytesBase64Encoded を繰り返し使用することで、最大 3 つの被写体画像を指定できます。

    • ASPECT_RATIO: 省略可。生成された動画のアスペクト比。次のいずれか 1 つのみ。

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

      デフォルト値は "16:9" です。

    • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケット。指定しない場合、Base64 でエンコードされた動画がレスポンスで返されます。例: gs://video-bucket/output/。
    • RESPONSE_COUNT: 生成する動画ファイルの数。指定できるのは整数値(1~4)です。
    • VIDEO_RESOLUTION: 省略可。生成された動画の解像度。次のいずれか 1 つのみ。

      • "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 メソッドと URL:

    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 メソッドと URL:

    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
    このリクエストは、オペレーションがまだ実行中か完了しているかなど、オペレーションに関する情報を返します。

スタイル画像を使用して動画を生成する

手順は次のとおりです。

コンソール

  1. Cloud de Confiance コンソールで、[Agent Platform] > [Agent Platform Studio] ページに移動します。

    Agent Platform Studio に移動する

  2. [メディアを生成] をクリックします。

  3. [動画] をクリックします。

  4. [タスク] メニューで、[Reference-to-video (Style)] を選択します。

  5. [モデル] メニューで、使用可能なオプションからモデルを選択します。

  6. [スタイル画像] セクションで、[追加] をクリックします。

    ファイル選択ダイアログが表示されます。パソコンでアップロードする画像を選択します。

  7. 省略可: [パラメータ] セクションで、次の設定を調整します。

    • アスペクト比: 16:9 または 9:16 を選択します。
    • 検索結果の表示件数: スライダーを調整するか、1~4 の値を入力します。
    • 動画の長さ: 8、7、6、または 5 秒を選択します。
  8. 省略可: [安全性] セクションで、次のいずれかの人物生成の設定を選択します。

    • Allow (Adults only): デフォルト値。成人の人物または顔のみを生成します。若者や子供の人物や顔を生成しません。

    • Don't allow: 人物や顔を生成しません。

  9. 省略可: [詳細オプション] セクションで、動画生成をランダム化するためのシード値を入力します。

  10. [プロンプト] ボックスに、生成する動画の説明となるテキスト プロンプトを入力します。

  11. [実行] をクリックします。

REST

Veo API の詳細については、Gemini Enterprise Agent Platform の Veo API をご覧ください。

  1. 動画生成リクエストを送信するには、次のコマンドを使用します。このリクエストにより長時間実行オペレーションが開始され、指定した Cloud Storage バケットに出力が保存されます。

    リクエストのデータを使用する前に、次のように置き換えます。

    • PROJECT_ID: 実際の Cloud de Confiance by S3NS プロジェクト ID。
    • MODEL_ID: 使用するモデル ID を表す文字列。次のモデルがサポートされています。

    • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
    • BASE64_ENCODED_IMAGE: base64 でエンコードされたスタイル画像。
    • IMAGE_MIME_TYPE: 入力画像の MIME タイプ。次のいずれか 1 つのみ。
      • image/jpeg
      • image/png
    • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケット。指定しない場合、動画のバイト数がレスポンスで返されます。たとえば gs://video-bucket/output/。
    • RESPONSE_COUNT: 生成する動画ファイルの数。指定できるのは整数値(1~4)です。
    • その他のオプション パラメータ

      ユースケースに応じて、次のオプションの変数を使用します。"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 メソッドと URL:

    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",
          "referenceImages": [
            {
              "image": {
                "bytesBase64Encoded": "BASE64_ENCODED_IMAGE",
                "mimeType": "IMAGE_MIME_TYPE"
              },
              "referenceType": "style"
            }
          ]
        }
      ],
      "parameters": {
        "durationSeconds": 8,
        "storageUri": "OUTPUT_STORAGE_URI",
        "sampleCount": RESPONSE_COUNT
      }
    }
    

    リクエストを送信するには、次のいずれかのオプションを選択します。

    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 メソッドと URL:

    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
    このリクエストは、オペレーションがまだ実行中か完了しているかなど、オペレーションに関する情報を返します。

次のステップ