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

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

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

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

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

इस्तेमाल किए जा सकने वाले मॉडल

  • gemini-4-argon
  • 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-nano-banana-2.1 (Nano Banana 2.1)
  • gemini-3.1-flash-image (Nano Banana 2)
  • gemini-3.1-flash-lite-image (Nano Banana 2 Lite)
  • gemini-3-pro-image (Nano Banana Pro)
  • gemini-3.1-flash-tts-preview

gemini-3.1-pro-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 के हर पेज को इमेज की तरह ही टोकन में बदला जाता है.