- REST en generativelanguage.googleapis.com: la API expone un endpoint REST estándar compatible con cualquier lenguaje. Google ofrece SDKs para Python, JavaScript, Go, Swift y Dart para simplificar la integración.
- Capa gratuita: Gemini 3.5 Flash mantiene un tier gratuito reducido en Google AI Studio. Gemini 3.1 Pro es solo de pago desde abril de 2026. No se requiere tarjeta de credito para empezar con Flash.
- Multimodalidad completa: una misma llamada a la API puede incluir texto, imágenes, audio, video y documentos PDF. No hay endpoints separados por modalidad, lo que simplifica la arquitectura del agente.
- Function calling y salida estructurada: Gemini puede invocar funciones definidas por el desarrollador y devolver JSON valido según un schema, lo que facilita la integración con sistemas externos y pipelines de datos.
- Caching y File API: el prompt caching reduce el coste en contextos repetidos; el File API permite subir archivos grandes para referenciarlos en múltiples llamadas sin reenviarlos en cada solicitud.
Introducción a la Gemini API
La Gemini API es la interfaz programatica que Google expone para acceder a los modelos
de la familia Gemini en producción. El endpoint principal es
generativelanguage.googleapis.com y sigue el estándar REST con autenticación
mediante clave de API o credenciales de Google Cloud. Cualquier lenguaje capaz de realizar solicitudes
HTTP puede integrar Gemini sin necesidad de SDK, aunque Google ofrece bibliotecas oficiales que
simplifican la gestión de autenticación, reintentos y streaming.
La API da acceso a todos los modelos de la familia Gemini: Gemini 3.1 Pro, Gemini 3.5 Flash y Gemini Flash-Lite, cada uno con diferentes equilibrios entre capacidad de razonamiento, velocidad y coste. Además de generación de texto, la API expone capacidades de embeddings, clasificación de contenido, ejecución de código en sandbox y grounding con Google Search.
El punto de entrada recomendado para desarrolladores nuevos en Gemini es ai.google.dev, donde Google publica la documentación oficial, guías de inicio rápido y el acceso a Google AI Studio, el entorno web de prototipado con capa gratuita. Una vez generada la clave de API en AI Studio, la misma clave funciona tanto para el entorno gratuito cómo para la API de pago al activar facturación.
Primeros pasos: clave de API y primera llamada
Obtener la clave de API en Google AI Studio
El proceso para obtener acceso a la Gemini API tiene tres pasos:
- Crear o acceder con una cuenta de Google en aistudio.google.com.
-
En el menu lateral, hacer clic en Get API key y crear una nueva clave. La clave
tiene el formato
AIza...y se muestra una sola vez. -
Almacenar la clave en una variable de entorno (
GEMINI_API_KEYes la convención habitual) en lugar de incluirla en el código fuente.
La capa gratuita de AI Studio no requiere introducir datos de tarjeta de credito. Gemini 3.5 Flash mantiene tier gratuito reducido. Para eliminar limites y obtener un SLA de disponibilidad, hay que activar la facturación en Google Cloud.
Primera llamada con Python
El SDK oficial de Python para Gemini es google-genai. La instalación y primera llamada
son:
pip install google-genai
import os
from google import genai
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Explica cómo funciona un agente de IA en tres parrafos."
)
print(response.text)
La respuesta se devuelve de forma sincrona para solicitudes cortas. Para respuestas largas o en tiempo
real, la API soporta streaming mediante el método generate_content_stream,
que devuelve un iterador de chunks de texto a medida que el modelo los genera:
for chunk in client.models.generate_content_stream(
model="gemini-3.5-flash",
contents="Escribe un analisis detallado de los patrones de diseno mas usados en Python."
):
print(chunk.text, end="", flush=True)
Primera llamada con JavaScript
npm install @google/genai
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Explica cómo funciona un agente de IA.",
});
console.log(response.text);
Primera llamada con REST directo
Si no se quiere instalar ningún SDK, la API acepta solicitudes HTTP estándar:
curl -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "Explica cómo funciona un agente de IA."}]
}]
}'
Capacidades multimodales de la Gemini API
Una misma llamada puede combinar texto, imágenes, audio, video y PDF sin cambiar el endpoint ni el modelo.
Imágenes
Se pueden enviar imágenes en base64 o via URL. Gemini puede analizar imágenes, responder preguntas sobre su contenido, comparar varias imágenes en el mismo contexto o extraer texto via OCR. Los formatos soportados son JPEG, PNG, WebP, HEIC y HEIF.
Audio
La API acepta audio en MP3, WAV, FLAC, OGG y otros formatos. Gemini puede transcribir, resumir, analizar el tono y responder preguntas sobre el contenido de grabaciones. Las duraciones largas se gestionan via File API para evitar limites de tamaño en la solicitud.
Video
Gemini puede analizar videos frame a frame o de forma holistica. Soporta formatos MP4, MOV, AVI y WebM. Para videos largos se usa el File API: se sube el archivo una vez y se referencia por URI en múltiples llamadas. La API puede localizar momentos específicos, transcribir y describir acciones.
PDF y documentos
Los PDFs se pueden enviar en base64 o via File API. Gemini los procesa página a página, extrayendo texto, tablas, gráficos e imágenes embebidas. Es especialmente útil para análisis de informes, contratos o documentación técnica que supera los limites de los modelos que solo aceptan texto extraido.
Ejemplo: análisis multimodal con imagen y texto
import base64
from google import genai
from google.genai import types
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
with open("diagrama_arquitectura.png", "rb") as f:
imagen_b64 = base64.standard_b64encode(f.read()).decode()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents=[
types.Part.from_bytes(
data=base64.b64decode(imagen_b64),
mime_type="image/png"
),
"Analiza este diagrama de arquitectura e identifica posibles cuellos de botella."
]
)
print(response.text)
File API: subida de archivos grandes
Para archivos de más de unos pocos megabytes, el enfoque base64 en la solicitud es ineficiente. El File API de Gemini permite subir el archivo una vez y referenciarlo por URI en múltiples llamadas. Los archivos se almacenan en los servidores de Google durante 48 horas:
video_file = client.files.upload(file="presentacion_producto.mp4")
response = client.models.generate_content(
model="gemini-3.1-pro",
contents=[video_file, "Resume los puntos principales de esta presentacion."]
)
print(response.text)
El File API es especialmente valioso para agentes que procesan el mismo documento en múltiples pasos: se sube el PDF o video una vez al inicio del flujo y se referencia en cada llamada posterior sin coste adicional de transferencia.
Function calling, salida estructurada y grounding
Las capacidades que convierten Gemini en el motor de agentes reales en producción.
Function calling (uso de herramientas)
El function calling de Gemini permite al modelo identificar cuando una pregunta del usuario requiere llamar a una función externa, extraer los parámetros necesarios de la conversación y devolver una solicitud de llamada estructurada. El desarrollador ejecuta la función en su propio código y devuelve el resultado al modelo para que genere la respuesta final.
from google import genai
from google.genai import types
def obtener_precio_accion(ticker: str) -> dict:
"""Devuelve el precio actual de una accion dado su ticker."""
# Aqui iria la llamada real a una API financiera
return {"ticker": ticker, "precio": 182.50, "moneda": "USD"}
herramienta_precio = types.FunctionDeclaration(
name="obtener_precio_accion",
description="Devuelve el precio actual de mercado de una accion.",
parameters={
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Simbolo bursatil de la empresa (ej: AAPL, GOOG)."
}
},
"required": ["ticker"]
}
)
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
herramientas = types.Tool(function_declarations=[herramienta_precio])
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Cuanto vale la accion de Apple ahora mismo?",
config=types.GenerateContentConfig(tools=[herramientas])
)
# Si el modelo quiere llamar a la funcion:
if response.candidates[0].content.parts[0].function_call:
fc = response.candidates[0].content.parts[0].function_call
resultado = obtener_precio_accion(fc.args["ticker"])
print(f"Resultado de la herramienta: {resultado}")
Salida estructurada (JSON schema)
Gemini puede devolver JSON valido según un schema definido por el desarrollador. Esto garantiza que la salida del modelo sea siempre parseable y compatible con los tipos de datos esperados en el sistema receptor, lo que es especialmente valioso en pipelines de extracción de datos y clasificación automática:
import json
schema_entidad = {
"type": "object",
"properties": {
"empresa": {"type": "string"},
"fecha_fundacion": {"type": "integer"},
"sector": {"type": "string"},
"pais": {"type": "string"}
},
"required": ["empresa", "fecha_fundacion", "sector", "pais"]
}
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Extrae la información de esta empresa: Google fue fundada en 1998 en Estados Unidos y opera en el sector tecnologico.",
config=types.GenerateContentConfig(
response_mime_type="application/json",
response_schema=schema_entidad
)
)
datos = json.loads(response.text)
print(datos) # {"empresa": "Google", "fecha_fundacion": 1998, ...}
Grounding con Google Search
El grounding con Google Search permite al modelo buscar información actualizada en internet antes de generar la respuesta. Se activa declarando la herramienta de busqueda en la configuración. Cuando el modelo detecta que la pregunta requiere información reciente, realiza internamente una busqueda y fundamenta la respuesta en los resultados obtenidos:
google_search_tool = types.Tool(google_search=types.GoogleSearch())
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Cuales fueron los resultados financieros de Google en el primer trimestre de 2026?",
config=types.GenerateContentConfig(tools=[google_search_tool])
)
print(response.text)
# La respuesta incluye información reciente con referencias a fuentes
El grounding es especialmente útil para agentes de investigación, asistentes de soporte que necesitan acceder a información de precios o disponibilidad en tiempo real, y cualquier caso de uso donde la precisión factual con fuentes verificables sea critica. Para datos que cambian con frecuencia, combinar grounding con Search y function calling sobre APIs propias es la arquitectura más robusta.
Ejecución de código en sandbox
La Gemini API incluye una herramienta de ejecución de código que permite al modelo escribir y ejecutar Python en un entorno sandbox aislado. El modelo puede generar gráficos, procesar datasets, resolver ecuaciones matemáticas y devolver los resultados al contexto de la conversación. Esta capacidad es gestionada completamente por Google; el desarrollador no necesita configurar ninguna infraestructura de ejecución:
code_execution_tool = types.Tool(code_execution=types.CodeExecution())
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Calcula la media, mediana y desviacion tipica de esta lista: [23, 45, 12, 67, 34, 89, 11, 55, 44, 78]",
config=types.GenerateContentConfig(tools=[code_execution_tool])
)
print(response.text) # Respuesta con calculos ejecutados realmente
Prompt caching
Para agentes en producción que envian el mismo contexto inicial en cada llamada (instrucciones del
sistema, documentos de referencia, ejemplos few-shot), el prompt caching de Gemini
puede reducir el coste hasta un 75% en los tokens cacheados. El caching se activa declarando el
contenido a cachear como un recurso CachedContent:
cached = client.caches.create(
model="gemini-3.5-flash",
contents=[documento_referencia_largo], # Contexto que se repite en cada llamada
ttl="3600s" # TTL de 1 hora
)
# Las llamadas posteriores referencian el cache por nombre
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Resume los puntos principales del documento.",
config=types.GenerateContentConfig(cached_content=cached.name)
)
Precios de la Gemini API
Precios actualizados a mayo 2026. El tier gratuito de Google AI Studio no requiere tarjeta de credito.
| Modelo | Input ($/MTok) | Output ($/MTok) | Contexto | Free tier (RPM) | Notas |
|---|---|---|---|---|---|
| Gemini 3.1 Pro | $2,00 | $12,00 | 2M tokens | Solo pago | Flagship 2026: razonamiento avanzado, solo de pago desde abr 2026 |
| Gemini 3.5 Flash | $1,50 | $9,00 | 1M tokens | Tier reducido | Modelo por defecto 2026: velocidad, multimodal y agentes |
| Gemini 3 Flash | $0,50 | $3,00 | 1M tokens | Tier reducido | Modelo rápido previo, compatible con multimodalidad |
| Gemini 3.5 Flash (cache) | ~$0,04 | — | — | — | Precio por tokens servidos desde cache (hasta 75% descuento) |
| Gemini Embeddings | Gratis | — | — | Sin limite | text-embedding-004 sin coste en AI Studio |
Tier gratuito vs API de pago
La diferencia fundamental entre el tier gratuito y la API de pago no es el precio por token, sino los limites de cuota:
- Tier gratuito: 15 RPM y 1M TPM para Flash, 2 RPM para Pro. Sin SLA de disponibilidad. Los datos pueden usarse para mejorar los modelos de Google (configurable).
- API de pago: cuotas más altas, SLA de disponibilidad, posibilidad de solicitar incrementos de cuota, acceso a modelos experimentales y funciones avanzadas de caching extendido.
Para proyectos en fase de prototipado o con volúmenes bajos de solicitudes, el tier gratuito es completamente funcional. El paso a pago se justifica cuando el volumen supera los limites gratuitos o cuando se necesita un SLA para un producto en producción.
Cálculo de costes para agentes
En un agente típico basado en Gemini 3.5 Flash, el coste estimado por 1.000 llamadas con un contexto medio de 2.000 tokens de entrada y 500 tokens de salida seria:
- Tokens de entrada: 1.000 x 2.000 = 2M tokens = $3,00 ($1,50/MTok)
- Tokens de salida: 1.000 x 500 = 500K tokens = $4,50 ($9/MTok)
- Total estimado: $7,50 por 1.000 llamadas
Con prompt caching para el contexto del sistema (supongamos 1.500 tokens repetidos en cada llamada), el ahorro seria del orden del 75% en esos tokens, reduciendo el coste total significativamente.
SDKs oficiales de la Gemini API
Google mantiene SDKs oficiales para los lenguajes más usados en desarrollo de agentes e integraciones backend.
Python
Paquete google-genai. Es el SDK más completo y el recomendado para agentes y scripts
de backend. Soporta streaming, function calling, File API y todas las funciones avanzadas.
Compatible con frameworks cómo LangChain y LlamaIndex.
JavaScript / Node.js
Paquete @google/genai. Compatible con Node.js y navegadores modernos via ESM.
Soporta streaming, function calling y multimodalidad. Ideal para aplicaciones web y APIs
de backend en entornos JavaScript.
Go, Swift y Dart
Google mantiene SDKs para Go (backend de alta concurrencia), Swift (aplicaciones nativas de Apple) y Dart/Flutter (aplicaciones moviles y de escritorio multiplataforma). Todos siguen la misma estructura de autenticación y cubren las capacidades principales de la API.
Ver todos los SDKsREST sin SDK
Para lenguajes sin SDK oficial (PHP, Ruby, Java sin Spring, etc.) o en entornos con restricciones
de dependencias, la Gemini API acepta solicitudes REST estándar autenticadas con la clave de API
en el parámetro de la URL o en el header Authorization: Bearer TOKEN. La estructura
del cuerpo de la solicitud es JSON y se documenta completamente en
ai.google.dev.
Integración con Google AI Studio cómo IDE web
Además del acceso programatico, Google AI Studio funciona como un entorno de desarrollo interactivo en el navegador. Desde AI Studio se puede: probar prompts en tiempo real, ajustar parámetros del modelo (temperatura, top-p, top-k), ver la respuesta cruda en JSON, exportar el código generado en Python o JavaScript y gestionar el historial de prompts. Es el punto de entrada ideal para diseñar y depurar prompts antes de integrarlos en el código.
Compatibilidad con Vertex AI
Los mismos modelos Gemini disponibles en la API de AI Studio son accesibles via Vertex AI, la plataforma ML enterprise de Google Cloud. La diferencia principal es el sistema de autenticación (credenciales de Google Cloud via Application Default Credentials en lugar de clave de API simple) y las garantías enterprise: SLA del 99,9%, cumplimiento HIPAA, SOC2 y GDPR, despliegue en regiones específicas y opciones de red privada. Para producción enterprise, Vertex AI es el camino recomendado.
Preguntas frecuentes sobre la Gemini API
¿Cómo obtengo una clave de API de Gemini?
Accede a aistudio.google.com
con tu cuenta de Google y haz clic en Get API key en el menu lateral.
La clave tiene el formato AIza... y se genera de forma inmediata sin necesidad
de tarjeta de credito. Guardala en una variable de entorno: nunca la incluyas directamente
en el código fuente ni en repositorios públicos.
¿Qué SDKs oficiales ofrece Google para la Gemini API?
Google ofrece SDKs oficiales para Python (google-genai),
JavaScript/Node.js (@google/genai), Go,
Swift y Dart. Todos se instalan desde los gestores de
paquetes estándar de cada lenguaje. Para lenguajes sin SDK oficial, la API acepta
solicitudes REST estándar autenticadas con la clave de API.
¿Cuál es el precio de Gemini 3.5 Flash por millón de tokens?
Gemini 3.5 Flash cuesta $1,50 por millón de tokens de entrada y $9 por millón de tokens de salida en la API de pago. Con prompt caching activado, el ahorro puede llegar al 75% en los tokens de contexto repetido. Gemini 3.5 Flash mantiene un tier gratuito reducido en Google AI Studio.
¿Qué es el File API de Gemini?
El File API permite subir archivos (imágenes, audio, video, PDF) a los servidores de Google y referenciarlos mediante una URI en múltiples llamadas a la API sin necesidad de reenviar el contenido en base64 en cada solicitud. Los archivos se almacenan durante 48 horas y pueden gestionarse (listar, eliminar) via la API. Es especialmente útil para agentes que procesan el mismo documento en varios pasos o para archivos grandes cómo videos.
¿Qué es el grounding con Google Search en la Gemini API?
El grounding con Google Search es una herramienta integrada que permite a Gemini buscar
información actualizada en internet antes de generar una respuesta. Se activa declarando
types.Tool(google_search=types.GoogleSearch()) en la configuración de la
llamada. El modelo decide autonomamente cuando realizar una busqueda y puede citar las
fuentes utilizadas, reduciendo alucinaciones en preguntas sobre hechos recientes.
¿Cuál es la diferencia entre Google AI Studio y la API de pago?
Google AI Studio ofrece acceso gratuito con limites de RPM y TPM reducidos, sin SLA de disponibilidad. Es ideal para prototipado, experimentación y proyectos con bajo volumen de solicitudes. La API de pago (al activar facturación en Google Cloud) elimina esos limites, ofrece mayor cuota, SLA de disponibilidad y acceso a funciones avanzadas. La misma clave de API generada en AI Studio funciona en ambos modos.
Empieza a usar Gemini CLI en tu terminal
Si prefieres un agente de coding que funcione directamente desde la línea de comandos sin configurar una API, Gemini CLI es la alternativa de código abierto de Google.
Guía de Gemini CLI