Tokenët efemeralë janë tokenë vërtetimi jetëshkurtër për qasje në Gemini API përmes WebSockets . Ato janë të dizajnuara për të rritur sigurinë kur lidheni direkt nga pajisja e një përdoruesi me API-në (një implementim klient-server ). Ashtu si çelësat standardë të API-së, tokenët efemeralë mund të nxirren nga aplikacionet në anën e klientit, siç janë shfletuesit e internetit ose aplikacionet mobile. Por, për shkak se tokenët efemeralë skadojnë shpejt dhe mund të kufizohen, ato zvogëlojnë ndjeshëm rreziqet e sigurisë në një mjedis prodhimi. Duhet t'i përdorni ato kur hyni në Live API direkt nga aplikacionet në anën e klientit për të rritur sigurinë e çelësave të API-së.
Si funksionojnë tokenët e përkohshëm
Ja se si funksionojnë tokenët epemeralë në një nivel të lartë:
- Klienti juaj (p.sh. aplikacioni web) autentifikohet me backend-in tuaj.
- Sistemi juaj i mbështetjes kërkon një token të përkohshëm nga shërbimi i furnizimit të Gemini API.
- API-ja Gemini lëshon një token jetëshkurtër.
- Sistemi juaj i mbështetjes (backend) i dërgon token-in klientit për lidhjet WebSocket me Live API. Mund ta bëni këtë duke ndërruar çelësin tuaj API me një token të përkohshëm.
- Klienti më pas përdor tokenin sikur të ishte një çelës API.

Kjo rrit sigurinë sepse edhe nëse nxirret, tokeni është jetëshkurtër, ndryshe nga një çelës API jetëgjatë i vendosur në anën e klientit. Meqenëse klienti dërgon të dhëna direkt te Gemini, kjo gjithashtu përmirëson vonesën dhe shmang nevojën e backend-eve tuaja për të përçuar të dhënat në kohë reale.
Krijo një token të përkohshëm
Ja një shembull i thjeshtuar se si të merrni një token të përkohshëm nga Gemini. Si parazgjedhje, do të keni 1 minutë për të filluar seanca të reja Live API duke përdorur tokenin nga kjo kërkesë ( newSessionExpireTime ) dhe 30 minuta për të dërguar mesazhe përmes asaj lidhjeje ( 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'},
},
});
Për kufizimet e vlerës së expireTime , parazgjedhjet dhe specifikimet e tjera të fushës, shihni referencën API . Brenda afatit kohor expireTime , do t'ju duhet që sessionResumption të rilidhë thirrjen çdo 10 minuta (kjo mund të bëhet me të njëjtin token edhe nëse uses: 1 ).
Është gjithashtu e mundur të bllokohet një token i përkohshëm në një grup konfigurimesh. Kjo mund të jetë e dobishme për të përmirësuar më tej sigurinë e aplikacionit tuaj dhe për të mbajtur udhëzimet e sistemit tuaj në anën e serverit.
Python
client = genai.Client(
http_options={'api_version': 'v1alpha',}
)
token = client.auth_tokens.create(
config = {
'uses': 1,
'live_connect_constraints': {
'model': 'gemini-2.5-flash-native-audio-preview-09-2025',
'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-2.5-flash-native-audio-preview-09-2025',
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
Gjithashtu mund të bllokoni një nëngrup fushash, shihni dokumentacionin e SDK-së për më shumë informacion.
Lidhu me Live API me një token të përkohshëm
Pasi të keni një token të përkohshëm, e përdorni sikur të ishte një çelës API (por mos harroni, funksionon vetëm për API-në live dhe vetëm me versionin v1alpha të API-së).
Përdorimi i tokenëve efemerë shton vlerë vetëm kur vendosen aplikacione që ndjekin qasjen e implementimit klient-në-server .
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-2.5-flash-native-audio-preview-09-2025';
const config = { responseModalities: [Modality.AUDIO] };
async function main() {
const session = await ai.live.connect({
model: model,
config: config,
callbacks: { ... },
});
// Send content...
session.close();
}
main();
Shihni Fillimi me Live API për më shumë shembuj.
Praktikat më të mira
- Vendosni një kohëzgjatje të shkurtër skadimi duke përdorur parametrin
expire_time. - Tokenët skadojnë, duke kërkuar rifillimin e procesit të furnizimit.
- Verifikoni vërtetimin e sigurt për backend-in tuaj. Token-at epemeralë do të jenë aq të sigurt sa metoda juaj e vërtetimit të backend-it.
- Në përgjithësi, shmangni përdorimin e tokenëve të përkohshëm për lidhjet backend-me-Gemini, pasi kjo rrugë zakonisht konsiderohet e sigurt.
Kufizime
Tokenët efemeralë janë të pajtueshëm vetëm me Live API për momentin.
Çfarë vjen më pas
- Lexoni referencën e Live API mbi tokenët epemeralë për më shumë informacion.