Google actualiza Structured Outputs en la Gemini API para ampliar soporte de JSON Schema y mejorar el orden de propiedades en las respuestas. ¿Por qué te importa esto? Porque facilita que modelos y aplicaciones intercambien datos fiables sin tener que escribir mil validadores a mano.
Qué cambia en la Gemini API
Las mejoras se orientan a dos cosas concretas: compatibilidad más amplia con JSON Schema y preservación del orden de propiedades definido en el esquema. Esto significa que la API produce salidas que se ajustan de forma más estricta y predecible a lo que tú defines, lo cual es clave para extracción de datos y pipelines multi-agente.
En términos técnicos esto aplica a todos los modelos Gemini activamente soportados, y a partir de Gemini 2.5 hay soporte consistente también en la API de compatibilidad con OpenAI.
Soporte ampliado para JSON Schema
Antes la Gemini API ya tenía un objeto Schema basado en OpenAPI 3.0. Ahora se suma soporte nativo para JSON Schema, lo que permite usar librerías populares directamente: Pydantic en Python y Zod en JavaScript/TypeScript funcionan out-of-the-box.
Además se añadieron varias palabras clave frecuentemente solicitadas por desarrolladores:
anyOfpara estructuras condicionales o uniones.$refpara esquemas recursivos.minimumymaximumpara restricciones numéricas.additionalPropertiesytype: 'null'para mayor flexibilidad.prefixItemspara arrays con comportamiento tipo tupla.
Esto amplía la expresividad del esquema y reduce la necesidad de post-procesado o validaciones ad hoc.
Orden de propiedades implícito
Una actualización pequeña en apariencia pero grande en impacto: la API ahora preserva el orden de claves tal como aparecen en el esquema. ¿Por qué importa el orden? Porque muchos flujos esperan campos en una secuencia lógica: formularios, logs, pasos en un agente. Si el modelo entrega campos en el mismo orden del esquema, consumes esa salida sin reordenarla.
Esto es soportado para Gemini 2.5 en adelante y también en la API de compatibilidad. En la práctica verás ejemplos como extracción de moderación de contenido con Pydantic donde la salida respeta la disposición definida.
Casos de uso reales y ejemplos técnicos
Algunos partners tempranos muestran cómo esto mejora productos reales:
-
Agentic Users: redujeron costos y mejoraron la calidad en extracción de datos al combinar
PydanticconresponseJsonSchemapara obtener atributos de guías de marca desde texto e imagen. -
Alkimi AI: usa JSON Schema para pasar datos confiables en pipelines LLM de múltiples etapas. Eso facilita automatizar configuraciones de asistentes — su "Agent Wizard" — garantizando que cada etapa recibe exactamente lo que espera.
Ejemplo mínimo de JSON Schema que aprovecha anyOf y $ref (representación breve):
{
"type": "object",
"properties": {
"id": { "type": "string" },
"metadata": {
"$ref": "#/definitions/metadata"
}
},
"definitions": {
"metadata": {
"anyOf": [
{ "type": "null" },
{
"type": "object",
"properties": {
"score": { "type": "number", "minimum": 0, "maximum": 1 }
}
}
]
}
}
}
Con esto, tu pipeline puede consumir la salida directamente con Pydantic o Zod y saber que los campos vendrán en el orden que definiste.
Cómo empezar (guía rápida)
- Define tu JSON Schema con las palabras clave que necesites:
anyOf,$ref,minimum,maximum,prefixItems, etc. - En la petición a Gemini, usa Structured Outputs/responseJsonSchema o el equivalente para funciones. Asegúrate de apuntar a modelos Gemini 2.5+ si necesitas preservación de orden.
- Valida la respuesta con
PydanticoZod. Con la compatibilidad nativa, el mapeo suele ser directo. - Si trabajas con agentes, encadena salidas como entradas formateadas para evitar capas de traducción adicionales.
Impacto y consideraciones
Estas mejoras reducen la fricción entre modelos y sistemas que esperan datos estructurados. Menos parsing ad hoc, menos errores por campos faltantes u orden inesperado, y pipelines más eficientes.
No es magia: aún debes diseñar esquemas claros, manejar errores de validación y considerar límites de longitud o tokens. Pero ahora tienes herramientas más robustas para garantizar que la salida del modelo sea consistente y procesable.
Suele ocurrir que el verdadero ahorro no está solo en la latencia o en el costo por token, sino en el tiempo que dejas de invertir en arreglar integraciones rotas. ¿No es eso lo que todos buscamos al automatizar procesos con IA?
Fuente original
https://blog.google/technology/developers/gemini-api-structured-outputs
