API/messages
Giao thức Messages, dùng cho hội thoại, gọi công cụ và streaming SSE. Claude Code gọi endpoint này khi ANTHROPIC_BASE_URL trỏ tới Framewharf.
https://api.ltnproxy.com/v1/messagesAuthorization: Bearer sk-your_api_keyXác thực bằng Authorization: Bearer hoặc x-api-key. Gửi kèm header anthropic-version, ví dụ 2023-06-01. Bắt buộc có max_tokens.
curl "https://api.ltnproxy.com/v1/messages" \
-H "Authorization: Bearer sk-your_api_key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Kiểm tra kết nối tới Framewharf."}]
}'Với stream: true, phản hồi được trả về dưới dạng message_start, content_block_delta và message_stop.
curl --no-buffer "https://api.ltnproxy.com/v1/messages" \
-H "Authorization: Bearer sk-your_api_key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"max_tokens": 1024,
"stream": true,
"messages": [{"role": "user", "content": "Viết một lời chào ngắn."}]
}'Messages đặt system prompt trong một trường system riêng, nằm ngoài mảng messages.
{
"model": "gpt-6.1-sol",
"max_tokens": 1024,
"system": "Bạn là trợ lý kỹ thuật. Trả lời ngắn gọn.",
"messages": [{ "role": "user", "content": "Giải thích SSE trong một câu." }]
}Dùng POST /v1/messages/count_tokens để đếm token đầu vào mà không chạy mô hình và không tốn credit.