OpenMultiDocumentation
Console

Référence API

URL de base : https://api.openmulti.ai/v1 · Authentification : Authorization: Bearer sk_<projet>_<secret> (voir Authentification).

Endpoint Rôle
POST /v1/chat/completions chat, outils, sorties structurées, images — l'endpoint principal
POST /v1/embeddings vecteurs d'embeddings
GET /v1/models modèles servis, alias, tiers, tarifs
GET /health disponibilité du service (sans authentification)

POST /v1/chat/completions

Corps : une requête OpenAI standard — messages, stream, max_tokens, temperature, tools, tool_choice, response_format, etc. — plus les extensions OpenMulti :

Champ Type Description
model string auto, auto:<tier>, un id concret vendor/model, ou un nom nu non ambigu — détail dans Modèles et routage
openmulti objet optionnel : tier, purpose, allow, route — voir Modèles et routage
modalities array ["image", "text"] pour la génération d'image

Les champs inconnus sont retirés avant transmission (allowlist des champs OpenAI/OpenRouter) — ils ne provoquent pas d'erreur.

Réponse

Format OpenAI standard, avec :

  • usage.cost (USD) — toujours présent, réponse et fin de stream : le montant débité de votre solde.
  • openmulti.reason — la trace de routage, uniquement si la requête portait un bloc openmulti (réponse non streamée). Sans bloc openmulti, la réponse est strictement identique à celle du fournisseur.
  • En stream : en-têtes X-OpenMulti-Model et X-OpenMulti-Reason (voir Streaming).

POST /v1/embeddings

Pass-through compatible OpenAI (input, model, dimensions, …). model: "auto" → modèle d'embeddings par défaut ; id concret honoré tel quel. Voir Embeddings.

GET /v1/models

Liste au format OpenAI ({"object": "list", "data": [...]}) :

  • d'abord les alias d'intentionauto, auto:economy, auto:balanced, auto:quality — marqués openmulti.alias: true ;
  • puis les modèles concrets servis, chacun avec :
Champ Contenu
openmulti.tiers les tiers où ce modèle est candidat
openmulti.purposes les usages où il est privilégié (agent, …)
openmulti.pricing tarif entrée/sortie en USD par million de tokens — présent uniquement quand le tarif est vérifié
curl https://api.openmulti.ai/v1/models -H "Authorization: Bearer $OPENMULTI_API_KEY"

?all=1 : l'inventaire complet

Par défaut, la liste ne montre que le catalogue curé (les candidats des tiers). Avec ?all=1, elle inclut en plus l'inventaire complet des modèles réellement adressables (plusieurs centaines), ajoutés après les entrées curées :

curl "https://api.openmulti.ai/v1/models?all=1" -H "Authorization: Bearer $OPENMULTI_API_KEY"

Les entrées d'inventaire portent openmulti.tiers et openmulti.purposes vides (elles ne sont candidates d'aucun tier) et un pricing uniquement quand il est vérifié. Rappel : un id concret vendor/model est appelable qu'il apparaisse dans la liste ou non.

GET /health

Sonde de disponibilité, sans authentification — pour vos health checks et votre monitoring :

curl https://api.openmulti.ai/health

Codes d'erreur

Le détail complet — statuts, corps normalisés, stratégie de retry — est dans Erreurs et limites.