Saltar al contenido principal

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

EndpointFormatoCaso de uso
/v1/chat/completionsOpenAI ChatCompatibilidad universal
/v1/responsesOpenAI ResponsesConversaciones con estado
/v1/messagesAnthropic MessagesCaracterísticas nativas de Claude
/v1beta/models/:model:generateContentGoogle GeminiCaracterísticas nativas de Gemini

Compatibilidad de IDE y CLI

Rutas de herramientas documentadas

HerramientaNivel de soporteFormatoNotas
CursorSoportado con límitesCompatible con OpenAIFunciona para flujos estándar de chat/editor BYOK, no como reemplazo de funciones gestionadas por Cursor como Tab Completion
Claude Code CLIRuta nativa sólidaAnthropicRuta nativa /v1/messages con cobertura de adaptador para thinking y tool_choice
Codex CLISoportado con límites de modelo/rutaOpenAI ResponsesTrate /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 CLIMejor esfuerzo / experimentalGeminiEl flujo de URL base personalizado de TokenLab no es una integración oficial de Gemini CLI
OpenCodeSoportadoCompatible con OpenAIUse un proveedor compatible con OpenAI por defecto; cambie a un proveedor basado en Responses solo cuando lo necesite explícitamente
OpenHandsSoportadoCompatible con OpenAIUse 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

Base URL: https://api.tokenlab.sh/v1
API Key: sk-your-tokenlab-key
Cursor utiliza internamente el formato de herramientas al estilo de Anthropic. TokenLab soporta ambos:
  • 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 / FrameworkLenguajeNivel de soporteNotas
OpenAI SDKPython/JS/GoRuta central soportadaRuta 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 SDKPython/JSRuta nativa sólidaRuta Messages nativa con evidencia directa para herramientas, thinking y prompt caching
Vercel AI SDKTypeScriptPatrón de integración recomendadoPrefiera @ai-sdk/openai-compatible; use @ai-sdk/openai solo cuando desee explícitamente un comportamiento nativo de Responses
LangChainPython/JSSuperficies estándar soportadasChatOpenAI y OpenAIEmbeddings son el alcance previsto; los extras nativos del proveedor están fuera de alcance
LlamaIndexPythonSoportado vía OpenAILikeUse OpenAILike, no las clases integradas de OpenAI, para gateways de terceros como TokenLab
OpenAI Agents SDKPythonRuta de chat-completions soportadaUse AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") con OpenAIChatCompletionsModel; el comportamiento nativo de Responses depende del modelo y la ruta seleccionados
AutoGenPythonRuta de endpoint personalizada soportadaUse OpenAIChatCompletionClient con base_url: https://api.tokenlab.sh/v1
Semantic Kernel.NETRuta de endpoint personalizada soportadaUse el endpoint personalizado del conector de chat completion de OpenAI y apúntelo a https://api.tokenlab.sh/v1
CrewAIPythonRuta de endpoint personalizada soportadaEstablezca OPENAI_API_BASE o LLM(base_url=...) al endpoint /v1 de TokenLab
Pydantic AIPythonRuta de proveedor compatible con OpenAI soportadaUse OpenAIChatModel con OpenAIProvider(base_url="https://api.tokenlab.sh/v1")
DSPyPythonRuta de endpoint personalizada soportadaUse dspy.LM("openai/<model>", api_base="https://api.tokenlab.sh/v1")
LangflowPython / WebSoportado con límites de alcanceUse el campo OpenAI API Base del componente de OpenAI con el endpoint /v1 de TokenLab
HaystackPythonRuta de endpoint personalizada soportadaUse OpenAIChatGenerator(api_base_url="https://api.tokenlab.sh/v1")
GraphitiPythonRuta de endpoint personalizada soportadaUse OpenAIGenericClient con el endpoint /v1 de TokenLab
Dify-Soportado con límites de alcanceEl 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
FlowiseWeb / NodeSoportado con límites de alcanceUse el nodo de chat de TokenLab cuando esté disponible, o un nodo compatible con ChatOpenAI apuntando a https://api.tokenlab.sh/v1
Mem0PythonRuta de endpoint personalizada soportadaMantenga el proveedor de OpenAI y establezca openai_base_url al endpoint /v1 de TokenLab
AgnoPythonRuta soportadaUse el wrapper de modelo de TokenLab cuando esté disponible, o la ruta de URL base compatible con OpenAI
Browser UsePythonRuta de endpoint personalizada soportadaUse ChatOpenAILike con el endpoint /v1 de TokenLab
VoltAgentTypeScriptRuta de endpoint personalizada soportadaPase un proveedor de OpenAI de AI SDK configurado con baseURL: "https://api.tokenlab.sh/v1"
RagasPythonRuta de endpoint personalizada soportadaPase AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") a llm_factory
GuardrailsPythonRuta de validación soportadaPase un callable de chat completions del SDK de OpenAI configurado con el endpoint /v1 de TokenLab
Prompt flowPython / CLIRuta de endpoint personalizada soportadaCree una conexión de OpenAI con base_url=https://api.tokenlab.sh/v1
PromptfooCLI / NodeRuta soportadaUse proveedores de chat o Responses de OpenAI con apiBaseUrl: https://api.tokenlab.sh/v1
Portkey GatewayGatewayRuta soportadaUse TokenLab como proveedor upstream para tráfico de chat y Responses compatible con OpenAI
HeliconeGateway / ObservabilityRuta de observabilidad soportadaEnrute solicitudes compatibles con OpenAI a través de Helicone Gateway con Helicone-Target-Url: https://api.tokenlab.sh
LangfuseObservabilityRuta de rastreo soportadaConfigure la integración de OpenAI de Langfuse con la URL base /v1 de TokenLab
OpenLITObservabilityRuta de rastreo soportadaInstrumente un cliente de SDK de OpenAI configurado con la URL base /v1 de TokenLab
OpenLLMetryObservabilityRuta de rastreo soportadaUse la instrumentación del SDK de OpenAI con la URL base /v1 de TokenLab
PhoenixObservabilityRuta de rastreo soportadaAuto-instrumente el cliente del SDK de OpenAI configurado con la URL base /v1 de TokenLab
OpikObservabilityRuta de rastreo soportadaEnvuelva un cliente del SDK de OpenAI configurado con la URL base /v1 de TokenLab
LangBotBot PlatformRuta de chat soportadaUse el solicitante de TokenLab cuando esté disponible, o configure un solicitante compatible con OpenAI con el endpoint /v1 de TokenLab
Open WebUIWeb ChatRuta de aplicación de chat soportadaAgregue TokenLab como una conexión de API compatible con OpenAI y actualice la lista de modelos
Chatbox / DeepChat / Jan / LibreChat / Cherry StudioDesktop / WebRuta de aplicación de chat soportadaUse 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ámetroTipoDescripción
modelstringIdentificador del modelo (requerido)
messagesarrayMensajes de la conversación (requerido)
max_tokensintegerMáximo de tokens de salida
temperaturenumberTemperatura de muestreo (0-2)
top_pnumberMuestreo de núcleo (0-1)
streambooleanHabilitar streaming

Llamada a herramientas (Tool Calling)

{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": { "type": "string" }
          }
        },
        "strict": true
      }
    }
  ],
  "tool_choice": "auto",
  "parallel_tool_calls": true
}

Opciones de elección de herramientas (Tool Choice)

FormatoEjemploDescripció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ámetroTipoDescripción
stream_optionsobjectSolo Chat Completions: { include_usage: true } para conteo de tokens
reasoning_effortstring"low", "medium", "high" para modelos GPT-5 con razonamiento
service_tierstring"auto" o "default"
seedintegerSalidas deterministas
logprobsbooleanDevolver log probabilidades
top_logprobsintegerNúmero de top logprobs (0-20)
logit_biasobjectMapa de sesgo de tokens (-100 a 100)
frequency_penaltynumberPenalización por repetición (-2 a 2)
presence_penaltynumberPenalización por tema (-2 a 2)
stopstring/arraySecuencias de parada
nintegerNúmero de completaciones (1-128)
userstringIdentificador de usuario para seguimiento

Características avanzadas de OpenAI

ParámetroTipoDescripción
modalitiesarray["text", "audio"] para multimodal
audioobjectConfiguración de salida de audio (voz, formato)
predictionobjectSalida predicha para una completación más rápida
metadataobjectPares clave-valor para seguimiento
storebooleanAlmacenar para recuperación posterior

Opciones específicas del proveedor

{
  "anthropic_options": {
    "thinking": {
      "type": "enabled",
      "budget_tokens": 10000
    },
    "prompt_caching": true
  },
  "google_options": {
    "safety_settings": [...],
    "google_search": true,
    "code_execution": true
  }
}

Parámetros de Anthropic Messages

Parámetros principales

ParámetroTipoDescripción
modelstringIdentificador del modelo
messagesarrayMensajes de la conversación
max_tokensintegerMáximo de salida (hasta 128000)
systemstring/arraySystem prompt
streambooleanHabilitar streaming

Llamada a herramientas (Tool Calling)

{
  "tools": [
    {
      "name": "get_weather",
      "description": "Get weather",
      "input_schema": {
        "type": "object",
        "properties": {
          "location": { "type": "string" }
        }
      }
    }
  ],
  "tool_choice": {
    "type": "auto",
    "disable_parallel_tool_use": false
  }
}

Pensamiento extendido (Extended Thinking)

{
  "model": "claude-opus-4-6",
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Parámetros de la API Responses

Parámetros principales

ParámetroTipoDescripción
modelstringIdentificador del modelo
inputstring/arrayContenido de entrada
instructionsstringInstrucciones del sistema
max_output_tokensintegerMáximo de tokens de salida
previous_response_idstringContinuar conversación

Parámetros avanzados

ParámetroTipoDescripción
truncation_strategystring"auto" o "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringPara modelos de razonamiento
service_tierstringNivel de prioridad

Formato de herramientas

Soporta formatos de herramientas tanto de OpenAI como de Anthropic:
// Formato OpenAI
{ "type": "function", "name": "fn", "parameters": {...} }

// Formato Anthropic (compatibilidad con Cursor)
{ "name": "fn", "input_schema": {...} }

Parámetros de la API Gemini

Parámetros principales

ParámetroTipoDescripción
contentsarrayContenido de la conversación
systemInstructionobjectSystem prompt
generationConfigobjectConfiguración de generación

Herramientas

{
  "tools": [{
    "functionDeclarations": [{
      "name": "search",
      "description": "Search the web",
      "parameters": {...}
    }],
    "codeExecution": {},
    "googleSearch": {}
  }],
  "toolConfig": {
    "functionCallingConfig": {
      "mode": "AUTO"
    }
  }
}

Configuración de seguridad

{
  "safetySettings": [
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    }
  ]
}

Parámetros adicionales

ParámetroTipoDescripción
cachedContentstringReferencia de contenido en caché
responseMimeTypestring"text/plain" o "application/json"
responseSchemaobjectEsquema JSON para salida estructurada

Streaming

Los endpoints de generación que exponen stream: true, incluyendo Chat Completions y Responses, utilizan Server-Sent Events (SSE):
# Chat Completions
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

# Chat Completions seguimiento de uso
-d '{"...", "stream_options": {"include_usage": true}}'

Manejo de errores

TokenLab devuelve respuestas de error compatibles con OpenAI:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
Consulte la Guía de manejo de errores para más detalles.

Mejores prácticas

Los parámetros desconocidos se reenvían solo cuando la ruta pública y el modelo seleccionados los soportan.
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.
Coincida con el formato esperado por su SDK. TokenLab acepta formatos tanto de OpenAI como de Anthropic.