1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GEAP マルチモーダル入門:Google Cloud上でGeminiに画像・PDFを解析させる方法

1
Last updated at Posted at 2026-06-14

はじめに

Google Cloud で Gemini を使うには、Gemini Enterprise Agent Platform(GEAP) を利用します。GEAP は Google Cloud Next '26(2026年4月)で発表された、旧 Vertex AI の後継プラットフォームです。

Gemini は テキストだけでなく、画像・PDF・動画・音声といったさまざまなデータを入力として受け取れます。この機能をマルチモーダルと呼びます。

本記事では Google Cloud の GEAP 経由で、画像と PDF を Gemini に渡して解析する方法を解説します。まずはCloud Shell上で実行してみましょう。


GEAP とは

GEAP は Gemini モデルの呼び出しからエージェントの構築・運用まで、AI 関連機能を一元管理する Google Cloud のプラットフォームです。

Google Cloud のエコシステムとネイティブに統合されているため、以下のような特徴があります。

  • IAM で認証・認可を管理:サービスアカウントや Workload Identity Federation と組み合わせられる
  • Cloud Audit Logs に記録:誰がいつ何のモデルを呼んだか追跡できる
  • VPC との連携:プライベートネットワーク内からの呼び出しに対応
  • 請求が Google Cloud に統合:他のサービスとまとめてコスト管理できる

事前準備

Vertex AI API を有効化する

GEAP は旧 Vertex AI のリブランドであり、有効化する API は Vertex AI API(aiplatform.googleapis.com です。

まず有効化済みかどうか確認します。

gcloud services list --enabled | grep aiplatform

以下のスクショのように、コマンド実行結果としてaiplatform.googleapis.comが表示された場合は有効になっています。(無効の場合は何も表示されません)
image.png

表示されない場合は以下のコマンドで有効化してください。

gcloud services enable aiplatform.googleapis.com

SDK をインストールする

pip install google-genai httpx

環境変数を設定する

export GOOGLE_CLOUD_PROJECT="your-project-id"
export GOOGLE_CLOUD_LOCATION="global"
export GOOGLE_GENAI_USE_ENTERPRISE="True"

GOOGLE_GENAI_USE_ENTERPRISE=True を設定することで、SDK のリクエスト先が GEAP(Google Cloud の Gemini 基盤)に切り替わります。


画像を解析する

JPEG・PNG などの画像ファイルをそのまま Gemini に渡せます。
今回準備した画像はこちら
※AIで生成した画像です。Google Cloud公式のものではありません。
sample.jpg

コードを書く

image.py

import pathlib
from google import genai
from google.genai import types
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

image_path = pathlib.Path("sample.jpg")  # 解析したい画像ファイル(image.pyと同階層に保存)

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=[
        types.Part.from_bytes(
            data=image_path.read_bytes(),
            mime_type="image/jpeg",
        ),
        "この画像を日本語で詳しく説明してください",
    ],
)

print(response.text)

実行する

python image.py

image.png


PDF を解析する

PDF ファイルも同様に渡せます。
今回準備したPDFの内容はこちら
※AIで生成したPDFです。Google Cloud公式のものではありません。
image.png

コードを書く

pdf.py

import pathlib
from google import genai
from google.genai import types
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

pdf_path = pathlib.Path("document.pdf")  # 解析したい PDF ファイル(pdf.pyと同階層に保存)

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=[
        types.Part.from_bytes(
            data=pdf_path.read_bytes(),
            mime_type="application/pdf",
        ),
        "この PDF の内容を日本語で要約してください",
    ],
)

print(response.text)

ファイルサイズの目安:PDF は 50MB まで types.Part.from_bytes() で送れます。それ以上の場合は client.files.upload() を使ってください。

実行する

python pdf.py

image.png


活用例

用途 入力 プロンプト例
請求書の読み取り PDF 「合計金額・日付・発行元を JSON で返してください」
画像の文字起こし 画像 「画像に写っているテキストをすべて書き出してください」
図解の説明 画像 「この図が示している内容を説明してください」
仕様書の要約 PDF 「このドキュメントの要点を箇条書きでまとめてください」
商品画像の説明文生成 画像 「この商品の紹介文を 100 文字で書いてください」

料金の目安

GEAP の利用料金は Google Cloud の請求にまとめて計上されます。

モデル 入力 出力
gemini-3.5-flash $1.50 / 100 万トークン $9.00 / 100 万トークン

Cloud Console の 「お支払い」→「レポート」 または 「APIs & Services」→「Gemini Enterprise Agent Platform API」 から使用量を確認できます。

なお、マルチモーダル入力は、それぞれトークンとして換算されます。
トークンへの換算の考え方については少々複雑なため、公式ドキュメントを参照してください。(機会があれば別途調査の上、記事にします。)
公式ドキュメントリンク:https://ai.google.dev/gemini-api/docs/tokens?hl=ja


まとめ

GEAP のマルチモーダル処理のポイントは 2 つです。

  1. types.Part.from_bytes() でファイルのバイト列と mime_type を渡す
  2. mime_type は画像なら "image/jpeg" / "image/png"、PDF なら "application/pdf"

テキストと組み合わせることで、画像の説明・PDF の要約・文字起こしなど幅広い用途に使えます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?