Vertex AI in Firebase SDK を使用してアプリから Vertex AI Gemini API を呼び出すと、マルチモーダル入力に基づいてテキストを生成するように Gemini モデルにプロンプトを出すことができます。マルチモーダル プロンプトには、テキスト、画像、PDF、動画、音声など、複数のモダリティ(または入力タイプ)を含めることができます。
入力のテキスト以外の部分(メディア ファイルなど)では、サポートされているファイル形式を使用し、サポートされている MIME タイプを指定し、ファイルとマルチモーダル リクエストが要件を満たしていることと、ベスト プラクティスに準拠していることを確認する必要があります。
このページでは、次について説明します。
次のファイル入力でサポートされている MIME タイプ、ベスト プラクティス、制限事項の詳細:
画像 | 動画 | 音声 | ドキュメント(PDF など)。
マルチモーダル リクエストでファイルを提供するオプション
各マルチモーダル リクエストで、必ず次の情報を指定する必要があります。
ファイルの
mimeType
。各入力ファイルでサポートされている MIME タイプについては、このページの該当するセクションをご覧ください。ファイル。URL または URI を使用してファイルを指定するか、ファイルをインライン データとして指定します。
リクエストで指定できるファイルのサイズと数は、入力ファイルの種類、ファイルの指定方法、使用されるモデルによって決まります(詳細については、このページの各入力ファイル形式のセクションをご覧ください)。
オプション 1: URL または URI を使用してファイルを指定する
使用できる URL または URI の種類は次のとおりです。
Cloud Storage for Firebase バケット URL: ファイルの URL は公開されているか、ログインしたユーザーまたはクライアントがファイルに十分なアクセス権を持っている必要があります。詳しくは、Cloud Storage for Firebase メリット、URL の要件、コードサンプルをご覧ください。
Google Cloud Storage バケット URL: ファイルの URL は公開にする必要があります。
ブラウザ/HTTP URL: ファイルの URL は一般公開されている必要があります。たとえば、メディアをホストするサイトの URL、メディアを直接表示する URL(メディアをホストするウェブページではない)、公開済みの Google ドライブまたは Google Workspace ファイルなどです。
YouTube 動画の URL: YouTube 動画は公開または非公開にする必要があります。
URL と URI の要件について詳しくは、Google Cloud のドキュメントをご覧ください。
オプション 2: ファイルをインライン データとして指定する
インライン データとして指定するファイルについては、次の点に注意してください。
リクエストの合計サイズの上限は 20 MB であるため、インライン データとして送信できるのは小さなファイルのみです。
転送中にファイルが base64 でエンコードされます(ファイルサイズが大きくなります)。
ファイルをインライン データとして含める方法の例については、Gemini API を使用してマルチモーダル プロンプトからテキストを生成するをご覧ください。
画像: 要件、ベスト プラクティス、制限事項
画像: 要件
このセクションでは、サポートされている MIME タイプと、画像のリクエストあたりの上限について説明します。
サポートされている MIME タイプ
Gemini マルチモーダル モデルは、次の画像 MIME タイプをサポートしています。
画像の MIME タイプ | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
PNG - image/png |
|||
JPEG - image/jpeg |
|||
WebP - image/webp |
リクエストあたりの上限
画像のピクセル数に特に制限はありません。ただし、大きな画像は元のアスペクト比を維持したまま、最大解像度 3,072 x 3,072 に合わせて縮小され、パディングされます。
プロンプト リクエストで許可される画像ファイルの最大数は次のとおりです。
- Gemini 1.0 Pro Vision: 16 個
- Gemini 1.5 Flash と Gemini 1.5 Pro: 3,000 枚
画像: トークン化
画像のトークンの計算方法は次のとおりです。
- Gemini 1.0 Pro Vision: 各画像は 258 個のトークンに相当します。
- Gemini 1.5 Flash と Gemini 1.5 Pro:
- 画像の両方の寸法が 384 ピクセル以下の場合、258 個のトークンが使用されます。
- 画像の 1 つの寸法が 384 ピクセルを超える場合、画像はタイルに切り抜かれます。各タイルサイズは、デフォルトで最小の寸法(幅または高さ)を 1.5 で割った値になります。必要に応じて、各タイルは 256 ピクセル以上、768 ピクセル以下になるように調整されます。各タイルは 768x768 にサイズ変更され、258 個のトークンを使用します。
画像: ベスト プラクティス
画像を使用する場合は、最適な結果を得るために、次のベスト プラクティスと情報を使用してください。
- 画像内のテキストを検出する必要がある場合は、1 つの画像を使用するプロンプトのほうが、複数の画像を使用するプロンプトよりも優れた結果が得られます。
- プロンプトに 1 つの画像が含まれている場合は、リクエスト内でテキスト プロンプトの前に画像を配置します。
- プロンプトに複数の画像が含まれており、これらの画像をプロンプトの後半で参照する場合、またはモデル レスポンスでモデルが参照する場合は、各画像の前にインデックスを付けると役立つ可能性があります。インデックスには
またはa
b
c
を使用します。プロンプトでインデックス付き画像を使用する例を次に示します。image 1
image 2
image 3
image 1
image 2 image 3 Write a blogpost about my day using image 1 and image 2. Then, give me ideas for tomorrow based on image 3. - 解像度の高い画像を使用すると、より良い結果が得られます。
- プロンプトにいくつかの例を含めます。
- 画像を適切な向きに回転してから、プロンプトに追加します。
- ぼやけた画像は使用しないでください。
イメージ: 制限事項
Gemini マルチモーダル モデルは多くのマルチモーダル ユースケースに対応していますが、モデルの制限事項も理解しておく必要があります。
- コンテンツの管理: Google の安全に関するポリシーに違反する画像に対する回答は拒否されます。
- 空間推論: 画像内のテキストやオブジェクトの位置を正確に特定することはできません。オブジェクトの数も推定値しか返されない場合があります。
- 医療目的での使用: 医療画像(X 線、CT スキャンなど)の解釈や医学的なアドバイスの提供には適していません。
- 人物認識: このモデルは、画像内の著名人以外の人物を特定することを目的としたものではありません。
- 精度: 低品質、回転、極端に低解像度の画像を解釈する際に、ハルシネーションや誤りが発生する可能性があります。また、画像ドキュメント内の手書きテキストを解釈する際に、ハルシネーションが発生することもあります。
動画: 要件、ベスト プラクティス、制限事項
動画: 要件
このセクションでは、サポートされている MIME タイプと動画のリクエストあたりの上限について説明します。
サポートされている MIME タイプ
Gemini マルチモーダル モデルは、次の動画 MIME タイプをサポートしています。
動画の MIME タイプ | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
FLV - video/x-flv |
|||
MOV - video/quicktime |
|||
MPEG - video/mpeg |
|||
MPEGPS - video/mpegps |
|||
MPG - video/mpg |
|||
MP4 - video/mp4 |
|||
WEBM - video/webm |
|||
WMV - video/wmv |
|||
3GPP - video/3gpp |
リクエストあたりの上限
プロンプト リクエストで許可される動画ファイルの最大数は次のとおりです。
- Gemini 1.0 Pro Vision: 1 個の動画ファイル
- Gemini 1.5 Flash と Gemini 1.5 Pro: 10 個の動画ファイル
動画: トークン化
動画のトークンの計算方法は次のとおりです。
- すべての Gemini マルチモーダル モデル: 動画は
1 秒あたり 1 フレーム(fps) でサンプリングされます。動画フレームごとに 258 個のトークンが使用されます。 - Gemini 1.5 Flash と Gemini 1.5 Pro: オーディオ トラックは動画フレームでエンコードされます。また、オーディオ トラックは
1 秒のトランク に分割されます。トランクはそれぞれ 32 個のトークンから構成されます。動画フレームと音声トークンは、タイムスタンプとともにインターリーブされます。タイムスタンプは 7 個のトークンで表されます。
動画: ベスト プラクティス
動画を使用する場合は、最良の結果を得るために、次のベスト プラクティスと情報を使用してください。
- プロンプトに 1 つの動画が含まれている場合は、テキスト プロンプトの前に動画を配置します。
- 音声付き動画のタイムスタンプのローカライズが必要な場合は、モデルに
MM:SS
形式のタイムスタンプを生成させます。最初の 2 桁が分、最後の 2 桁が秒を表します。タイムスタンプに関する質問にも同じ形式を使用します。 Gemini 1.0 Pro Vision を使用している場合は、次の点に注意してください。
- 1 つのプロンプトに複数の動画を使用しないことをおすすめします。
- モデルは、動画の最初の 2 分間の情報のみを処理します。
- このモデルは、動画を、動画の非連続な画像フレームとして処理します。音声は含まれません。モデルで動画の一部のコンテンツが欠落している場合は、動画を短くして、モデルが動画コンテンツの大部分をキャプチャできるようにします。
- モデルは、音声情報やタイムスタンプ メタデータを処理しません。このため、字幕読み上げ音声や時間関連の情報(スピードやリズムなど)など、音声入力が必要なユースケースでは、モデルが適切に機能しない場合があります。
動画: 制限事項
Gemini マルチモーダル モデルは多くのマルチモーダル ユースケースに対応していますが、モデルの制限事項も理解しておく必要があります。
- コンテンツの管理: Google の安全に関するポリシーに違反する動画に対する回答は拒否されます。
- 非音声の認識: 音声をサポートするモデルでは、音声以外の音を認識する際に誤りが発生する可能性があります。
- 高速モーション: サンプリング レートが
1 秒あたり 1 フレーム(fps) に固定されているため、動画内の高速モーションを認識する際に誤りが発生する可能性があります。 - 音声文字変換の句読点:(Gemini 1.5 Flash を使用している場合)モデルから返される音声文字変換に句読点が含まれない場合があります。
音声: 要件と制限事項
音声: 要件
このセクションでは、サポートされている MIME タイプと、音声のリクエストあたりの上限について説明します。
サポートされている MIME タイプ
Gemini マルチモーダル モデルは、次の音声 MIME タイプをサポートしています。
音声 MIME タイプ | Gemini 1.5 Flash | Gemini 1.5 Pro |
---|---|---|
AAC - audio/aac |
||
FLAC - audio/flac |
||
MP3 - audio/mp3 |
||
MPA - audio/m4a |
||
MPEG - audio/mpeg |
||
MPGA - audio/mpga |
||
MP4 - audio/mp4 |
||
OPUS - audio/opus |
||
PCM - audio/pcm |
||
WAV - audio/wav |
||
WEBM - audio/webm |
リクエストあたりの上限
プロンプト リクエストには、最大で
音声: 制限事項
Gemini マルチモーダル モデルは多くのマルチモーダル ユースケースに対応していますが、モデルの制限事項も理解しておく必要があります。
- 非音声の認識: 音声をサポートするモデルでは、音声以外の音を認識する際に誤りが発生する可能性があります。
- 音声のみのタイムスタンプ: 音声のみのファイルのタイムスタンプを正確に生成するには、
generation_config
でaudio_timestamp
パラメータを構成する必要があります。 - 音声文字変換の句読点:(Gemini 1.5 Flash を使用している場合)モデルから返される音声文字変換に句読点が含まれない場合があります。
ドキュメント(PDF など): 要件、ベスト プラクティス、制限事項
ドキュメント: 要件
このセクションでは、サポートされている MIME タイプと、ドキュメント(PDF など)のリクエストあたりの上限について説明します。
サポートされている MIME タイプ
Gemini マルチモーダル モデルは、次のドキュメント MIME タイプをサポートしています。
ドキュメントの MIME タイプ | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
PDF - application/pdf |
|||
テキスト - text/plain |
リクエストあたりの上限
PDF は画像として扱われるため、PDF の 1 ページは 1 つの画像として扱われます。プロンプトで許可されるページ数は、モデルがサポートできる画像の数に制限されます。
- Gemini 1.0 Pro Vision: 16 ページ
- Gemini 1.5 Pro と Gemini 1.5 Flash: 1,000 ページ
ドキュメント: トークン化
PDF のトークン化
PDF は画像として扱われるため、PDF の各ページは画像と同じ方法でトークン化されます。
また、PDF の費用は Gemini の画像処理の料金に準じます。たとえば、Gemini API 呼び出しで 2 ページの PDF を含めると、入力として 2 つの画像を処理する場合の料金が発生します。
書式なしテキストのトークン化
書式なしテキスト ドキュメントはテキストとしてトークン化されます。たとえば、Gemini API 呼び出しで 100 語のテキスト ドキュメントを含めると、入力として 100 語を処理する場合の料金が発生します。
ドキュメント: ベスト プラクティス
PDF を使用する場合は、次のベスト プラクティスと情報を参考にしてください。
- プロンプトに 1 つの PDF が含まれている場合は、リクエスト内でテキスト プロンプトの前に PDF を配置します。
- ドキュメントが長い場合は、複数の PDF に分割して処理することを検討してください。
- スキャンした画像のテキストではなく、テキストとしてレンダリングされたテキストを含む PDF を使用します。この形式では、テキストが機械で判読可能になるため、スキャンした画像を PDF にした場合よりも、モデルによる編集、検索、操作が容易になります。これにより、契約書など、テキストの多いドキュメントを扱う際に最適な結果が得られます。
ドキュメント: 制限事項
Gemini マルチモーダル モデルは多くのマルチモーダル ユースケースに対応していますが、モデルの制限事項も理解しておく必要があります。
- 空間推論: PDF 内のテキストやオブジェクトの位置を正確に特定することはできません。オブジェクトの数も推定値しか返されない場合があります。
- 精度: PDF ドキュメント内の手書きテキストを解釈する際に、ハルシネーションが発生する可能性があります。