Texto
Criar Mensagem
Cria uma mensagem usando o formato da Anthropic Messages API
Visão geral
Este endpoint fornece compatibilidade nativa com a Anthropic Messages API. Use isto para modelos Claude com recursos como pensamento estendido.
Este endpoint mantém o contrato nativo da Anthropic. messages deve ser um array de mensagens user / assistant, system fica no campo de nível superior system, e max_tokens é obrigatório. Se o payload usar papéis da OpenAI como system, developer ou tool dentro de messages, envie para /v1/chat/completions.
URL base para o SDK da Anthropic: https://api.tokenlab.sh (sem o sufixo /v1)
Cabeçalhos da requisição
Sua chave de API TokenLab. Envie x-api-key ou Authorization: Bearer <API_KEY>.
Versão da API da Anthropic. Use 2023-06-01.
Corpo da requisição
Os parâmetros opcionais compatíveis, os valores permitidos e os valores padrão dependem do modelo selecionado. Consulte os detalhes do modelo antes de configurar opções de amostragem, raciocínio ou ferramentas.
ID de um modelo compatível com o formato anthropic_messages. Consulte os detalhes do modelo para ver os recursos atuais.
Array de objetos de mensagem com role e content.
Máximo de tokens a gerar.
Prompt do sistema como string ou array de blocos de conteúdo, separado do array messages.
Temperatura de amostragem. O suporte, os valores permitidos e o valor padrão dependem do modelo selecionado. Omita este campo para usar o padrão do modelo.
falseHabilita respostas em streaming.
Configuração nativa de thinking. Os modos, orçamentos e combinações com outros parâmetros compatíveis dependem do modelo selecionado.
Ferramentas disponíveis para o modelo.
Objeto nativo de escolha de ferramentas, por exemplo {"type":"auto"}. Os tipos compatíveis dependem do modelo selecionado.
Parâmetro de nucleus sampling. Use temperatura ou top_p, não ambos.
Faz sampling apenas das K principais opções para cada token.
Sequências de parada personalizadas que farão o modelo parar de gerar.
Metadados para anexar à requisição para fins de rastreamento.
Resposta
Identificador único da mensagem.
Sempre message.
Sempre assistant.
Array de blocos de conteúdo, como text, thinking ou tool_use.
Modelo usado.
Motivo pelo qual a geração parou, como end_turn, max_tokens, stop_sequence ou tool_use.
Uso de tokens com input_tokens e output_tokens.
Requisição
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!"}
]
}'Resposta
{
"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
}
}Exemplo de Entrada de Visão
Para modelos Claude com suporte a visão, coloque imagens dentro de messages[].content como blocos de imagem estruturados.
{
"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..."
}
}
]
}
]
}Exemplo de pensamento estendido
Defina TOKENLAB_THINKING_MODEL como um modelo que suporte thinking manual com type: "enabled" e budget_tokens. Ajuste os dois orçamentos de tokens aos limites desse modelo. Outros modelos podem exigir uma configuração de thinking diferente.
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 mensagens da Anthropic
O TokenLab agora expõe o fluxo nativo de Anthropic Message Batches junto com /v1/messages.
Rotas disponíveis:
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 operacionais:
- Use a mesma chave de API do TokenLab junto com os cabeçalhos nativos da Anthropic.
- Se os itens do batch fizerem referência a
file_id, inclua tambémanthropic-beta: files-api-2025-04-14. - Os batch jobs mantêm o formato nativo de requisição/resposta da Anthropic, enquanto o TokenLab acompanha internamente o ciclo de liquidação.
Autorização
BearerAuth Autenticação por Chave de API. Crie ou gerencie chaves de API em Dashboard > API > API Keys.
Local: header
Cabeçalhos
Política de entrega por solicitação. Substitui os padrões da API key e do Workspace. Tenta automaticamente o TokenLab Verified primeiro e pode alternar uma vez para Official apenas antes da saída, aceitação da solicitação ou criação de recurso persistente.
Valores permitidos
- "auto"
- "verified"
- "official"
Corpo da requisição
application/json
Resposta
application/json
application/json
application/json
application/json
application/json
application/json