0% read

Como Usar la API de Gemma 4 (Python, cURL y JavaScript)

abr. 7, 2026

Has jugado con Gemma 4 en una ventana de chat y ahora quieres construir algo con el. Bien — ahi es donde se pone divertido. Hay tres formas principales de llamar a Gemma 4 via API, y cada una tiene sentido para diferentes situaciones.

Vamos a recorrer las tres con codigo real que puedes copiar y ejecutar.

Opcion 1: API Local de Ollama (Gratis, Privado, Sin Limites)

Si ya has configurado Ollama localmente, tienes un servidor API ejecutandose en localhost:11434 ahora mismo. No necesitas clave API, sin limites de tasa, completamente gratis.

Python (requests)

import requests

response = requests.post("http://localhost:11434/api/generate", json={
    "model": "gemma4",
    "prompt": "Explain async/await in Python like I'm 10",
    "stream": False
})

print(response.json()["response"])

cURL

curl http://localhost:11434/api/generate -d '{
  "model": "gemma4",
  "prompt": "Explain async/await in Python like I am 10",
  "stream": false
}'

JavaScript (fetch)

const response = await fetch("http://localhost:11434/api/generate", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    model: "gemma4",
    prompt: "Explain async/await in Python like I'm 10",
    stream: false,
  }),
});

const data = await response.json();
console.log(data.response);

API de Chat de Ollama (Multi-turno)

Para conversaciones con historial de mensajes, usa el endpoint de chat:

import requests

response = requests.post("http://localhost:11434/api/chat", json={
    "model": "gemma4",
    "messages": [
        {"role": "system", "content": "You are a helpful coding tutor."},
        {"role": "user", "content": "What's the difference between a list and a tuple?"}
    ],
    "stream": False
})

print(response.json()["message"]["content"])

Ventajas: Costo cero, privacidad total, sin limites de tasa, funciona offline. Desventajas: La velocidad depende de tu hardware. Sin GPU = lento.

Opcion 2: API de Google AI Studio (Nivel Gratuito Disponible)

Google ofrece Gemma 4 a traves de su API de AI Studio. Obtienes un generoso nivel gratuito y es rapido porque se ejecuta en la infraestructura TPU de Google.

Obtener Tu Clave API

  1. Ve a aistudio.google.com
  2. Haz clic en "Get API Key" en la esquina superior derecha
  3. Crea una clave (toma 10 segundos)

Para un recorrido detallado, consulta nuestra guia de Google AI Studio.

Python (SDK google-generativeai)

pip install google-generativeai
import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")

model = genai.GenerativeModel("gemma-4-27b-it")
response = model.generate_content("Write a Python decorator for retry logic")

print(response.text)

cURL

curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-27b-it:generateContent?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{"text": "Write a Python decorator for retry logic"}]
    }]
  }'

Limites del Nivel Gratuito

Esto es lo que obtienes sin pagar nada:

  • 15 solicitudes por minuto (RPM)
  • 1,500 solicitudes por dia (RPD)
  • 1 millon de tokens por minuto

Eso es bastante generoso para desarrollo y proyectos pequenos. Solo alcanzaras los limites si estas construyendo algo con trafico real de usuarios.

Manejo de Errores

La API devuelve codigos de error especificos que deberias manejar:

import google.generativeai as genai
from google.api_core import exceptions

genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemma-4-27b-it")

try:
    response = model.generate_content("Your prompt here")
    print(response.text)
except exceptions.ResourceExhausted:
    print("Rate limit hit. Wait a minute and try again.")
except exceptions.InvalidArgument as e:
    print(f"Bad request: {e}")
except exceptions.NotFound:
    print("Model not found. Check the model name.")
except Exception as e:
    print(f"Unexpected error: {e}")

Opcion 3: API de OpenRouter (Compatible con OpenAI)

OpenRouter es genial si quieres cambiar entre modelos facilmente. Usa el mismo formato que la API de OpenAI, asi que si has construido algo con GPT, puedes cambiar a Gemma 4 cambiando una linea.

Obtener Tu Clave API

  1. Ve a openrouter.ai
  2. Registrate y agrega creditos ($5 minimo)
  3. Genera una clave API desde el panel

Python

import requests

response = requests.post(
    "https://openrouter.ai/api/v1/chat/completions",
    headers={
        "Authorization": "Bearer YOUR_OPENROUTER_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "google/gemma-4-27b-it",
        "messages": [
            {"role": "user", "content": "Compare React and Vue in 5 bullet points"}
        ],
    },
)

print(response.json()["choices"][0]["message"]["content"])

cURL

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_OPENROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemma-4-27b-it",
    "messages": [
      {"role": "user", "content": "Compare React and Vue in 5 bullet points"}
    ]
  }'

Usando el SDK de Python de OpenAI

Como OpenRouter es compatible con OpenAI, puedes usar el SDK oficial de OpenAI:

from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="YOUR_OPENROUTER_KEY",
)

response = client.chat.completions.create(
    model="google/gemma-4-27b-it",
    messages=[
        {"role": "user", "content": "Explain monads in plain English"}
    ],
)

print(response.choices[0].message.content)

Esto es especialmente bueno porque puedes cambiar entre Gemma 4, Claude, GPT, Llama y otros solo cambiando la cadena del modelo. ¿Quieres que el modelo llame a herramientas y APIs externas? Consulta nuestra guia de llamada de funciones.

Respuestas en Streaming

Nadie quiere esperar 30 segundos por un muro de texto. El streaming muestra tokens a medida que se generan — mucho mejor UX. Asi es como hacerlo con cada metodo.

Streaming con Ollama (Python)

import requests
import json

response = requests.post("http://localhost:11434/api/generate", json={
    "model": "gemma4",
    "prompt": "Write a short story about a debugging session at 3am",
    "stream": True
}, stream=True)

for line in response.iter_lines():
    if line:
        chunk = json.loads(line)
        print(chunk.get("response", ""), end="", flush=True)

Streaming con Google AI Studio (Python)

import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemma-4-27b-it")

response = model.generate_content(
    "Write a short story about a debugging session at 3am",
    stream=True
)

for chunk in response:
    print(chunk.text, end="", flush=True)

Streaming con OpenRouter (Python)

from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="YOUR_OPENROUTER_KEY",
)

stream = client.chat.completions.create(
    model="google/gemma-4-27b-it",
    messages=[{"role": "user", "content": "Write a short story about a debugging session at 3am"}],
    stream=True,
)

for chunk in stream:
    content = chunk.choices[0].delta.content
    if content:
        print(content, end="", flush=True)

Comparacion: ¿Cual API Deberias Usar?

CaracteristicaOllama (Local)Google AI StudioOpenRouter
CostoGratisNivel gratuito (15 RPM)Pago por token
VelocidadDepende del hardwareRapido (TPUs de Google)Rapido
PrivacidadCompleta (offline)Datos enviados a GoogleDatos enviados al proveedor
Limites de tasaNinguno15 RPM / 1,500 RPDBasado en creditos
ConfiguracionInstalar Ollama + modeloObtener clave APIRegistrarse + agregar creditos
Compatible OpenAIParcialNo (SDK propio)Si
Mejor paraPrivacidad, desarrolloPrototipado gratuitoProduccion, multi-modelo

Mi recomendacion:

  • ¿Construyendo un proyecto personal? Comienza con el nivel gratuito de Google AI Studio. Es rapido y gratis.
  • ¿La privacidad importa? Ejecuta Ollama localmente. Tus datos permanecen en tu maquina.
  • ¿App en produccion? OpenRouter te da mas flexibilidad y la capacidad de recurrir a otros modelos.
  • ¿Solo aprendiendo? Ollama. Sin claves API, sin limites, solo codigo.

Problemas Comunes

"Connection refused" en Ollama: Asegurate de que el servidor Ollama esta ejecutandose. En Mac, verifica si el icono de Ollama esta en la barra de menu. En Linux, ejecuta ollama serve primero.

"Model not found" en Google AI Studio: Los nombres de modelo cambian. Consulta la documentacion de AI Studio para IDs de modelo actuales.

Respuestas lentas en Ollama: Probablemente estas ejecutando en CPU. Eso esta bien — funciona, solo mas lento. Consulta nuestra guia de hardware para saber que esperar.

Timeouts: Para generaciones de larga duracion, aumenta el timeout de tu cliente HTTP. El modelo 31B de Gemma 4 puede tardar un rato en prompts complejos.

Siguientes Pasos

gemma4 — interact

Stop reading. Start building.

~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.

Launch Playground />
Gemma 4 AI

Gemma 4 AI

Related Guides

Como Usar la API de Gemma 4 (Python, cURL y JavaScript) | Blog