Gemini Files & cache
File Gemini dan Konten Cache
Unggah dan kelola file Gemini, sesi unggah yang dapat dilanjutkan, serta cache milik Workspace.
Gunakan resource native Gemini ini dengan model TokenLab terkini yang mendukung operasi yang diperlukan. Jalur di bawah mengikuti format Gemini API.
Workspace dan model yang didukung
File dan konten cache menjadi milik Workspace yang terkait dengan permintaan terautentikasi. Buat, daftarkan, baca, rujuk, perbarui, dan hapus resource dari Workspace yang sama. Nama resource atau URI file tidak memindahkan kepemilikan.
File
Gunakan register untuk mendaftarkan sumber yang sudah ada dan didukung; tindakan ini tidak mengunggah byte file lokal. Jika perlu, buat metadata dengan JSON lalu kirim byte file ke endpoint unggah. Periksa status melalui daftar atau pembacaan, dan tunggu hingga file siap sebelum menggunakan URI yang dikembalikan dalam konten Gemini. Hapus file yang tidak lagi diperlukan.
Konten cache
Buat konten cache untuk model yang didukung dengan contents serta, bila perlu, instruksi sistem, alat, konfigurasi alat, dan TTL atau waktu kedaluwarsa. Dalam permintaan Gemini generateContent berikutnya dari Workspace yang sama, gunakan name yang dikembalikan sebagai cachedContent. GET dan daftar membaca metadata cache; PATCH memperbarui masa berlaku; setelah DELETE, cache tidak dapat digunakan untuk generasi berikutnya.
Unggahan yang dapat dilanjutkan
Mulai sesi dengan mengirim metadata melalui POST /upload/v1beta/files dan header X-Goog-Upload-Protocol: resumable serta X-Goog-Upload-Command: start. Baca nilai lengkap header respons X-Goog-Upload-URL. Kirim setiap potongan byte melalui POST ke URL tersebut, dengan perintah unggah dan offset yang telah dikonfirmasi. URL ini merupakan kredensial privat yang mengizinkan kelanjutan unggahan dan berlaku selama satu jam. Jangan publikasikan, catat di log, atau bagikan URL tersebut; jangan ikuti sebagai pengalihan HTTP biasa.
HTTP 308 berarti potongan diterima tetapi unggahan belum selesai: lanjutkan pada URL yang sama dan jangan anggap berhasil. HTTP 404 berarti sesi tidak ada atau telah kedaluwarsa. HTTP 410 berarti sesi tidak dapat dilanjutkan lagi; mulai sesi unggah baru. Anggap selesai hanya jika respons sukses terakhir memuat resource file.
Konfigurasi SDK
Tetapkan TOKENLAB_API_KEY di lingkungan proses. Konfigurasikan Google Gen AI SDK agar memakai host TokenLab dan versi Gemini API:
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" },
});Jangan masukkan kunci atau URL unggah ke repositori kode, penyimpanan browser, atau log.
12 operasi
| Method | Path | Operation |
|---|---|---|
| POST | /v1beta/files:register | Daftarkan sumber yang didukung |
| POST | /v1beta/files | Buat metadata file |
| POST | /upload/v1beta/files | Unggah byte atau mulai sesi |
| POST | /upload/v1beta/files/session/{sessionId} | Lanjutkan unggahan |
| GET | /v1beta/files | Daftar file |
| GET | /v1beta/files/{fileId} | Baca metadata file |
| DELETE | /v1beta/files/{fileId} | Hapus file |
| POST | /v1beta/cachedContents | Buat konten cache |
| GET | /v1beta/cachedContents | Daftar konten cache |
| GET | /v1beta/cachedContents/{cacheId} | Baca konten cache |
| PATCH | /v1beta/cachedContents/{cacheId} | Perbarui masa berlaku cache |
| DELETE | /v1beta/cachedContents/{cacheId} | Hapus konten cache |
Endpoint daftar mendukung pageSize dan pageToken. Gunakan nama cache yang dikembalikan sebagai cachedContent pada permintaan Gemini berikutnya. Lihat spesifikasi OpenAPI dan detail model untuk semua field.