Gemini 3 adalah rangkaian model kami yang paling cerdas hingga saat ini, yang dibangun di atas fondasi penalaran canggih. Gemini 1.5 Pro dirancang untuk mewujudkan ide apa pun dengan menguasai alur kerja agentic, coding otonom, dan tugas multimodal yang kompleks. Panduan ini membahas fitur utama rangkaian model Gemini 3 dan cara mengoptimalkannya.
Gemini 3 Pro menggunakan pemikiran dinamis secara default untuk memproses perintah. Untuk respons yang lebih cepat dan latensi yang lebih rendah saat penalaran yang kompleks tidak diperlukan, Anda dapat membatasi tingkat pemikiran model ke low.
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-3-pro-preview",
contents="Find the race condition in this multi-threaded C++ snippet: [code here]",
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function run() {
const response = await ai.models.generateContent({
model: "gemini-3-pro-preview",
contents="Find the race condition in this multi-threaded C++ snippet: [code here]",
});
console.log(response.text);
}
run();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Find the race condition in this multi-threaded C++ snippet: [code here]"}]
}]
}'
Jelajahi

Jelajahi koleksi aplikasi Gemini 3 kami untuk melihat cara model menangani penalaran tingkat lanjut, coding otonom, dan tugas multimodal yang kompleks.
Mengenal Gemini 3
Gemini 3 Pro adalah model pertama dalam seri baru ini. gemini-3-pro-preview paling cocok untuk tugas kompleks Anda yang memerlukan pengetahuan dunia yang luas dan penalaran tingkat lanjut di berbagai modalitas.
| ID Model | Jendela Konteks (Masuk / Keluar) | Batas Informasi | Harga (Input / Output)* |
|---|---|---|---|
| gemini-3-pro-preview | 1M / 64k | Jan 2025 | $2 / $12 (<200 ribu token) $4 / $18 (>200 ribu token) |
* Harga adalah per 1 juta token. Harga yang tercantum adalah untuk teks standar; tarif input multimodal dapat bervariasi.
Untuk mengetahui batas frekuensi panggilan mendetail, harga batch, dan informasi tambahan, lihat halaman model.
Fitur API baru di Gemini 3
Gemini 3 memperkenalkan parameter baru yang dirancang untuk memberi developer kontrol lebih besar atas latensi, biaya, dan kualitas multimodal.
Tingkat pemikiran
Parameter thinking_level mengontrol kedalaman maksimum proses penalaran internal model sebelum menghasilkan respons. Gemini 3 memperlakukan level ini sebagai alokasi relatif untuk berpikir, bukan jaminan token yang ketat. Jika thinking_level tidak ditentukan, Gemini 3 Pro akan menggunakan high sebagai default.
low: Meminimalkan latensi dan biaya. Paling cocok untuk aplikasi yang mengikuti petunjuk sederhana, chat, atau aplikasi dengan throughput tinggimedium: (Segera hadir), tidak didukung saat peluncuranhigh(Default): Memaksimalkan kedalaman penalaran. Model mungkin memerlukan waktu yang jauh lebih lama untuk mencapai token pertama, tetapi outputnya akan lebih beralasan.
Resolusi media
Gemini 3 memperkenalkan kontrol terperinci atas pemrosesan visi multimodal melalui parameter media_resolution. Resolusi yang lebih tinggi meningkatkan kemampuan model untuk membaca teks kecil atau mengidentifikasi detail kecil, tetapi meningkatkan penggunaan token dan latensi. Parameter media_resolution menentukan jumlah maksimum token yang dialokasikan per gambar input atau frame video.
Sekarang Anda dapat menyetel resolusi ke media_resolution_low, media_resolution_medium, atau media_resolution_high per bagian media individual atau secara global (melalui generation_config). Jika tidak ditentukan, model akan menggunakan default optimal berdasarkan jenis media.
Setelan yang direkomendasikan
| Jenis Media | Setelan yang Direkomendasikan | Token Maksimal | Panduan Penggunaan |
|---|---|---|---|
| Gambar | media_resolution_high |
1120 | Direkomendasikan untuk sebagian besar tugas analisis gambar guna memastikan kualitas maksimum. |
media_resolution_medium |
560 | Optimal untuk pemahaman dokumen; kualitas biasanya mencapai titik jenuh pada medium. Meningkatkan ke high jarang meningkatkan hasil OCR untuk dokumen standar. |
|
| Video (Umum) | media_resolution_low (atau media_resolution_medium) |
70 (per frame) | Catatan: Untuk video, setelan low dan medium diperlakukan sama (70 token) untuk mengoptimalkan penggunaan konteks. Langkah ini cukup untuk sebagian besar tugas pengenalan dan deskripsi tindakan. |
| Video (Banyak teks) | media_resolution_high |
280 (per frame) | Diperlukan hanya jika kasus penggunaan melibatkan pembacaan teks padat (OCR) atau detail kecil dalam frame video. |
Python
from google import genai
from google.genai import types
import base64
# The media_resolution parameter is currently only available in the v1alpha API version.
client = genai.Client(http_options={'api_version': 'v1alpha'})
response = client.models.generate_content(
model="gemini-3-pro-preview",
contents=[
types.Content(
parts=[
types.Part(text="What is in this image?"),
types.Part(
inline_data=types.Blob(
mime_type="image/jpeg",
data=base64.b64decode("..."),
),
media_resolution={"level": "media_resolution_high"}
)
]
)
]
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
// The media_resolution parameter is currently only available in the v1alpha API version.
const ai = new GoogleGenAI({ apiVersion: "v1alpha" });
async function run() {
const response = await ai.models.generateContent({
model: "gemini-3-pro-preview",
contents: [
{
parts: [
{ text: "What is in this image?" },
{
inlineData: {
mimeType: "image/jpeg",
data: "...",
},
mediaResolution: {
level: "media_resolution_high"
}
}
]
}
]
});
console.log(response.text);
}
run();
REST
curl "https://generativelanguage.googleapis.com/v1alpha/models/gemini-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [
{ "text": "What is in this image?" },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "..."
},
"mediaResolution": {
"level": "media_resolution_high"
}
}
]
}]
}'
Suhu
Untuk Gemini 3, sebaiknya pertahankan parameter suhu pada nilai defaultnya, yaitu 1.0.
Meskipun model sebelumnya sering kali diuntungkan dari penyesuaian suhu untuk mengontrol kreativitas versus determinisme, kemampuan penalaran Gemini 3 dioptimalkan untuk setelan default. Mengubah suhu (menetapkannya di bawah 1.0) dapat menyebabkan perilaku yang tidak terduga, seperti perulangan atau penurunan performa, terutama dalam tugas matematika atau penalaran yang kompleks.
Tanda tangan pikiran
Gemini 3 menggunakan Tanda tangan pemikiran untuk mempertahankan konteks penalaran di seluruh panggilan API. Tanda tangan ini adalah representasi terenkripsi dari proses pemikiran internal model. Untuk memastikan model mempertahankan kemampuan penalaran, Anda harus mengembalikan tanda tangan ini ke model dalam permintaan Anda persis seperti yang diterima:
- Panggilan Fungsi (Ketat): API menerapkan validasi ketat pada "Giliran Saat Ini". Tanda tangan yang tidak ada akan menghasilkan error 400.
- Teks/Chat: Validasi tidak diterapkan secara ketat, tetapi menghilangkan tanda tangan akan menurunkan kualitas penalaran dan jawaban model.
Panggilan fungsi (validasi ketat)
Saat membuat functionCall, Gemini mengandalkan thoughtSignature untuk memproses output alat dengan benar pada giliran berikutnya. "Giliran Saat Ini" mencakup semua langkah Model (functionCall) dan Pengguna (functionResponse) yang terjadi sejak pesan text Pengguna standar terakhir.
- Panggilan Fungsi Tunggal: Bagian
functionCallberisi tanda tangan. Anda harus mengembalikannya. - Panggilan Fungsi Paralel: Hanya bagian
functionCallpertama dalam daftar yang akan berisi tanda tangan. Anda harus mengembalikan suku cadang dalam urutan yang sama persis seperti saat diterima. - Multi-Langkah (Berurutan): Jika model memanggil alat, menerima hasil, dan memanggil alat lain (dalam giliran yang sama), kedua panggilan fungsi memiliki tanda tangan. Anda harus menampilkan semua tanda tangan yang terkumpul dalam histori.
Teks dan streaming
Untuk chat standar atau pembuatan teks, kehadiran tanda tangan tidak dijamin.
- Non-Streaming: Bagian konten akhir respons dapat berisi
thoughtSignature, meskipun tidak selalu ada. Jika salah satunya dikembalikan, Anda harus mengirimkannya kembali untuk mempertahankan performa terbaik. - Streaming: Jika tanda tangan dibuat, tanda tangan tersebut dapat tiba dalam potongan akhir yang berisi bagian teks kosong. Pastikan parser streaming Anda memeriksa tanda tangan meskipun kolom teks kosong.
Contoh kode
Panggilan Fungsi Multi-Langkah (Berurutan)
Pengguna mengajukan pertanyaan yang memerlukan dua langkah terpisah (Periksa Penerbangan -> Pesan Taksi) dalam satu giliran.
Langkah 1: Model memanggil Alat Penerbangan.
Model menampilkan tanda tangan <Sig_A>
// Model Response (Turn 1, Step 1) { "role": "model", "parts": [ { "functionCall": { "name": "check_flight", "args": {...} }, "thoughtSignature": "<Sig_A>" // SAVE THIS } ] }
Langkah 2: Pengguna mengirimkan Hasil Penerbangan
Kita harus mengirimkan kembali <Sig_A> untuk mempertahankan alur pemikiran model.
// User Request (Turn 1, Step 2) [ { "role": "user", "parts": [{ "text": "Check flight AA100..." }] }, { "role": "model", "parts": [ { "functionCall": { "name": "check_flight", "args": {...} }, "thoughtSignature": "<Sig_A>" // REQUIRED } ] }, { "role": "user", "parts": [{ "functionResponse": { "name": "check_flight", "response": {...} } }] } ]
Langkah 3: Model memanggil Alat Taksi
Model mengingat penundaan penerbangan melalui <Sig_A> dan sekarang memutuskan untuk memesan taksi. Tindakan ini akan menghasilkan tanda tangan baru <Sig_B>.
// Model Response (Turn 1, Step 3) { "role": "model", "parts": [ { "functionCall": { "name": "book_taxi", "args": {...} }, "thoughtSignature": "<Sig_B>" // SAVE THIS } ] }
Langkah 4: Pengguna mengirim Hasil Taksi
Untuk menyelesaikan giliran, Anda harus mengirim kembali seluruh rangkaian: <Sig_A> DAN <Sig_B>.
// User Request (Turn 1, Step 4) [ // ... previous history ... { "role": "model", "parts": [ { "functionCall": { "name": "check_flight", ... }, "thoughtSignature": "<Sig_A>" } ] }, { "role": "user", "parts": [{ "functionResponse": {...} }] }, { "role": "model", "parts": [ { "functionCall": { "name": "book_taxi", ... }, "thoughtSignature": "<Sig_B>" } ] }, { "role": "user", "parts": [{ "functionResponse": {...} }] } ]
Panggilan Fungsi Paralel
Pengguna bertanya: "Cek cuaca di Paris dan London". Model menampilkan dua panggilan fungsi dalam satu respons.
// User Request (Sending Parallel Results) [ { "role": "user", "parts": [ { "text": "Check the weather in Paris and London." } ] }, { "role": "model", "parts": [ // 1. First Function Call has the signature { "functionCall": { "name": "check_weather", "args": { "city": "Paris" } }, "thoughtSignature": "<Signature_A>" }, // 2. Subsequent parallel calls DO NOT have signatures { "functionCall": { "name": "check_weather", "args": { "city": "London" } } } ] }, { "role": "user", "parts": [ // 3. Function Responses are grouped together in the next block { "functionResponse": { "name": "check_weather", "response": { "temp": "15C" } } }, { "functionResponse": { "name": "check_weather", "response": { "temp": "12C" } } } ] } ]
Penalaran Teks/Dalam Konteks (Tanpa Validasi)
Pengguna mengajukan pertanyaan yang memerlukan penalaran dalam konteks tanpa alat eksternal. Meskipun tidak divalidasi secara ketat, menyertakan tanda tangan membantu model mempertahankan rantai penalaran untuk pertanyaan lanjutan.
// User Request (Follow-up question) [ { "role": "user", "parts": [{ "text": "What are the risks of this investment?" }] }, { "role": "model", "parts": [ { "text": "I need to calculate the risk step-by-step. First, I'll look at volatility...", "thoughtSignature": "<Signature_C>" // Recommended to include } ] }, { "role": "user", "parts": [{ "text": "Summarize that in one sentence." }] } ]
Bermigrasi dari model lain
Jika Anda mentransfer rekaman aktivitas percakapan dari model lain (misalnya, Gemini 2.5) atau menyuntikkan panggilan fungsi kustom yang tidak dibuat oleh Gemini 3, Anda tidak akan memiliki tanda tangan yang valid.
Untuk melewati validasi ketat dalam skenario tertentu ini, isi kolom dengan string dummy khusus ini: "thoughtSignature": "context_engineering_is_the_way_to_go"
Output Terstruktur dengan alat
Gemini 3 memungkinkan Anda menggabungkan Output Terstruktur dengan alat bawaan, termasuk Perujukan dengan Google Penelusuran, Konteks URL, dan Eksekusi Kode.
Python
from google import genai
from google.genai import types
from pydantic import BaseModel, Field
from typing import List
class MatchResult(BaseModel):
winner: str = Field(description="The name of the winner.")
final_match_score: str = Field(description="The final match score.")
scorers: List[str] = Field(description="The name of the scorer.")
client = genai.Client()
response = client.models.generate_content(
model="gemini-3-pro-preview",
contents="Search for all details for the latest Euro.",
config={
"tools": [
{"google_search": {}},
{"url_context": {}}
],
"response_mime_type": "application/json",
"response_json_schema": MatchResult.model_json_schema(),
},
)
result = MatchResult.model_validate_json(response.text)
print(result)
JavaScript
import { GoogleGenAI } from "@google/genai";
import { z } from "zod";
import { zodToJsonSchema } from "zod-to-json-schema";
const ai = new GoogleGenAI({});
const matchSchema = z.object({
winner: z.string().describe("The name of the winner."),
final_match_score: z.string().describe("The final score."),
scorers: z.array(z.string()).describe("The name of the scorer.")
});
async function run() {
const response = await ai.models.generateContent({
model: "gemini-3-pro-preview",
contents: "Search for all details for the latest Euro.",
config: {
tools: [
{ googleSearch: {} },
{ urlContext: {} }
],
responseMimeType: "application/json",
responseJsonSchema: zodToJsonSchema(matchSchema),
},
});
const match = matchSchema.parse(JSON.parse(response.text));
console.log(match);
}
run();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Search for all details for the latest Euro."}]
}],
"tools": [
{"googleSearch": {}},
{"urlContext": {}}
],
"generationConfig": {
"responseMimeType": "application/json",
"responseJsonSchema": {
"type": "object",
"properties": {
"winner": {"type": "string", "description": "The name of the winner."},
"final_match_score": {"type": "string", "description": "The final score."},
"scorers": {
"type": "array",
"items": {"type": "string"},
"description": "The name of the scorer."
}
},
"required": ["winner", "final_match_score", "scorers"]
}
}
}'
Bermigrasi dari Gemini 2.5
Gemini 3 adalah lini model kami yang paling andal hingga saat ini dan menawarkan peningkatan bertahap dibandingkan Gemini 2.5 Pro. Saat melakukan migrasi, pertimbangkan hal berikut:
- Penalaran: Jika sebelumnya Anda menggunakan teknik pembuatan perintah yang kompleks (seperti Chain-of-thought) untuk memaksa Gemini 2.5 melakukan penalaran, coba Gemini 3 dengan
thinking_level: "high"dan perintah yang disederhanakan. - Setelan suhu: Jika kode yang ada secara eksplisit menetapkan suhu (terutama ke nilai rendah untuk output deterministik), sebaiknya hapus parameter ini dan gunakan nilai default Gemini 3 sebesar 1.0 untuk menghindari potensi masalah perulangan atau penurunan performa pada tugas yang kompleks.
- Pemahaman PDF & dokumen: Resolusi OCR default untuk PDF telah berubah. Jika Anda mengandalkan perilaku tertentu untuk penguraian dokumen padat, uji setelan
media_resolution_highbaru untuk memastikan akurasi berkelanjutan. - Penggunaan token: Bermigrasi ke setelan default Gemini 3 Pro dapat meningkatkan penggunaan token untuk PDF, tetapi menurunkan penggunaan token untuk video. Jika permintaan kini melebihi jendela konteks karena resolusi default yang lebih tinggi, sebaiknya kurangi resolusi media secara eksplisit.
- Segmentasi gambar: Kemampuan segmentasi gambar (menampilkan mask tingkat piksel untuk objek) tidak didukung di Gemini 3 Pro. Untuk workload yang memerlukan segmentasi gambar native, sebaiknya terus gunakan Gemini 2.5 Flash dengan penalaran dinonaktifkan atau Gemini Robotics-ER 1.5.
Kompatibilitas OpenAI
Untuk pengguna yang memanfaatkan lapisan kompatibilitas OpenAI, parameter standar akan otomatis dipetakan ke parameter yang setara di Gemini:
reasoning_effort(OAI) dipetakan kethinking_level(Gemini). Perhatikan bahwareasoning_effortsedang dipetakan kethinking_leveltinggi.
Praktik terbaik pembuatan perintah
Gemini 3 adalah model penalaran, yang mengubah cara Anda memberikan perintah.
- Petunjuk yang presisi: Berikan perintah input yang ringkas. Gemini 3 merespons dengan baik petunjuk yang langsung dan jelas. Model ini dapat menganalisis secara berlebihan teknik rekayasa perintah yang panjang atau terlalu rumit yang digunakan untuk model lama.
- Panjang output: Secara default, Gemini 3 tidak terlalu panjang dan lebih memilih memberikan jawaban yang langsung dan efisien. Jika kasus penggunaan Anda memerlukan persona yang lebih komunikatif atau "ramah", Anda harus mengarahkan model secara eksplisit dalam perintah (misalnya, "Explain this as a friendly, talkative assistant" (Jelaskan ini sebagai asisten yang ramah dan banyak bicara).
- Pengelolaan konteks: Saat bekerja dengan set data besar (misalnya, seluruh buku, codebase, atau video panjang), tempatkan petunjuk atau pertanyaan spesifik Anda di akhir perintah, setelah konteks data. Berikan alasan model berdasarkan data yang diberikan dengan memulai pertanyaan Anda dengan frasa seperti, "Berdasarkan informasi di atas...".
Pelajari lebih lanjut strategi desain perintah dalam panduan rekayasa perintah.
FAQ
Apa batas pengetahuan untuk Gemini 3 Pro? Gemini 3 memiliki batas pengetahuan hingga Januari 2025. Untuk informasi terbaru, gunakan alat Perujukan Penelusuran.
Berapa batas jendela konteks? Gemini 3 Pro mendukung jendela konteks input 1 juta token dan output hingga 64 ribu token.
Apakah ada paket gratis untuk Gemini 3 Pro? Anda dapat mencoba model ini secara gratis di Google AI Studio, tetapi saat ini tidak ada paket gratis yang tersedia untuk
gemini-3-pro-previewdi Gemini API.Apakah kode
thinking_budgetlama saya masih berfungsi? Ya,thinking_budgetmasih didukung untuk kompatibilitas mundur, tetapi sebaiknya Anda bermigrasi kethinking_leveluntuk performa yang lebih dapat diprediksi. Jangan gunakan keduanya dalam permintaan yang sama.Apakah Gemini 3 mendukung Batch API? Ya, Gemini 3 mendukung Batch API.
Apakah Context Caching didukung? Ya, Penyimpanan Cache Konteks didukung untuk Gemini 3. Jumlah minimum token yang diperlukan untuk memulai penyimpanan dalam cache adalah 2.048 token.
Alat mana yang didukung di Gemini 3? Gemini 3 mendukung Google Penelusuran, Penelusuran File, Eksekusi Kode, dan Konteks URL. Fitur ini juga mendukung Panggilan Fungsi standar untuk alat kustom Anda sendiri. Perhatikan bahwa Google Maps dan Penggunaan Komputer saat ini tidak didukung.
Langkah berikutnya
- Mulai menggunakan Gemini 3 Cookbook
- Lihat panduan Cookbook khusus tentang tingkat penalaran dan cara bermigrasi dari anggaran penalaran ke tingkat penalaran.