Tổng quan
Base URL là https://quotax.sh. Gửi khóa qua header
Authorization: Bearer qtx-… hoặc
x-api-key: qtx-…. Tạo khóa trong
bảng điều khiển.
| Endpoint | Mô tả |
|---|---|
| POST/v1/messages | Anthropic Messages (stream và không stream) |
| POST/v1/messages/count_tokens | Đếm token theo chuẩn Anthropic |
| POST/v1/chat/completions | OpenAI Chat Completions |
| POST/v1/responses | OpenAI Responses (dùng cho Codex) |
| GET/v1/models | Danh sách mô hình khóa của bạn được dùng |
Xem id mô hình ở trang Mô hình. Khóa miễn phí chỉ gọi được mô hình giá 0 ₫ hoặc đang khuyến mãi.
Claude Code
Đặt hai biến môi trường rồi chạy claude như bình thường. Mọi mô hình trong danh mục đều dùng được, kể cả mô hình không phải của Anthropic.
export ANTHROPIC_BASE_URL=https://quotax.sh
export ANTHROPIC_AUTH_TOKEN=qtx-khoa-cua-ban
# Tùy chọn: mô hình mặc định
export ANTHROPIC_MODEL=claude-sonnet-5.5
claude Muốn cấu hình lâu dài, thêm vào ~/.claude/settings.json. Biến CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY cho phép lệnh /model liệt kê mô hình từ quotax.sh.
{
"env": {
"ANTHROPIC_BASE_URL": "https://quotax.sh",
"ANTHROPIC_AUTH_TOKEN": "qtx-khoa-cua-ban",
"ANTHROPIC_MODEL": "claude-sonnet-5.5",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
} Codex CLI
Codex chỉ dùng Responses API. Khai báo quotax.sh là một provider với wire_api = "responses":
model = "gpt-5.5-mini"
model_provider = "quotax"
[model_providers.quotax]
name = "quotax.sh"
base_url = "https://quotax.sh/v1"
env_key = "QUOTAX_API_KEY"
wire_api = "responses" export QUOTAX_API_KEY=qtx-khoa-cua-ban
codex
# hoặc chọn mô hình khác cho một phiên
codex --model deepseek-v4.1-flash OpenAI SDK
Trỏ base_url về https://quotax.sh/v1. Cả Chat Completions và Responses đều được hỗ trợ.
from openai import OpenAI
client = OpenAI(
base_url="https://quotax.sh/v1",
api_key="qtx-khoa-cua-ban",
)
# Chat Completions
chat = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Xin chào! Giới thiệu ngắn về Hà Nội."}],
)
print(chat.choices[0].message.content)
# Responses API
resp = client.responses.create(model="gpt-5.5-mini", input="Viết một câu đố vui về lập trình.")
print(resp.output_text) import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://quotax.sh/v1",
apiKey: process.env.QUOTAX_API_KEY,
});
const stream = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [{ role: "user", content: "Tóm tắt Truyện Kiều trong 3 câu." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
} Anthropic SDK
Với SDK Anthropic, base URL là https://quotax.sh (không có /v1).
import anthropic
client = anthropic.Anthropic(
base_url="https://quotax.sh",
api_key="qtx-khoa-cua-ban",
)
message = client.messages.create(
model="claude-sonnet-5.5",
max_tokens=1024,
messages=[{"role": "user", "content": "Giải thích goroutine bằng tiếng Việt."}],
)
print(message.content[0].text) import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://quotax.sh",
apiKey: process.env.QUOTAX_API_KEY,
});
const stream = client.messages.stream({
model: "deepseek-v4.1-flash",
max_tokens: 1024,
messages: [{ role: "user", content: "Viết hàm debounce bằng TypeScript." }],
});
stream.on("text", (text) => process.stdout.write(text));
await stream.finalMessage(); curl
curl https://quotax.sh/v1/messages \
-H "x-api-key: $QUOTAX_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"max_tokens": 512,
"messages": [{"role": "user", "content": "Xin chào"}]
}' curl https://quotax.sh/v1/chat/completions \
-H "Authorization: Bearer $QUOTAX_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "glm-5.3-flash",
"messages": [{"role": "user", "content": "Xin chào"}],
"stream": true
}' curl https://quotax.sh/v1/responses \
-H "Authorization: Bearer $QUOTAX_API_KEY" \
-H "content-type: application/json" \
-d '{"model": "gpt-5.5-mini", "input": "Xin chào"}' curl https://quotax.sh/v1/models -H "Authorization: Bearer $QUOTAX_API_KEY" Lỗi & giới hạn
Lỗi được trả theo đúng định dạng của giao thức bạn gọi (Anthropic hoặc OpenAI). Hạn mức ngày tính theo giờ Việt Nam.
Khóa API sai, đã bị xóa hoặc đang tắt.
Kiểm tra lại khóa trong trang Khóa API.
model_not_in_plan: mô hình không thuộc gói của khóa (ví dụ khóa miễn phí gọi mô hình trả phí).
Dùng mô hình đang miễn phí hoặc tạo khóa trả theo token.
Vượt giới hạn request/phút, số request đồng thời hoặc hạn mức trong ngày của khóa.
Đọc header retry-after, giảm tải hoặc mua gói theo ngày.
Request không hợp lệ, mô hình không tồn tại hoặc nội dung quá dài.
Sửa request; lỗi được trả theo đúng định dạng giao thức bạn dùng.
Mọi nguồn cung cấp của mô hình đều lỗi sau các lần thử lại.
Thử lại sau ít phút hoặc đổi sang mô hình khác.
Khóa trả theo token cần đủ số dư ví cho chi phí tối đa ước tính của request. Hãy nạp thêm nếu request bị từ chối vì số dư.