OpenAI API (ChatGPT API) qua một API key trả trước
Đổi hai chỗ trong code là gọi được GPT: Base URL thành https://api.relayswitch.io/v1 và API key thành key RelaySwitch; SDK OpenAI dùng nguyên như cũ. Catalog đang có 19 model GPT, nhận cả Chat Completions lẫn Responses, tính tiền theo token từ số dư trả trước.
01OpenAI API, ChatGPT API, GPT API là một
Ba cái tên "OpenAI API", "ChatGPT API" và "GPT API" chỉ cùng một bộ API. Dùng trực tiếp thì bạn mở tài khoản trên nền tảng của OpenAI, trả tiền cho OpenAI và gọi bằng key của OpenAI. Qua relay thì đoạn đó được thay: bạn trả trước cho RelaySwitch, nhận key của RelaySwitch, request đi tới gateway và gateway chuyển tới model.
Với code của bạn chỉ có hai thứ đổi là Base URL và key. Request body, id model, streaming và tool call giữ nguyên, nên client hay framework nào cho điền Base URL cũng dùng được. Cùng key đó còn gọi được Claude, Gemini và các model khác trong catalog: đổi model là đổi giá trị của trường model.
Bộ API này có hai kiểu gọi. Chat Completions (/chat/completions) là kiểu mà phần lớn code và công cụ có sẵn đang dùng. Responses (/responses) là kiểu mới hơn của OpenAI. Ở đây cả hai dùng chung một key, một số dư và cùng một mức giá.
02Request đầu tiên bằng curl
Thử bằng curl trước để xác nhận key và địa chỉ, rồi mới đưa vào SDK. Key gửi trong header Authorization: Bearer. Nhận về mã 200 kèm một đoạn JSON là cả hai đều đúng; trường usage trong câu trả lời ghi số token, khớp với biên nhận của request đó.
curl https://api.relayswitch.io/v1/chat/completions \ -H "Authorization: Bearer sk-relay-..." \ -H "content-type: application/json" \ -d '{"model": "gpt-6.1-sol", "messages": [{"role": "user", "content": "Reply with ok"}]}'03SDK OpenAI trong Python: chỉ đổi base_url
Truyền base_url và api_key khi tạo client, phần còn lại của code không đổi. Base URL có /v1 ở cuối; SDK tự ghép /chat/completions vào sau. Nếu không muốn sửa code, đặt hai biến môi trường OPENAI_BASE_URL và OPENAI_API_KEY: SDK chính thức của OpenAI đọc hai biến này khi bạn không truyền tham số.
Muốn streaming thì đặt stream thành true; response trả về dạng server-sent events, cùng cấu trúc với OpenAI. Cách điền vào từng công cụ thì mỗi nơi một khác: xem trang Cursor cho editor và trang Codex cho Codex CLI.
from openai import OpenAI client = OpenAI(base_url="https://api.relayswitch.io/v1", api_key="sk-relay-...")reply = client.chat.completions.create( model="gpt-6.1-sol", messages=[{"role": "user", "content": "Reply with ok"}],)print(reply.choices[0].message.content)04Responses API trên cùng một key
Route /responses nhận cùng key và cùng Base URL. Code viết mới dùng kiểu nào cũng được; code có sẵn và đa số công cụ bên thứ ba dùng Chat Completions, còn Codex CLI chỉ dùng Responses. Lệnh dưới là một request Responses tối thiểu; -i in thêm dòng trạng thái và header của response, trong đó có request id.
curl -i https://api.relayswitch.io/v1/responses \ -H "Authorization: Bearer sk-relay-..." \ -H "content-type: application/json" \ -d '{"model": "gpt-6.1-sol", "input": "Reply with ok"}'05OpenAI API pricing: giá các model GPT
Bảng dưới là 19 model GPT đang có trong catalog, tính bằng USD cho mỗi triệu token và đọc trực tiếp khi trang được dựng. Tiền tính theo token, với đơn giá input, cached input và output riêng cho từng model. Giá trong bảng là giá trừ vào số dư; cách tính chi tiết có ở trang bảng giá.
| Model | Nhà phát triển | Input | Output | Context |
|---|---|---|---|---|
| GPT-6.1 Solgpt-6.1-sol | OpenAI | $0.582 | $2.91 | 1,050,000 |
| GPT-6 Lunagpt-6-luna | OpenAI | $0.0625 | $0.20 | 1,050,000 |
| GPT-6 Solgpt-6-sol | OpenAI | $0.60 | $3.00 | 1,050,000 |
| GPT-6 Astragpt-6-astra | OpenAI | $3.00 | $15.00 | 1,050,000 |
| GPT-5.6 Lunagpt-5.6-luna | OpenAI | $0.12 | $0.72 | 1,050,000 |
| GPT-5.6 Solgpt-5.6-sol | OpenAI | $1.20 | $3.00 | 1,050,000 |
| GPT-5.6 Terragpt-5.6-terra | OpenAI | $1.20 | $3.60 | 1,050,000 |
| GPT-5.5gpt-5.5 | OpenAI | $1.80 | $9.00 | 1,050,000 |
| GPT-5.4 Minigpt-5.4-mini | OpenAI | $0.75 | $4.50 | 400,000 |
| GPT-5.4gpt-5.4 | OpenAI | $1.50 | $9.00 | 1,050,000 |
| GPT-5.3-Codexgpt-5.3-codex | OpenAI | $1.75 | $14.00 | 400,000 |
| GPT-4o minigpt-4o-mini | OpenAI | $0.15 | $0.60 | 128,000 |
| GPT-4ogpt-4o | OpenAI | $2.50 | $10.00 | 128,000 |
| GPT-4.1 Nanogpt-4.1-nano | OpenAI | $0.10 | $0.40 | 1,048,576 |
| GPT 5.4 Nanogpt-5.4-nano | OpenAI | $0.40 | $2.50 | 400,000 |
| GPT 5.6gpt-5.6 | OpenAI | $0.9412 | $4.7059 | 1,050,000 |
| GPT 6.1 Terragpt-6.1-terra | OpenAI | $0.2941 | $1.4706 | 1,000,000 |
| gpt-oss-120bgpt-oss-120b | OpenAI | $0.20 | $1.80 | |
| gpt-oss-20bgpt-oss-20b | OpenAI | $0.16 | $0.72 |
USD cho mỗi triệu token
06Lấy API key và nạp tiền
Ba bước, tất cả làm trong console. Số dư tính bằng USD, trừ theo số token thực dùng của từng request, không thuê bao và không hết hạn. Các khoản nạp không được hoàn lại, nên lần đầu hãy nạp mức thấp nhất, chạy thông lệnh curl ở trên rồi mới nạp thêm.
Mỗi key đặt riêng được ngân sách, trần chi tiêu, danh sách model và danh sách IP được phép. Cách đặt nằm ở trang Claude API key và áp dụng nguyên cho GPT, vì đó là cùng một key.
- Bước 1, mở tài khoản. Vào app.relayswitch.io, nhập email và đăng nhập bằng mã xác nhận gửi về hộp thư; đăng nhập bằng tài khoản Google hoặc GitHub cũng được. Không cần số điện thoại, không cần giấy tờ tùy thân, cũng không cần tài khoản OpenAI.
- Bước 2, nạp tiền. Chọn thẻ (kể cả Apple Pay, Google Pay) hoặc crypto (USDT, USDC, BTC, ETH, SOL); các mức nạp là $10, $25, $50, $100, $250, $500. Với crypto, trang thanh toán hiện địa chỉ và số tiền chính xác cho từng mạng; mạng xác nhận giao dịch là số dư được cộng, thường trong vài phút.
- Bước 3, tạo key. Đặt tên rồi bấm tạo. Key đầy đủ chỉ hiện đúng một lần, sau đó console chỉ còn hiện phần đầu, nên hãy lưu ngay vào trình quản lý mật khẩu.
07Bảng mã lỗi của OpenAI API qua relay
Nội dung lỗi giữ đúng cấu trúc lỗi của OpenAI. Các mã từ 401 đến 404 được trả về trước khi request tới model; 429, 502 và 503 không trả nội dung nào. Tất cả đều không bị tính tiền. Theo README của SDK OpenAI cho Python, SDK mặc định tự thử lại hai lần với các mã 408, 409, 429 và 5xx, nên một lỗi 429 hay 502 thoáng qua thường tự hết trước khi code của bạn thấy nó.
400 invalid_request | Request body không phải JSON object, thiếu trường model, hoặc một request mang hai key khác nhau. |
401 invalid_api_key | Thiếu key, key sai hoặc đã bị thu hồi. Kiểm tra header Authorization và biến OPENAI_API_KEY có đúng là key của RelaySwitch không. |
402 insufficient_balance | Hết số dư trả trước; nạp xong là chạy lại ngay. Tài khoản còn tiền nhưng key đã dùng hết ngân sách của nó thì mã lỗi là key_budget_exhausted. |
403 scope_denied, ip_not_allowed | Key hợp lệ nhưng danh sách model hoặc danh sách IP được phép của nó không cho request này. |
404 model_not_found | Id model không có trong catalog, thường do gõ sai hoặc dùng tên hiển thị. Base URL thiếu /v1 cũng trả về 404. |
429 rate_limited | Key chạm giới hạn request mỗi phút, token mỗi phút hoặc số request đồng thời. Header retry-after cho biết số giây cần chờ. |
502 upstream_error, 503 upstream_unavailable | Tuyến phục vụ gặp lỗi, hoặc tạm thời không có tuyến nào của model trả lời. Thử lại sau hoặc đổi model. |
Câu hỏi thường gặp
- Mua ChatGPT API key ở đâu?
- Có hai thứ cùng được gọi là ChatGPT API key. Một là key chính thức của OpenAI, tạo trên nền tảng của OpenAI và trả trước cho OpenAI. Hai là key của một relay, trả trước cho relay đó. RelaySwitch cấp loại thứ hai: mở tài khoản bằng email, nạp từ $10 bằng thẻ hoặc crypto, tạo key bắt đầu bằng sk-relay- trong console; khi gọi bạn vẫn viết id model của GPT.
- Base URL của OpenAI API ở đây có cần /v1 không?
- Có. Base URL là https://api.relayswitch.io/v1; SDK tự ghép /chat/completions hoặc /responses vào sau. Điền tên miền không có /v1 sẽ nhận về 404.
- Nên dùng Chat Completions hay Responses?
- Cả hai đều được nhận trên cùng một key với cùng mức giá. Code có sẵn và phần lớn công cụ bên thứ ba dùng Chat Completions; Codex CLI chỉ dùng Responses. Code viết mới chọn kiểu nào cũng được, và muốn streaming thì đều đặt stream thành true.
- Làm sao biết model trả lời đúng là GPT?
- Mỗi model nhận cùng một prompt kiểm tra mỗi ngày, câu trả lời được so với các lần trước và kết quả công bố tại https://api.relayswitch.io/v1/proof, đọc được mà không cần key. Mỗi request còn có một biên nhận có chữ ký số (GET https://api.relayswitch.io/v1/requests/:id/receipt) ghi model, số token tính tiền và số tiền. Giá trong bảng là giá trừ vào số dư.
- Gặp lỗi 429 thì làm gì?
- Key đã vượt giới hạn request hoặc token mỗi phút của nó. Header retry-after cho biết cần chờ bao nhiêu giây; hoặc nâng giới hạn của key trong console. Giới hạn đặt theo từng key, không ảnh hưởng tới các key khác trong tài khoản.
- Nạp tiền cho OpenAI API ở đây bằng cách nào?
- Bấm Top up trong console rồi chọn thẻ (kể cả Apple Pay, Google Pay) hoặc crypto: USDT, USDC, BTC, ETH, SOL. Các mức nạp là $10, $25, $50, $100, $250, $500. Số dư tính bằng USD, không hết hạn, không thuê bao. Khoản nạp không được hoàn lại nên lần đầu nên nạp mức thấp nhất.
Đổi một dòng base_url, gọi GPT
Base URL https://api.relayswitch.io/v1, model GPT tính theo giá trong catalog, mỗi model được kiểm tra công khai mỗi ngày.