Skip to main content

Descripción general

TokenLab expone cuatro superficies de protocolo con una sola clave API: Chat Completions, Responses, Anthropic Messages y Gemini nativo. Una entrada nativa solo está disponible cuando el modelo anuncia ese formato y existe una ruta upstream del mismo protocolo; las entradas nativas nunca vuelven a Chat Completions. Solo la entrada Chat puede compilarse en una dirección hacia otro protocolo compatible.

Formato OpenAI

/v1/chat/completions Formato estándar, la mayor compatibilidad

Responses

/v1/responses Ciclo de vida y eventos nativos de Responses

Formato Anthropic

/v1/messages Razonamiento extendido, funciones nativas de Claude

Formato Gemini

/v1beta/models/:model:generateContent Integración con el ecosistema de Google

¿Por qué multi-formato?

Comparación de formatos

Formato OpenAI

Usa esta ruta de compatibilidad para integraciones OpenAI SDK existentes y flujos portables de chat o embeddings. Para comportamiento nativo Claude o Gemini, usa el formato Anthropic o Gemini abajo.
Ideal para:
  • Uso general
  • Integraciones existentes con OpenAI SDK
  • Máxima compatibilidad

Formato Anthropic

API Messages nativa de Anthropic. Requerido para funciones específicas de Claude, como el razonamiento extendido.

Razonamiento extendido (Claude Opus 4.6)

Solo disponible en el formato Anthropic:
Ideal para:
  • Funciones específicas de Claude
  • Modo de razonamiento extendido
  • Usuarios del SDK nativo de Anthropic

Formato Gemini

Formato nativo de la API Gemini de Google para integración con el ecosistema de Google.

Transmisión

Ideal para:
  • Integraciones con Google Cloud
  • Código existente del SDK de Gemini
  • Funciones nativas de Gemini
Gemini Files y Cache: La ruta nativa de Gemini admite /upload/v1beta/files, /v1beta/files, /v1beta/files:register y /v1beta/cachedContents. Files usa canales upstream compatibles con Gemini File API; los recursos de Cache explícitos también pueden enrutarse por canales de Vertex AI. Los recursos creados mediante TokenLab quedan vinculados al mismo canal/key upstream para llamadas posteriores a generateContent.

Límite de compatibilidad de herramientas

Las herramientas de función solo pueden compilarse en una dirección desde la entrada Chat cuando el destino puede representar el ciclo completo. Las herramientas nativas del proveedor deben permanecer en su ruta nativa:
  • Las herramientas alojadas y nativas de OpenAI Responses, como tool_search, web_search, file_search, code_interpreter, MCP, shell/apply_patch y herramientas computer-use, requieren /v1/responses.
  • Las herramientas server/native de Anthropic, como web_search_*, web_fetch_*, code_execution_*, tool_search_*, bash, computer-use y text-editor, requieren /v1/messages.
  • Las herramientas integradas de Gemini, como googleSearch, codeExecution, urlContext, computerUse y campos tools similares, requieren /v1beta.
TokenLab no degrada solicitudes de protocolo nativo a Chat Completions. Los campos desconocidos y las combinaciones de herramientas se reenvían con el mejor esfuerzo; el upstream elegido decide si son compatibles.

Cómo elegir el formato correcto

Guías de migración

Desde la API oficial de OpenAI

¡Eso es todo! El mismo código funciona

Desde la API oficial de Anthropic

Desde Google AI Studio

Compatibilidad portable de Chat

Usa /v1/chat/completions cuando un cliente deba acceder a modelos respaldados por distintos protocolos upstream. Una solicitud Chat portable puede compilarse en una dirección a Responses, Messages o Gemini si puede representarse por completo. Las solicitudes nativas de Responses, Messages y Gemini nunca se convierten a Chat; el nombre del modelo o proveedor no implica disponibilidad nativa.

Límites de Responses y Gemini

La superficie actual de Responses incluye crear, compactar, recuperar, eliminar y SSE. Background funciona solo por HTTP. WebSocket acepta únicamente response.create; el streaming es implícito y background y response.cancel no se ofrecen en este transporte. Eliminar no significa cancelar. En Gemini, tanto lowerCamelCase de ProtoJSON como los nombres proto originales en snake_case son oficiales y se conservan incluso en solicitudes mixtas. La superficie actual incluye list/get models, generateContent, streamGenerateContent, countTokens, embedContent y batchEmbedContents; no incluye Interactions ni Live. Los campos desconocidos se reenvían con el mejor esfuerzo y el upstream decide su compatibilidad.