Lewati ke konten
kenari.

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 bayarArtinya
PAYGSetiap request berbayar ditagih ke saldo sesuai harga model. Ini cara bawaan.
LanggananPaket memberi kuota chat untuk model tertentu. Lihat Langganan.
Model gratisModel :free ditagih Rp 0 dalam batas harian dan batas per menit. Lihat Model gratis.
BYOKRequest yang dilayani key provider milikmu sendiri ditagih Rp 0 di kenari. Lihat BYOK.

Buka halaman Saldo, atau pakai Isi saldo di bilah atas. Pilih jumlah dan metode pembayaran, lalu lanjut ke halaman pembayaran.

MetodeSaldo masuk
QRISSaat pembayaran selesai
KriptoSaat 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.

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_reached begitu 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.

Request chat berbayar ditagih dalam dua tahap. Endpoint lain menahan dan menagih menurut satuannya sendiri, seperti dijelaskan di Satuan tagihan setiap endpoint.

  1. Reservasi. Sebelum request berjalan, kenari menahan saldo sebesar perkiraan biaya maksimum: estimasi input ditambah max_tokens dengan harga Output. Kalau max_tokens tidak diisi, berlaku nilai bawaan yang besar. Reservasi harus muat dalam saldo kamu dikurangi reservasi request lain yang sedang berjalan.
  2. 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.

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.

Model chat dihargai pada empat dimensi per 1 juta token. Setiap dimensi ditagih sebagai token × harga ÷ 1.000.000.

DimensiDitagih untukKalau harga tidak disetel
InputToken prompt yang tidak dibaca dari atau ditulis ke cacheSelalu ada
OutputToken yang dihasilkan model, termasuk token reasoningSelalu ada
Cache readToken prompt yang dilayani dari cacheDitagih dengan harga Input. Harga Cache read tidak pernah ditagih di atas Input.
Cache writeToken prompt yang ditulis ke cacheDitagih 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.

Terminal window
curl -s https://kenari.id/v1/models \
| jq '.data[] | select(.id == "deepseek-v4-flash") | .pricing'

Harga semua model ada di Model & harga.

EndpointDitagih per
Chat completions, Messages, ResponsesToken, pada empat dimensi harga di atas. Gambar dan berkas yang dibaca model sendiri dihitung sebagai token Input.
Embeddings, Rerank, ModerasiToken input, diestimasi dari teks dengan sekitar empat karakter per token
System OneToken input. Estimasinya sekitar empat karakter per token, dan tagihan tidak pernah melebihinya. Token output tidak ditagih.
GambarPer gambar, n kali harga model
Text to speechPer 1.000 karakter input, dibulatkan ke atas
TranskripsiPer detik audio, dibulatkan ke atas
MusikPer lagu
VideoPer detik video, dengan harga resolusi yang kamu minta
OCR dan engine ocr di Baca dokumenPer 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 & XPer panggilan
BYOKGratis 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.

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.