Using Cursor (Bring Your Own Key)

Use Onysoft models in Cursor through the OpenAI-compatible address

With Cursor's "Override OpenAI Base URL" setting you can use models from the Onysoft catalog inside Cursor. Requests arrive at the /v1/chat/completions endpoint and are billed from your Onysoft balance.

Setup

  1. Using custom models with your own API key requires a paid Cursor plan (Pro or higher); the free plan only offers Cursor's "Auto" mode.
  2. Create a separate key for Cursor on the API Keys page of the dashboard.
  3. In Cursor → Settings → Models → API Keys, paste your sk-ony- key into the "OpenAI API Key" field.
  4. Turn on "Override OpenAI Base URL" and enter https://api.onysoft.com/v1; do not append /chat/completions.
  5. Use "Add Custom Model" to enter the model's catalog id exactly (e.g. deepseek/deepseek-v4.1-flash, openai/gpt-5.3-codex, anthropic/claude-sonnet-5.5) and confirm with Verify. List of ids: the Models page or GET /v1/models.
  6. In the model picker of the chat window, turn Auto off and select the model you added.

Ask and Agent Modes

Ask (chat) mode sends standard chat requests. In Agent mode, Cursor sends different request formats (a Responses body, the ApplyPatch tool) for models named GPT and Claude; these formats are supported on the server side since 4 November 2026. Agent mode was tested with the real Cursor client on 6 November 2026; if you run into a problem, send us the model and the error text through support.

Connection Problems

If you see a connection error, set Settings → Network → HTTP Compatibility Mode to HTTP/1.1, check that the Base URL is https://api.onysoft.com/v1 and that the model id is written exactly, including case and slashes.

Limitations on the Cursor Side

Balance and Rate Limit

Cursor does not send a maximum output limit; the balance pre-check uses the model's maximum output, so with a low balance requests can be rejected with "insufficient balance". You are charged for actual usage. Above 60 requests per minute Cursor shows "User API Key Rate limit exceeded"; a separate key for Cursor eases this.

Want help finding the right model?