Texto
Crear mensaje
Crea un mensaje usando el formato de la API de Anthropic Messages
Resumen
Este endpoint proporciona compatibilidad nativa con la API de Anthropic Messages. Use esto para los modelos Claude con funciones como extended thinking.
Este endpoint conserva el contrato nativo de Anthropic. messages debe ser un arreglo de mensajes user / assistant, system va en el campo superior system, y max_tokens es obligatorio. Si tu payload usa roles de OpenAI como system, developer o tool dentro de messages, envíalo a /v1/chat/completions.
URL base para el SDK de Anthropic: https://api.tokenlab.sh (sin el sufijo /v1)
Encabezados de la solicitud
Su clave API de TokenLab. Envíe x-api-key o Authorization: Bearer <API_KEY>.
Versión de la API de Anthropic. Use 2023-06-01.
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.
ID de un modelo compatible con el formato anthropic_messages. Consulte sus capacidades actuales en los detalles del modelo.
Array de objetos de mensaje con role y content.
Número máximo de tokens a generar.
Prompt del sistema como cadena o array de bloques de contenido, separado del array messages.
Temperatura de muestreo. La compatibilidad, los valores permitidos y el valor predeterminado dependen del modelo seleccionado. Omita este campo para usar su valor predeterminado.
falseHabilita respuestas en streaming.
Configuración nativa de thinking. Los modos, presupuestos y combinaciones con otros parámetros compatibles dependen del modelo seleccionado.
Herramientas disponibles para el modelo.
Objeto nativo de selección de herramientas, por ejemplo {"type":"auto"}. Los tipos compatibles dependen del modelo seleccionado.
Parámetro de nucleus sampling. Use temperatura o top_p, no ambos.
Muestrea solo entre las K opciones principales para cada token.
Secuencias de parada personalizadas que harán que el modelo deje de generar.
Metadatos para adjuntar a la solicitud con fines de seguimiento.
Respuesta
Identificador único del mensaje.
Siempre message.
Siempre assistant.
Array de bloques de contenido, como text, thinking o tool_use.
Modelo utilizado.
Motivo por el que se detuvo la generación, como end_turn, max_tokens, stop_sequence o tool_use.
Uso de tokens con input_tokens y output_tokens.
Solicitud
curl -X POST "https://api.tokenlab.sh/v1/messages" \
-H "x-api-key: sk-your-api-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "Hello, Claude!"}
]
}'Respuesta
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! How can I help you today?"
}
],
"model": "claude-sonnet-5",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 15,
"output_tokens": 10
}
}Ejemplo de entrada de visión
Para los modelos Claude con soporte de visión, coloque las imágenes dentro de messages[].content como bloques de imagen estructurados.
{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Please describe this image."
},
{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/demo.jpg"
}
}
]
}
]
}{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Please describe this image."
},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}Ejemplo de Extended Thinking
Establezca TOKENLAB_THINKING_MODEL en un modelo que admita thinking manual con type: "enabled" y budget_tokens. Ajuste ambos presupuestos de tokens a los límites de ese modelo. Otros modelos pueden requerir una configuración de thinking distinta.
import os
from anthropic import Anthropic
client = Anthropic(
api_key="sk-your-api-key",
base_url="https://api.tokenlab.sh"
)
message = client.messages.create(
model=os.environ["TOKENLAB_THINKING_MODEL"],
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[{"role": "user", "content": "Solve this math problem..."}]
)
for block in message.content:
if block.type == "thinking":
print(f"Thinking: {block.thinking}")
elif block.type == "text":
print(f"Response: {block.text}")Lotes de mensajes de Anthropic
TokenLab ahora expone el flujo nativo de Anthropic Message Batches junto con /v1/messages.
Rutas disponibles:
POST /v1/messages/batchesGET /v1/messages/batchesGET /v1/messages/batches/:message_batch_idGET /v1/messages/batches/:message_batch_id/resultsPOST /v1/messages/batches/:message_batch_id/cancelDELETE /v1/messages/batches/:message_batch_id
Notas operativas:
- Usa la misma API key de TokenLab junto con los encabezados nativos de Anthropic.
- Si los elementos del batch hacen referencia a
file_id, añade tambiénanthropic-beta: files-api-2025-04-14. - Los batch jobs conservan la forma nativa de solicitud/respuesta de Anthropic mientras TokenLab sigue internamente su ciclo de liquidación.
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