---
title: "Autoalojar New API: una sola pasarela para Claude, OpenAI y Gemini, usada por Claude Code y Codex"
description: "Despliega New API en tu propio servidor con Zenavo, reúne varios proveedores de modelos tras una sola API, da a cada persona su propia clave y cuota, y conecta Claude Code, Codex CLI y Open WebUI."
date: 2026-11-12
language: es-ES
url: https://zenavo.app/es-ES/blog/self-host-new-api
---

# Autoalojar New API: una sola pasarela para Claude, OpenAI y Gemini, usada por Claude Code y Codex

Un compañero usa Claude Code, otro usa Codex CLI y alguien más chatea en Open WebUI. Cada herramienta guarda su propia copia de una clave del proveedor, el consumo acaba en facturas separadas y nadie sabe decir quién ha usado qué ni qué clave revocar.

[New API](https://github.com/QuantumNous/new-api) es una pasarela de modelos de código abierto. Pones detrás tus claves de OpenAI, Anthropic, Gemini y otros proveedores, y das a cada persona o herramienta una clave emitida por New API, con sus propios modelos y cuota. Admite los formatos OpenAI Chat Completions, Responses, Anthropic Messages y Gemini, así que las herramientas de programación habituales se conectan directamente.

En esta guía usamos la plantilla de New API de Zenavo para ejecutar la pasarela en un servidor que alquilas o que es tuyo. El servidor, Zenavo y las API de modelos se facturan por separado; New API reenvía y contabiliza las peticiones, pero no abarata las llamadas a los modelos. New API se centra en repartir claves y cuotas por miembro en un equipo; si sobre todo quieres traducción entre protocolos y conmutación por error para tus propios agentes de programación (Claude Code y Codex), consulta también la pasarela más ligera [Magpie](https://zenavo.app/es-ES/blog/self-host-magpie).

## Despliega New API

[Conecta un servidor Linux](https://docs.zenavo.app/es-ES/servers/add-a-server) a Zenavo, abre la [plantilla de New API](https://zenavo.app/deploy?template=new-api), elige el servidor y despliega.

Actualmente la plantilla configura:

| Ajuste | Valor o finalidad |
|---|---|
| Imagen | `calciumion/new-api:latest` |
| Puerto HTTP | `3000` |
| Volumen | `/data`, con la base de datos SQLite predeterminada y los registros |
| `SESSION_SECRET` | Se genera al crear el proyecto; firma las sesiones de inicio de sesión |
| `TZ` | `UTC`; cámbialo a tu zona horaria si quieres |

`latest` sigue a la versión de upstream. Para un uso a largo plazo, fija una etiqueta que hayas probado en **Source**, dentro de los **Settings** del servicio, y anótala.

## Añade un dominio y completa la configuración enseguida

En la pestaña **Networking** del servicio new-api, asocia un dominio como `ai.example.com` al puerto `3000`, añade un registro A que apunte al servidor y espera a que esté listo el HTTPS. Consulta [Dominios y HTTPS](https://docs.zenavo.app/es-ES/networking/domains).

La primera visita abre el asistente de configuración de New API, donde creas la cuenta de administrador. En cuanto la pasarela tiene claves de proveedores puede gastar dinero, así que completa tú la configuración en cuanto funcione el dominio y luego comprueba en los ajustes del sistema si los usuarios nuevos pueden registrarse por su cuenta. Para ti y tu equipo, desactiva el registro público y crea las cuentas como administrador.

## Añade canales para tus proveedores

New API llama **canal** a cada conexión con un proveedor. En la página **Channels**, añade uno: elige el tipo de proveedor, introduce la clave de API de ese proveedor y los modelos que quieres ofrecer, guarda y haz clic en **Test** para ver una respuesta.

Algunos consejos:

- Introduce las claves de los proveedores solo en los canales, nunca en variables de Zenavo, capturas de pantalla ni chats.
- Pon nombres claros a los canales, como "Anthropic oficial", para que los registros se lean fácilmente y sea sencillo desactivarlos.
- Ofrece solo los modelos que necesites. Que un modelo aparezca en la lista no significa que tu cuenta del proveedor pueda llamarlo.
- Usa las claves de API oficiales del proveedor y respeta sus condiciones. No revendas ni compartas una suscripción de chat personal como si fuera una API.

## Reparte claves y cuotas

En la página **Tokens**, crea una clave para cada persona o herramienta, con los modelos, la cuota y la caducidad que le correspondan. Esta clave `sk-` la emite New API: si se filtra, bórrala aquí, sin necesidad de rotar la clave del proveedor.

Emite claves por persona y por herramienta, como "Alex – Claude Code" y "Alex – Open WebUI". Así el consumo se entiende fácilmente y revocar una no rompe las demás.

## Conecta Claude Code

Claude Code puede enviar sus peticiones a un endpoint personalizado de Anthropic Messages mediante variables de entorno. En tu ordenador:

```bash
export ANTHROPIC_BASE_URL="https://ai.example.com"
export ANTHROPIC_AUTH_TOKEN="sk-tu-token-de-new-api"
claude
```

En `ANTHROPIC_BASE_URL` pon solo el dominio, sin `/v1`: Claude Code añade `/v1/messages` por su cuenta. Si los nombres de modelo que pide Claude Code no coinciden con los del canal, asígnalos en el canal de New API, o elige con `/model` en Claude Code un modelo que ofrezca la pasarela. Si además quieres revisar registros, desplegar y revertir servicios de Zenavo directamente desde Claude Code mediante MCP y Skills, consulta [Desplegar y depurar proyectos de Zenavo desde Claude Code](https://zenavo.app/es-ES/blog/claude-code-deploy-debug).

## Conecta Codex CLI

Codex CLI define los proveedores personalizados en `~/.codex/config.toml`. Sustituye el modelo por uno que ofrezca tu canal:

```toml
model = "un-modelo-que-ofrezca-tu-canal"
model_provider = "newapi"

[model_providers.newapi]
name = "New API"
base_url = "https://ai.example.com/v1"
env_key = "NEWAPI_API_KEY"
wire_api = "responses"
```

Después ejecuta `export NEWAPI_API_KEY="sk-…"` e inicia `codex`. A diferencia de Claude Code, este `base_url` sí incluye `/v1`.

## Conecta Open WebUI y LobeHub

Si usas [Open WebUI](https://zenavo.app/es-ES/blog/self-host-open-webui), abre **Settings → Admin → Connections** y añade una conexión compatible con OpenAI: como Base URL `https://ai.example.com/v1` y como clave de API un token creado solo para Open WebUI. Si usas [LobeHub](https://zenavo.app/es-ES/blog/self-host-lobehub), apunta del mismo modo su ajuste de proveedor o `OPENAI_PROXY_URL` a `https://ai.example.com/v1`.

Si ambos están en el mismo proyecto de Zenavo (añade New API al proyecto de Open WebUI con **Add Service → Templates**), usa en su lugar la red privada: `http://new-api.zenavo.internal:3000/v1`. Así las peticiones nunca salen del servidor; consulta [Red privada](https://docs.zenavo.app/es-ES/networking/private).

## Copias de seguridad y actualizaciones

New API guarda sus cuentas, canales y tokens en el volumen `/data`, incluidas las claves de tus proveedores, así que protege sus copias de seguridad como protegerías las propias claves.

En una ventana de mantenimiento, detén el proyecto, haz una copia de seguridad del volumen desde la pestaña **Backup & Restore** del servicio new-api, vuelve a iniciar el proyecto y descarga una copia para conservarla. Antes de actualizar, lee las notas de la versión y haz primero una copia de seguridad. Si una actualización cambia el esquema de la base de datos, volver a la imagen anterior puede no deshacerlo; en ese caso, restaura la copia de seguridad previa a la actualización.

## Preguntas frecuentes

**¿Claude Code devuelve 404 o no consigue conectarse?**
Comprueba que `ANTHROPIC_BASE_URL` no termina en `/v1` y después mira en los registros de New API si llegó la petición y qué modelo pidió.

**¿Codex dice que el modelo no existe?**
El `model` de `config.toml` tiene que ofrecerlo un canal y estar permitido para el token. Comprueba también que `wire_api` sea `responses`.

**¿New API guarda las conversaciones?**
Registra las llamadas y el consumo; qué campos depende de su versión y configuración. Las peticiones siguen yendo al proveedor: ejecutar la pasarela en tu servidor no hace que los datos se queden en él.

**¿Basta con un servidor pequeño?**
New API en sí es ligero; la carga viene de las peticiones simultáneas. Si muchas personas reciben respuestas largas en streaming a la vez, vigila la memoria y el ancho de banda del servidor.

Empieza con la [plantilla de New API](https://zenavo.app/deploy?template=new-api): completa primero la configuración y desactiva el registro público; después añade canales, emite tokens y conecta tus herramientas de programación.
