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 |
|---|---|
| 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.