Skip to content

Định dạng tương thích OpenAI của Claude

Fast-Token hỗ trợ gọi các mô hình Anthropic Claude qua giao thức API OpenAI. Nếu bạn đã có ứng dụng dùng OpenAI SDK hoặc /v1/chat/completions, thường chỉ cần đổi base_urlmodel để kết nối Claude, không cần viết lại sang API Messages gốc của Anthropic.

Trang này tập trung vào hướng dẫn sử dụng. Về body request, trường response và gỡ lỗi trực tuyến từng endpoint, xem tài liệu ChatGPT và các liên kết trong bảng năng lực bên dưới.

Hai cách tích hợp

So sánhĐịnh dạng tương thích OpenAI (trang này)API Claude gốc (tài liệu khác trong thư mục)
Đường dẫn điển hìnhPOST /v1/chat/completionsPOST /v1/messages
Body requestTrường OpenAI như messages, model, streamTrường Anthropic như messages, system, thinking
Phù hợp khiĐã có client OpenAI, cổng đa mô hình, di chuyển nhanhTính năng riêng Claude (ngân sách suy nghĩ mở rộng, Tool Use, PDF, tìm kiếm web, v.v.)
Tài liệuTrang này + nhóm Trò chuyệnTrang API trong nhóm Trò chuyện của thư mục

Hai cách dùng chung API Key và URL cổng. Thanh toán theo mô hình tương ứng trên chợ mô hình.

Cấu hình

Cổng và xác thực

  • Base URL: https://fast-token.com/v1 (giống Bắt đầu nhanh)
  • Xác thực: header Authorization: Bearer <Fast-Token_API_KEY>
  • Tên mô hình: sao chép ID có claude từ chợ mô hình vào trường model

Dùng OpenAI SDK (khuyến nghị)

Trỏ base_url của SDK chính thức tới Fast-Token; phần còn lại giống OpenAI:

python
from openai import OpenAI

client = OpenAI(
    base_url="https://fast-token.com/v1",
    api_key="<Fast-Token_API_KEY>",
)

completion = client.chat.completions.create(
    model="claude-sonnet-4-20250514",  # theo chợ mô hình
    messages=[
        {"role": "user", "content": "用一句话介绍你自己"},
    ],
)
print(completion.choices[0].message.content)
javascript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://fast-token.com/v1",
  apiKey: "<Fast-Token_API_KEY>",
});

const completion = await client.chat.completions.create({
  model: "claude-sonnet-4-20250514",
  messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(completion.choices[0].message.content);

Đặt stream: true cho hội thoại luồng. Xem Tạo hoàn thành trò chuyện (luồng).

Tổng quan năng lực định dạng chat tương thích

Các năng lực sau đều qua đường tương thích OpenAI. Trên console hoặc Apifox thường được gom là 「định dạng tương thích chat」. Thực tế chủ yếu cùng POST /v1/chat/completions, phân biệt theo mô hình, luồngcấu trúc tin nhắn.

Năng lựcMô tảTham khảo
Tạo trò chuyện suy nghĩHội thoại có quá trình «suy nghĩ» của mô hìnhLuồng (extra_body.enable_thinking)
Tạo hoàn thành trò chuyện (luồng)Chat văn bản đa lượt chuẩn, SSETạo hoàn thành trò chuyện (luồng)
Tạo hoàn thành trò chuyện (không luồng)Chat văn bản đa lượt, trả một lầnTạo hoàn thành trò chuyện (không luồng)
Tạo nhận diện hình ảnh chat (luồng)Tải ảnh để hiểu, mô tả hoặc hỏi đápTạo nhận diện hình ảnh chat (luồng)
Tạo nhận diện hình ảnh chat (không luồng)Nhận diện ảnh, phản hồi đầy đủ không luồngTạo nhận diện hình ảnh chat (không luồng)

Chọn mô hình

ID mô hình cho từng kịch bản lấy từ chợ mô hình. Thử mô hình Claude có claude trong tên và ghi hỗ trợ chat / nhận diện ảnh / suy nghĩ tương ứng. Nếu báo «không tìm thấy mô hình» hoặc không hỗ trợ, đổi sang mục Claude khác cùng kịch bản.

Ghi chú theo kịch bản

Chat chuẩn (luồng / không luồng)

Vai trò system

Định dạng OpenAI: prompt hệ thống trong messages với role: "system". API Claude gốc thường dùng trường system cấp cao; xem Tạo hoàn thành trò chuyện (luồng).

Chế độ suy nghĩ

Một số mô hình Claude suy nghĩ bật đầu ra suy nghĩ trong request luồng qua trường mở rộng:

json
{
  "model": "claude-sonnet-4-20250514",
  "messages": [{ "role": "user", "content": "逐步推导:为什么天空是蓝色的?" }],
  "stream": true,
  "extra_body": {
    "enable_thinking": true
  }
}
  • Cách hiển thị suy nghĩ ở định dạng tương thích phụ thuộc cổng và mô hình; chọn Claude hỗ trợ «suy nghĩ» trên chợ mô hình
  • Để kiểm soát chính xác ngân sách token suy nghĩ (thinking.budget_tokens) và tách khối suy nghĩ / nội dung, dùng API gốc Tạo trò chuyện suy nghĩ mở rộng (POST /v1/messages)

Nhận diện hình ảnh (thị giác)

Trong content tin user, dùng mảng đa phương thức: text + image_url (URL hoặc Base64).

json
{
  "model": "claude-sonnet-4-20250514",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "描述这张图片中的主要内容" },
        {
          "type": "image_url",
          "image_url": { "url": "https://example.com/photo.jpg" }
        }
      ]
    }
  ],
  "stream": true
}

Chọn định dạng tương thích OpenAI hay API Claude gốc

Nhu cầuKhuyến nghị
Tích hợp nhanh, tái sử dụng OpenAI SDK / code hiện cóĐịnh dạng tương thích OpenAI (trang này)
Suy nghĩ mở rộng, budget_tokens, cấu trúc SSE khối suy nghĩAPI gốcTạo trò chuyện suy nghĩ mở rộng
Tool Use / gọi hàmAPI gốcTạo gọi hàm (luồng)
Đầu ra có cấu trúc (JSON Schema)API gốcTạo đầu ra có cấu trúc
PDF, tìm kiếm webAPI gốcHỗ trợ PDF, Tìm kiếm web
Chỉ cần chat + nhận diện ảnh + suy nghĩ với client OpenAIĐịnh dạng tương thích OpenAI đủ cho luồng chính

Câu hỏi thường gặp

H: Sao không giống hệt tài liệu OpenAI chính thức?
Đ: Lớp tương thích căn request/response theo OpenAI, bên dưới chạy Claude. Một số tham số chỉ của OpenAI có thể bị bỏ qua; dựa vào hỗ trợ thực tế của mô hình.

H: model điền gì?
Đ: ID đầy đủ trên chợ mô hình (thường có claude). Không dùng tên rút gọn hoặc lỗi thời.

H: Dùng được Python SDK chính thức của Anthropic không?
Đ: SDK đó mặc định nhắm POST /v1/messages. Nếu giữ SDK đó, xem tài liệu API gốc trong thư mục; OpenAI SDK dùng cho trang này.

H: Định dạng phản hồi luồng?
Đ: SSE, dòng data: {...} và kết thúc data: [DONE], giống OpenAI streaming Chat Completions. Xem Đối tượng khối hoàn thành trò chuyện.

H: Cấu trúc JSON phản hồi đầy đủ?
Đ: Đối tượng hoàn thành trò chuyện. API Messages gốc: Đối tượng hoàn thành trò chuyện (định dạng Anthropic).

Đọc thêm