Documentación

Documentación

Codex CLI

Codex utiliza la API Responses y nada más. Un bloque de proveedor en config.toml lo dirige a la superficie nativa /v1/responses de Kunavo, con la clave guardada en una variable de entorno en lugar de en el archivo.

Un bloque [model_providers.kunavo] en ~/.codex/config.toml con env_key, para que la clave permanezca en el entorno y nunca en el archivo de configuración.

~/.codex/config.toml
model = "gpt-5-6-sol"
model_provider = "kunavo"

[model_providers.kunavo]
name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
env_key = "KUNAVO_API_KEY"     # the NAME of the variable, not the key
# wire_api defaults to "responses", which is the only supported value
wire_api solo admite ahora un valor válido: "responses", que es el predeterminado si se omite. Se eliminó la compatibilidad con Chat Completions en Codex, así que cualquier guía antigua que indique que debes escribir wire_api = "chat" está desactualizada; además, no se puede usar Codex con ningún endpoint que no tenga una ruta /v1/responses real. Kunavo la implementa de forma nativa.
env_key contiene el nombre de una variable de entorno, no la clave en sí. Es una decisión deliberada de OpenAI: config.toml es un archivo que la gente incluye en sus commits y pega en los problemas.
¿Aún no tienes una clave? Crea una cuenta de Kunavo, genera una clave (empieza por sk-kn-) y añade crédito desde $10; las llamadas se pagan con ese saldo y las llamadas fallidas no se facturan. El panel se abre entonces en la configuración de Codex CLI.

Paso a paso

  1. Cree una clave en /app/keys y cópiela: se muestra una sola vez.
  2. Añade el bloque anterior a ~/.codex/config.toml, creando el archivo si no existe.
  3. Exporta la variable cuyo nombre indica env_key: export KUNAVO_API_KEY=sk-kn-...
  4. Ejecuta codex. El model_provider del nivel superior selecciona el bloque; model selecciona el id dentro de este.
  5. Para cambiar de modelo por sesión en lugar de editar el archivo, usa codex -m <model id> o mantén varios bloques de proveedor y cambia model_provider.

Comprobado con la referencia del archivo de configuración de Codex el 6 de septiembre de 2026. La configuración de terceros puede cambiar; si el nombre de un campo ya no coincide con lo que ves, esa página es la autoridad, no esta.

Esta es la versión breve. El tutorial completo —elección del modelo, coste de una sesión real y modos de fallo— está en la guía de claves de API de Codex CLI.

Verifica antes de depurar el cliente

Una solicitud determina si el fallo está en el endpoint, la clave o el archivo de configuración. Si devuelve JSON, la misma URL base y la misma clave funcionan en Codex CLI.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Qué ID de modelo introducir en el campo

Todos los modelos de texto están disponibles mediante un ID de modelo; la lista activa está en GET /v1/models, y el catálogo con precios está en la página de modelos. Las tarifas son USD por 1M de tokens, entrada / salida.

ID de modeloEntrada / salida de KunavoDónde encaja en Codex CLI
gpt-5-6-sol$2.00 / $12.00la configuración predeterminada de Codex — nativa de Responses, de principio a fin
gpt-6-sol$0.80 / $4.00GPT-6 de OpenAI para tareas complejas de programación y agentes: la misma ruta Responses, con una tarifa inferior a la de 5.6 Sol
gpt-6-luna$0.04 / $0.20el GPT-6 más económico, para ejecuciones de gran volumen o bajo esfuerzo
gpt-5-6-terra$0.70 / $4.20un nivel GPT más económico para sesiones con muchas ediciones
claude-sonnet-5$1.40 / $7.00un modelo que no es GPT a través de Responses; traducido en la puerta de enlace
claude-opus-5$3.50 / $17.50sesiones de planificación en las que la profundidad del razonamiento justifica la tarifa
La facturación es por token desde un saldo prepago, sin cuota mensual; consulta facturación. Con contexto repetido —que constituye la mayor parte de lo que envía un editor o cliente de chat—, la caché de indicaciones cambia más la factura que la elección del modelo.

Preguntas frecuentes

¿Cómo dirijo Codex CLI a un endpoint de API personalizado?

Añade una tabla [model_providers.<id>] a ~/.codex/config.toml con name, base_url y env_key; luego establece model_provider en el nivel superior con ese id y model con el id que quieras ejecutar. base_url es la raíz /v1 del servicio; env_key indica el nombre de la variable de entorno que contiene la clave, por lo que esta nunca aparece en el propio archivo.

¿Qué valor de wire_api necesita Codex CLI?

"responses" — la referencia de configuración indica que es el único valor admitido y el predeterminado si se omite. Codex eliminó la compatibilidad con Chat Completions, así que no se puede usar Codex con un endpoint que solo implemente /v1/chat/completions, independientemente de la configuración. El endpoint debe ofrecer una ruta /v1/responses real.

¿Puede Codex CLI ejecutar modelos de Claude?

Sí, si el endpoint los ofrece a través de la API Responses. Codex envía una solicitud en formato Responses a la URL indicada por base_url y pasa el model id, por lo que una puerta de enlace que traduzca Responses al formato propio del modelo puede ofrecer a Codex ids de Claude o Gemini. Codex no sabe qué proveedor responde.

¿Dónde guarda Codex CLI la clave de API?

En una variable de entorno cuyo nombre indica el campo env_key del bloque de proveedor, no en config.toml. Codex lee la variable al iniciarse, así que la clave se guarda en el perfil de tu shell o en el gestor de secretos, y el archivo de configuración queda seguro para incluirlo en un commit o pegarlo en un informe de errores.