Kembali ke semua artikel
Panduan

Memanggil Gemini API dengan OpenAI SDK: cara mengatur base_url, nama model, dan harga Gemini 3.5 Flash

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

Ilustrasi migrasi API developer di atas latar krem: kartu kode OpenAI SDK berwarna abu-abu arang di kiri, sakelar base_url berwarna terakota di tengah, kartu model Gemini 3.5 Flash di kanan, serta label harga kecil di bawah yang menandai input $1.50/M dan output $9.00/M secara keseluruhan

Dokumentasi kompatibel OpenAI dari Google diperbarui pada 2026-05-18 dan secara langsung menyatakan: model Gemini dapat dipanggil melalui OpenAI Python / JavaScript SDK, dengan hanya tiga perubahan inti: api_key, base_url, model (Google). Hari ini 2026-06-14, halaman harga mencantumkan harga tier berbayar standar untuk gemini-3.5-flash sebagai berikut: input $1.50 / 100 万 token, output termasuk token berpikir $9.00 / 100 万 token (Google Pricing).

Penilaian saya sederhana: jika Anda sudah punya proyek OpenAI SDK, jangan buru-buru menulis ulang. Sambungkan dulu Gemini sebagai backend yang kompatibel dengan OpenAI, uji biaya, streaming, dan tool calling, lalu putuskan apakah perlu migrasi ke Gemini SDK native.

Diagram perbandingan sebelum dan sesudah migrasi dengan latar krem, sisi kiri kartu konfigurasi OpenAI SDK, sisi kanan kartu konfigurasi Gemini, di tengah hanya menyorot perubahan tiga baris api_key, base_url, model, dengan panah warna terakota menghubungkan kedua sisi

1. Perubahan minimal: cukup ganti endpoint dan nama model

Untuk Python, instal dulu OpenAI SDK resmi:

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

Lalu ubah klien menjadi seperti ini:

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",
    reasoning_effort="low",
    messages=[
        {"role": "system", "content": "你是一个直接、准确的代码助手。"},
        {"role": "user", "content": "用三句话解释 SSE 流式输出。"},
    ],
)

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

Bentuk seperti chat.completions.create, messages, dan tools tetap mengikuti gaya OpenAI Chat Completions; referensi API OpenAI sendiri juga masih mendefinisikan Chat Completions sebagai antarmuka untuk menghasilkan respons berdasarkan daftar pesan (OpenAI). Jadi fokus migrasi bukan pada kode bisnis, melainkan pada lapisan konfigurasi.

2. Jangan hilangkan garis miring terakhir pada base_url

Alamat di dokumentasi Google adalah:

https://generativelanguage.googleapis.com/v1beta/openai/

Jika / terakhir tidak ditulis, beberapa klien bisa mengalami masalah aneh saat menggabungkan path. Dalam kode produksi, sebaiknya ekstrak menjadi variabel lingkungan:

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

Jika Anda ingin menghindari kerepotan berpindah-pindah akun, kuota, dan tagihan antar-vendor, onehop adalah jalur yang lebih praktis: ubah base_url menjadi https://api.onehop.ai/v1, lalu panggil Claude, GPT, dan Gemini melalui satu set antarmuka kompatibel OpenAI / Anthropic yang sama. Akun baru mendapat $10, tanpa perlu mengikat kartu; cocok untuk membuat PoC dulu, lalu melihat apakah perlu koneksi langsung ke layanan resmi.

from openai import OpenAI

client = OpenAI(
    api_key="你的 onehop key",
    base_url="https://api.onehop.ai/v1",
)

resp = client.chat.completions.create(
    model="gemini-3.5-flash",
    messages=[{"role": "user", "content": "给我一个 FastAPI 健康检查接口"}],
)
print(resp.choices[0].message.content)

Pintunya ada di sini: Panggil Claude dan model lainnya di onehop, Daftar dan langsung dapat kredit uji coba $10.

3. Hitung biaya terlebih dahulu berdasarkan token output

Tier standar gemini-3.5-flash bukan “saking murahnya sampai tidak perlu dipikirkan”. Harga output adalah 6 kali harga input:

Model Tier Input / 1 juta token Output / 1 juta token
gemini-3.5-flash Standar $1.50 $9.00
gemini-3.5-flash Batch $0.75 $4.50
gemini-3.5-flash Flex $0.75 $4.50

Angka untuk Batch dan Flex juga berasal dari halaman harga Google yang sama. Saat menulis aplikasi, batasi max_completion_tokens, terutama untuk ringkasan, pembuatan kode, dan loop tool Agent. Input yang lebih panjang masih bisa di-cache, tetapi output yang tidak terkendali benar-benar akan membakar biaya.

Diagram batang ringkas, sumbu horizontal berisi tiga tier: standar, batch, Flex; sumbu vertikal adalah dolar per satu juta token; tiap grup memiliki dua batang, input berwarna abu arang, output berwarna terakota, menonjolkan bahwa harga output lebih tinggi

4. Bagaimana reasoning_effort dipetakan

Lapisan kompatibilitas Google menerima reasoning_effort bergaya OpenAI dan memetakannya ke konfigurasi thinking Gemini (Google):

reasoning_effort Gemini 3 Flash thinking_level
minimal minimal
low low
medium medium
high high

Jika tidak dikirim, nilai default model akan digunakan. Dokumentasi Google juga menuliskan satu batasan penting: Gemini 3 tidak bisa mematikan thinking; none hanya berlaku untuk sebagian model 2.5. Saran saya, gunakan default online low, dan naikkan ke medium atau high hanya untuk perencanaan kompleks atau tool calling dengan rantai panjang. Karena harga output mencakup token berpikir, intensitas reasoning bukan tombol gratis.

5. Streaming dan function calling: bisa dipakai, tetapi antisipasi chunk kosong

Panggilan streaming tetap menggunakan gaya OpenAI SDK:

stream = client.chat.completions.create(
    model="gemini-3.5-flash",
    messages=[{"role": "user", "content": "写一个 Redis 缓存封装"}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

if delta di sini sangat berguna. Dalam respons streaming, bisa ada role, tool call, atau delta kosong; jangan berasumsi setiap chunk pasti berisi teks.

Function calling juga menggunakan tools dan tool_choice="auto". Dokumentasi kompatibilitas Google memberikan contoh fungsi cuaca, dan mengonfirmasi bahwa Gemini API mendukung function calling (Google). Dalam proyek nyata, jangan hanya mencetak respons model; periksa message.tool_calls, jalankan fungsi lokal, lalu masukkan hasil tool sebagai pesan putaran berikutnya kembali ke model.

Kesimpulannya: biaya minimum untuk migrasi ke Gemini hanyalah tiga baris konfigurasi; yang benar-benar perlu diawasi adalah token output, intensitas thinking, chunk kosong pada streaming, dan loop tertutup tool calling. Jika Anda hanya ingin cepat memasukkan Claude, GPT, dan Gemini ke proyek OpenAI SDK yang sama, langsung memakai pintu masuk terpadu onehop akan menghemat cukup banyak waktu konfigurasi: Panggil Claude dan model lainnya di onehop, atau ambil dulu kredit uji coba $10 setelah mendaftar.