텍스트
메시지 생성
Anthropic Messages API 형식을 사용하여 메시지를 생성합니다
개요
이 엔드포인트는 Anthropic Messages API와의 네이티브 호환성을 제공합니다. extended thinking과 같은 기능이 있는 Claude 모델에 이것을 사용하세요.
이 엔드포인트는 Anthropic 네이티브 계약을 유지합니다. messages는 user / assistant 메시지 배열이어야 하며, system은 최상위 system 필드에 두어야 하고 max_tokens는 필수입니다. payload가 messages 안에서 OpenAI 역할인 system, developer, tool을 사용한다면 /v1/chat/completions로 보내세요.
Anthropic SDK의 Base URL: https://api.tokenlab.sh (/v1 접미사 없음)
요청 헤더
TokenLab API 키입니다. x-api-key 또는 Authorization: Bearer <API_KEY> 중 하나로 전송하세요.
Anthropic API 버전입니다. 2023-06-01을 사용하세요.
요청 본문
선택 매개변수의 지원 여부, 허용 값, 기본값은 선택한 모델에 따라 다릅니다. 샘플링, 추론 또는 도구 옵션을 설정하기 전에 모델 상세 정보를 확인하세요.
anthropic_messages 형식을 지원하는 모델 ID입니다. 현재 기능은 모델 상세 정보에서 확인하세요.
role 및 content를 포함하는 메시지 객체의 배열입니다.
생성할 최대 token 수입니다.
문자열 또는 콘텐츠 블록 배열로 지정하는 시스템 프롬프트입니다. messages 배열과 별도로 지정합니다.
샘플링 온도입니다. 지원 여부, 허용 값, 기본값은 선택한 모델에 따라 다릅니다. 이 필드를 생략하면 모델 기본값을 사용합니다.
false스트리밍 응답을 활성화합니다.
네이티브 thinking 설정입니다. 지원하는 모드, 예산, 다른 매개변수와의 조합은 선택한 모델에 따라 다릅니다.
모델에서 사용할 수 있는 도구입니다.
{"type":"auto"}와 같은 네이티브 도구 선택 객체입니다. 지원하는 유형은 선택한 모델에 따라 다릅니다.
Nucleus sampling 파라미터입니다. temperature 또는 top_p 중 하나만 사용하고, 둘 다 사용하지 마세요.
각 token에 대해 상위 K개 옵션에서만 샘플링합니다.
모델이 생성을 중지하게 하는 사용자 지정 stop sequence입니다.
추적 목적으로 요청에 첨부할 metadata입니다.
응답
고유한 메시지 식별자입니다.
항상 message입니다.
항상 assistant입니다.
text, thinking, tool_use 등의 콘텐츠 블록 배열입니다.
사용된 모델입니다.
생성이 중지된 이유입니다. 예: end_turn, max_tokens, stop_sequence, tool_use.
input_tokens 및 output_tokens를 포함한 token 사용량입니다.
요청
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!"}
]
}'응답
{
"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
}
}비전 입력 예시
비전 지원이 있는 Claude 모델의 경우, 이미지를 구조화된 이미지 블록으로 messages[].content 안에 넣으세요.
{
"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..."
}
}
]
}
]
}Extended Thinking 예시
TOKENLAB_THINKING_MODEL을 type: "enabled"와 budget_tokens를 사용하는 수동 thinking 설정을 지원하는 모델로 설정하세요. 두 토큰 예산을 해당 모델의 제한에 맞게 조정하세요. 다른 모델에는 다른 thinking 설정이 필요할 수 있습니다.
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}")Anthropic 메시지 배치
TokenLab는 /v1/messages 와 함께 Anthropic Message Batches 네이티브 흐름도 제공합니다.
사용 가능한 라우트:
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
운영 메모:
- 동일한 TokenLab API key 와 Anthropic 네이티브 헤더를 사용하세요.
- batch item 이
file_id를 참조하는 경우anthropic-beta: files-api-2025-04-14도 함께 포함하세요. - Batch job 은 Anthropic 네이티브 요청/응답 형태를 유지하면서, TokenLab 가 내부 정산 수명주기를 추적합니다.
인증
BearerAuth API 키 인증입니다. Dashboard > API > API Keys에서 API 키를 생성하거나 관리하십시오.
위치: header
헤더
요청별 전송 정책입니다. API 키 및 Workspace 기본값을 재정의합니다. 자동으로 TokenLab Verified를 먼저 시도하며, 출력, 요청 수락 또는 영구 리소스 생성 전에 Official 전용으로 한 번 전환될 수 있습니다.
허용 값
- "auto"
- "verified"
- "official"
요청 본문
application/json
응답
application/json
application/json
application/json
application/json
application/json
application/json