動画理解

Gemini リクエストに動画を追加して、含まれる動画の内容を理解するタスクを実行できます。このページでは、Google Cloud コンソールと Vertex AI API を使用して、Vertex AI で Gemini へのリクエストに動画を追加する方法について説明します。

サポートされているモデル

次の表に、動画理解をサポートするモデルを示します。

モデル 動画モダリティの詳細 モデルを試す
Gemini 2.0 Flash
gemini-2.0-flash
  • 動画の最大長(音声あり): 約 45 分
  • 動画の最大長(音声なし): 約 1 時間
  • プロンプトあたりの動画の最大数: 10
Gemini 2.0 Flash を試す
Gemini 2.0 Flash-Lite
gemini-2.0-flash-lite
  • 動画の最大長(音声あり): 約 45 分
  • 動画の最大長(音声なし): 約 1 時間
  • プロンプトあたりの動画の最大数: 10
Gemini 2.0 Flash-Lite を試す

Gemini モデルでサポートされている言語の一覧については、モデル情報の Google モデルをご覧ください。マルチモーダル プロンプトの設計方法について詳しくは、マルチモーダル プロンプトを設計するをご覧ください。モバイルアプリやウェブアプリから Gemini を直接使用することをお考えの場合は、Android、Swift、ウェブ、Flutter アプリの Vertex AI in Firebase SDK をご覧ください。

リクエストに動画を追加する

Gemini へのリクエストに 1 つまたは複数の動画を追加できます。動画には音声を含めることができます。

単一の動画

次の各タブのサンプルコードでは、動画に含まれているものを識別するさまざまな方法を示します。このサンプルは、すべての Gemini マルチモーダル モデルで動作します。

Gen AI SDK for Python

インストール

pip install --upgrade google-genai
詳細については、 SDK リファレンス ドキュメントをご覧ください。

Vertex AI で 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=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-2.0-flash-001",
    contents=[
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
            mime_type="video/mp4",
        ),
        "What is in the video?",
    ],
)
print(response.text)
# Example response:
# The video shows several people surfing in an ocean with a coastline in the background. The camera ...

REST

環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。

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

  • LOCATION: リクエストを処理するリージョン。サポートされているリージョンを入力します。サポートされているリージョンの一覧については、利用可能なロケーションをご覧ください。

    クリックして、利用可能なリージョンの一部を開く

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • PROJECT_ID: 実際のプロジェクト ID
  • FILE_URI: プロンプトに含めるファイルの URI または URL。指定できる値は以下のとおりです。
    • Cloud Storage バケット URI: オブジェクトは一般公開されているか、リクエストを送信するプロジェクトと同じ Google Cloud プロジェクトに存在している必要があります。gemini-2.0-flashgemini-2.0-flash-lite の場合、サイズの上限は 2 GB です。
    • HTTP URL: ファイルの URL は一般公開されている必要があります。リクエストごとに 1 つの動画ファイル、1 つの音声ファイル、最大 10 個の画像ファイルを指定できます。音声ファイル、動画ファイル、ドキュメントのサイズは 15 MB 以下にする必要があります。
    • YouTube 動画の URL: YouTube 動画は、Google Cloud コンソールのログインに使用したアカウントが所有しているか、公開されている必要があります。リクエストごとにサポートされる YouTube 動画の URL は 1 つだけです。

    fileURI を指定する場合は、ファイルのメディアタイプ(mimeType)も指定する必要があります。VPC Service Controls が有効になっている場合、fileURI のメディア ファイル URL の指定はサポートされていません。

    Cloud Storage に動画ファイルがない場合は、次の一般公開ファイル(MIME タイプが video/mp4gs://cloud-samples-data/video/animals.mp4)を使用できます。この動画を表示するには、サンプルの MP4 ファイルを開きます

  • MIME_TYPE: data フィールドまたは fileUri フィールドで指定されたファイルのメディアタイプ。指定できる値は以下のとおりです。

    クリックして MIME タイプを開く

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT: プロンプトに含める指示のテキスト。例: What is in the video?

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

curl

リクエスト本文を request.json という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

その後、次のコマンドを実行して REST リクエストを送信します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent"

PowerShell

リクエスト本文を request.json という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

その後、次のコマンドを実行して REST リクエストを送信します。

$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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

このサンプルの URL にある次の点に注意してください。
  • generateContent メソッドを使用して、レスポンスが完全に生成された後に返されるようにリクエストします。ユーザーが認識するレイテンシを短縮するには、streamGenerateContent メソッドを使用して、生成時にレスポンスをストリーミングします。
  • マルチモーダル モデル ID は、URL の末尾のメソッドの前に配置されます(例: gemini-1.5-flashgemini-1.0-pro-vision)。このサンプルでは、他のモデルもサポートされている場合があります。

コンソール

Google Cloud コンソールでマルチモーダル プロンプトを送信する手順は次のとおりです。

  1. Google Cloud コンソールの [Vertex AI] セクションで、[Vertex AI Studio] ページに移動します。

    Vertex AI Studio に移動

  2. [自由形式を開く] をクリックします。

  3. 省略可: モデルとパラメータを構成します。

    • Model: モデルを選択します。
    • リージョン: 使用するリージョンを選択します。
    • 温度: スライダーまたはテキスト ボックスを使用して、温度の値を入力します。

      温度は、レスポンス生成時のサンプリングに使用されます。レスポンス生成は、topPtopK が適用された場合に発生します。温度は、トークン選択のランダム性の度合いを制御します。温度が低いほど、確定的で自由度や創造性を抑えたレスポンスが求められるプロンプトに適しています。一方、温度が高いと、より多様で創造的な結果を導くことができます。温度が 0 の場合、確率が最も高いトークンが常に選択されます。この場合、特定のプロンプトに対するレスポンスはほとんど確定的ですが、わずかに変動する可能性は残ります。

      モデルが返すレスポンスが一般的すぎる、短すぎる、あるいはフォールバック(代替)レスポンスが返ってくる場合は、温度を高く設定してみてください。

    • 出力トークンの上限: スライダーまたはテキスト ボックスを使用して、最大出力の上限値を入力します。

      レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。

      レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。

    • 停止シーケンスを追加: 省略可。停止シーケンスを入力します。これはスペースを含む一連の文字列です。モデルが停止シーケンスに遭遇すると、レスポンスの生成が停止します。停止シーケンスはレスポンスには含まれません。停止シーケンスは 5 つまで追加できます。

  4. 省略可: 詳細パラメータを構成するには、[詳細] をクリックして、次のように構成します。

    クリックして [高度な構成] を開く

    • Top-K: スライダーまたはテキスト ボックスを使用して、Top-K の値を入力します(Gemini 1.5 ではサポートされていません)。

      Top-K は、モデルが出力用にトークンを選択する方法を変更します。Top-K が 1 の場合、次に選択されるトークンは、モデルの語彙内のすべてのトークンで最も確率の高いものであることになります(グリーディ デコードとも呼ばれます)。Top-K が 3 の場合は、最も確率が高い上位 3 つのトークンから次のトークン選択されることになります(温度を使用します)。

      トークン選択のそれぞれのステップで、最も高い確率を持つ Top-K のトークンがサンプリングされます。その後、トークンはトップ P に基づいてさらにフィルタリングされ、最終的なトークンは温度サンプリングを用いて選択されます。

      ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。

    • トップ P: スライダーまたはテキスト ボックスを使用して、トップ P の値を入力します。確率の合計が Top-P の値と等しくなるまで、最も確率が高いものから最も確率が低いものの順に、トークンが選択されます。結果を最小にするには、Top-P を 0 に設定します。
    • 最大レスポンス数: スライダーまたはテキスト ボックスを使用して、生成するレスポンスの数の値を入力します。
    • ストリーミング レスポンス: 有効にすると、レスポンスが生成されたときに出力されます。
    • 安全フィルタのしきい値: 有害なおそれのあるレスポンスが表示される可能性のしきい値を選択します。
    • グラウンディングを有効にする: マルチモーダル プロンプトでは、グラウンティングはサポートされていません。

  5. [メディアを挿入] をクリックし、ファイルのソースを選択します。

    アップロード

    アップロードするファイルを選択して [開く] をクリックします。

    URL

    使用するファイルの URL を入力し、[挿入] をクリックします。

    YouTube

    使用する YouTube 動画の URL を入力し、[挿入] をクリックします。

    公開されている動画や、Google Cloud コンソールのログインに使用したアカウントが所有する動画を使用できます。

    Cloud Storage

    バケットを選択してから、バケット内のインポートするファイルを選択し、[選択] をクリックします。

    Google ドライブ

    1. このオプションを初めて選択するときに、アカウントを選択して Vertex AI Studio がアカウントにアクセスできるように同意します。合計サイズが最大 10 MB の複数のファイルをアップロードできます。1 つのファイルのサイズが 7 MB を超えないようにしてください。
    2. 追加するファイルをクリックします。
    3. [選択] をクリックします。

      ファイルのサムネイルが [プロンプト] ペインに表示されます。トークンの合計数も表示されます。プロンプト データがトークンの上限を超えると、トークンは切り捨てられ、データの処理には含まれません。

  6. [プロンプト] ペインにテキスト プロンプトを入力します。

  7. 省略可: [テキストのトークン ID] と [トークン ID] を表示するには、[プロンプト] ペインで [トークン数] をクリックします。

  8. [送信] をクリックします。

  9. 省略可: プロンプトを [マイプロンプト] に保存するには、[ 保存] をクリックします。

  10. 省略可: プロンプトの Python コードまたは curl コマンドを取得するには、[コードを取得] をクリックします。

音声付きの動画

以下は、音声を含む動画ファイルを要約し、タイムスタンプ付きのチャプターを返す方法を示しています。このサンプルは、Gemini 1.5 と Gemini 2.0 でのみ動作します。

Gen AI SDK for Python

インストール

pip install --upgrade google-genai
詳細については、 SDK リファレンス ドキュメントをご覧ください。

Vertex AI で 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=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-2.0-flash-001",
    contents=[
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
            mime_type="video/mp4",
        ),
        "What is in the video?",
    ],
)
print(response.text)
# Example response:
# The video shows several people surfing in an ocean with a coastline in the background. The camera ...

REST

環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。

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

  • LOCATION: リクエストを処理するリージョン。サポートされているリージョンを入力します。サポートされているリージョンの一覧については、利用可能なロケーションをご覧ください。

    クリックして、利用可能なリージョンの一部を開く

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • PROJECT_ID: 実際のプロジェクト ID
  • FILE_URI: プロンプトに含めるファイルの URI または URL。指定できる値は以下のとおりです。
    • Cloud Storage バケット URI: オブジェクトは一般公開されているか、リクエストを送信するプロジェクトと同じ Google Cloud プロジェクトに存在している必要があります。gemini-2.0-flashgemini-2.0-flash-lite の場合、サイズの上限は 2 GB です。
    • HTTP URL: ファイルの URL は一般公開されている必要があります。リクエストごとに 1 つの動画ファイル、1 つの音声ファイル、最大 10 個の画像ファイルを指定できます。音声ファイル、動画ファイル、ドキュメントのサイズは 15 MB 以下にする必要があります。
    • YouTube 動画の URL: YouTube 動画は、Google Cloud コンソールのログインに使用したアカウントが所有しているか、公開されている必要があります。リクエストごとにサポートされる YouTube 動画の URL は 1 つだけです。

    fileURI を指定する場合は、ファイルのメディアタイプ(mimeType)も指定する必要があります。VPC Service Controls が有効になっている場合、fileURI のメディア ファイル URL の指定はサポートされていません。

    Cloud Storage に動画ファイルがない場合は、次の一般公開ファイル(MIME タイプが video/mp4gs://cloud-samples-data/generative-ai/video/pixel8.mp4)を使用できます。この動画を表示するには、サンプルの MP4 ファイルを開きます

  • MIME_TYPE: data フィールドまたは fileUri フィールドで指定されたファイルのメディアタイプ。指定できる値は以下のとおりです。

    クリックして MIME タイプを開く

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT
    プロンプトに含める指示のテキスト。例: Provide a description of the video. The description should also contain anything important which people say in the video.

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

curl

リクエスト本文を request.json という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

その後、次のコマンドを実行して REST リクエストを送信します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent"

PowerShell

リクエスト本文を request.json という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

その後、次のコマンドを実行して REST リクエストを送信します。

$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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

このサンプルの URL にある次の点に注意してください。
  • generateContent メソッドを使用して、レスポンスが完全に生成された後に返されるようにリクエストします。ユーザーが認識するレイテンシを短縮するには、streamGenerateContent メソッドを使用して、生成時にレスポンスをストリーミングします。
  • マルチモーダル モデル ID は、URL の末尾のメソッドの前に配置されます(例: gemini-1.5-flashgemini-1.0-pro-vision)。このサンプルでは、他のモデルもサポートされている場合があります。

コンソール

Google Cloud コンソールでマルチモーダル プロンプトを送信する手順は次のとおりです。

  1. Google Cloud コンソールの [Vertex AI] セクションで、[Vertex AI Studio] ページに移動します。

    Vertex AI Studio に移動

  2. [自由形式を開く] をクリックします。

  3. 省略可: モデルとパラメータを構成します。

    • Model: モデルを選択します。
    • リージョン: 使用するリージョンを選択します。
    • 温度: スライダーまたはテキスト ボックスを使用して、温度の値を入力します。

      温度は、レスポンス生成時のサンプリングに使用されます。レスポンス生成は、topPtopK が適用された場合に発生します。温度は、トークン選択のランダム性の度合いを制御します。温度が低いほど、確定的で自由度や創造性を抑えたレスポンスが求められるプロンプトに適しています。一方、温度が高いと、より多様で創造的な結果を導くことができます。温度が 0 の場合、確率が最も高いトークンが常に選択されます。この場合、特定のプロンプトに対するレスポンスはほとんど確定的ですが、わずかに変動する可能性は残ります。

      モデルが返すレスポンスが一般的すぎる、短すぎる、あるいはフォールバック(代替)レスポンスが返ってくる場合は、温度を高く設定してみてください。

    • 出力トークンの上限: スライダーまたはテキスト ボックスを使用して、最大出力の上限値を入力します。

      レスポンスで生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。

      レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。

    • 停止シーケンスを追加: 省略可。停止シーケンスを入力します。これはスペースを含む一連の文字列です。モデルが停止シーケンスに遭遇すると、レスポンスの生成が停止します。停止シーケンスはレスポンスには含まれません。停止シーケンスは 5 つまで追加できます。

  4. 省略可: 詳細パラメータを構成するには、[詳細] をクリックして、次のように構成します。

    クリックして [高度な構成] を開く

    • Top-K: スライダーまたはテキスト ボックスを使用して、Top-K の値を入力します(Gemini 1.5 ではサポートされていません)。

      Top-K は、モデルが出力用にトークンを選択する方法を変更します。Top-K が 1 の場合、次に選択されるトークンは、モデルの語彙内のすべてのトークンで最も確率の高いものであることになります(グリーディ デコードとも呼ばれます)。Top-K が 3 の場合は、最も確率が高い上位 3 つのトークンから次のトークン選択されることになります(温度を使用します)。

      トークン選択のそれぞれのステップで、最も高い確率を持つ Top-K のトークンがサンプリングされます。その後、トークンはトップ P に基づいてさらにフィルタリングされ、最終的なトークンは温度サンプリングを用いて選択されます。

      ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。

    • トップ P: スライダーまたはテキスト ボックスを使用して、トップ P の値を入力します。確率の合計が Top-P の値と等しくなるまで、最も確率が高いものから最も確率が低いものの順に、トークンが選択されます。結果を最小にするには、Top-P を 0 に設定します。
    • 最大レスポンス数: スライダーまたはテキスト ボックスを使用して、生成するレスポンスの数の値を入力します。
    • ストリーミング レスポンス: 有効にすると、レスポンスが生成されたときに出力されます。
    • 安全フィルタのしきい値: 有害なおそれのあるレスポンスが表示される可能性のしきい値を選択します。
    • グラウンディングを有効にする: マルチモーダル プロンプトでは、グラウンティングはサポートされていません。

  5. [メディアを挿入] をクリックし、ファイルのソースを選択します。

    アップロード

    アップロードするファイルを選択して [開く] をクリックします。

    URL

    使用するファイルの URL を入力し、[挿入] をクリックします。

    YouTube

    使用する YouTube 動画の URL を入力し、[挿入] をクリックします。

    公開されている動画や、Google Cloud コンソールのログインに使用したアカウントが所有する動画を使用できます。

    Cloud Storage

    バケットを選択してから、バケット内のインポートするファイルを選択し、[選択] をクリックします。

    Google ドライブ

    1. このオプションを初めて選択するときに、アカウントを選択して Vertex AI Studio がアカウントにアクセスできるように同意します。合計サイズが最大 10 MB の複数のファイルをアップロードできます。1 つのファイルのサイズが 7 MB を超えないようにしてください。
    2. 追加するファイルをクリックします。
    3. [選択] をクリックします。

      ファイルのサムネイルが [プロンプト] ペインに表示されます。トークンの合計数も表示されます。プロンプト データがトークンの上限を超えると、トークンは切り捨てられ、データの処理には含まれません。

  6. [プロンプト] ペインにテキスト プロンプトを入力します。

  7. 省略可: [テキストのトークン ID] と [トークン ID] を表示するには、[プロンプト] ペインで [トークン数] をクリックします。

  8. [送信] をクリックします。

  9. 省略可: プロンプトを [マイプロンプト] に保存するには、[ 保存] をクリックします。

  10. 省略可: プロンプトの Python コードまたは curl コマンドを取得するには、[コードを取得] をクリックします。

オプションのモデル パラメータを設定する

各モデルには、設定可能な一連のオプション パラメータがあります。詳細については、コンテンツ生成パラメータをご覧ください。

動画の要件

Gemini マルチモーダル モデルは、次の動画 MIME タイプをサポートしています。

動画の MIME タイプ Gemini 2.0 Flash Gemini 2.0 Flash-Lite
FLV - video/x-flv
MOV - video/quicktime
MPEG - video/mpeg
MPEGS - video/mpegs
MPGS - video/mpgs
MPG - video/mpg
MP4 - video/mp4
WEBM - video/webm
WMV - video/wmv
3GPP - video/3gpp

プロンプト リクエストで許可される動画ファイルの最大数は次のとおりです。

  • Gemini 2.0 Flash、Gemini 2.0 Flash-Lite、Gemini 1.5 Flash、Gemini 1.5 Pro: 10 個の動画ファイル
  • Gemini 1.0 Pro Vision: 1 個の動画ファイル

動画のトークンの計算方法は次のとおりです。

  • Gemini 2.0 Flash、Gemini 2.0 Flash-Lite、Gemini 1.5 Flash、Gemini 1.5 Pro: オーディオ トラックは動画フレームでエンコードされます。また、オーディオ トラックは 1 秒のトランクに分割されます。トランクはそれぞれ 32 個のトークンから構成されます。動画フレームと音声トークンは、タイムスタンプとともにインターリーブされます。タイムスタンプは 7 個のトークンで表されます。
  • すべての Gemini マルチモーダル モデル: 動画は 1 秒あたり 1 フレーム(fps)でサンプリングされます。動画フレームごとに 258 個のトークンが使用されます。

ベスト プラクティス

動画を使用する場合は、最良の結果を得るために、次のベスト プラクティスと情報を使用してください。

  • プロンプトに 1 つの動画が含まれている場合は、テキスト プロンプトの前に動画を配置します。
  • 音声付き動画のタイムスタンプのローカライズが必要な場合は、モデルに MM:SS 形式のタイムスタンプを生成させます。最初の 2 桁が分、最後の 2 桁が秒を表します。タイムスタンプに関する質問にも同じ形式を使用します。
  • Gemini 1.0 Pro Vision を使用している場合は、次の点に注意してください。

    • 1 つのプロンプトに複数の動画を使用しないことをおすすめします。
    • モデルは、動画の最初の 2 分間の情報のみを処理します。
    • このモデルは、動画を、動画の非連続な画像フレームとして処理します。音声は含まれません。モデルで動画の一部のコンテンツが欠落している場合は、動画を短くして、モデルが動画コンテンツの大部分をキャプチャできるようにします。
    • モデルは、音声情報やタイムスタンプ メタデータを処理しません。このため、字幕読み上げ音声や時間関連の情報(スピードやリズムなど)など、音声入力が必要なユースケースでは、モデルが適切に機能しない場合があります。

制限事項

Gemini マルチモーダル モデルは多くのマルチモーダル ユースケースに対応していますが、モデルの制限事項も理解しておく必要があります。

  • コンテンツの管理: Google の安全に関するポリシーに違反する動画に対する回答は拒否されます。
  • 非音声の認識: 音声をサポートするモデルでは、音声以外の音を認識する際に誤りが発生する可能性があります。
  • 高速モーション: サンプリング レートが 1 秒あたり 1 フレーム(fps)に固定されているため、動画内の高速モーションを認識する際に誤りが発生する可能性があります。
  • 音声文字変換の句読点:(Gemini 1.5 Flash を使用している場合)モデルから返される音声文字変換に句読点が含まれない場合があります。

次のステップ