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 caseModel id
Everyday editing, cost-consciousauto/best-free
Harder refactorsauto/best-coding
Something quickauto/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

SymptomCause
404Base URL has an extra path segment — it should end at /v1
401Key present but wrong, or Cursor is still using its own provider setting instead of yours
Model rejected before any requestCursor validates some names locally; switch to a concrete id from /v1/models
Silent fallback to a Cursor modelThe custom provider was not selected — check that it is active, not just saved

Next