Cara penagihan
kenari menagih dalam Rupiah. Sebagian besar request dibayar dari saldo prabayar, paket langganan bisa menanggung pemakaian chat pada model tertentu, dan model gratis serta key provider milikmu sendiri tidak dikenai biaya. Halaman ini adalah rujukan utama soal uang: top up, batas pengeluaran, cara request ditagih, dan satuan tagihan setiap endpoint.
Cara membayar
Section titled “Cara membayar”| Cara bayar | Artinya |
|---|---|
| PAYG | Setiap request berbayar ditagih ke saldo sesuai harga model. Ini cara bawaan. |
| Langganan | Paket memberi kuota chat untuk model tertentu. Lihat Langganan. |
| Model gratis | Model :free ditagih Rp 0 dalam batas harian dan batas per menit. Lihat Model gratis. |
| BYOK | Request yang dilayani key provider milikmu sendiri ditagih Rp 0 di kenari. Lihat BYOK. |
Saldo dan top up
Section titled “Saldo dan top up”Buka halaman Saldo, atau pakai Isi saldo di bilah atas. Pilih jumlah dan metode pembayaran, lalu lanjut ke halaman pembayaran.
| Metode | Saldo masuk |
|---|---|
| QRIS | Saat pembayaran selesai |
| Kripto | Saat jaringan mengonfirmasi pembayaran |
Minimum dan maksimum tiap metode ditampilkan di halaman Saldo.
Jumlah selalu kamu isi dalam Rupiah. Untuk kripto, kenari menerbitkan tagihan dalam dolar AS dengan kurs platform saat tagihan dibuat, dan biaya jaringan ditanggung pembayar di atas nilai tagihan. Untuk QRIS, halaman pembayaran bisa menampilkan Biaya layanan yang ditambahkan ke jumlah. Total bayar adalah angka yang diminta aplikasi banking kamu. Saldo yang masuk sebesar jumlah yang kamu pilih.
Setiap tagihan punya tautan sendiri, jadi halaman pembayaran bisa dibuka lagi selama tagihan masih berlaku. Halaman itu memeriksa status setiap beberapa detik, dan Cek sekarang memeriksa status segera. Pembayaran langganan memakai halaman yang sama. Tagihan yang sudah kedaluwarsa tidak bisa dibayar, jadi pilih Buat pembayaran baru.
Kode bonus top up menambah saldo saat kamu top up. Lihat Kode & referral.
Batas pengeluaran PAYG
Section titled “Batas pengeluaran PAYG”Kamu bisa membatasi seberapa banyak PAYG boleh terpakai. Di halaman Langganan, buka Batas dan fallback, aktifkan Lanjut pakai saldo, lalu atur Batas saldo PAYG ke Harian atau Bulanan beserta nominal dalam Rupiah, lalu klik Simpan. Perubahan baru berlaku setelah kamu menyimpan. Untuk mematikan batas, pilih Tanpa batas lalu klik Simpan.
- Harian menghitung pengeluaran 24 jam terakhir. Bulanan menghitung pengeluaran 30 hari terakhir. Keduanya adalah jendela rolling.
- Yang dihitung hanya pengeluaran PAYG. Itu termasuk biaya pencarian web dan X yang dipotong dari saldo serta render video yang masih berjalan. Kuota paket, kupon, model gratis, dan BYOK tidak dihitung.
- Request berbayar ditolak dengan HTTP 402 dan kode
payg_limit_reachedbegitu pengeluaran dalam jendela mencapai batas, walau saldo kamu masih ada. - Batas diperiksa sebelum request dimulai, jadi request yang melewati batas tetap selesai dan request berikutnya yang ditolak. Pencarian atau pengambilan halaman yang akan membuat pengeluaran melewati batas ditolak.
- Batas yang sudah disimpan tetap berlaku walau pengaturannya sedang tidak ditampilkan.
Cara request chat ditagih
Section titled “Cara request chat ditagih”Request chat berbayar ditagih dalam dua tahap. Endpoint lain menahan dan menagih menurut satuannya sendiri, seperti dijelaskan di Satuan tagihan setiap endpoint.
- Reservasi. Sebelum request berjalan, kenari menahan saldo sebesar perkiraan biaya maksimum: estimasi input ditambah
max_tokensdengan harga Output. Kalaumax_tokenstidak diisi, berlaku nilai bawaan yang besar. Reservasi harus muat dalam saldo kamu dikurangi reservasi request lain yang sedang berjalan. - Penyelesaian. Saat response berakhir, kenari menagih pemakaian yang sebenarnya dan melepaskan sisa reservasi.
Kalau saldo tidak cukup untuk max_tokens yang diminta, kenari menurunkan max_tokens sampai sebesar yang sanggup dibayar saldo, selama masih tersisa minimal 1.024 token output. Response bisa berhenti lebih awal dengan finish_reason bernilai length. Di bawah batas itu, request ditolak dengan HTTP 402:
{ "error": { "message": "insufficient balance: available Rp 19,589; this request reserves up to Rp 21,500 worst-case (input estimate + max_tokens x output rate). Send a shorter prompt or top up at https://kenari.id/pay", "type": "insufficient_balance", "param": null, "code": "insufficient_balance" }}Pesan ini menunjukkan saldo yang tersedia saat ini serta perkiraan biaya maksimum request itu. Request yang dibiayai kuota paket, kupon, atau model gratis tidak membutuhkan saldo.
Tanpa output, tanpa tagihan
Section titled “Tanpa output, tanpa tagihan”Request chat yang selesai tanpa satu pun token output ditagih Rp 0, walau prompt-nya sudah diproses. Ini berlaku baik request itu dibiayai saldo maupun kuota paket. Request tetap muncul di riwayat pemakaian dengan biaya nol.
Kalau kamu menutup stream sebelum selesai dan provider tidak melaporkan usage, kenari menagih apa yang sudah terkirim, diperkirakan dari teks yang dikirim. Menutup koneksi setelah token terakhir tidak membuatnya gratis.
Dimensi harga
Section titled “Dimensi harga”Model chat dihargai pada empat dimensi per 1 juta token. Setiap dimensi ditagih sebagai token × harga ÷ 1.000.000.
| Dimensi | Ditagih untuk | Kalau harga tidak disetel |
|---|---|---|
| Input | Token prompt yang tidak dibaca dari atau ditulis ke cache | Selalu ada |
| Output | Token yang dihasilkan model, termasuk token reasoning | Selalu ada |
| Cache read | Token prompt yang dilayani dari cache | Ditagih dengan harga Input. Harga Cache read tidak pernah ditagih di atas Input. |
| Cache write | Token prompt yang ditulis ke cache | Ditagih dengan harga Input |
Harga dan saldo disimpan dalam micro-Rupiah, yaitu Rp 1 sama dengan 1.000.000 micro-Rupiah. GET /v1/models mengembalikan harga dalam micro-Rupiah per 1 juta token, jadi 2000000000 berarti Rp 2.000 per 1 juta token. Dashboard menampilkan Rupiah biasa. Untuk membaca saldomu dari kode, panggil GET /v1/account/balance. Lihat Saldo akun.
curl -s https://kenari.id/v1/models \ | jq '.data[] | select(.id == "deepseek-v4-flash") | .pricing'Harga semua model ada di Model & harga.
Satuan tagihan setiap endpoint
Section titled “Satuan tagihan setiap endpoint”| Endpoint | Ditagih per |
|---|---|
| Chat completions, Messages, Responses | Token, pada empat dimensi harga di atas. Gambar dan berkas yang dibaca model sendiri dihitung sebagai token Input. |
| Embeddings, Rerank, Moderasi | Token input, diestimasi dari teks dengan sekitar empat karakter per token |
| System One | Token input. Estimasinya sekitar empat karakter per token, dan tagihan tidak pernah melebihinya. Token output tidak ditagih. |
| Gambar | Per gambar, n kali harga model |
| Text to speech | Per 1.000 karakter input, dibulatkan ke atas |
| Transkripsi | Per detik audio, dibulatkan ke atas |
| Musik | Per lagu |
| Video | Per detik video, dengan harga resolusi yang kamu minta |
OCR dan engine ocr di Baca dokumen | Per halaman yang dibaca, hanya untuk engine ocr dan /v1/ocr. Hanya dua jalur ini yang tidak ditagih per token, dan paket tidak pernah mencakupnya. Cara lain melampirkan dokumen ditagih sebagai token input. Lihat Gambar & berkas sebagai input. |
| Server tools dan Pencarian web & X | Per panggilan |
| BYOK | Gratis di kenari |
Request non-chat yang berbayar menahan saldo sebelum berjalan, sebesar jumlah yang dihitung dari estimasi endpoint itu. Embeddings, Rerank, dan Moderasi menagih estimasi token input, dan usage di response hanya untuk ditampilkan. Untuk Transkripsi, kenari memperkirakan durasi dari ukuran file, lalu menagih durasi sebenarnya yang dilaporkan provider, atau perkiraan itu kalau provider tidak melaporkannya. Tagihan tidak pernah melebihi saldo yang ditahan, dan sisanya dilepas. Request gagal dengan 402 kalau saldo tidak cukup untuk jumlah yang ditahan, meskipun audio atau teks sebenarnya pendek.
Kuota paket hanya mencakup chat. Request berbayar ke endpoint lain dibayar dari saldo, kecuali jatah harian panggilan pencarian web yang termasuk dalam paket. Model gratis, seperti jev-1-13-free, tidak membutuhkan saldo. Lihat Langganan untuk yang terjadi pada endpoint ini saat kuota paket habis.
Riwayat pemakaian
Section titled “Riwayat pemakaian”Buka halaman Pemakaian di dashboard. Tab Pemakaian menampilkan request, token, dan biaya per model dan per API key, dengan filter untuk pemakaian gratis, paket, PAYG, dan key sendiri, serta unduhan CSV. Tab Saldo & tagihan menampilkan riwayat saldo, pembayaran, dan pembuat invoice untuk periode mana pun.
Pemakaian yang sama tersedia lewat API dengan GET /v1/usage, /v1/usage/daily, dan /v1/usage/log. Jumlah di sana dalam mikro-Rupiah, yaitu Rupiah dikali 1.000.000. Membaca pemakaian gratis. Lihat Pemakaian.