Skip to Content
模型用法GeminiPDF、音訊與結構化輸出

Gemini PDF、音訊與結構化輸出

本頁說明如何向 Gemini 傳入 PDF 與音訊,以及如何取得結構化輸出。模型 ID 與介面位址請見 Gemini 系列概覽。

PDF 與音訊

原生介面透過 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.ai/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 相容介面中,PDF 使用 file 內容區塊(file_data 為 data:application/pdf;base64,...),音訊使用 input_audio 內容區塊({"data": "<base64>", "format": "wav"})。

結構化輸出

原生介面在 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.ai/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 相容介面使用 response_format: {"type": "json_schema", ...},寫法請見結構化輸出。

其他錯誤請見常見錯誤。

最後更新於