Vì sao dùng một key thay vì đăng ký từng hãng?
Nếu bạn làm freelancer ở TP.HCM hay một nhóm nhỏ ở Hà Nội, rất hay gặp cảnh: viết content thì thích Claude, làm chatbot cho shop online thì dùng GPT, xử lý nhiều dữ liệu thì muốn thử DeepSeek cho rẻ. Mỗi hãng một tài khoản, một cách thanh toán bằng USD, một trang quản lý chi phí riêng. Cuối tháng cộng lại mới biết mình đã tiêu bao nhiêu.
Với MaCloud AI, bạn chỉ có một tài khoản và một số dư. Mọi mô hình trên trang mô hình đều gọi bằng cùng một API key. Gọi mô hình nào thì trừ tiền theo giá của mô hình đó, tính theo số token thực tế. Không dùng thì không mất đồng nào.
Các bước bắt đầu
- Đăng ký bằng email hoặc tài khoản Google. Lần đăng nhập đầu tiên sẽ tự tạo tài khoản, không cần thẻ.
- Vào bảng điều khiển. Tài khoản mới đã xác minh email sẽ nhận một khoản dùng thử nhỏ ở lần vào đầu tiên.
- Muốn dùng nhiều hơn, vào Nạp tiền (/console/topup), nhập số tiền (tối thiểu 72.000 ₫) và chọn phương thức thanh toán đang mở trên trang. Nếu chưa thanh toán được, hãy liên hệ bộ phận hỗ trợ.
- Vào API Key (/console/keys), bấm Tạo Key, đặt tên (ví dụ
shop-chatbot) rồi sao chép keysk-.... - Trong code hoặc công cụ của bạn, đổi base URL thành
https://api.macloudai.com/v1(chuẩn OpenAI) hoặchttps://api.macloudai.com(chuẩn Anthropic) và dán key vào. - Điền tham số
modelbằng tên mô hình lấy đúng từ trang mô hình.
Trong bảng điều khiển, menu bên trái có Tổng quan, Nạp tiền, API Key và Mức dùng. Key chỉ hiện đầy đủ lúc vừa tạo, hãy sao chép và cất ngay. Nếu làm mất, xóa key cũ và tạo key mới.
Code mẫu: Python, Node.js và curl
MaCloud AI tương thích chuẩn OpenAI, nên bạn dùng luôn thư viện openai chính thức. Cài bằng pip install openai hoặc npm install openai, đặt key vào biến môi trường MACLOUD_API_KEY rồi chạy:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.macloudai.com/v1",
api_key=os.environ["MACLOUD_API_KEY"],
)
r = client.chat.completions.create(
model="tt-6-luna",
messages=[{"role": "user", "content": "Viết 3 câu mô tả áo thun cotton cho shop online ở TP.HCM."}],
)
print(r.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.macloudai.com/v1",
apiKey: process.env.MACLOUD_API_KEY,
});
const r = await client.chat.completions.create({
model: "tt-6-luna",
messages: [{ role: "user", content: "Viết 3 câu mô tả áo thun cotton cho shop online ở TP.HCM." }],
});
console.log(r.choices[0].message.content);
curl https://api.macloudai.com/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{"model": "tt-6-luna", "messages": [{"role": "user", "content": "Xin chào"}]}'
File Node.js dùng await ở cấp ngoài cùng, nên lưu thành .mjs (ví dụ test.mjs) rồi chạy node test.mjs. Muốn nhận chữ chạy dần như ChatGPT, thêm stream=True (Python) hoặc stream: true (Node).
Đổi mô hình chỉ bằng tên
Key, base URL và code giữ nguyên. Bạn chỉ sửa một dòng model:
| Muốn dùng | Giá trị model | Gợi ý dùng cho |
|---|---|---|
| Claude | hk-5-5 | Viết dài, sửa văn, lập trình |
| GPT | tt-6-luna | Chatbot, việc đa năng hằng ngày |
| Gemini | gem-3.8-flash | Tài liệu dài, việc cần xử lý nhiều |
| DeepSeek | deepseek-v4.1-flash | Việc số lượng lớn, cần tiết kiệm |
Mô hình Claude cũng gọi được qua chuẩn OpenAI ở trên. Nếu bạn đang dùng SDK anthropic, đặt base_url là https://api.macloudai.com (không có /v1):
import os
import anthropic
client = anthropic.Anthropic(base_url="https://api.macloudai.com", api_key=os.environ["MACLOUD_API_KEY"])
r = client.messages.create(
model="hk-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Tóm tắt giúp tôi đoạn văn này trong 3 ý."}],
)
print(r.content[0].text)
Tiền được trừ thế nào?
Mỗi lần gọi, hệ thống đếm token đầu vào (câu hỏi, lịch sử chat, tài liệu bạn gửi) và token đầu ra (câu trả lời), nhân với giá của mô hình rồi trừ vào số dư. Giá tính cho mỗi 1 triệu token, đầu vào và đầu ra tính riêng, hiển thị bằng đồng:
Giá thực tế hiện tại
Ước tính theo giá ở trang mô hình: mỗi lượt chat 2.000 token input và 500 token output. Số tiền trừ thực tế xem trong bảng điều khiển.
| Mô hình | Mỗi lượt chat | 1.000 lượt chat |
|---|---|---|
| GEM 3.8 Flash | 6 ₫ | 6.307 ₫ |
| TT-6 Luna | 15 ₫ | 15.140 ₫ |
| TT-6.1 Terra | 10 ₫ | 10.333 ₫ |
| HK-5.5 | 5 ₫ | 4.960 ₫ |
| GEM 4 Argon | 120 ₫ | 120.427 ₫ |
| TT-6.1 Sol | 21 ₫ | 20.665 ₫ |
Số dư không hết hạn khi tài khoản còn hoạt động. Hết số dư thì yêu cầu bị từ chối, nạp thêm là dùng tiếp ngay. Chi tiết từng lần gọi (mô hình, token vào, token ra, chi phí) xem ở Mức dùng. Cách tính chi tiết có trong bài chi phí API tính theo token.
Gặp lỗi thì xem ở đâu?
401: key sai, đã bị tắt hoặc đã bị xóa. Kiểm tra lại key trong mục API Key.403: không đủ số dư, hoặc key này không được dùng mô hình đó. Nạp thêm hoặc đổi mô hình.404: tên mô hình sai. Sao chép đúng tên từ trang mô hình.429: gửi yêu cầu quá nhanh. Đợi một chút rồi thử lại.5xx: mô hình phía trên tạm lỗi. Thử lại sau ít phút.
Giữ key an toàn
- Không để key trong code frontend (chạy trên trình duyệt) hay repo công khai. Ai có key là dùng được số dư của bạn.
- Mỗi dự án một key riêng, đặt tên dễ nhận ra. Key nào lộ thì xóa riêng key đó.
- Nội dung hội thoại không được lưu; hệ thống chỉ ghi số token, tên mô hình và thời gian để tính phí.
Muốn dùng trong Cursor, Cherry Studio hay LobeChat, xem tài liệu tích hợp. Muốn chat trên web mà không viết code, vào /chat.