AI cho người mớiHướng dẫn
API tương thích OpenAI: base_url là gì và cách chuyển đổi
Một API tương thích OpenAI chấp nhận các yêu cầu giống như của OpenAI. Thay đổi base_url, key và model id, và mã của bạn gửi yêu cầu đầu tiên tới CheapTokens.

Trên trang này
Một API tương thích OpenAI là API chấp nhận các yêu cầu theo cùng định dạng với Chat Completions API của OpenAI và trả lời theo cùng định dạng. Để chuyển một ứng dụng sang nhà cung cấp khác, bạn thường chỉ cần thay đổi ba giá trị: base_url (nơi gửi yêu cầu), API key và model id. Phần còn lại của mã, bao gồm danh sách tin nhắn và cách bạn đọc câu trả lời, giữ nguyên.
Hướng dẫn này giải thích ý tưởng bằng ngôn ngữ đơn giản và kết thúc bằng một yêu cầu đầu tiên chạy được tới CheapTokens bằng Python và curl. Thông tin về CheapTokens đã được đối chiếu với tài liệu của nó vào ngày 22 tháng 10 năm 2026.
"Tương thích OpenAI" nghĩa là gì?#
Một API là một tập hợp các quy tắc để giao tiếp với một dịch vụ qua internet (nếu từ này còn mới, hãy bắt đầu với cách yêu cầu API đầu tiên của bạn hoạt động). Định dạng chat của OpenAI đã trở thành một chuẩn chung: nhiều nhà cung cấp và công cụ chấp nhận cùng một request body và trả về cùng một cấu trúc response. Một API như vậy được gọi là tương thích OpenAI.
Trên thực tế, điều đó có nghĩa là ba thứ giống nhau trên bất kỳ nhà cung cấp tương thích nào:
- Yêu cầu: một JSON body với trường
modelvà danh sáchmessages, trong đó mỗi tin nhắn có mộtrole(system,userhoặcassistant) vàcontent. - Đường dẫn endpoint:
/, được thêm sau base URL.chat/ completions - Phản hồi: một đối tượng JSON trong đó văn bản được tạo nằm trong
choices[0]..message. content
Vì định dạng được chia sẻ, các SDK chính thức và nhiều ứng dụng có thể giao tiếp với bất kỳ nhà cung cấp tương thích nào. Chúng chỉ cần biết nơi gửi yêu cầu.
base_url là gì?#
base_url là địa chỉ mà mọi yêu cầu bắt đầu bằng nó. Một SDK xây dựng địa chỉ đầy đủ bằng cách thêm đường dẫn của lệnh gọi vào đó.
Cuộn bảng sang phải →
| Phần | Ví dụ |
|---|---|
base_url |
https:/ |
| Đường dẫn do SDK thêm vào | / |
| Địa chỉ đầy đủ của yêu cầu | https:/ |
Vì vậy, khi bạn đặt một base_url khác, cùng một đoạn mã sẽ gửi cùng loại yêu cầu tới một máy chủ khác. Base URL của CheapTokens là https:/. API của nó tương thích với OpenAI Chat Completions và với Anthropic Messages, và một số dư trả trước bao phủ tất cả các model.
Ba giá trị bạn thay đổi#
Cuộn bảng sang phải →
| Giá trị | Nó là gì | Nó đến từ đâu |
|---|---|---|
base_url |
Địa chỉ của API | https:/ |
| API key | Mật khẩu bí mật của bạn cho API | Tài khoản CheapTokens của bạn. Xem API key là gì và cách lưu trữ an toàn |
| Model id | Tên chính xác của model trong trường model |
Tài liệu CheapTokens |
Model id đáng được chú ý. Các nhà cung cấp khác nhau đặt cho cùng một model những id khác nhau, vì vậy một id từ dịch vụ khác sẽ không hoạt động ở đây. Hãy lấy id từ tài liệu CheapTokens. Các id hiện có:
Cuộn bảng sang phải →
| Model | Model id | Context | Đầu ra tối đa mỗi câu trả lời |
|---|---|---|---|
| GLM-5.3-Flash | zai- |
390K | 8.192 token |
| DeepSeek-V4-Flash | deepseek- |
380K | 32.768 token |
| MiniMax-M2.7 | MiniMaxAI/ |
180K | 8.192 token |
DeepSeek-V4-Flash trả về tối đa 32.768 token mỗi câu trả lời và có context 380K; GLM-5.3-Flash có context 390K; MiniMax-M2.7 có context 180K. Cả ba đều được tính phí từ cùng một số dư, vì vậy chuyển đổi giữa chúng chỉ có nghĩa là thay đổi model id.
Yêu cầu đầu tiên bằng Python#
Cài đặt gói openai, sau đó lưu key của bạn trong một biến môi trường thay vì viết nó vào mã:
pip install openai
export CHEAPTOKENS_API_KEY="YOUR_CHEAPTOKENS_KEY"Bây giờ là mã. Điểm khác biệt duy nhất so với một ví dụ OpenAI tiêu chuẩn là đối số base_url, key và model id:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1", # 1. where requests go
api_key=os.environ["CHEAPTOKENS_API_KEY"], # 2. your CheapTokens key
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7", # 3. model id from the docs
messages=[
{"role": "system", "content": "You answer briefly."},
{"role": "user", "content": "Explain base_url in one sentence."},
],
)
print(response.choices[0].message.content)Key trong ví dụ là một placeholder: thay YOUR_ bằng key của riêng bạn và không bao giờ commit một key thật vào repository.
Nếu một ứng dụng bạn đã có đọc cài đặt từ tệp cấu hình hoặc biến môi trường, bạn không cần chỉnh sửa mã của nó chút nào. Hãy tìm các trường có tên base URL, API base hoặc endpoint, và điền ba giá trị giống nhau vào đó.
Cùng yêu cầu đó với curl#
curl cho thấy những gì SDK làm ở hậu trường: base URL cộng với đường dẫn, key trong header Authorization, và một JSON body.
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "Explain base_url in one sentence."}
]
}'Những gì bạn nên thấy#
Khi mọi thứ được thiết lập đúng, script Python in ra một câu trả lời văn bản ngắn, và curl in ra một đối tượng JSON. Hãy tìm danh sách choices: văn bản của câu trả lời nằm trong choices[0].. Nếu bạn thấy điều đó, yêu cầu đầu tiên của bạn tới CheapTokens đã thành công, và bạn có thể chuyển sang ứng dụng thực tế của mình.
Chi phí là bao nhiêu?#
Tính phí theo token, được đếm riêng cho đầu vào và đầu ra (xem token đầu vào so với đầu ra). Ví dụ, MiniMax-M2.7 hiện có giá $0.05 cho mỗi 1M token đầu vào và $0.15 cho mỗi 1M token đầu ra. Bảng dưới đây luôn hiển thị giá hiện tại cho tất cả các model, không có phụ phí giờ cao điểm.
| Mô hình | Ngữ cảnh | Đầu vào $/1M | Đầu ra $/1M | OpenRouter vào | OpenRouter ra |
|---|---|---|---|---|---|
| GLM-5.3-Flash reasoning | 390K | $0.02 | $0.04 | $0.0413 | $0.0758 |
| DeepSeek-V4-Flash | 380K | $0.015 | $0.10 | $0.0475 | $0.1568 |
| MiniMax-M2.7 | 180K | $0.05 | $0.15 | $0.30 | $1.20 |
Giá tính bằng USD cho mỗi 1 triệu token. Các số liệu của OpenRouter được hiển thị để so sánh và có thể thay đổi.
Giá cho danh sách đầy đủ các model cũng có trên trang giá CheapTokens.
Nếu nó không hoạt động#
- Lỗi xác thực (thường là 401): key bị thiếu, gõ sai hoặc có khoảng trắng thừa. Kiểm tra rằng biến môi trường được đặt trong cùng terminal nơi bạn chạy script.
- "Not found" (thường là 404): kiểm tra
base_url. Nó phải kết thúc bằng/v1, và bạn không nên tự thêm/khi dùng SDK, nếu không đường dẫn sẽ bị nhân đôi.chat/ completions - Model không xác định: sao chép model id chính xác từ bảng trên hoặc từ tài liệu, bao gồm cả chữ hoa và phần trước dấu gạch chéo.
- Không kết nối được hoặc timeout: xem các lỗi kết nối phổ biến và cách khắc phục.
- Câu trả lời bị cắt giữa câu: đã đạt giới hạn
max_tokens, được đề cập trong tại sao câu trả lời của AI dừng giữa câu.
Các bước tiếp theo#
Khi yêu cầu đầu tiên hoạt động, bạn có thể thêm streaming trong Python, cắm cùng ba giá trị đó vào trình soạn thảo hoặc agent của bạn, hoặc đọc cách đọc tên model AI. Chi tiết thiết lập và danh sách đầy đủ các model có trong tài liệu CheapTokens.



