Inicio → Guías → OpenCode con una API personalizada: configuración, Claude, small_model y costes reales

OpenCode con una API personalizada: configuración, Claude, small_model y costes reales

OpenCode lee sus proveedores de opencode.json, así que la configuración es un solo archivo. Lo que nos sorprendió fue la factura: pedirle una sola palabra generó dos solicitudes y más de 12.000 tokens de entrada. Ejecutamos OpenCode 1.19.0 contra nuestra pasarela con tres modelos para mostrar adónde van los tokens y cómo recortarlos.

El archivo de configuración

Pon esto en ~/.config/opencode/opencode.json (o en opencode.json dentro del proyecto):

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apiclan": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "APICLAN",
      "options": {
        "baseURL": "https://apiclan.us/v1",
        "apiKey": "{env:APICLAN_GPT_KEY}"
      },
      "models": {
        "gpt-6-astra": {},
        "gpt-6.1-sol": {}
      }
    }
  }
}
  1. Crea una clave en la consola y guárdala como variable de entorno, por ejemplo APICLAN_GPT_KEY.
  2. En models pon solo modelos del grupo de esa clave. Cada clave pertenece a un único grupo, así que GPT, DeepSeek y Claude necesitan cada uno su propia entrada de proveedor y su clave.
  3. Arranca opencode, escribe /models y elige APICLAN → gpt-6-astra. En scripts: opencode run -m apiclan/gpt-6-astra "...".
baseURLResultado
https://apiclan.us/v1✓
https://apiclan.us✗ 404 Not Found

@ai-sdk/openai-compatible solo añade /chat/completions a baseURL, así que el /v1 tiene que estar ya. Sin él, OpenCode se detiene con un escueto Not Found.

Añadir Claude

Añade un segundo proveedor dentro de provider, con el paquete de Anthropic y una clave de un grupo de Claude:

"claude": {
  "npm": "@ai-sdk/anthropic",
  "name": "APICLAN Claude",
  "options": {
    "baseURL": "https://apiclan.us/v1",
    "apiKey": "{env:APICLAN_CLAUDE_KEY}"
  },
  "models": { "claude-fable-5-1": {} }
}

Aquí baseURL también debe terminar en /v1: el paquete de Anthropic solo añade /messages, y https://apiclan.us a secas devolvió 404 en nuestra prueba. Es lo contrario de Claude Code, cuyo ANTHROPIC_BASE_URL no debe llevar /v1.

Lo que cuesta una respuesta corta

Pedimos a OpenCode «Reply with just OK» en un proyecto vacío. Todos los modelos hicieron dos solicitudes: una para poner título a la sesión y la real, que lleva el prompt de sistema y las definiciones de herramientas de OpenCode.

ModeloSolicitudesTokens de entrada (título + respuesta)Tiempo totalCoste
gpt-6-astra24,640 + 7,67820.5 s$0.050
deepseek-v4-pro2528 + 5,70834.1 s$0.005
deepseek-v4.1-flash2529 + 3,02721.8 s$0.0006

OpenCode envía a los modelos GPT un prompt de sistema mucho más largo (unos 7.700 tokens) que a DeepSeek (unos 3.000), y solo la solicitud de título usó 4.640 tokens en GPT. Por eso el mismo «OK» costó unas 77 veces más en gpt-6-astra que en deepseek-v4.1-flash. Prueba del 12 de octubre de 2026 con OpenCode 1.19.0; costes según lo facturado por nuestra pasarela.

Recorta el sobrecoste con small_model

OpenCode usa small_model para tareas secundarias como los títulos de sesión. Apúntalo a un modelo barato en su propio proveedor:

"small_model": "apiclan-ds/deepseek-v4.1-flash",
"provider": {
  "apiclan": { ... },
  "apiclan-ds": {
    "npm": "@ai-sdk/openai-compatible",
    "options": {
      "baseURL": "https://apiclan.us/v1",
      "apiKey": "{env:APICLAN_DS_KEY}"
    },
    "models": { "deepseek-v4.1-flash": {} }
  }
}

Con gpt-6-astra como modelo principal, la solicitud de título bajó de 0,0187 $ a 0,00003 $ y todo el intercambio de una palabra de 0,050 $ a 0,031 $: un 38 % menos en cada sesión nueva, sin cambiar las respuestas.

Una pequeña tarea de código

La misma tarea para cada modelo: escribir fizzbuzz.py y sus pruebas de pytest, sin ejecutar comandos. Después comprobamos cada función con la salida correcta para 1 a 30.

ModeloSolicitudesTiempo totalCosteCorrectoAserciones de prueba
gpt-6-astra340 s$0.069✓2
deepseek-v4-pro361 s$0.008✓7
deepseek-v4.1-flash325 s$0.0011✓7

Los tres escribieron código correcto en tres solicitudes. deepseek-v4.1-flash fue el más rápido y costó cerca de 1/60 de gpt-6-astra; los dos modelos de DeepSeek además escribieron pruebas más completas. deepseek-v4-pro fue el más lento porque razona antes de cada paso. El tiempo total incluye unos segundos de arranque del propio OpenCode.

Errores comunes

Otras herramientas de código: Cline con una API personalizada · Codex con una API personalizada.

Empieza a usarlo

Sin suscripción, sin mínimo mensual, sin llamada comercial. Recarga con USDT y gasta lo que uses — 1 USDT te da 2 créditos de saldo de API.

Lee el inicio rápido de 30 segundos

Idioma: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Deutsch · Français · Español · Türkçe · Português · Italiano · Bahasa Indonesia · Tiếng Việt · Bahasa Melayu · Polski · Čeština · فارسی · Русский

Los precios de esta página se rellenan automáticamente con datos de facturación reales. Las condiciones de terceros se citan de su propia documentación.