Gabriel Neuman
Gabriel Neuman
LLM · PROXY

Un solo endpoint compatible con OpenAI que junta el tier gratis de 11 proveedores con failover automático.

Para experimentar, prototipar o correr proyectos personales, pagar tres APIs distintas es un dolor. Este proxy te da un endpoint OpenAI-compatible, rota entre proveedores cuando uno se cae, y te deja debajo del tope gratis de cada uno.

Estrellas
4k★
Lenguaje
TypeScript
Tokens / mes
1B+
Revisado
22 may 2026
Lo que ofrece

De un vistazo, lo que vas a obtener si lo instalas.

  • ·
    Compatible con OpenAI

    Cambias la base_url a tu servidor local y todo el SDK de OpenAI sigue funcionando. LangChain, LlamaIndex y similares también.

  • ·
    Failover automático

    Si Gemini se cae o se rate-limitea, el router salta a Groq, después a Cerebras, hasta 20 intentos por request.

  • ·
    11 proveedores

    Google, Groq, Cerebras, SambaNova, Mistral, OpenRouter, GitHub Models, Cloudflare, Cohere, Z.ai y NVIDIA.

  • ·
    Tool calling

    Las llamadas tipo OpenAI con tools pasan transparente a través del proxy y vuelven con la misma forma.

  • ·
    Dashboard incluido

    UI en React para administrar keys, reordenar la cadena de fallback, ver analítica y probar prompts en un playground.

Por qué importa

El contexto detrás del repo.

Cada laboratorio serio de IA ofrece hoy un tier gratis. Unos pocos millones de tokens al mes, unas miles de requests al día. Por separado cada uno es un juguete. Apilados, suman alrededor de 1.3 mil millones de tokens al mes de capacidad real, repartidos en decenas de modelos.

El problema es que apilarlos a mano es doloroso: catorce SDKs distintos, catorce límites de rate distintos, catorce lugares donde una request puede fallar. FreeLLMAPI colapsa todo eso en un solo endpoint compatible con OpenAI. Apuntas cualquier cliente de OpenAI a tu servidor local y rutea transparente entre los proveedores que tengas con keys configuradas.

Cuando un proveedor te tira 429 o 5xx, el router lo pone en cooldown y salta al siguiente de tu cadena. Y un contador por key te mantiene debajo de cada tope gratis sin que tengas que vigilarlo.

Para qué te sirve

Cuándo lo recomiendo (y cuándo no).

Lo recomiendo para experimentar con modelos abiertos sin gastar nada, para prototipos personales, para clases o talleres donde varios alumnos van a pegarle a una API, o para proyectos hobby con tráfico bajo.

El autor es muy explícito en que NO es para producción comercial: cada proveedor tiene términos de servicio que prohíben uso multi-tenant y modelos frontera (GPT-5, Claude Opus) no están en ningún tier gratis. Si tu producto le va a cobrar a clientes, paga las APIs como se debe.

Cómo arrancarlo

En 3 pasos, listo para probar.

  1. 01

    Clona e instala

    git clone https://github.com/tashfeenahmed/freellmapi.git
    cd freellmapi
    npm install

    Necesitas Node.js 20 o más nuevo. Funciona en macOS, Linux y Windows. Incluso corre en una Raspberry Pi 4.

  2. 02

    Genera tu llave de encriptación

    cp .env.example .env
    echo "ENCRYPTION_KEY=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")" >> .env

    Las API keys de los proveedores se guardan encriptadas con AES-256-GCM. Sin esta llave, no se pueden leer.

  3. 03

    Arranca y configura keys

    npm run dev

    Abre http://localhost:5173 (el dashboard). Pega las keys de los proveedores que tengas, ordena la cadena de fallback como quieras, y agarra tu unified key. Esa es la que apuntas con tu SDK de OpenAI.

Para qué sirve realmente

El uso típico es así: tienes 4 proveedores con tier gratis. Quieres usar el mejor para cada request, pero también quieres caer al siguiente cuando uno se queda sin cuota. FreeLLMAPI hace exactamente eso, oculto detrás de un endpoint que cualquier SDK de OpenAI ya sabe consumir.

Apuntas tu cliente al http://localhost:3001/v1 con un token tipo freellmapi-.... El router decide qué modelo usar (puede ser "auto" para que él elija, o un modelo específico). Si ese modelo está saturado, intenta el siguiente. Cada respuesta lleva un header X-Routed-Via que te dice qué proveedor sirvió realmente la llamada.

Usar el API desde tu código

Una vez corriendo, lo consumes con cualquier cliente OpenAI-compatible. Ejemplo en Python:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:3001/v1",
    api_key="freellmapi-tu-unified-key",
)

resp = client.chat.completions.create(
    model="auto",  # o un modelo específico tipo "gemini-2.5-flash"
    messages=[{"role": "user", "content": "Resume la caída de Roma en una oración."}],
)
print(resp.choices[0].message.content)
print("Servido por:", resp.headers.get("x-routed-via"))

Y desde curl:

curl http://localhost:3001/v1/chat/completions \
  -H "Authorization: Bearer freellmapi-tu-unified-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "hola"}]
  }'

Soporta también streaming (stream: true) y tool calling estilo OpenAI, que pasa transparente para los proveedores OpenAI-compatible y se traduce automáticamente para Gemini.

Lista de proveedores soportados

Proveedor Modelos clave
Google Gemini 2.5 Flash · 3.x previews
Groq Llama 3.3, Llama 4, GPT-OSS, Qwen3
Cerebras Qwen3 235B
SambaNova DeepSeek V3.x · Llama 4 · Gemma 3
Mistral Large 3 · Medium 3.5 · Codestral · Devstral
OpenRouter 19 modelos free-tier
GitHub Models GPT-4.1 · GPT-4o
Cloudflare Kimi K2 · GLM-4.7 · GPT-OSS · Granite 4
Cohere Command R+ · Command-A (trial)
Z.ai (Zhipu) GLM-4.5 · GLM-4.7 Flash
NVIDIA NIM (desactivado por default)

Lo que NO soporta

El scope está deliberadamente acotado. Lo que no está en la lista de features, no está implementado:

  • Embeddings (/v1/embeddings)
  • Generación de imágenes (/v1/images/*)
  • Audio o speech (/v1/audio/*)
  • Inputs multimodales (visión)
  • Completions legacy (/v1/completions)
  • Moderación (/v1/moderations)
  • Multi-tenant o billing por usuario (es single-user por diseño)

PRs que agreguen cualquiera de estos son bienvenidos.

Limitaciones honestas

Apilar tiers gratis tiene tradeoffs reales. El autor los pone enfrente:

  • Sin modelos frontera. El catálogo gratis topa cerca de Llama 3.3 70B, GLM-4.5, Qwen 3 Coder y Gemini 2.5 Pro. No vas a sacar razonamiento clase GPT-5 o Claude Opus. Para problemas duros, paga una API real.
  • La inteligencia baja conforme avanza el día. Tus modelos mejores (Gemini 2.5 Pro, GPT-4o vía GitHub Models) tienen el cap diario más bajo. Cuando se agotan, el router cae a modelos más débiles. Espera que la calidad efectiva del endpoint baje en las horas finales del día.
  • No es para producción comercial. Los ToS de cada proveedor prohíben uso multi-tenant. Si vas a cobrarle a clientes con esto, estás violando los términos.
  • Solo single-user por diseño. No hay sistema de auth para múltiples usuarios.

Mi recomendación

Es la herramienta correcta para una banda específica de casos: experimentar sin pagar, prototipar antes de comprometerse a un proveedor, dar clases o talleres donde quieres que varios alumnos jueguen sin gastar tu presupuesto.

No la uses para producción. No es para eso, el autor lo dice claro, y los ToS de los proveedores también.

De Gabriel Neuman para tu equipo

¿Quieres un agente IA propio en tu empresa?

Si tu equipo ya está usando IA para experimentos y quieres pasar a un agente que opera 24/7 sobre tus datos reales, te ayudo a montarlo desde cero o a auditar lo que ya tienes. Una llamada para entender qué necesitas.