Jika Anda sudah menggunakan OpenAI SDK, cara tercepat untuk menguji Gemini adalah mengubah API key, base URL, dan model ID. Base URL kompatibel OpenAI resmi Gemini API adalah:
https://generativelanguage.googleapis.com/v1beta/openai/
Untuk Flatkey, base URL router yang kompatibel dengan OpenAI adalah:
https://router.flatkey.ai/v1
Itulah inti dari Base URL Kompatibilitas Gemini API OpenAI dan Pengaturan Router Flatkey: Gemini langsung menggunakan API key Google dan endpoint kompatibel OpenAI milik Google; Flatkey menggunakan key Flatkey, router Flatkey, dan model ID Gemini yang tersedia di akun Flatkey Anda.
Gunakan jalur langsung Google jika Anda hanya membutuhkan Gemini dan menginginkan pengaturan yang paling dekat dengan penyedia aslinya. Gunakan jalur Flatkey jika Anda sudah membandingkan Gemini dengan GPT, Claude, DeepSeek, Qwen, atau model lain dan menginginkan satu base URL yang kompatibel OpenAI, satu daftar model, dan satu log penggunaan.
Base URL Kompatibilitas Gemini API OpenAI dan Pengaturan Router Flatkey sekilas
| Opsi pengaturan | Base URL | API key | Sumber Model ID | Paling cocok untuk |
|---|---|---|---|---|
| Gemini langsung | https://generativelanguage.googleapis.com/v1beta/openai/ |
API key Gemini | Dokumentasi model Google Gemini API atau client.models.list() |
Anda hanya membutuhkan Gemini dan menginginkan akses langsung ke Google. |
| Router Flatkey | https://router.flatkey.ai/v1 |
API key Flatkey | /v1/models Flatkey atau Model Directory |
Anda menginginkan Gemini berdampingan dengan penyedia model lain di balik satu key. |
Jangan mencampur keduanya. API key Gemini tidak akan terautentikasi ke Flatkey, dan key Flatkey tidak akan terautentikasi ke endpoint Gemini langsung milik Google.
Pengaturan Gemini langsung dengan OpenAI SDK
Lapisan kompatibilitas OpenAI milik Google memungkinkan Anda mempertahankan bentuk OpenAI SDK untuk alur kerja chat-completion yang umum. Perbedaan pentingnya adalah konfigurasi client.
Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
response = client.chat.completions.create(
model="gemini-3.8-flash",
messages=[
{"role": "user", "content": "Write one sentence about model routing."}
],
)
print(response.choices[0].message.content)
JavaScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.GEMINI_API_KEY,
baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});
const response = await client.chat.completions.create({
model: "gemini-3.8-flash",
messages: [
{ role: "user", content: "Write one sentence about model routing." },
],
});
console.log(response.choices[0].message.content);
REST
curl https://generativelanguage.googleapis.com/v1beta/openai/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $GEMINI_API_KEY" \
-d '{
"model": "gemini-3.8-flash",
"messages": [
{"role": "user", "content": "Tulis satu kalimat tentang routing model."}
]
}'
Sebelum Anda meluncurkan, jalankan client.models.list() atau GET /openai/models terhadap base URL yang sama. Itu menangkap kesalahan paling umum: menyalin ID model lama dari sebuah posting blog dan menganggapnya masih ada untuk akun Anda.
Pengaturan router Flatkey untuk Gemini
Flatkey mempertahankan bentuk SDK OpenAI, tetapi base URL dan key berubah lagi. Anda menggunakan router Flatkey, lalu memilih ID model Gemini dari respons /v1/models Flatkey atau Model Directory langsung.
Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["FLATKEY_API_KEY"],
base_url="https://router.flatkey.ai/v1",
)
models = client.models.list()
gemini_models = [model.id for model in models.data if "gemini" in model.id]
print(gemini_models)
response = client.chat.completions.create(
model=os.environ.get("FLATKEY_GEMINI_MODEL", "gemini-2.5-flash"),
messages=[
{"role": "user", "content": "Tulis satu kalimat tentang routing model."}
],
)
print(response.choices[0].message.content)
JavaScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FLATKEY_API_KEY,
baseURL: "https://router.flatkey.ai/v1",
});
const models = await client.models.list();
console.log(models.data.map((model) => model.id).filter((id) => id.includes("gemini")));
const response = await client.chat.completions.create({
model: process.env.FLATKEY_GEMINI_MODEL || "gemini-2.5-flash",
messages: [
{ role: "user", content: "Tulis satu kalimat tentang routing model." },
],
});
console.log(response.choices[0].message.content);
Dalam produksi, jangan berasumsi ID model langsung dari Google dan ID model yang dirutekan Flatkey akan selalu identik. Perlakukan daftar model sebagai sumber kebenaran untuk akun yang Anda panggil.
Variabel lingkungan untuk menjaga perpindahan tetap reversibel
Base URL Kompatibilitas Gemini API OpenAI dan Pengaturan Router Flatkey yang rapi seharusnya memudahkan perbandingan pengujian langsung dan yang dirutekan tanpa mengedit kode aplikasi.
# Direct Gemini
GEMINI_API_KEY="..."
GEMINI_OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
GEMINI_MODEL="gemini-3.8-flash"
# Flatkey router
FLATKEY_API_KEY="..."
FLATKEY_BASE_URL="https://router.flatkey.ai/v1"
FLATKEY_GEMINI_MODEL="gemini-2.5-flash"
Kemudian pilih rute dari konfigurasi:
import os
from openai import OpenAI
route = os.environ.get("AI_ROUTE", "flatkey")
if route == "direct_gemini":
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url=os.environ["GEMINI_OPENAI_BASE_URL"],
)
model = os.environ["GEMINI_MODEL"]
else:
client = OpenAI(
api_key=os.environ["FLATKEY_API_KEY"],
base_url=os.environ["FLATKEY_BASE_URL"],
)
model = os.environ["FLATKEY_GEMINI_MODEL"]
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "Kembalikan persis: route ok"}],
)
Pola ini memungkinkan indie hacker menguji Gemini langsung terlebih dahulu, menambahkan Flatkey nanti, dan melakukan rollback tanpa menulis ulang path permintaan.
Daftar pengecekan smoke-test sebelum Anda memindahkan traffic
| Pengecekan | Gemini langsung | Router Flatkey |
|---|---|---|
| Autentikasi | Pastikan kunci Gemini hanya berfungsi pada endpoint Google. | Pastikan kunci Flatkey hanya berfungsi pada router.flatkey.ai. |
| Daftar model | Jalankan client.models.list() pada base URL Gemini. |
Jalankan client.models.list() pada Flatkey dan filter untuk ID Gemini. |
| Chat dasar | Kirim completion chat singkat tanpa streaming. | Kirim prompt yang sama melalui model Gemini Flatkey. |
| Streaming | Uji streaming hanya jika aplikasi Anda menggunakan streaming. | Uji streaming pada model yang dirutekan secara tepat sebelum mengaktifkannya untuk pengguna. |
| Pemanggilan tool | Uji skema fungsi kecil jika aplikasi Anda menggunakan tool. | Pastikan model yang dirutekan mendukung perilaku tool yang diharapkan aplikasi Anda. |
| Output terstruktur | Validasi output JSON nyata, bukan hanya status 200. |
Validasi skema yang sama dan perilaku retry. |
| Tinjau penggunaan | Periksa penggunaan Google dan error di akun penyedia Anda. | Periksa Flatkey Usage Logs untuk model, jumlah token, latensi, dan biaya. |
OpenAI-compatible tidak berarti setiap fitur spesifik penyedia berperilaku identik. Artinya bentuk client Anda bisa tetap cukup dekat untuk alur kerja SDK yang umum. Smoke test harus mencakup fitur yang benar-benar diandalkan aplikasi Anda.
Kesalahan base URL yang umum
Tidak menyertakan /openai/ pada rute Gemini langsung
Untuk panggilan Gemini yang kompatibel langsung dengan OpenAI, gunakan:
https://generativelanguage.googleapis.com/v1beta/openai/
Jangan gunakan endpoint Gemini native generateContent dengan kode chat-completion OpenAI SDK. Contoh Gemini API native dan contoh OpenAI-compatible memiliki bentuk permintaan yang berbeda.
Menggunakan base_url di Node atau baseURL di Python
Konfigurasi OpenAI SDK Python menggunakan base_url. SDK JavaScript menggunakan baseURL.
OpenAI(base_url="https://router.flatkey.ai/v1")
new OpenAI({ baseURL: "https://router.flatkey.ai/v1" })
Menganggap ID model bersifat permanen
Nama model berubah lebih cepat daripada kode penyiapan SDK. Untuk jalur langsung, periksa dokumentasi model Google atau daftarkan model melalui endpoint Gemini yang kompatibel dengan OpenAI. Untuk Flatkey, periksa /v1/models dan Model Directory.
Melewati log
Respons sukses pertama bukanlah akhir dari penyiapan. Setelah permintaan Flatkey pertama, buka Usage Logs dan verifikasi model, jumlah token, latensi, dan biaya. Itu membuat Gemini API OpenAI Compatibility Base URL dan Flatkey Router Setup dapat dilacak secara operasional, bukan hanya benar secara sintaksis.
Kapan Flatkey menambah nilai
Flatkey berguna ketika Gemini adalah salah satu rute dalam stack model yang lebih luas. Misalnya:
- Anda ingin Gemini, Claude, GPT, DeepSeek, dan Qwen berada di balik satu base URL yang kompatibel dengan OpenAI.
- Anda sedang menguji perilaku fallback model dan tidak ingin kunci provider terpisah tersebar di seluruh aplikasi dan agen.
- Anda memerlukan buku besar penggunaan bersama untuk ID model, jumlah token, latensi, dan biaya per permintaan.
- Anda ingin developer mengubah parameter model tanpa mengubah klien SDK.
Jika aplikasi Anda hanya akan memanggil Gemini, penyiapan Google langsung mungkin sudah cukup. Jika produk Anda sudah membandingkan provider, router Flatkey memberi Anda jalur migrasi yang lebih rapi.
Tautan internal yang layak untuk tetap dibuka
- Quickstart Flatkey API
- Panduan migrasi yang kompatibel dengan OpenAI
- Pemeriksaan rute Gemini vs Claude
- Flatkey Model Directory
- Halaman harga Flatkey
- Halaman status Flatkey
Pertanyaan umum
Apa base URL resmi Gemini yang kompatibel dengan OpenAI?
Base URL resmi Gemini yang kompatibel dengan OpenAI adalah https://generativelanguage.googleapis.com/v1beta/openai/. Gunakan dengan kunci API Gemini, bukan kunci Flatkey.
Base URL apa yang harus saya gunakan untuk Gemini melalui Flatkey?
Gunakan https://router.flatkey.ai/v1 dengan kunci API Flatkey. Lalu pilih ID model Gemini dari respons /v1/models Flatkey atau Model Directory langsung.
Bisakah saya menggunakan ID model Gemini yang sama di kedua tempat?
Terkadang, tetapi jangan berasumsi demikian. Proses yang aman adalah mendaftarkan model untuk rute dan akun yang tepat yang Anda gunakan, lalu mengunci ID itu dalam konfigurasi.
Apakah OpenAI-compatible berarti fitur sepenuhnya setara?
Tidak. Perlakukan kompatibilitas OpenAI sebagai kemudahan SDK dan bentuk permintaan. Uji streaming, tools, output terstruktur, file, dan input multimodal pada model dan rute yang tepat sebelum peluncuran ke produksi.
Haruskah indie hacker memulai secara langsung atau dengan Flatkey?
Mulailah langsung jika Anda hanya membuktikan bahwa Gemini berfungsi. Mulailah dengan Flatkey jika keputusan sebenarnya adalah model mana yang harus menggerakkan produk, bukan apakah Gemini saja bisa menjawab prompt.
Intinya
Gemini API OpenAI Compatibility Base URL dan Flatkey Router Setup sederhana ketika Anda memisahkan dua rute ini:
- Gemini langsung:
https://generativelanguage.googleapis.com/v1beta/openai/ - Router Flatkey:
https://router.flatkey.ai/v1
Jaga pemisahan kunci, daftar model sebelum memanggil chat completions, uji fitur yang digunakan aplikasi Anda, dan verifikasi penggunaan setelah permintaan pertama. Saat Anda siap membandingkan Gemini dengan penyedia lain melalui satu lapisan yang kompatibel dengan OpenAI, buat kunci Flatkey dan pindahkan satu beban kerja pada satu waktu.



