Bỏ qua tới nội dung
RexAPFTài liệuMở RexAPF Web
Tài liệuAPITham chiếu
API

Messages (định dạng Anthropic)

Gọi model qua POST /v1/messages theo định dạng Anthropic Messages, dùng được với Anthropic SDK và Claude Code.

3 phút đọc
Trên trang này
  1. Thông tin endpoint
  2. Gửi yêu cầu
  3. Chuẩn bị khoá
  4. Chọn model
  5. Gửi yêu cầu
  6. Xem kết quả trên bảng điều khiển
  7. Stream phản hồi
  8. Đếm token
  9. Dùng với Claude Code
  10. Lỗi thường gặp
  11. Liên quan

Endpoint POST /v1/messages nhận yêu cầu theo định dạng Anthropic Messages. Gateway tự chuyển đổi định dạng, nên bạn có thể gọi cả model không thuộc Anthropic bằng cùng cú pháp này.

Thông tin endpoint

MụcGiá trị
URLhttps://rexapf.com/v1/messages
Phương thứcPOST
Xác thựcx-api-key: <khoá API> hoặc Authorization: Bearer <khoá API>
Content-Typeapplication/json

Các trường thường dùng: model, max_tokens, messages, và tuỳ chọn system, stream.

Base URL cho Anthropic SDK

Anthropic SDK tự thêm /v1/messages vào sau Base URL. Vì vậy hãy đặt Base URL là https://rexapf.com, không kèm /v1. Đây là địa chỉ hiện ở mục Messages API trong thẻ API Endpoints trên trang Tổng quan.

Gửi yêu cầu

  1. Chuẩn bị khoá

    Tạo khoá ở Khoá API và đặt vào biến môi trường.

    bash
    $ export REXAPF_API_KEY="sk_9r_..."
  2. Chọn model

    Sao chép ID model ở API Gateway › Model. Xem Model & bảng giá.

  3. Gửi yêu cầu

    $ curl https://rexapf.com/v1/messages \
      -H "x-api-key: $REXAPF_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "<model-id>",
        "max_tokens": 1024,
        "system": "Bạn là trợ lý ngắn gọn.",
        "messages": [{"role": "user", "content": "Tóm tắt HTTP/2 trong 3 ý."}]
      }'
  4. Xem kết quả trên bảng điều khiển

    Mở API Gateway › Sử dụng › Lịch sử để xem token và chi phí của yêu cầu.

Stream phản hồi

Đặt "stream": true để nhận sự kiện SSE theo định dạng Anthropic.

TypeScript
const stream = client.messages.stream({
  model: "<model-id>",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Viết một bài haiku về mưa." }],
});

for await (const event of stream) {
  if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
    process.stdout.write(event.delta.text);
  }
}

Đếm token

Endpoint POST /v1/messages/count_tokens trả về input_tokens cho phần messages bạn gửi.

bash
$ curl https://rexapf.com/v1/messages/count_tokens \
  -H "Content-Type: application/json" \
  -d '{"model": "<model-id>", "messages": [{"role": "user", "content": "Xin chào"}]}'
Chỉ là ước tính

Số input_tokens được ước lượng theo độ dài văn bản (khoảng 4 ký tự một token), không phải số token thật mà model tính phí. Dùng để ước chừng, không dùng để đối soát chi phí.

Dùng với Claude Code

Claude Code gọi endpoint Messages. Bạn chỉ cần đặt ANTHROPIC_BASE_URL và ANTHROPIC_AUTH_TOKEN:

$ export ANTHROPIC_BASE_URL="https://rexapf.com/v1"
$ export ANTHROPIC_AUTH_TOKEN="sk_9r_..."

Hướng dẫn đầy đủ, kèm lệnh cấu hình một dòng, ở Claude Code.

Lỗi thường gặp

MãKhi nào
401Thiếu khoá, khoá sai hoặc đã thu hồi
402Hết hạn gói và hết credit
403Model ngoài gói (model_not_allowed) hoặc tài khoản bị khoá
429Hết ngân sách cửa sổ hoặc chạm giới hạn chi tiêu

Chi tiết ở Mã lỗi & giới hạn.

Liên quan

Trang này có hữu ích không?Cập nhật 22/10/2026