Comparison
FreeModel vs LiteLLM
These are not two versions of the same thing. LiteLLM is software you run; FreeModel is a service you call. That difference decides almost everything else.
The short answer
Pick LiteLLM if your traffic cannot leave your own infrastructure, if you want direct provider billing with no intermediary, or if you need to own the routing logic outright. You will run it, patch it, and pay for the servers.
Pick FreeModel if you want a working endpoint today without operating anything, and free-first routing is what you actually need. You give up control over where the requests go.
Side by side
| LiteLLM | FreeModel | |
|---|---|---|
| What it is | Self-hosted proxy (Docker, K8s, Terraform) | Hosted gateway |
| License | MIT for the core SDK and proxy; enterprise/ under a separate commercial license | Proprietary service |
| Who runs it | You | Us |
| Provider coverage | 100+ providers | 200+ models across three tiers |
| Where requests go | Provider calls only leave your network; routing, keys and logs stay inside | Requests pass through our gateway before reaching the provider |
| Billing | You pay each provider directly at their rates; no markup from LiteLLM | Free-first routing; paid fallback |
| Running cost | Infrastructure, a database, monitoring, and engineering time | None beyond usage |
| Needs a database | Yes, for keys and budgets (PostgreSQL) | No |
Where LiteLLM is the better choice
These are the reasons to pick it over us, stated plainly.
1. Your traffic cannot leave your infrastructure
LiteLLM is designed for this. Routing decisions, virtual keys, and logs stay inside your network — only the actual model call goes out. If you have a data-residency requirement or a security review that forbids third-party gateways, that requirement settles the choice rather than tipping it. We cannot match it: by definition, requests through FreeModel pass through our gateway.
2. You want to pay providers directly, with no party in between
LiteLLM adds no per-token markup. You pay each provider at their published rate, and the proxy is free. If your volume is high enough that any intermediary margin matters, self-hosting removes that line item entirely.
3. You need to own the routing logic
Fallback order, retry policy, budget enforcement, caching strategy: with LiteLLM these are yours to define in configuration. FreeModel's routing is our design decision, and you get a base URL rather than a policy file.
4. You need air-gapped deployment
Available on their Enterprise tier. Not something a hosted service can offer at all.
Where FreeModel is the better choice
1. You do not want to operate a gateway
Self-hosting LiteLLM means servers, a PostgreSQL instance, monitoring, upgrades and security patching — plus the latency and failure modes that come with running another service in the request path. If getting a model endpoint is a means to an end rather than the project itself, that overhead buys you nothing.
2. You want to start without a credit card
FreeModel routes to free capacity first by default. There is no self-hosted equivalent. With LiteLLM you still need your own keys and your own provider credit, so "free" depends on what your providers give you.
3. You want Anthropic-format endpoints without assembling them
Both OpenAI and Anthropic Messages formats work against the same endpoint, so tools like Claude Code can point at it directly.
4. The operational surface is the thing you are avoiding
Worth saying twice: LiteLLM's flexibility is real, and so is its cost in attention. If you are a small team shipping a product, an endpoint you do not maintain is frequently worth more than one you control completely.
Switching in either direction
From LiteLLM to FreeModel
base_url https://freemodel.online/v1 (OpenAI format)
https://freemodel.online/api/gateway (Anthropic format)
list models first: GET /v1/models (readable without a key)
Note the routing change: LiteLLM's fallback order is your configuration,
FreeModel's is ours. If you depended on a specific order, check it.
From FreeModel to LiteLLM
Run it: docker run -p 4000:4000 ghcr.io/berriai/litellm:main-latest
(a PostgreSQL instance is required for virtual keys and budgets)
Config: model_list entries, each with a provider key you supply
Then point your client at http://localhost:4000
Budget for: the server, the database, monitoring, and upgrade time
What each side is actually holding
LiteLLM's coverage is whatever your keys can reach across 100+ providers. That reach is broad, but it starts at zero and grows with the accounts you open. FreeModel's coverage is a fixed list you can read before you sign up.
That list carries 199 ids. Of those, 77% are chat models, 9% generate images, and 23%
cover the other modalities - video, speech synthesis, speech recognition, embeddings and
rerank. Six of the entries are routes such as auto/embed and
auto/rerank, each carrying a candidate count, so the depth behind a name is
readable before you call it. The trade is visible in those shares: a curated list is
smaller than 100+ providers and it is legible in a way an open-ended provider matrix is
not.
What LiteLLM holds that we do not is the machinery around the call: virtual keys, budgets, spend tracking, rate limits, caching and a fallback order you wrote yourself. That machinery is the reason to self-host, and it is why "which is cheaper" is the wrong first question here.
Three checks before you switch
Migrating between these two runs in opposite directions depending on which way you are going, but the checks are the same three.
- Step 1: diff the model ids. Pull
curl https://freemodel.online/v1/modelsand compare it against every id yourmodel_listnames. Anything missing ends the migration for that workload, and it is better to learn that from a curl than from a 404 at 3am. - Step 2: decide who owns routing. With LiteLLM, fallback order, retries, budgets and caching are configuration you write and can read. With FreeModel they are our design decision and you get a base URL. If a policy file is load-bearing in your setup, it has no counterpart here.
- Step 3: check the licence boundary. LiteLLM's core SDK and proxy are
MIT; the
enterprise/directory sits under a separate commercial licence. Confirm which parts you depend on before you plan around the word "free".
FreeModel vs LiteLLM FAQ
Is FreeModel a drop-in replacement for LiteLLM?
Can I run both, one in front of the other?
model_list rather than a
replacement for it: you keep budgets, logging and a single key surface in LiteLLM,
and it holds the upstream credential. The cost is one more hop in the request path.Does the MIT licence cover all of LiteLLM?
enterprise/ directory is released under a separate commercial licence.
That distinction matters if the feature you need (air-gapped deployment, for example)
is on the enterprise side, so read the licence for the parts you actually intend to
run.What does LiteLLM do that FreeModel does not?
Which one is cheaper to run?
Last updated 2026-09-20. LiteLLM pricing and licensing verified against their published pages on this date; check both projects before deciding.
Sources
Every third-party figure quoted on this site was read from the vendor documentation linked below, on the date stated. None of these links are affiliate links and none of these vendors paid to be listed. If a number here disagrees with the page it came from, the page is right — tell us and it gets corrected.
- OpenRouter — credit-purchase fees and free-model rate limits
- OpenRouter — rate-limit reference
- OpenRouter — public model list
- LiteLLM — licence, deployment options and supported models
- Cloudflare AI Gateway — features and pricing
- Vercel AI Gateway — features
- Portkey — plans
- Helicone — plans
- Model Context Protocol — specification
- OpenAI Python SDK — base_url and OPENAI_BASE_URL
- Anthropic Messages API — request format