API key Gemini: gọi Gemini API theo định dạng OpenAI
Key ở đây là key của RelaySwitch, không phải key tạo trong Google AI Studio: mở tài khoản bằng email, nạp số dư trả trước rồi gọi 21 model Gemini bằng SDK OpenAI. Trong code bạn điền Base URL https://api.relayswitch.io/v1, key sk-relay- và id của Gemini vào trường model.
01Gemini API key này khác gì key của Google AI Studio
Dùng Gemini API trực tiếp thì bạn cần một tài khoản Google, tạo key trong AI Studio và trả tiền theo cách tính của Google. 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 Gemini. Với code của bạn chỉ có địa chỉ và key là khác; id model vẫn là id của Gemini.
Tài khoản mở ở RelaySwitch bằng một địa chỉ email, key tạo trong console, và cùng key đó gọi được mọi model khác trong catalog. Một điều cần nói rõ: Gemini API của Google có tầng miễn phí giới hạn tốc độ cho một số model, còn ở đây không có tầng miễn phí; mỗi request trừ theo token vào số dư trả trước.
02Gọi Gemini theo định dạng OpenAI
Gemini có định dạng request riêng là generateContent, nhưng phần lớn công cụ và code có sẵn được viết theo Chat Completions của OpenAI. Chính Google cũng cung cấp một lớp tương thích OpenAI và ghi trong tài liệu rằng phần hỗ trợ này còn ở giai đoạn beta. Ở đây cũng vậy: id Gemini nào trong bảng giá cũng gọi được theo định dạng OpenAI, nên chuyển một đoạn code OpenAI sang Gemini chỉ cần đổi trường model.
Thử bằng curl trước để xác nhận key và địa chỉ, rồi mới đưa vào SDK.
curl https://api.relayswitch.io/v1/chat/completions \ -H "Authorization: Bearer sk-relay-..." \ -H "content-type: application/json" \ -d '{"model": "gemini-3.1-pro-preview", "messages": [{"role": "user", "content": "Reply with ok"}]}'03Python với SDK OpenAI cho Gemini
Chỉ đổi base_url, key và model. Base URL có /v1; SDK tự ghép /chat/completions vào sau. Muốn streaming thì đặt stream thành true, response trả về dạng server-sent events giống OpenAI.
Chọn model không cần đoán: mọi id Gemini nằm trên cùng một key, nên hãy gửi cùng một prompt tới từng id rồi so câu trả lời và số tiền trên biên nhận. Muốn đặt Gemini cạnh GPT hay Claude thì cũng chỉ đổi trường model; xem trang OpenAI API và Claude API.
from openai import OpenAI client = OpenAI(base_url="https://api.relayswitch.io/v1", api_key="sk-relay-...")reply = client.chat.completions.create( model="gemini-3.1-pro-preview", messages=[{"role": "user", "content": "Reply with ok"}],)print(reply.choices[0].message.content)04Chuyển từ endpoint tương thích OpenAI của Google
Nếu code của bạn viết theo tài liệu tương thích OpenAI của Google thì nó đã dùng SDK OpenAI rồi, và việc chuyển chỉ đụng tới ba chỗ dưới đây. Request body không phải sửa.
Riêng các trường chỉ Gemini mới có, mà tài liệu của Google truyền qua extra_body, thì trang này chưa kiểm chứng từng trường: nếu dùng tới, hãy thử một request trước rồi xem khoản tính tiền trên biên nhận có đúng như dự tính không.
base_url: đổi từ địa chỉ trong tài liệu của Google sanghttps://api.relayswitch.io/v1.api_key: đổi từ key của AI Studio sang keysk-relay-của RelaySwitch.model: đối chiếu lại id với bảng giá bên dưới và lấy theo id đang được liệt kê; viết sai sẽ nhận 404model_not_found.
05Định dạng gốc generateContent
Chương trình đã viết theo định dạng của Google thì không cần viết lại: gửi request tới route /v1beta/models/{model}:generateContent. Lưu ý route này nối thẳng sau tên miền https://api.relayswitch.io, không có /v1 đứng trước. Key đặt trong header x-goog-api-key, đừng ghi vào URL: key nằm trong query parameter sẽ bị gateway từ chối. Request body và response đều theo cấu trúc của Google, vào là contents, ra là candidates.
Lỗi cũng đi theo cấu trúc của từng định dạng. Với định dạng OpenAI, mã lỗi nằm trong error.code; với định dạng gốc là cách viết của Google, ví dụ thiếu key thì trả về 401 với error.status là UNAUTHENTICATED. Hai định dạng dùng chung một key, một số dư và cùng một mức giá.
06Gemini API pricing: giá từng model
Bảng dưới là 21 model Gemini đ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. Giá trong bảng là giá trừ vào số dư. Tên model có chữ preview là bản xem trước; Google sẽ đổi sang tên chính thức về sau, nên id ghi trong code phải lấy theo bảng tại thời điểm bạn đọc.
Gemini hay được dùng để đọc tài liệu dài: cả một hợp đồng, một kho code, bản ghi một cuộc họp. Chi phí của loại request này gần như nằm hết ở input, nên khi chọn model hãy xem giá input và độ dài context trước, giá output sau. Khi hỏi nhiều lần trên cùng một tài liệu, từ lần thứ hai phần lặp lại trúng cache và được tính theo giá cached input; biên nhận ghi riêng số token này.
| Model | Nhà phát triển | Input | Output | Context |
|---|---|---|---|---|
| Gemini 4 Argongemini-4-argon | $0.60 | $3.00 | 1,048,576 | |
| Gemini 3.8 Flashgemini-3.8-flash | $0.4925 | $2.25 | 1,048,576 | |
| Gemini 3.7 Flashgemini-3.7-flash | $0.4925 | $2.25 | 1,048,576 | |
| Gemini 3.5 Flash Litegemini-3.5-flash-lite | $0.225 | $1.875 | 1,048,576 | |
| Gemini 3.6 Flashgemini-3.6-flash | $0.4925 | $2.25 | 1,048,576 | |
| Gemini 3.5 Flashgemini-3.5-flash | $1.50 | $9.00 | 1,048,576 | |
| Gemini 3.1 Flash Lite Previewgemini-3.1-flash-lite-preview | $0.1875 | $1.125 | 1,048,576 | |
| Gemini 3.1 Pro Previewgemini-3.1-pro-preview | $1.20 | $7.20 | 1,048,576 | |
| Gemini 3.1 PRO Preview LOWgemini-3.1-pro-preview-low | $5.00 | $22.50 | 1,048,576 | |
| Gemini 3 Flash Previewgemini-3-flash-preview | $0.375 | $2.25 | 1,048,576 | |
| Gemini 2.5 Flashgemini-2.5-flash | $0.30 | $2.50 | 1,048,576 | |
| Gemini 2.5 Progemini-2.5-pro | $0.9375 | $7.50 | 1,048,576 | |
| Gemini 2.5 Flash Litegemini-2.5-flash-lite | $0.075 | $0.30 | ||
| Gemini 3 Pro Previewgemini-3-pro-preview | $5.00 | $22.50 | ||
| Gemini 3.1 Flash Litegemini-3.1-flash-lite | $0.15 | $0.90 | ||
| Gemini 3.1 PRO Preview Customtoolsgemini-3.1-pro-preview-customtools | $4.80 | $28.80 | 1,048,576 | |
| Gemini 4 Carbongemini-4-carbon | $2.3529 | $11.7647 | ||
| Gemini 4 Hydrogengemini-4-hydrogen | $0.5882 | $2.9412 | ||
| Gemini Flash Latestgemini-flash-latest | $1.80 | $9.00 | 1,048,576 | |
| Gemini Flash Lite Latestgemini-flash-lite-latest | $0.72 | $6.00 | 1,048,576 | |
| Gemini PRO Latestgemini-pro-latest | $4.80 | $28.80 | 1,048,576 |
USD cho mỗi triệu token
07Trước khi đưa Gemini lên production
Tạo một key riêng cho production, đặt ngân sách bằng USD và trần chi tiêu theo ngày, rồi dùng danh sách model được phép để giới hạn key vào vài id Gemini đã chọn. Chương trình đọc tài liệu dài càng cần đặt trần: một request lỡ gửi cả một thư mục thì riêng input đã là hàng trăm nghìn token. Request thất bại thì đọc header retry-after để biết chờ bao lâu rồi thử lại. Model có đúng như nhãn hay không thì xem trang kiểm tra model.
Câu hỏi thường gặp
- Gemini API key ở đây có miễn phí không?
- Không. Gemini API của chính Google có tầng miễn phí giới hạn tốc độ cho một số model; model nào nằm trong đó thì xem trang giá của Google. RelaySwitch không có tầng miễn phí: mỗi request trừ theo token vào số dư trả trước, nạp tối thiểu $10, số dư không hết hạn.
- Có cần tài khoản Google hay key của Google AI Studio không?
- Không. Gemini API của Google đòi một tài khoản Google để tạo key trong AI Studio. Ở đây tài khoản mở tại RelaySwitch bằng một email, key tạo trong console, và cùng key đó còn gọi được các model khác trong catalog.
- Nên dùng SDK OpenAI hay định dạng gốc của Gemini?
- Code viết mới thì dùng SDK OpenAI: chỉ đổi base_url, và sau này đổi sang model của hãng khác cũng chỉ sửa trường model. Chương trình đã viết theo generateContent của Google thì gửi tới route /v1beta/models/{model}:generateContent, key đặt trong header x-goog-api-key. Hai định dạng dùng chung key, số dư và giá.
- Gọi Gemini API từ code thì phải đổi những gì?
- Hai chỗ, cộng với id model: base_url điền https://api.relayswitch.io/v1, api_key điền key sk-relay- của RelaySwitch, trường model điền id của Gemini lấy từ bảng giá. Sau đó gọi Chat Completions bằng SDK OpenAI như bình thường.
- Làm sao chắc model trả lời đúng là Gemini?
- 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, xem đượ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 id model, số token tính tiền và số tiền.
- Thanh toán bằng gì?
- Thẻ (kể cả Apple Pay, Google Pay) hoặc crypto: USDT, USDC, BTC, ETH, SOL. Mức nạp nhỏ nhất là $10, số dư tính bằng USD, không thuê bao. Khoản nạp không được hoàn lại.
Đổi base_url, rồi đổi model
Base URL https://api.relayswitch.io/v1, model Gemini tính theo giá trong catalog, mỗi model được kiểm tra công khai mỗi ngày.