Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

Descripción general

TokenLab expone múltiples formatos de API para que las herramientas de codificación comunes, SDKs y frameworks puedan integrarse con una cantidad mínima de código puente. Esta página es intencionalmente más limitada que una matriz de marketing:
  • Supported significa que documentamos una ruta de configuración concreta y que TokenLab expone la forma de protocolo que esa ruta espera.
  • Ruta nativa sólida significa que el repositorio también tiene adaptadores directos o evidencia de formato 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 gateway personalizado como un contrato estable.
Los campos no soportados no se manejan de forma uniforme. En 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.

Supported API Formats

ExtremoFormatoCaso de uso
/v1/chat/completionsOpenAI ChatCompatibilidad universal
/v1/responsesRespuestas de OpenAIConversaciones con estado
/v1/messagesMensajes de AnthropicCaracterísticas nativas de Claude
/v1beta/models/:model:generateContentGoogle GeminiFunciones nativas de Gemini

Compatibilidad de IDE y CLI

Rutas de herramientas documentadas

HerramientaNivel de soporteFormatoNotas
CursorCompatible con limitacionesCompatible con OpenAIFunciona para flujos estándar de chat/editor BYOK, no como sustituto de funciones administradas por Cursor como Tab Completion
Claude Code CLIRuta nativa sólidaAnthropicRuta nativa /v1/messages con cobertura del adaptador para reasoning y tool_choice
Codex CLICompatible con límites de modelo/rutaOpenAI ResponsesTrata /v1/responses como una ruta avanzada para flujos de trabajo específicos de Codex; algunos campos solo de Responses no están garantizados en todos los modelos y rutas enrutadas
Gemini CLIMejor esfuerzo / experimentalGeminiEl flujo personalizado de URL base de TokenLab no es un contrato estable del upstream
OpenCodeCompatibleCompatible con OpenAIUse un proveedor compatible con OpenAI de forma predeterminada; cambie a un proveedor basado en Responses solo cuando lo necesite explícitamente
Otros editores y herramientas de agentes compatibles con OpenAI suelen funcionar con el mismo patrón de base URL, pero este repositorio no mantiene actualmente cobertura de regresión específica para herramientas como Windsurf, Aider, Continue.dev, Cline/Roo Code, GitHub Copilot y clientes similares.

Ejemplos de configuración

Base URL: https://api.tokenlab.sh/v1
API Key: sk-your-tokenlab-key
Cursor usa internamente el formato de herramientas estilo Anthropic. TokenLab soporta ambos:
  • Formato de OpenAI: { type: "function", function: { name, parameters } }
  • Formato de Anthropic: { name, input_schema } (sin campo type)

SDK Compatibility

Rutas documentadas de SDK y framework

SDK / MarcoIdiomaNivel de compatibilidadNotas
OpenAI SDKPython/JS/GoRuta principal compatibleRuta de compatibilidad para Chat Completions y Embeddings en /v1; usa rutas nativas del proveedor para comportamiento específico del proveedor, y no asumas que los campos solo de Responses funcionen en todos los modelos
Anthropic SDKPython/JSRuta nativa sólidaRuta nativa de Messages con soporte directo para herramientas, pensamiento y almacenamiento en caché de prompts
Vercel AI SDKTypeScriptPatrón de integración recomendadoPrefiera @ai-sdk/openai-compatible; use @ai-sdk/openai solo cuando quiera explícitamente comportamiento nativo de Responses
LangChainPython/JSSuperficies estándar admitidasChatOpenAI y OpenAIEmbeddings son el ámbito previsto; los extras nativos del proveedor quedan fuera del ámbito
LlamaIndexPythonCompatible mediante OpenAILikeUsa OpenAILike, no las clases OpenAI integradas, para pasarelas de terceros como TokenLab
Dify-Compatible con limitaciones de alcanceEl proveedor OpenAI y los flujos orientados a chat-completions son la ruta prevista; no es adecuado para Responses específicos de Codex ni para comportamiento de WebSocket

Parámetros de Chat Completions

Parámetros principales

ParámetroTipoDescripción
modelstringIdentificador del modelo (obligatorio)
messagesarregloMensajes de conversación (obligatorio)
max_tokensintegerMáximo de tokens de salida
temperaturenúmeroTemperatura de muestreo (0-2)
top_pnumberMuestreo de núcleo (0-1)
streambooleanHabilitar transmisión

Llamada de herramientas

{
  "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

FormatoEjemploDescripción
String"auto", "none", "required"Selección simple
Objeto de OpenAI{ "type": "function", "function": { "name": "fn" } }Forzar una función específica
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Formato nativo de Anthropic

Parámetros avanzados

ParámetroTipoDescripción
stream_optionsobject{ include_usage: true } para los recuentos de tokens
reasoning_effortstring"low", "medium", "high" para modelos GPT-5 habilitados para razonamiento
service_tiercadena"auto" o "default"
seedintegerSalidas deterministas
logprobsbooleanDevolver probabilidades logarítmicas
top_logprobsintegerNúmero de top logprobs (0-20)
logit_biasobjetoMapa de sesgo de tokens (-100 a 100)
frequency_penaltynumberPenalización por repetición (-2 to 2)
presence_penaltynúmeroPenalización de tema (-2 a 2)
stopstring/arraySecuencias de parada
nenteroNúmero de completaciones (1-128)
userstringIdentificador de usuario para seguimiento

OpenAI Advanced Features

ParámetroTipoDescripción
modalitiesarray["text", "audio"] para multimodal
audioobjetoConfiguración de salida de audio (voz, formato)
predictionobjectSalida predicha para una finalizació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_tokensintegerSalida máxima (hasta 128000)
systemstring/arrayPrompt del sistema
streambooleanHabilitar transmisión

Llamada de herramientas

{
  "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

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

Parámetros de Responses API

Parámetros principales

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

Parámetros avanzados

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

Formato de herramientas

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

// Anthropic format (Cursor compatibility)
{ "name": "fn", "input_schema": {...} }

Parámetros de Gemini API

Parámetros principales

ParámetroTipoDescripción
contentsarrayContenido de la conversación
systemInstructionobjetoPrompt del sistema
generationConfigobjetoConfiguración de generación

Tools

{
  "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 al contenido almacenado en caché
responseMimeTypestring"text/plain" or "application/json"
responseSchemaobjectEsquema JSON para salida estructurada

Streaming

Todos los endpoints soportan Server-Sent Events (SSE) para streaming:
# Chat Completions
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

# With usage tracking
-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"
  }
}
Consulta Guía de manejo de errores para más detalles.

Buenas prácticas

Todos los esquemas usan .passthrough() - los parámetros desconocidos se reenvían a los proveedores upstream.
Activa stream_options.include_usage para obtener recuentos de tokens precisos en las respuestas en streaming.
Haz coincidir el formato esperado por tu SDK. TokenLab acepta formatos de OpenAI y Anthropic.