Texto

Crear una completación de chat

Crea una completación para el mensaje de chat

POST
/v1/chat/completions

Cuerpo de la solicitud

Los parámetros opcionales compatibles, sus valores permitidos y sus valores predeterminados dependen del modelo seleccionado. Consulte los detalles del modelo antes de configurar opciones de muestreo, razonamiento o herramientas.

modelstringobligatorio

ID del modelo a usar. Consulte Models para las opciones disponibles.

messagesarrayobligatorio

Una lista de mensajes que componen la conversación.

Cada objeto de mensaje contiene:

  • role (string): system, developer, user, assistant, tool, function
  • content (string | array | null): El contenido del mensaje

En un mensaje assistant que contenga tool_calls, se puede omitir content o establecerlo en null.

Cuando content es un array, TokenLab admite bloques multimodales estructurados para modelos compatibles:

  • text: { "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, use URL https de acceso público. Los tipos de medios compatibles dependen del modelo seleccionado.

temperaturenumber

Temperatura de muestreo. La compatibilidad, los valores permitidos y el valor predeterminado dependen del modelo seleccionado. Omita este campo para usar su valor predeterminado.

max_tokensinteger

Número máximo de tokens a generar.

streambooleanpredeterminado: false

Si es true, se enviarán deltas parciales del mensaje como eventos SSE.

stream_optionsobject

Opciones para streaming. Establezca include_usage: true para recibir el uso de tokens en fragmentos de la transmisión.

top_pnumber

Parámetro de muestreo Nucleus. Recomendamos alterar esto o la temperatura, no ambos.

frequency_penaltynumber

Número entre -2.0 y 2.0. Los valores positivos penalizan tokens repetidos.

presence_penaltynumber

Número entre -2.0 y 2.0. Los valores positivos penalizan tokens que ya están en el texto.

stopstring | array

Secuencia de parada o lista de secuencias. La compatibilidad y el límite de secuencias dependen del modelo seleccionado.

toolsarray

Una lista de herramientas que el modelo puede invocar (llamado de funciones).

tool_choicestring | object

Controla cómo el modelo usa las herramientas. Opciones: auto, none, required, o un objeto de herramienta específico.

parallel_tool_callsboolean

Permite varias llamadas a herramientas en un mismo turno del asistente, si el modelo seleccionado lo admite.

max_completion_tokensinteger

Tokens máximos para la completación. Alternativa a max_tokens, útil para familias de modelos más nuevas con capacidad de razonamiento.

reasoning_effortstring

Esfuerzo de razonamiento para modelos compatibles. Los valores permitidos dependen del modelo seleccionado.

seedinteger

Semilla de muestreo para modelos compatibles. No se garantiza una salida idéntica.

ninteger

Número de completaciones a generar (1-128).

logprobsboolean

Si se deben retornar las probabilidades logarítmicas.

top_logprobsinteger

Número de probabilidades logarítmicas superiores a retornar (0-20). Requiere logprobs: true.

top_kinteger

Muestreo Top-K para modelos compatibles.

response_formatobject

Formato de respuesta. Use {"type": "json_object"} para el modo JSON o {"type": "json_schema", "json_schema": {...}} para un esquema JSON. La compatibilidad depende del modelo seleccionado.

logit_biasobject

Modifica la probabilidad de aparición de tokens especificados. Mapee IDs de tokens (como strings) a valores de sesgo de -100 a 100.

userstring

Un identificador único que representa a su usuario final para la monitorización de abuso.

Respuesta

idstring

Identificador único para la completación.

objectstring

Siempre chat.completion.

createdinteger

Marca de tiempo Unix de cuando se creó la completación.

modelstring

El modelo usado para la completación.

choicesarray

Lista de opciones de completación.

Cada opción contiene:

  • index (integer): Índice de la opción
  • message (object): El mensaje generado
  • finish_reason (string): Motivo por el que se detuvo el modelo, por ejemplo stop, length o tool_calls
usageobject

Estadísticas de uso de tokens.

  • prompt_tokens (integer): Tokens en el prompt
  • completion_tokens (integer): Tokens en la completación
  • total_tokens (integer): Tokens totales utilizados

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

Response
{
  "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
AuthorizationBearer <token>

Autenticación con API Key. Cree o gestione API keys en Dashboard > API > API Keys.

Ubicación: header

Encabezados

X-TokenLab-Delivery-Policy?string

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