OpenCode con APIMaster.ai
Agrega APIMaster como proveedor compatible con OpenAI en OpenCode Desktop, con niveles opcionales de Reasoning mediante opencode.jsonc.
OpenCode Desktop es el cliente gráfico para OpenCode (actualmente en beta): sesiones de agente local, edición de archivos y ejecución de shell. APIMaster.ai es compatible con OpenAI — agrégalo en Settings → Providers → Custom provider.
Obtén tu API Key primero. Usa el placeholder
your_apimaster_keya continuación; las capturas de pantalla ocultan las claves reales.
Prerrequisitos
- OpenCode Desktop instalado desde opencode.ai/download.
- Windows:
opencode-desktop-win-x64.exe - macOS:
brew install --cask opencode-desktopo.dmg - Linux:
.deb/.rpm/ AppImage
- Windows:
- API Key de APIMaster desde la consola.
Paso 1 — Abrir Providers
- Inicia OpenCode Desktop y abre un workspace.
- Haz clic en el icono de engranaje (abajo a la izquierda).
- Selecciona Providers en la barra lateral.
- Desplázate hasta Custom provider (Añade un proveedor compatible con OpenAI mediante la URL base).
- Haz clic en + Connect.

Paso 2 — Formulario de proveedor personalizado
| Campo | Valor |
|---|---|
| Provider ID | apimaster |
| Display name | APIMaster.ai |
| Base URL | https://apimaster.ai/v1 |
| API key | Tu clave de APIMaster |

Deja Headers vacío a menos que te autentiques solo mediante headers.
Paso 3 — Añadir modelos y enviar
En la siguiente pantalla, asigna modelos (izquierda = etiqueta en OpenCode, derecha = model id enviado a APIMaster — normalmente el mismo):
| Izquierda | Derecha |
|---|---|
gpt-5.4 |
gpt-5.4 |
claude-sonnet-4-6 |
claude-sonnet-4-6 |
- Haz clic en + Add model para más filas.
- Haz clic en Submit.

Elige los ids del marketplace. Evita modelos solo de imagen (ej. gpt-image-2) para el chat del agente.
Paso 4 — Elegir un modelo
- Inicia o abre una sesión.
- Abre el desplegable de modelos debajo del campo de entrada.
- Bajo APIMaster.ai, selecciona un modelo (ej.
claude-sonnet-4-6).

Paso 5 — Probar
Envía hola o una pequeña tarea de codificación. Una respuesta normal del asistente (ediciones de archivos / shell) significa que APIMaster está conectado.

Avanzado: opencode.jsonc y Reasoning
El flujo de la interfaz de usuario anterior es suficiente para un inicio rápido. Para configurar los niveles de Reasoning / thinking effort (low, high, max, ...) para el mismo model id, edita opencode.jsonc.
Ubicación del archivo de configuración
| SO | Ruta |
|---|---|
| macOS / Linux | ~/.config/opencode/opencode.jsonc |
| Windows | C:\Users\<usuario>\.config\opencode\opencode.jsonc |
Crea el archivo si no existe. Reinicia OpenCode Desktop o inicia una nueva sesión después de guardar.
API Key (no la pongas en el jsonc)
No almacenes tu API Key en opencode.jsonc.
Usa:
/connecten la terminal, o- Settings → Providers → Connect Provider (igual que los Pasos 1–2 anteriores).
Mantén los secretos en el almacén de autenticación de OpenCode; jsonc solo define proveedor, modelos y variantes de Reasoning.
Proveedor APIMaster en jsonc
Provider id: apimaster. Paquete npm: @ai-sdk/openai-compatible.
baseURL debe ser:
https://apimaster.ai/v1
No https://apimaster.ai/ — OpenCode añade /chat/completions. Sin /v1 obtienes https://apimaster.ai/chat/completions → 404 Not Found.
Ejemplo completo con variantes de Reasoning — descarga y sobrescribe la configuración de OpenCode:
- Descarga opencode.jsonc
- Sobrescribe (o guarda como):
- macOS / Linux:
~/.config/opencode/opencode.jsonc - Windows:
C:\Users\<usuario>\.config\opencode\opencode.jsonc
- macOS / Linux:
- Configura la API Key mediante
/connecto la interfaz (nunca en jsonc). - Reinicia OpenCode Desktop o inicia una nueva sesión.
Haz una copia de seguridad de tu archivo existente antes de sobrescribir, o fusiona solo el bloque
provider.apimaster.
Estructura mínima:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apimaster": {
"name": "APIMaster.ai",
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://apimaster.ai/v1" },
"models": {
"gpt-5.4": {
"name": "gpt-5.4",
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" }
}
}
}
}
}
}
Principios de Reasoning
variants= múltiples niveles de Reasoning para un mismo model id en la interfaz.- Para APIs compatibles con OpenAI, OpenCode asigna
reasoningEffort→reasoning_efforten el cuerpo de la solicitud. - Los nombres de las variantes deben coincidir con el parámetro real (
high→"reasoningEffort": "high"). - Cada modelo admite diferentes niveles — configúralos según la documentación oficial; sin reasignación oculta.
Niveles de Reasoning por modelo
| Modelo | Variantes de Reasoning | Notas |
|---|---|---|
gpt-5.4 |
low, medium, high, xhigh |
Razonamiento GPT |
gpt-5.5 |
low, medium, high, xhigh |
Razonamiento GPT |
deepseek-v4-flash |
high, max |
Pensamiento DeepSeek (recomendado) |
deepseek-v4-pro |
high, max |
Pensamiento DeepSeek (recomendado) |
claude-sonnet-4-6 |
low, medium, high, max |
Esfuerzo Claude Sonnet |
claude-opus-4-7 |
low, medium, high, xhigh, max |
Esfuerzo Claude Opus |
claude-opus-4-8 |
low, medium, high, xhigh, max |
Esfuerzo Claude Opus |
claude-haiku-4-5 |
ninguno | Sin niveles de esfuerzo confirmados |
minimax-m3 |
ninguno | Sin niveles de esfuerzo confirmados |
Consulta opencode.jsonc para el archivo completo.
Cambiar el nivel de Reasoning en OpenCode
- Guarda
opencode.jsonc, luego reinicia o inicia una nueva sesión. - Usa el desplegable de modelo / Reasoning (ej.
gpt-5.4 / high). - Si es compatible con tu versión:
Ctrl + Shift + Drecorre los niveles de Reasoning.
Solución de problemas
Configuración desde la interfaz
| Problema | Solución |
|---|---|
| 401 | Verifica la clave; rótala si ha quedado expuesta |
| Modelo no encontrado | La Base URL debe ser https://apimaster.ai/v1; el model id debe coincidir con el marketplace |
| No aparecen modelos de APIMaster | Edita el proveedor en Settings → añade asignaciones → Submit |
| Lento / tiempo de espera | Prueba con otro modelo; usa API Key Tester |
Reasoning / jsonc
¿Por qué solo high y max para DeepSeek?
El esfuerzo de pensamiento oficial compatible con OpenAI para DeepSeek es high y max. Evita low / medium / xhigh que se reasignan de forma impredecible.
¿Por qué max para Claude Sonnet y no xhigh?
El nivel superior de Sonnet es max; xhigh es para Opus (claude-opus-4-7 / claude-opus-4-8).
¿Por qué no hay variantes para Haiku o MiniMax M3?
Sin valores documentados de reasoningEffort, omite las variantes — el modelo sigue funcionando; la interfaz simplemente no mostrará subniveles de Reasoning.
¿Sigues obteniendo error 400?
baseURL=https://apimaster.ai/v1(no la raíz del sitio).- La ortografía del model id coincide con el marketplace.
- Clave configurada mediante
/connecto la interfaz. - Elimina temporalmente
variants— si las solicitudes simples funcionan, elreasoning_effortelegido puede no ser compatible con ese modelo.
Seguridad
- Nunca compartas claves en el chat o en capturas de pantalla sin censurar.
- Rota las claves que hayan aparecido en capturas de pantalla o registros.
- OpenCode puede leer/escribir archivos y ejecutar comandos de shell — usa solo workspaces de confianza.
Lista de verificación
- OpenCode Desktop instalado
- Proveedor personalizado conectado o
apimasterenopencode.jsonc - Base URL /
baseURL=https://apimaster.ai/v1(nohttps://apimaster.ai/) - API Key mediante
/connecto interfaz (no en jsonc) - Al menos un modelo de chat asignado
- (Opcional) Variantes de Reasoning coinciden con los niveles oficiales
- El mensaje de prueba se completa correctamente
Resumen
- Claves:
baseURL(https://apimaster.ai/v1), model id, API Key (/connecto interfaz), variantes de Reasoning opcionales. - Los nombres de variantes = valores reales de
reasoning_effort. - Configura los niveles por modelo; omite variantes cuando no sean compatibles (Haiku, MiniMax M3).