Qu'est-ce qu'un endpoint API compatible OpenAI ?
Un endpoint API compatible OpenAI est un endpoint qui utilise les formats exacts de requêtes et de réponses de l'API OpenAI — le même schéma /v1/chat/completions, le même format de streaming, les mêmes champs tool-call — de sorte que le SDK officiel d'OpenAI fonctionne avec lui en ne changeant que l'URL de base et la clé. UberLLM est compatible OpenAI (et compatible Anthropic à /v1/messages), c'est pourquoi y passer est un changement d'une seule ligne.
La définition courte
Un endpoint est "compatible OpenAI" lorsqu'il accepte les mêmes requêtes HTTP et renvoie les mêmes formes de réponse que l'API OpenAI. En pratique, cela signifie :
- le corps de requête
POST /v1/chat/completions(model,messages,temperature,tools,stream, …) est accepté tel quel ; - la réponse est le même objet
choices[].message, avec les mêmes comptes de tokenusage; - le streaming utilise les mêmes chunks
data:d'événements envoyés par le serveur se terminant par[DONE]; - l'appel d'outils / de fonctions utilise les mêmes champs
tool_calls.
Parce que le contrat correspond, le SDK officiel d'OpenAI — en Python, JavaScript ou tout autre langage — fonctionne avec le endpoint lorsque vous ne changez que la base URL et l'API key. Votre code d'application ne connaît pas la différence.
Pourquoi c'est important
La compatibilité OpenAI a transformé l'API d'un fournisseur en un standard de facto. Un endpoint compatible vous permet de conserver le SDK, les outils et les intégrations de frameworks que vous utilisez déjà (LangChain, le Vercel AI SDK, LlamaIndex, des dizaines de frameworks d'agents) tout en changeant ce qui se trouve derrière eux.
C'est toute la migration vers 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,
)
Consultez la documentation du SDK OpenAI pour l'ensemble complet des paramètres pris en charge.
Compatible vs. un véritable remplacement direct
"Compatible" est un spectre. Attention aux endpoints qui acceptent la forme de la requête mais abandonnent le streaming, ignorent les appels d'outils, ou renvoient des usage non standard. UberLLM implémente le contrat de chat-completions, y compris le streaming, les appels d'outils et l'utilisation des tokens, et expose en outre un endpoint compatible Anthropic à /v1/messages afin que les SDKs Anthropic et Claude Code fonctionnent également sans modification — documentation du SDK Anthropic.
Ce qu'UberLLM ajoute derrière l'endpoint standard
L'endpoint est standard ; le routage derrière ne l'est pas. Chaque requête est envoyée au vendeur le moins cher et fonctionnel pour le modèle que vous avez nommé, les échecs avant la sortie sont retentés sur le vendeur suivant, et le prix que vous voyez (sans frais supplémentaires) est le prix que vous payez. Parcourez les modèles sur /models et les prix en direct sur /llm-api-pricing.