Gemini मॉडल के लिए टोकन की संख्या गिनना

Gemini मॉडल, इनपुट और आउटपुट को टोकन नाम की इकाइयों में प्रोसेस करते हैं.

टोकन, z जैसे सिंगल वर्ण या cat जैसे पूरे शब्द हो सकते हैं. लंबे शब्दों को कई टोकन में बांट दिया जाता है. मॉडल में इस्तेमाल किए गए सभी टोकन के सेट को शब्दावली कहा जाता है. साथ ही, टेक्स्ट को टोकन में बांटने की प्रोसेस को टोकनाइज़ेशन कहा जाता है.

Gemini मॉडल के लिए, एक टोकन करीब चार वर्णों के बराबर होता है. 100 टोकन, अंग्रेज़ी के करीब 60 से 80 शब्दों के बराबर होते हैं.

हर मॉडल में, ज़्यादा से ज़्यादा टोकन होते हैं. ये टोकन, प्रॉम्प्ट और जवाब में इस्तेमाल किए जा सकते हैं. अपने प्रॉम्प्ट में टोकन की संख्या जानने से, आपको यह पता चलता है कि आपने इस सीमा को पार कर लिया है या नहीं. इसके अलावा, किसी अनुरोध की लागत का कुछ हिस्सा, इनपुट और आउटपुट टोकन की संख्या से तय होता है. इसलिए, टोकन की गिनती करने का तरीका जानना मददगार हो सकता है.

इन मॉडल के साथ काम करता है

  • gemini-3.1-pro-preview
  • gemini-3.8-flash (और पुराने gemini-3.7-flash, gemini-3.6-flash, और gemini-3.5-flash)
  • gemini-3.5-flash-lite (और पुराना gemini-3.1-flash-lite)
  • gemini-3-pro-image (इसे "Nano Banana Pro" भी कहा जाता है)
  • gemini-3.1-flash-image (इसे "Nano Banana 2" भी कहा जाता है)
  • gemini-3.1-flash-lite-image (इसे "Nano Banana 2 Lite" भी कहा जाता है)
  • gemini-3.1-flash-tts-preview

सामान्य इस्तेमाल और इमेज जनरेट करने वाले Gemini 2.5 मॉडल में यह सुविधा काम करती है. हालांकि, इन सभी मॉडल को बंद कर दिया गया है.

टोकन की गिनती करने के विकल्प

Gemini API के लिए सभी इनपुट और आउटपुट को टोकन में बदला जाता है. इनमें टेक्स्ट, इमेज फ़ाइलें, और टेक्स्ट के अलावा अन्य मोडेलिटी शामिल हैं. टोकन की गिनती करने के ये विकल्प उपलब्ध हैं:

अपने अनुरोधों के लिए ही टोकन की संख्या देखें. ऐसा मॉडल को अनुरोध भेजने से पहले करें.
अनुरोध को मॉडल को भेजने से पहले, countTokens को कॉल करें. इससे यह नतीजा मिलता है:
  • total_tokens: सिर्फ़ इनपुट के टोकन की संख्या
आपके अनुरोधों और जवाबों, दोनों के लिए टोकन की संख्या देखें.
रिस्पॉन्स ऑब्जेक्ट पर usageMetadata एट्रिब्यूट को ऐक्सेस करें. इसमें ये शामिल हैं:
  • prompt_token_count: सिर्फ़ इनपुट के टोकन की संख्या
  • candidates_token_count: सिर्फ़ आउटपुट के टोकन की संख्या (इसमें थिंकिंग टोकन शामिल नहीं होते)
  • thoughts_token_count: जवाब जनरेट करने के लिए इस्तेमाल किए गए किसी भी थिंकिंग टोकन की संख्या
  • total_token_count: इनपुट और आउटपुट, दोनों के लिए टोकन की कुल संख्या (इसमें थिंकिंग टोकन भी शामिल हैं)

स्ट्रीमिंग आउटपुट के दौरान, usageMetadata एट्रिब्यूट सिर्फ़ स्ट्रीम के आखिरी हिस्से पर दिखता है. यह बीच के चंक के लिए nil है.

ऊपर दिए गए विकल्पों के बारे में इन बातों का ध्यान रखें:

  • वे इनपुट इमेज की संख्या या वीडियो या ऑडियो इनपुट फ़ाइलों में सेकंड की संख्या को नहीं गिनेंगे. हालांकि, इन सभी मोडैलिटी के लिए टोकन की संख्या, इन वैल्यू से जुड़ी होगी.
  • इनपुट टोकन की संख्या में, प्रॉम्प्ट (टेक्स्ट और कोई भी इनपुट फ़ाइल) के साथ-साथ सिस्टम के निर्देश और टूल भी शामिल होते हैं.
  • आउटपुट टोकन की संख्या में, सोचने के लिए इस्तेमाल किए गए टोकन शामिल नहीं होते. इन्हें अलग फ़ील्ड में दिया जाता है.
  • इस पेज पर बाद में, हर तरह के अनुरोध के हिसाब से अतिरिक्त जानकारी देखें.
  • Gemini Live API मॉडल, countTokens के साथ काम नहीं करते. साथ ही, Firebase AI Logic, Live API मॉडल से मिले जवाब में usageMetadata एट्रिब्यूट का इस्तेमाल अभी नहीं कर सकता. हालांकि, यह सुविधा जल्द आ रही है!

इन विकल्पों के लिए कीमत

  • countTokens को कॉल करना: countTokens (Count Tokens API) को कॉल करने के लिए कोई शुल्क नहीं लिया जाता. Count Tokens API के लिए, एक मिनट में ज़्यादा से ज़्यादा 3,000 अनुरोध (आरपीएम) किए जा सकते हैं.

  • usageMetadata एट्रिब्यूट का इस्तेमाल करना: यह एट्रिब्यूट हमेशा जवाब के तौर पर दिखाया जाता है. इसके लिए, न तो कोई टोकन खर्च होता है और न ही कोई शुल्क लगता है.

अतिरिक्त जानकारी

यहां कुछ खास तरह के अनुरोधों के बारे में ज़्यादा जानकारी दी गई है.

टेक्स्ट इनपुट टोकन की संख्या गिनना

कोई अतिरिक्त जानकारी नहीं है.

सिलसिलेवार बातचीत (चैट) के टोकन की गिनती करना

चैट की सुविधा इस्तेमाल करते समय, कॉल countTokens करने के लिए इन बातों का ध्यान रखें:

  • अगर चैट के इतिहास के साथ countTokens को कॉल किया जाता है, तो यह चैट (total_tokens) में दोनों भूमिकाओं के कुल टोकन की संख्या दिखाता है.
  • बातचीत के अगले टर्न का साइज़ समझने के लिए, आपको countTokens को कॉल करते समय इसे इतिहास में जोड़ना होगा.

मल्टीमॉडल इनपुट टोकन की संख्या

मल्टीमॉडल इनपुट के साथ टोकन की गिनती करने के बारे में इन बातों का ध्यान रखें:

  • आपके पास टेक्स्ट और फ़ाइल, दोनों के लिए countTokens को अलग-अलग कॉल करने का विकल्प होता है.
  • टोकन की गिनती करने के दोनों विकल्पों के लिए, आपको टोकन की संख्या एक जैसी मिलेगी. भले ही, आपने फ़ाइल को इनलाइन डेटा के तौर पर दिया हो या उसके यूआरएल का इस्तेमाल किया हो.

इमेज इनपुट फ़ाइलें

इमेज इनपुट फ़ाइलों को उनके डाइमेंशन के आधार पर टोकन में बदला जाता है:

  • ऐसे इमेज इनपुट जिनके दोनों डाइमेंशन 384 पिक्सल से कम या इसके बराबर हैं: हर इमेज को 258 टोकन के तौर पर गिना जाता है.
  • एक या दोनों डाइमेंशन में बड़ी इमेज इनपुट: हर इमेज को ज़रूरत के हिसाब से 768x768 पिक्सल की टाइलों में काटा और स्केल किया जाता है. इसके बाद, हर टाइल को 258 टोकन के तौर पर गिना जाता है.

वीडियो और ऑडियो इनपुट फ़ाइलें

वीडियो और ऑडियो इनपुट फ़ाइलों को इन तय दरों पर टोकन में बदला जाता है:

  • वीडियो: हर सेकंड 263 टोकन
  • ऑडियो: हर सेकंड के लिए 32 टोकन

दस्तावेज़ (जैसे कि PDF) की इनपुट फ़ाइलें

PDF इनपुट फ़ाइलों को इमेज माना जाता है. इसलिए, PDF के हर पेज को इमेज की तरह ही टोकन में बदला जाता है.