Kembali ke semua artikel
Panduan

Memanggil Gemini dengan OpenAI SDK: Tutorial Integrasi Cukup Ubah base_url, API Key, dan Nama Model

14 Juni 2026 · 11 menit baca · GPT / Gemini / Claude

Ilustrasi meja kerja developer di atas latar krem, dengan kartu kode OpenAI SDK di kiri dan kartu model Gemini di kanan. Di tengah, panah warna terakota menandai tiga titik perubahan: base_url, API Key, dan model, terhubung garis tipis abu-abu arang, keseluruhan bergaya sampul majalah teknologi

Google menyampaikannya dengan sangat lugas: model Gemini bisa diakses melalui SDK Python dan TypeScript/JavaScript milik OpenAI, intinya cukup mengubah tiga baris kode. Endpoint yang diberikan dalam dokumentasi kompatibilitas resmi adalah https://generativelanguage.googleapis.com/v1beta/openai/, dan model contoh adalah gemini-3.5-flashKompatibilitas OpenAI Google)。Ini sangat ramah untuk proyek yang sudah memakai OpenAI SDK: tidak perlu membongkar abstraksi provider terlebih dahulu, tidak perlu mengganti seluruh stack pemanggilan, jalankan dulu sampai berhasil.

Diagram alur tiga kolom dengan latar krem muda, kolom kiri bertuliskan OpenAI SDK, kolom tengah bertuliskan tiga konfigurasi base_url / API Key / model, kolom kanan bertuliskan Gemini API, panah warna terakota dari kiri ke kanan, bingkai garis tipis warna abu arang

Pastikan dulu model yang ingin Anda panggil

Per 2026-06-14, halaman model Google mencantumkan Gemini 3.5 Flash sebagai Stable, dan menjelaskan bahwa kode modelnya adalah gemini-3.5-flash; batas input model ini adalah 1.048.576 token, batas output 65.536 token, mendukung input teks, gambar, video, audio, dan PDF, dengan output berupa teks(Gemini 3.5 Flash)。Halaman model terakhir diperbarui pada 2026-05-19 UTC.

Harga juga harus dilihat di dokumentasi pada hari yang sama. Halaman harga Google terakhir diperbarui pada 2026-06-09 UTC, tier Standard paid untuk gemini-3.5-flash mencantumkan harga input $1.50 / 1M tokens, output $9.00 / 1M tokens, dan harga output mencakup thinking tokens; Batch adalah input $0.75, output $4.50Harga Gemini API)。

Model Status Batas input Input Standard Output Standard
gemini-3.5-flash Stable 1,048,576 $1.50 / 1M tokens $9.00 / 1M tokens
gemini-3-flash-preview Preview Lihat halaman model $0.50 / 1M tokens $3.00 / 1M tokens
gemini-3.1-flash-lite Stable Lihat halaman model $0.25 / 1M tokens $1.50 / 1M tokens

gemini-3-flash-preview dan gemini-3.1-flash-lite berasal dari halaman model dan harga Google saat ini(ModelHarga)。Jangan langsung menjadikan model Preview sebagai default produksi; versi dan limitnya bisa berubah.

Python: arahkan OpenAI client ke Gemini

Instal SDK terlebih dahulu:

pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"

Lalu pertahankan cara pemanggilan OpenAI SDK:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["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": "用三句话解释什么是 API 兼容层。"},
    ],
)

print(resp.choices[0].message.content)

Perubahan sebenarnya hanya ada tiga: ganti api_key menjadi Gemini key, ganti base_url menjadi endpoint OpenAI-compatible milik Google, dan ganti model menjadi nama model Gemini. Perhatikan bahwa URL dalam contoh resmi berakhiran /; jangan iseng menghapusnya lalu sibuk menelusuri 404.

Diagram perbandingan kode sebelum dan sesudah yang ringkas, sisi kiri menyorot api.openai.com dan nama model gpt, sisi kanan menyorot generativelanguage.googleapis.com/v1beta/openai/ dan gemini-3.5-flash, dengan anotasi warna terakota

TypeScript: sama-sama memakai baseURL

Di proyek Node juga sama:

npm install openai
export GEMINI_API_KEY="你的 Gemini API Key"
import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: process.env.GEMINI_API_KEY,
  baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});

const response = await openai.chat.completions.create({
  model: "gemini-3.5-flash",
  messages: [
    { role: "user", content: "给我一个 JSON Schema 校验的最小例子。" },
  ],
});

console.log(response.choices[0].message.content);

Jika proyek Anda sudah membungkus provider sebagai variabel lingkungan, perubahannya akan lebih kecil:

OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"

Jebakan di banyak proyek lama ada di sini: nama variabel masih OPENAI_API_KEY tidak masalah, nilainya bisa berupa Gemini key; yang benar-benar menentukan request dikirim ke mana adalah base_url/baseURL.

Bagaimana dengan streaming, tool calling, dan thinking

Dokumentasi kompatibilitas Google memberikan contoh untuk streaming, function calling, structured outputs, image understanding, dan lainnya(Kompatibilitas OpenAI)。Proyek yang sudah memakai OpenAI SDK biasanya terlebih dahulu memverifikasi tiga hal: chat biasa, stream=True, dan tools/function calling. Setelah semuanya lolos, baru tangani kemampuan khusus model.

Parameter thinking perlu digunakan dengan hati-hati. Dokumentasi kompatibilitas menulis bahwa reasoning_effort milik OpenAI akan dipetakan ke konfigurasi thinking Gemini; tetapi Gemini 3 dan sebagian model 2.5 tidak bisa sepenuhnya mematikan thinking. Saran saya sederhana: pada versi pertama, jangan atur thinking dulu; gunakan nilai default untuk membangun baseline kualitas dan biaya, lalu lakukan stress test terpisah pada tugas panjang, code agent, dan alur penalaran kompleks.

Jika Anda ingin mengurangi pengelolaan banyak Key

Koneksi langsung resmi cocok untuk produksi serius: penagihan, limit, dan kebijakan data semuanya jelas. Masalahnya, tim sering kali tidak hanya memakai Gemini, tetapi juga Claude, GPT, bahkan harus mengonfigurasi key berbeda untuk alat yang berbeda. Jalur yang lebih praktis adalah memakai onehop: ubah base URL OpenAI SDK menjadi https://api.onehop.ai/v1, lalu gunakan satu set endpoint kompatibel OpenAI/Anthropic yang sama untuk memanggil Claude/GPT/Gemini; akun baru mendapat $10, tanpa perlu mengikat kartu, cocok untuk menjalankan demo dan alat internal terlebih dahulu.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ONEHOP_API_KEY"],
    base_url="https://api.onehop.ai/v1",
)

resp = client.chat.completions.create(
    model=os.environ["ONEHOP_MODEL"],
    messages=[{"role": "user", "content": "把这段日志总结成 5 条排障线索。"}],
)

print(resp.choices[0].message.content)

Di sini saya sengaja meletakkan model di variabel lingkungan: nama model gateway mengacu pada console, jangan hard-code di dalam kode. Jika ingin mengurangi kerepotan mengelola tagihan multi-vendor dan lapisan kompatibilitas, Anda bisa langsung mencoba: panggil model seperti Claude di onehop, atau ambil kredit terlebih dahulu: daftar dan langsung dapat kredit uji coba $10.

Pemeriksaan terakhir sebelum integrasi

Sebelum go-live, jangan hanya melihat apakah teks bisa dikembalikan. Setidaknya lakukan empat pemeriksaan: pertama, pastikan model masih tersedia di halaman model Google saat ini; kedua, cocokkan biaya input, output, Batch, dan Search grounding di halaman harga; ketiga, catat log error 401, 429, dan 5xx secara lengkap; keempat, jadikan base_url, api_key, dan model sebagai konfigurasi runtime, jangan sampai harus rilis versi baru hanya untuk mengganti model.

Fokus integrasi kali ini bukan “mengganti vendor model”, melainkan memisahkan layer SDK dari penyedia model. Jalankan dulu gemini-3.5-flash melalui OpenAI compatibility resmi Google, lalu putuskan apakah akan memakai koneksi langsung, gateway, atau keduanya sekaligus. Dengan begitu, perubahan kecil dan rollback juga cepat.