Tài liệu

Bắt đầu nhanh.

quotax.sh nói chuẩn Anthropic và OpenAI. Đổi base URL, dùng khóa qtx-… là mọi công cụ quen thuộc chạy ngay.

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.

Các endpoint
EndpointMô 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.

Terminal
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.

~/.claude/settings.json
{
  "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":

~/.codex/config.toml
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"
Terminal
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ợ.

Python · pip install openai
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)
TypeScript · npm i openai
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).

Python · pip install anthropic
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)
TypeScript · npm i @anthropic-ai/sdk
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

Anthropic Messages
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"}]
  }'
OpenAI Chat Completions (stream)
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
  }'
OpenAI Responses
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"}'
Danh sách mô hình
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.

401

Khóa API sai, đã bị xóa hoặc đang tắt.

Kiểm tra lại khóa trong trang Khóa API.

403

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.

429

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.

400 · 404 · 413

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.

5xx

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ư.