Skip to main content
GET
API de métadonnées de la liste des modèles
L’API de métadonnées de la liste des modèles (GET /v1/models) renvoie par défaut uniquement les champs de base, comme le nom du modèle. Le paramètre de requête expand ajoute les informations suivantes à chaque modèle :
  • Catégorie (category) : chat / image / video / audio
  • Balises de capacité (capability_tags) : par exemple Text to Video et Image to Image
  • Contrat des paramètres (parameters) : JSON Schema standard indiquant les champs obligatoires/facultatifs, les valeurs énumérées, les plages et les valeurs par défaut
Cette API permet notamment de récupérer une fois le catalogue complet pour générer du code client, de construire dynamiquement des formulaires de paramètres et de valider localement une requête avant son envoi.
Rétrocompatibilité : sans expand (ou avec une valeur inconnue), la réponse est identique au format existant et n’affecte pas les clients actuels.
Périmètre des modèles : les modèles renvoyés dépendent des restrictions de modèles et du groupe associé à la clé API. category=unknown signifie que les métadonnées de catégorie de ce modèle ne sont pas encore enregistrées sur la plateforme.

Obtenir la liste des modèles avec leurs métadonnées

GET /v1/models

En-têtes de requête

Paramètres de requête

Le périmètre des modèles renvoyés est le même que sans expand : il dépend des restrictions de modèles et du groupe associé à la clé API.

Exemple 1 : catégorie uniquement

cURL

Exemple 2 : contrat complet des paramètres pour les modèles vidéo

cURL
Élément unique (input_schema.properties ne présente qu’une partie des champs) :

Champs de la réponse

Champs d’un élément

category=unknown signifie que les métadonnées de catégorie de ce modèle ne sont pas encore enregistrées sur la plateforme (généralement pour un nom non standard configuré dans la liste autorisée de la clé API). Le modèle reste utilisable normalement.

Balises de capacité

Bloc parameters

Lire input_schema

Il s’agit d’un JSON Schema standard, directement exploitable par les principaux outils tels que ajv, pydantic et openapi-generator.
  • Paramètres obligatoires = tableau required de premier niveau ; anyOf signifie « au moins une des combinaisons suivantes » (dans l’exemple ci-dessus, l’une de prompt, messages ou des trois entrées de média de référence)
  • Valeurs énumérées = enum sur la propriété
  • Plage = minimum / maximum
  • Valeur par défaut = default
  • additionalProperties: true : autorise les paramètres d’extension propres au modèle qui ne figurent pas dans le schéma (transmis via metadata)

Interroger un modèle unique

En plus de la liste, un point de terminaison dédié permet d’obtenir le contrat d’un seul modèle (même structure, avec des blocs supplémentaires décrivant l’idempotence et le contrat de réponse) :

Remarques

  1. Les modèles chat / audio ne disposent actuellement que de category et capability_tags, sans parameters (les contrats de paramètres couvrent actuellement image / video et seront complétés dans des versions ultérieures).
  2. Le schéma est un contrat fourni au mieux ; la validation côté serveur fait autorité. Certaines contraintes dynamiques, telles que des combinaisons particulières de résolution et de durée, peuvent ne pas être entièrement exprimées dans le schéma. Le serveur peut toujours rejeter une requête avec une raison précise.
  3. Les données sont actualisées à l’échelle de quelques minutes. Le catalogue étant mis en cache, les nouveaux modèles ou les modifications de paramètres peuvent apparaître avec quelques minutes de retard.
  4. Une réponse complète avec expand=parameters peut atteindre plusieurs centaines de Ko. Filtrez si possible avec category et envoyez Accept-Encoding: gzip.
  5. Ce paramètre s’applique uniquement aux listes de modèles au format OpenAI. Les listes aux formats Anthropic / Gemini ne prennent pas en charge expand.