Skip to Content
モデルの使い方GeminiPDF・音声と構造化出力

Gemini の PDF・音声と構造化出力

このページでは、Gemini に PDF と音声を渡す方法と、構造化出力を得る方法を説明します。モデル ID とエンドポイントの URL は Gemini シリーズの概要を参照してください。

PDF と音声

ネイティブ API では inline_data で base64 エンコードしたファイルを渡します。mime_type には application/pdf、audio/wav、audio/mp3 などを指定します。

gemini_pdf.py
import os from google import genai from google.genai import types client = genai.Client( api_key=os.environ["OFOX_API_KEY"], http_options={"api_version": "v1beta", "base_url": "https://api.ofox.io/gemini"}, ) pdf = open("invoice.pdf", "rb").read() resp = client.models.generate_content( model="google/gemini-3.5-flash", contents=[types.Part.from_bytes(data=pdf, mime_type="application/pdf"), "この請求書の合計金額はいくらですか?"], ) print(resp.text)

OpenAI 互換 API では、PDF は file コンテンツブロック(file_data は data:application/pdf;base64,...)、音声は input_audio コンテンツブロック({"data": "<base64>", "format": "wav"})を使います。

構造化出力

ネイティブ API では generationConfig に responseMimeType と responseSchema を設定します。

gemini_json_schema.py
import os from google import genai from google.genai import types from pydantic import BaseModel class Price(BaseModel): price: float currency: str client = genai.Client( api_key=os.environ["OFOX_API_KEY"], http_options={"api_version": "v1beta", "base_url": "https://api.ofox.io/gemini"}, ) resp = client.models.generate_content( model="google/gemini-3.5-flash", contents="バットとボールは合わせて 1.10 ドルで、バットはボールより 1 ドル高い。ボールはいくら?", config=types.GenerateContentConfig(response_mime_type="application/json", response_schema=Price), ) print(resp.parsed)

OpenAI 互換 API では response_format: {"type": "json_schema", ...} を使います。書き方は構造化出力を参照してください。

その他のエラーはよくあるエラーを参照してください。

最終更新日