Teks
Buat Message
Membuat sebuah message menggunakan format Anthropic Messages API
Ringkasan
Endpoint ini menyediakan kompatibilitas native dengan Anthropic Messages API. Gunakan ini untuk model Claude dengan fitur seperti extended thinking.
Endpoint ini tetap mengikuti kontrak native Anthropic. messages harus berupa array pesan user / assistant, system berada pada field top-level system, dan max_tokens wajib dikirim. Jika payload menggunakan role OpenAI seperti system, developer, atau tool di dalam messages, kirim ke /v1/chat/completions.
Base URL untuk Anthropic SDK: https://api.tokenlab.sh (tanpa sufiks /v1)
Header Permintaan
API key TokenLab Anda. Kirim melalui x-api-key atau Authorization: Bearer <API_KEY>.
Versi Anthropic API. Gunakan 2023-06-01.
Body Permintaan
Parameter opsional yang didukung, nilai yang diizinkan, dan nilai default bergantung pada model yang dipilih. Periksa detail model sebelum menetapkan opsi sampling, penalaran, atau alat.
ID model yang mendukung format anthropic_messages. Periksa detail model untuk kemampuan saat ini.
Array objek message dengan role dan content.
Jumlah token maksimum yang akan dihasilkan.
Prompt sistem berupa string atau array blok konten, terpisah dari array messages.
Temperatur sampling. Dukungan, nilai yang diizinkan, dan nilai default bergantung pada model yang dipilih. Hilangkan kolom ini untuk menggunakan default model.
falseAktifkan respons streaming.
Konfigurasi thinking native. Mode, anggaran, dan kombinasi dengan parameter lain yang didukung bergantung pada model yang dipilih.
Tools yang tersedia untuk model.
Objek pilihan alat native, misalnya {"type":"auto"}. Jenis yang didukung bergantung pada model yang dipilih.
Parameter nucleus sampling. Gunakan temperature atau top_p, bukan keduanya.
Hanya ambil sampel dari K opsi teratas untuk setiap token.
Urutan stop kustom yang akan menyebabkan model berhenti menghasilkan.
Metadata yang dilampirkan ke permintaan untuk tujuan pelacakan.
Respons
Pengidentifikasi message yang unik.
Selalu message.
Selalu assistant.
Array blok konten, seperti text, thinking, atau tool_use.
Model yang digunakan.
Alasan pembuatan konten berhenti, seperti end_turn, max_tokens, stop_sequence, atau tool_use.
Penggunaan token dengan input_tokens dan output_tokens.
Permintaan
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!"}
]
}'Respons
{
"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
}
}Contoh Input Visual
Untuk model Claude dengan dukungan visi, letakkan gambar di dalam messages[].content sebagai blok gambar terstruktur.
{
"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..."
}
}
]
}
]
}Contoh Extended Thinking
Atur TOKENLAB_THINKING_MODEL ke model yang mendukung thinking manual dengan type: "enabled" dan budget_tokens. Sesuaikan kedua anggaran token dengan batas model tersebut. Model lain mungkin memerlukan konfigurasi thinking yang berbeda.
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 Batch Pesan
TokenLab kini juga menyediakan alur native Anthropic Message Batches di samping /v1/messages.
Rute yang tersedia:
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
Catatan operasional:
- Gunakan API key TokenLab yang sama bersama header native Anthropic.
- Jika item batch mereferensikan
file_id, sertakan jugaanthropic-beta: files-api-2025-04-14. - Batch job mempertahankan bentuk request/response native Anthropic, sementara TokenLab melacak status billing untuk rekonsiliasi.
Otorisasi
BearerAuth Autentikasi API Key. Buat atau kelola API key di Dashboard > API > API Keys.
Lokasi: header
Header
Kebijakan Pengiriman per-permintaan. Menggantikan default API key dan Workspace. Secara otomatis mencoba TokenLab Verified terlebih dahulu dan dapat beralih satu kali ke Official saja sebelum output, penerimaan permintaan, atau pembuatan sumber daya persisten.
Nilai yang tersedia
- "auto"
- "verified"
- "official"
Body permintaan
application/json
Respons
application/json
application/json
application/json
application/json
application/json
application/json