מדריך למפתחים של Gemini 3

‫Gemini 3 הוא קבוצת המודלים הכי חכמה שלנו עד היום, שמבוססת על יכולות חשיבה רציונלית מתקדמות. הוא נועד להפוך כל רעיון למציאות באמצעות שליטה בתהליכי עבודה מבוססי-סוכן, בתכנות אוטונומי ובמשימות מורכבות מולטי-מודאליות. במדריך הזה מוסברות התכונות העיקריות של משפחת מודלים Gemini 3 ואיך להפיק ממנה את המרב.

כדאי לעיין באוסף האפליקציות של Gemini 3 כדי לראות איך המודל מתמודד עם הסקת מסקנות מתקדמת, תכנות אוטונומי ומשימות מורכבות מרובות-אופנים.

כדי להתחיל, כותבים כמה שורות קוד:

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

‫Gemini 3 Pro, המודל הראשון בסדרה החדשה, הוא המודל הכי טוב למשימות מורכבות שדורשות ידע רחב על העולם וחשיבה רציונלית מתקדמת במגוון תחומים.

‫Gemini 3 Flash הוא המודל האחרון בסדרת 3, עם יכולות AI ברמת Pro, במהירות ובמחיר של Flash.

‫Nano Banana Pro (שנקרא גם Gemini 3 Pro Image) הוא המודל האיכותי ביותר שלנו עד היום ליצירת תמונות.

כל המודלים של Gemini 3 נמצאים כרגע בגרסת טרום-השקה.

מזהה דגם חלון ההקשר (נכנס / יוצא) תאריך סף הידע מחיר (קלט / פלט)*
gemini-3-pro-preview ‫1M / 64k ינואר 2025 ‫2$ / 12$ (פחות מ-200,000 טוקנים)
4$ / 18$ (יותר מ-200,000 טוקנים)
gemini-3-flash-preview ‫1M / 64k ינואר 2025 ‫0.50$ / 3$‎
gemini-3-pro-image-preview ‫65,000 / 32,000 ינואר 2025 ‫2$ (הזנת טקסט) / 0.134$ (פלט תמונה)**

* המחירים הם למיליון טוקנים, אלא אם צוין אחרת. ** המחיר של התמונות משתנה בהתאם לרזולוציה. פרטים נוספים מופיעים בדף התמחור.

מידע נוסף על מגבלות, תמחור ופרטים נוספים זמין בדף המודלים.

תכונות חדשות ב-Gemini 3 API

‫Gemini 3 כולל פרמטרים חדשים שנועדו לתת למפתחים יותר שליטה בחביון, בעלות ובדיוק של המולטי-מודאליות.

רמת החשיבה

כברירת מחדל, המודלים מסדרת Gemini 3 משתמשים בשיטת חשיבה דינמית כדי להסיק מסקנות מההנחיות. אפשר להשתמש בפרמטר thinking_level, ששולט בעומק המקסימלי של תהליך החשיבה הפנימי של המודל לפני שהוא יוצר תשובה. מודל Gemini 3 מתייחס לרמות האלה כאל הקצאות יחסיות של יכולות חשיבה ולא כאל ערבויות מחמירות של טוקנים.

אם לא מציינים את thinking_level, Gemini 3 ישתמש ב-high כברירת מחדל. כדי לקבל תשובות מהירות יותר עם חביון נמוך יותר כשלא נדרשת הסקת מסקנות מורכבת, אפשר להגביל את רמת החשיבה של המודל ל-low.

רמות החשיבה של Gemini 3 Pro ו-Flash:

רמות החשיבה הבאות נתמכות גם ב-Gemini 3 Pro וגם ב-Flash:

  • low: מזעור זמן האחזור והעלות. הכי מתאים למשימות פשוטות של ביצוע הוראות, לצ'אט או לאפליקציות עם תפוקה גבוהה
  • high (ברירת מחדל, דינמי): מגדיל את עומק הנימוק. יכול להיות שייקח למודל הרבה יותר זמן להגיע לטוקן הראשון, אבל הפלט יהיה מנומק יותר.

רמות החשיבה של Gemini 3 Flash

בנוסף לרמות שצוינו למעלה, Gemini 3 Flash תומך גם ברמות החשיבה הבאות, שלא נתמכות כרגע ב-Gemini 3 Pro:

  • minimal: תואם להגדרה 'ללא חשיבה' עבור רוב השאילתות. יכול להיות שהמודל יחשוב בצורה מינימלית מאוד לגבי משימות מורכבות של כתיבת קוד. מצמצם את זמן האחזור של אפליקציות צ'אט או אפליקציות עם תפוקה גבוהה.

  • medium: חשיבה מאוזנת לרוב המשימות.

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

רזולוציית המדיה

‫Gemini 3 מציג שליטה מפורטת בעיבוד של ראייה מולטימודאלית באמצעות הפרמטר media_resolution. רזולוציות גבוהות יותר משפרות את היכולת של המודל לקרוא טקסט קטן או לזהות פרטים קטנים, אבל מגדילות את השימוש בטוקנים ואת זמן האחזור. הפרמטר media_resolution קובע את המספר המקסימלי של טוקנים שמוקצים לכל תמונת קלט או פריים של סרטון.

עכשיו אפשר להגדיר את הרזולוציה ל-media_resolution_low,‏ media_resolution_medium,‏ media_resolution_high או media_resolution_ultra_high לכל חלק מדיה בנפרד או באופן גלובלי (דרך generation_config, האפשרות הגלובלית לא זמינה לרזולוציה גבוהה במיוחד). אם לא מציינים, המודל משתמש בברירות מחדל אופטימליות על סמך סוג המדיה.

הגדרות מומלצות

סוג מדיה הגדרה מומלצת מקסימום טוקנים הנחיות לשימוש
תמונות media_resolution_high 1120 מומלץ לרוב משימות ניתוח התמונות כדי להבטיח איכות מקסימלית.
קובצי PDF media_resolution_medium 560 אופטימלי להבנת מסמכים. האיכות בדרך כלל מגיעה לרוויה ב-medium. הגדלה ל-high משפרת לעיתים רחוקות את תוצאות ה-OCR במסמכים רגילים.
סרטון (כללי) media_resolution_low (או media_resolution_medium) ‫70 (לכל פריים) הערה: כשמדובר בסרטונים, ההגדרות low ו-medium מטופלות באופן זהה (70 טוקנים) כדי למקסם את השימוש בהקשר. זה מספיק לרוב המשימות של זיהוי פעולות ותיאור שלהן.
סרטון (עם הרבה טקסט) media_resolution_high ‫280 (לכל פריים) נדרש רק אם תרחיש השימוש כולל קריאת טקסט צפוף (OCR) או פרטים קטנים בתוך פריים של סרטון.
אפשר לעיין בפרטים המלאים.

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

טמפרטורה

ב-Gemini 3, מומלץ מאוד להשאיר את פרמטר הטמפרטורה בערך ברירת המחדל שלו, 1.0.

במודלים קודמים, כדאי היה לכוונן את הטמפרטורה כדי לשלוט ביצירתיות לעומת דטרמיניזם, אבל יכולות ההסקה של Gemini 3 מותאמות להגדרת ברירת המחדל. שינוי הטמפרטורה (הגדרה של ערך מתחת ל-1.0) עלול להוביל להתנהגות לא צפויה, כמו לולאות או ירידה בביצועים, במיוחד במשימות מורכבות של מתמטיקה או חשיבה.

חתימות של מחשבות

‫Gemini 3 משתמש בחתימות מחשבה כדי לשמור על הקשר של הנימוקים בין קריאות ה-API. החתימות האלה הן ייצוגים מוצפנים של תהליך החשיבה הפנימי של המודל. כדי לוודא שהמודל שומר על יכולות הנימוק שלו, צריך להחזיר את החתימות האלה למודל בבקשה בדיוק כפי שהן התקבלו:

  • קריאה לפונקציה (מחמירה): ה-API מבצע אימות מחמיר של 'התור הנוכחי'. אם חתימות חסרות, תוצג שגיאת 400.

  • טקסט/צ'אט: האימות לא נאכף באופן מחמיר, אבל אם לא תציינו חתימות, איכות הנימוקים והתשובות של המודל תרד.

  • יצירה או עריכה של תמונות (מחמיר): ה-API מבצע אימות מחמיר של כל חלקי המודל, כולל thoughtSignature. אם חתימות חסרות, תוצג שגיאת 400.

בקשה להפעלת פונקציה (אימות קפדני)

כש-Gemini יוצר functionCall, הוא מסתמך על thoughtSignature כדי לעבד את הפלט של הכלי בצורה נכונה בתור הבא. הקטע 'התור הנוכחי' כולל את כל השלבים של המודל (functionCall) והמשתמש (functionResponse) שהתרחשו מאז ההודעה האחרונה של המשתמש text.

  • קריאה לפונקציה אחת: החלק functionCall מכיל חתימה. עליך להחזיר את המכשיר.
  • קריאות לפונקציות במקביל: רק החלק הראשון functionCall ברשימה יכיל את החתימה. צריך להחזיר את החלקים בדיוק בסדר שבו הם התקבלו.
  • רב-שלבי (עוקב): אם המודל מפעיל כלי, מקבל תוצאה ומפעיל כלי אחר (באותו תור), שתי הפונקציות יקבלו חתימות. אתם צריכים להחזיר את כל החתימות שנצברו בהיסטוריה.

טקסט וסטרימינג

בשיחה רגילה או ביצירת טקסט, לא מובטח שתופיע חתימה.

  • ללא סטרימינג: החלק הסופי של התוכן בתשובה עשוי להכיל thoughtSignature, אבל הוא לא תמיד מופיע. אם אחד מהם מוחזר, צריך לשלוח אותו בחזרה כדי לשמור על רמת הביצועים הטובה ביותר.
  • סטרימינג: אם נוצרת חתימה, יכול להיות שהיא תגיע בחלק סופי שמכיל חלק טקסט ריק. מוודאים שהכלי לניתוח הזרם בודק חתימות גם אם שדה הטקסט ריק.

יצירה ועריכה של תמונות

במקרה של gemini-3-pro-image-preview, חתימות המחשבה הן קריטיות לעריכה שיחתית. כשמבקשים מהמודל לשנות תמונה, הוא מסתמך על thoughtSignature מהתור הקודם כדי להבין את הקומפוזיציה והלוגיקה של התמונה המקורית.

  • עריכה: החתימות מופיעות בוודאות בחלק הראשון אחרי המחשבות של התשובה (text או inlineData) ובכל חלק inlineData שבהמשך. כדי להימנע משגיאות, צריך להחזיר את כל החתימות האלה.

דוגמאות לקוד

בקשות להפעלת פונקציות רבות (עוקבות)

המשתמש שואל שאלה שדורשת שני שלבים נפרדים (בדיקת טיסה -> הזמנת מונית) בתור אחד.

שלב 1: מודל שיחות בכלי לתכנון קמפיינים לפרסום באפליקציות.
המודל מחזיר חתימה <Sig_A>

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

שלב 2: המשתמש שולח תוצאת חיפוש טיסה
כדי לשמור על רצף המחשבה של המודל, אנחנו צריכים להחזיר את <Sig_A>.

// 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: המודל מתקשר עם הכלי למוניות
המודל זוכר את העיכוב בטיסה באמצעות <Sig_A> ועכשיו הוא מחליט להזמין מונית. נוצרת חתימה חדשה <Sig_B>.

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

שלב 4: המשתמש שולח תוצאה של מונית
כדי להשלים את התור, צריך לשלוח בחזרה את כל השרשרת: <Sig_A> וגם <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": {...} }] }
]

בקשות מקבילות להפעלת פונקציות

המשתמש שואל: "תבדוק את מזג האוויר בפריז ובלונדון". המודל מחזיר שתי קריאות לפונקציות בתשובה אחת.

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

טקסט/הסקה בהקשר (ללא אימות)

המשתמש שואל שאלה שדורשת ניתוח לפי ההקשר בלי להשתמש בכלים חיצוניים. החתימה לא עוברת אימות קפדני, אבל היא עוזרת למודל לשמור על שרשרת ההיגיון לשאלות המשך.

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

יצירה ועריכה של תמונות

כשמדובר ביצירת תמונות, אנחנו בודקים את החתימות בקפדנות. הן מופיעות בחלק הראשון (טקסט או תמונה) ובכל חלקי התמונה הבאים. צריך להחזיר את כולם בתור הבא.

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

מעבר ממודלים אחרים

אם מעבירים מעקב שיחה ממודל אחר (למשל, ‫Gemini 2.5) או להוסיף קריאה לפונקציה בהתאמה אישית שלא נוצרה על ידי Gemini 3, לא תהיה לכם חתימה תקפה.

כדי לעקוף את האימות המחמיר בתרחישים הספציפיים האלה, מאכלסים את השדה במחרוזת ה-placeholder הספציפית הזו: "thoughtSignature": "context_engineering_is_the_way_to_go"

פלט מובנה עם כלים

מודלים של Gemini 3 מאפשרים לכם לשלב פלט מובנה עם כלים מובנים, כולל הצמדה לקרקע באמצעות חיפוש Google, הקשר של כתובת URL והרצת קוד.

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

יצירת תמונות

‫Gemini 3 Pro Image מאפשר לכם ליצור ולערוך תמונות באמצעות הנחיות טקסט. הוא משתמש בהיגיון כדי 'לחשוב' על ההנחיה, ויכול לאחזר נתונים בזמן אמת – כמו תחזיות מזג אוויר או תרשימי מניות – לפני שהוא משתמש בהארקה של חיפוש Google כדי ליצור תמונות באיכות גבוהה.

יכולות חדשות ומשופרות:

  • רזולוציית 4K ועיבוד טקסט: יצירת טקסט ודיאגרמות חדים וקריאים ברזולוציות של עד 2K ו-4K.
  • יצירה מבוססת-קרקע: אפשר להשתמש בgoogle_search כדי לאמת עובדות וליצור תמונות על סמך מידע מהעולם האמיתי.
  • עריכה באמצעות הנחיות: עריכת תמונות בכמה שלבים פשוט על ידי בקשת שינויים (לדוגמה, "Make the background a sunset" (צור רקע של שקיעה). תהליך העבודה הזה מסתמך על חתימות מחשבה כדי לשמור על הקשר החזותי בין התורות.

פרטים מלאים על יחסי גובה-רוחב, תהליכי עבודה לעריכה ואפשרויות הגדרה זמינים במדריך ליצירת תמונות.

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

דוגמה לתשובה

מזג האוויר בטוקיו

העברה מ-Gemini 2.5

‫Gemini 3 היא קבוצת המודלים הכי מתקדמת שלנו עד היום, והיא מציעה שיפור הדרגתי בהשוואה ל-Gemini 2.5. כשמבצעים העברה, חשוב לקחת בחשבון את הנקודות הבאות:

  • חשיבה: אם השתמשתם בעבר בהנדסת הנחיות מורכבת (כמו שרשרת מחשבות) כדי לגרום ל-Gemini 2.5 להסיק מסקנות, נסו את Gemini 3 עם thinking_level: "high" והנחיות פשוטות יותר.
  • הגדרות הטמפרטורה: אם הקוד הקיים שלכם מגדיר טמפרטורה באופן מפורש (במיוחד לערכים נמוכים של פלט דטרמיניסטי), מומלץ להסיר את הפרמטר הזה ולהשתמש בערך ברירת המחדל של Gemini 3, שהוא 1.0, כדי למנוע בעיות פוטנציאליות של לולאות או ירידה בביצועים במשימות מורכבות.
  • הבנת מסמכים וקובצי PDF: הרזולוציה של ה-OCR שמוגדרת כברירת מחדל לקובצי PDF השתנתה. אם הסתמכתם על התנהגות ספציפית של ניתוח מסמכים צפופים, כדאי לבדוק את ההגדרה החדשה media_resolution_high כדי לוודא שהדיוק נשמר.
  • צריכת טוקנים: המעבר לברירות המחדל של Gemini 3 עשוי להגדיל את השימוש בטוקנים עבור קובצי PDF, אבל להקטין את השימוש בטוקנים עבור סרטונים. אם הבקשות חורגות עכשיו מחלון ההקשר בגלל רזולוציות ברירת מחדל גבוהות יותר, מומלץ להקטין באופן מפורש את רזולוציית המדיה.
  • פילוח תמונות: אין תמיכה ביכולות פילוח תמונות (החזרת מסכות ברמת הפיקסל לאובייקטים) ב-Gemini 3 Pro או ב-Gemini 3 Flash. לסביבות עבודה שדורשות פילוח תמונות מקורי, מומלץ להמשיך להשתמש ב-Gemini 2.5 Flash עם השבתת המצב 'חשיבה' או ב-Gemini Robotics-ER 1.5.
  • תמיכה בכלי: כלי ההארקה של מפות Google וכלי השימוש במחשב עדיין לא נתמכים במודלים של Gemini 3, ולכן הם לא יועברו. בנוסף, עדיין אין תמיכה בשילוב של כלים מובנים עם קריאה לפונקציות.

תאימות ל-OpenAI

למשתמשים שמשתמשים בשכבת התאימות של OpenAI, פרמטרים רגילים ממופים אוטומטית למקבילים ב-Gemini:

  • reasoning_effort (OAI) ממופה ל-thinking_level (Gemini). שימו לב: reasoning_effort medium מקביל ל-thinking_level high ב-Gemini 3 Flash.

שיטות מומלצות לכתיבת הנחיות

‫Gemini 3 הוא מודל הסקת מסקנות, ולכן צריך לשנות את ההנחיות שנותנים לו.

  • הוראות מדויקות: כדאי להקפיד על תמציתיות בהנחיות. התשובות של Gemini 3 הכי טובות כשההוראות ישירות וברורות. יכול להיות שהיא תנתח יתר על המידה טכניקות מפורטות או מורכבות מדי של הנדסת הנחיות שמשמשות מודלים ישנים יותר.
  • פירוט הפלט: כברירת מחדל, Gemini 3 פחות מפורט ומעדיף לספק תשובות ישירות ויעילות. אם התרחיש לדוגמה שלכם דורש אישיות יותר שיחתית או "פטפטנית", אתם צריכים להנחות את המודל באופן מפורש בהנחיה (למשל, "תסביר את זה כמו עוזר ידידותי ופטפטן").
  • ניהול הקשר: כשעובדים עם מערכי נתונים גדולים (למשל, ספרים שלמים, בסיסי קוד או סרטונים ארוכים), כדאי למקם את ההוראות או השאלות הספציפיות בסוף ההנחיה, אחרי הקשר של הנתונים. כדי להצמיד את הנימוק של המודל לנתונים שסיפקתם, כדאי להתחיל את השאלה בניסוח כמו "על סמך המידע שלמעלה...".

מידע נוסף על אסטרטגיות לעיצוב הנחיות זמין במדריך להנדסת הנחיות.

שאלות נפוצות

  1. מהו תאריך סיום הידע של Gemini 3? המידע במודלים של Gemini 3 מוגבל עד ינואר 2025. כדי לקבל מידע עדכני יותר, אפשר להשתמש בכלי הארקה של חיפוש.

  2. מהן המגבלות של חלון ההקשר? מודלים של Gemini 3 תומכים בחלון הקשר של מיליון טוקנים לקלט ועד 64 אלף טוקנים לפלט.

  3. יש רמת שימוש חינמית ב-Gemini 3? ‫Gemini 3 Flash gemini-3-flash-preview כולל רמת שימוש חינמית ב-Gemini API. אתם יכולים לנסות את Gemini 3 Pro ו-Flash בחינם ב-Google AI Studio, אבל נכון לעכשיו, אין רמת שימוש חינמית ל-gemini-3-pro-preview ב-Gemini API.

  4. האם קוד thinking_budget הישן שלי ימשיך לפעול? כן, עדיין יש תמיכה ב-thinking_budget לצורך תאימות לאחור, אבל מומלץ לעבור ל-thinking_level כדי לקבל ביצועים צפויים יותר. אל תשתמשו בשניהם באותה בקשה.

  5. האם Gemini 3 תומך ב-Batch API? כן, Gemini 3 תומך ב-Batch API.

  6. האם יש תמיכה בשמירת נתונים במטמון לפי הקשר? כן, שמירת הקשר במטמון נתמכת ב-Gemini 3.

  7. אילו כלים נתמכים ב-Gemini 3? ‫Gemini 3 תומך בחיפוש Google, בחיפוש קבצים, בהרצת קוד ובהקשר של כתובת URL. הוא גם תומך בקריאה לפונקציות רגילה עבור כלים מותאמים אישית משלכם (אבל לא עבור כלים מובנים). חשוב לזכור שכרגע אין תמיכה בהארקה באמצעות מפות Google ובשימוש במחשב.

השלבים הבאים

  • איך מתחילים לעבוד עם Gemini 3 Cookbook
  • כדאי לעיין במדריך הייעודי בנושא רמות חשיבה ובנושא המעבר מתקציב חשיבה לרמות חשיבה.