Thème
Langue

Modèles

La liste des modèles de GetVibe API et la manière d’adresser les modèles dans le champ model. Variantes de route via les suffixes :network, :nexus, :sub5 — route, prix et comportement de mise en cache différents.

Le champ model accepte le nom exact du modèle. La liste complète, avec les prix et la prise en charge du cache, se trouve sur la page du catalogue.

  • Les ID utilisent vendor/model (au format OpenRouter), par exemple anthropic/claude-opus-5 ; claude-opus-5 est accepté comme alias d’entrée avec une facturation identique.
  • model:alias fixe un canal, par exemple openai/gpt-5.6-sol:yellow. GET /v1/models répertorie un ID par modèle ; ?variants=1 renvoie la liste complète.

Comment une requête est facturée

La plupart des canaux sont des carnets de marché : de nombreux vendeurs proposent le même modèle à des prix différents. Votre requête est exécutée auprès de l’offre la moins chère qui l’accepte, et vous êtes facturé du coût de cette exécution, majoré de notre commission. Le tarif par token est donc une plage, et non un nombre unique : il dépend du niveau du carnet qui a exécuté la requête.

GET /api/catalog et GET /v1/pricing publient cette plage pour chaque modèle (pricing) et pour chaque canal (channels[]), lue à partir de la même grille GET /api/model-ladder?model=<model> qui fournit ses nombres d’offres.

GEThttps://getvibeapi.com/api/model-ladder?model=claude-opus-5.5
Champs de tarification (USD par 1M de tokens)
ParamètreTypeDescription
basis"fill" | "fixed" | "mixed""fill" : facturé au palier qui remplit la demande, plus la commission. "fixed" : facturé au tarif indiqué (from = typical = to). "mixed" (niveau du modèle uniquement) : certains canaux de chaque type.
priceFrom{input, output}Le niveau le moins cher, c’est-à-dire le tarif minimal auquel une requête peut être facturée.
priceTypical{input, output}Le niveau médian pondéré par les offres : la moitié des offres du carnet d’ordres se situe à ce niveau ou en dessous. Il indique où se situe l’offre, et non une prévision de votre prochaine exécution. Au niveau du modèle, il s’agit de celui du canal par défaut.
priceTo{input, output}Le niveau le plus cher du carnet d’ordres, c’est-à-dire le montant maximal auquel une requête sans max_price peut être facturée.
poolstring | nullCanal uniquement. Le carnet auprès duquel le canal achète, tel que l’échelle tarifaire l’affiche. Chaque pool est publié comme un canal exactement.
maxPriceCeiling{input, output} | nullCanal uniquement. Lorsqu’une requête contient max_price, ce canal ne sera pas exécuté au-dessus de la valeur la plus basse entre max_price et ce plafond. Sans max_price, aucun plafond n’est envoyé.
minChargePerRequestnumberUSD par REQUEST, et non par 1M. Présent uniquement sur un canal dont le fournisseur facture un minimum par requête (règle du fournisseur) : au moins une requête réussie est facturée, par exemple $0.0000143. Une requête dont les tokens coûteraient moins cher, par exemple une requête courte ou composée principalement de lectures du cache, est facturée à ce montant. Au niveau du modèle (nullable), il s’agit de la valeur par défaut du canal.
fill{"24h", "7d"} | nullCanal uniquement (et sur chaque pool desservi par /api/model-ladder). Lorsque nos requêtes payantes sur ce canal ont effectivement été exécutées : pour chaque niveau, la part des requêtes et des tokens ; avgPrice, le prix moyen payé pondéré par les tokens, c’est-à-dire le prix typique que vous paierez réellement ; ainsi que les parts exécutées en dessous ou au-dessus de l’échelle tarifaire du jour (les carnets évoluent), ou facturées au minimum par requête. null pour une fenêtre comptant moins de 20 requêtes.
ladderstringModèle uniquement. L’URL /api/model-ladder avec la liste complète des niveaux et le nombre d’offres.
inputUsd / outputUsdnumberConservés pour assurer la compatibilité. Sur un canal de remplissage, ils sont égaux à priceFrom : il s’agit du prix plancher, et non d’un prix fixe.
"pricing": {
  "basis": "fill",
  "unit": "USD per 1M tokens",
  "priceFrom":    { "input": 0.465, "output": 2.325 },
  "priceTypical": { "input": 0.5,   "output": 2.5 },
  "priceTo":      { "input": 1.5,   "output": 7.5 },
  "minChargePerRequest": 0.0000125,
  "ladder": "/api/model-ladder?model=claude-opus-5.5",
  "ladderUpdatedAt": "2026-09-25T08:45:01.522Z",
  "ladderStale": false
},
"channels": [
  { "address": "claude-opus-5.5:claude-code", "isDefault": true,
    "inputUsd": 0.465, "outputUsd": 2.325,
    "basis": "fill", "pool": "cc/claude-opus-5-5",
    "priceFrom": { "input": 0.465, "output": 2.325 },
    "priceTypical": { "input": 0.5, "output": 2.5 },
    "priceTo": { "input": 1.5, "output": 7.5 },
    "maxPriceCeiling": { "input": 0.6, "output": 3 },
    "minChargePerRequest": 0.0000125 }
]
Un pool est un canal avec une seule échelle de prix, par exemple claude-code : une requête est traitée sur le niveau qui l’accepte, entre priceFrom et priceTo. Pour plafonner le coût d’une requête, envoyez max_price : sans celui-ci, n’importe quel niveau de l’échelle peut être utilisé ; avec celui-ci, la requête ne sera jamais traitée au-dessus de votre plafond. Pour voir la profondeur associée à un prix, consultez l’échelle ; pour voir où les requêtes sont effectivement traitées, consultez son fill. Chaque requête dans /v1/generations contient cost_detail.realisedRate, le prix par 1M auquel elle a été facturée, afin que vous puissiez la positionner sur l’échelle. Chaque requête réussie coûte au moins le minChargePerRequest du canal ; ainsi, une requête très petite ou principalement mise en cache est facturée à ce minimum plutôt qu’à son montant par jeton.

Variantes d’un modèle

La plupart des modèles proposent plusieurs variantes publiques. La variante par défaut est sélectionnée automatiquement (la priorité dépend des paramètres de votre compte ou de votre clé). Pour imposer une variante précise pour une requête, ajoutez son alias après deux-points au nom du modèle :

"model": "gpt-6.1-sol"           // default variant (auto)
"model": "gpt-6.1-sol:yellow"    // explicit public variant
"model": "claude-opus-5.5"     // use an id from the catalog

Exemple de requête avec une variante explicite :

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4.8:yellow",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
# :yellow — pin a public variant for this request

Alias de variantes

Utilisez uniquement les alias du catalogue. Suffixes disponibles :

ParamètreTypeDescription
:yellowsuffixVariant public ; la disponibilité et le prix dépendent du modèle.
:codex / :claude-codesuffixPools d’abonnements ; les modèles proposés par chacun figurent dans le catalogue.
:pixelsuffixVariant public pour les modèles multimédias.
Vérifiez les suffixes exacts de chaque modèle dans la colonne « In API » de la page Modèles — seules les variantes réellement disponibles y sont affichées. Si vous transmettez un suffixe indisponible, la requête renvoie un 400.

Lister les modèles via l’API

Vous pouvez récupérer par programmation la liste complète des identifiants de modèles disponibles :

GEThttps://getvibeapi.com/v1/models
curl https://getvibeapi.com/v1/models \
  -H "Authorization: Bearer $GETVIBE_API_KEY"

En plus de id/object/created/owned_by, chaque entrée contient type (chat, embedding, rerank, image, video, audio, music, 3d), architecture.input_modalities / output_modalities et endpoints — où envoyer une requête pour ce modèle.

  • La liste par défaut contient uniquement des modèles de chat, d’embedding et de rerank, afin que le sélecteur de modèles d’un IDE ne propose jamais un modèle qui ne peut pas gérer de chat.
  • Les modèles multimédias (image, vidéo, audio, musique, 3D) sont listés sur demande : ?type=image (ou une liste : ?type=image,video), ?output_modalities=image ; ?modality= et ?category= sont des synonymes de type.
  • Tout en une fois : ?all=true, ?type=all ou GET /v1/models/all. Les médias sont répertoriés avec leurs variantes (model:alias) — exactement l’identifiant à envoyer.
  • GET /v1/models/{id} renvoie un modèle ; un ID inconnu renvoie une 404 avec code: "model_not_found".
curl "https://getvibeapi.com/v1/models?type=image,video" \
  -H "Authorization: Bearer $GETVIBE_API_KEY"

Abonnez-vous aux mises à jour du catalogue (RSS et JSON Feed)

Chaque modèle ajouté au catalogue et nos publications sur les nouveautés sont publiés dans un flux ouvert — aucune clé n’est nécessaire. Consultez-le depuis un lecteur RSS ou un agent, afin que celui-ci puisse adapter son approche à l’évolution des modèles. Le flux contient l’historique complet, page par page, et chaque événement fournit ce dont un agent a besoin pour appeler le modèle immédiatement.

  • /rss.xml (alias /feed.xml) est au format RSS 2.0 ; /feed.json est au format JSON Feed 1.1 avec un bloc _meta au niveau du flux et un bloc _catalog par événement.
  • Pages : 50 événements chacune, ?limit= jusqu’à 100, du plus récent au plus ancien. La page suivante (plus ancienne) est indiquée par next_url dans JSON Feed et par <atom:link rel="next"> dans RSS (RFC 5005, avec également rel="first" et rel="previous"). Les liens contiennent un curseur : ainsi, la publication d’un modèle pendant votre parcours des pages ne décale jamais un événement que vous avez déjà lu. Utilisez les liens tels qu’ils sont renvoyés.
  • Filtres : ?kind=text|image|video|audio|music|3d|news et ?since=YYYY-MM-DD — uniquement les événements à partir de ce jour UTC, inclus. Les filtres fonctionnent avec la pagination et sont conservés dans les liens.
  • Un événement model_added contient le titre, la date d’apparition du modèle dans le catalogue, un lien vers la page du modèle, une description et, dans _catalog : les identifiants publics à envoyer comme model (ni variantes de routes :alias, ni noms de fournisseurs), les points de terminaison, les modalités d’entrée et de sortie, la fenêtre de contexte et la taille maximale de sortie, les capacités (outils, JSON / sortie structurée, vision, raisonnement et ses niveaux, mise en cache), le prix public de départ en USD avec son unité, pour les médias chaque paramètre de requête avec ses valeurs autorisées, une requête prête à l’emploi (curl et JSON) et un lien vers la documentation. Un événement news est une publication présentant les nouveautés.
  • L’guid d’un événement ne change jamais. Le flux ne contient aucun résultat de génération enregistré, uniquement un exemple de requête.
  • Interrogez le flux au maximum une fois toutes les quelques minutes : chaque page possède ses propres ETag et Last-Modified ; envoyez If-None-Match / If-Modified-Since et une page inchangée répondra 304 sans corps. Pour ne récupérer que les nouveautés, mémorisez la date du dernier événement que vous avez traité et utilisez-la pour demander ?since=.
curl -sS "https://getvibeapi.com/feed.json?since=2026-10-01&limit=100"
curl -sS -i https://getvibeapi.com/feed.json -H 'If-None-Match: "<ETag from the previous response>"'   # -> 304
Modèles de GetVibe API — liste des modèles et variantes de route | GetVibe API