वेब सॉकेट के ज़रिए Gemini API को ऐक्सेस करने के लिए, कुछ समय के लिए मान्य रहने वाले टोकन का इस्तेमाल किया जाता है. ये टोकन, पुष्टि करने के लिए इस्तेमाल किए जाते हैं. इन्हें सुरक्षा को बेहतर बनाने के लिए डिज़ाइन किया गया है. इनका इस्तेमाल, उपयोगकर्ता के डिवाइस से सीधे एपीआई से कनेक्ट करने पर किया जाता है. इसे क्लाइंट-टू-सर्वर लागू करने का तरीका कहा जाता है. एपीआई पासकोड की तरह, कुछ समय के लिए मान्य रहने वाले टोकन को भी क्लाइंट-साइड ऐप्लिकेशन से निकाला जा सकता है. जैसे, वेब ब्राउज़र या मोबाइल ऐप्लिकेशन. हालांकि, कुछ समय के लिए मान्य रहने वाले टोकन की समयसीमा तेज़ी से खत्म हो जाती है और इन पर पाबंदियां लगाई जा सकती हैं. इसलिए, प्रोडक्शन एनवायरमेंट में सुरक्षा से जुड़े जोखिम काफ़ी कम हो जाते हैं. एपीआई पासकोड की सुरक्षा को बेहतर बनाने के लिए, Live API को क्लाइंट-साइड ऐप्लिकेशन से सीधे ऐक्सेस करते समय, इन टोकन का इस्तेमाल करना चाहिए.
कुछ समय के लिए मान्य रहने वाले टोकन कैसे काम करते हैं
कुछ समय के लिए मान्य रहने वाले टोकन, इस तरह काम करते हैं:
- आपका क्लाइंट (जैसे, वेब ऐप्लिकेशन) आपके बैकएंड से पुष्टि करता है.
- आपका बैकएंड, Gemini API की प्रोविज़निंग सेवा से कुछ समय के लिए मान्य रहने वाले टोकन का अनुरोध करता है.
- Gemini API, कुछ समय के लिए मान्य रहने वाला टोकन जारी करता है.
- आपका बैकएंड, Live API से वेब सॉकेट कनेक्शन के लिए, टोकन को क्लाइंट को भेजता है. इसके लिए, एपीआई पासकोड को कुछ समय के लिए मान्य रहने वाले टोकन से बदला जा सकता है.
- इसके बाद, क्लाइंट इस टोकन का इस्तेमाल, एपीआई पासकोड की तरह करता है.

इससे सुरक्षा बेहतर होती है, क्योंकि टोकन को निकालने पर भी, वह कुछ समय के लिए ही मान्य रहता है. वहीं, क्लाइंट-साइड पर डिप्लॉय किया गया एपीआई पासकोड, लंबे समय तक मान्य रहता है. क्लाइंट, Gemini को सीधे डेटा भेजता है. इसलिए, इससे लेटेंसी भी बेहतर होती है. साथ ही, आपके बैकएंड को रीयल टाइम डेटा को प्रॉक्सी करने की ज़रूरत नहीं पड़ती.
कुछ समय के लिए मान्य रहने वाला टोकन बनाना
Gemini से कुछ समय के लिए मान्य रहने वाला टोकन पाने का एक आसान उदाहरण यहां दिया गया है.
डिफ़ॉल्ट रूप से, आपके पास इस अनुरोध (newSessionExpireTime) से मिले टोकन का इस्तेमाल करके, Live API के नए सेशन शुरू करने के लिए एक मिनट और उस कनेक्शन पर मैसेज भेजने के लिए 30 मिनट (expireTime) होंगे.
Python
import datetime
now = datetime.datetime.now(tz=datetime.timezone.utc)
client = genai.Client(
http_options={'api_version': 'v1alpha',}
)
token = client.auth_tokens.create(
config = {
'uses': 1, # The ephemeral token can only be used to start a single session
'expire_time': now + datetime.timedelta(minutes=30), # Default is 30 minutes in the future
# 'expire_time': '2025-05-17T00:00:00Z', # Accepts isoformat.
'new_session_expire_time': now + datetime.timedelta(minutes=1), # Default 1 minute in the future
'http_options': {'api_version': 'v1alpha'},
}
)
# You'll need to pass the value under token.name back to your client to use it
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const expireTime = new Date(Date.now() + 30 * 60 * 1000).toISOString();
const token: AuthToken = await client.authTokens.create({
config: {
uses: 1, // The default
expireTime: expireTime, // Default is 30 mins
newSessionExpireTime: new Date(Date.now() + (1 * 60 * 1000)), // Default 1 minute in the future
httpOptions: {apiVersion: 'v1alpha'},
},
});
expireTime की वैल्यू की सीमाओं, डिफ़ॉल्ट वैल्यू, और अन्य फ़ील्ड की खास जानकारी के लिए, एपीआई के बारे में जानकारी देखें.
expireTime की समयसीमा के अंदर, आपको
sessionResumption हर 10 मिनट में कॉल को फिर से कनेक्ट करने के लिए
की ज़रूरत होगी. ऐसा, उसी टोकन से किया जा सकता है, भले ही
uses: 1 हो.
कुछ समय के लिए मान्य रहने वाले टोकन को, कॉन्फ़िगरेशन के सेट के लिए लॉक भी किया जा सकता है. यह आपके ऐप्लिकेशन की सुरक्षा को बेहतर बनाने और सर्वर साइड पर अपने सिस्टम के निर्देशों को बनाए रखने में मददगार हो सकता है.
Python
client = genai.Client(
http_options={'api_version': 'v1alpha',}
)
token = client.auth_tokens.create(
config = {
'uses': 1,
'live_connect_constraints': {
'model': 'gemini-3.1-flash-live-preview',
'config': {
'session_resumption':{},
'temperature':0.7,
'response_modalities':['AUDIO']
}
},
'http_options': {'api_version': 'v1alpha'},
}
)
# You'll need to pass the value under token.name back to your client to use it
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const expireTime = new Date(Date.now() + 30 * 60 * 1000).toISOString();
const token = await client.authTokens.create({
config: {
uses: 1, // The default
expireTime: expireTime,
liveConnectConstraints: {
model: 'gemini-3.1-flash-live-preview',
config: {
sessionResumption: {},
temperature: 0.7,
responseModalities: ['AUDIO']
}
},
httpOptions: {
apiVersion: 'v1alpha'
}
}
});
// You'll need to pass the value under token.name back to your client to use it
फ़ील्ड के सबसेट को भी लॉक किया जा सकता है. ज़्यादा जानकारी के लिए, SDK टूल का दस्तावेज़ देखें.
कुछ समय के लिए मान्य रहने वाले टोकन की मदद से, Live API से कनेक्ट करना
कुछ समय के लिए मान्य रहने वाला टोकन मिलने के बाद, इसका इस्तेमाल एपीआई पासकोड की तरह किया जा सकता है. हालांकि, ध्यान रखें कि यह सिर्फ़ Live API के लिए काम करता है. साथ ही, यह एपीआई के सिर्फ़ v1alpha वर्शन के साथ काम करता है.
कुछ समय के लिए मान्य रहने वाले टोकन का इस्तेमाल, सिर्फ़ उन ऐप्लिकेशन को डिप्लॉय करने पर किया जाता है जो क्लाइंट-टू-सर्वर लागू करने के तरीके का पालन करते हैं.
JavaScript
import { GoogleGenAI, Modality } from '@google/genai';
// Use the token generated in the "Create an ephemeral token" section here
const ai = new GoogleGenAI({
apiKey: token.name
});
const model = 'gemini-3.1-flash-live-preview';
const config = { responseModalities: [Modality.AUDIO] };
async function main() {
const session = await ai.live.connect({
model: model,
config: config,
callbacks: { ... },
});
// Send content...
session.close();
}
main();
ज़्यादा उदाहरणों के लिए, Live API का इस्तेमाल शुरू करना लेख पढ़ें.
सबसे सही तरीके
expire_timeपैरामीटर का इस्तेमाल करके, समयसीमा की अवधि कम सेट करें.- टोकन की समयसीमा खत्म हो जाती है. इसलिए, प्रोविज़निंग की प्रोसेस को फिर से शुरू करना पड़ता है.
- अपने बैकएंड के लिए, सुरक्षित पुष्टि की सुविधा की पुष्टि करें. कुछ समय के लिए मान्य रहने वाले टोकन, सिर्फ़ आपके बैकएंड की पुष्टि करने के तरीके जितने सुरक्षित होंगे.
- आम तौर पर, बैकएंड-टू-Gemini कनेक्शन के लिए, कुछ समय के लिए मान्य रहने वाले टोकन का इस्तेमाल न करें, क्योंकि इस पाथ को आम तौर पर सुरक्षित माना जाता है.
सीमाएं
फ़िलहाल, कुछ समय के लिए मान्य रहने वाले टोकन सिर्फ़ Live API के साथ काम करते हैं.
आगे क्या करना है
- ज़्यादा जानकारी के लिए, कुछ समय के लिए मान्य रहने वाले टोकन के बारे में, Live API के बारे में जानकारी देखें.