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-5wird als Eingabealias mit identischer Abrechnung akzeptiert. model:aliasbindet einen Kanal, z. B.openai/gpt-5.6-sol:yellow.GET /v1/modelslistet eine ID pro Modell auf;?variants=1gibt 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
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. |
pool | string | null | Nur 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} | null | Nur 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. |
minChargePerRequest | number | USD 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"} | null | Nur 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. |
ladder | string | Nur Modell. Die URL /api/model-ladder mit der vollständigen Liste der Stufen und der Anzahl der Angebote. |
inputUsd / outputUsd | number | Zur 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 }
]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 catalogBeispielanfrage 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 requestVariantenaliase
Verwenden Sie nur Aliase aus dem Katalog. Verfügbare Suffixe:
| Parameter | Typ | Beschreibung |
|---|---|---|
:yellow | suffix | Öffentliche Variante; Verfügbarkeit und Preis hängen vom Modell ab. |
:codex / :claude-code | suffix | Abonnement-Pools; die jeweils darüber verfügbaren Modelle sind im Katalog aufgeführt. |
:pixel | suffix | Öffentliche Variante für Medienmodelle. |
Modelle über die API auflisten
Sie können die vollständige Liste der verfügbaren Modell-IDs programmgesteuert abrufen:
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ürtype. - Alles auf einmal:
?all=true,?type=alloderGET /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 mitcode: "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.jsonist 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 istnext_urlin JSON Feed und<atom:link rel="next">in RSS (RFC 5005, auch mitrel="first"undrel="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|newsund?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 alsmodelgesendet 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 (curlund JSON) sowie einen Link zur Dokumentation. Einnews-Ereignis ist ein Beitrag zu Neuigkeiten. - Die
guideines 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
ETagundLast-Modified; senden SieIf-None-Match/If-Modified-Since, und eine unveränderte Seite antwortet mit304ohne 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