
FreeLLMAPI is a self-hosted, MIT-licensed router that turns the free tiers of dozens of AI labs into one working inference endpoint. Every serious lab now ships a free tier — a few million tokens a month, a few thousand requests a day — and on its own each one is a toy. Stacked together they add up: the project counts roughly 7.4 billion tokens per month of listed free-tier capacity across 34 providers, 474 model families and 635 free provider endpoints (584 chat, 41 embeddings, 7 transcription, 3 video).
The problem it solves is the plumbing. Stacking those tiers by hand means thirty-four SDKs, thirty-four rate limits and thirty-four places a request can fail — and the free-tier landscape shifts weekly as providers launch models, retire them and quietly tighten quotas. FreeLLMAPI collapses all of it into a single /v1 base URL, points any OpenAI client library at your own machine, and keeps the catalog current by pulling a signed feed instead of waiting for you to run a git pull.
It runs locally as a Node 20+ server — about 40 MB RSS at idle — on Windows, macOS, Linux or a small ARM board such as a Raspberry Pi, with a React admin dashboard on port 3001. Provider keys are stored AES-256-GCM encrypted in SQLite and decrypted in memory per request, and your applications only ever see one unified freellmapi-… bearer token. Requests go from your machine to the upstream providers you enabled; the catalog server never sees your prompts, completions or provider keys.
| Surface | What it serves |
|---|---|
/v1/chat/completions | Streaming and non-streaming chat, tool calling, vision input — the main surface |
/v1/responses | The surface Codex CLI needs |
/v1/completions | Legacy completions, what editor ghost-text autocomplete uses |
/v1/embeddings | Embeddings across whichever providers serve them |
/v1/images/generations, /v1/videos/generations | Image and video generation; video jobs are normalized across synchronous and queued providers and return a completed MP4 |
/v1/audio/speech, /v1/audio/transcriptions | Text to speech and speech to text, including your own OpenAI-compatible media endpoints |
/v1/messages | Anthropic's wire format over the same router, so Claude Code and the official Anthropic SDKs run against the free pool |
/v1beta | Native Gemini surface — generateContent, streaming, token counting, models — for Gemini CLI |
| Ollama emulation (opt-in) | NDJSON chat and generate, tags, metadata and embeddings for Zed, JetBrains and other local-model clients |
/mcp | An MCP server ChatGPT and other MCP clients can call to run inference, list usable models, inspect provider health, usage, cache and routing metadata, or change the routing strategy |
/v1/docs | A dependency-free OpenAPI viewer |
model: "auto" — or auto:fast, auto:smart, or one of your own named profiles.auto:<profile>. Chains get renamed in place from the chain manager.tool_calls — alongside response_format, seed, logprobs, penalties and the rest, passed through per provider.X-Routed-Via: <platform>/<model> header so you can see which provider actually served it.Anything that can target an OpenAI-compatible base URL works: set it to http://localhost:3001/v1 with the unified key from the dashboard. That covers Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, Roo Code, OpenCode, Aider, Continue, Goose, Qwen Code, Kilo Code, Crush, Zed and JetBrains AI, plus any OpenAI, Anthropic, Gemini or Ollama client. Most agents configure themselves with one command that reads your live catalog, backs up the existing config and merges into it:
npx freellmapi setup-claude --url http://localhost:3001 --api-key <unified-key>npx freellmapi launch (Claude Code) and launch-codex (Codex) keep credentials out of config files entirely, every generator supports --dry-run so you can see what would change, and the router doubles as an MCP server your agents can introspect mid-session. Provider keys can be managed from the terminal too, with a dashboard session token, through npx freellmapi keys add|list|remove|test <platform>, where the test subcommand re-checks stored keys. ChatGPT reaches the same local router through a private Secure MCP Tunnel: the ask_freellmapi tool routes a task through /v1/chat/completions and returns the answer with served-model, fallback, cache, execution and token metadata, with base URL and bearer auth living in the tunnel-client configuration rather than in a URL.
curl -fsSL https://freellmapi.co/install.sh | bash creates ~/freellmapi, generates an encryption key, pulls the image and starts the container. Re-running is safe: your .env and encryption key are preserved and the container updates to :latest. Docker Compose, local development, declarative startup config, LAN access and backups are all in the install docs..dmg builds for Apple Silicon and Intel (macOS 12 Monterey or later, each with a ZIP alternative) and a Windows .exe installer are attached to every release, and there is no account or password to set up in the desktop build — the dashboard signs itself in with a hidden local account.fla_ key covers every router you run — desktop, homelab, Raspberry Pi.FreeLLMAPI, OmniRoute, OpenRouter and AIHubMix all answer the same question — one endpoint instead of many — but they answer it from opposite directions. The provider and token counts are each project's own published figures and are not counted the same way, so treat them as scale indicators rather than a scoreboard.
| FreeLLMAPI | OmniRoute | OpenRouter | AIHubMix | |
|---|---|---|---|---|
| Shape | Self-hosted router on your own machine | Self-hosted gateway (npm, Docker, Electron, PWA, Termux) | Hosted service you sign up for | Hosted, commercially licensed model reseller |
| What the pool is | Free tiers of 34 providers: 474 families, 635 endpoints, about 7.4B tokens per month by its own count | 236 providers, of which 90+ free are tracked — about 1.6B tokens per month by its own count | 500+ paid and free models; free models are rate-limited and change often | 500+ paid models, no free tier at all |
| Keys | AES-256-GCM in local SQLite; apps see one unified freellmapi-… token | Local encrypted key store | Your OpenRouter key; the upstream keys are theirs | Your AIHubMix key |
| Surfaces | OpenAI-style, Anthropic /v1/messages, Gemini /v1beta, Ollama emulation, MCP at /mcp | OpenAI-compatible, MCP tools and an A2A server | OpenAI-compatible plus Anthropic and Gemini paths | OpenAI Chat and Responses, Anthropic Messages, Gemini |
| Money | Router MIT and free; $19/yr or $49 once only for the live catalog | Free, MIT | Pay-as-you-go credits; separate free-model tier with daily caps | Pay-as-you-go only, with no free credits for experimentation |
| Where it runs | Node 20+ locally: Windows, macOS, Linux, Raspberry Pi, Docker, tray app, Termux | npm, Docker, Electron, PWA, Termux, source | Cloud only | Cloud only, US Google Cloud |
Against OpenRouter. OpenRouter is the mature, hosted option: 500+ models from every major lab, price discovery across providers, prompt caching, rankings, official SDKs and a free-model tier with daily caps. Nothing here replaces that convenience. What it does not give you is control of the keys — OpenRouter holds the upstream relationship and bills you — and its free tier is a curated subset with hard request caps. FreeLLMAPI is the opposite trade: more setup, no vendor in the middle, every provider key on your own disk, and a much wider pool of free capacity because you are using each lab's own account rather than a broker's allotment.
Against OmniRoute. This is the closest sibling in the catalog, and the honest answer is that the two overlap heavily: both are free, MIT-licensed, self-hosted gateways that drain free tiers behind an OpenAI-compatible endpoint, both track per-key quotas, both expose MCP, and both ship Docker, desktop and Termux paths. OmniRoute casts a much wider net — 236 providers including paid ones, 17 routing strategies, an A2A server, guardrails, evals and a large automated test suite. FreeLLMAPI is narrower and more opinionated about the free-tier problem specifically: 34 free providers, a signed self-updating catalog with a published per-model quota table, Fusion multi-model synthesis, Anthropic and Gemini wire formats and Ollama emulation under the same router. If you want one gateway for everything including paid models, OmniRoute fits better; if the whole point is squeezing the free tiers and you want the catalog maintained for you, FreeLLMAPI is the tighter tool. Running both side by side is reasonable — they listen on different ports.
Against AIHubMix. AIHubMix is a hosted reseller with official authorisation for Azure, AWS, GCP, Alibaba Cloud and Baidu Cloud models, four wire protocols, structured-output repair and no free tier whatsoever. If you need a supported, invoiced, always-on gateway for production traffic, that is the right shape and FreeLLMAPI is the wrong one. FreeLLMAPI is for the opposite situation: experimentation on free capacity, with your own keys and no middleman, at the cost of SLA, frontier models and production promises.
Against local engines and desktop apps — Ollama, LM Studio, vLLM, LocalAI, Jan. These are not competitors so much as the other half of the setup. A local engine gives you unlimited tokens at the quality your hardware can hold; FreeLLMAPI gives you capped tokens at frontier-adjacent quality from other people's GPUs. Configure any of them as a custom provider and one base URL covers both — a coding agent can fall back to a local model when every free tier is exhausted.
%APPDATA%\FreeLLMAPI\, ~/Library/Application Support/FreeLLMAPI/ or ~/.config/FreeLLMAPI/ yourself. The README also points out that a model is only as useful as its tool-calling quality, which varies provider by provider.Pick FreeLLMAPI if you want frontier-adjacent inference for free on your own machine, if you already hold free-tier accounts at several labs and want one endpoint instead of ten, or if you are wiring free capacity behind your coding agent. Pick OpenRouter if you would rather pay for a hosted gateway and skip the keys entirely. Pick OmniRoute if you want one gateway covering paid providers too, with a far larger provider list. Pick AIHubMix for a supported, invoiced, production-grade gateway. Pick Ollama or LM Studio if your priority is unlimited local tokens and the quality your hardware can hold rather than the largest free pool.
The simplest honest summary is that FreeLLMAPI is the best free-tier plumbing available, and free tiers are still free tiers: excellent for prototypes, benchmarks and learning, not a foundation for anything with users.