Usar Apexnova AI Hub con Cursor
Cursor permite sobrescribir la base URL de OpenAI en sus ajustes. Apúntala a la base compatible con OpenAI de la plataforma, añade a mano los nombres de modelo y las funciones de chat de Cursor funcionarán con los modelos de la plataforma y tu saldo.
Usa el endpoint estándar de chat completions (/v1/chat/completions), la misma ruta que los SDK y el Playground, con idéntica autenticación, límites, descuentos y facturación.
Qué llega realmente aquí
Cursor se diferencia de las demás guías: no todas las funciones llegan a la plataforma. Ajusta expectativas antes de configurar nada y evita preguntarte por qué parte del editor no cambió.
- Llega aquí: Chat, Inline Edit (Cmd-K) y todo lo que se apoye en chat completions estándar. Esas peticiones van a la base URL que indiques y se facturan desde tu saldo a precio de plataforma.
- No llega aquí: el autocompletado Tab. Cursor dice explícitamente que las claves propias solo funcionan con modelos de chat y que Tab sigue usando los modelos de Cursor, así que tu configuración no le afecta y nunca genera coste en la plataforma.
- Depende de la versión: Agent y Edit. Hay informes de que quedan bloqueados con clave propia, con un mensaje del tipo “Agent and Edit rely on custom models”. Es una decisión de producto de Cursor, ajena a qué servicio compatible con OpenAI uses, y cambiar de proveedor no lo soluciona: pruébalo en la versión que tengas.
Antes de empezar
- Cursor instalado y saldo positivo en la cuenta: sin saldo la API devuelve HTTP 402.
- Una API key creada en API Keys dentro de la consola. El valor sk- completo solo se muestra una vez, guárdalo en ese momento.
- Uno o varios modelos de chat elegidos en el catálogo de modelos: anota sus Public Model Names y prefiere modelos que admitan llamadas a herramientas.
1. Pon la clave y la base URL en los ajustes
No hay archivo de configuración que editar: todo está en el panel de ajustes. Ábrelo con Cmd+Shift+J (Ctrl+Shift+J en Windows y Linux) y ve a Models:
Cursor Settings (Cmd+Shift+J / Ctrl+Shift+J)
└─ Models
├─ API Keys
│ OpenAI API Key ............ sk-xxxxxxxx
│ Override OpenAI Base URL .. [x] enabled
│ Base URL ................ https://api.apexnova-consulting.com/v1
└─ Model Names
+ Add Model ............... glm-4.6
+ Add Model ............... deepseek-v4-flash| Ajuste | Qué poner |
|---|---|
OpenAI API Key | La API key sk- de tu consola, no una clave de OpenAI. |
Override OpenAI Base URL | Marca la casilla y escribe la base URL compatible con OpenAI de la plataforma, terminada en /v1. No incluyas /chat/completions: esa parte la añade Cursor. |
Model Names | Añade cada modelo con + Add Model. El nombre debe coincidir exactamente con el Public Model Name del catálogo. |
La sobrescritura solo afecta al tráfico que iría a OpenAI. Los modelos de la propia suscripción de Cursor siguen funcionando y eliges entre unos y otros por conversación.
2. Añadir los nombres de modelo
Cursor no consulta la lista de modelos de tu endpoint, así que cada modelo de la plataforma hay que añadirlo a mano en Model Names, y volver a hacerlo cada vez que empieces a usar uno nuevo.
⚠️ Con la sobrescritura activa, los nombres de modelo de OpenAI de la lista integrada de Cursor (los que empiezan por gpt-) también se envían aquí. Esos nombres no existen en la plataforma, así que devuelven 404 model_not_found: elige solo los modelos que hayas añadido tú.
3. Verificar
Comprueba primero la clave y la base URL por separado, así distingues un error de configuración del comportamiento propio de Cursor:
curl https://api.apexnova-consulting.com/v1/chat/completions \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-4.6",
"messages": [{"role": "user", "content": "ping"}]
}'Vuelve luego a Cursor: el botón Verify solo comprueba conectividad y autenticación, así que pasarlo no garantiza que la función sirva — envía además un mensaje real de Chat. Por último, comprueba en «Uso» de la consola que aparece la llamada con ese modelo.
Diagnóstico
- 401 —— La clave es incorrecta o está revocada. Asegúrate de que en OpenAI API Key está tu clave de la plataforma y no una de OpenAI.
- 404 model_not_found —— Casi siempre se ha seleccionado un modelo de la lista integrada de Cursor en vez de uno de los que añadiste. También puede quedar fuera de la lista blanca del espacio de trabajo de esa clave, o ser un modelo privado sin autorizar.
- Los modelos Claude fallan, o 422 —— Tienes activadas a la vez una clave propia de Anthropic y la sobrescritura de base URL de OpenAI: los modelos Claude se envían al endpoint sobrescrito en formato de petición de OpenAI y no encajan. Deja una sola vía: desactiva la clave de Anthropic y pásalo todo por la plataforma. También hay informes de que activar la clave de Anthropic marca sola la sobrescritura, así que conviene revisarlo.
- 429 —— Un tope de presupuesto del espacio de trabajo o de la clave, o un límite de RPM/TPM. Ajústalo en el espacio de trabajo.
- El autocompletado Tab no cambia y no aparece en «Uso» —— Es lo esperado, no un fallo de configuración: Tab usa siempre los modelos de Cursor, así que esas peticiones no llegan a la plataforma ni generan coste aquí.
Buenas prácticas
- Dale a Cursor su propia clave dentro de su propio espacio de trabajo, con tope de presupuesto y límites de RPM/TPM.
- ⚠️ No pongas lista blanca de IP en esta clave. Aunque uses tu propia clave, Cursor construye y envía la petición desde su backend, así que la IP de origen es su servidor y no tu equipo: una lista blanca dejaría fuera a Cursor por completo.
- La otra cara de lo mismo: las peticiones pasan por la infraestructura de Cursor y tu código va con ellas. Esto es así con cualquier servicio de modelos al que la apuntes; si te preocupa que el código salga de tu red, revisa antes el modo privacidad de Cursor.
- Configura una cadena de conmutación por error en «Fallback de modelos» para que un fallo del proveedor no te interrumpa. La facturación sigue al modelo que realmente respondió.