Gemini Files e cache
Arquivos Gemini e conteúdo em cache
Envie e gerencie arquivos Gemini, sessões retomáveis e conteúdo em cache pertencente ao Workspace.
Use estes recursos nativos do Gemini com um modelo atual da TokenLab que ofereça suporte à operação desejada. Os caminhos abaixo seguem o formato da API Gemini.
Workspace e modelos compatíveis
Os arquivos e o conteúdo em cache pertencem ao Workspace associado à solicitação autenticada. Crie, liste, leia, referencie, atualize e exclua recursos nesse mesmo Workspace. O nome do recurso ou o URI do arquivo não transfere a propriedade.
Arquivos
Use register para registrar uma fonte existente compatível; isso não envia os bytes de arquivos locais. Se necessário, crie os metadados com JSON e envie os bytes ao endpoint de upload. Consulte o estado pela listagem ou leitura e aguarde o arquivo ficar pronto antes de usar o URI retornado no conteúdo Gemini. Exclua arquivos que não são mais necessários.
Conteúdo em cache
Crie conteúdo em cache para um modelo compatível com contents e, se necessário, uma instrução do sistema, ferramentas, configuração de ferramentas e TTL ou horário de expiração. Em uma solicitação Gemini generateContent posterior no mesmo Workspace, use o name retornado como cachedContent. GET e a listagem leem os metadados; PATCH atualiza a validade; após DELETE, o cache não poderá ser usado em novas gerações.
Uploads retomáveis
Inicie uma sessão enviando os metadados por POST /upload/v1beta/files com os cabeçalhos X-Goog-Upload-Protocol: resumable e X-Goog-Upload-Command: start. Leia o valor completo do cabeçalho de resposta X-Goog-Upload-URL. Envie cada bloco de bytes por POST para essa URL, com o comando de upload e o deslocamento confirmado. A URL é uma credencial privada que autoriza a continuação e expira após uma hora. Não publique, registre em logs ou compartilhe a URL; não a siga como um redirecionamento HTTP comum.
HTTP 308 significa que o bloco foi aceito, mas o upload continua incompleto: prossiga na mesma URL e não trate a resposta como sucesso. HTTP 404 significa que a sessão não existe ou expirou. HTTP 410 significa que a sessão não pode mais continuar; inicie uma nova. Considere o upload concluído somente quando a resposta final bem-sucedida contiver o recurso do arquivo.
Configuração do SDK
Defina TOKENLAB_API_KEY no ambiente do processo. Configure o SDK Google Gen AI para usar o host da TokenLab e a versão da 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" },
});Não coloque a chave nem a URL de upload no código-fonte, no armazenamento do navegador ou em logs.
12 operações
| Method | Path | Operation |
|---|---|---|
| POST | /v1beta/files:register | Registrar uma fonte compatível |
| POST | /v1beta/files | Criar metadados do arquivo |
| POST | /upload/v1beta/files | Enviar bytes ou iniciar sessão |
| POST | /upload/v1beta/files/session/{sessionId} | Continuar upload retomável |
| GET | /v1beta/files | Listar arquivos |
| GET | /v1beta/files/{fileId} | Ler metadados do arquivo |
| DELETE | /v1beta/files/{fileId} | Excluir arquivo |
| POST | /v1beta/cachedContents | Criar conteúdo em cache |
| GET | /v1beta/cachedContents | Listar conteúdo em cache |
| GET | /v1beta/cachedContents/{cacheId} | Ler conteúdo em cache |
| PATCH | /v1beta/cachedContents/{cacheId} | Atualizar validade do cache |
| DELETE | /v1beta/cachedContents/{cacheId} | Excluir conteúdo em cache |
Os endpoints de listagem aceitam pageSize e pageToken. Use o nome do cache retornado como cachedContent em uma solicitação Gemini posterior. Consulte a especificação OpenAPI e os detalhes do modelo para ver todos os campos.