Đổi một dòng: base URL và API key
OpenAI SDK ghép base URL với đường dẫn của từng API; mặc định base URL là https://api.openai.com/v1. Chuyển sang STEYG Code là đổi hai tham số khi tạo client: base URL https://steyg.one/api/v1 và API key STEYG Code. Lời gọi chat.completions.create, streaming và cách đọc kết quả giữ nguyên.
Đặt key vào biến môi trường STEYG_CODE_API_KEY, đừng dán key vào code hay file trong repository. Mã dưới dùng model id lấy từ danh mục đang bán lúc tải trang.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://steyg.one/api/v1",
api_key=os.environ["STEYG_CODE_API_KEY"],
)
response = client.chat.completions.create(
model="gpt-6-luna",
max_tokens=256,
messages=[{"role": "user", "content": "Viết hàm Python đảo ngược một chuỗi"}],
)
print(response.choices[0].message.content)Cùng việc đó trong TypeScript
Gói openai trên npm nhận baseURL và apiKey khi tạo client; phần còn lại giống code gọi OpenAI. Truyền baseURL tường minh như dưới là cách chắc chắn nhất, kể cả khi chương trình chạy ở nơi không đọc được biến của shell.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://steyg.one/api/v1",
apiKey: process.env.STEYG_CODE_API_KEY,
});
const response = await client.chat.completions.create({
model: "gpt-6-luna",
max_tokens: 256,
messages: [{ role: "user", content: "Viết hàm TypeScript đảo ngược một chuỗi" }],
});
console.log(response.choices[0]?.message?.content);Không muốn sửa code: đặt biến môi trường
SDK Python đọc OPENAI_BASE_URL và OPENAI_API_KEY khi bạn không truyền base_url và api_key lúc tạo client. Thứ tự ưu tiên là tham số truyền vào, rồi biến môi trường, rồi địa chỉ mặc định của OpenAI, nên code có sẵn chuyển sang STEYG Code mà không đổi dòng nào:
- Đặt
OPENAI_BASE_URLbằnghttps://steyg.one/api/v1. - Đặt
OPENAI_API_KEYbằng API key STEYG Code, ví dụ chép từ biếnSTEYG_CODE_API_KEYnếu bạn đã đặt nó. - Tên
OPENAI_API_BASEtrong nhiều hướng dẫn cũ thuộc SDK trước bản 1.0; SDK hiện tại không đọc biến này, nên đặt nó không đổi được địa chỉ. - Biến môi trường áp cho mọi client trong cùng tiến trình. Nếu chương trình còn gọi thẳng OpenAI ở chỗ khác, hãy truyền
base_urlcho từng client thay vì đặt biến chung.
Chọn model: một key cho GPT, Claude và các họ khác
Mọi model trong danh mục đi qua cùng endpoint và cùng key; đổi model là đổi một trường model. Danh sách id mà key của bạn gọi được có ở GET /api/v1/models, gọi ngay bằng SDK qua client.models.list().
max_tokens không bắt buộc, như OpenAI API; đặt nó khi muốn giới hạn chi phí tối đa của mỗi request. Bảng dưới đọc từ hệ thống bán hàng mỗi lần trang được tải: đơn giá USD cho 1 triệu token input, cache hit và output của từng model đang bán.
| Model | Input | Cache hit | Output | 1M output ≈ VND |
|---|---|---|---|---|
| Claude Opus 5.5claude-opus-5-5 | $0.80 | $0.20 | $20.00 | 29.700đ → 15.000đ |
| Deepseek V4.1 Flashdeepseek-v4.1-flash | $0.15 | $0.003 | $0.60 | 891đ → 450đ |
| GLM 5.3glm-5.3 | $1.40 | $0.26 | $4.40 | 6.534đ → 3.300đ |
| GLM 5.3 Flashglm-5.3-flash | $0.15 | $0.03 | $0.50 | 743đ → 375đ |
| GPT 6 Astragpt-6-astra | $10.00 | $1.00 | $50.00 | 74.250đ → 37.500đ |
| GPT 6 Lunagpt-6-luna | $0.10 | $0.01 | $0.50 | 743đ → 375đ |
| GPT 6.1 Solgpt-6.1-sol | $2.00 | $0.10 | $10.00 | 14.850đ → 7.500đ |
| Qwen3.8 Flashqwen3.8-flash | $0.15 | $0.016 | $0.47 | 698đ → 353đ |
Lỗi hay gặp khi đổi base URL
Phần lớn lỗi lúc chuyển nằm ở cấu hình chứ không ở code:
- 404 kèm một trang HTML: base URL thiếu
/v1. SDK nối/chat/completionsvào sau base URL, nên phải làhttps://steyg.one/api/v1, không phảihttps://steyg.one/api(địa chỉ đó dành cho Claude Code). - 401 “Invalid API key”: key sai, đã bị xoá, hoặc biến môi trường chưa có trong tiến trình đang chạy; biến đặt ở một terminal không sang được terminal khác hay dịch vụ chạy nền.
- 400 “Requested model
…is not available in STEYG Code”: model id không có trong danh mục; lỗi nêu đúng id đã gửi, đối chiếu vớiGET /api/v1/models. - 402: ngân sách đã hết. Gateway dừng thay vì tính vượt; mua thêm ngân sách hoặc nâng gói, key giữ nguyên.
Trước khi đưa vào production
Vài điểm nên biết khi thay endpoint trong ứng dụng thật:
- Request chạy đúng model bạn chỉ định hoặc trả lỗi; gateway không âm thầm đổi sang model khác.
- Sổ ghi request chỉ có số token, chi phí, model và độ trễ, không lưu nội dung prompt hay response (chính sách bảo mật).
- Uptime từng model được đo độc lập và công khai tại trang tình trạng hệ thống.
- Dùng coding agent thay vì code riêng: xem cấu hình Cursor, Cline, Claude Code và cấu hình Codex CLI.
- Tài khoản mới có $5 ngân sách dùng thử trong 7 ngày, không cần thẻ; khi cần thêm, mua gói bằng VND qua chuyển khoản (bảng gói ở bài mua API bằng VND).