Migrar desde OpenAI
Pasa tu código del SDK de OpenAI a OneProvider cambiando tres líneas: nueva base_url y clave. Qué se mantiene, qué cambia y cómo probar el cambio.
Tres líneas de diferencia. Tu SDK de OpenAI actual sigue funcionando.
Todos los modelos, capacidades y precios Índice de la documentación para agentes de IA:https://oneprovider.dev/docs/llms.txt Antes de empezar: una clave de tu panel Abre tu panel: el bot de Telegram @oneprovider_robot (Panel) o app.oneprovider.dev . Pulsa “Emitir una clave”, ponle un nombre (por ejemplo, este cliente) y un límite de gasto, y copia la clave. El saldo se recarga en el mismo lugar. Más sobre el panel y las claves . El parche
diff- client = OpenAI()
+ client = OpenAI(
+ api_key=os.environ["ONEPROVIDER_KEY"],
+ base_url="https://api.oneprovider.dev/v1",
+ ) Elige según la carga de trabajo
No afirmamos una equivalencia uno a uno inventada entre los nombres de modelos de cada proveedor. Elige el nivel actual de GPT según tus requisitos de calidad, costo y latencia:
| Carga de trabajo | Usar | Por qué |
|---|---|---|
| Agentes complejos y razonamiento máximo | gpt-6.1-sol | Nivel frontera para el trabajo más exigente. |
| Carga de producción habitual | gpt-6.1-terra | Equilibrio entre calidad y costo para el uso diario. |
| Procesamiento de alto volumen y borradores rápidos | gpt-5.6-luna | El nivel más económico para trabajos de mucho volumen. |
Qué funciona sin cambios
chat.completions.createconmessages,temperature,max_tokens,stream.- Function calling mediante
tools;tool_choice: "auto". - Modo JSON (
response_format: {"type": "json_object"}). - Streaming mediante iteradores asíncronos tanto en Python como en Node.
Qué cambia
seedylogprobsse ignoran en silencio.- Los ID devueltos llevan el prefijo
chatcmpl-op-en lugar dechatcmpl-. - La forma antigua
function_callse convierte internamente atool_usede Anthropic; la superficie de la respuesta no cambia.
Usar la CLI Codex de OpenAI
Si usas la CLI Codex de OpenAI, apúntala a nuestro endpoint de la Responses API y reutiliza la misma clave. La configuración completa está en la página del cliente Codex . En resumen: ~/.codex/auth.json para la clave y ~/.codex/config.toml con base_url = "https://api.oneprovider.dev/v1" y wire_api = "responses".
Comprobación tras la migración
pythonresponse = client.chat.completions.create(
model="gpt-6.1-terra",
messages=[{"role": "user", "content": "Reply with: migration works"}],
)
print(response.choices[0].message.content) Pasar desde OpenRouter u otro gateway
¿Qué cambia en mi cliente?
Tres ajustes: la base URL, la clave y el ID del modelo. Los SDK de OpenAI y las herramientas compatibles con OpenAI usan https://api.oneprovider.dev/v1; Claude Code y los SDK de Anthropic usan https://api.oneprovider.dev. Una misma clave de OneProvider funciona con ambas.
¿En qué se diferencian los ID de modelo?
Los ID de OneProvider no llevan prefijo de proveedor, por ejemplo claude-sonnet-5-5 o gpt-6.1-terra. Cópialos de la página de modelos : un ID desconocido devuelve un 400 que indica el problema.
¿Qué aporta OneProvider?
Endpoints nativos de Anthropic y compatibles con OpenAI con una sola clave, un saldo prepagado que no caduca y sin suscripción, recargas con cripto, tarjetas, Apple Pay, Google Pay o SBP, un límite de gasto y un vencimiento por clave, y un registro de consumo de cada solicitud. Por política, el texto de los prompts no se guarda; los servidores están en Fráncfort.
¿Cómo comparo el costo?
Compara el mismo modelo: las tarifas por millón de tokens, incluidas las de caché, están en la página de precios . Luego ejecuta una tarea real y mira el cargo en tu registro de Consumo.
Respuestas rápidas
¿Qué base URL uso?
Claude Code y los SDK de Anthropic usan https://api.oneprovider.dev. Los SDK de OpenAI y los clientes compatibles con OpenAI usan https://api.oneprovider.dev/v1. Una misma clave funciona con ambas; la lista de modelos está en la página de modelos y las tarifas, en la página de precios .
¿Cómo me autentico?
Envía la clave sk-… tal cual en x-api-key o en Authorization: Bearer: en uno de los dos, nunca en ambos. Guarda la clave en una variable de entorno, no en un archivo que se suba al repositorio. Más sobre la autenticación .
¿Dónde obtengo una clave?
Abre tu panel en el bot de Telegram @oneprovider_robot o en app.oneprovider.dev, recarga el saldo y pulsa “Emitir una clave”. Cada clave puede tener su propio límite de gasto. Panel y claves de API .
¿Qué significan 401, 404 y 429?
401: falta la clave, está mal escrita o se envió en un encabezado equivocado; pega la clave completa, sin comillas ni espacios. 404: casi siempre es una base URL incorrecta, por ejemplo con /v1 ausente o duplicado. 429 con “Insufficient balance”: se agotó el saldo del panel o el límite de gasto de la clave, así que recarga en lugar de reintentar; cualquier otro 429 es un límite de frecuencia, así que espera según Retry-After. Detalles: códigos de error y solución de problemas .
¿Por qué se cortan o se reinician los streams?
Las VPN y los proxies VLESS suelen almacenar SSE en búfer o romper la negociación de HTTP/2. OneProvider no tiene restricciones regionales y no almacena los streams en búfer: desactiva el proxy y reintenta.
¿Dónde pregunto si esto no basta?
Escribe a @Oneproviderhelpbot en Telegram o abre “Soporte” en el panel web, con el código de estado HTTP y el mensaje de error exacto. Cómo funciona el soporte .
Última actualización: 2026-11-08 ¿Encontraste un error? @Oneproviderhelpbot