Skip to Content
ModèlesGeminiPDF, audio et sortie structurée

PDF, audio et sortie structurée avec Gemini

Cette page explique comment transmettre des PDF et des fichiers audio à Gemini, et comment obtenir une sortie structurée. Les ID de modèle et les adresses d’endpoint figurent dans la présentation de la famille Gemini.

PDF et audio

Avec l’API native, transmettez le fichier encodé en base64 via inline_data, avec un mime_type comme application/pdf, audio/wav ou 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"), "Quel est le montant total de cette facture ?"], ) print(resp.text)

Avec l’API compatible OpenAI, les PDF passent par un bloc de contenu file (file_data au format data:application/pdf;base64,...), et l’audio par un bloc de contenu input_audio ({"data": "<base64>", "format": "wav"}).

Sortie structurée

Avec l’API native, définissez responseMimeType et responseSchema dans generationConfig :

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="Une batte et une balle coûtent 1,10 dollar au total, et la batte coûte 1 dollar de plus que la balle. Combien coûte la balle ?", config=types.GenerateContentConfig(response_mime_type="application/json", response_schema=Price), ) print(resp.parsed)

L’API compatible OpenAI utilise response_format: {"type": "json_schema", ...} ; voir Sortie structurée.

Les autres erreurs sont décrites dans Erreurs courantes.

Dernière mise à jour le