---
title: "Modelos"
description: "Cómo Beeuni elige un modelo y cómo funciona la facturación con modelos administrados y modelos con tu propia clave."
---

Beeuni ejecuta cada [sesión](/docs/es/work/sessions) en un modelo. Esta página
explica los modelos administrados frente a los que usan tu propia clave de proveedor (BYOK), cómo Beeuni elige un modelo automáticamente y dos detalles importantes sobre la facturación.

Esta página se aplica a los proyectos que tienen activado LLM Gateway. LLM Gateway es una
[función experimental](/docs/es/feature-flags), **activada de forma predeterminada** donde la
plataforma la ofrece. Puedes consultarla o cambiarla en Settings → Feature flags .

Desactivar la marca es una opción totalmente compatible. El proyecto pasa a usar la **administración nativa de modelos de harness estándar**. Todas las sesiones del proyecto usan el [harness](/docs/es/work/harnesses) de harness estándar: harness experimental solo llama a modelos a través de la puerta de enlace.

- Las claves API de tus proveedores (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`,
  `OPENROUTER_API_KEY`, …) se inyectan en el entorno aislado como variables de entorno normales. Añádelas en la página de configuración de Modelos o como [secretos](/docs/es/project/secrets). harness estándar se conecta automáticamente a cada proveedor con su clave.
- Los ID de modelo son referencias nativas de harness estándar `provider/model`, como
  `anthropic/claude-opus-4-8`. Los ID simples administrados y las referencias `beeuni/…` no existen si la puerta de enlace está desactivada.
- El selector de modelos muestra la misma lista antes y después de que se inicie el entorno aislado: los proveedores a los que se conectan tus claves y los modelos gratuitos de OpenCode Zen (OpenCode se conecta a ellos sin una clave). El nivel de razonamiento es el control de razonamiento del compositor (las variantes propias del modelo); los valores predeterminados de Generation de la puerta de enlace no se aplican.
- Las funciones de la puerta de enlace de esta página —modelos administrados, cadena de valores predeterminados de modelos, límites y registros— no se aplican; OpenCode resuelve el modelo predeterminado en el entorno aislado.

<a id="managed-models-and-byok"></a>

## Modelos administrados y BYOK

Un ID de modelo tiene una de estas tres formas:

- **Administrado**: un ID simple, como `glm-5.2`, `deepseek-v4-pro-0813` o
  `grok-4.6`. Beeuni proporciona las credenciales. Las cuentas de Cloud pagan con créditos de Beeuni.
- **BYOK**: un ID `provider/model`, como `anthropic/claude-opus-4-8`. Tú proporcionas la clave. Pagas con tu cuenta del proveedor.
- **ChatGPT**: un ID `codex/<id>`. Conectas tu plan de ChatGPT una vez mediante OAuth y este paga.

Conecta una clave BYOK en la página de configuración de Modelos del proyecto o configura directamente la variable de entorno del proveedor como [secreto](/docs/es/project/secrets).

Cada proveedor usa su propia clave. Algunos proveedores comparten una variable de entorno en models.dev; por ejemplo, OpenCode Zen (`opencode`) y OpenCode Go (`opencode-go`) indican ambos `OPENCODE_API_KEY`. El proveedor propietario del nombre lo conserva. Los demás proveedores usan `<PROVIDER_ID>_API_KEY`: OpenCode Go usa `OPENCODE_GO_API_KEY`, Z.ai Coding Plan usa `ZAI_CODING_PLAN_API_KEY` y Moonshot China usa `MOONSHOTAI_CN_API_KEY`. Por eso, una clave de Zen nunca muestra modelos de Go. El formulario de conexión y `beeuni providers set` usan el nombre correcto.

<a id="opencode-zen-and-go-sign-in-with-opencode"></a>

### OpenCode Zen y Go (iniciar sesión con OpenCode)

Conéctate a OpenCode Zen o OpenCode Go con una clave API, o inicia sesión con tu cuenta de OpenCode Console:

1. Abre **Customize → Models → Providers** y busca **OpenCode Go**.
2. Elige **Sign in with OpenCode**. Copia el código, elige **Open auth page** y autoriza el dispositivo en tu espacio de trabajo de OpenCode.
3. El campo de clave indica que el proveedor está conectado. Elimina la clave para cerrar sesión.

Desde la CLI: `beeuni providers login opencode-go` o `beeuni providers
login opencode` para Zen. Los modelos de Zen se usan por ID, por ejemplo,
`opencode/glm-5.3-flash`; el selector no los muestra. Zen y Go tienen inicios de sesión independientes, así que iniciar sesión en uno no conecta el otro. El inicio de sesión dura 30 días y Beeuni lo renueva antes de que caduque. Si OpenCode rechaza un inicio de sesión, Beeuni lo renueva una vez e intenta de nuevo la solicitud. Si la renovación también falla, la solicitud devuelve `provider_reauth_required`: vuelve a iniciar sesión.

<a id="beeuni-managed-models"></a>

### Modelos administrados por Beeuni

El selector los muestra en **Beeuni**, junto con sus tarifas por token. La plataforma proporciona las credenciales a través de la puerta de enlace de modelos configurada.

| Modelo | ID |
| --- | --- |
| GPT-6 Astra | `gpt-6-astra` |
| GPT-6 Sol (predeterminado de la plataforma) | `gpt-6-sol` |

Usa otros modelos mediante una clave BYOK o un plan de ChatGPT. Una clave BYOK ofrece todo el catálogo de su proveedor; por ejemplo, `anthropic/claude-opus-5-5` con una clave de Anthropic. Un plan de ChatGPT ofrece todos los modelos que Codex pone a disposición de una cuenta de ChatGPT; por ejemplo, `codex/gpt-6.1-sol`. De forma predeterminada, el selector muestra el modelo más reciente de cada familia.

Ambas listas se actualizan automáticamente. La API consulta [models.dev](https://models.dev) y la lista de modelos publicada por Codex CLI cada hora, así que una versión nueva aparece en el plazo de una hora desde que se incluye en la lista, sin necesidad de una versión de Beeuni. Cuando conectas un proveedor, su modelo estable más reciente compatible con llamadas a herramientas pasa a ser el predeterminado.

<a id="disable-providers-or-models"></a>

## Desactivar proveedores o modelos

Abre **Customize → Models → Providers**. Abre el menú **⋯** de la fila **Beeuni** y elige **Disable provider** para usar solo tus propios proveedores. Beeuni aparece en la misma lista que los demás proveedores, con la cantidad de modelos y la descripción de la facturación con créditos. Todos los proveedores usan el mismo menú. Solo los proveedores desactivados muestran una insignia de estado. Elige **Enable provider** en el menú para restaurar el acceso.

Abre la pestaña **Models** para activar o desactivar modelos individuales. Un proveedor desactivado bloquea todos sus modelos, incluidos los que se añadan posteriormente. Al volver a activar el proveedor, se conservan las opciones de los modelos individuales. Las credenciales permanecen guardadas.

No se pueden desactivar el modelo predeterminado del proyecto ni su proveedor. Primero, selecciona otro modelo predeterminado que esté activado. Los administradores del proyecto pueden cambiar el acceso; los lectores pueden consultarlo.

Estos controles se aplican a las solicitudes nuevas a través de la puerta de enlace de Beeuni, incluidas las selecciones guardadas de sesiones y las opciones alternativas. Una solicitud que ya se haya enviado a un proveedor ascendente termina con normalidad. Los destinos desactivados devuelven `provider_disabled` o `model_disabled`; elige un modelo activado para continuar. El modo nativo de harness estándar no utiliza esta política de la puerta de enlace.

Las preferencias de visibilidad existentes que solo afectan al selector siguen siendo independientes. Restablecer la lista de modelos no elimina las restricciones de acceso explícitas.

<a id="thinking-effort"></a>

## Nivel de razonamiento

El control de razonamiento del compositor establece la **variante** del modelo de la sesión en ambos modos. Las opciones son los niveles publicados por el propio modelo (models.dev `reasoning_options`), nunca una escala fija. Los modelos sin control de nivel no muestran esta opción. `Auto` borra la variante.

- Nativo (puerta de enlace desactivada): harness estándar aplica la variante como campo de solicitud propio del proveedor.
- Puerta de enlace activada: la solicitud lleva `reasoning_effort`; la puerta de enlace lo asigna según el proveedor ascendente (OpenAI → `reasoning_effort`, Claude → razonamiento adaptativo, OpenAI en Amazon Bedrock → campo de solicitud `reasoning.effort` de Bedrock). Si aún no puede asignarlo para un proveedor ascendente (Nova y Grok en Bedrock actualmente), se descarta el valor y el modelo usa su valor predeterminado.
- Amazon Bedrock rechaza el ID regional sin prefijo de la mayoría de los modelos actuales («no se admite el rendimiento bajo demanda»). El selector prefiere el ID `global.` o el del perfil de inferencia regional cuando el catálogo ofrece uno, y la puerta de enlace vuelve a intentar una vez por prefijo de perfil los ID simples rechazados (`global.`, `us.`).
- En cada inicio, el entorno aislado obtiene de la API el conjunto de modelos disponibles para el proyecto (`GET /v1/llm/models?scope=picker`, la misma composición que el selector web), de modo que los modelos que ofrece el selector siempre se resuelven en el entorno de ejecución.
- El valor predeterminado del proyecto por modelo se configura en Customize → Models → Routing → Advanced → **Generation defaults** (`model_generation_config`). Solo completa los campos que la solicitud dejó vacíos, así que la variante de una sesión siempre tiene prioridad.

<a id="how-auto-picks-a-model"></a>

## Cómo el modo automático elige un modelo

Si no estableces ningún modelo, Beeuni lo resuelve mediante hasta cinco niveles, en este orden. (El ID `auto` abarca este mismo comportamiento, pero aún no es una opción seleccionable en el selector de modelos).

1. Un modelo fijado explícitamente: el campo `model:` propio de una sesión, un canal o un activador.
2. El modelo predeterminado del [agente](/docs/es/project/agents) para este proyecto.
3. El modelo predeterminado del proyecto.
4. El modelo predeterminado de la cuenta.
5. El modelo predeterminado de la plataforma.

Beeuni utiliza el primer nivel que tenga un valor que todavía pueda servir. Si un modelo predeterminado guardado deja de funcionar —por ejemplo, porque se desconectó una clave o se retiró un modelo—, se omite automáticamente. Una sesión nunca se interrumpe por un valor predeterminado obsoleto. Consulta la [referencia del manifiesto](/docs/es/project/manifest) para ver el campo `model:` del activador.

:::warning[Sorpresas de facturación con BYOK]
En una cuenta de pago de Cloud, es fácil pasar por alto dos costos:

- Los créditos cubren las llamadas a modelos, las herramientas y el uso del ordenador. Consulta el saldo en Billing y el detalle en Usage.
- **Cambio de modelo silencioso.** Si tu clave BYOK alcanza un límite de solicitudes o produce un error de facturación a mitad del turno, Beeuni vuelve a intentarlo con un modelo administrado y cobra tus créditos en vez de interrumpir la sesión.

Si ves cargos de créditos en un proyecto que solo usa BYOK, comprueba estas dos causas antes de informar de un error de facturación.
:::

Cuando responde un modelo alternativo, la sesión lo indica. El compositor muestra **Running on** y el nombre del modelo junto al selector. Los detalles de cada turno indican qué modelo respondió, qué modelo sustituyó y cuánto cobró Beeuni por el turno. **Customize → Models → Costs** incluye ese gasto en el modelo que respondió.

<a id="per-project-model-enablement"></a>

## Habilitación de modelos por proyecto

El proyecto controla qué modelos ofrecen sus selectores. De forma predeterminada, se ofrece automáticamente el modelo más reciente de cada familia. Los modelos administrados por Beeuni y todos los modelos a los que hagan referencia los valores predeterminados o la política de enrutamiento del proyecto siempre se ofrecen; ninguna regla los elimina.

Puedes anular el valor predeterminado de cada modelo en la página **Manage models** (Customize → Models). Las excepciones se guardan por proyecto y se aplican de inmediato. El selector de modelos de la sesión y la paleta de comandos ocultan todo lo que desactives; los modelos nuevos se activan de forma predeterminada a medida que crece el catálogo.

La habilitación determina qué se ofrece, no qué se puede usar: una solicitud que indique directamente un modelo desactivado (por ejemplo, a través de la API sin procesar) se ejecuta de todos modos. No se puede desactivar el modelo predeterminado del proyecto; primero, establece otro modelo predeterminado.

<a id="provider-keys-and-member-access"></a>

## Claves de proveedor y acceso de miembros

Con **Pooled provider secrets** desactivado, la clave de proveedor conectada se aplica a todo el proyecto. Las anulaciones personales de estos secretos del proyecto devuelven `llm_credentials_project_wide`.

Activa **Pooled provider secrets** y **LLM Gateway** en Settings → Feature flags para usar recursos de secretos de proveedor. Abre **Customize → Models → Providers** y elige **Add key** junto a un proveedor. Asigna una etiqueta distinta a cada clave. El valor es de solo escritura; las pantallas posteriores muestran su etiqueta y lista de acceso.

Las claves nuevas pertenecen a este proyecto. De forma predeterminada, **Everyone in this project** puede usarlas. Abre **⋯ → Manage access** de una clave y elige **Specific members** para restringir el acceso. Los recursos heredados de toda la cuenta conservan los permisos de sus miembros. También se aplican la pertenencia a la cuenta, los permisos del proyecto, los permisos del agente sobre los secretos y la selección de sesión.
Una autorización de miembro permite usar la clave sin revelarla. Cambiar una clave conserva sus permisos y las selecciones de sesión. Eliminarla revoca el acceso de todos.

<a id="choose-keys-for-a-session"></a>

### Elegir claves para una sesión

Abre **Session overrides → Provider keys** en el compositor. Elige un proveedor y selecciona hasta diez claves. Elige **Save changes** en el pie del panel. En una sesión nueva, la selección se envía con el primer mensaje.

- Si no hay una selección explícita, la clave existente del proyecto sigue disponible.
- Si no seleccionas ninguna clave, el proveedor se desactiva para la sesión. No se restaura la clave del proyecto.
- **Reset to project default** elimina la selección explícita.
- Las claves revocadas o inactivas aparecen como no disponibles. Quítalas de la selección, elige otra clave o restablece la selección.
- Si eliminas la última clave seleccionada, el conjunto queda vacío. La configuración de la sesión sigue mostrando el proveedor para que puedas restablecerlo.
- Si falla la lectura, aparece **Try again**. Nunca se muestra como una selección heredada.

Si se alcanza un límite de solicitudes antes de que comience la salida, la puerta de enlace prueba otra clave seleccionada. Nunca vuelve a enviar una respuesta parcial con otra clave. Si todas las claves alcanzan el límite, vuelve a intentarlo después del periodo de espera más corto, hasta un máximo de 60 segundos. Un conjunto explícito no toma prestada silenciosamente la clave de otro miembro ni las credenciales heredadas del proyecto.

<a id="chatgpt-accounts"></a>

### Cuentas de ChatGPT

Elige **Add account** en **ChatGPT Plus/Pro**. Cada autorización crea una conexión con nombre independiente en este proyecto. De forma predeterminada, **Everyone in this project** puede usarla. Usa **Manage access → Specific members** para restringir el acceso.

Una sesión puede seleccionar varias cuentas de ChatGPT autorizadas. Si no se selecciona ninguna, se usa de forma predeterminada la conexión utilizable más reciente del miembro. La conexión compartida de otro miembro requiere una selección explícita. El inicio de sesión heredado del proyecto sigue disponible si el miembro no tiene ninguna conexión propia utilizable. Una clave compartida de la puerta de enlace no puede tomar prestada la conexión privada de ChatGPT de quien la creó.

Con la puerta de enlace activada, las claves de la API de Google Gemini usan el punto de conexión compatible con OpenAI de Google. El modo nativo de harness estándar sigue usando secretos del proyecto.

Los modelos ocultos por preferencias anteriores del selector muestran **Hidden from picker**. Las solicitudes directas siguen permitidas. Abre el menú de ese modelo y elige **Disable model** para bloquear también la inferencia.

Los enlaces de cantidad de modelos de los proveedores abren la pestaña **Models**. Todos los grupos de proveedores aparecen juntos en la misma lista, que se usa para activar o desactivar modelos y establecer valores predeterminados. La búsqueda filtra la lista. Conecta un proveedor antes de administrar sus modelos.

Las selecciones de proveedores permanecen como borradores hasta que haces clic en **Save changes** en el pie de la sección de anulaciones de sesión. Esto guarda los cambios de todos los proveedores, incluido el restablecimiento al valor predeterminado. Puedes cambiar de sección o cerrar y volver a abrir el panel sin perder estos borradores. Si recargas la página, se descartan los cambios sin guardar.
Si falla el guardado, el panel permanece abierto y muestra el error. Corrige la selección o vuelve a intentarlo. Los proveedores que ya se guardaron siguen guardados; los cambios pendientes permanecen en el panel.

<a id="budgets"></a>

## Límites de gasto

Un límite de la puerta de enlace restringe cuánto gasta un proyecto, o uno de sus miembros, en modelos por día, semana o mes. **Block** rechaza las solicitudes nuevas al alcanzar el límite; **Warn only** permite ejecutarlas. Configura los límites en la página Models del proyecto.

Al llegar al 80 % y al 100 % del límite, Beeuni envía un correo electrónico a los propietarios y administradores de la cuenta y a los administradores del proyecto, una vez por umbral y periodo.

<a id="use-the-gateway-from-claude-code"></a>

## Usar la puerta de enlace desde Claude Code

La puerta de enlace ofrece la API Anthropic Messages en `POST /v1/messages`. Claude
Code y los SDK de Anthropic pueden llamar desde allí a cualquier modelo de la puerta de enlace.

1. Crea una clave en **Customize → Gateway**, pestaña **Gateway**.
2. Inicia Claude Code con la puerta de enlace como punto de conexión de API:

```bash
ANTHROPIC_BASE_URL=https://gateway.beeuni.ai \
ANTHROPIC_AUTH_TOKEN=beeuni_gw_... \
claude --model kimi-k3
```

La puerta de enlace lee la clave de `Authorization: Bearer` o de `x-api-key`, así que también funciona `ANTHROPIC_API_KEY`.

La puerta de enlace traduce estos campos de Claude Code para todos los proveedores:

- `thinking: {type: "adaptive"}` con `output_config.effort` se convierte en
  `reasoning_effort`. Consulta [Esfuerzo de razonamiento](#thinking-effort).
- El uso en el `message_delta` final incluye `input_tokens`,
  `cache_read_input_tokens` y `cache_creation_input_tokens`. Claude Code los usa para `/context` y la compactación automática.
- Las imágenes que devuelve una herramienta, como `Read` de una captura de pantalla, llegan al modelo
  en un mensaje del usuario después del resultado de la herramienta.
- Un flujo del proveedor que termina antes de completarse devuelve un evento `api_error`,
  por lo que Claude Code vuelve a intentar el turno.

Límites:

- `/v1/messages/count_tokens` devuelve `404`. Entonces, Claude Code calcula
  las cantidades a partir de los caracteres.
- El texto de razonamiento no se devuelve en bloques `thinking`.
- Los modelos de ChatGPT (`codex/*`) necesitan una conexión de ChatGPT compartida con
  **Todos en este proyecto**. Una clave de gateway no puede usar una conexión privada.
- Claude Code no puede establecer una ventana de contexto por modelo. Configura
  `CLAUDE_CODE_MAX_CONTEXT_TOKENS` con la ventana más pequeña que utilices.
