NuevoConecta cualquier agente a UberLLM: una clave, todos los modelos, a precio de lista o menos.
UberLLM

¿Qué es un API endpoint compatible con OpenAI?

Un endpoint de API compatible con OpenAI es uno que maneja las formas exactas de solicitud y respuesta de la API de OpenAI — el mismo schema /v1/chat/completions, el mismo formato de streaming, los mismos campos de tool-call — de modo que el SDK oficial de OpenAI funciona con él cambiando solo la base URL y la key. UberLLM es compatible con OpenAI (y compatible con Anthropic en /v1/messages), por lo que cambiar a él es un cambio de una sola línea.

La definición breve

Un endpoint es "OpenAI-compatible" cuando acepta las mismas solicitudes HTTP y devuelve las mismas formas de respuesta que la API de OpenAI. En la práctica, eso significa:

  • el cuerpo de la solicitud POST /v1/chat/completions (model, messages, temperature, tools, stream, …) se acepta tal cual;
  • la respuesta es el mismo objeto choices[].message, con los mismos recuentos de usage token;
  • streaming utiliza los mismos fragmentos data: de server-sent-events que terminan en [DONE];
  • la llamada a herramientas / funciones utiliza los mismos campos tool_calls.

Dado que el contrato coincide, el SDK oficial de OpenAI — en Python, JavaScript o cualquier lenguaje — funciona con el endpoint cuando cambias solo la base URL y la API key. Tu código de aplicación no nota la diferencia.

Por qué es importante

La compatibilidad con OpenAI convirtió la API de un proveedor en un estándar de facto. Un endpoint compatible te permite mantener el SDK, las herramientas y las integraciones de frameworks que ya utilizas (LangChain, el Vercel AI SDK, LlamaIndex, docenas de frameworks de agentes) mientras cambias lo que hay detrás.

Esa es toda la migración a UberLLM:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.uberllm.dev/v1",   # the only line that changes
    api_key="ull_your_key_here",
)

resp = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
)

Consulta la documentación del SDK de OpenAI para ver el conjunto completo de parámetros compatibles.


Compatible vs. un verdadero reemplazo directo

"Compatible" es un espectro. Ten cuidado con los endpoints que aceptan el formato de la solicitud pero descartan el streaming, ignoran las llamadas a herramientas o devuelven usage no estándar. UberLLM implementa el contrato de chat-completions incluyendo streaming, llamadas a herramientas y uso de tokens, y adicionalmente expone un endpoint compatible con Anthropic en /v1/messages para que los SDK de Anthropic y Claude Code funcionen sin cambios también — documentación del SDK de Anthropic.

Lo que UberLLM añade detrás del endpoint estándar

El endpoint es estándar; el routing detrás de él no lo es. Cada solicitud se envía al vendedor más barato y en buen estado para el modelo que nombraste, los fallos antes de la salida se reintentan en el siguiente vendedor, y el precio que ves (sin tarifa adicional) es el precio que pagas. Explora modelos en /models y precios en vivo en /llm-api-pricing.

Sigue leyendo

Preguntas frecuentes

¿Qué significa "compatible con OpenAI"?

Significa que el endpoint acepta las mismas solicitudes y devuelve las mismas respuestas que la OpenAI API — el mismo esquema de chat-completions, formato de streaming y campos de tool-call — por lo que el OpenAI SDK funciona con él cambiando solo la base URL y la key.

¿Necesito cambiar mi código para usar un endpoint compatible con OpenAI?

Solo la base_url y la api_key. Todo lo demás en tu código del OpenAI SDK — messages, streaming, tools, usage — permanece igual.

¿Es UberLLM también compatible con Anthropic?

Sí. Junto con el endpoint de chat-completions compatible con OpenAI, UberLLM expone un endpoint /v1/messages compatible con Anthropic, por lo que los Anthropic SDKs y el Claude Code funcionan sin cambios.