Model
Daftar model GetVibe API dan cara menyebut model di kolom model. Varian rute melalui akhiran :network, :nexus, :sub5 — rute, harga, dan perilaku caching yang berbeda.
Kolom model menerima nama model secara persis. Daftar lengkap dengan harga dan dukungan cache ada di halaman katalog.
- ID menggunakan
vendor/model(gaya OpenRouter), misalnyaanthropic/claude-opus-5;claude-opus-5diterima sebagai alias masukan dengan penagihan yang identik. model:aliasmenyematkan sebuah channel, misalnyaopenai/gpt-5.6-sol:yellow.GET /v1/modelsmenampilkan satu ID per model;?variants=1mengembalikan daftar lengkapnya.
Cara sebuah permintaan ditagih
Sebagian besar kanal adalah marketplace book: banyak penjual menawarkan model yang sama dengan harga berbeda. Permintaan Anda terisi pada penawaran termurah yang menerimanya, dan Anda ditagih sebesar biaya pengisian tersebut ditambah komisi kami. Karena itu, tarif per token berupa rentang, bukan satu angka — bergantung pada tingkatan book mana yang mengisi permintaan.
GET /api/catalog dan GET /v1/pricing mempublikasikan rentang itu per model (pricing) dan per channel (channels[]), dibaca dari tangga yang sama yang dilayani GET /api/model-ladder?model=<model> beserta jumlah penawarannya.
| Parameter | Tipe | Deskripsi |
|---|---|---|
basis | "fill" | "fixed" | "mixed" | "fill": ditagih pada tingkat yang mengisi, ditambah komisi. "fixed": ditagih pada tarif yang tercantum (from = typical = to). "mixed" (hanya level model): sebagian channel dari masing-masing jenis. |
priceFrom | {input, output} | Tingkat termurah — tarif terendah yang dapat ditagihkan untuk sebuah permintaan. |
priceTypical | {input, output} | Tingkat median berbobot penawaran: separuh penawaran di buku berada pada atau di bawahnya. Ini menggambarkan posisi pasokan, bukan perkiraan pengisian berikutnya. Pada tingkat model, nilainya adalah milik kanal default. |
priceTo | {input, output} | Tingkat termahal di buku — jumlah maksimum yang dapat ditagihkan untuk permintaan tanpa max_price. |
pool | string | null | Hanya channel. Book yang dibeli channel ini, sebagaimana dicetak oleh ladder. Setiap pool dipublikasikan sebagai tepat satu channel. |
maxPriceCeiling | {input, output} | null | Hanya channel. Ketika sebuah permintaan membawa max_price, channel ini tidak akan terisi di atas nilai terendah antara max_price dan plafon ini. Tanpa max_price tidak ada plafon yang dikirim. |
minChargePerRequest | number | USD per PERMINTAAN, bukan per 1M. Hanya ada pada kanal yang pemasoknya mengenakan biaya minimum per permintaan (aturan pemasok): biaya minimum untuk satu permintaan yang berhasil, misalnya $0.0000143. Permintaan yang biaya tokennya lebih rendah — permintaan singkat, atau yang sebagian besar berupa cache read — ditagih sebesar jumlah ini. Pada tingkat model (dapat bernilai null) ini adalah nilai kanal default. |
fill | {"24h", "7d"} | null | Hanya channel (dan pada setiap pool yang dilayani dari /api/model-ladder). Tempat permintaan berbayar kami di channel ini benar-benar terisi: per rung, porsi permintaan dan token; avgPrice, rata-rata tertimbang token yang dibayarkan — harga tipikal yang sebenarnya akan Anda bayar; serta porsi yang terisi di bawah atau di atas ladder hari ini (book bergerak) atau ditagih minimum per permintaan. null untuk jendela dengan kurang dari 20 permintaan. |
ladder | string | Hanya model. URL /api/model-ladder dengan daftar lengkap tingkatan dan jumlah penawaran. |
inputUsd / outputUsd | number | Dipertahankan untuk kompatibilitas. Pada channel fill nilainya sama dengan priceFrom — batas bawah, bukan harga tetap. |
"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: permintaan terisi pada tingkat mana pun yang menerimanya, antara priceFrom dan priceTo. Untuk membatasi berapa biaya yang dapat dikeluarkan sebuah permintaan, kirim max_price — tanpanya, tingkat mana pun pada tangga dapat terisi, dengannya permintaan tidak akan pernah terisi di atas batas atas Anda. Untuk melihat kedalaman di balik sebuah harga, baca tangganya; untuk melihat di mana permintaan sebenarnya mendarat, baca fill-nya. Setiap permintaan di /v1/generations membawa cost_detail.realisedRate, harga per 1 juta yang ditagihkan, sehingga Anda dapat menempatkannya pada tangga. Setiap permintaan yang berhasil memakan biaya setidaknya minChargePerRequest channel tersebut, jadi permintaan yang sangat kecil atau sebagian besar dari cache ditagih sebesar minimum itu, bukan jumlah per tokennya.Varian dari satu model
Sebagian besar model memiliki beberapa varian publik. Varian default dipilih secara otomatis (prioritas mengikuti pengaturan akun atau kunci Anda). Untuk menetapkan varian tertentu bagi suatu permintaan, tambahkan aliasnya setelah tanda titik dua pada nama model:
"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 catalogContoh permintaan dengan varian eksplisit:
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 requestAlias varian
Gunakan hanya alias dari katalog. Sufiks yang tersedia:
| Parameter | Tipe | Deskripsi |
|---|---|---|
:yellow | suffix | Varian publik; ketersediaan dan harga bergantung pada model. |
:codex / :claude-code | suffix | Pool langganan; model yang dilayani oleh masing-masing pool tercantum di katalog. |
:pixel | suffix | Varian publik untuk model media. |
Daftar model melalui API
Anda dapat mengambil daftar lengkap id model yang tersedia secara terprogram:
curl https://getvibeapi.com/v1/models \
-H "Authorization: Bearer $GETVIBE_API_KEY"Selain id/object/created/owned_by, setiap entri membawa type (chat, embedding, rerank, image, video, audio, music, 3d), architecture.input_modalities / output_modalities dan endpoints — tempat mengirim permintaan untuk model tersebut.
- Daftar default hanya memuat model chat, embedding, dan rerank, sehingga pemilih model di IDE tidak pernah menawarkan model yang tidak dapat melakukan chat.
- Model media (gambar, video, audio, musik, 3D) didaftarkan berdasarkan permintaan:
?type=image(atau daftar:?type=image,video),?output_modalities=image;?modality=dan?category=adalah sinonim daritype. - Semuanya sekaligus:
?all=true,?type=allatauGET /v1/models/all. Media dicantumkan bersama variannya (model:alias) — persis id yang harus dikirim. GET /v1/models/{id}mengembalikan satu model; id yang tidak dikenal adalah 404 dengancode: "model_not_found".
curl "https://getvibeapi.com/v1/models?type=image,video" \
-H "Authorization: Bearer $GETVIBE_API_KEY"Berlangganan pembaruan katalog (RSS dan JSON Feed)
Setiap model yang ditambahkan ke katalog dan postingan pembaruan terbaru kami diterbitkan dalam feed terbuka — tanpa memerlukan kunci. Baca feed melalui pembaca RSS atau agen, sehingga agen dapat menyesuaikan pendekatannya seiring perubahan model. Feed ini memuat seluruh riwayat, halaman demi halaman, dan setiap peristiwa memuat informasi yang dibutuhkan agen untuk langsung memanggil model.
/rss.xml(alias/feed.xml) menggunakan RSS 2.0;/feed.jsonmenggunakan JSON Feed 1.1 dengan blok_metapada tingkat feed dan blok_cataloguntuk setiap peristiwa.- Halaman: masing-masing 50 peristiwa,
?limit=hingga 100, dengan yang terbaru di urutan pertama. Halaman berikutnya (lebih lama) adalahnext_urldalam JSON Feed dan<atom:link rel="next">dalam RSS (RFC 5005, juga denganrel="first"danrel="previous"). Tautan menyertakan kursor, sehingga model yang diterbitkan saat Anda menelusuri halaman tidak akan menggeser peristiwa yang sudah Anda baca. Gunakan tautan sebagaimana dikembalikan. - Filter:
?kind=text|image|video|audio|music|3d|newsdan?since=YYYY-MM-DD— hanya peristiwa sejak hari UTC tersebut, termasuk hari itu sendiri. Filter dapat digunakan bersama paginasi dan tetap disertakan dalam tautan. - Peristiwa
model_addedmemuat judul, tanggal model muncul di katalog, tautan ke halaman model, deskripsi, dan, di dalam_catalog: ID publik yang dikirim sebagaimodel(tanpa penulisan rute:aliasdan tanpa nama pemasok), endpoint, modalitas input dan output, jendela konteks dan output maksimum, kapabilitas (alat, JSON / output terstruktur, visi, penalaran beserta tingkatannya, caching), harga awal publik dalam USD beserta satuannya, untuk media setiap parameter permintaan beserta nilai yang diizinkan, permintaan siap pakai (curldan JSON), serta tautan dokumentasi. Peristiwanewsadalah postingan tentang pembaruan terbaru. guidsuatu event tidak pernah berubah. Feed ini tidak memiliki hasil generasi yang tercatat, hanya request contoh.- Lakukan polling paling sering setiap beberapa menit: setiap halaman memiliki
ETagdanLast-Modifiedsendiri; kirimIf-None-Match/If-Modified-Sincedan halaman yang tidak berubah akan merespons304tanpa isi respons. Untuk mengambil hanya yang baru, simpan tanggal peristiwa terakhir yang Anda proses dan gunakan tanggal tersebut dalam permintaan?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