TokenLab suporta três formatos de API nativos com uma única chave de API. Escolha o formato que melhor se adapta ao seu caso de uso - sem necessidade de alterar configurações.
Formato OpenAI
/v1/chat/completions
Formato padrão, compatibilidade mais ampla
Formato Anthropic
/v1/messages
Raciocínio estendido, recursos nativos do Claude
Formato Gemini
/v1beta/models/:model:generateContent
Integração com o ecossistema Google
Use esta rota de compatibilidade para integrações OpenAI SDK existentes e fluxos portáteis de chat ou embeddings. Para comportamento nativo Claude ou Gemini, use o formato Anthropic ou Gemini abaixo.
from openai import OpenAIclient = OpenAI( api_key="sk-your-tokenlab-key", base_url="https://api.tokenlab.sh/v1")# Portable chat works across many modelsresponse = client.chat.completions.create( model="claude-sonnet-4-6", # Claude via OpenAI format messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ])
API Messages nativa da Anthropic. Necessário para recursos específicos do Claude, como o raciocínio estendido.
from anthropic import Anthropicclient = Anthropic( api_key="sk-your-tokenlab-key", base_url="https://api.tokenlab.sh" # No /v1 suffix!)message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, system="You are a helpful assistant.", # Separate system field messages=[ {"role": "user", "content": "Hello!"} ])
Gemini Files e Cache: A rota nativa do Gemini oferece /upload/v1beta/files, /v1beta/files, /v1beta/files:register e /v1beta/cachedContents. Files usa canais upstream compatíveis com a Gemini File API; recursos explícitos de Cache também podem ser roteados por canais Vertex AI. Recursos criados via TokenLab ficam vinculados ao mesmo canal/key upstream para chamadas generateContent posteriores.
Ferramentas de função podem ser convertidas entre formatos quando a rota de destino oferece suporte. Ferramentas nativas do provedor devem permanecer na rota nativa:
Ferramentas hospedadas e nativas do OpenAI Responses, como tool_search, web_search, file_search, code_interpreter, MCP, shell/apply_patch e ferramentas computer-use, exigem /v1/responses.
Ferramentas server/native da Anthropic, como web_search_*, web_fetch_*, code_execution_*, tool_search_*, bash, computer-use e text-editor, exigem /v1/messages.
Ferramentas integradas do Gemini, como googleSearch, codeExecution, urlContext, computerUse e campos tools semelhantes, exigem /v1beta.
Se a TokenLab não puder rotear uma solicitação com ferramentas nativas para um caminho upstream compatível com formato nativo, ela retorna um erro unsupported-field explícito em vez de descartar a ferramenta silenciosamente ou fingir que ela é uma função de Chat Completions. Ferramentas de função definidas pelo usuário continuam sendo o caminho mais portátil.
# Before (OpenAI)client = OpenAI(api_key="sk-openai-key")# After (TokenLab)client = OpenAI( api_key="sk-tokenlab-key", base_url="https://api.tokenlab.sh/v1" # Add this line)# That's it! Same code works
# Before (Anthropic)client = Anthropic(api_key="sk-ant-key")# After (TokenLab)client = Anthropic( api_key="sk-tokenlab-key", base_url="https://api.tokenlab.sh" # Add this line (no /v1!))
Embora a compatibilidade entre formatos funcione para a maioria dos recursos, funcionalidades específicas de formato (como o raciocínio estendido da Anthropic) exigem o uso do formato nativo.