Módulo 5: OpenRouter - Introducción

Setup de Cuenta OpenRouter

Descripción

Crearás cuenta OpenRouter y obtendrás API key para acceder a 100+ modelos.

Tiempo: 15 minutos
Dificultad: Muy baja


🎯 Objetivos

  • ✅ Crear cuenta OpenRouter
  • ✅ Obtener API key
  • ✅ Configurar .env
  • ✅ Verificar con curl

📝 Paso 1: Crear Cuenta

1.1 Signup:

  1. Visita: https://openrouter.ai/
  2. Click "Sign Up"
  3. Opciones:
    • Email + password
    • Google OAuth
    • GitHub OAuth

Recomendación: Google (1 click)


1.2 Verificación:

Si usaste email, verifica inbox (check spam).


💳 Paso 2: Credits y Billing

Free credits:

Algunos usuarios reciben $1 gratis para testing.

Verifica:

  • Dashboard → Credits
  • Balance disponible

Si necesitas agregar credits:

  1. Dashboard → Billing
  2. Add payment method (tarjeta)
  3. Add credits ($5, $10, $20, etc.)

Spending limits:

  • Set limit: $10/mes (recomendado)
  • Alert: $5/mes

🔑 Paso 3: Obtener API Key

3.1 Generar key:

  1. Dashboard → API Keys
  2. Click "Create Key"
  3. Name: "Module 5 - Learning"
  4. Click "Create"

3.2 Copiar key:

sk-or-v1-abc123...

⚠️ Solo verás una vez! Copia ahora.


3.3 Formato:

API keys OpenRouter:

sk-or-v1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Empieza con sk-or-v1-


🔐 Paso 4: Configurar .env

Crear/editar .env:

# .env
OPENROUTER_API_KEY=sk-or-v1-abc123...

Actualizar .gitignore:

# .gitignore
.env
.env.local

✅ Paso 5: Verificar con Curl

curl https://openrouter.ai/api/v1/models \
  -H "Authorization: Bearer $OPENROUTER_API_KEY"

Output esperado (primeras líneas):

{
  "data": [
    {
      "id": "openai/gpt-3.5-turbo",
      "name": "GPT-3.5 Turbo"
    },
    {
      "id": "anthropic/claude-3-haiku",
      "name": "Claude 3 Haiku"
    },
    ...
  ]
}

Si ves lista de modelos: ✅ API key funciona!


🧪 Paso 6: Test con Python

from dotenv import load_dotenv
import os
import requests

load_dotenv()
api_key = os.getenv("OPENROUTER_API_KEY")

if not api_key:
    print("❌ API key not found")
    exit(1)

print(f"✅ API Key: {api_key[:20]}...")

# List models
headers = {"Authorization": f"Bearer {api_key}"}
response = requests.get(
    "https://openrouter.ai/api/v1/models",
    headers=headers
)

if response.status_code == 200:
    models = response.json()["data"]
    print(f"✅ API funciona! {len(models)} modelos disponibles")
    print(f"Ejemplos: {models[0]['id']}, {models[1]['id']}")
else:
    print(f"❌ Error: {response.status_code}")

🐛 Troubleshooting

Error: 401 Unauthorized

Causa: API key incorrecta

Solución:

  • Verifica que key comienza con sk-or-v1-
  • No espacios al inicio/final
  • Regenera key si necesario

Error: 402 Payment Required

Causa: Credits agotados

Solución:

  • Dashboard → Add credits
  • Mínimo $5

📊 Dashboard Overview

Explorar dashboard:

1. Models:

  • 100+ modelos disponibles
  • Filtros: Provider, Cost, Context

2. Usage:

  • Requests por modelo
  • Costo acumulado
  • Gráficas

3. API Keys:

  • Manage keys
  • Revoke keys

✅ Resumen

  • Cuenta OpenRouter creada
  • API key obtenida (sk-or-v1-...)
  • .env configurado
  • Verificado con curl y Python
  • Listo para usar 100+ modelos

Siguiente: 03-primeros-requests.md

Harás requests a múltiples modelos (GPT, Claude, Gemini) con misma API.

Tiempo: 20 min