Tích hợp

Dùng OpenAI SDK với base URL riêng: đổi một dòng, giữ nguyên code Python và TypeScript

Trỏ OpenAI SDK (Python, TypeScript) sang API OpenAI-compatible của STEYG Code: đặt base_url và API key, dùng biến môi trường OPENAI_BASE_URL, chọn model id đang bán và xử lý các lỗi 404, 401, 400 hay gặp; trả bằng VND, không cần thẻ quốc tế.

6 phút

Đổ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.

Python (gói openai)
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)
Model id đọc từ danh mục đang bán lúc 02:04 20/10/2026: gpt-6-luna, model có giá output niêm yết thấp nhất của nhóm. So với code gọi OpenAI chỉ khác base URL và API key; key đọc từ biến môi trường STEYG_CODE_API_KEY.

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.

TypeScript (gói openai trên npm)
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);
Model id đọc từ danh mục đang bán lúc 02:04 20/10/2026: gpt-6-luna, model có giá output niêm yết thấp nhất của nhóm. So với code gọi OpenAI chỉ khác base URL và API key; key đọc từ biến môi trường STEYG_CODE_API_KEY.

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_URL bằng https://steyg.one/api/v1.
  • Đặt OPENAI_API_KEY bằng API key STEYG Code, ví dụ chép từ biến STEYG_CODE_API_KEY nếu bạn đã đặt nó.
  • Tên OPENAI_API_BASE trong 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_url cho 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.

ModelInputCache hitOutput1M output ≈ VND
Claude Opus 5.5claude-opus-5-5$0.80$0.20$20.0029.700đ → 15.000đ
Deepseek V4.1 Flashdeepseek-v4.1-flash$0.15$0.003$0.60891đ → 450đ
GLM 5.3glm-5.3$1.40$0.26$4.406.534đ → 3.300đ
GLM 5.3 Flashglm-5.3-flash$0.15$0.03$0.50743đ → 375đ
GPT 6 Astragpt-6-astra$10.00$1.00$50.0074.250đ → 37.500đ
GPT 6 Lunagpt-6-luna$0.10$0.01$0.50743đ → 375đ
GPT 6.1 Solgpt-6.1-sol$2.00$0.10$10.0014.850đ → 7.500đ
Qwen3.8 Flashqwen3.8-flash$0.15$0.016$0.47698đ → 353đ
Đọc từ bảng giá đang bán lúc 02:04 20/10/2026 (giờ Việt Nam). Đơn giá USD trên 1 triệu token, trừ thẳng vào ngân sách, giống nhau ở mọi gói. Cột cuối nhân đơn giá output với giá mỗi $1 của gói Starter (≈1.485đ) → gói Giga (≈750đ); trả thẳng nhà cung cấp là ≈25.000đ cho mỗi $1.

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/completions vào sau base URL, nên phải là https://steyg.one/api/v1, không phải https://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ới GET /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:

Tạo API key miễn phí

Tài khoản mới có $5 ngân sách dùng thử trong 7 ngày, không cần thẻ. Một key cho mọi coding agent.

Tạo API key miễn phí

Nội dung được Hộ kinh doanh Truyền thông & Công nghệ STEYG soát lần cuối 2026-10-19. Xem thêm tài liệu API.