Google meluncurkan Gemini 3.7 Flash pada 13 Agustus 2026, tiga minggu setelah 3.6 Flash, dan menyebutnya sebagai “model pekerja keras kami yang paling cerdas.” Bagi developer, perubahan utamanya adalah peningkatan tajam pada agentic coding—DeepSWE v1.1 naik dari 49,0% menjadi 65,3%—harga pengenalan setengah dari harga peluncuran 3.6 Flash, serta API surface yang tetap sama. Jika Anda sudah memakai Gemini, migrasi dasar cukup mengganti ID model. Jika belum, ini adalah titik masuk berbiaya rendah untuk kapabilitas tersebut.
Panduan ini berfokus pada implementasi: mendapatkan API key, mengirim permintaan pertama dengan cURL, memindahkannya ke Python dan Node.js, memakai streaming, menyetel generationConfig, serta menguji permintaan di Apidog. Menurut pengumuman resmi, model ini mendukung konteks 1 juta token, output hingga 64 ribu token, input multimodal, function calling, pencarian sebagai tool, dan penggunaan komputer.
Jika Anda membangun dari generasi sebelumnya, struktur permintaan tetap sama seperti pada panduan API Pratinjau Gemini 3 Flash. Artikel ini menyoroti alur kerja yang relevan untuk 3.7 Flash.
Intinya
- Gunakan ID model
gemini-3.7-flash. - Endpoint sinkron:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent
- Kirim API key melalui header
x-goog-api-key: <KEY>. - Harga pengenalan adalah $0.75 per 1 juta token input dan $3.75 per 1 juta token output hingga 31 Desember 2026. Mulai 1 Januari 2027, harganya menjadi $1.50 dan $7.50.
- Batasnya adalah 1 juta token input dan 64 ribu token output.
- Input mendukung teks, gambar, video, audio, dan PDF. Output berupa teks.
- Dibandingkan 3.6 Flash, skor benchmark meningkat:
| Benchmark | Gemini 3.6 Flash | Gemini 3.7 Flash |
| --- | ---: | ---: |
| DeepSWE v1.1 | 49.0% | 65.3% |
| FrontierCode | 34.4% | 43.6% |
| AutomationBench | 17.0% | 30.4% |
| WebDev Arena Elo | 1538 | 1588 |
- Untuk streaming, gunakan endpoint
:streamGenerateContent?alt=sse. - Uji permintaan di Apidog sebelum menulis integrasi aplikasi agar Anda dapat memvalidasi prompt, skema JSON, dan respons SSE tanpa mengulang loop kode.
Untuk apa Gemini 3.7 Flash cocok
Model Flash menukar sebagian kemampuan puncak dengan kecepatan dan biaya. Pada 3.7 Flash, selisih tersebut menyempit secara signifikan. Peningkatan DeepSWE, FrontierCode, AutomationBench, dan WebDev Arena menunjukkan model ini lebih relevan untuk alur kerja berorientasi tool, tugas kode, dan pemrosesan dokumen.
Gunakan Gemini 3.7 Flash ketika:
- Anda menjalankan agent loop. AutomationBench naik dari 17.0% menjadi 30.4%. Google menyatakan model ini lebih cermat dalam perencanaan multi-langkah dan pemanggilan tool.
- Anda menghasilkan atau melakukan debug kode. Peningkatan DeepSWE dan FrontierCode mendukung penggunaan untuk review kode, perbaikan bug, serta pembuatan kode yang siap di-deploy.
- Anda memproses dokumen. Skor GDP.pdf naik dari 22.0% menjadi 34.0%, dan PDF didukung sebagai input kelas satu.
-
Anda memerlukan input multimodal dengan anggaran terbatas. Teks, gambar, video, audio, dan PDF dikirim melalui struktur
contentsyang sama.
Untuk ringkasan fitur, skor Harvey LAB-AA domain hukum, serta pembaruan perlindungan CBRN dan siber, lihat apa yang baru di Gemini 3.7 Flash. Sebagai konteks, Gemini 3.5 Pro masih tertunda, dan Axios melaporkan bahwa Google merilis pembaruan Flash sebelum produk unggulan berikutnya.
Dapatkan API key
Ada dua jalur utama: AI Studio untuk prototipe cepat dan Vertex AI untuk kebutuhan produksi.
AI Studio: jalur cepat
- Buka aistudio.google.com/apikey.
- Klik Get API key.
- Pilih proyek Google Cloud.
- Salin API key yang dibuat.
Key ini dapat langsung digunakan pada generativelanguage.googleapis.com. Free tier menyediakan kuota untuk prototipe, dan Gemini 3.7 Flash tersedia di lebih dari 160 negara.
Vertex AI: jalur produksi
Jika aplikasi Anda berjalan di GCP, gunakan Vertex AI:
- Autentikasi menggunakan OAuth, akun layanan, atau token berumur pendek.
- Endpoint menggunakan
aiplatform.googleapis.com. - Anda memperoleh IAM, audit log, dan endpoint regional.
- ID model dan struktur badan permintaan tetap sama; URL dan mekanisme autentikasinya yang berubah.
Praktik yang umum adalah membuat prototipe di AI Studio lalu berpindah ke Vertex sebelum menangani lalu lintas produksi.
Simpan key di environment variable:
export GEMINI_API_KEY="AIza..."
Jangan hardcode key di source code. Hindari juga mengirim key melalui parameter kueri seperti ?key= pada lingkungan produksi karena URL dapat tersimpan dalam server log.
Endpoint dan autentikasi
Gunakan endpoint berikut untuk permintaan sinkron:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent
Untuk streaming SSE, gunakan:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:streamGenerateContent?alt=sse
Tambahkan header autentikasi berikut pada setiap permintaan:
x-goog-api-key: $GEMINI_API_KEY
Permintaan pertama dengan cURL
Mulai dengan permintaan minimal berikut:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{
"text": "Review this SQL for injection risk: SELECT * FROM orders WHERE id = ${orderId}"
}]
}],
"generationConfig": {
"temperature": 0.3,
"maxOutputTokens": 1024
}
}'
Respons berisi array candidates. Setiap kandidat memiliki:
-
content.partsuntuk teks atau panggilan fungsi. -
finishReasonuntuk status akhir generasi. -
usageMetadatapada level teratas untuk informasi penggunaan token.
Perhatikan perbedaan dengan format OpenAI: Gemini menggunakan contents, role, dan parts, bukan messages. Pastikan pemetaan struktur ini benar jika Anda memigrasikan integrasi dari penyedia lain.
Quickstart Python
Instal atau perbarui SDK:
pip install --upgrade google-generativeai
Contoh review kode dengan instruksi sistem:
import os
import google.generativeai as genai
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
model = genai.GenerativeModel(
model_name="gemini-3.7-flash",
system_instruction=(
"You are a code reviewer. "
"Flag issues as blocking or non-blocking."
),
generation_config={
"temperature": 0.3,
"max_output_tokens": 2048,
},
)
response = model.generate_content(
"Review this Flask route for security issues:\n\n"
"@app.route('/user/<id>')\n"
"def get_user(id):\n"
" return db.execute(f'SELECT * FROM users WHERE id = {id}')"
)
print(response.text)
print("input tokens:", response.usage_metadata.prompt_token_count)
print("output tokens:", response.usage_metadata.candidates_token_count)
Untuk input PDF, unggah file melalui Files API lalu sertakan referensinya dalam permintaan:
invoice = genai.upload_file("q3-invoice.pdf")
response = model.generate_content([
invoice,
"Extract the invoice number, total, and due date as JSON.",
])
print(response.text)
Pola ini relevan untuk ekstraksi data terstruktur dari dokumen bisnis, formulir, atau faktur.
Quickstart Node.js
SDK Node.js menggunakan @google/generative-ai:
import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({
model: "gemini-3.7-flash",
generationConfig: {
temperature: 0.3,
maxOutputTokens: 2048,
responseMimeType: "application/json",
responseSchema: {
type: "object",
properties: {
severity: {
type: "string",
enum: ["blocking", "non-blocking"],
},
issues: {
type: "array",
items: { type: "string" },
},
},
required: ["severity", "issues"],
},
},
});
const result = await model.generateContent(
"Review this Express handler: app.get('/search', (req, res) => res.send(eval(req.query.q)))"
);
console.log(JSON.parse(result.response.text()));
Kombinasi responseMimeType: "application/json" dan responseSchema penting untuk integrasi hilir. Dengan skema, aplikasi Anda menerima bentuk data yang dapat diuraikan alih-alih teks bebas.
Streaming
Untuk UI chat atau proses yang perlu menampilkan hasil secara bertahap, gunakan streaming.
Di Python, aktifkan stream=True:
stream = model.generate_content(
"Explain the N+1 query problem with a concrete ORM example.",
stream=True,
)
for chunk in stream:
if chunk.text:
print(chunk.text, end="", flush=True)
Jika memakai HTTP mentah, kirim permintaan ke:
:streamGenerateContent?alt=sse
Setiap baris data: berisi payload candidates parsial. usageMetadata biasanya muncul pada chunk terakhir, jadi hitungan token final baru akurat setelah stream selesai.
Menyetel generationConfig
Parameter berikut paling sering digunakan:
| Parameter | Tipe | Fungsi |
|---|---|---|
maxOutputTokens |
integer | Batas keras output, hingga 64 ribu token. Ini pengungkit biaya utama. |
temperature |
number | Nilai 0 hingga 2. Gunakan 0.2–0.4 untuk kode dan ekstraksi; 0.7+ untuk teks kreatif. |
responseMimeType |
string | Gunakan application/json untuk output JSON. |
responseSchema |
object | Menegakkan bentuk output saat dipasangkan dengan MIME type JSON. |
topP |
number | Batas nucleus sampling. Biarkan default kecuali Anda punya kebutuhan khusus. |
stopSequences |
array | String yang menghentikan generasi lebih awal; berguna untuk parsing berbasis delimiter. |
Token output berharga $3.75 per juta pada harga pengenalan dan $7.50 mulai Januari 2027. Karena itu, tetapkan maxOutputTokens sesuai kebutuhan nyata, bukan selalu ke batas maksimum model.
Lihat rincian harga Gemini 3.7 Flash untuk contoh perhitungan biaya berdasarkan beban kerja.
Di luar generationConfig, badan permintaan dapat menerima:
-
toolsuntuk deklarasi fungsi, pencarian sebagai tool, atau penggunaan komputer. -
toolConfiguntuk mengatur atau memaksa pemanggilan tool.
Untuk implementasi fungsi, panggilan paralel, dan pola response loop, baca tutorial function calling Gemini 3.7 Flash.
Uji endpoint di Apidog sebelum menulis kode aplikasi
Mengubah prompt langsung di skrip aplikasi membuat iterasi lambat: edit kode, jalankan ulang, periksa log, lalu ulangi. Lebih efisien untuk memvalidasi bentuk permintaan dan respons di klien API terlebih dahulu.
Gunakan Apidog dengan langkah berikut:
- Buat proyek dan impor spesifikasi OpenAPI Generative Language API dari dokumentasi API Google.
-
Tambahkan environment variable bernama
GEMINI_API_KEY. -
Pasang variable tersebut pada header
x-goog-api-key. -
Simpan ID model sebagai variable, misalnya
GEMINI_MODEL=gemini-3.7-flash. -
Buat body
contentsdi editor JSON dan validasi struktur sebelum mengirim permintaan. - Uji endpoint streaming untuk melihat chunk SSE secara langsung.
- Simpan respons yang valid sebagai contoh agar pengujian berikutnya dapat memakai fixture alih-alih selalu memanggil API langsung.
Simpan juga assertion untuk:
finishReason- skema respons
- nilai
usageMetadata - status HTTP
Dengan cara ini, smoke test manual dapat berubah menjadi regression suite yang dijalankan setiap kali prompt atau konfigurasi berubah. Lihat panduan pengujian API untuk insinyur QA untuk pola pengujian yang sama.
Penanganan kesalahan dan batas kecepatan
Respons error Gemini berisi objek error level atas dengan code, status, dan message.
| Kode | Status | Arti | Perbaikan |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
Body salah format, role tidak valid, atau contents kosong. |
Validasi body di Apidog sebelum mengirim. |
| 401 | UNAUTHENTICATED |
API key hilang atau dicabut. | Ekspor ulang GEMINI_API_KEY dan periksa key di AI Studio. |
| 403 | PERMISSION_DENIED |
Proyek tidak memiliki akses atau penagihan belum aktif. | Periksa proyek dan status penagihan. |
| 429 | RESOURCE_EXHAUSTED |
Batas kecepatan atau kuota harian tercapai. | Terapkan backoff dengan jitter, lakukan batch, atau tingkatkan tier. |
| 500 | INTERNAL |
Error server sementara. | Coba ulang dengan exponential backoff. |
| 503 | UNAVAILABLE |
Layanan sedang kelebihan beban. | Coba lagi setelah beberapa detik; pada Vertex, coba region lain. |
Terapkan tiga kebiasaan berikut di produksi:
- Bungkus setiap panggilan dalam retry helper. Tangani 429 dan 5xx dengan exponential backoff serta jitter. Wrapper sendiri memberi Anda kontrol atas logging dan circuit breaking.
- Jangan mengasumsikan angka limit. Limit berbeda per tier dan dapat berubah. Periksa langsung di halaman harga dan batas API Gemini, lalu buat peringatan saat penggunaan mencapai 80% kuota.
-
Letakkan ID model di environment variable. Jika perilaku 3.7 Flash memerlukan rollback, Anda dapat kembali ke
gemini-3.6-flashmelalui konfigurasi tanpa mengubah kode aplikasi.
FAQ
Apakah Gemini 3.7 Flash gratis untuk digunakan?
AI Studio menawarkan free tier dengan kuota harian untuk prototipe. Harga pengenalan berbayar adalah $0.75 per 1 juta token input hingga 31 Desember 2026. Untuk detail tier dan batasnya, lihat panduan akses API Gemini gratis.
Apa perbedaan antara AI Studio dan Vertex AI?
Model dan struktur body permintaannya sama, tetapi infrastrukturnya berbeda:
- AI Studio memakai API key terhadap
generativelanguage.googleapis.com. - Vertex AI memakai OAuth terhadap
aiplatform.googleapis.com, serta menyediakan IAM, audit logging, dan endpoint regional.
Mulai di AI Studio untuk prototipe, lalu gunakan Vertex ketika kebutuhan operasional dan lalu lintas meningkat.
Bisakah saya mengirim gambar, audio, dan PDF?
Ya. Gemini 3.7 Flash mendukung teks, gambar, video, audio, dan PDF sebagai bagian dari array contents. Anda dapat mengirim data secara inline dalam base64 atau melalui referensi Files API. Output tetap berupa teks.
Seberapa besar jendela konteks dan batas output?
Model mendukung 1 juta token input dan hingga 64 ribu token output. Meski konteks panjang tersedia, memecah input besar tetap dapat mengurangi biaya karena setiap token input dikenakan biaya.
Haruskah saya upgrade dari Gemini 3.6 Flash?
Untuk beban kerja agen dan kode, peningkatan benchmark membuat upgrade layak diuji. Karena API surface tidak berubah, migrasi dasar cukup mengganti ID model. Namun, lakukan regression test terhadap prompt dan alur produksi sebelum mengalihkan trafik sepenuhnya.
Lihat panduan migrasi Gemini 3.6 ke 3.7 Flash untuk area perilaku yang perlu diuji.
Di mana 3.7 Flash cocok dalam stack Anda
Gemini 3.7 Flash cocok untuk agent loop, tugas coding, ekstraksi dokumen, dan input multimodal yang membutuhkan biaya lebih rendah. Hingga akhir 2026, harga pengenalannya setengah dari harga peluncuran 3.6 Flash, sementara benchmark seperti DeepSWE dan AutomationBench meningkat secara signifikan.
Mulai dari permintaan cURL, konfirmasi struktur respons, lalu pindahkan konfigurasi yang sudah tervalidasi ke Python atau Node.js. Gunakan Apidog untuk mengimpor spesifikasi Gemini, menyimpan key sebagai variable, menguji permintaan sinkron dan streaming, serta membuat fixture pengujian sebelum integrasi masuk ke aplikasi.

Top comments (0)