Descripción general
TokenLab expone múltiples formatos de API para que las herramientas de codificación, SDKs y frameworks comunes puedan integrarse con un mínimo de código de conexión. Esta página es intencionalmente más específica que una matriz de marketing:- Soportado significa que documentamos una ruta de configuración concreta y TokenLab expone la forma del protocolo que dicha ruta espera.
- Ruta nativa sólida significa que el repositorio también cuenta con evidencia de adaptadores directos o formatos de solicitud para esa familia de protocolos.
- Mejor esfuerzo significa que la integración puede funcionar, pero el cliente upstream no trata este flujo de trabajo de gateway personalizado como un contrato estable.
Los campos no soportados no se manejan de manera uniforme. En las rutas de compatibilidad, algunos campos se ignoran o normalizan. En
/v1/responses, los campos no soportados pueden devolver errores explícitos 400 o 503 cuando esa ruta no puede garantizar el comportamiento solicitado.Formatos de API soportados
| Endpoint | Formato | Caso de uso |
|---|---|---|
/v1/chat/completions | OpenAI Chat | Compatibilidad universal |
/v1/responses | OpenAI Responses | Conversaciones con estado |
/v1/messages | Anthropic Messages | Características nativas de Claude |
/v1beta/models/:model:generateContent | Google Gemini | Características nativas de Gemini |
Compatibilidad de IDE y CLI
Rutas de herramientas documentadas
| Herramienta | Nivel de soporte | Formato | Notas |
|---|---|---|---|
| Cursor | Soportado con límites | Compatible con OpenAI | Funciona para flujos estándar de chat/editor BYOK, no como reemplazo de funciones gestionadas por Cursor como Tab Completion |
| Claude Code CLI | Ruta nativa sólida | Anthropic | Ruta nativa /v1/messages con cobertura de adaptador para thinking y tool_choice |
| Codex CLI | Soportado con límites de modelo/ruta | OpenAI Responses | Trate /v1/responses como una ruta avanzada para flujos de trabajo específicos de Codex; algunos campos exclusivos de Responses no están garantizados en todos los modelos y rutas |
| Gemini CLI | Mejor esfuerzo / experimental | Gemini | El flujo de URL base personalizado de TokenLab no es una integración oficial de Gemini CLI |
| OpenCode | Soportado | Compatible con OpenAI | Use un proveedor compatible con OpenAI por defecto; cambie a un proveedor basado en Responses solo cuando lo necesite explícitamente |
| OpenHands | Soportado | Compatible con OpenAI | Use la ruta compatible con LiteLLM/OpenAI con openai/<model> y la URL base /v1 de TokenLab |
Otros editores y herramientas de agentes compatibles con OpenAI a menudo funcionan con el mismo patrón de URL base; verifique el soporte de proveedor personalizado de la herramienta antes de usarla en producción.
Ejemplos de configuración
- Cursor
- Claude Code
- OpenCode
- Aider
- Formato OpenAI:
{ type: "function", function: { name, parameters } } - Formato Anthropic:
{ name, input_schema }(sin campo type)
Compatibilidad de SDK
Rutas de SDK y Framework documentadas
| SDK / Framework | Lenguaje | Nivel de soporte | Notas |
|---|---|---|---|
| OpenAI SDK | Python/JS/Go | Ruta central soportada | Ruta de compatibilidad para /v1 Chat Completions y Embeddings; use rutas de proveedor nativas para comportamientos específicos del proveedor, y no asuma que los campos exclusivos de Responses funcionan en todos los modelos |
| Anthropic SDK | Python/JS | Ruta nativa sólida | Ruta Messages nativa con evidencia directa para herramientas, thinking y prompt caching |
| Vercel AI SDK | TypeScript | Patrón de integración recomendado | Prefiera @ai-sdk/openai-compatible; use @ai-sdk/openai solo cuando desee explícitamente un comportamiento nativo de Responses |
| LangChain | Python/JS | Superficies estándar soportadas | ChatOpenAI y OpenAIEmbeddings son el alcance previsto; los extras nativos del proveedor están fuera de alcance |
| LlamaIndex | Python | Soportado vía OpenAILike | Use OpenAILike, no las clases integradas de OpenAI, para gateways de terceros como TokenLab |
| OpenAI Agents SDK | Python | Ruta de chat-completions soportada | Use AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") con OpenAIChatCompletionsModel; el comportamiento nativo de Responses depende del modelo y la ruta seleccionados |
| AutoGen | Python | Ruta de endpoint personalizada soportada | Use OpenAIChatCompletionClient con base_url: https://api.tokenlab.sh/v1 |
| Semantic Kernel | .NET | Ruta de endpoint personalizada soportada | Use el endpoint personalizado del conector de chat completion de OpenAI y apúntelo a https://api.tokenlab.sh/v1 |
| CrewAI | Python | Ruta de endpoint personalizada soportada | Establezca OPENAI_API_BASE o LLM(base_url=...) al endpoint /v1 de TokenLab |
| Pydantic AI | Python | Ruta de proveedor compatible con OpenAI soportada | Use OpenAIChatModel con OpenAIProvider(base_url="https://api.tokenlab.sh/v1") |
| DSPy | Python | Ruta de endpoint personalizada soportada | Use dspy.LM("openai/<model>", api_base="https://api.tokenlab.sh/v1") |
| Langflow | Python / Web | Soportado con límites de alcance | Use el campo OpenAI API Base del componente de OpenAI con el endpoint /v1 de TokenLab |
| Haystack | Python | Ruta de endpoint personalizada soportada | Use OpenAIChatGenerator(api_base_url="https://api.tokenlab.sh/v1") |
| Graphiti | Python | Ruta de endpoint personalizada soportada | Use OpenAIGenericClient con el endpoint /v1 de TokenLab |
| Dify | - | Soportado con límites de alcance | El proveedor de OpenAI y los flujos orientados a chat-completions son la ruta prevista; no es adecuado para Responses específicos de Codex o comportamiento de WebSocket |
| Flowise | Web / Node | Soportado con límites de alcance | Use el nodo de chat de TokenLab cuando esté disponible, o un nodo compatible con ChatOpenAI apuntando a https://api.tokenlab.sh/v1 |
| Mem0 | Python | Ruta de endpoint personalizada soportada | Mantenga el proveedor de OpenAI y establezca openai_base_url al endpoint /v1 de TokenLab |
| Agno | Python | Ruta soportada | Use el wrapper de modelo de TokenLab cuando esté disponible, o la ruta de URL base compatible con OpenAI |
| Browser Use | Python | Ruta de endpoint personalizada soportada | Use ChatOpenAILike con el endpoint /v1 de TokenLab |
| VoltAgent | TypeScript | Ruta de endpoint personalizada soportada | Pase un proveedor de OpenAI de AI SDK configurado con baseURL: "https://api.tokenlab.sh/v1" |
| Ragas | Python | Ruta de endpoint personalizada soportada | Pase AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") a llm_factory |
| Guardrails | Python | Ruta de validación soportada | Pase un callable de chat completions del SDK de OpenAI configurado con el endpoint /v1 de TokenLab |
| Prompt flow | Python / CLI | Ruta de endpoint personalizada soportada | Cree una conexión de OpenAI con base_url=https://api.tokenlab.sh/v1 |
| Promptfoo | CLI / Node | Ruta soportada | Use proveedores de chat o Responses de OpenAI con apiBaseUrl: https://api.tokenlab.sh/v1 |
| Portkey Gateway | Gateway | Ruta soportada | Use TokenLab como proveedor upstream para tráfico de chat y Responses compatible con OpenAI |
| Helicone | Gateway / Observability | Ruta de observabilidad soportada | Enrute solicitudes compatibles con OpenAI a través de Helicone Gateway con Helicone-Target-Url: https://api.tokenlab.sh |
| Langfuse | Observability | Ruta de rastreo soportada | Configure la integración de OpenAI de Langfuse con la URL base /v1 de TokenLab |
| OpenLIT | Observability | Ruta de rastreo soportada | Instrumente un cliente de SDK de OpenAI configurado con la URL base /v1 de TokenLab |
| OpenLLMetry | Observability | Ruta de rastreo soportada | Use la instrumentación del SDK de OpenAI con la URL base /v1 de TokenLab |
| Phoenix | Observability | Ruta de rastreo soportada | Auto-instrumente el cliente del SDK de OpenAI configurado con la URL base /v1 de TokenLab |
| Opik | Observability | Ruta de rastreo soportada | Envuelva un cliente del SDK de OpenAI configurado con la URL base /v1 de TokenLab |
| LangBot | Bot Platform | Ruta de chat soportada | Use el solicitante de TokenLab cuando esté disponible, o configure un solicitante compatible con OpenAI con el endpoint /v1 de TokenLab |
| Open WebUI | Web Chat | Ruta de aplicación de chat soportada | Agregue TokenLab como una conexión de API compatible con OpenAI y actualice la lista de modelos |
| Chatbox / DeepChat / Jan / LibreChat / Cherry Studio | Desktop / Web | Ruta de aplicación de chat soportada | Use el flujo de proveedor personalizado compatible con OpenAI de cada aplicación; estas aplicaciones suelen estar orientadas a chat-completions |
Parámetros de Chat Completions
Parámetros principales
| Parámetro | Tipo | Descripción |
|---|---|---|
model | string | Identificador del modelo (requerido) |
messages | array | Mensajes de la conversación (requerido) |
max_tokens | integer | Máximo de tokens de salida |
temperature | number | Temperatura de muestreo (0-2) |
top_p | number | Muestreo de núcleo (0-1) |
stream | boolean | Habilitar streaming |
Llamada a herramientas (Tool Calling)
Opciones de elección de herramientas (Tool Choice)
| Formato | Ejemplo | Descripción |
|---|---|---|
| String | "auto", "none", "required" | Selección simple |
| Objeto OpenAI | { "type": "function", "function": { "name": "fn" } } | Forzar función específica |
| Objeto Anthropic | { "type": "tool", "name": "fn", "disable_parallel_tool_use": true } | Formato nativo de Anthropic |
Parámetros avanzados
| Parámetro | Tipo | Descripción |
|---|---|---|
stream_options | object | Solo Chat Completions: { include_usage: true } para conteo de tokens |
reasoning_effort | string | "low", "medium", "high" para modelos GPT-5 con razonamiento |
service_tier | string | "auto" o "default" |
seed | integer | Salidas deterministas |
logprobs | boolean | Devolver log probabilidades |
top_logprobs | integer | Número de top logprobs (0-20) |
logit_bias | object | Mapa de sesgo de tokens (-100 a 100) |
frequency_penalty | number | Penalización por repetición (-2 a 2) |
presence_penalty | number | Penalización por tema (-2 a 2) |
stop | string/array | Secuencias de parada |
n | integer | Número de completaciones (1-128) |
user | string | Identificador de usuario para seguimiento |
Características avanzadas de OpenAI
| Parámetro | Tipo | Descripción |
|---|---|---|
modalities | array | ["text", "audio"] para multimodal |
audio | object | Configuración de salida de audio (voz, formato) |
prediction | object | Salida predicha para una completación más rápida |
metadata | object | Pares clave-valor para seguimiento |
store | boolean | Almacenar para recuperación posterior |
Opciones específicas del proveedor
Parámetros de Anthropic Messages
Parámetros principales
| Parámetro | Tipo | Descripción |
|---|---|---|
model | string | Identificador del modelo |
messages | array | Mensajes de la conversación |
max_tokens | integer | Máximo de salida (hasta 128000) |
system | string/array | System prompt |
stream | boolean | Habilitar streaming |
Llamada a herramientas (Tool Calling)
Pensamiento extendido (Extended Thinking)
Parámetros de la API Responses
Parámetros principales
| Parámetro | Tipo | Descripción |
|---|---|---|
model | string | Identificador del modelo |
input | string/array | Contenido de entrada |
instructions | string | Instrucciones del sistema |
max_output_tokens | integer | Máximo de tokens de salida |
previous_response_id | string | Continuar conversación |
Parámetros avanzados
| Parámetro | Tipo | Descripción |
|---|---|---|
truncation_strategy | string | "auto" o "disabled" |
include | array | ["reasoning.encrypted_content"] |
reasoning_effort | string | Para modelos de razonamiento |
service_tier | string | Nivel de prioridad |
Formato de herramientas
Soporta formatos de herramientas tanto de OpenAI como de Anthropic:Parámetros de la API Gemini
Parámetros principales
| Parámetro | Tipo | Descripción |
|---|---|---|
contents | array | Contenido de la conversación |
systemInstruction | object | System prompt |
generationConfig | object | Configuración de generación |
Herramientas
Configuración de seguridad
Parámetros adicionales
| Parámetro | Tipo | Descripción |
|---|---|---|
cachedContent | string | Referencia de contenido en caché |
responseMimeType | string | "text/plain" o "application/json" |
responseSchema | object | Esquema JSON para salida estructurada |
Streaming
Los endpoints de generación que exponenstream: true, incluyendo Chat Completions y Responses, utilizan Server-Sent Events (SSE):
Manejo de errores
TokenLab devuelve respuestas de error compatibles con OpenAI:Mejores prácticas
Use passthrough para parámetros desconocidos
Use passthrough para parámetros desconocidos
Los parámetros desconocidos se reenvían solo cuando la ruta pública y el modelo seleccionados los soportan.
Use stream_options.include_usage solo para Chat Completions
Use stream_options.include_usage solo para Chat Completions
Para el streaming de Chat Completions, habilite
stream_options.include_usage para obtener conteos de tokens precisos. Responses tiene su propio contrato de streaming y no expone esta opción exclusiva de Chat.Use el formato de tool_choice apropiado
Use el formato de tool_choice apropiado
Coincida con el formato esperado por su SDK. TokenLab acepta formatos tanto de OpenAI como de Anthropic.