¿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 deusagetoken; - 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.