TokenLab

Gemini Files et cache

Fichiers Gemini et contenu mis en cache

Importer et gérer les fichiers Gemini, les sessions d’envoi reprenables et le cache du Workspace.

Utilisez ces ressources natives Gemini avec un modèle TokenLab actuel qui prend en charge l’opération demandée. Les chemins ci-dessous suivent le format de l’API Gemini.

Workspace et modèles pris en charge

Les fichiers et le contenu en cache appartiennent au Workspace associé à la requête authentifiée. Créez, listez, lisez, référencez, modifiez et supprimez-les depuis ce même Workspace. Un nom de ressource ou un URI de fichier ne transfère pas la propriété.

Fichiers

Utilisez register pour inscrire une source existante prise en charge ; cette opération n’envoie pas les octets d’un fichier local. Si nécessaire, créez les métadonnées en JSON et envoyez les octets au point de terminaison d’envoi. Vérifiez l’état avec la liste ou la lecture et attendez que le fichier soit prêt avant d’utiliser l’URI renvoyé dans le contenu Gemini. Supprimez les fichiers inutiles.

Contenu en cache

Créez un cache pour un modèle pris en charge avec contents et, si nécessaire, une instruction système, des outils, leur configuration et un TTL ou une date d’expiration. Dans une requête Gemini generateContent ultérieure du même Workspace, utilisez le name renvoyé comme cachedContent. GET et la liste lisent les métadonnées ; PATCH modifie la durée de vie ; après DELETE, le cache ne peut plus servir à une génération.

Envois reprenables

Pour un envoi reprenable, envoyez les métadonnées par POST au point de départ avec X-Goog-Upload-Protocol: resumable et X-Goog-Upload-Command: start. Lisez la valeur exacte de l’en-tête de réponse X-Goog-Upload-URL et envoyez chaque bloc à cette URL par POST, avec la commande et le décalage confirmé. Cette URL est un secret d’autorisation, expire après une heure et autorise elle-même la reprise. Ne la publiez pas, ne la consignez pas et ne la partagez pas. Ne la suivez pas comme une redirection HTTP ordinaire.

HTTP 308 indique que le bloc a été accepté, mais que l’envoi n’est pas terminé : continuez sur la même URL sans considérer cela comme un succès. HTTP 404 signifie que la session est absente ou expirée. HTTP 410 signifie qu’elle ne peut plus être poursuivie ; démarrez une nouvelle session. L’envoi est terminé uniquement lorsque la réponse finale réussie contient la ressource fichier.

Configuration du SDK

Définissez TOKENLAB_API_KEY dans l’environnement du processus. Configurez le SDK Google Gen AI pour utiliser l’hôte TokenLab et la version de l’API Gemini :

import os
from google import genai

client = genai.Client(
    api_key=os.environ["TOKENLAB_API_KEY"],
    http_options={"base_url": "https://api.tokenlab.sh", "api_version": "v1beta"},
)
import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({
  apiKey: process.env.TOKENLAB_API_KEY,
  httpOptions: { baseUrl: "https://api.tokenlab.sh", apiVersion: "v1beta" },
});

Ne placez pas la clé ni l’URL d’envoi dans le code source, le stockage du navigateur ou les journaux.

12 opérations

MethodPathOperation
POST/v1beta/files:registerInscrire une source prise en charge
POST/v1beta/filesCréer les métadonnées du fichier
POST/upload/v1beta/filesEnvoyer les octets ou démarrer une session
POST/upload/v1beta/files/session/{sessionId}Reprendre un envoi
GET/v1beta/filesLister les fichiers
GET/v1beta/files/{fileId}Lire les métadonnées du fichier
DELETE/v1beta/files/{fileId}Supprimer un fichier
POST/v1beta/cachedContentsCréer un cache
GET/v1beta/cachedContentsLister les caches
GET/v1beta/cachedContents/{cacheId}Lire un cache
PATCH/v1beta/cachedContents/{cacheId}Modifier la durée du cache
DELETE/v1beta/cachedContents/{cacheId}Supprimer un cache

Les points de terminaison de liste acceptent pageSize et pageToken. Utilisez le nom du cache renvoyé comme cachedContent dans une requête Gemini ultérieure. Consultez la spécification OpenAPI et les détails du modèle pour tous les champs.

Sur cette page