NouveauBranchez n’importe quel agent sur UberLLM : une clé, tous les modèles, au prix catalogue ou moins.
UberLLM

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 token usage ;
  • 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.

Poursuivez votre lecture

FAQ

Que signifie « compatible OpenAI » ?

Cela signifie que l'endpoint accepte les mêmes requêtes et renvoie les mêmes réponses que l'OpenAI API — le même chat-completions schema, streaming format et tool-call fields — de sorte que l'OpenAI SDK fonctionne avec en changeant seulement la base URL et la key.

Dois-je modifier mon code pour utiliser un endpoint compatible OpenAI ?

Seules la base_url et l'api_key. Tout le reste dans votre code OpenAI SDK — messages, streaming, tools, usage — reste inchangé.

UberLLM est-il également compatible Anthropic ?

Oui. En plus de l'endpoint chat-completions compatible OpenAI, UberLLM expose un endpoint /v1/messages compatible Anthropic, de sorte que les Anthropic SDKs et le Claude Code fonctionnent inchangés.