How do I use CloudGPU as a custom base URL in Cursor?

In Cursor, configure the custom API base URL as https://cloudgpu.app/v1, use a CloudGPU API key, and add an open-model ID supported by the endpoint.

What to enter

The base URL is https://cloudgpu.app/v1. It includes /v1 once. It is not https://cloudgpu.app/v1/chat/completions. Clients that speak this protocol append /chat/completions themselves. A base URL that already ends in /chat/completions, or in /v1/v1, sends the request to a path the API docs do not list.

Create the key in the API console and paste it into Cursor’s key field. Leave it there. This page does not contain a key, and a screenshot of that field should not either. Samples use the environment variable CLOUDGPU_API_KEY.

The model ID has to be one the endpoint supports. Read the IDs from GET https://cloudgpu.app/v1/models and pick an open-model ID from that list. The list is not a statement that every ID is an open model. See how to use an OpenAI-compatible API for open models. In any sample here, your-open-model-id is a placeholder, not an ID to send.

Where those fields are in Cursor

Cursor’s help page Bring your own API key (read 2026-11-11) says to open Cursor Settings, then Models, paste the API key into the text field, and click Save. The same page says custom API keys only work with chat models, and that Tab completion continues using Cursor’s built-in models. Setting a custom base URL here does not mean every Cursor feature uses it.

That help page does not name a base-URL control. The label “Override OpenAI Base URL” is the control a Cursor staff reply names in the forum thread Can the API key and base URL corresponding to a custom model be set separately? (read 2026-11-11). Where your build shows “Override OpenAI Base URL”, turn it on and enter https://cloudgpu.app/v1. If the label has moved, use the OpenAI API key field and the base URL override next to it.

Then add a custom model whose ID is an open-model ID from GET /v1/models, and select that entry for the chat request. A built-in name in the picker is not a substitute for that ID.

A read-only check

This command only lists models. It was not run while writing this page. Export your key in the environment before you run it. Do not paste the key into the command.

curl -sS "https://cloudgpu.app/v1/models" \
  -H "Authorization: Bearer ${CLOUDGPU_API_KEY}"

GET /v1/models is the model list on the API docs. Use an id from the response that is an open model you intend to call. Do not send your-open-model-id.

When a custom-model request fails

The API docs error table lists these cases:

Status Code When
401 missing_authorization No Authorization header.
401 invalid_api_key Key unknown or revoked.
400 model_not_found Model id not in catalog. See GET /v1/models.

Cursor’s help page says that if a key is invalid or rejected by the provider, requests using that provider fail until you update or remove the key.

A base URL with a repeated /v1, or with /chat/completions already on the end, is the path mistake described above. This page does not assign that mistake a status code.

An empty reply from a thinking model is a separate case, covered in why the reply is empty from a thinking model.

Top up the prepaid balance on payments before you expect a completed request. This page does not state a minimum amount.

Frequently asked questions

Which base URL?

https://cloudgpu.app/v1, including /v1 once, and not /chat/completions.

Which model ID?

An open-model ID that GET https://cloudgpu.app/v1/models returns and that you intend to call. The placeholder your-open-model-id in this guide is not an ID.

Why might a custom-model request fail?

The API docs list 401 missing_authorization when there is no Authorization header, 401 invalid_api_key when the key is unknown or revoked, and 400 model_not_found when the model id is not in the catalog. A base URL that repeats /v1 or already includes /chat/completions sends the request to the wrong path. Custom API keys only work with chat models. Tab completion continues using the models built into Cursor.

Sources (read 2026-11-11)