Design
Sprache

Modelle

Die GetVibe API-Modellliste und die Adressierung von Modellen im Feld model. Routenvarianten über die Suffixe :network, :nexus, :sub5 – unterschiedliche Route, Preise und Caching-Verhalten.

Das Feld model erwartet den exakten Modellnamen. Die vollständige Liste mit Preisen und Cache-Unterstützung finden Sie auf der Katalogseite.

  • IDs verwenden vendor/model (OpenRouter-Format), z. B. anthropic/claude-opus-5; claude-opus-5 wird als Eingabealias mit identischer Abrechnung akzeptiert.
  • model:alias bindet einen Kanal, z. B. openai/gpt-5.6-sol:yellow. GET /v1/models listet eine ID pro Modell auf; ?variants=1 gibt die vollständige Liste zurück.

Wie eine Anfrage abgerechnet wird

Die meisten Kanäle sind Marketplace-Orderbücher: Viele Verkäufer bieten dasselbe Modell zu unterschiedlichen Preisen an. Ihre Anfrage wird mit dem günstigsten Angebot ausgeführt, das sie annimmt, und Ihnen werden die Kosten dieser Ausführung zuzüglich unserer Provision berechnet. Der Preis pro Token ist daher eine Spanne und keine einzelne Zahl – er hängt davon ab, auf welcher Stufe des Orderbuchs die Ausführung erfolgt ist.

GET /api/catalog und GET /v1/pricing veröffentlichen diesen Bereich pro Modell (pricing) und pro Kanal (channels[]), aus derselben Staffelung gelesen, die GET /api/model-ladder?model=<model> mit ihren Angebotsanzahlen bereitstellt.

GEThttps://getvibeapi.com/api/model-ladder?model=claude-opus-5.5
Preisfelder (USD pro 1M Tokens)
ParameterTypBeschreibung
basis"fill" | "fixed" | "mixed"„fill“: wird zu dem Satz abgerechnet, bei dem der Fill erfolgt, zuzüglich Provision. „fixed“: wird zum angegebenen Satz abgerechnet (from = typical = to). „mixed“ (nur auf Modellebene): einige Kanäle jeder Art.
priceFrom{input, output}Die günstigste Stufe – der niedrigste Satz, zu dem eine Anfrage abgerechnet werden kann.
priceTypical{input, output}Die angebotsgewichtete mittlere Stufe: Die Hälfte der Angebote im Orderbuch liegt auf oder unter diesem Wert. Sie beschreibt, wo das Angebot liegt, und ist keine Prognose für Ihre nächste Ausführung. Auf Modellebene ist es die Stufe des Standardkanals.
priceTo{input, output}Die teuerste Stufe im Orderbuch – der höchste Betrag, zu dem eine Anfrage ohne max_price abgerechnet werden kann.
poolstring | nullNur für den Kanal. Das Orderbuch, aus dem der Kanal einkauft, so wie es die Leiter ausweist. Jeder Pool wird genau als ein Kanal veröffentlicht.
maxPriceCeiling{input, output} | nullNur für den Kanal. Wenn eine Anfrage max_price enthält, wird dieser Kanal nicht oberhalb des niedrigeren Werts aus max_price und dieser Obergrenze ausgeführt. Ohne max_price wird keine Obergrenze gesendet.
minChargePerRequestnumberUSD pro REQUEST, nicht pro 1M. Wird nur bei einem Kanal angezeigt, dessen Lieferant ein Mindestentgelt pro Anfrage berechnet (Regel des Lieferanten): Mindestens eine erfolgreiche Anfrage wird abgerechnet, zum Beispiel $0.0000143. Eine Anfrage, deren Token weniger kosten würden — etwa eine kurze Anfrage oder eine, die größtenteils aus Cache-Lesevorgängen besteht — wird mit diesem Betrag abgerechnet. Auf Modellebene (nullable) ist es der Standardwert des Standardkanals.
fill{"24h", "7d"} | nullNur für den Kanal (und für jeden bereitgestellten Pool von /api/model-ladder). Wo unsere kostenpflichtigen Anfragen auf diesem Kanal tatsächlich ausgeführt wurden: pro Stufe der Anteil der Anfragen und Tokens; avgPrice, der tokengewichtete durchschnittlich gezahlte Preis, also der typische Preis, den Sie tatsächlich zahlen; sowie die Anteile, die unter oder über der heutigen Leiter ausgeführt wurden (die Orderbücher ändern sich) oder für die das Mindestentgelt pro Anfrage berechnet wurde. null für ein Zeitfenster mit weniger als 20 Anfragen.
ladderstringNur Modell. Die URL /api/model-ladder mit der vollständigen Liste der Stufen und der Anzahl der Angebote.
inputUsd / outputUsdnumberZur Kompatibilität beibehalten. Bei einem Fill-Kanal entsprechen sie priceFrom – dem Mindestpreis, nicht einem Festpreis.
"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 }
]
Ein Pool ist ein Kanal mit einer einzigen Preisleiter – zum Beispiel claude-code: Eine Anfrage wird auf derjenigen Stufe ausgeführt, die sie annimmt, zwischen priceFrom und priceTo. Um zu begrenzen, wie viel eine Anfrage kosten kann, senden Sie max_price – ohne diesen Parameter kann jede Stufe der Leiter zum Einsatz kommen, mit ihm wird die Anfrage niemals oberhalb Ihres Limits ausgeführt. Um die Tiefe hinter einem Preis zu sehen, lesen Sie die Leiter; um zu sehen, wo Anfragen tatsächlich ausgeführt werden, lesen Sie den zugehörigen fill. Jede Anfrage in /v1/generations enthält cost_detail.realisedRate, den Preis pro 1M, zu dem sie abgerechnet wurde, sodass Sie sie auf der Leiter einordnen können. Jede erfolgreiche Anfrage kostet mindestens den minChargePerRequest des Kanals, daher wird eine sehr kleine oder größtenteils aus dem Cache bediente Anfrage mit diesem Mindestbetrag statt mit ihrem Tokenpreis abgerechnet.

Varianten eines Modells

Die meisten Modelle haben mehrere öffentliche Varianten. Die Standardvariante wird automatisch ausgewählt (die Priorität richtet sich nach den Einstellungen Ihres Kontos oder Schlüssels). Um eine bestimmte Variante für eine Anfrage festzulegen, fügen Sie ihren Alias nach einem Doppelpunkt an den Modellnamen an:

"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

Beispielanfrage mit einer expliziten Variante:

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

Variantenaliase

Verwenden Sie nur Aliase aus dem Katalog. Verfügbare Suffixe:

ParameterTypBeschreibung
:yellowsuffixÖffentliche Variante; Verfügbarkeit und Preis hängen vom Modell ab.
:codex / :claude-codesuffixAbonnement-Pools; die jeweils darüber verfügbaren Modelle sind im Katalog aufgeführt.
:pixelsuffixÖffentliche Variante für Medienmodelle.
Prüfen Sie die genauen Suffixe für jedes Modell in der Spalte „In API“ auf der Seite Models — dort werden nur tatsächlich verfügbare Varianten angezeigt. Wenn Sie ein nicht verfügbares Suffix übergeben, gibt die Anfrage einen 400 zurück.

Modelle über die API auflisten

Sie können die vollständige Liste der verfügbaren Modell-IDs programmgesteuert abrufen:

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

Neben id/object/created/owned_by enthält jeder Eintrag type (chat, embedding, rerank, image, video, audio, music, 3d), architecture.input_modalities / output_modalities und endpoints — wohin eine Anfrage für dieses Modell gesendet werden soll.

  • Die Standardliste enthält nur Chat-, Embedding- und Rerank-Modelle, damit ein IDE-Modell-Picker niemals ein Modell anbietet, das nicht chatten kann.
  • Medienmodelle (Bild, Video, Audio, Musik, 3D) werden auf Anfrage aufgelistet: ?type=image (oder als Liste: ?type=image,video), ?output_modalities=image; ?modality= und ?category= sind Synonyme für type.
  • Alles auf einmal: ?all=true, ?type=all oder GET /v1/models/all. Medien werden zusammen mit ihren Varianten (model:alias) aufgelistet, also genau mit der ID, die Sie senden müssen.
  • GET /v1/models/{id} gibt ein Modell zurück; eine unbekannte ID liefert 404 mit code: "model_not_found".
curl "https://getvibeapi.com/v1/models?type=image,video" \
  -H "Authorization: Bearer $GETVIBE_API_KEY"

Katalogaktualisierungen abonnieren (RSS und JSON Feed)

Jedes Modell, das in den Katalog aufgenommen wird, und unsere Beiträge zu Neuigkeiten werden in einem offenen Feed veröffentlicht — ohne Schlüssel. Lesen Sie ihn mit einem RSS-Reader oder einem Agenten, damit dieser sein Vorgehen anpassen kann, wenn sich die Modelle ändern. Der Feed enthält den gesamten Verlauf, Seite für Seite, und jedes Ereignis enthält alles, was ein Agent benötigt, um das Modell sofort aufzurufen.

  • /rss.xml (Alias /feed.xml) ist RSS 2.0; /feed.json ist JSON Feed 1.1 mit einem _meta-Block auf Feed-Ebene und einem _catalog-Block pro Ereignis.
  • Seiten: jeweils 50 Ereignisse, ?limit= bis zu 100, neueste zuerst. Die nächste (ältere) Seite ist next_url in JSON Feed und <atom:link rel="next"> in RSS (RFC 5005, auch mit rel="first" und rel="previous"). Die Links enthalten einen Cursor, sodass ein Modell, das während des Durchblätterns veröffentlicht wird, niemals ein bereits gelesenes Ereignis verschiebt. Verwenden Sie die Links so, wie sie zurückgegeben werden.
  • Filter: ?kind=text|image|video|audio|music|3d|news und ?since=YYYY-MM-DD — nur Ereignisse ab einschließlich dieses UTC-Tages. Filter funktionieren zusammen mit der Seitennavigation und bleiben in den Links erhalten.
  • Ein model_added-Ereignis enthält den Titel, das Datum der Aufnahme des Modells in den Katalog, einen Link zur Modellseite, eine Beschreibung und unter _catalog: die öffentlichen IDs, die als model gesendet werden sollen (keine :alias-Routenschreibweisen und keine Anbieternamen), die Endpunkte, Ein- und Ausgabemodalitäten, das Kontextfenster und die maximale Ausgabe, die Fähigkeiten (Tools, JSON / strukturierte Ausgabe, Bildverarbeitung, Reasoning und dessen Stufen, Caching), den öffentlichen Einstiegspreis in USD mit seiner Einheit, für Medien jeden Anfrageparameter mit seinen zulässigen Werten, eine fertige Anfrage (curl und JSON) sowie einen Link zur Dokumentation. Ein news-Ereignis ist ein Beitrag zu Neuigkeiten.
  • Die guid eines Ereignisses ändert sich nie. Der Feed enthält keine aufgezeichneten Generierungsergebnisse, sondern nur eine Beispielanfrage.
  • Fragen Sie den Feed höchstens alle paar Minuten ab: Jede Seite hat ein eigenes ETag und Last-Modified; senden Sie If-None-Match / If-Modified-Since, und eine unveränderte Seite antwortet mit 304 ohne Antwortinhalt. Um nur Neues abzurufen, merken Sie sich das Datum des letzten verarbeiteten Ereignisses und fragen Sie ?since= mit diesem Datum ab.
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
GetVibe API-Modelle – Modellliste und Routenvarianten | GetVibe API