Lewati ke konten
kenari.

Provider

Halaman Provider & Rute di dashboard, tab Provider, adalah tempat kamu membawa akun milikmu sendiri ke kenari. Ada dua jenis. API key adalah key dari akun provider yang kamu bayar per token. Langganan AI adalah login ke paket yang sudah kamu bayar, seperti ChatGPT Plus atau Pro, kredit Claude Max atau Team, atau SuperGrok. Keduanya kamu panggil lewat endpoint dan key kn- yang sama.

Request yang dilayani key atau langganan milikmu ditagih Rp 0 di kenari. Provider yang menagih kamu, saldo kenari tidak terpotong, dan pemakaian tetap muncul di analitik. Saat key atau langganan tidak bisa melayani request, rute bisa melanjutkannya dengan saldo. Biaya per pencarian untuk Server tools seperti web search tetap berlaku.

BYOK (bring your own key) kini hanya nama awalan id model byok/ yang dipakai untuk menunjuk akun-akun ini. BYOK bukan lagi nama halaman di dashboard.

  1. Buka Provider & Rute di dashboard, lalu tab Provider.
  2. Di bagian API key, klik Tambah API Key.
  3. Pilih Provider, tempel key, tambahkan Label (opsional) jika perlu, lalu klik Simpan.

kenari memeriksa key sesaat setelah kamu menyimpannya dan menampilkan hasilnya di baris key.

Nama chatgpt dan grok dipakai oleh login langganan, jadi kamu tidak bisa menambahkan API key dengan nama itu.

Pilih Custom (endpoint sendiri) lalu isi:

  • Nama provider: nama unik seperti my-proxy. kenari mengubahnya menjadi huruf kecil dan mengganti spasi dengan tanda hubung. Kamu memakai nama ini di id model byok/ dan saat menyusun rute.
  • Base URL: base URL endpoint-mu.
  • Jenis API: Kompatibel OpenAI atau Anthropic.

Setiap provider yang kamu pakai tampil sebagai kartu, dengan key-nya berurutan sesuai prioritas.

KontrolFungsinya
PeriksaMenjalankan pemeriksaan ulang key ke provider.
Lihat modelMenampilkan model yang bisa dijangkau key ini, lengkap dengan Salin ID untuk tiap model.
Menu barisUbah API Key, Salin ID kunci, Nonaktifkan atau Aktifkan, Hapus API Key. Jika satu provider punya dua key atau lebih, ada juga Naikkan prioritas dan Turunkan prioritas.

Setiap baris menampilkan satu status.

StatusArtinya
AktifKey lulus pemeriksaan, atau pemeriksaan tidak bisa memastikan tetapi key melayani request dalam 7 hari terakhir. Baris bisa menambahkan “dipakai 2 jam lalu” atau “belum pernah dipakai”.
Jeda N menitProvider membatasi key (rate limit), sedang ada gangguan sementara, atau kuota key habis. Key otomatis dapat digunakan kembali setelah jeda berakhir.
GagalProvider menolak key. Tidak ada request yang lewat key ini sampai kamu memperbaikinya.
Status tidak diketahuiProvider tidak bisa diperiksa otomatis, misalnya endpoint custom tanpa daftar model. Key menjadi Aktif setelah ada request yang berhasil lewat key itu.
Belum diperiksaKey baru yang menunggu pemeriksaan pertamanya.
NonaktifKamu mematikan key ini. Key tidak melayani request sampai kamu klik Aktifkan.

Setiap kartu provider API key punya sakelar Cadangan saldo kenari. Saat sakelar aktif dan semua key kamu untuk provider itu gagal atau kena limit, kenari menyelesaikan request dengan kapasitasnya sendiri dan memotong saldomu dengan tarif PAYG. Jika semua key kamu gagal dan cadangan mati, request gagal.

Jika sakelar aktif tetapi saldo terlalu rendah, kartu menampilkan peringatan dan tautan Isi saldo. Cadangan tidak bisa menutup request sampai kamu menambah saldo. Lihat Cara penagihan.

Cadangan ini milik API key. Request ke id byok/chatgpt/... atau byok/grok/... tidak pernah menyentuh saldomu. Untuk melanjutkan dengan saldo setelah sebuah langganan, pakai rute.

kenari mencoba key di satu kartu dari atas ke bawah, lalu pindah ke key berikutnya saat satu key gagal atau kena limit. Cadangan saldo, bila aktif, selalu terakhir. Pakai Naikkan prioritas dan Turunkan prioritas untuk mengubah urutan.

Kamu tidak perlu mengubah kode. Kirim request dengan key kn- seperti biasa. Saat model yang kamu minta dilayani provider yang key-nya kamu daftarkan, kenari mencoba key-mu lebih dulu.

Terminal window
curl https://kenari.id/v1/chat/completions \
-H "Authorization: Bearer $KENARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [{"role": "user", "content": "Halo!"}]
}'

Login langganan tidak dipakai untuk model katalog. Tunjuk dengan id byok/ atau lewat rute.

Bagian Langganan AI di atas daftar API key punya satu kartu pilihan untuk ChatGPT, Claude, dan Grok. Setelah kamu menghubungkan sebuah langganan, kenari menampilkannya sebagai kartu lengkap dengan status dan kuotanya.

Kamu bisa menghubungkan maksimal 5 login ChatGPT dan Grok secara total, satu login untuk tiap akun di provider. Menghubungkan lagi akun ChatGPT atau Grok yang sama menggantikan loginnya, bukan menambah login kedua. Kredit Claude adalah API key biasa, jadi tidak dihitung dalam batas 5.

ChatGPT dan Grok membutuhkan Langganan aktif. Kartu pilihan untuk akun yang belum berlangganan menampilkan Khusus pelanggan Langganan dan tautan Lihat Langganan. Masa percobaan dan paket hadiah dihitung sebagai Langganan aktif. Lihat Langganan.

Jika Langgananmu berakhir, login tetap tersimpan dan kartunya menampilkan Butuh Langganan aktif. kenari melewati login itu, request ke byok/chatgpt/... atau byok/grok/... mendapat 403 dan subscription_required, dan rute melewati langkahnya lalu lanjut ke langkah berikutnya. Perpanjang Langgananmu dan login berfungsi lagi. kenari terus memperbarui login yang dipakai atau dihubungkan dalam 30 hari terakhir, jadi jeda singkat tidak membuatmu keluar dari login.

Kredit Claude adalah API key, jadi menambahkannya terbuka untuk semua orang. Passthrough Claude Managed Agents butuh Langganan aktif.

Pakai kuota Codex dari paket Plus atau Pro kamu.

  1. Di kartu ChatGPT, klik Hubungkan.
  2. Baca catatannya, lalu klik Mulai. kenari menampilkan kode di Kode kamu.
  3. Klik Buka halaman ChatGPT. Tombol ini membuka https://auth.openai.com/codex/device di tab baru. Masuk ke akun ChatGPT kamu lalu masukkan kodenya.
  4. Kembali ke dashboard. Dashboard menampilkan Menunggu konfirmasi sampai OpenAI menyetujui, lalu ChatGPT tersambung.

Kode berlaku dalam waktu terbatas dan dialog menampilkan sisa waktunya. Jika kode kedaluwarsa atau kamu membatalkan login, klik Coba lagi untuk mendapat kode baru.

Pakai kuota dari SuperGrok atau X Premium+ kamu.

  1. Di kartu Grok, klik Hubungkan, lalu Mulai.
  2. Klik Buka halaman Grok. Tombol ini membuka halaman perangkat xAI di https://accounts.x.ai/oauth2/device. Masuk ke akun xAI kamu lalu masukkan kodenya.
  3. Kembali ke dashboard dan tunggu Grok tersambung.

xAI yang menentukan paket mana yang boleh memakai akses ini. Jika paketmu tidak bisa, kartu menampilkan Paket Grok kamu belum mendukung akses ini.

Kredit Claude adalah kredit API bulanan di paket Max atau Team. Kredit ini dipakai lewat API key biasa dari Anthropic Console, jadi tidak ada kode untuk dimasukkan.

  1. Di kartu Claude, klik Hubungkan.
  2. Buka claude.ai, lalu Settings, Billing, dan pilih Link organization di bagian API credits.
  3. Buka platform.claude.com, lalu API keys, dan buat API key baru di organisasi itu.
  4. Tempel key ke dialog.
  5. Pilih Paket: Max 5x ($100/bulan), Max 20x ($200/bulan), Team, atau Lainnya. Untuk Team dan Lainnya, isi Kredit per bulan (USD) antara $1 dan $500.
  6. Atur Tanggal pembaruan, yaitu tanggal kreditmu diperbarui setiap bulan.
  7. Biarkan Berhenti otomatis saat kredit habis menyala, atau matikan. Secara bawaan menyala.

Lihat Perkiraan kredit dan berhenti otomatis untuk isi kartu dan fungsi sakelarnya.

Key disimpan sebagai API key anthropic. Pakai dengan byok/anthropic/<model>, dan dengan passthrough Claude Managed Agents. Pilih Ubah kredit di kartu untuk mengganti paket atau tanggal pembaruan nanti.

kenari tidak bisa membaca sisa kreditmu dari Anthropic, jadi kartu menampilkan perkiraan. Perkiraan ini menjumlahkan request yang dikirim kenari dengan key itu selama periode berjalan, dinilai dengan harga daftar Anthropic untuk tiap model. kenari tidak tahu soal hal lain.

  • Periode dimulai pada Tanggal pembaruan pukul 00:00 UTC dan berlangsung sampai tanggal pembaruan berikutnya. Saat diperbarui, perkiraan mulai lagi dari nol.
  • Sebuah request muncul di perkiraan dalam sekitar 10 detik.
  • Saat Berhenti otomatis saat kredit habis menyala, model yang tidak punya harga daftar dihitung dengan harga daftar Anthropic yang paling mahal, jadi perkiraan cenderung lebih tinggi. Saat sakelar mati, model seperti itu dihitung nol.

Saat perkiraan mencapai kredit bulananmu dan sakelar menyala, kenari melewati key itu, sama seperti key yang dijeda. Rute lanjut ke langkah berikutnya, dan langkah terakhir bisa berupa Saldo kenari (PAYG). Request ke byok/anthropic/... gagal dengan 403 dan byok_credential_unavailable jika kamu tidak punya key Anthropic lain yang bisa melayaninya. kenari memeriksa perkiraan kira-kira setiap 15 detik, jadi beberapa request masih bisa lolos tepat setelah kredit habis. Key berfungsi lagi saat periode diperbarui. Kamu juga bisa menaikkan kredit lewat Ubah kredit, atau mematikan sakelarnya.

Buka menu kartu dan pilih Putuskan. kenari menghapus login dan berhenti memakai langgananmu. Kamu bisa menghubungkannya lagi kapan saja.

StatusArtinya
TersambungLogin berfungsi.
Dibatasi sampai sebuah waktuLangganan kena limit, atau provider sedang ada gangguan sementara. kenari melewatinya sampai waktu itu.
Perlu dihubungkan ulangLogin ditolak dan tidak bisa diperbarui. Hubungkan lagi dari kartunya dan masuk dengan akun yang sama.
Butuh Langganan aktifLanggananmu sudah berakhir. Lihat Khusus pelanggan Langganan.
Paket Grok kamu belum mendukung akses inixAI menolak akses untuk paketmu.

Tunjuk koneksi atau key dengan id byok/:

byok/<provider>/<id-model-di-provider-kamu>
BagianAturan
byokLiteral, huruf kecil.
<provider>chatgpt, grok, atau anthropic untuk tiga langganan. Selain itu, provider dari key-mu atau Nama provider untuk endpoint custom. Pencocokan tidak membedakan huruf besar dan kecil.
SisanyaDikirim ke provider apa adanya, termasuk garis miring dan titik dua. Huruf besar dan kecil dipertahankan.

Provider key bawaan adalah openai, anthropic, deepseek, xai, groq, mistral, dan opencode. Endpoint custom bernama my-proxy memakai byok/my-proxy/<id-model-di-provider-kamu>.

Untuk mencari id yang tepat, klik Lihat model di baris key atau di kartu langganan, lalu pakai Salin ID. Jalur ini tidak pernah memakai saldomu. Jika kamu punya beberapa key atau koneksi untuk provider itu, kenari mencobanya sesuai urutan prioritas.

Ketiga format API menerima id ini: Chat completions, Messages, dan Responses.

Terminal window
curl https://kenari.id/v1/chat/completions \
-H "Authorization: Bearer $KENARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "byok/chatgpt/gpt-5.5",
"messages": [{"role": "user", "content": "Halo!"}]
}'
Terminal window
curl https://kenari.id/v1/chat/completions \
-H "Authorization: Bearer $KENARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "byok/grok/grok-4",
"messages": [{"role": "user", "content": "Halo!"}]
}'
Terminal window
curl https://kenari.id/v1/chat/completions \
-H "Authorization: Bearer $KENARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "byok/anthropic/claude-sonnet-5-5",
"messages": [{"role": "user", "content": "Halo!"}]
}'

Id yang sama berlaku di POST /v1/messages:

Terminal window
curl https://kenari.id/v1/messages \
-H "x-api-key: $KENARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "byok/anthropic/claude-sonnet-5-5",
"max_tokens": 512,
"messages": [{"role": "user", "content": "Halo!"}]
}'

Sebuah koneksi tidak melayani model katalog dengan sendirinya. Supaya langganan berjalan lebih dulu dan saldomu mengambil alih setelahnya, susun rute:

  1. Buka tab Rute lalu buat rute custom, atau ubah rute yang ada.
  2. Tambahkan langkah. Di Kredensial, pilih koneksinya, yang tampil menurut provider dan akun, misalnya akun ChatGPT yang kamu hubungkan. Di Model, isi id model milik provider itu sendiri, tanpa awalan byok/chatgpt/.
  3. Tambahkan langkah terakhir dengan Kredensial Saldo kenari (PAYG) dan model yang dilayani kenari.
  4. Simpan, lalu kirim nama rute sebagai model.

Satu langkah berisi satu koneksi dan satu model. kenari mencoba langkah secara berurutan. Langkah yang koneksinya dijeda, dinonaktifkan, keluar dari login, atau Langganannya berakhir akan dilewati, dan langkah berikutnya yang melayani. Hanya langkah saldo yang memotong saldomu.

Kartu ChatGPT atau Grok menunjukkan sisa jatah kamu. Batang menampilkan yang masih tersisa.

KartuYang ditampilkan
ChatGPTSesi 5 jam dan Mingguan. Tiap jendela menampilkan porsi yang tersisa dan kapan direset.
GrokKredit periode ini, dengan porsi yang tersisa dan tanggal Periode berakhir.
ClaudeKredit bulan ini (perkiraan), dengan jumlah yang terpakai dari kredit bulananmu dan tanggal pembaruan. Ini perkiraan kenari sendiri, lihat Perkiraan kredit dan berhenti otomatis. Kartu juga menunjukkan apakah berhenti otomatis aktif.

kenari membaca angkanya saat kamu membuka halaman dan menyimpannya selama 60 detik. Saat angka sudah lama, kartu menampilkan kapan angka itu terakhir diperbarui, beserta tombol muat ulang. Periksa kuota di menu kartu juga memperbaruinya. Jika kenari tidak bisa membaca kuota, kartu menampilkan Kuota belum bisa dibaca. Request-mu tidak terpengaruh.

Di bawah batang, setiap kartu langganan juga menampilkan baris pemakaian, misalnya “1.240 request, 3,2 jt token dalam 30 hari”. Baris ini menghitung request yang dilayani kenari lewat koneksi itu selama 30 hari terakhir, dan token adalah input ditambah output. Baris muncul setelah koneksi melayani request pertamanya, dan diperbarui dalam sekitar 10 detik.

Saat sebuah langganan menjawab bahwa jatahnya habis, kenari menjeda koneksi itu sampai jendelanya direset. Kartu menampilkan Dibatasi sampai beserta waktunya, dan rute lanjut ke langkah berikutnya.

Berikut error yang bisa kamu temui di sekitar halaman ini. Daftar lengkapnya ada di Error.

StatusKodeKapan
400byok_malformed_model_idId setelah byok/ tidak punya provider atau model.
400byok_provider_not_foundKamu tidak punya key atau koneksi untuk provider itu.
403subscription_requiredRequest byok/chatgpt/... atau byok/grok/... dari akun tanpa Langganan aktif.
403byok_credential_unavailableKamu punya key atau koneksi untuk provider itu, tetapi tidak ada yang bisa melayani sekarang karena dinonaktifkan, dijeda, atau keluar dari login.
403byok_spend_capped_keyKey kn- yang kamu kirim punya batas biaya.

Kode ini datang dari dashboard saat kamu menghubungkan langganan atau membaca kuotanya. Dashboard mengubahnya menjadi pesan yang kamu lihat.

StatusKodeKapan
400provider_unsupportedKamu mencoba menghubungkan provider selain ChatGPT atau Grok, atau provider sedang tidak tersedia.
403subscription_requiredMenghubungkan atau membaca kuota butuh Langganan aktif.
409limit_reachedKamu sudah punya 5 langganan tersambung. Di batas ini kamu tetap bisa masuk lagi untuk mengganti login yang perlu dihubungkan ulang.
429rate_limitedTerlalu banyak percobaan login dalam satu jam, atau terlalu sering memperbarui kuota. Coba lagi nanti.
503quota_unavailablekenari tidak bisa membaca kuota dan tidak punya angka sebelumnya untuk ditampilkan.

Key dengan Batas biaya, Rp (opsional) tidak bisa memakai model byok/. Alasannya, dan cara membatasi pemakaian BYOK, ada di Autentikasi & API key.