Gemini Files und Cache
Gemini-Dateien und zwischengespeicherte Inhalte
Gemini-Dateien, fortsetzbare Upload-Sitzungen und Workspace-eigene Cache-Inhalte verwalten.
Verwenden Sie diese Gemini-Ressourcen mit einem aktuellen TokenLab-Modell, das den jeweiligen Vorgang unterstützt. Die folgenden Pfade entsprechen dem Gemini-API-Format.
Workspace-Zuordnung und Modellunterstützung
Dateien und Cache-Inhalte gehören zum Workspace der authentifizierten Anfrage. Erstellen, listen, lesen, referenzieren, ändern und löschen Sie sie im selben Workspace. Ein Ressourcenname oder eine Datei-URI überträgt keine Eigentümerschaft.
Dateien
Registrieren Sie eine unterstützte vorhandene Quelle mit register; dabei werden keine lokalen Dateibytes hochgeladen. Erstellen Sie bei Bedarf Metadaten per JSON und senden Sie die Dateibytes an den Upload-Endpunkt. Prüfen Sie den Status über Liste oder Abruf und verwenden Sie die zurückgegebene URI erst, wenn die Datei bereit ist. Löschen Sie nicht mehr benötigte Dateien.
Cache-Inhalte
Erstellen Sie Cache-Inhalte für ein unterstütztes Modell und geben Sie bei Bedarf contents, Systemanweisung, Tools, Tool-Konfiguration sowie TTL oder Ablaufzeit an. Verwenden Sie den zurückgegebenen name als cachedContent für einen späteren Gemini-generateContent-Aufruf im selben Workspace. GET und Liste lesen Cache-Metadaten; PATCH ändert die Laufzeit; nach DELETE kann der Cache bei späteren Generierungen nicht mehr verwendet werden.
Fortsetzbare Uploads
Für einen fortsetzbaren Upload senden Sie Metadaten per POST an den Start-Endpunkt und setzen X-Goog-Upload-Protocol: resumable sowie X-Goog-Upload-Command: start. Lesen Sie den exakten Wert des Antwortheaders X-Goog-Upload-URL und senden Sie jeden Datenblock mit Upload-Befehl und bestätigtem Offset per POST an diese URL. Die URL ist ein vertraulicher Berechtigungsnachweis, gilt eine Stunde und autorisiert die Fortsetzung selbst. Nicht veröffentlichen, protokollieren oder weitergeben. Nicht wie eine gewöhnliche HTTP-Weiterleitung verfolgen.
HTTP 308 bedeutet, dass der Block angenommen wurde, der Upload aber noch nicht abgeschlossen ist: Verwenden Sie dieselbe URL weiter und behandeln Sie die Antwort nicht als Erfolg. HTTP 404 bedeutet, dass die Sitzung fehlt oder abgelaufen ist. HTTP 410 bedeutet, dass sie nicht fortgesetzt werden kann; starten Sie eine neue Sitzung. Als abgeschlossen gilt der Upload erst bei einer abschließenden erfolgreichen Antwort mit der Dateiressource.
SDK-Konfiguration
Setzen Sie TOKENLAB_API_KEY in der Prozessumgebung. Konfigurieren Sie den Google Gen AI SDK für den TokenLab-Host und die Gemini-API-Version:
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" },
});Speichern Sie Schlüssel und Upload-URL weder im Quellcode noch im Browser-Speicher oder in Protokollen.
12 Vorgänge
| Method | Path | Operation |
|---|---|---|
| POST | /v1beta/files:register | Unterstützte Quelle registrieren |
| POST | /v1beta/files | Dateimetadaten erstellen |
| POST | /upload/v1beta/files | Bytes hochladen oder Sitzung starten |
| POST | /upload/v1beta/files/session/{sessionId} | Fortsetzbaren Upload fortsetzen |
| GET | /v1beta/files | Dateien auflisten |
| GET | /v1beta/files/{fileId} | Dateimetadaten lesen |
| DELETE | /v1beta/files/{fileId} | Datei löschen |
| POST | /v1beta/cachedContents | Cache-Inhalt erstellen |
| GET | /v1beta/cachedContents | Cache-Inhalte auflisten |
| GET | /v1beta/cachedContents/{cacheId} | Cache-Inhalt lesen |
| PATCH | /v1beta/cachedContents/{cacheId} | Cache-Laufzeit aktualisieren |
| DELETE | /v1beta/cachedContents/{cacheId} | Cache-Inhalt löschen |
Die Listen-Endpunkte unterstützen pageSize und pageToken. Verwenden Sie den zurückgegebenen Cache-Namen als cachedContent für spätere Gemini-Anfragen. Alle Felder finden Sie in der OpenAPI-Spezifikation und den Modelldetails.