Guias principais
Guias de Migração
Migre cargas de trabalho da OpenAI, Anthropic, Gemini e de mídia para o TokenLab com alterações pequenas e seguras para produção.
O TokenLab é multiformato: você pode manter clientes compatíveis com OpenAI, chamadas de Messages nativas da Anthropic, chamadas REST nativas do Gemini e endpoints de mídia em seus formatos originais. A migração mais segura não é traduzir cada carga de trabalho para um formato universal. Escolha a rota que possui o comportamento que sua aplicação necessita.
Mapeamento de Rotas
| Carga de trabalho existente | URL base do TokenLab | Endpoint principal | Nota de migração |
|---|---|---|---|
| OpenAI Chat Completions | https://api.tokenlab.sh/v1 | /chat/completions | Menor alteração para chat e chamadas de função compatíveis com OpenAI |
| OpenAI Responses | https://api.tokenlab.sh/v1 | /responses | Use quando seu app depender de entradas, ferramentas ou tratamento de saída específicos de Responses |
| Anthropic SDK | https://api.tokenlab.sh | /v1/messages | Não adicione /v1 à URL base do SDK |
| Gemini REST | https://api.tokenlab.sh | /v1beta/models/:model:generateContent | Mantenha os campos nativos do Gemini na rota do Gemini |
| Geração de mídia | https://api.tokenlab.sh/v1 | /images, /videos, /music, /3d | Descubra modelos com recommended_for e espere polling assíncrono onde documentado |
| Gerenciamento e faturamento | https://api.tokenlab.sh/v1 | /management/... | Use tokens de gerenciamento para uso no lado do servidor e reconciliação de faturamento |
Receitas de Migração Rápida
OpenAI para TokenLab
Altere apenas o base_url / baseURL do SDK para https://api.tokenlab.sh/v1, mantenha o nome da variável de ambiente da sua chave de API da OpenAI existente se isso facilitar a implementação, e substitua os IDs de modelo após verificar GET /v1/models.
OpenRouter para TokenLab
Use https://api.tokenlab.sh/v1 onde seu app usava anteriormente a URL base compatível com OpenAI do OpenRouter. Remova os IDs de modelo com prefixo de provedor e use os IDs de modelo públicos do TokenLab a partir de /v1/models; quando uma carga de trabalho precisar de Claude Messages ou generateContent do Gemini, mova-a para o endpoint nativo do TokenLab em vez de forçá-la através do chat compatível com OpenAI.
LiteLLM para TokenLab
Use a rota custom_openai/<model> do LiteLLM com api_base: https://api.tokenlab.sh/v1. Mantenha os aliases do LiteLLM separados dos IDs de modelo reais do TokenLab para que você possa alterar a política de roteamento sem alterar os prompts da aplicação.
Mensagens Claude via TokenLab
Aponte os clientes do SDK da Anthropic para https://api.tokenlab.sh e chame messages.create. Não adicione /v1 à URL base do SDK; o SDK já possui o caminho /v1/messages.
Gemini Nativo via TokenLab
Mantenha os payloads do Gemini em https://api.tokenlab.sh/v1beta/models/{model}:generateContent. Os campos contents, parts, arquivos, conteúdos em cache, declarações de função e ferramentas integradas nativos do Gemini devem permanecer nesta rota quando seu app depender do comportamento do Gemini.
Migração Compatível com OpenAI
from openai import OpenAI
client = OpenAI(
api_key="sk-your-tokenlab-key",
base_url="https://api.tokenlab.sh/v1",
)
response = client.chat.completions.create(
model="gpt-5.6-terra",
messages=[{"role": "user", "content": "Hello from TokenLab"}],
)Mantenha seu código existente de retry, timeout e streaming, mas valide os IDs de modelo com GET /v1/models antes do tráfego de produção. Para geração de imagens, envie o model explicitamente e leia o guia de imagens, pois os modelos de imagem diferem mais do que os modelos de chat.
Migração Anthropic
from anthropic import Anthropic
client = Anthropic(
api_key="sk-your-tokenlab-key",
base_url="https://api.tokenlab.sh",
)
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Reply with: Connected to TokenLab."}],
)Use /v1/messages para uso de ferramentas nativas do Claude, fluxos de pensamento e semântica de mensagens da Anthropic. Não traduza campos exclusivos da Anthropic através de Chat Completions, a menos que você intencionalmente queira uma mudança de comportamento compatível com OpenAI.
Migração Gemini
curl "https://api.tokenlab.sh/v1beta/models/gemini-3.5-flash:generateContent" \
-H "Authorization: Bearer sk-your-tokenlab-key" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"Hello"}]}]}'Mantenha ferramentas integradas do Gemini, referências da File API, conteúdos em cache, declarações de função e partes de conteúdo nativas em /v1beta quando seu app depender do comportamento nativo do Gemini.
Migração de Mídia
- Consulte
GET /v1/models?recommended_for=image|video|music|3d. - Leia
GET /v1/modelsnas respostas de lista e oGET /v1/models/{model}completo onde disponível. - Envie um
modelexplícito, especialmente para endpoints de imagem. - Armazene
task_id,poll_url, endpoint, modelo e seu próprio ID de trabalho para tarefas assíncronas. - Reconcilie custos através de registros de uso e
billing_transaction_id, não IDs de tarefa do provedor.
Cargas de trabalho de mídia precisam de seu próprio plano de implementação porque a latência, retries e ativos finais se comportam de forma diferente das conclusões de chat.
Plano de Implementação em Produção
| Fase | Objetivo | Verificações |
|---|---|---|
| 1. Inventário | Listar endpoints, modelos, campos de requisição, comportamento de streaming/async e proprietário do faturamento | Nenhum campo oculto exclusivo de provedor é assumido como público |
| 2. Piloto de rota única | Mover um endpoint e uma família de modelos | Formato de resposta, custo e logs correspondem às expectativas |
| 3. Shadow ou amostra | Comparar saídas selecionadas com o provedor anterior | Qualidade visível ao usuário e latência são aceitáveis |
| 4. Implementação gradual | Aumentar tráfego por chave, organização ou feature flag | Monitorar 4xx, 5xx, latência, saldo e trabalhos assíncronos duplicados |
| 5. Limpeza | Remover caminho do provedor antigo apenas após uso estável | Caminho de rollback e playbook de suporte estão documentados |
Armadilhas da Migração
- Não coloque todos os modelos atrás de um único caminho de OpenAI Chat Completions se seu app precisar de comportamento nativo da Anthropic, Gemini ou Responses.
- Não assuma padrões antigos de imagem. Envie o
modelexplicitamente. - Não tente realizar retry em requisições de criação assíncronas sem verificar se uma tarefa já foi criada.
- Não exponha identificadores específicos do provedor em seus logs ou interface.
- Não compare o faturamento com IDs de tarefa do provedor. Use registros de uso do TokenLab.
Referência da API
| Tópico | Referência |
|---|---|
| API Multiformato | Multi-Format API |
| SDK OpenAI | SDK da OpenAI |
| SDK Anthropic | SDK da Anthropic |
| Gemini Nativo | Gemini Native API |
| Geração de Imagem | Geração de Imagem |
| Trabalhos Assíncronos & Polling | Trabalhos Assíncronos & Polling |