Docs · Cursor
Three fields in a settings file
FreeModel is an AI model gateway: one key for 477 models across dozens of providers, routed by task with free capacity tried first. Cursor can talk to any OpenAI-compatible endpoint, so the setup is a base URL, a key and a model name — nothing to install.
Setup
In Cursor, open settings and add an OpenAI-compatible provider:
{
"openai": {
"baseUrl": "https://freemodel.online/v1",
"apiKey": "sk-your-key"
}
}
The base ends at /v1. Cursor appends /chat/completions
itself — adding it here gives you /v1/chat/completions/chat/completions and
a 404.
Choosing a model inside Cursor
Cursor's model picker expects names it recognises. With a custom provider you supply one yourself, so put a route in and let the router worry about it:
| Use case | Model id |
|---|---|
| Everyday editing, cost-conscious | auto/best-free |
| Harder refactors | auto/best-coding |
| Something quick | auto/best-fast |
If Cursor insists on a recognised name, use a concrete id from /v1/models instead — the endpoint lists every id this gateway will accept.
If it does not work
| Symptom | Cause |
|---|---|
| 404 | Base URL has an extra path segment — it should end at /v1 |
| 401 | Key present but wrong, or Cursor is still using its own provider setting instead of yours |
| Model rejected before any request | Cursor validates some names locally; switch to a concrete id from /v1/models |
| Silent fallback to a Cursor model | The custom provider was not selected — check that it is active, not just saved |