Gemini Files y caché
Archivos Gemini y contenido en caché
Sube y administra archivos Gemini, sesiones reanudables y contenido en caché del Workspace.
Usa estos recursos nativos de Gemini con un modelo actual de TokenLab que admita la operación solicitada. Las rutas siguientes siguen el formato de la API de Gemini.
Workspace y modelos compatibles
Los archivos y el contenido en caché pertenecen al Workspace asociado a la solicitud autenticada. Créalo, enuméralo, léelo, úsalo como referencia, actualízalo y elimínalo desde ese mismo Workspace. El nombre del recurso o el URI del archivo no transfieren la propiedad.
Archivos
Usa register para registrar una fuente existente compatible; no sube los bytes de un archivo local. Si hace falta, crea los metadatos con JSON y envía los bytes al endpoint de carga. Consulta el estado mediante la lista o la lectura y espera a que el archivo esté listo antes de usar el URI devuelto en el contenido de Gemini. Elimina los archivos que ya no necesites.
Contenido en caché
Crea contenido en caché para un modelo compatible con contents y, si hace falta, una instrucción del sistema, herramientas, configuración de herramientas y un TTL o una fecha de expiración. En una solicitud posterior de Gemini generateContent desde el mismo Workspace, usa el name devuelto como cachedContent. GET y la lista leen los metadatos; PATCH actualiza la vigencia; después de DELETE no se podrá usar en generaciones posteriores.
Cargas reanudables
Para una carga reanudable, envía los metadatos por POST al endpoint de inicio con X-Goog-Upload-Protocol: resumable y X-Goog-Upload-Command: start. Lee el valor exacto del encabezado de respuesta X-Goog-Upload-URL y envía cada bloque a esa URL mediante POST, con el comando y el desplazamiento confirmado. La URL es una credencial privada, vence en una hora y autoriza la continuación. No la publiques, registres ni compartas. No la sigas como una redirección HTTP normal.
HTTP 308 indica que se aceptó el bloque, pero la carga sigue incompleta: continúa con la misma URL y no lo trates como éxito. HTTP 404 indica que la sesión no existe o venció. HTTP 410 indica que ya no se puede continuar esa sesión; inicia una nueva. Considera la carga completa solo cuando la respuesta final correcta incluya el recurso del archivo.
Configuración del SDK
Define TOKENLAB_API_KEY en el entorno del proceso. Configura el SDK Google Gen AI para usar el host de TokenLab y la versión de la 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" },
});No incluyas la clave ni la URL de carga en el código fuente, el almacenamiento del navegador ni los registros.
12 operaciones
| Method | Path | Operation |
|---|---|---|
| POST | /v1beta/files:register | Registrar una fuente compatible |
| POST | /v1beta/files | Crear metadatos del archivo |
| POST | /upload/v1beta/files | Subir bytes o iniciar sesión |
| POST | /upload/v1beta/files/session/{sessionId} | Continuar carga reanudable |
| GET | /v1beta/files | Listar archivos |
| GET | /v1beta/files/{fileId} | Leer metadatos del archivo |
| DELETE | /v1beta/files/{fileId} | Eliminar archivo |
| POST | /v1beta/cachedContents | Crear contenido en caché |
| GET | /v1beta/cachedContents | Listar contenido en caché |
| GET | /v1beta/cachedContents/{cacheId} | Leer contenido en caché |
| PATCH | /v1beta/cachedContents/{cacheId} | Actualizar vigencia de caché |
| DELETE | /v1beta/cachedContents/{cacheId} | Eliminar contenido en caché |
Los endpoints de lista admiten pageSize y pageToken. Usa el nombre de caché devuelto como cachedContent en una solicitud Gemini posterior. Consulta la especificación OpenAPI y los detalles del modelo para ver todos los campos.