Menghitung token untuk model Gemini

Model Gemini memproses input dan output dalam unit yang disebut token.

Token dapat berupa karakter tunggal seperti z atau seluruh kata seperti cat. Kata-kata panjang dipecah menjadi beberapa token. Kumpulan semua token yang digunakan oleh model disebut kosakata, dan proses membagi teks menjadi token disebut tokenisasi.

Untuk model Gemini, satu token setara dengan sekitar 4 karakter. 100 token sama dengan sekitar 60-80 kata bahasa Inggris.

Setiap model memiliki jumlah token maksimum yang dapat ditangani dalam perintah dan respons. Dengan mengetahui jumlah token perintah, Anda dapat mengetahui apakah Anda telah melampaui batas ini. Selain itu, biaya permintaan sebagian ditentukan oleh jumlah token input dan output, jadi mengetahui cara menghitung token dapat membantu.

Perhatikan bahwa model Gemini 1.0 dan 1.5 juga mendukung jumlah dan harga "karakter yang dapat ditagih", tetapi karena semua model tersebut sudah tidak digunakan atau akan segera tidak digunakan, halaman ini tidak menjelaskan apa pun tentang karakter yang dapat ditagih.

Model yang didukung

  • gemini-2.5-pro
  • gemini-2.5-flash
  • gemini-2.5-flash-lite
  • gemini-2.0-flash-001 (dan aliasnya yang diupdate otomatis gemini-2.0-flash)
  • gemini-2.0-flash-lite-001 (dan aliasnya yang diupdate otomatis gemini-2.0-flash-lite)
  • gemini-2.0-flash-preview-image-generation

Opsi untuk menghitung token

Semua input dan output untuk Gemini API di-tokenisasi, termasuk teks, file gambar, dan modalitas non-teks lainnya. Berikut opsi untuk menghitung token:

Periksa jumlah token untuk permintaan saja (sebelum mengirimkannya ke model).
Panggil countTokens dengan input permintaan sebelum mengirimkannya ke model. Hal ini akan menampilkan:
  • total_tokens: jumlah token khusus input
Periksa jumlah token untuk permintaan dan respons Anda.
Gunakan atribut usageMetadata pada objek respons. Hal ini mencakup:
  • prompt_token_count: jumlah token input saja
  • candidates_token_count: jumlah token output saja (tidak termasuk token pemikiran)
  • thoughts_token_count: jumlah token pemikiran yang digunakan untuk membuat respons
  • total_token_count: jumlah total token untuk input dan output (termasuk token pemikiran)

Saat streaming output, atribut usageMetadata hanya muncul di bagian terakhir streaming. Ini adalah nil untuk chunk menengah.

Perhatikan poin-poin berikut tentang opsi di atas:

  • Metrik ini tidak menghitung jumlah gambar input atau jumlah detik dalam file input video atau audio. Namun, jumlah token untuk setiap modalitas ini akan berkorelasi dengan nilai ini.
  • Jumlah token input mencakup perintah (teks dan file input apa pun) serta petunjuk dan alat sistem.
  • Jumlah token output tidak menyertakan token pemikiran; token tersebut disediakan di kolom terpisah.
  • Tinjau informasi tambahan khusus untuk setiap jenis permintaan di bagian selanjutnya pada halaman ini.

Harga untuk opsi ini

  • Memanggil countTokens: Tidak ada biaya untuk memanggil countTokens (Count Tokens API). Kuota maksimum untuk Count Tokens API adalah 3.000 permintaan per menit (RPM).

  • Menggunakan atribut usageMetadata: Atribut ini selalu ditampilkan sebagai bagian dari respons dan tidak menimbulkan token atau biaya apa pun.

Informasi tambahan

Berikut informasi tambahan saat menangani jenis permintaan tertentu.

Menghitung token input teks

Tidak ada informasi tambahan.

Menghitung token multi-turn (chat)

Perhatikan hal-hal berikut untuk menghubungi countTokens saat menggunakan chat:

  • Jika Anda memanggil countTokens dengan histori chat, fungsi ini akan menampilkan total jumlah token dari kedua peran dalam chat (total_tokens).
  • Untuk memahami seberapa besar giliran percakapan Anda berikutnya, Anda perlu menambahkan percakapan tersebut ke histori saat Anda memanggil countTokens.

Menghitung token input multimodal

Perhatikan poin-poin berikut tentang penghitungan token dengan input multimodal:

  • Anda dapat memanggil countTokens secara terpisah pada teks dan file.
  • Untuk kedua opsi penghitungan token, Anda akan mendapatkan jumlah token yang sama, baik Anda memberikan file sebagai data inline maupun menggunakan URL-nya.

File input gambar

File input gambar dikonversi menjadi token berdasarkan dimensinya:

  • Input gambar dengan kedua dimensi kurang dari atau sama dengan 384 piksel: setiap gambar dihitung sebagai 258 token.
  • Input gambar yang lebih besar dalam satu atau kedua dimensinya: setiap gambar dipangkas dan diskalakan sesuai kebutuhan menjadi petak 768x768 piksel, lalu setiap petak dihitung sebagai 258 token.

File input video dan audio

File input video dan audio dikonversi menjadi token dengan rasio tetap berikut:

  • Video: 263 token per detik
  • Audio: 32 token per detik

File input Dokumen (seperti PDF)

File input PDF diperlakukan sebagai gambar, sehingga setiap halaman PDF di-tokenisasi dengan cara yang sama seperti gambar.