Skip to Content
ModelosGeminiPDF, audio y salida estructurada

PDF, audio y salida estructurada en Gemini

Esta página explica cómo enviar PDF y audio a Gemini y cómo obtener salida estructurada. Los IDs de modelo y las URL de los endpoints están en el resumen de la familia Gemini.

PDF y audio

El endpoint nativo recibe los archivos codificados en base64 mediante inline_data, con mime_type igual a application/pdf, audio/wav, audio/mp3, etc.:

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"), "¿Cuál es el importe total de esta factura?"], ) print(resp.text)

En el endpoint compatible con OpenAI, el PDF se envía con un bloque de contenido file (file_data igual a data:application/pdf;base64,...) y el audio con un bloque de contenido input_audio ({"data": "<base64>", "format": "wav"}).

Salida estructurada

En el endpoint nativo, configure responseMimeType y responseSchema en 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.ai/gemini"}, ) resp = client.models.generate_content( model="google/gemini-3.5-flash", contents="Un bate y una pelota cuestan 1,10 dólares en total. El bate cuesta 1 dólar más que la pelota. ¿Cuánto cuesta la pelota?", config=types.GenerateContentConfig(response_mime_type="application/json", response_schema=Price), ) print(resp.parsed)

El endpoint compatible con OpenAI usa response_format: {"type": "json_schema", ...}; consulte el formato en Salida estructurada.

Otros errores: Errores habituales.

Última actualización: