Texto
Crear Chat Completion
Crea una finalización para el mensaje de chat
Cuerpo de la solicitud
Los parámetros opcionales admitidos, los valores aceptados y los valores predeterminados dependen del modelo seleccionado. Consulta los detalles del modelo antes de configurar las opciones de muestreo, razonamiento o herramientas.
ID del modelo a utilizar. Consulta Modelos para ver las opciones disponibles.
Una lista de mensajes que componen la conversación.
Cada objeto de mensaje contiene:
role(string):system,developer,user,assistant,tool,functioncontent(string | array | null): El contenido del mensaje
Para un mensaje de assistant que contenga tool_calls, el content puede omitirse o establecerse como null.
Cuando content es un array, TokenLab admite bloques multimodales estructurados para modelos compatibles:
- texto:
{ "type": "text", "text": "..." } - imagen:
{ "type": "image_url", "image_url": { "url": "https://..." } } - video:
{ "type": "video_url", "video_url": { "url": "https://..." } } - audio:
{ "type": "audio_url", "audio_url": { "url": "https://..." } }
Para entradas multimodales, utiliza URLs https accesibles públicamente. Los tipos de medios admitidos dependen del modelo seleccionado.
Temperatura de muestreo. La compatibilidad, los valores permitidos y el valor predeterminado dependen del modelo seleccionado; omite este campo para usar su valor predeterminado.
Número máximo de tokens a generar.
falseSi es true, los deltas de mensajes parciales se enviarán como eventos SSE.
Opciones para el streaming. Establece include_usage: true para recibir el uso de tokens en los fragmentos del stream.
Parámetro de muestreo Nucleus. Recomendamos alterar este parámetro o la temperatura, pero no ambos.
Número entre -2.0 y 2.0. Los valores positivos penalizan los tokens repetidos.
Número entre -2.0 y 2.0. Los valores positivos penalizan los tokens que ya están en el texto.
Secuencia de parada o lista de secuencias. La compatibilidad y los límites de secuencia dependen del modelo seleccionado.
Una lista de herramientas que el modelo puede llamar (llamada a funciones).
Controla cómo el modelo utiliza las herramientas. Opciones: auto, none, required, o un objeto de herramienta específico.
Permite múltiples llamadas a herramientas en un mismo turno del asistente, cuando el modelo seleccionado lo admite.
Tokens máximos para la finalización. Alternativa a max_tokens, útil para familias de modelos más recientes con capacidad de razonamiento.
Esfuerzo de razonamiento para los modelos que lo admiten. Los valores aceptados dependen del modelo seleccionado.
Para los modelos Claude, el valor establece el pensamiento del modelo: un nivel de esfuerzo en modelos con pensamiento adaptativo, o un presupuesto de pensamiento en modelos que utilizan uno. none desactiva el pensamiento en los modelos que lo permiten. Mientras el pensamiento está activado, Claude rechaza una temperature distinta de 1, top_k, un top_p fuera del rango 0.95–1 y un mensaje de asistente prellenado. Un tool_choice forzado funciona con el pensamiento adaptativo pero no con un presupuesto de pensamiento.
Opciones para los modelos Claude.
prompt_caching(boolean): Establecetruepara almacenar en caché el inicio del prompt. TokenLab marca el final del prompt del sistema y el último mensaje del usuario como puntos de caché. Una solicitud posterior que comience con el mismo contenido lo leerá desde la caché. Si algún mensaje ya tienecache_control, TokenLab no añade puntos de caché.prompt_caching_ttl(string):5m(predeterminado) o1h. Si la ruta de servicio no admite una hora, TokenLab utiliza cinco minutos y no rechaza la solicitud.
extra.prompt_caching y extra.prompt_caching_ttl se aceptan como las mismas opciones. Consulta Almacenamiento en caché de prompts para conocer los precios y cómo verificar los tokens almacenados en caché.
Semilla de muestreo para los modelos que la admiten. No se garantiza una salida idéntica.
Número de finalizaciones a generar (1-128).
Indica si se deben devolver las probabilidades logarítmicas.
Número de probabilidades logarítmicas principales a devolver (0-20). Requiere logprobs: true.
Muestreo Top-K para los modelos que lo admiten.
Formato de respuesta. Utiliza {"type": "json_object"} para el modo JSON o {"type": "json_schema", "json_schema": {...}} para un esquema JSON. La compatibilidad depende del modelo seleccionado.
Modifica la probabilidad de que aparezcan tokens específicos. Asocia IDs de tokens (como strings) a valores de sesgo de -100 a 100.
Un identificador único que representa a tu usuario final para el monitoreo de abusos.
Respuesta
Identificador único para la finalización.
Siempre chat.completion.
Marca de tiempo Unix de cuándo se creó la finalización.
El modelo utilizado para la finalización.
Lista de opciones de finalización.
Cada opción contiene:
index(integer): Índice de la opciónmessage(object): El mensaje generadofinish_reason(string): Por qué se detuvo el modelo, por ejemplostop,lengthotool_calls
Cuando el modelo piensa, message también puede contener:
reasoning_content(string): El texto de pensamiento. Algunos modelos devuelven solo un resumen o ningún texto.reasoning_details(array): Bloques de pensamiento con sus firmas. Para continuar una conversación con pensamiento, por ejemplo después de una llamada a una herramienta, envíalos de vuelta sin cambios en el mensaje del asistente.
En un stream, los mismos campos llegan como delta.reasoning_content y delta.reasoning_details.
Estadísticas de uso de tokens.
prompt_tokens(integer): Tokens en el promptcompletion_tokens(integer): Tokens en la finalización, incluyendo tokens de pensamientototal_tokens(integer): Total de tokens utilizadoscompletion_tokens_details.reasoning_tokens(integer): Tokens de pensamiento, cuando el modelo los reporta
Solicitud
curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"max_tokens": 1000
}'Ejemplo multimodal
{
"model": "gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Describe this video briefly." },
{ "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
]
}
],
"max_tokens": 64
}Respuesta
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1706000000,
"model": "gpt-5.6-terra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 9,
"total_tokens": 29
}
}Autorización
BearerAuth Autenticación con API Key. Cree o gestione API keys en Dashboard > API > API Keys.
Ubicación: header
Encabezados
Política de entrega por solicitud. Sustituye los valores predeterminados de la API key y del Workspace. Auto intenta primero con TokenLab Verified y puede cambiar una vez a Official solo antes de la salida, la aceptación de la solicitud o la creación de recursos persistentes.
Valores permitidos
- "auto"
- "verified"
- "official"
Cuerpo de la solicitud
application/json
Respuesta
application/json
application/json
application/json
application/json
application/json
application/json
application/json