# Preguntas frecuentes

> Soluciones a los errores y problemas de configuración más comunes de la API de LMU AI — 401 / 403 / 429 / 500, facturación por tokens, cambio de modelos y resolución de problemas en Claude Code / Codex CLI.

URL: https://docs.lmuai.com/es/docs/guide/faq



## Problema 1: Stream desconectado / tiempo de espera agotado [#issue-1]

**Mensaje de error:**

```
stream disconnected before completion: error sending request for url
(https://api.lmuai.com/responses)
```

**Causa:** un corte de stream clásico, normalmente por:

* una red local inestable (cambios frecuentes entre Wi-Fi y datos móviles, señal débil, pérdida de paquetes)
* **una VPN / proxy / proxy del sistema está activo**: el proxy rota la IP de salida y corta la conexión

**Solución:**

1. **Desactiva cualquier VPN / proxy / proxy del sistema y vuelve a intentarlo** — LMU AI es una conexión nacional directa y no necesita VPN
2. Verifica que tu red local sea estable; cambia a una red más confiable si es necesario

<Callout type="info" title="No necesitas VPN: el acceso directo dentro de China es lo más rápido">
  La puerta de enlace de LMU AI está alojada **dentro de China continental**, por lo que se puede llamar directamente desde una red nacional **sin VPN, proxy ni ningún truco**. Una conexión directa da los resultados más rápidos y estables; por el contrario, una VPN o proxy que rota la IP de salida suele provocar cortes de stream.
</Callout>

***

## Problema 2: Error de reintento 429 [#issue-2]

**Mensaje de error:**

```
exceeded retry limit, last status: 429 Too Many Requests
```

**Causa:** tu cuota diaria se agotó.

**Solución:**

1. Abre **Mi suscripción** y confirma si la cuota diaria está agotada
2. Si necesitas más, compra un plan de un **nivel distinto** y luego cambia al grupo del nuevo plan en **Claves de API** dentro de la consola

<Callout type="warn" title="Renovación vs. agregar cuota">
  * **No compres el mismo plan** — el mismo plan se renueva, no agrega cuota
  * Para agregar cuota, compra un plan distinto (por ejemplo, cambia de un pase de día a un pase de mes)
</Callout>

***

## Problema 3: 401 Incorrect API key [#issue-3]

**Mensaje de error:**

```
unexpected status 401 Unauthorized: Incorrect API key provided
```

**Causa:** la solicitud todavía se envió al endpoint oficial de OpenAI en lugar de nuestro reenvío.

**Solución:**

1. Confirma que `config.toml` se creó o reemplazó correctamente según la guía
2. Reinicia el IDE (VS Code / Cursor, etc.) para recargar los archivos de configuración
3. Si antes iniciaste sesión con una cuenta oficial o de otro proveedor, cierra sesión primero y vuelve a configurar

<Callout type="info" title="Qué hacer cuando te encuentras con un error">
  Toma una captura de pantalla del error y tradúcelo — eso normalmente identifica la causa rápidamente.
</Callout>

***

## Problema 4: Los scripts están deshabilitados (Windows) [#issue-4]

**Mensaje de error:**

```
codex: cannot be loaded because running scripts is disabled on this system.
```

**Solución:** ejecuta lo siguiente en la terminal y luego abre una terminal nueva:

```powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```

***

## Problema 5: Node.js no encontrado (Windows) [#issue-5]

**Mensaje de error:** `CODEX` no se reconoce como un cmdlet, o similar

**Causa:** Node.js no está instalado o su PATH está roto.

**Solución:** reinstala Node.js 20+ y luego abre una terminal nueva.

***

## Problema 6: 503 No available accounts (las variables de entorno anulan la clave) [#issue-6]

**Mensaje de error:**

```
Error code: 503 - {'error': {'message': 'No available accounts: no available accounts', 'type': 'api_error'}}
```

**Causa:** tu `~/.zshrc` (o `~/.bashrc`) define `ANTHROPIC_AUTH_TOKEN` / `ANTHROPIC_BASE_URL` / `ANTHROPIC_MODEL`. Una vez que inicia el shell, estas variables tienen efecto globalmente y anulan la clave de API configurada en tu IDE (Cursor, VS Code, etc.), por lo que la solicitud usa la clave incorrecta.

**Solución (elige una):**

**Opción A: eliminar las variables de `.zshrc`**

Abre `~/.zshrc` y borra estas líneas:

```bash
export ANTHROPIC_AUTH_TOKEN="..."
export ANTHROPIC_BASE_URL="..."
export ANTHROPIC_MODEL="..."
```

Luego ejecuta `source ~/.zshrc` para aplicar los cambios y reinicia el IDE.

**Opción B: mover las variables a un archivo aparte, cargado solo para la CLI de Claude Code**

1. Crea `~/.claude_env` con las tres líneas:

```bash
export ANTHROPIC_AUTH_TOKEN="sk-your-lmu-ai-api-key"
export ANTHROPIC_BASE_URL="https://api.lmuai.com"
export ANTHROPIC_MODEL="the-model-you-use"
```

2. Borra esas tres líneas de `~/.zshrc`.

3. Cárgalas manualmente al iniciar Claude Code:

```bash
source ~/.claude_env && claude
```

Así el IDE usa la clave de su archivo de configuración y la CLI de Claude Code usa las variables de entorno, sin interferir entre sí.

***

## Problema 7: 400 Invalid signature in thinking block (cambiar de modelo entre grupos) [#issue-7]

**Mensaje de error:**

```
upstream error: 400 messages.<index>.content.<index>:
Invalid `signature` in `thinking` block
```

**Causa:** cuando el Extended Thinking de Claude genera un bloque `thinking`, le adjunta una **firma cifrada** que está estrechamente ligada a la **cuenta upstream específica** que lo produjo. Si **cambias de modelo entre grupos** dentro de una misma conversación (por ejemplo, de `claude-sonnet-5` en un grupo "Claude-Pro directo" a `claude-fable-5` en un grupo "Claude-MAX de multiplicador alto"), el cliente envía el historial anterior (incluido el bloque thinking firmado) a la cuenta upstream del nuevo grupo. Los distintos grupos usan **upstreams distintos** y no pueden verificar una firma emitida por otro, por lo que devuelve 400.

**Disparadores típicos:**

* El cliente permite cambiar de modelo a mitad de la conversación y lleva todo el historial anterior
* Los grupos antes y después del cambio provienen de **cuentas upstream distintas** (por ejemplo, "grupo directo" ↔ "grupo de reenvío / MAX de multiplicador alto")

**Solución (cualquiera de estas):**

1. **Inicia una conversación nueva al cambiar de grupo** — no llevar historial antiguo es la solución más simple y confiable.
2. **Mantén un solo grupo por conversación** — si necesitas colaboración entre varios modelos, cambia dentro del mismo grupo (mismo upstream).
3. **Elimina los bloques thinking del historial** — si el cliente permite editar el historial, quita los bloques `thinking` antes de cambiar de grupo.

<Callout type="info" title="¿Por qué no ayuda reintentar?">
  Este es un **error 4xx del cliente, irrecuperable, causado por una firma inválida**. Una vez que la puerta de enlace lo detecta, devuelve el 400 directamente al cliente y no reintenta automáticamente en otra cuenta — porque cualquier upstream que no coincida fallaría de la misma forma.
</Callout>

***

## Problema 8: 400 Unknown parameter: 'tools\[0].n' (se enviaron tools a un endpoint de imágenes) [#issue-8]

**Mensaje de error:**

```
400 - {'error': {'code': 'unknown_parameter', 'message': "Unknown parameter: 'tools[0].n'.", 'param': 'tools[0].n', 'type': 'invalid_request_error'}}
```

**Endpoints afectados:** `/v1/images/generations`, `/v1/images/edits` (generación / edición de imágenes).

**Causa:** el cliente incluyó un arreglo `tools` en el cuerpo de la solicitud de imagen, con un campo `n` dentro de `tools[0]`. Los endpoints de imágenes de OpenAI &#x2A;*no aceptan `tools`** (las llamadas a herramientas pertenecen a los endpoints de Chat / Responses; los endpoints de imágenes no tienen ese concepto), por lo que el upstream la rechaza con 400.

Esto normalmente viene de un cliente / wrapper de SDK con errores que coloca la "cantidad de imágenes `n`" en el lugar equivocado — anidada en `tools[0].n`, o copiada de una plantilla de solicitud de Chat.

**Solución:**

1. **Elimina el campo `tools` del cuerpo de la solicitud** — `generations` / `edits` de imágenes no admiten llamadas a herramientas; quita el campo por completo.
2. **Para generar varias imágenes, coloca la cantidad en el `n` de nivel superior** — solo `/v1/images/generations` admite `n` (varias por llamada); `/v1/images/edits` no, así que ahí elimina `n`.
3. **Revisa la versión del SDK del cliente** — si un wrapper construye los parámetros automáticamente, actualízalo o reemplázalo para que no aplique una plantilla de Chat a los endpoints de imágenes.

<Callout type="info" title="¿Por qué no ayuda cambiar de cuenta o reintentar?">
  Este es un error 4xx del cliente causado por un **cuerpo de solicitud inválido**, sin relación con la cuenta o el grupo upstream — la puerta de enlace transmite la solicitud tal cual, y cualquier cuenta devuelve el mismo 400. Debes corregir los parámetros de la solicitud que envía el cliente.
</Callout>

***

## Problema 9: ¿Necesito una VPN? [#issue-9]

**No.** La puerta de enlace de LMU AI está alojada **dentro de China continental**, y `api.lmuai.com` se puede llamar directamente desde una red nacional sin VPN, proxy ni ningún truco.

Por el contrario, una VPN o proxy que rota la IP de salida suele provocar cortes de stream (ver [Problema 1](#issue-1)). Una conexión nacional directa da los resultados más rápidos y estables.

***

## Problema 10: 401 API\_KEY\_REQUIRED (Codex no envía ninguna clave) [#issue-10]

**Mensaje de error:**

```
unexpected status 401 Unauthorized: {"code":"API_KEY_REQUIRED","message":"API key is required in Authorization header (Bearer scheme), x-api-key header, or x-goog-api-key header"}, url: https://api.lmuai.com/responses, request id: ...
```

**Causa:** las versiones más nuevas de Codex cambiaron el funcionamiento de la autenticación — las credenciales ahora pueden guardarse en el llavero del sistema en lugar de leerse desde `auth.json`. Con la configuración de la guía antigua (`auth.json` + `requires_openai_auth = true`), la solicitud que envía Codex no lleva **ninguna clave de API** (no se envía ninguna de `Authorization`, `x-api-key`, `x-goog-api-key`), por lo que la puerta de enlace no encuentra ninguna clave y devuelve 401 `API_KEY_REQUIRED`.

Ten en cuenta que esto es distinto del `Incorrect API key provided` del [Problema 3](#issue-3): ese envía una clave que es incorrecta (normalmente porque la solicitud fue al endpoint oficial de OpenAI en lugar del reenvío de LMU AI), mientras que este **no envía ninguna clave**.

**Solución:** coloca la clave directamente en una cabecera de la solicitud. Abre `~/.codex/config.toml` (en Windows, `C:\users\your-username\.codex\config.toml`), busca la sección de tu proveedor de modelos `[model_providers.<ID>]` (normalmente `[model_providers.codex]` si seguiste la guía de este sitio), borra la línea `requires_openai_auth = true` que contiene y agrega la subtabla `http_headers` correspondiente al **final mismo del archivo**:

```toml
[model_providers.codex]
name = "codex"
base_url = "https://api.lmuai.com"
wire_api = "responses"

[model_providers.codex.http_headers]
Authorization = "Bearer your sk- key generated in the console"
```

Guarda, vuelve a abrir la terminal y reinicia Codex.

<Callout type="warn" title="Puntos donde es fácil equivocarse">
  * El `codex` del nombre de la subtabla debe coincidir con el ID de `[model_providers.codex]` de arriba (en la guía de la extensión de VS Code, por ejemplo, es `[model_providers.OpenAI.http_headers]`)
  * Deja **un espacio** entre `Bearer` y la clave
  * La subtabla `http_headers` debe estar al final mismo del archivo — cualquier ajuste escrito después se tratará como cabecera de la solicitud
</Callout>

Todas las guías de Codex de este sitio ([Mac](/es/docs/tools/codex-cli-mac) / [Windows](/es/docs/tools/codex-cli-windows) / [Servidor](/es/docs/tools/codex-cli-server) / [Codex App](/es/docs/tools/codex-app) / [Extensión de VS Code](/es/docs/tools/vscode-plugin)) se actualizaron con la configuración anterior.

***

## ¿Sigues con problemas? [#sigues-con-problemas]

Si un entorno especial todavía te bloquea durante la instalación o configuración, contacta al soporte:

* Agrega al soporte en WeChat
* Contacta al soporte en Xianyu (闲鱼)

> Horario de asistencia remota: &#x2A;*después de las 2 p. m.** (las mañanas se dedican a resolver configuraciones de entorno complejas de forma remota).
>
> Si necesitas ayuda remota, descarga primero **NetEase UU Remote** y envíaselo al soporte; la orientación técnica y la asistencia remota se realizan por la tarde después de las 2 p. m.
