Gemini 3 Geliştirici Kılavuzu

Gemini 3, şimdiye kadarki en akıllı model ailemizdir ve son teknoloji akıl yürütme temeli üzerine kurulmuştur. Ajan tabanlı iş akışlarında, bağımsız kodlamada ve karmaşık çok formatlı görevlerde uzmanlaşarak her fikri hayata geçirmek için tasarlanmıştır. Bu kılavuzda, Gemini 3 model ailesinin temel özellikleri ve bu özelliklerden en iyi şekilde nasıl yararlanabileceğiniz açıklanmaktadır.

Modelin gelişmiş akıl yürütme, bağımsız kodlama ve karmaşık çok formatlı görevleri nasıl ele aldığını görmek için Gemini 3 uygulamaları koleksiyonumuzu inceleyin.

Birkaç satır kodla başlayın:

Python

from google import genai

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]"}]
    }]
  }'

Gemini 3 serisiyle tanışın

Yeni serinin ilk modeli olan Gemini 3 Pro, geniş dünya bilgisi ve farklı formatlarda gelişmiş mantık yürütme gerektiren karmaşık görevler için en uygun modeldir.

Gemini 3 Flash, Flash'in hızında ve fiyatıyla profesyonel düzeyde zeka sunan en yeni 3 serisi modelimizdir.

Nano Banana Pro (Gemini 3 Pro Image olarak da bilinir), şimdiye kadarki en yüksek kaliteli görüntü üretme modelimizdir.

Tüm Gemini 3 modelleri şu anda önizleme sürümündedir.

Model Kimliği Bağlam penceresi (Giriş / Çıkış) Son güncel bilgi tarihi Fiyatlandırma (Giriş / Çıkış)*
gemini-3-pro-preview 1M / 64k Ocak 2025 2 ABD doları / 12 ABD doları (<200 bin parça)
4 ABD doları / 18 ABD doları (>200 bin parça)
gemini-3-flash-preview 1M / 64k Ocak 2025 0,50 ABD doları / 3 ABD doları
gemini-3-pro-image-preview 65 bin / 32 bin Ocak 2025 2 ABD doları (Metin Girişi) / 0,134 ABD doları (Resim Çıkışı)**

* Aksi belirtilmedikçe fiyatlandırma 1 milyon jeton içindir. ** Görüntü fiyatlandırması çözünürlüğe göre değişir. Ayrıntılar için fiyatlandırma sayfasına göz atın.

Ayrıntılı sınırlar, fiyatlandırma ve ek bilgiler için modeller sayfasına bakın.

Gemini 3'teki yeni API özellikleri

Gemini 3, geliştiricilerin gecikme, maliyet ve çok formatlı doğruluk üzerinde daha fazla kontrol sahibi olmasını sağlamak için tasarlanmış yeni parametreler sunar.

Düşünme düzeyi

Gemini 3 serisi modeller, istemler üzerinde akıl yürütmek için varsayılan olarak dinamik düşünme özelliğini kullanır. Modelin yanıt oluşturmadan önce dahili akıl yürütme sürecinin maksimum derinliğini kontrol eden thinking_level parametresini kullanabilirsiniz. Gemini 3, bu seviyeleri katı jeton garantileri yerine düşünme için göreli izinler olarak değerlendirir.

thinking_level belirtilmezse Gemini 3 varsayılan olarak high değerini kullanır. Karmaşık akıl yürütme gerekmeyen durumlarda daha hızlı ve daha düşük gecikmeli yanıtlar için modelin düşünce düzeyini low ile sınırlayabilirsiniz.

Gemini 3 Pro ve Flash düşünme düzeyleri:

Aşağıdaki düşünme seviyeleri hem Gemini 3 Pro hem de Flash tarafından desteklenir:

  • low: Gecikmeyi ve maliyeti en aza indirir. Basit talimatları uygulamak, sohbet etmek veya yüksek işleme hızlı uygulamalar için en iyisidir.
  • high (Varsayılan, dinamik): Muhakeme derinliğini en üst düzeye çıkarır. Modelin ilk jetona ulaşması çok daha uzun sürebilir ancak çıkış daha dikkatli bir şekilde gerekçelendirilir.

Gemini 3 Flash düşünme seviyeleri

Yukarıdaki seviyelere ek olarak Gemini 3 Flash, şu anda Gemini 3 Pro tarafından desteklenmeyen aşağıdaki düşünce seviyelerini de destekler:

  • minimal: Çoğu sorgu için "düşünme" ayarıyla eşleşir. Model, karmaşık kodlama görevlerinde çok az düşünebilir. Sohbet veya yüksek işleme hızına sahip uygulamalarda gecikmeyi en aza indirir.

  • medium: Çoğu görev için dengeli düşünme.

Python

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents="How does AI work?",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="low")
    ),
)

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const response = await ai.models.generateContent({
    model: "gemini-3-pro-preview",
    contents: "How does AI work?",
    config: {
      thinkingConfig: {
        thinkingLevel: "low",
      }
    },
  });

console.log(response.text);

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": "How does AI work?"}]
    }],
    "generationConfig": {
      "thinkingConfig": {
        "thinkingLevel": "low"
      }
    }
  }'

Medya çözünürlüğü

Gemini 3, media_resolution parametresi aracılığıyla çok formatlı görüntü işleme üzerinde ayrıntılı kontrol sunar. Daha yüksek çözünürlükler, modelin küçük metinleri okuma veya küçük ayrıntıları tanımlama becerisini artırır ancak jeton kullanımını ve gecikmeyi de artırır. media_resolution parametresi, giriş resim veya video karesi başına ayrılan maksimum jeton sayısını belirler.

Artık çözünürlüğü her bir medya bölümü için ayrı ayrı veya genel olarak (generation_config üzerinden; ultra yüksek için genel olarak kullanılamaz) media_resolution_low, media_resolution_medium, media_resolution_high ya da media_resolution_ultra_high olarak ayarlayabilirsiniz. Belirtilmezse model, medya türüne göre optimum varsayılan değerleri kullanır.

Önerilen ayarlar

Medya Türü Önerilen ayar Maksimum jeton sayısı Kullanım Yönergeleri
Resimler media_resolution_high 1120 Maksimum kaliteyi sağlamak için çoğu görüntü analizi görevinde önerilir.
PDF'ler media_resolution_medium 560 Belge anlamak için idealdir. Kalite genellikle medium'da doygunluğa ulaşır. high'ya yükseltmek, standart dokümanlar için OCR sonuçlarını nadiren iyileştirir.
Video (Genel) media_resolution_low (veya media_resolution_medium) 70 (kare başına) Not: Video için low ve medium ayarları, bağlam kullanımını optimize etmek amacıyla aynı şekilde (70 jeton) değerlendirilir. Bu, çoğu eylem tanıma ve açıklama görevi için yeterlidir.
Video (Metin ağırlıklı) media_resolution_high 280 (kare başına) Yalnızca kullanım alanında yoğun metin okuma (OCR) veya video karelerindeki küçük ayrıntılar yer aldığında gereklidir.

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"
          }
        }
      ]
    }]
  }'

Sıcaklık

Gemini 3 için sıcaklık parametresini varsayılan değeri olan 1.0'da tutmanızı önemle tavsiye ederiz.

Önceki modellerde yaratıcılık ile determinizm arasındaki dengeyi kontrol etmek için genellikle sıcaklık ayarından yararlanılırdı. Ancak Gemini 3'ün akıl yürütme özellikleri varsayılan ayar için optimize edilmiştir. Sıcaklığı değiştirmek (1, 0'ın altına ayarlamak), özellikle karmaşık matematiksel veya muhakeme görevlerinde döngüye girme ya da performansın düşmesi gibi beklenmedik davranışlara yol açabilir.

Düşünce imzaları

Gemini 3, API çağrıları arasında akıl yürütme bağlamını korumak için düşünce imzalarını kullanır. Bu imzalar, modelin dahili düşünce sürecinin şifrelenmiş gösterimleridir. Modelin muhakeme yeteneklerini korumasını sağlamak için bu imzaları isteğinizde modele alındıkları şekilde geri göndermeniz gerekir:

  • İşlev Çağrısı (Katı): API, "Mevcut Sıra" üzerinde katı doğrulama uygular. Eksik imzalar 400 hatasına neden olur.

  • Metin/Sohbet: Doğrulama katı bir şekilde uygulanmaz ancak imzaların çıkarılması modelin akıl yürütme ve yanıt kalitesini düşürür.

  • Görüntü üretme/düzenleme (Katı): API, thoughtSignature dahil olmak üzere tüm Model bölümlerinde katı doğrulama uygular. Eksik imzalar 400 hatasına neden olur.

İşlev çağırma (katı doğrulama)

Gemini, functionCall oluşturduğunda aracın çıkışını bir sonraki adımda doğru şekilde işlemek için thoughtSignature kullanır. "Mevcut Tur", son standart Kullanıcı text mesajından bu yana gerçekleşen tüm Model (functionCall) ve Kullanıcı (functionResponse) adımlarını içerir.

  • Tek İşlev Çağrısı: functionCall bölümü bir imza içerir. Ürünü iade etmeniz gerekir.
  • Paralel İşlev Çağrıları: Listedeki yalnızca ilk functionCall bölümü imzayı içerir. Parçaları, aldığınız sırayla iade etmeniz gerekir.
  • Çok adımlı (Sıralı): Model bir aracı çağırır, sonuç alır ve başka bir aracı çağırırsa (aynı dönüş içinde) her iki işlev çağrısının da imzası olur. Geçmişte biriken tüm imzaları döndürmeniz gerekir.

Metin ve canlı yayın

Standart sohbet veya metin oluşturma işlemlerinde imza bulunması garanti edilmez.

  • Akış Olmayan: Yanıtın son içerik bölümünde thoughtSignature bulunabilir ancak bu her zaman geçerli değildir. Bir cihaz iade edilirse en iyi performansı korumak için cihazı geri göndermeniz gerekir.
  • Yayın: İmza oluşturulursa boş metin bölümü içeren son bir parça olarak gelebilir. Akış ayrıştırıcınızın, metin alanı boş olsa bile imzaları kontrol ettiğinden emin olun.

Görüntü üretme ve düzenleme

gemini-3-pro-image-preview için düşünce imzaları, sohbet tarzında düzenleme açısından kritik önem taşır. Modelden bir resmi değiştirmesini istediğinizde, orijinal resmin kompozisyonunu ve mantığını anlamak için önceki dönüşteki thoughtSignature öğesine başvurur.

  • Düzenleme: Yanıtın düşüncelerinden sonraki ilk bölümde (text veya inlineData) ve sonraki her inlineData bölümünde imzalar garanti edilir. Hata almamak için bu imzaların tümünü döndürmeniz gerekir.

Kod örnekleri

Çok adımlı işlev çağırma (sıralı)

Kullanıcı, tek bir dönüşte iki ayrı adım (Uçuşu Kontrol Et -> Taksi Rezervasyonu Yap) gerektiren bir soru soruyor.

1. adım: Model, Uçuş Aracı'nı çağırır.
Model, imza döndürüyor <Sig_A>

// Model Response (Turn 1, Step 1)
  {
    "role": "model",
    "parts": [
      {
        "functionCall": { "name": "check_flight", "args": {...} },
        "thoughtSignature": "<Sig_A>" // SAVE THIS
      }
    ]
  }

2. adım: Kullanıcı, uçuş sonucu gönderir
Modelin düşünce akışını korumak için <Sig_A> yanıtını göndermemiz gerekir.

// 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": {...} } }] }
]

3. adım: Model, Taksi Aracı'nı çağırıyor
Model, <Sig_A> aracılığıyla uçuş gecikmesini hatırlıyor ve şimdi taksi rezervasyonu yapmaya karar veriyor. Yeni bir imza <Sig_B> oluşturur.

// Model Response (Turn 1, Step 3)
{
  "role": "model",
  "parts": [
    {
      "functionCall": { "name": "book_taxi", "args": {...} },
      "thoughtSignature": "<Sig_B>" // SAVE THIS
    }
  ]
}

4. adım: Kullanıcı, Taksi Sonucu gönderir
Sırayı tamamlamak için <Sig_A> VE <Sig_B> zincirinin tamamını geri göndermeniz gerekir.

// 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": {...} }] }
]

Paralel İşlev Çağırma

Kullanıcı, "Paris ve Londra'da hava durumunu kontrol et" diye soruyor. Model, tek bir yanıtta iki işlev çağrısı döndürüyor.

// 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" } }
      }
    ]
  }
]

Metin/Bağlam İçinde Akıl Yürütme (Doğrulama Yok)

Kullanıcı, harici araçlar olmadan bağlam içi akıl yürütme gerektiren bir soru soruyor. Kesin olarak doğrulanmasa da imzayı eklemek, modelin takip soruları için muhakeme zincirini korumasına yardımcı olur.

// 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." }] 
  }
]

Görüntü üretme ve düzenleme

Görüntü üretme için imzalar sıkı bir şekilde doğrulanır. Bunlar ilk bölümde (metin veya resim) ve sonraki tüm resim bölümlerinde gösterilir. Hepsini bir sonraki turda geri vermeniz gerekir.

// Model Response (Turn 1)
{
  "role": "model",
  "parts": [
    // 1. First part ALWAYS has a signature (even if text)
    {
      "text": "I will generate a cyberpunk city...",
      "thoughtSignature": "<Signature_D>" 
    },
    // 2. ALL InlineData (Image) parts ALWAYS have signatures
    {
      "inlineData": { ... }, 
      "thoughtSignature": "<Signature_E>" 
    },
  ]
}

// User Request (Turn 2 - Requesting an Edit)
{
  "contents": [
    // History must include ALL signatures received
    {
      "role": "user",
      "parts": [{ "text": "Generate a cyberpunk city" }]
    },
    {
      "role": "model",
      "parts": [
         { "text": "...", "thoughtSignature": "<Signature_D>" },
         { "inlineData": "...", "thoughtSignature": "<Signature_E>" },
      ]
    },
    // New User Prompt
    {
      "role": "user",
      "parts": [{ "text": "Make it daytime." }]
    }
  ]
}

Diğer modellerden veri taşıma

Başka bir modelden (ör. Gemini 3 tarafından oluşturulmamış özel bir işlev çağrısı ekliyorsanız geçerli bir imzanız olmaz.

Bu belirli senaryolarda katı doğrulamayı atlamak için alanı şu belirli sahte dizeyle doldurun: "thoughtSignature": "context_engineering_is_the_way_to_go"

Araçlarla yapılandırılmış çıkışlar

Gemini 3 modelleri, Yapılandırılmış ÇıkışlarGoogle Arama ile Temellendirme, URL Bağlamı ve Kod Yürütme gibi yerleşik araçlarla birleştirmenize olanak tanır.

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"]
        }
    }
  }'

Görüntü üretme

Gemini 3 Pro Image, metin istemlerinden görüntü oluşturmanıza ve düzenlemenize olanak tanır. İstemleri "düşünmek" için akıl yürütme özelliğini kullanır ve yüksek kaliteli görüntüler oluşturmadan önce Google Arama'yı temel alarak hava durumu tahminleri veya borsa grafikleri gibi gerçek zamanlı verileri alabilir.

Yeni ve iyileştirilmiş özellikler:

  • 4K ve metin oluşturma: 2K ve 4K çözünürlüklerde net ve okunabilir metinler ve diyagramlar oluşturun.
  • Temellendirilmiş üretim: Gerçek dünyadaki bilgilere dayalı olarak bilgileri doğrulamak ve görüntüler oluşturmak için google_search aracını kullanın.
  • Sohbet ederek düzenleme: Yalnızca değişiklik isteyerek çok turlu görüntü düzenleme (ör. "Arka planı gün batımı yap"). Bu iş akışında, dönüşler arasındaki görsel bağlamı korumak için Düşünce İmzaları kullanılır.

En-boy oranları, düzenleme iş akışları ve yapılandırma seçenekleriyle ilgili tüm ayrıntılar için Görüntü Oluşturma Kılavuzu'na bakın.

Python

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-pro-image-preview",
    contents="Generate an infographic of the current weather in Tokyo.",
    config=types.GenerateContentConfig(
        tools=[{"google_search": {}}],
        image_config=types.ImageConfig(
            aspect_ratio="16:9",
            image_size="4K"
        )
    )
)

image_parts = [part for part in response.parts if part.inline_data]

if image_parts:
    image = image_parts[0].as_image()
    image.save('weather_tokyo.png')
    image.show()

JavaScript

import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";

const ai = new GoogleGenAI({});

async function run() {
  const response = await ai.models.generateContent({
    model: "gemini-3-pro-image-preview",
    contents: "Generate a visualization of the current weather in Tokyo.",
    config: {
      tools: [{ googleSearch: {} }],
      imageConfig: {
        aspectRatio: "16:9",
        imageSize: "4K"
      }
    }
  });

  for (const part of response.candidates[0].content.parts) {
    if (part.inlineData) {
      const imageData = part.inlineData.data;
      const buffer = Buffer.from(imageData, "base64");
      fs.writeFileSync("weather_tokyo.png", buffer);
    }
  }
}

run();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [{
      "parts": [{"text": "Generate a visualization of the current weather in Tokyo."}]
    }],
    "tools": [{"googleSearch": {}}],
    "generationConfig": {
        "imageConfig": {
          "aspectRatio": "16:9",
          "imageSize": "4K"
      }
    }
  }'

Örnek Yanıt

Weather Tokyo

Gemini 2.5'ten taşıma

Gemini 3, bugüne kadarki en yetenekli model ailemizdir ve Gemini 2.5'e kıyasla kademeli bir iyileşme sunar. Taşıma işlemi yaparken aşağıdakileri göz önünde bulundurun:

  • Düşünen: Gemini 2.5'i mantık yürütmeye zorlamak için daha önce karmaşık istem mühendisliği (ör. düşünce zinciri) kullanıyorsanız thinking_level: "high" ile Gemini 3'ü ve basitleştirilmiş istemleri deneyin.
  • Sıcaklık ayarları: Mevcut kodunuz sıcaklığı açıkça ayarlıyorsa (özellikle deterministik çıkışlar için düşük değerlere ayarlıyorsa) olası döngü sorunlarını veya karmaşık görevlerde performans düşüşünü önlemek için bu parametreyi kaldırmanızı ve Gemini 3'ün varsayılan değeri olan 1.0'ı kullanmanızı öneririz.
  • PDF ve belge anlama: PDF'ler için varsayılan OCR çözünürlüğü değiştirildi. Yoğun doküman ayrıştırma için belirli bir davranışa güveniyorsanız doğruluğun devamlılığını sağlamak amacıyla yeni media_resolution_high ayarını test edin.
  • Jeton tüketimi: Gemini 3 varsayılanlarına geçiş, PDF'ler için jeton kullanımını artırabilir ancak videolar için jeton kullanımını azaltabilir. Varsayılan çözünürlüklerin yükselmesi nedeniyle istekler artık bağlam penceresini aşıyorsa medya çözünürlüğünü açıkça düşürmenizi öneririz.
  • Görüntü segmentasyonu: Görüntü segmentasyonu özellikleri (nesneler için piksel düzeyinde maskeler döndürme), Gemini 3 Pro veya Gemini 3 Flash'te desteklenmez. Yerel görüntü segmentasyonu gerektiren iş yükleri için düşünme özelliği devre dışı bırakılmış Gemini 2.5 Flash veya Gemini Robotics-ER 1.5'i kullanmaya devam etmenizi öneririz.
  • Araç desteği: Haritalar temellendirme ve Bilgisayar kullanımı araçları henüz Gemini 3 modellerinde desteklenmediği için taşınmaz. Ayrıca, yerleşik araçların işlev çağrısıyla birlikte kullanılması henüz desteklenmemektedir.

OpenAI uyumluluğu

OpenAI uyumluluk katmanını kullanan kullanıcılar için standart parametreler, Gemini'daki eşdeğerleriyle otomatik olarak eşlenir:

  • reasoning_effort (OAI) thinking_level (Gemini) ile eşlenir. reasoning_effort orta seviyesinin thinking_level yüksek seviyesine karşılık geldiğini unutmayın.

İstem yazmayla ilgili en iyi uygulamalar

Gemini 3, istem oluşturma şeklinizi değiştiren bir akıl yürütme modelidir.

  • Net talimatlar: Giriş istemlerinizde kısa ve öz olun. Gemini 3, doğrudan ve net talimatlara en iyi şekilde yanıt verir. Eski modeller için kullanılan ayrıntılı veya aşırı karmaşık istem mühendisliği tekniklerini aşırı analiz edebilir.
  • Çıkış ayrıntı düzeyi: Gemini 3 varsayılan olarak daha az ayrıntılıdır ve doğrudan, etkili yanıtlar vermeyi tercih eder. Kullanım alanınız daha sohbetvari veya "konuşkan" bir karakter gerektiriyorsa istemde modeli açıkça yönlendirmeniz gerekir (ör. "Bunu arkadaş canlısı ve konuşkan bir asistan gibi açıkla").
  • Bağlam yönetimi: Büyük veri kümeleriyle (ör. kitapların tamamı, kod tabanları veya uzun videolar) çalışırken özel talimatlarınızı ya da sorularınızı istemin sonuna, veri bağlamından sonra ekleyin. Sorunuza "Yukarıdaki bilgilere göre..." gibi bir ifadeyle başlayarak modelin muhakemesini sağlanan verilere dayandırın.

İstem tasarımı stratejileri hakkında daha fazla bilgiyi istem mühendisliği kılavuzunda bulabilirsiniz.

SSS

  1. Gemini 3'ün bilgi kesme tarihi nedir? Gemini 3 modellerinin bilgi kesme tarihi Ocak 2025'tir. Daha güncel bilgiler için Search Grounding aracını kullanın.

  2. Bağlam penceresi sınırları nelerdir? Gemini 3 modelleri, 1 milyon parçalık giriş bağlam penceresini ve 64 bin parçaya kadar çıkışı destekler.

  3. Gemini 3 için ücretsiz katman var mı? Gemini 3 Flash gemini-3-flash-preview, Gemini API'de ücretsiz katmana sahiptir. Google AI Studio'da hem Gemini 3 Pro hem de Flash'i ücretsiz olarak deneyebilirsiniz ancak şu anda Gemini API'de gemini-3-pro-preview için ücretsiz katman bulunmamaktadır.

  4. Eski thinking_budget kodum çalışmaya devam eder mi? Evet, thinking_budget geriye dönük uyumluluk için hâlâ desteklenmektedir ancak daha öngörülebilir bir performans için thinking_level'ye geçmenizi öneririz. Aynı istekte ikisini birden kullanmayın.

  5. Gemini 3, Batch API'yi destekliyor mu? Evet, Gemini 3, Batch API'yi destekler.

  6. Bağlamı önbelleğe alma destekleniyor mu? Evet, Gemini 3'te Context Caching (Bağlam Önbelleğe Alma) desteklenir. Önbelleğe almayı başlatmak için gereken minimum jeton sayısı 2.048'dir.

  7. Gemini 3'te hangi araçlar desteklenir? Gemini 3; Google Arama, Dosya Arama, Kod Yürütme ve URL Bağlamı'nı destekler. Ayrıca, kendi özel araçlarınız için standart işlev çağrısını (ancak yerleşik araçlarla değil) destekler. Google Haritalar ile Temellendirme ve Bilgisayar Kullanımı'nın şu anda desteklenmediğini lütfen unutmayın.

Sonraki adımlar