# Cursor

> Route Cursor through sference using an OpenAI-compatible custom model, alongside Cursor's own models.

Source: https://sference.com/docs/sference-code/cursor

Cursor supports custom OpenAI-compatible models. Add sference as a provider and its models appear alongside Cursor's own, so you can pick per chat.

## Configure

In Cursor: **Settings → Models → OpenAI API Key**, then enable **Override OpenAI Base URL**:

| Field | Value |
| --- | --- |
| Base URL | `https://api.sference.com/v1` |
| API Key | your `sk_...` sference key |
| Model | a catalog id, e.g. `zai-org/GLM-5.3` |

Add each model you want by name — Cursor does not enumerate the provider's catalog, so add the ids you use:

```
zai-org/GLM-5.3
zai-org/GLM-5.3-Flash
deepseek-ai/DeepSeek-V4.1-Flash
moonshotai/Kimi-K3
```

> **Overriding the base URL affects all custom models**
>
> Cursor's override applies to the OpenAI-compatible provider as a whole. If you already use a custom OpenAI-compatible endpoint, switch between the two rather than expecting both to be active at once. Cursor's own hosted models are unaffected.

## Choosing a model

| Model | Input / output per 1M | Use for |
| --- | --- | --- |
| `zai-org/GLM-5.3-Flash` | 0.20 / 0.60 | Inline completion, small edits, chat |
| `zai-org/GLM-5.3` | 1.20 / 4.20 | General coding turns, agent mode |
| `deepseek-ai/DeepSeek-V4.1-Flash` | 0.50 / 1.50 | Long-context work at low cost |
| `moonshotai/Kimi-K3` | 3.00 / 15.00 | Hard planning turns |

Live ids and rates: `GET https://api.sference.com/v1/models`.

## Cost control

- **Prefix caching** is the main lever — Cursor resends the system prompt and file context every turn. Keep the stable part first. See [Prompt caching](https://sference.com/docs/guides/prompt-caching).
- **Use Flash for inline work.** Tab completion and small edits do not need a frontier model.
- **Per-engineer attribution.** One key per engineer shows up separately in `GET /control/v1/usage/by-key`. See [Usage & analytics](https://sference.com/docs/usage).

> **Vision**
>
> Some catalog models accept images. Cursor's image attachments go through as content parts, so a vision-capable model can read screenshots. Check `capabilities.image_input.supported` on `GET /v1/models` before relying on it. See [Images and vision](https://sference.com/docs/guides/vision).

- [SferenceCode](https://sference.com/docs/sference-code): All harnesses, model choices, and what to expect.
- [Codex CLI](https://sference.com/docs/sference-code/codex): Custom provider in ~/.codex/config.toml.
- [Images and vision](https://sference.com/docs/guides/vision): Which models accept images, and how they bill.
