Menggunakan OpenAI SDK untuk Memanggil Gemini API: Tutorial Integrasi dengan Hanya Mengubah base_url, key, dan Nama Model
14 Juni 2026 · 9 menit baca · GPT / Gemini / Claude

Google sudah menyatakannya dengan sangat jelas: Gemini API mendukung OpenAI compatibility, sehingga bisa dipanggil dengan OpenAI Python SDK, JavaScript SDK, dan REST; dalam contoh resmi, base_url-nya adalah https://generativelanguage.googleapis.com/v1beta/openai/, dan nama modelnya adalah gemini-3.5-flash(Google AI for Developers)。
Ini sangat praktis untuk tim yang sudah memiliki kode berbasis OpenAI SDK. Kamu tidak perlu menulis ulang satu set client, tidak perlu mengubah struktur message; cukup ganti tiga konfigurasi terlebih dahulu, jalankan sampai berhasil, lalu putuskan apakah perlu memakai kemampuan native Gemini.

Lihat dulu tiga bagian yang perlu diubah
Dokumentasi Google menuliskannya dengan jelas setelah contoh: perubahannya hanya tiga item, yaitu api_key, base_url, dan model. OpenAI Python SDK sendiri juga mendukung konfigurasi base_url atau OPENAI_BASE_URL(openai-python),sementara field yang sesuai di Node SDK adalah baseURL(openai-node)。
Contoh Python paling minimal:
from openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "你是一个简洁的技术助手。"},
{"role": "user", "content": "用一句话解释什么是向量数据库。"},
],
)
print(resp.choices[0].message.content)
Jika kode lama kamu sudah memakai client.chat.completions.create(), kemungkinan besar kamu hanya perlu mengekstrak bagian inisialisasi client menjadi item konfigurasi. Jangan hard-code nama model di dalam fungsi bisnis, karena nanti akan lebih merepotkan saat beralih ke Batch, Flex, atau mengganti model.
Node.js juga memakai pola yang sama
Versi JavaScript hanya mengganti nama field dari base_url menjadi baseURL:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.GEMINI_API_KEY,
baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});
const resp = await client.chat.completions.create({
model: "gemini-3.5-flash",
messages: [{ role: "user", content: "给我一个 Redis 限流方案。" }],
});
console.log(resp.choices[0].message.content);
REST juga bisa dipanggil langsung: POST https://generativelanguage.googleapis.com/v1beta/openai/chat/completions, dengan header request Authorization: Bearer $GEMINI_API_KEY. Ini cocok untuk terlebih dahulu menyingkirkan masalah SDK, proxy, atau environment variable menggunakan curl.

Jangan menebak harga dengan perasaan, hitung berdasarkan output
Per 2026-06-14, halaman pricing resmi Gemini mencantumkan harga standar gemini-3.5-flash sebesar input $1.50 / 1M tokens dan output $9.00 / 1M tokens, sedangkan Batch dan Flex sama-sama input $0.75 / 1M tokens dan output $4.50 / 1M tokens(Gemini API pricing)。Pihak resmi juga menuliskan bahwa harga output mencakup thinking tokens, jadi untuk tugas reasoning jangan hanya melihat harga input.
| Mode | Input / 1M tokens | Output / 1M tokens | Skenario yang cocok |
|---|---|---|---|
| Standard | $1.50 | $9.00 | Request online, latensi rendah |
| Batch | $0.75 | $4.50 | Pemrosesan batch offline |
| Flex | $0.75 | $4.50 | Bisa menerima penjadwalan elastis |
Saran saya sederhana: chat, Agent, dan plugin editor sebaiknya mulai dengan Standard; ringkasan log, pembersihan data, dan evaluasi offline sebisa mungkin gunakan Batch/Flex. Untuk tugas dengan output panjang, selisih biaya akan semakin membesar.
Jebakan yang paling mudah ditemui saat migrasi
Pertama, jangan sampai melewatkan /openai/ di akhir base_url. Banyak kasus 404 atau model tidak ditemukan pada dasarnya terjadi karena request masuk ke path native Gemini, bukan path kompatibel.
Kedua, bedakan environment variable dengan jelas. OPENAI_API_KEY bisa tetap digunakan untuk OpenAI, sementara untuk Gemini sebaiknya pakai GEMINI_API_KEY secara terpisah; jangan biarkan dua provider di CI berebut variable yang sama.
Ketiga, jalankan models.list() terlebih dahulu. Dokumentasi Google menyediakan contoh untuk melihat daftar model dan mengambil model; sebelum production, gunakan itu untuk memastikan region akun, permission, dan model ID semuanya tidak bermasalah.
Keempat, kemampuan seperti streaming, function calling, dan input gambar memang memiliki contoh di compatibility layer, tetapi jangan berasumsi semua parameter OpenAI didukung satu banding satu. Gunakan satu request bisnis nyata untuk regresi terlebih dahulu.
Jika kamu ingin mengurangi pengelolaan key
Jika tim memakai Claude, GPT, dan Gemini sekaligus, mengajukan akses satu per satu, menautkan kartu, dan mengatur kuota akan sangat merepotkan. Jalur yang lebih praktis adalah memakai onehop: ubah base_url OpenAI SDK menjadi https://api.onehop.ai/v1, gunakan key dari onehop, lalu kamu bisa memanggil Claude, GPT, dan Gemini melalui antarmuka kompatibel OpenAI/Anthropic. Posisinya adalah membantu kamu mengurangi kerepotan integrasi; harganya lebih rendah daripada resmi, akun baru mendapat $10, tanpa perlu menautkan kartu.
from openai import OpenAI
client = OpenAI(
api_key="ONEHOP_API_KEY",
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "把这段报错日志总结成三条原因。"}],
)
print(resp.choices[0].message.content)
Jika ingin mencoba Claude atau routing multi-model, kamu bisa langsung lihat: Memanggil Claude dan model lain di onehop. Jika ingin menjalankan contoh kecil terlebih dahulu dan tidak ingin menautkan kartu, gunakan pintu masuk ini: Daftar dan langsung dapat kredit percobaan $10.
Kesimpulan: jadikan konfigurasi dulu, jangan hard-code vendor
Nilai terbesar dari OpenAI compatibility milik Gemini kali ini bukanlah “bertambah satu model lagi”, melainkan biaya migrasinya yang cukup rendah. Masukkan base_url, api_key, dan model ke konfigurasi, sementara kode bisnis tetap memakai chat completions dari OpenAI SDK.
Setelah berhasil berjalan, tambahkan tiga hal: catat token input/output, pilih Standard atau Batch/Flex berdasarkan tugas, dan jadikan model ID sebagai switch rollout bertahap. Dengan begitu, hari ini kamu menghubungkan Gemini, besok menghubungkan Claude atau layanan kompatibel lain, tanpa perlu lagi mengubah kode bisnis inti.
Bacaan terkait

Gunakan Groq GPT-OSS 120B dengan OpenAI SDK: Base URL, Harga, dan Caching
Ganti satu base URL OpenAI SDK untuk menjalankan GPT-OSS 120B di Groq, estimasi biaya token cache, dan hindari kejutan biaya tool.
17 Juni 2026 · 26 menit baca

Tutorial Migrasi Memanggil Gemini API dengan OpenAI SDK: Cukup Ubah base_url, API Key, dan Nama Model
Checklist migrasi antarmuka kompatibel Gemini untuk proyek OpenAI SDK, mencakup kode, pemetaan parameter, dan harga.
14 Juni 2026 · 9 menit baca

Memanggil Gemini dengan OpenAI SDK: Tutorial Integrasi Cukup Ubah base_url, API Key, dan Nama Model
Google kini mendukung antarmuka kompatibel OpenAI; cukup ubah base_url, Key, dan nama model untuk mengintegrasikan Gemini.
14 Juni 2026 · 11 menit baca