Generating content

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

שיטה: models.generateContent

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

נקודת קצה

post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateContent

פרמטרים של נתיב

model string

חובה. השם של Model שבו רוצים להשתמש כדי ליצור את ההשלמה.

פורמט: models/{model} הוא מקבל את הצורה models/{model}.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

Fields
contents[] object (Content)

חובה. התוכן של השיחה הנוכחית עם המודל.

בשביל שאילתות של תור יחיד, זוהי דוגמה יחידה. בשביל שאילתות רב-שלביות כמו צ'אט, זהו שדה חוזר שמכיל את היסטוריית השיחות ואת הבקשה האחרונה.

tools[] object (Tool)

אופציונלי. רשימה של Tools ש-Model עשוי להשתמש בהם כדי ליצור את התשובה הבאה.

Tool הוא קטע קוד שמאפשר למערכת ליצור אינטראקציה עם מערכות חיצוניות כדי לבצע פעולה או סדרת פעולות, שלא נמצאות בידע ובהיקף של Model. הסוגים הנתמכים של Tool הם Function ו-codeExecution. מידע נוסף זמין במדריכים בנושא הפעלת פונקציות והרצת קוד.

toolConfig object (ToolConfig)

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

safetySettings[] object (SafetySetting)

אופציונלי. רשימה של מופעי SafetySetting ייחודיים לחסימת תוכן לא בטוח.

השינוי הזה יחול על GenerateContentRequest.contents ועל GenerateContentResponse.candidates. לא יכולה להיות יותר מהגדרה אחת לכל סוג SafetyCategory. ה-API יחסום כל תוכן ותשובה שלא יעמדו בסף שנקבע בהגדרות האלה. הרשימה הזו מבטלת את הגדרות ברירת המחדל של כל SafetyCategory שצוין ב-safetySettings. אם לא מופיע SafetySetting עבור SafetyCategory מסוים שמופיע ברשימה, ממשק ה-API ישתמש בהגדרת הבטיחות שמוגדרת כברירת מחדל עבור הקטגוריה הזו. הקטגוריות הבאות של נזק נתמכות: HARM_CATEGORY_HATE_SPEECH, ‏ HARM_CATEGORY_SEXUALLY_EXPLICIT, ‏ HARM_CATEGORY_DANGEROUS_CONTENT, ‏ HARM_CATEGORY_HARASSMENT, ‏ HARM_CATEGORY_CIVIC_INTEGRITY, ‏ HARM_CATEGORY_JAILBREAK. מידע מפורט על הגדרות הבטיחות הזמינות מופיע במדריך. כדאי גם לעיין בהנחיות הבטיחות כדי ללמוד איך לשלב שיקולי בטיחות באפליקציות ה-AI שלכם.

systemInstruction object (Content)

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

generationConfig object (GenerationConfig)

אופציונלי. אפשרויות ההגדרה ליצירת מודלים ולפלט.

cachedContent string

אופציונלי. השם של התוכן שנשמר במטמון כדי לשמש כהקשר להצגת התחזית. פורמט: cachedContents/{cachedContent}

serviceTier enum (ServiceTier)

אופציונלי. מדרגת השירות של הבקשה.

store boolean

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

דוגמה לבקשה

טקסט

Python

from google import genai

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.5-flash", contents="Write a story about a magic backpack."
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const response = await ai.models.generateContent({
  model: "gemini-3.5-flash",
  contents: "Write a story about a magic backpack.",
});
console.log(response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
contents := []*genai.Content{
	genai.NewContentFromText("Write a story about a magic backpack.", genai.RoleUser),
}
response, err := client.Models.GenerateContent(ctx, "gemini-3.5-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

קונכייה

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[{"text": "Write a story about a magic backpack."}]
        }]
       }' 2> /dev/null

Java

Client client = new Client();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.5-flash",
                "Write a story about a magic backpack.",
                null);

System.out.println(response.text());

תמונה

Python

from google import genai
import PIL.Image

client = genai.Client()
organ = PIL.Image.open(media / "organ.jpg")
response = client.models.generate_content(
    model="gemini-3.5-flash", contents=["Tell me about this instrument", organ]
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const organ = await ai.files.upload({
  file: path.join(media, "organ.jpg"),
});

const response = await ai.models.generateContent({
  model: "gemini-3.5-flash",
  contents: [
    createUserContent([
      "Tell me about this instrument", 
      createPartFromUri(organ.uri, organ.mimeType)
    ]),
  ],
});
console.log(response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "organ.jpg"), 
	&genai.UploadFileConfig{
		MIMEType : "image/jpeg",
	},
)
if err != nil {
	log.Fatal(err)
}
parts := []*genai.Part{
	genai.NewPartFromText("Tell me about this instrument"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}
contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.5-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

קונכייה

# Use a temporary file to hold the base64 encoded image data
TEMP_B64=$(mktemp)
trap 'rm -f "$TEMP_B64"' EXIT
base64 $B64FLAGS $IMG_PATH > "$TEMP_B64"

# Use a temporary file to hold the JSON payload
TEMP_JSON=$(mktemp)
trap 'rm -f "$TEMP_JSON"' EXIT

cat > "$TEMP_JSON" << EOF
{
  "contents": [{
    "parts":[
      {"text": "Tell me about this instrument"},
      {
        "inline_data": {
          "mime_type":"image/jpeg",
          "data": "$(cat "$TEMP_B64")"
        }
      }
    ]
  }]
}
EOF

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d "@$TEMP_JSON" 2> /dev/null

Java

Client client = new Client();

String path = media_path + "organ.jpg";
byte[] imageData = Files.readAllBytes(Paths.get(path));

Content content =
        Content.fromParts(
                Part.fromText("Tell me about this instrument."),
                Part.fromBytes(imageData, "image/jpeg"));

GenerateContentResponse response = client.models.generateContent("gemini-3.5-flash", content, null);

System.out.println(response.text());

אודיו

Python

from google import genai

client = genai.Client()
sample_audio = client.files.upload(file=media / "sample.mp3")
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=["Give me a summary of this audio file.", sample_audio],
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const audio = await ai.files.upload({
  file: path.join(media, "sample.mp3"),
});

const response = await ai.models.generateContent({
  model: "gemini-3.5-flash",
  contents: [
    createUserContent([
      "Give me a summary of this audio file.",
      createPartFromUri(audio.uri, audio.mimeType),
    ]),
  ],
});
console.log(response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "sample.mp3"), 
	&genai.UploadFileConfig{
		MIMEType : "audio/mpeg",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this audio file."),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.5-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

קונכייה

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}")
NUM_BYTES=$(wc -c < "${AUDIO_PATH}")
DISPLAY_NAME=AUDIO

tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Please describe this file."},
          {"file_data":{"mime_type": "audio/mpeg", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

וידאו

Python

from google import genai
import time

client = genai.Client()
# Video clip (CC BY 3.0) from https://peach.blender.org/download/
myfile = client.files.upload(file=media / "Big_Buck_Bunny.mp4")
print(f"{myfile=}")

# Poll until the video file is completely processed (state becomes ACTIVE).
while not myfile.state or myfile.state.name != "ACTIVE":
    print("Processing video...")
    print("File state:", myfile.state)
    time.sleep(5)
    myfile = client.files.get(name=myfile.name)

response = client.models.generate_content(
    model="gemini-3.5-flash", contents=[myfile, "Describe this video clip"]
)
print(f"{response.text=}")

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

let video = await ai.files.upload({
  file: path.join(media, 'Big_Buck_Bunny.mp4'),
});

// Poll until the video file is completely processed (state becomes ACTIVE).
while (!video.state || video.state.toString() !== 'ACTIVE') {
  console.log('Processing video...');
  console.log('File state: ', video.state);
  await sleep(5000);
  video = await ai.files.get({name: video.name});
}

const response = await ai.models.generateContent({
  model: "gemini-3.5-flash",
  contents: [
    createUserContent([
      "Describe this video clip",
      createPartFromUri(video.uri, video.mimeType),
    ]),
  ],
});
console.log(response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "Big_Buck_Bunny.mp4"), 
	&genai.UploadFileConfig{
		MIMEType : "video/mp4",
	},
)
if err != nil {
	log.Fatal(err)
}

// Poll until the video file is completely processed (state becomes ACTIVE).
for file.State == genai.FileStateUnspecified || file.State != genai.FileStateActive {
	fmt.Println("Processing video...")
	fmt.Println("File state:", file.State)
	time.Sleep(5 * time.Second)

	file, err = client.Files.Get(ctx, file.Name, nil)
	if err != nil {
		log.Fatal(err)
	}
}

parts := []*genai.Part{
	genai.NewPartFromText("Describe this video clip"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.5-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

קונכייה

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${VIDEO_PATH}")
NUM_BYTES=$(wc -c < "${VIDEO_PATH}")
DISPLAY_NAME=VIDEO

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D "${tmp_header_file}" \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${VIDEO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

state=$(jq ".file.state" file_info.json)
echo state=$state

name=$(jq ".file.name" file_info.json)
echo name=$name

while [[ "($state)" = *"PROCESSING"* ]];
do
  echo "Processing video..."
  sleep 5
  # Get the file of interest to check state
  curl https://generativelanguage.googleapis.com/v1beta/files/$name > file_info.json
  state=$(jq ".file.state" file_info.json)
done

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Transcribe the audio from this video, giving timestamps for salient events in the video. Also provide visual descriptions."},
          {"file_data":{"mime_type": "video/mp4", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

PDF

Python

from google import genai

client = genai.Client()
sample_pdf = client.files.upload(file=media / "test.pdf")
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=["Give me a summary of this document:", sample_pdf],
)
print(f"{response.text=}")

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "test.pdf"), 
	&genai.UploadFileConfig{
		MIMEType : "application/pdf",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this document:"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.5-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

קונכייה

MIME_TYPE=$(file -b --mime-type "${PDF_PATH}")
NUM_BYTES=$(wc -c < "${PDF_PATH}")
DISPLAY_NAME=TEXT


echo $MIME_TYPE
tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${PDF_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Can you add a few more lines to this poem?"},
          {"file_data":{"mime_type": "application/pdf", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

צ'אט

Python

from google import genai
from google.genai import types

client = genai.Client()
# Pass initial history using the "history" argument
chat = client.chats.create(
    model="gemini-3.5-flash",
    history=[
        types.Content(role="user", parts=[types.Part(text="Hello")]),
        types.Content(
            role="model",
            parts=[
                types.Part(
                    text="Great to meet you. What would you like to know?"
                )
            ],
        ),
    ],
)
response = chat.send_message(message="I have 2 dogs in my house.")
print(response.text)
response = chat.send_message(message="How many paws are in my house?")
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const chat = ai.chats.create({
  model: "gemini-3.5-flash",
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

const response1 = await chat.sendMessage({
  message: "I have 2 dogs in my house.",
});
console.log("Chat response 1:", response1.text);

const response2 = await chat.sendMessage({
  message: "How many paws are in my house?",
});
console.log("Chat response 2:", response2.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

// Pass initial history using the History field.
history := []*genai.Content{
	genai.NewContentFromText("Hello", genai.RoleUser),
	genai.NewContentFromText("Great to meet you. What would you like to know?", genai.RoleModel),
}

chat, err := client.Chats.Create(ctx, "gemini-3.5-flash", nil, history)
if err != nil {
	log.Fatal(err)
}

firstResp, err := chat.SendMessage(ctx, genai.Part{Text: "I have 2 dogs in my house."})
if err != nil {
	log.Fatal(err)
}
fmt.Println(firstResp.Text())

secondResp, err := chat.SendMessage(ctx, genai.Part{Text: "How many paws are in my house?"})
if err != nil {
	log.Fatal(err)
}
fmt.Println(secondResp.Text())

קונכייה

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [
        {"role":"user",
         "parts":[{
           "text": "Hello"}]},
        {"role": "model",
         "parts":[{
           "text": "Great to meet you. What would you like to know?"}]},
        {"role":"user",
         "parts":[{
           "text": "I have two dogs in my house. How many paws are in my house?"}]},
      ]
    }' 2> /dev/null | grep "text"

Java

Client client = new Client();

Content userContent = Content.fromParts(Part.fromText("Hello"));
Content modelContent =
        Content.builder()
                .role("model")
                .parts(
                        Collections.singletonList(
                                Part.fromText("Great to meet you. What would you like to know?")
                        )
                ).build();

Chat chat = client.chats.create(
        "gemini-3.5-flash",
        GenerateContentConfig.builder()
                .systemInstruction(userContent)
                .systemInstruction(modelContent)
                .build()
);

GenerateContentResponse response1 = chat.sendMessage("I have 2 dogs in my house.");
System.out.println(response1.text());

GenerateContentResponse response2 = chat.sendMessage("How many paws are in my house?");
System.out.println(response2.text());

מטמון

Python

from google import genai
from google.genai import types

client = genai.Client()
document = client.files.upload(file=media / "a11.txt")
model_name = "gemini-3.5-flash"

cache = client.caches.create(
    model=model_name,
    config=types.CreateCachedContentConfig(
        contents=[document],
        system_instruction="You are an expert analyzing transcripts.",
    ),
)
print(cache)

response = client.models.generate_content(
    model=model_name,
    contents="Please summarize this transcript",
    config=types.GenerateContentConfig(cached_content=cache.name),
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const filePath = path.join(media, "a11.txt");
const document = await ai.files.upload({
  file: filePath,
  config: { mimeType: "text/plain" },
});
console.log("Uploaded file name:", document.name);
const modelName = "gemini-3.5-flash";

const contents = [
  createUserContent(createPartFromUri(document.uri, document.mimeType)),
];

const cache = await ai.caches.create({
  model: modelName,
  config: {
    contents: contents,
    systemInstruction: "You are an expert analyzing transcripts.",
  },
});
console.log("Cache created:", cache);

const response = await ai.models.generateContent({
  model: modelName,
  contents: "Please summarize this transcript",
  config: { cachedContent: cache.name },
});
console.log("Response text:", response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"), 
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

modelName := "gemini-3.5-flash"
document, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "a11.txt"), 
	&genai.UploadFileConfig{
		MIMEType : "text/plain",
	},
)
if err != nil {
	log.Fatal(err)
}
parts := []*genai.Part{
	genai.NewPartFromURI(document.URI, document.MIMEType),
}
contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}
cache, err := client.Caches.Create(ctx, modelName, &genai.CreateCachedContentConfig{
	Contents: contents,
	SystemInstruction: genai.NewContentFromText(
		"You are an expert analyzing transcripts.", genai.RoleUser,
	),
})
if err != nil {
	log.Fatal(err)
}
fmt.Println("Cache created:")
fmt.Println(cache)

// Use the cache for generating content.
response, err := client.Models.GenerateContent(
	ctx,
	modelName,
	genai.Text("Please summarize this transcript"),
	&genai.GenerateContentConfig{
		CachedContent: cache.Name,
	},
)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

מודל שעבר התאמה

Python

# With Gemini 2 we're launching a new SDK. See the following doc for details.
# https://ai.google.dev/gemini-api/docs/migrate

מצב JSON

Python

from google import genai
from google.genai import types
from typing_extensions import TypedDict

class Recipe(TypedDict):
    recipe_name: str
    ingredients: list[str]

client = genai.Client()
result = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="List a few popular cookie recipes.",
    config=types.GenerateContentConfig(
        response_mime_type="application/json", response_schema=list[Recipe]
    ),
)
print(result)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
  model: "gemini-3.5-flash",
  contents: "List a few popular cookie recipes.",
  config: {
    responseMimeType: "application/json",
    responseSchema: {
      type: "array",
      items: {
        type: "object",
        properties: {
          recipeName: { type: "string" },
          ingredients: { type: "array", items: { type: "string" } },
        },
        required: ["recipeName", "ingredients"],
      },
    },
  },
});
console.log(response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"), 
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

schema := &genai.Schema{
	Type: genai.TypeArray,
	Items: &genai.Schema{
		Type: genai.TypeObject,
		Properties: map[string]*genai.Schema{
			"recipe_name": {Type: genai.TypeString},
			"ingredients": {
				Type:  genai.TypeArray,
				Items: &genai.Schema{Type: genai.TypeString},
			},
		},
		Required: []string{"recipe_name"},
	},
}

config := &genai.GenerateContentConfig{
	ResponseMIMEType: "application/json",
	ResponseSchema:   schema,
}

response, err := client.Models.GenerateContent(
	ctx,
	"gemini-3.5-flash",
	genai.Text("List a few popular cookie recipes."),
	config,
)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

קונכייה

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "contents": [{
      "parts":[
        {"text": "List 5 popular cookie recipes"}
        ]
    }],
    "generationConfig": {
        "response_mime_type": "application/json",
        "response_schema": {
          "type": "ARRAY",
          "items": {
            "type": "OBJECT",
            "properties": {
              "recipe_name": {"type":"STRING"},
            }
          }
        }
    }
}' 2> /dev/null | head

Java

Client client = new Client();

Schema recipeSchema = Schema.builder()
        .type(Array.class.getSimpleName())
        .items(Schema.builder()
                .type(Object.class.getSimpleName())
                .properties(
                        Map.of("recipe_name", Schema.builder()
                                        .type(String.class.getSimpleName())
                                        .build(),
                                "ingredients", Schema.builder()
                                        .type(Array.class.getSimpleName())
                                        .items(Schema.builder()
                                                .type(String.class.getSimpleName())
                                                .build())
                                        .build())
                )
                .required(List.of("recipe_name", "ingredients"))
                .build())
        .build();

GenerateContentConfig config =
        GenerateContentConfig.builder()
                .responseMimeType("application/json")
                .responseSchema(recipeSchema)
                .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.5-flash",
                "List a few popular cookie recipes.",
                config);

System.out.println(response.text());

הרצת קוד

Python

from google import genai
from google.genai import types

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=(
        "Write and execute code that calculates the sum of the first 50 prime numbers. "
        "Ensure that only the executable code and its resulting output are generated."
    ),
)
# Each part may contain text, executable code, or an execution result.
for part in response.candidates[0].content.parts:
    print(part, "\n")

print("-" * 80)
# The .text accessor concatenates the parts into a markdown-formatted text.
print("\n", response.text)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

response, err := client.Models.GenerateContent(
	ctx,
	"gemini-3.5-flash",
	genai.Text(
		`Write and execute code that calculates the sum of the first 50 prime numbers.
		 Ensure that only the executable code and its resulting output are generated.`,
	),
	&genai.GenerateContentConfig{},
)
if err != nil {
	log.Fatal(err)
}

// Print the response.
printResponse(response)

fmt.Println("--------------------------------------------------------------------------------")
fmt.Println(response.Text())

Java

Client client = new Client();

String prompt = """
        Write and execute code that calculates the sum of the first 50 prime numbers.
        Ensure that only the executable code and its resulting output are generated.
        """;

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.5-flash",
                prompt,
                null);

for (Part part : response.candidates().get().getFirst().content().get().parts().get()) {
    System.out.println(part + "\n");
}

System.out.println("-".repeat(80));
System.out.println(response.text());

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

Python

from google import genai
from google.genai import types

client = genai.Client()

def add(a: float, b: float) -> float:
    """returns a + b."""
    return a + b

def subtract(a: float, b: float) -> float:
    """returns a - b."""
    return a - b

def multiply(a: float, b: float) -> float:
    """returns a * b."""
    return a * b

def divide(a: float, b: float) -> float:
    """returns a / b."""
    return a / b

# Create a chat session; function calling (via tools) is enabled in the config.
chat = client.chats.create(
    model="gemini-3.5-flash",
    config=types.GenerateContentConfig(tools=[add, subtract, multiply, divide]),
)
response = chat.send_message(
    message="I have 57 cats, each owns 44 mittens, how many mittens is that in total?"
)
print(response.text)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
modelName := "gemini-3.5-flash"

// Create the function declarations for arithmetic operations.
addDeclaration := createArithmeticToolDeclaration("addNumbers", "Return the result of adding two numbers.")
subtractDeclaration := createArithmeticToolDeclaration("subtractNumbers", "Return the result of subtracting the second number from the first.")
multiplyDeclaration := createArithmeticToolDeclaration("multiplyNumbers", "Return the product of two numbers.")
divideDeclaration := createArithmeticToolDeclaration("divideNumbers", "Return the quotient of dividing the first number by the second.")

// Group the function declarations as a tool.
tools := []*genai.Tool{
	{
		FunctionDeclarations: []*genai.FunctionDeclaration{
			addDeclaration,
			subtractDeclaration,
			multiplyDeclaration,
			divideDeclaration,
		},
	},
}

// Create the content prompt.
contents := []*genai.Content{
	genai.NewContentFromText(
		"I have 57 cats, each owns 44 mittens, how many mittens is that in total?", genai.RoleUser,
	),
}

// Set up the generate content configuration with function calling enabled.
config := &genai.GenerateContentConfig{
	Tools: tools,
	ToolConfig: &genai.ToolConfig{
		FunctionCallingConfig: &genai.FunctionCallingConfig{
			// The mode equivalent to FunctionCallingConfigMode.ANY in JS.
			Mode: genai.FunctionCallingConfigModeAny,
		},
	},
}

genContentResp, err := client.Models.GenerateContent(ctx, modelName, contents, config)
if err != nil {
	log.Fatal(err)
}

// Assume the response includes a list of function calls.
if len(genContentResp.FunctionCalls()) == 0 {
	log.Println("No function call returned from the AI.")
	return nil
}
functionCall := genContentResp.FunctionCalls()[0]
log.Printf("Function call: %+v\n", functionCall)

// Marshal the Args map into JSON bytes.
argsMap, err := json.Marshal(functionCall.Args)
if err != nil {
	log.Fatal(err)
}

// Unmarshal the JSON bytes into the ArithmeticArgs struct.
var args ArithmeticArgs
if err := json.Unmarshal(argsMap, &args); err != nil {
	log.Fatal(err)
}

// Map the function name to the actual arithmetic function.
var result float64
switch functionCall.Name {
	case "addNumbers":
		result = add(args.FirstParam, args.SecondParam)
	case "subtractNumbers":
		result = subtract(args.FirstParam, args.SecondParam)
	case "multiplyNumbers":
		result = multiply(args.FirstParam, args.SecondParam)
	case "divideNumbers":
		result = divide(args.FirstParam, args.SecondParam)
	default:
		return fmt.Errorf("unimplemented function: %s", functionCall.Name)
}
log.Printf("Function result: %v\n", result)

// Prepare the final result message as content.
resultContents := []*genai.Content{
	genai.NewContentFromText("The final result is " + fmt.Sprintf("%v", result), genai.RoleUser),
}

// Use GenerateContent to send the final result.
finalResponse, err := client.Models.GenerateContent(ctx, modelName, resultContents, &genai.GenerateContentConfig{})
if err != nil {
	log.Fatal(err)
}

printResponse(finalResponse)

Node.js

  // Make sure to include the following import:
  // import {GoogleGenAI} from '@google/genai';
  const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

  /**
   * The add function returns the sum of two numbers.
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function add(a, b) {
    return a + b;
  }

  /**
   * The subtract function returns the difference (a - b).
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function subtract(a, b) {
    return a - b;
  }

  /**
   * The multiply function returns the product of two numbers.
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function multiply(a, b) {
    return a * b;
  }

  /**
   * The divide function returns the quotient of a divided by b.
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function divide(a, b) {
    return a / b;
  }

  const addDeclaration = {
    name: "addNumbers",
    parameters: {
      type: "object",
      description: "Return the result of adding two numbers.",
      properties: {
        firstParam: {
          type: "number",
          description:
            "The first parameter which can be an integer or a floating point number.",
        },
        secondParam: {
          type: "number",
          description:
            "The second parameter which can be an integer or a floating point number.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  const subtractDeclaration = {
    name: "subtractNumbers",
    parameters: {
      type: "object",
      description:
        "Return the result of subtracting the second number from the first.",
      properties: {
        firstParam: {
          type: "number",
          description: "The first parameter.",
        },
        secondParam: {
          type: "number",
          description: "The second parameter.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  const multiplyDeclaration = {
    name: "multiplyNumbers",
    parameters: {
      type: "object",
      description: "Return the product of two numbers.",
      properties: {
        firstParam: {
          type: "number",
          description: "The first parameter.",
        },
        secondParam: {
          type: "number",
          description: "The second parameter.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  const divideDeclaration = {
    name: "divideNumbers",
    parameters: {
      type: "object",
      description:
        "Return the quotient of dividing the first number by the second.",
      properties: {
        firstParam: {
          type: "number",
          description: "The first parameter.",
        },
        secondParam: {
          type: "number",
          description: "The second parameter.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  // Step 1: Call generateContent with function calling enabled.
  const generateContentResponse = await ai.models.generateContent({
    model: "gemini-3.5-flash",
    contents:
      "I have 57 cats, each owns 44 mittens, how many mittens is that in total?",
    config: {
      toolConfig: {
        functionCallingConfig: {
          mode: FunctionCallingConfigMode.ANY,
        },
      },
      tools: [
        {
          functionDeclarations: [
            addDeclaration,
            subtractDeclaration,
            multiplyDeclaration,
            divideDeclaration,
          ],
        },
      ],
    },
  });

  // Step 2: Extract the function call.(
  // Assuming the response contains a 'functionCalls' array.
  const functionCall =
    generateContentResponse.functionCalls &&
    generateContentResponse.functionCalls[0];
  console.log(functionCall);

  // Parse the arguments.
  const args = functionCall.args;
  // Expected args format: { firstParam: number, secondParam: number }

  // Step 3: Invoke the actual function based on the function name.
  const functionMapping = {
    addNumbers: add,
    subtractNumbers: subtract,
    multiplyNumbers: multiply,
    divideNumbers: divide,
  };
  const func = functionMapping[functionCall.name];
  if (!func) {
    console.error("Unimplemented error:", functionCall.name);
    return generateContentResponse;
  }
  const resultValue = func(args.firstParam, args.secondParam);
  console.log("Function result:", resultValue);

  // Step 4: Use the chat API to send the result as the final answer.
  const chat = ai.chats.create({ model: "gemini-3.5-flash" });
  const chatResponse = await chat.sendMessage({
    message: "The final result is " + resultValue,
  });
  console.log(chatResponse.text);
  return chatResponse;
}

קונכייה


cat > tools.json << EOF
{
  "function_declarations": [
    {
      "name": "enable_lights",
      "description": "Turn on the lighting system."
    },
    {
      "name": "set_light_color",
      "description": "Set the light color. Lights must be enabled for this to work.",
      "parameters": {
        "type": "object",
        "properties": {
          "rgb_hex": {
            "type": "string",
            "description": "The light color as a 6-digit hex string, e.g. ff0000 for red."
          }
        },
        "required": [
          "rgb_hex"
        ]
      }
    },
    {
      "name": "stop_lights",
      "description": "Turn off the lighting system."
    }
  ]
} 
EOF

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d @<(echo '
  {
    "system_instruction": {
      "parts": {
        "text": "You are a helpful lighting system bot. You can turn lights on and off, and you can set the color. Do not perform any other tasks."
      }
    },
    "tools": ['$(cat tools.json)'],

    "tool_config": {
      "function_calling_config": {"mode": "auto"}
    },

    "contents": {
      "role": "user",
      "parts": {
        "text": "Turn on the lights please."
      }
    }
  }
') 2>/dev/null |sed -n '/"content"/,/"finishReason"/p'

Java

Client client = new Client();

FunctionDeclaration addFunction =
        FunctionDeclaration.builder()
                .name("addNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

FunctionDeclaration subtractFunction =
        FunctionDeclaration.builder()
                .name("subtractNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

FunctionDeclaration multiplyFunction =
        FunctionDeclaration.builder()
                .name("multiplyNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

FunctionDeclaration divideFunction =
        FunctionDeclaration.builder()
                .name("divideNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

GenerateContentConfig config = GenerateContentConfig.builder()
        .toolConfig(ToolConfig.builder().functionCallingConfig(
                FunctionCallingConfig.builder().mode("ANY").build()
        ).build())
        .tools(
                Collections.singletonList(
                        Tool.builder().functionDeclarations(
                                Arrays.asList(
                                        addFunction,
                                        subtractFunction,
                                        divideFunction,
                                        multiplyFunction
                                )
                        ).build()

                )
        )
        .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.5-flash",
                "I have 57 cats, each owns 44 mittens, how many mittens is that in total?",
                config);


if (response.functionCalls() == null || response.functionCalls().isEmpty()) {
    System.err.println("No function call received");
    return null;
}

var functionCall = response.functionCalls().getFirst();
String functionName = functionCall.name().get();
var arguments = functionCall.args();

Map<String, BiFunction<Double, Double, Double>> functionMapping = new HashMap<>();
functionMapping.put("addNumbers", (a, b) -> a + b);
functionMapping.put("subtractNumbers", (a, b) -> a - b);
functionMapping.put("multiplyNumbers", (a, b) -> a * b);
functionMapping.put("divideNumbers", (a, b) -> b != 0 ? a / b : Double.NaN);

BiFunction<Double, Double, Double> function = functionMapping.get(functionName);

Number firstParam = (Number) arguments.get().get("firstParam");
Number secondParam = (Number) arguments.get().get("secondParam");
Double result = function.apply(firstParam.doubleValue(), secondParam.doubleValue());

System.out.println(result);

הגדרת יצירה

Python

from google import genai
from google.genai import types

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Tell me a story about a magic backpack.",
    config=types.GenerateContentConfig(
        candidate_count=1,
        stop_sequences=["x"],
        max_output_tokens=20,
        temperature=1.0,
    ),
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const response = await ai.models.generateContent({
  model: "gemini-3.5-flash",
  contents: "Tell me a story about a magic backpack.",
  config: {
    candidateCount: 1,
    stopSequences: ["x"],
    maxOutputTokens: 20,
    temperature: 1.0,
  },
});

console.log(response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

// Create local variables for parameters.
candidateCount := int32(1)
maxOutputTokens := int32(20)
temperature := float32(1.0)

response, err := client.Models.GenerateContent(
	ctx,
	"gemini-3.5-flash",
	genai.Text("Tell me a story about a magic backpack."),
	&genai.GenerateContentConfig{
		CandidateCount:  candidateCount,
		StopSequences:   []string{"x"},
		MaxOutputTokens: maxOutputTokens,
		Temperature:     &temperature,
	},
)
if err != nil {
	log.Fatal(err)
}

printResponse(response)

קונכייה

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
        "contents": [{
            "parts":[
                {"text": "Explain how AI works"}
            ]
        }],
        "generationConfig": {
            "stopSequences": [
                "Title"
            ],
            "temperature": 1.0,
            "maxOutputTokens": 800,
            "topP": 0.8,
            "topK": 10
        }
    }'  2> /dev/null | grep "text"

Java

Client client = new Client();

GenerateContentConfig config =
        GenerateContentConfig.builder()
                .candidateCount(1)
                .stopSequences(List.of("x"))
                .maxOutputTokens(20)
                .temperature(1.0F)
                .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.5-flash",
                "Tell me a story about a magic backpack.",
                config);

System.out.println(response.text());

הגדרות בטיחות

Python

from google import genai
from google.genai import types

client = genai.Client()
unsafe_prompt = (
    "I support Martians Soccer Club and I think Jupiterians Football Club sucks! "
    "Write a ironic phrase about them including expletives."
)
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=unsafe_prompt,
    config=types.GenerateContentConfig(
        safety_settings=[
            types.SafetySetting(
                category="HARM_CATEGORY_HATE_SPEECH",
                threshold="BLOCK_MEDIUM_AND_ABOVE",
            ),
            types.SafetySetting(
                category="HARM_CATEGORY_HARASSMENT", threshold="BLOCK_ONLY_HIGH"
            ),
        ]
    ),
)
try:
    print(response.text)
except Exception:
    print("No information generated by the model.")

print(response.candidates[0].safety_ratings)

Node.js

  // Make sure to include the following import:
  // import {GoogleGenAI} from '@google/genai';
  const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
  const unsafePrompt =
    "I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them including expletives.";

  const response = await ai.models.generateContent({
    model: "gemini-3.5-flash",
    contents: unsafePrompt,
    config: {
      safetySettings: [
        {
          category: "HARM_CATEGORY_HATE_SPEECH",
          threshold: "BLOCK_MEDIUM_AND_ABOVE",
        },
        {
          category: "HARM_CATEGORY_HARASSMENT",
          threshold: "BLOCK_ONLY_HIGH",
        },
      ],
    },
  });

  try {
    console.log("Generated text:", response.text);
  } catch (error) {
    console.log("No information generated by the model.");
  }
  console.log("Safety ratings:", response.candidates[0].safetyRatings);
  return response;
}

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

unsafePrompt := "I support Martians Soccer Club and I think Jupiterians Football Club sucks! " +
	"Write a ironic phrase about them including expletives."

config := &genai.GenerateContentConfig{
	SafetySettings: []*genai.SafetySetting{
		{
			Category:  "HARM_CATEGORY_HATE_SPEECH",
			Threshold: "BLOCK_MEDIUM_AND_ABOVE",
		},
		{
			Category:  "HARM_CATEGORY_HARASSMENT",
			Threshold: "BLOCK_ONLY_HIGH",
		},
	},
}
contents := []*genai.Content{
	genai.NewContentFromText(unsafePrompt, genai.RoleUser),
}
response, err := client.Models.GenerateContent(ctx, "gemini-3.5-flash", contents, config)
if err != nil {
	log.Fatal(err)
}

// Print the generated text.
text := response.Text()
fmt.Println("Generated text:", text)

// Print the and safety ratings from the first candidate.
if len(response.Candidates) > 0 {
	fmt.Println("Finish reason:", response.Candidates[0].FinishReason)
	safetyRatings, err := json.MarshalIndent(response.Candidates[0].SafetyRatings, "", "  ")
	if err != nil {
		return err
	}
	fmt.Println("Safety ratings:", string(safetyRatings))
} else {
	fmt.Println("No candidate returned.")
}

קונכייה

echo '{
    "safetySettings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_ONLY_HIGH"},
        {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}
    ],
    "contents": [{
        "parts":[{
            "text": "'I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them.'"}]}]}' > request.json

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d @request.json 2> /dev/null

Java

Client client = new Client();

String unsafePrompt = """
         I support Martians Soccer Club and I think Jupiterians Football Club sucks!
         Write a ironic phrase about them including expletives.
        """;

GenerateContentConfig config =
        GenerateContentConfig.builder()
                .safetySettings(Arrays.asList(
                        SafetySetting.builder()
                                .category("HARM_CATEGORY_HATE_SPEECH")
                                .threshold("BLOCK_MEDIUM_AND_ABOVE")
                                .build(),
                        SafetySetting.builder()
                                .category("HARM_CATEGORY_HARASSMENT")
                                .threshold("BLOCK_ONLY_HIGH")
                                .build()
                )).build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.5-flash",
                unsafePrompt,
                config);

try {
    System.out.println(response.text());
} catch (Exception e) {
    System.out.println("No information generated by the model");
}

System.out.println(response.candidates().get().getFirst().safetyRatings());

הוראות למערכת

Python

from google import genai
from google.genai import types

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Good morning! How are you?",
    config=types.GenerateContentConfig(
        system_instruction="You are a cat. Your name is Neko."
    ),
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
  model: "gemini-3.5-flash",
  contents: "Good morning! How are you?",
  config: {
    systemInstruction: "You are a cat. Your name is Neko.",
  },
});
console.log(response.text);

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

// Construct the user message contents.
contents := []*genai.Content{
	genai.NewContentFromText("Good morning! How are you?", genai.RoleUser),
}

// Set the system instruction as a *genai.Content.
config := &genai.GenerateContentConfig{
	SystemInstruction: genai.NewContentFromText("You are a cat. Your name is Neko.", genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.5-flash", contents, config)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

קונכייה

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{ "system_instruction": {
    "parts":
      { "text": "You are a cat. Your name is Neko."}},
    "contents": {
      "parts": {
        "text": "Hello there"}}}'

Java

Client client = new Client();

Part textPart = Part.builder().text("You are a cat. Your name is Neko.").build();

Content content = Content.builder().role("system").parts(ImmutableList.of(textPart)).build();

GenerateContentConfig config = GenerateContentConfig.builder()
        .systemInstruction(content)
        .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.5-flash",
                "Good morning! How are you?",
                config);

System.out.println(response.text());

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של GenerateContentResponse.

שיטה: models.streamGenerateContent

יצירת תשובה בסטרימינג מהמודל בהינתן קלט GenerateContentRequest.

נקודת קצה

post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:streamGenerateContent

פרמטרים של נתיב

model string

חובה. השם של Model שבו רוצים להשתמש כדי ליצור את ההשלמה.

פורמט: models/{model} הוא מקבל את הצורה models/{model}.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

Fields
contents[] object (Content)

חובה. התוכן של השיחה הנוכחית עם המודל.

בשביל שאילתות של תור יחיד, זוהי דוגמה יחידה. בשביל שאילתות רב-שלביות כמו צ'אט, זהו שדה חוזר שמכיל את היסטוריית השיחות ואת הבקשה האחרונה.

tools[] object (Tool)

אופציונלי. רשימה של Tools ש-Model עשוי להשתמש בהם כדי ליצור את התשובה הבאה.

Tool הוא קטע קוד שמאפשר למערכת ליצור אינטראקציה עם מערכות חיצוניות כדי לבצע פעולה או סדרת פעולות, שלא נמצאות בידע ובהיקף של Model. הסוגים הנתמכים של Tool הם Function ו-codeExecution. מידע נוסף זמין במדריכים בנושא הפעלת פונקציות והרצת קוד.

toolConfig object (ToolConfig)

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

safetySettings[] object (SafetySetting)

אופציונלי. רשימה של מופעי SafetySetting ייחודיים לחסימת תוכן לא בטוח.

השינוי הזה יחול על GenerateContentRequest.contents ועל GenerateContentResponse.candidates. לא יכולה להיות יותר מהגדרה אחת לכל סוג SafetyCategory. ה-API יחסום כל תוכן ותשובה שלא יעמדו בסף שנקבע בהגדרות האלה. הרשימה הזו מבטלת את הגדרות ברירת המחדל של כל SafetyCategory שצוין ב-safetySettings. אם לא מופיע SafetySetting עבור SafetyCategory מסוים שמופיע ברשימה, ממשק ה-API ישתמש בהגדרת הבטיחות שמוגדרת כברירת מחדל עבור הקטגוריה הזו. הקטגוריות הבאות של נזק נתמכות: HARM_CATEGORY_HATE_SPEECH, ‏ HARM_CATEGORY_SEXUALLY_EXPLICIT, ‏ HARM_CATEGORY_DANGEROUS_CONTENT, ‏ HARM_CATEGORY_HARASSMENT, ‏ HARM_CATEGORY_CIVIC_INTEGRITY, ‏ HARM_CATEGORY_JAILBREAK. מידע מפורט על הגדרות הבטיחות הזמינות מופיע במדריך. כדאי גם לעיין בהנחיות הבטיחות כדי ללמוד איך לשלב שיקולי בטיחות באפליקציות ה-AI שלכם.

systemInstruction object (Content)

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

generationConfig object (GenerationConfig)

אופציונלי. אפשרויות ההגדרה ליצירת מודלים ולפלט.

cachedContent string

אופציונלי. השם של התוכן שנשמר במטמון כדי לשמש כהקשר להצגת התחזית. פורמט: cachedContents/{cachedContent}

serviceTier enum (ServiceTier)

אופציונלי. מדרגת השירות של הבקשה.

store boolean

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

דוגמה לבקשה

טקסט

Python

from google import genai

client = genai.Client()
response = client.models.generate_content_stream(
    model="gemini-3.5-flash", contents="Write a story about a magic backpack."
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const response = await ai.models.generateContentStream({
  model: "gemini-3.5-flash",
  contents: "Write a story about a magic backpack.",
});
let text = "";
for await (const chunk of response) {
  console.log(chunk.text);
  text += chunk.text;
}

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
contents := []*genai.Content{
	genai.NewContentFromText("Write a story about a magic backpack.", genai.RoleUser),
}
for response, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.5-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(response.Candidates[0].Content.Parts[0].Text)
}

קונכייה

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=${GEMINI_API_KEY}" \
        -H 'Content-Type: application/json' \
        --no-buffer \
        -d '{ "contents":[{"parts":[{"text": "Write a story about a magic backpack."}]}]}'

Java

Client client = new Client();

ResponseStream<GenerateContentResponse> responseStream =
        client.models.generateContentStream(
                "gemini-3.5-flash",
                "Write a story about a magic backpack.",
                null);

StringBuilder response = new StringBuilder();
for (GenerateContentResponse res : responseStream) {
    System.out.print(res.text());
    response.append(res.text());
}

responseStream.close();

תמונה

Python

from google import genai
import PIL.Image

client = genai.Client()
organ = PIL.Image.open(media / "organ.jpg")
response = client.models.generate_content_stream(
    model="gemini-3.5-flash", contents=["Tell me about this instrument", organ]
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const organ = await ai.files.upload({
  file: path.join(media, "organ.jpg"),
});

const response = await ai.models.generateContentStream({
  model: "gemini-3.5-flash",
  contents: [
    createUserContent([
      "Tell me about this instrument", 
      createPartFromUri(organ.uri, organ.mimeType)
    ]),
  ],
});
let text = "";
for await (const chunk of response) {
  console.log(chunk.text);
  text += chunk.text;
}

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "organ.jpg"), 
	&genai.UploadFileConfig{
		MIMEType : "image/jpeg",
	},
)
if err != nil {
	log.Fatal(err)
}
parts := []*genai.Part{
	genai.NewPartFromText("Tell me about this instrument"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}
contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}
for response, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.5-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(response.Candidates[0].Content.Parts[0].Text)
}

קונכייה

cat > "$TEMP_JSON" << EOF
{
  "contents": [{
    "parts":[
      {"text": "Tell me about this instrument"},
      {
        "inline_data": {
          "mime_type":"image/jpeg",
          "data": "$(cat "$TEMP_B64")"
        }
      }
    ]
  }]
}
EOF

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d "@$TEMP_JSON" 2> /dev/null

Java

Client client = new Client();

String path = media_path + "organ.jpg";
byte[] imageData = Files.readAllBytes(Paths.get(path));

Content content =
        Content.fromParts(
                Part.fromText("Tell me about this instrument."),
                Part.fromBytes(imageData, "image/jpeg"));


ResponseStream<GenerateContentResponse> responseStream =
        client.models.generateContentStream(
                "gemini-3.5-flash",
                content,
                null);

StringBuilder response = new StringBuilder();
for (GenerateContentResponse res : responseStream) {
    System.out.print(res.text());
    response.append(res.text());
}

responseStream.close();

אודיו

Python

from google import genai

client = genai.Client()
sample_audio = client.files.upload(file=media / "sample.mp3")
response = client.models.generate_content_stream(
    model="gemini-3.5-flash",
    contents=["Give me a summary of this audio file.", sample_audio],
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "sample.mp3"), 
	&genai.UploadFileConfig{
		MIMEType : "audio/mpeg",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this audio file."),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

for result, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.5-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(result.Candidates[0].Content.Parts[0].Text)
}

קונכייה

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}")
NUM_BYTES=$(wc -c < "${AUDIO_PATH}")
DISPLAY_NAME=AUDIO

tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Please describe this file."},
          {"file_data":{"mime_type": "audio/mpeg", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

וידאו

Python

from google import genai
import time

client = genai.Client()
# Video clip (CC BY 3.0) from https://peach.blender.org/download/
myfile = client.files.upload(file=media / "Big_Buck_Bunny.mp4")
print(f"{myfile=}")

# Poll until the video file is completely processed (state becomes ACTIVE).
while not myfile.state or myfile.state.name != "ACTIVE":
    print("Processing video...")
    print("File state:", myfile.state)
    time.sleep(5)
    myfile = client.files.get(name=myfile.name)

response = client.models.generate_content_stream(
    model="gemini-3.5-flash", contents=[myfile, "Describe this video clip"]
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

let video = await ai.files.upload({
  file: path.join(media, 'Big_Buck_Bunny.mp4'),
});

// Poll until the video file is completely processed (state becomes ACTIVE).
while (!video.state || video.state.toString() !== 'ACTIVE') {
  console.log('Processing video...');
  console.log('File state: ', video.state);
  await sleep(5000);
  video = await ai.files.get({name: video.name});
}

const response = await ai.models.generateContentStream({
  model: "gemini-3.5-flash",
  contents: [
    createUserContent([
      "Describe this video clip",
      createPartFromUri(video.uri, video.mimeType),
    ]),
  ],
});
let text = "";
for await (const chunk of response) {
  console.log(chunk.text);
  text += chunk.text;
}

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "Big_Buck_Bunny.mp4"), 
	&genai.UploadFileConfig{
		MIMEType : "video/mp4",
	},
)
if err != nil {
	log.Fatal(err)
}

// Poll until the video file is completely processed (state becomes ACTIVE).
for file.State == genai.FileStateUnspecified || file.State != genai.FileStateActive {
	fmt.Println("Processing video...")
	fmt.Println("File state:", file.State)
	time.Sleep(5 * time.Second)

	file, err = client.Files.Get(ctx, file.Name, nil)
	if err != nil {
		log.Fatal(err)
	}
}

parts := []*genai.Part{
	genai.NewPartFromText("Describe this video clip"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

for result, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.5-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(result.Candidates[0].Content.Parts[0].Text)
}

קונכייה

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${VIDEO_PATH}")
NUM_BYTES=$(wc -c < "${VIDEO_PATH}")
DISPLAY_NAME=VIDEO_PATH

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${VIDEO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

state=$(jq ".file.state" file_info.json)
echo state=$state

while [[ "($state)" = *"PROCESSING"* ]];
do
  echo "Processing video..."
  sleep 5
  # Get the file of interest to check state
  curl https://generativelanguage.googleapis.com/v1beta/files/$name > file_info.json
  state=$(jq ".file.state" file_info.json)
done

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Please describe this file."},
          {"file_data":{"mime_type": "video/mp4", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

PDF

Python

from google import genai

client = genai.Client()
sample_pdf = client.files.upload(file=media / "test.pdf")
response = client.models.generate_content_stream(
    model="gemini-3.5-flash",
    contents=["Give me a summary of this document:", sample_pdf],
)

for chunk in response:
    print(chunk.text)
    print("_" * 80)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "test.pdf"), 
	&genai.UploadFileConfig{
		MIMEType : "application/pdf",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this document:"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

for result, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.5-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(result.Candidates[0].Content.Parts[0].Text)
}

קונכייה

MIME_TYPE=$(file -b --mime-type "${PDF_PATH}")
NUM_BYTES=$(wc -c < "${PDF_PATH}")
DISPLAY_NAME=TEXT


echo $MIME_TYPE
tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${PDF_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Can you add a few more lines to this poem?"},
          {"file_data":{"mime_type": "application/pdf", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

צ'אט

Python

from google import genai
from google.genai import types

client = genai.Client()
chat = client.chats.create(
    model="gemini-3.5-flash",
    history=[
        types.Content(role="user", parts=[types.Part(text="Hello")]),
        types.Content(
            role="model",
            parts=[
                types.Part(
                    text="Great to meet you. What would you like to know?"
                )
            ],
        ),
    ],
)
response = chat.send_message_stream(message="I have 2 dogs in my house.")
for chunk in response:
    print(chunk.text)
    print("_" * 80)
response = chat.send_message_stream(message="How many paws are in my house?")
for chunk in response:
    print(chunk.text)
    print("_" * 80)

print(chat.get_history())

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const chat = ai.chats.create({
  model: "gemini-3.5-flash",
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

console.log("Streaming response for first message:");
const stream1 = await chat.sendMessageStream({
  message: "I have 2 dogs in my house.",
});
for await (const chunk of stream1) {
  console.log(chunk.text);
  console.log("_".repeat(80));
}

console.log("Streaming response for second message:");
const stream2 = await chat.sendMessageStream({
  message: "How many paws are in my house?",
});
for await (const chunk of stream2) {
  console.log(chunk.text);
  console.log("_".repeat(80));
}

console.log(chat.getHistory());

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

history := []*genai.Content{
	genai.NewContentFromText("Hello", genai.RoleUser),
	genai.NewContentFromText("Great to meet you. What would you like to know?", genai.RoleModel),
}
chat, err := client.Chats.Create(ctx, "gemini-3.5-flash", nil, history)
if err != nil {
	log.Fatal(err)
}

for chunk, err := range chat.SendMessageStream(ctx, genai.Part{Text: "I have 2 dogs in my house."}) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(chunk.Text())
	fmt.Println(strings.Repeat("_", 64))
}

for chunk, err := range chat.SendMessageStream(ctx, genai.Part{Text: "How many paws are in my house?"}) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(chunk.Text())
	fmt.Println(strings.Repeat("_", 64))
}

fmt.Println(chat.History(false))

קונכייה

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [
        {"role":"user",
         "parts":[{
           "text": "Hello"}]},
        {"role": "model",
         "parts":[{
           "text": "Great to meet you. What would you like to know?"}]},
        {"role":"user",
         "parts":[{
           "text": "I have two dogs in my house. How many paws are in my house?"}]},
      ]
    }' 2> /dev/null | grep "text"

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל זרם של מופעים של GenerateContentResponse.

GenerateContentResponse

תשובה מהמודל שתומכת בכמה תשובות אפשריות.

דירוגי הבטיחות וסינון התוכן מדווחים גם לגבי הפרומפט ב-GenerateContentResponse.prompt_feedback וגם לגבי כל מועמד ב-finishReason וב-safetyRatings. ה-API: – מחזיר את כל המועמדים המבוקשים או אף אחד מהם. – לא מחזיר אף מועמד רק אם הייתה בעיה בהנחיה (כדאי לבדוק את promptFeedback). – מדווח על משוב לגבי כל מועמד ב-finishReason וב-safetyRatings.

Fields
candidates[] object (Candidate)

תשובות אפשריות מהמודל.

promptFeedback object (PromptFeedback)

מחזירה את המשוב על ההנחיה שקשור למסנני התוכן.

usageMetadata object (UsageMetadata)

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

modelVersion string

פלט בלבד. גרסת המודל ששימשה ליצירת התשובה.

responseId string

פלט בלבד. המזהה responseId משמש לזיהוי כל תשובה.

modelStatus object (ModelStatus)

פלט בלבד. הסטטוס הנוכחי של המודל הזה.

ייצוג JSON
{
  "candidates": [
    {
      object (Candidate)
    }
  ],
  "promptFeedback": {
    object (PromptFeedback)
  },
  "usageMetadata": {
    object (UsageMetadata)
  },
  "modelVersion": string,
  "responseId": string,
  "modelStatus": {
    object (ModelStatus)
  }
}

PromptFeedback

קבוצה של מטא-נתוני המשוב שההנחיה ציינה ב-GenerateContentRequest.content.

Fields
blockReason enum (BlockReason)

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

safetyRatings[] object (SafetyRating)

דירוגים של בטיחות ההנחיה. יש סיווג אחד לכל היותר לכל קטגוריה.

ייצוג JSON
{
  "blockReason": enum (BlockReason),
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ]
}

BlockReason

מציינת את הסיבה לחסימת ההנחיה.

טיפוסים בני מנייה (enum)
BLOCK_REASON_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
SAFETY ההנחיה נחסמה מטעמי בטיחות. בודקים את safetyRatings כדי להבין איזו קטגוריית בטיחות חסמה אותו.
OTHER ההנחיה נחסמה מסיבות לא ידועות.
BLOCKLIST ההנחיה נחסמה בגלל התנאים שכלולים ברשימת המילים החסומות.
PROHIBITED_CONTENT ההנחיה נחסמה בגלל תוכן אסור.
IMAGE_SAFETY מועמדים נחסמו בגלל תוכן לא בטוח שנוצר על ידי AI.

UsageMetadata

מטא-נתונים על השימוש באסימון של בקשת היצירה.

Fields
promptTokenCount integer

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

cachedContentTokenCount integer

מספר הטוקנים בחלק של ההנחיה שנשמר במטמון (התוכן שנשמר במטמון)

candidatesTokenCount integer

המספר הכולל של הטוקנים בכל התשובות האפשריות שנוצרו.

toolUsePromptTokenCount integer

פלט בלבד. מספר הטוקנים שמופיעים בהנחיות לשימוש בכלים.

thoughtsTokenCount integer

פלט בלבד. מספר הטוקנים של המחשבות למודלים חושבים.

totalTokenCount integer

המספר הכולל של הטוקנים בבקשת היצירה (הנחיה + מחשבות + מועמדים לתגובה).

promptTokensDetails[] object (ModalityTokenCount)

פלט בלבד. רשימת האופנים שעובדו בקלט של הבקשה.

cacheTokensDetails[] object (ModalityTokenCount)

פלט בלבד. רשימת אופנויות של התוכן שנשמר במטמון בקלט של הבקשה.

candidatesTokensDetails[] object (ModalityTokenCount)

פלט בלבד. רשימת האופנים שהוחזרו בתשובה.

toolUsePromptTokensDetails[] object (ModalityTokenCount)

פלט בלבד. רשימה של אופנים שונים של קלט שעברו עיבוד לבקשות לשימוש בכלים.

serviceTier enum (ServiceTier)

פלט בלבד. רמת השירות של הבקשה.

ייצוג JSON
{
  "promptTokenCount": integer,
  "cachedContentTokenCount": integer,
  "candidatesTokenCount": integer,
  "toolUsePromptTokenCount": integer,
  "thoughtsTokenCount": integer,
  "totalTokenCount": integer,
  "promptTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "cacheTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "candidatesTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "toolUsePromptTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "serviceTier": enum (ServiceTier)
}

ModelStatus

הסטטוס של המודל הבסיסי. המאפיין הזה משמש לציון השלב של המודל הבסיסי וזמן ההוצאה משימוש, אם רלוונטי.

Fields
modelStage enum (ModelStage)

השלב של המודל הבסיסי.

retirementTime string (Timestamp format)

הזמן שבו השימוש במודל יופסק.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

message string

הודעה שמסבירה את סטטוס המודל.

ייצוג JSON
{
  "modelStage": enum (ModelStage),
  "retirementTime": string,
  "message": string
}

ModelStage

הגדרה של השלב של המודל הבסיסי.

טיפוסים בני מנייה (enum)
MODEL_STAGE_UNSPECIFIED שלב המודל לא צוין.
UNSTABLE_EXPERIMENTAL

המודל הבסיסי עובר הרבה שינויים.

EXPERIMENTAL מודלים בשלב הזה מיועדים למטרות ניסיוניות בלבד.
PREVIEW מודלים בשלב הזה הם מתקדמים יותר ממודלים ניסיוניים.
STABLE מודלים בשלב הזה נחשבים יציבים ומוכנים לשימוש בסביבת ייצור.
LEGACY אם הדגם נמצא בשלב הזה, המשמעות היא שהדגם הזה עומד לצאת משימוש בעתיד הקרוב. רק לקוחות קיימים יכולים להשתמש במודל הזה.
DEPRECATED

המודלים בשלב הזה הוצאו משימוש. אי אפשר להשתמש במודלים האלה.

RETIRED מודלים בשלב הזה מוצאים משימוש. אי אפשר להשתמש במודלים האלה.

מועמד

תשובה פוטנציאלית שנוצרה מהמודל.

Fields
content object (Content)

פלט בלבד. תוכן שנוצר ומוחזר מהמודל.

finishReason enum (FinishReason)

אופציונלי. פלט בלבד. הסיבה להפסקת יצירת הטוקנים על ידי המודל.

אם השדה ריק, סימן שהמודל לא הפסיק ליצור טוקנים.

safetyRatings[] object (SafetyRating)

רשימה של דירוגים לגבי בטיחות תשובה אפשרית.

יש סיווג אחד לכל היותר לכל קטגוריה.

citationMetadata object (CitationMetadata)

פלט בלבד. פרטי הציטוט של מועמד שנוצר על ידי מודל.

יכול להיות שהשדה הזה יאוכלס במידע על הקראה של כל טקסט שכלול ב-content. מדובר בקטעים ש'נאמרים' מתוך חומר שמוגן בזכויות יוצרים בנתוני האימון של מודל ה-LLM הבסיסי.

tokenCount integer

פלט בלבד. כמות טוקנים עבור מועמד זה.

groundingAttributions[] object (GroundingAttribution)

פלט בלבד. פרטי השיוך למקורות שתרמו לתשובה מבוססת.

השדה הזה מאוכלס עבור שיחות GenerateAnswer.

groundingMetadata object (GroundingMetadata)

פלט בלבד. מטא-נתונים של ביסוס המידע לגבי המועמד.

השדה הזה מאוכלס עבור שיחות GenerateContent.

avgLogprobs number

פלט בלבד. הציון הממוצע של הסתברות הלוג של המועמד.

logprobsResult object (LogprobsResult)

פלט בלבד. ציוני הסתברות לוגריתמית לטוקנים של התשובה ולטוקנים המובילים

urlContextMetadata object (UrlContextMetadata)

פלט בלבד. מטא-נתונים שקשורים לכלי לאחזור הקשר של כתובת URL.

index integer

פלט בלבד. האינדקס של המועמד ברשימת המועמדים לתשובה.

finishMessage string

אופציונלי. פלט בלבד. פרטים על הסיבה להפסקת יצירת הטוקנים על ידי המודל. השדה הזה מאוכלס רק אם מוגדר finishReason.

ייצוג JSON
{
  "content": {
    object (Content)
  },
  "finishReason": enum (FinishReason),
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "citationMetadata": {
    object (CitationMetadata)
  },
  "tokenCount": integer,
  "groundingAttributions": [
    {
      object (GroundingAttribution)
    }
  ],
  "groundingMetadata": {
    object (GroundingMetadata)
  },
  "avgLogprobs": number,
  "logprobsResult": {
    object (LogprobsResult)
  },
  "urlContextMetadata": {
    object (UrlContextMetadata)
  },
  "index": integer,
  "finishMessage": string
}

FinishReason

הסיבה להפסקת יצירת הטוקנים על ידי המודל.

טיפוסים בני מנייה (enum)
FINISH_REASON_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
STOP נקודת עצירה טבעית של המודל או רצף עצירה שסופק.
MAX_TOKENS הגעתם למספר האסימונים המקסימלי שצוין בבקשה.
SAFETY התוכן של התשובה האפשרית סומן מטעמי בטיחות.
RECITATION התוכן של התשובה האפשרית סומן בגלל סיבות שקשורות לדיבור.
LANGUAGE התוכן של התשובה האפשרית סומן בגלל שימוש בשפה שלא נתמכת.
OTHER סיבה לא ידועה.
BLOCKLIST יצירת האסימון הופסקה כי התוכן מכיל מונחים אסורים.
PROHIBITED_CONTENT יצירת האסימון הופסקה כי יכול להיות שהוא מכיל תוכן אסור.
SPII יצירת האסימון הופסקה כי התוכן עשוי להכיל מידע אישי רגיש (SPII).
MALFORMED_FUNCTION_CALL הפעלת הפונקציה שנוצרה על ידי המודל לא תקינה.
IMAGE_SAFETY יצירת הטוקנים הופסקה כי התמונות שנוצרו מכילות הפרות של כללי הבטיחות.
IMAGE_PROHIBITED_CONTENT יצירת התמונה הופסקה כי התמונות שנוצרו כוללות תוכן אסור אחר.
IMAGE_OTHER יצירת התמונה הופסקה בגלל בעיה אחרת.
NO_IMAGE המודל היה אמור ליצור תמונה, אבל לא נוצרה תמונה.
IMAGE_RECITATION יצירת התמונה הופסקה בגלל הקראה.
UNEXPECTED_TOOL_CALL המודל יצר קריאה לכלי, אבל לא הופעלו כלים בבקשה.
TOO_MANY_TOOL_CALLS המודל הפעיל יותר מדי כלים ברצף, ולכן המערכת הפסיקה את הביצוע.
MISSING_THOUGHT_SIGNATURE חסרה חתימת מחשבה אחת לפחות בבקשה.
MALFORMED_RESPONSE הסתיים בגלל תגובה בפורמט שגוי.
ESCALATION הבקשה סוננה על ידי כלל להעברה לטיפול ברמה גבוהה יותר.

GroundingAttribution

שיוך למקור שתרם לתשובה.

Fields
sourceId object (AttributionSourceId)

פלט בלבד. מזהה המקור שתורם לשיוך הזה.

content object (Content)

תוכן המקור שמשמש כבסיס לשיוך הזה.

ייצוג JSON
{
  "sourceId": {
    object (AttributionSourceId)
  },
  "content": {
    object (Content)
  }
}

AttributionSourceId

מזהה המקור שתורם לשיוך הזה.

שדות
source Union type
הערך source יכול להיות רק אחד מהבאים:
groundingPassage object (GroundingPassageId)

מזהה של קטע מוטבע.

semanticRetrieverChunk object (SemanticRetrieverChunk)

מזהה של Chunk שאוחזר באמצעות Semantic Retriever.

ייצוג JSON
{

  // source
  "groundingPassage": {
    object (GroundingPassageId)
  },
  "semanticRetrieverChunk": {
    object (SemanticRetrieverChunk)
  }
  // Union type
}

GroundingPassageId

מזהה של חלק בתוך GroundingPassage.

Fields
passageId string

פלט בלבד. מזהה הקטע שתואם ל-GenerateAnswerRequest של GroundingPassage.id.

partIndex integer

פלט בלבד. האינדקס של החלק בתוך GenerateAnswerRequest של GroundingPassage.content.

ייצוג JSON
{
  "passageId": string,
  "partIndex": integer
}

SemanticRetrieverChunk

מזהה של Chunk שאוחזר באמצעות Semantic Retriever שצוין ב-GenerateAnswerRequest באמצעות SemanticRetrieverConfig.

Fields
source string

פלט בלבד. שם המקור שתואם לערך SemanticRetrieverConfig.source בבקשה. דוגמה: corpora/123 או corpora/123/documents/abc

chunk string

פלט בלבד. שם ה-Chunk שמכיל את הטקסט שמשויך לרישיון. לדוגמה: corpora/123/documents/abc/chunks/xyz

ייצוג JSON
{
  "source": string,
  "chunk": string
}

GroundingMetadata

מטא-נתונים שמוחזרים ללקוח כשההארקה מופעלת.

Fields
groundingChunks[] object (GroundingChunk)

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

groundingSupports[] object (GroundingSupport)

רשימה של תמיכה בהארקה.

webSearchQueries[] string

שאילתות לחיפוש באינטרנט לחיפוש המשך באינטרנט.

imageSearchQueries[] string

שאילתות לחיפוש תמונות שמשמשות להארקה.

searchEntryPoint object (SearchEntryPoint)

אופציונלי. הזנת חיפוש Google לחיפושים באינטרנט שמתבצעים בהמשך.

retrievalMetadata object (RetrievalMetadata)

מטא-נתונים שקשורים לאחזור בתהליך ההצמדה לקרקע.

googleMapsWidgetContextToken string

אופציונלי. שם המשאב של אסימון ההקשר של הווידג'ט של מפות Google שאפשר להשתמש בו עם הווידג'ט PlacesContextElement כדי לעבד נתונים הקשריים. השדה הזה מאוכלס רק אם מופעל עיגון בעזרת מפות Google.

ייצוג JSON
{
  "groundingChunks": [
    {
      object (GroundingChunk)
    }
  ],
  "groundingSupports": [
    {
      object (GroundingSupport)
    }
  ],
  "webSearchQueries": [
    string
  ],
  "imageSearchQueries": [
    string
  ],
  "searchEntryPoint": {
    object (SearchEntryPoint)
  },
  "retrievalMetadata": {
    object (RetrievalMetadata)
  },
  "googleMapsWidgetContextToken": string
}

SearchEntryPoint

נקודת כניסה לחיפוש Google.

Fields
renderedContent string

אופציונלי. קטע קוד של תוכן אינטרנט שאפשר להטמיע בדף אינטרנט או בתצוגת אינטרנט של אפליקציה.

sdkBlob string (bytes format)

אופציונלי. ‫JSON מקודד ב-Base64 שמייצג מערך של טופל <מונח חיפוש, כתובת URL של חיפוש>.

מחרוזת בקידוד Base64.

ייצוג JSON
{
  "renderedContent": string,
  "sdkBlob": string
}

GroundingChunk

הסמל GroundingChunk מייצג פלח של הוכחות שתומכות בתשובה של המודל. זה יכול להיות קטע מהאינטרנט, הקשר שאוחזר מקובץ או מידע ממפות Google.

שדות
chunk_type Union type
סוג המקטע. הערך chunk_type יכול להיות רק אחד מהבאים:
web object (Web)

חלק מהנתונים מהאינטרנט שמשמשים לעיגון.

image object (Image)

אופציונלי. חלק מעוגן מחיפוש תמונות.

retrievedContext object (RetrievedContext)

אופציונלי. חלק מההקשר שאוחזר על ידי כלי החיפוש בקובץ.

maps object (Maps)

אופציונלי. חלק מהעיגון ממפות Google.

ייצוג JSON
{

  // chunk_type
  "web": {
    object (Web)
  },
  "image": {
    object (Image)
  },
  "retrievedContext": {
    object (RetrievedContext)
  },
  "maps": {
    object (Maps)
  }
  // Union type
}

פיתוח אתרים

קטע מהאינטרנט.

Fields
uri string

פלט בלבד. הפניה ל-URI של החלק.

title string

פלט בלבד. השם של החלק.

ייצוג JSON
{
  "uri": string,
  "title": string
}

תמונה

קטע מחיפוש תמונות.

Fields
sourceUri string

ה-URI של דף האינטרנט לצורכי שיוך.

imageUri string

כתובת ה-URL של נכס התמונה.

title string

הכותרת של דף האינטרנט שממנו נלקחה התמונה.

domain string

דומיין הבסיס של דף האינטרנט שממנו נלקחה התמונה, למשל example.com.

ייצוג JSON
{
  "sourceUri": string,
  "imageUri": string,
  "title": string,
  "domain": string
}

RetrievedContext

חלק מההקשר שאוחזר על ידי הכלי לחיפוש קבצים.

Fields
customMetadata[] object (CustomMetadata)

אופציונלי. מטא-נתונים שהמשתמש סיפק לגבי ההקשר שאוחזר.

uri string

אופציונלי. הפניה ל-URI של מסמך האחזור הסמנטי.

title string

אופציונלי. שם המסמך.

text string

אופציונלי. הטקסט של החלק.

fileSearchStore string

אופציונלי. השם של FileSearchStore שמכיל את המסמך. לדוגמה: fileSearchStores/123

pageNumber integer

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

mediaId string

אופציונלי. שם המשאב של ה-blob של המדיה בתוצאות החיפוש של קבצים מולטי-מודאליים. פורמט: fileSearchStores/{file_search_store_id}/media/{blobId}

ייצוג JSON
{
  "customMetadata": [
    {
      object (CustomMetadata)
    }
  ],
  "uri": string,
  "title": string,
  "text": string,
  "fileSearchStore": string,
  "pageNumber": integer,
  "mediaId": string
}

CustomMetadata

מטא נתונים שסופקו על ידי המשתמש לגבי GroundingFact.

Fields
key string

המפתח של המטא-נתונים.

value Union type
הערך של המטא-נתונים. יכול להיות מחרוזת, רשימה של מחרוזות או מספר. הערך value יכול להיות רק אחד מהבאים:
stringValue string

אופציונלי. ערך המחרוזת של המטא-נתונים.

stringListValue object (StringList)

אופציונלי. רשימה של ערכי מחרוזת למטא-נתונים.

numericValue number

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

ייצוג JSON
{
  "key": string,

  // value
  "stringValue": string,
  "stringListValue": {
    object (StringList)
  },
  "numericValue": number
  // Union type
}

StringList

רשימה של ערכי מחרוזת.

Fields
values[] string

ערכי המחרוזת של הרשימה.

ייצוג JSON
{
  "values": [
    string
  ]
}

מפות

חלק מעיגון מנתוני מפות Google. כל מקטע במפות Google מתאים למקום אחד.

Fields
uri string

הפניה ל-URI של המקום.

title string

שם המקום.

text string

תיאור טקסטואלי של התשובה לגבי המקום.

placeId string

מזהה המקום בפורמט places/{placeId}. משתמשים יכולים להשתמש במזהה הזה כדי לחפש את המקום.

placeAnswerSources object (PlaceAnswerSources)

מקורות שמספקים תשובות לגבי התכונות של מקום מסוים במפות Google.

ייצוג JSON
{
  "uri": string,
  "title": string,
  "text": string,
  "placeId": string,
  "placeAnswerSources": {
    object (PlaceAnswerSources)
  }
}

PlaceAnswerSources

אוסף של מקורות שמספקים תשובות לגבי התכונות של מקום מסוים במפות Google. כל הודעת PlaceAnswerSources מתייחסת למקום ספציפי במפות Google. הכלי של מפות Google השתמש במקורות האלה כדי לענות על שאלות לגבי מאפיינים של המקום (לדוגמה: "יש בבר פו Wi-Fi?" או "האם בר פו נגיש לכיסא גלגלים?"). בשלב הזה אנחנו תומכים רק בקטעי מידע מביקורות כמקורות.

Fields
reviewSnippets[] object (ReviewSnippet)

קטעי ביקורות שמשמשים ליצירת תשובות לגבי התכונות של מקום מסוים במפות Google.

ייצוג JSON
{
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

ReviewSnippet

תקציר של קטע מביקורת של משתמש שעונה על שאלה לגבי התכונות של מקום ספציפי במפות Google.

Fields
reviewId string

המזהה של קטע הביקורת.

googleMapsUri string

קישור שמתאים לביקורת של המשתמש במפות Google.

title string

כותרת הביקורת.

ייצוג JSON
{
  "reviewId": string,
  "googleMapsUri": string,
  "title": string
}

GroundingSupport

תמיכה בעיגון.

Fields
groundingChunkIndices[] integer

אופציונלי. רשימה של אינדקסים (ב-grounding_chunk ב-response.candidate.grounding_metadata) שמציינים את הציטוטים שמשויכים לטענה. לדוגמה, [‎1,3,4] פירושו שהתוכן שאוחזר ושמשויך לטענה הוא grounding_chunk[1], ‏ grounding_chunk[3] ו-grounding_chunk[4]. אם התשובה מועברת בסטרימינג, הערכים של groundingChunkIndices מתייחסים לאינדקסים בכל התשובות. באחריות הלקוח לצבור את נתחי ההארקה מכל התשובות (תוך שמירה על אותו סדר).

confidenceScores[] number

אופציונלי. ציון המהימנות של הפניות לתמיכה. הערך נע בין 0 ל-1. ‫1 היא התשובה שמבטאת את מידת הביטחון הגבוהה ביותר. הגודל של הרשימה הזו צריך להיות זהה לזה של groundingChunkIndices.

renderedParts[] integer

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

segment object (Segment)

פלח התוכן שאליו שייך התמיכה הזו.

ייצוג JSON
{
  "groundingChunkIndices": [
    integer
  ],
  "confidenceScores": [
    number
  ],
  "renderedParts": [
    integer
  ],
  "segment": {
    object (Segment)
  }
}

Segment

פלח של התוכן.

Fields
partIndex integer

האינדקס של אובייקט Part בתוך אובייקט Content ההורה שלו.

startIndex integer

אינדקס ההתחלה בחלק הנתון, נמדד בבייטים. ההיסט מתחילת החלק, כולל, החל מאפס.

endIndex integer

אינדקס הסיום בחלק הנתון, נמדד בבייטים. ההיסט מתחיל מאפס, לא כולל, מתחילת החלק.

text string

הטקסט שמתאים למקטע מהתשובה.

ייצוג JSON
{
  "partIndex": integer,
  "startIndex": integer,
  "endIndex": integer,
  "text": string
}

RetrievalMetadata

מטא-נתונים שקשורים לאחזור בתהליך ההצמדה לקרקע.

Fields
googleSearchDynamicRetrievalScore number

אופציונלי. ציון שמציין את הסבירות לכך שמידע מחיפוש Google יעזור לענות על ההנחיה. הציון הוא בטווח [0, 1], כאשר 0 הוא הסביר ביותר ו-1 הוא הכי פחות סביר. הניקוד הזה מאוכלס רק כשמופעלת האפשרות 'הארקה של חיפוש Google' ואחזור דינמי. הערך הזה מושווה לסף כדי לקבוע אם להפעיל את חיפוש Google.

ייצוג JSON
{
  "googleSearchDynamicRetrievalScore": number
}

LogprobsResult

תוצאת Logprobs

Fields
topCandidates[] object (TopCandidates)

אורך = המספר הכולל של שלבי הפענוח.

chosenCandidates[] object (Candidate)

אורך = המספר הכולל של שלבי הפענוח. יכול להיות שהמועמדים שנבחרו יופיעו ב-topCandidates ויכול להיות שלא.

logProbabilitySum number

סכום ההסתברויות הלוגריתמיות של כל הטוקנים.

ייצוג JSON
{
  "topCandidates": [
    {
      object (TopCandidates)
    }
  ],
  "chosenCandidates": [
    {
      object (Candidate)
    }
  ],
  "logProbabilitySum": number
}

TopCandidates

מועמדים עם הסתברויות יומן גבוהות בכל שלב פענוח.

Fields
candidates[] object (Candidate)

הנתונים ממוינים לפי הסתברות יומן בסדר יורד.

ייצוג JSON
{
  "candidates": [
    {
      object (Candidate)
    }
  ]
}

מועמד

מועמד לאסימון ולציון logprobs.

Fields
token string

ערך המחרוזת של הטוקן של המועמד.

tokenId integer

ערך מזהה האסימון של המועמד.

logProbability number

ההסתברות הלוגריתמית של המועמד.

ייצוג JSON
{
  "token": string,
  "tokenId": integer,
  "logProbability": number
}

UrlContextMetadata

מטא-נתונים שקשורים לכלי לאחזור הקשר של כתובת URL.

Fields
urlMetadata[] object (UrlMetadata)

רשימה של כתובות URL בהקשר.

ייצוג JSON
{
  "urlMetadata": [
    {
      object (UrlMetadata)
    }
  ]
}

UrlMetadata

ההקשר של אחזור כתובת URL יחידה.

Fields
retrievedUrl string

כתובת ה-URL שאותרה על ידי הכלי.

urlRetrievalStatus enum (UrlRetrievalStatus)

הסטטוס של אחזור כתובת ה-URL.

ייצוג JSON
{
  "retrievedUrl": string,
  "urlRetrievalStatus": enum (UrlRetrievalStatus)
}

UrlRetrievalStatus

הסטטוס של אחזור כתובת ה-URL.

טיפוסים בני מנייה (enum)
URL_RETRIEVAL_STATUS_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
URL_RETRIEVAL_STATUS_SUCCESS השליפה של כתובת ה-URL בוצעה בהצלחה.
URL_RETRIEVAL_STATUS_ERROR אחזור כתובת ה-URL נכשל בגלל שגיאה.
URL_RETRIEVAL_STATUS_PAYWALL אחזור כתובת ה-URL נכשל כי התוכן מוגן על ידי חומת תשלום.
URL_RETRIEVAL_STATUS_UNSAFE השליפה של כתובת ה-URL נכשלה כי התוכן לא בטוח.

CitationMetadata

אוסף של שיוכים למקורות של קטע תוכן.

Fields
citationSources[] object (CitationSource)

ציטוטים של מקורות לתשובה ספציפית.

ייצוג JSON
{
  "citationSources": [
    {
      object (CitationSource)
    }
  ]
}

CitationSource

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

Fields
startIndex integer

אופציונלי. תחילת פלח התשובה שמשויך למקור הזה.

האינדקס מציין את תחילת הפלח, ונמדד בבייטים.

endIndex integer

אופציונלי. סיום הקטע המשויך, לא כולל.

uri string

אופציונלי. ה-URI שמשויך כמקור לחלק מהטקסט.

license string

אופציונלי. רישיון לפרויקט ב-GitHub שמוגדר כמקור לקטע.

חובה לציין פרטי רישיון כשמצטטים קוד.

ייצוג JSON
{
  "startIndex": integer,
  "endIndex": integer,
  "uri": string,
  "license": string
}

HarmCategory

קטגוריות של נזק שאפשר לזהות בקלט של משתמשים ובתשובות של מודלים.

טיפוסים בני מנייה (enum)
HARM_CATEGORY_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
HARM_CATEGORY_HATE_SPEECH תוכן שמקדם אלימות או מסית לשנאה נגד אנשים פרטיים או קבוצות על סמך מאפיינים מסוימים.
HARM_CATEGORY_DANGEROUS_CONTENT תוכן שמקדם פעילויות מסוכנות, מסייע להן או מאפשר אותן.
HARM_CATEGORY_HARASSMENT תוכן פוגעני או מאיים, או תוכן שמיועד לבריונות, להצקה או ללעג.
HARM_CATEGORY_SEXUALLY_EXPLICIT תוכן שמכיל חומרים בעלי אופי מיני בוטה.
HARM_CATEGORY_CIVIC_INTEGRITY

הוצאה משימוש: אין יותר תמיכה במסנן בחירות. קטגוריית הנזק היא יושרה אזרחית.

HARM_CATEGORY_IMAGE_HATE תמונות שמכילות דברי שטנה.
HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT תמונות שמכילות תוכן מסוכן.
HARM_CATEGORY_IMAGE_HARASSMENT תמונות שמכילות הטרדה.
HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT תמונות שמכילות תוכן מיני בוטה.
HARM_CATEGORY_JAILBREAK הנחיות שנועדו לעקוף את מסנני הבטיחות.

ModalityTokenCount

מייצג מידע על ספירת טוקנים עבור מודאליות יחידה.

Fields
modality enum (Modality)

האופן שבו משתמשים בטוקן שמשויך לספירה הזו.

tokenCount integer

מספר הטוקנים.

ייצוג JSON
{
  "modality": enum (Modality),
  "tokenCount": integer
}

מודליות

אופן הפעולה של חלקים בתוכן

טיפוסים בני מנייה (enum)
MODALITY_UNSPECIFIED אופן השימוש לא צוין.
TEXT טקסט פשוט.
IMAGE תמונה.
VIDEO סרטון.
AUDIO אודיו.
DOCUMENT מסמך, למשל PDF.

SafetyRating

דירוג הבטיחות של פריט תוכן.

סיווג הבטיחות מכיל את קטגוריית הנזק ואת רמת הסבירות לנזק בקטגוריה הזו עבור פריט תוכן. התוכן מסווג לפי בטיחות במספר קטגוריות של נזק, וההסתברות לסיווג הנזק מופיעה כאן.

Fields
category enum (HarmCategory)

חובה. הקטגוריה של הדירוג הזה.

probability enum (HarmProbability)

חובה. הסבירות לפגיעה בגלל התוכן הזה.

blocked boolean

האם התוכן הזה נחסם בגלל הסיווג הזה?

ייצוג JSON
{
  "category": enum (HarmCategory),
  "probability": enum (HarmProbability),
  "blocked": boolean
}

HarmProbability

הסבירות שחלק מהתוכן מזיק.

מערכת הסיווג נותנת את ההסתברות שהתוכן לא בטוח. הסיווג הזה לא מציין את חומרת הנזק שנגרם מתוכן מסוים.

טיפוסים בני מנייה (enum)
HARM_PROBABILITY_UNSPECIFIED לא צוינה סבירות.
NEGLIGIBLE הסיכוי שהתוכן לא בטוח הוא זניח.
LOW הסיכוי שהתוכן לא בטוח הוא נמוך.
MEDIUM יש סיכוי בינוני שהתוכן לא בטוח.
HIGH יש סיכוי גבוה שהתוכן לא בטוח.

SafetySetting

הגדרת בטיחות שמשפיעה על התנהגות החסימה של בטיחות.

העברת הגדרת בטיחות לקטגוריה משנה את ההסתברות המותרת לחסימת תוכן.

Fields
category enum (HarmCategory)

חובה. הקטגוריה של ההגדרה הזו.

threshold enum (HarmBlockThreshold)

חובה. קובעת את סף ההסתברות שמעליו נחסמת פגיעה.

ייצוג JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}

HarmBlockThreshold

חסימה בהסתברות מוגדרת לנזק ומעבר לה.

טיפוסים בני מנייה (enum)
HARM_BLOCK_THRESHOLD_UNSPECIFIED לא צוין סף.
BLOCK_LOW_AND_ABOVE תוכן עם סיווג NEGLIGIBLE (זניח) יהיה מותר.
BLOCK_MEDIUM_AND_ABOVE תוכן עם סיווגים של NEGLIGIBLE ו-LOW יהיה מותר.
BLOCK_ONLY_HIGH תוכן עם רמת סיכון נמוכה, בינונית או זניחה מותר.
BLOCK_NONE כל התוכן יאושר.
OFF משביתים את מסנן הבטיחות.

ServiceTier

רמת השירות של האינטראקציה.

טיפוסים בני מנייה (enum)
SERVICE_TIER_UNSPECIFIED מסלול שירות שמוגדר כברירת מחדל, שהוא Standard.
SERVICE_TIER_FLEX רמת השירות Flex.
SERVICE_TIER_STANDARD רמת שירות רגילה.
SERVICE_TIER_PRIORITY רמת שירות עם עדיפות.

AllowedTools

ההגדרה של הכלים המותרים.

Fields
mode enum (ToolChoiceType)

המצב של בחירת הכלי.

tools[] string

שמות הכלים המותרים.

ייצוג JSON
{
  "mode": enum (ToolChoiceType),
  "tools": [
    string
  ]
}

הערה

מידע על ציטוט של תוכן שנוצר על ידי מודל.

Fields
startIndex integer

תחילת פלח התשובה שמשויך למקור הזה.

האינדקס מציין את תחילת הפלח, ונמדד בבייטים.

endIndex integer

סיום הקטע המשויך, לא כולל.

type Union type
סוג ההערה. הערך type יכול להיות רק אחד מהבאים:
urlCitation object (UrlCitation)

הערה של ציטוט כתובת URL.

fileCitation object (FileCitation)

הערה לציטוט קובץ.

placeCitation object (PlaceCitation)

הערה של ציטוט מקום.

ייצוג JSON
{
  "startIndex": integer,
  "endIndex": integer,

  // type
  "urlCitation": {
    object (UrlCitation)
  },
  "fileCitation": {
    object (FileCitation)
  },
  "placeCitation": {
    object (PlaceCitation)
  }
  // Union type
}

UrlCitation

הערה של ציטוט כתובת URL.

Fields
url string

כתובת ה-URL.

title string

השם של כתובת ה-URL.

ייצוג JSON
{
  "url": string,
  "title": string
}

FileCitation

הערה לציטוט קובץ.

Fields
documentUri string

ה-URI של הקובץ.

fileName string

שם הקובץ.

source string

המקור שמשויך לחלק מהטקסט.

customMetadata object (Struct)

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

pageNumber integer

מספר הדף במסמך המצוטט, אם רלוונטי.

mediaId string

מזהה המדיה במקרה של ציטוטים של תמונות, אם רלוונטי.

ייצוג JSON
{
  "documentUri": string,
  "fileName": string,
  "source": string,
  "customMetadata": {
    object (Struct)
  },
  "pageNumber": integer,
  "mediaId": string
}

PlaceCitation

הערה של ציטוט מקום.

Fields
placeId string

מזהה המקום בפורמט places/{placeId}.

name string

שם המקום.

url string

הפניה ל-URI של המקום.

reviewSnippets[] object (ReviewSnippet)

קטעי ביקורות שמשמשים ליצירת תשובות לגבי התכונות של מקום מסוים במפות Google.

ייצוג JSON
{
  "placeId": string,
  "name": string,
  "url": string,
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

AspectRatio

יחסי גובה-רוחב נתמכים של תמונות שנוצרות.

טיפוסים בני מנייה (enum)
ASPECT_RATIO_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
ASPECT_RATIO_ONE_BY_ONE יחס גובה-רוחב של 1:1.
ASPECT_RATIO_TWO_BY_THREE יחס גובה-רוחב של 2:3.
ASPECT_RATIO_THREE_BY_TWO יחס גובה-רוחב של 3:2.
ASPECT_RATIO_THREE_BY_FOUR יחס גובה-רוחב של 3:4.
ASPECT_RATIO_FOUR_BY_THREE יחס גובה-רוחב של 4:3.
ASPECT_RATIO_FOUR_BY_FIVE יחס גובה-רוחב של 4:5.
ASPECT_RATIO_FIVE_BY_FOUR יחס גובה-רוחב של 5:4.
ASPECT_RATIO_NINE_BY_SIXTEEN יחס גובה-רוחב של 9:16.
ASPECT_RATIO_SIXTEEN_BY_NINE יחס גובה-רוחב של 16:9.
ASPECT_RATIO_TWENTY_ONE_BY_NINE יחס גובה-רוחב של 21:9.
ASPECT_RATIO_ONE_BY_EIGHT יחס גובה-רוחב של 1:8.
ASPECT_RATIO_EIGHT_BY_ONE יחס גובה-רוחב של 8:1.
ASPECT_RATIO_ONE_BY_FOUR יחס גובה-רוחב של 1:4.
ASPECT_RATIO_FOUR_BY_ONE יחס גובה-רוחב של 4:1.

AudioResponseFormat

הגדרה של פורמט פלט האודיו.

Fields
mimeType enum (MimeType)

סוג ה-MIME של פלט האודיו.

delivery enum (Delivery)

אופן השליחה של פלט האודיו.

sampleRate integer

תדירות הדגימה בהרץ.

bitRate integer

קצב העברת הנתונים בסיביות לשנייה (bps). רלוונטי רק לפורמטים דחוסים (MP3, ‏ Opus).

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "sampleRate": integer,
  "bitRate": integer
}

CodeExecution

בסוג הזה אין שדות.

כלי שהמודל יכול להשתמש בו כדי להריץ קוד.

CodeExecutionCallStep

שלב של קריאה להרצת קוד.

Fields
arguments object (CodeExecutionCallStepArguments)

חובה. הארגומנטים להעברה להרצת הקוד.

ייצוג JSON
{
  "arguments": {
    object (CodeExecutionCallStepArguments)
  }
}

CodeExecutionCallStepArguments

הארגומנטים להעברה להרצת הקוד.

Fields
language enum (Language)

שפת התכנות של code.

code string

הקוד שיופעל.

ייצוג JSON
{
  "language": enum (Language),
  "code": string
}

CodeExecutionResultStep

שלב התוצאה של הרצת הקוד.

Fields
result string

חובה. הפלט של הרצת הקוד.

isError boolean

האם הרצת הקוד הסתיימה בשגיאה.

ייצוג JSON
{
  "result": string,
  "isError": boolean
}

ComputerUse

כלי שהמודל יכול להשתמש בו כדי לקיים אינטראקציה עם המחשב.

Fields
environment enum (Environment)

הסביבה שבה מתבצעת הפעולה.

excludedPredefinedFunctions[] string

רשימת הפונקציות המוגדרות מראש שמוחרגות מהקריאה למודל.

enablePromptInjectionDetection boolean

האם להפעיל את הבדיקה לאיתור החדרת פרומפטים בבקשה לשימוש במחשב.

disabledSafetyPolicies[] enum (SafetyPolicy)

אופציונלי. השבתת מדיניות הבטיחות לשימוש במחשב.

ייצוג JSON
{
  "environment": enum (Environment),
  "excludedPredefinedFunctions": [
    string
  ],
  "enablePromptInjectionDetection": boolean,
  "disabledSafetyPolicies": [
    enum (SafetyPolicy)
  ]
}

תוכן

תוכן התשובה.

שדות
type Union type
הערך type יכול להיות רק אחד מהבאים:
text object (TextContent)
image object (ImageContent)
audio object (AudioContent)
document object (DocumentContent)
video object (VideoContent)
thought
(deprecated)
object (ThoughtContent)
toolCall
(deprecated)
object (ToolCallContent)
toolResult
(deprecated)
object (ToolResultContent)
ייצוג JSON
{

  // type
  "text": {
    object (TextContent)
  },
  "image": {
    object (ImageContent)
  },
  "audio": {
    object (AudioContent)
  },
  "document": {
    object (DocumentContent)
  },
  "video": {
    object (VideoContent)
  },
  "thought": {
    object (ThoughtContent)
  },
  "toolCall": {
    object (ToolCallContent)
  },
  "toolResult": {
    object (ToolResultContent)
  }
  // Union type
}

TextContent

בלוק של תוכן טקסט.

Fields
text string

חובה. תוכן הטקסט.

annotations[] object (Annotation)

מידע על ציטוט של תוכן שנוצר על ידי מודל.

ייצוג JSON
{
  "text": string,
  "annotations": [
    {
      object (Annotation)
    }
  ]
}

ImageContent

בלוק תוכן של תמונה.

Fields
mimeType enum (MimeType)

סוג ה-MIME של התמונה.

resolution enum (MediaResolution)

הרזולוציה של המדיה.

data_or_uri Union type
תוכן התמונה. הערך data_or_uri יכול להיות רק אחד מהבאים:
data string (bytes format)

תוכן התמונה.

מחרוזת בקידוד Base64.

uri string

ה-URI של התמונה.

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "resolution": enum (MediaResolution),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

AudioContent

בלוק של תוכן אודיו.

Fields
mimeType enum (MimeType)

סוג ה-MIME של האודיו.

channels integer

מספר ערוצי האודיו.

sampleRate integer

תדירות הדגימה של האודיו.

data_or_uri Union type
תוכן האודיו. הערך data_or_uri יכול להיות רק אחד מהבאים:
data string (bytes format)

תוכן האודיו.

מחרוזת בקידוד Base64.

uri string

ה-URI של האודיו.

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "channels": integer,
  "sampleRate": integer,

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

DocumentContent

בלוק תוכן במסמך.

Fields
mimeType enum (MimeType)

סוג ה-MIME של המסמך.

data_or_uri Union type
תוכן המסמך. הערך data_or_uri יכול להיות רק אחד מהבאים:
data string (bytes format)

תוכן המסמך.

מחרוזת בקידוד Base64.

uri string

ה-URI של המסמך.

ייצוג JSON
{
  "mimeType": enum (MimeType),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

תוכן וידאו

בלוק של תוכן וידאו.

Fields
mimeType enum (MimeType)

סוג ה-MIME של הסרטון.

resolution enum (MediaResolution)

הרזולוציה של המדיה.

data_or_uri Union type
תוכן הסרטון. הערך data_or_uri יכול להיות רק אחד מהבאים:
data string (bytes format)

תוכן הסרטון.

מחרוזת בקידוד Base64.

uri string

ה-URI של הסרטון.

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "resolution": enum (MediaResolution),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

ThoughtContent

אבן בניין של תוכן מסוג מחשבה.

Fields
signature string (bytes format)

חתימה שתתאים למקור ה-Backend שיהיה חלק מהיצירה.

מחרוזת בקידוד Base64.

summary[] object (ThoughtSummaryContent)

סיכום של המחשבה.

ייצוג JSON
{
  "signature": string,
  "summary": [
    {
      object (ThoughtSummaryContent)
    }
  ]
}

ThoughtSummaryContent

שדות
type Union type
הערך type יכול להיות רק אחד מהבאים:
text object (TextContent)
image object (ImageContent)
ייצוג JSON
{

  // type
  "text": {
    object (TextContent)
  },
  "image": {
    object (ImageContent)
  }
  // Union type
}

ToolCallContent

תוכן הקריאה לכלי.

Fields
id string

חובה. מזהה ייחודי של קריאה ספציפית לכלי.

signature string (bytes format)

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

מחרוזת בקידוד Base64.

type Union type
הערך type יכול להיות רק אחד מהבאים:
functionCall object (FunctionCallContent)
codeExecutionCall object (CodeExecutionCallContent)
urlContextCall object (UrlContextCallContent)
mcpServerToolCall object (McpServerToolCallContent)
googleSearchCall object (GoogleSearchCallContent)
fileSearchCall object (FileSearchCallContent)
googleMapsCall object (GoogleMapsCallContent)
ייצוג JSON
{
  "id": string,
  "signature": string,

  // type
  "functionCall": {
    object (FunctionCallContent)
  },
  "codeExecutionCall": {
    object (CodeExecutionCallContent)
  },
  "urlContextCall": {
    object (UrlContextCallContent)
  },
  "mcpServerToolCall": {
    object (McpServerToolCallContent)
  },
  "googleSearchCall": {
    object (GoogleSearchCallContent)
  },
  "fileSearchCall": {
    object (FileSearchCallContent)
  },
  "googleMapsCall": {
    object (GoogleMapsCallContent)
  }
  // Union type
}

FunctionCallContent

בלוק תוכן של קריאה לכלי פונקציה.

Fields
name string

חובה. השם של הכלי שאליו מתקשרים.

arguments object (Struct)

חובה. הארגומנטים להעברה לפונקציה.

ייצוג JSON
{
  "name": string,
  "arguments": {
    object (Struct)
  }
}

CodeExecutionCallContent

תוכן שכולל הרצת קוד.

Fields
arguments object (CodeExecutionCallArguments)

חובה. הארגומנטים להעברה להרצת הקוד.

ייצוג JSON
{
  "arguments": {
    object (CodeExecutionCallArguments)
  }
}

CodeExecutionCallArguments

הארגומנטים להעברה להרצת הקוד.

Fields
language enum (Language)

שפת התכנות של code.

code string

הקוד שיופעל.

ייצוג JSON
{
  "language": enum (Language),
  "code": string
}

UrlContextCallContent

תוכן של הקשר של כתובת ה-URL.

Fields
arguments object (UrlContextCallArguments)

חובה. הארגומנטים להעברה להקשר של כתובת ה-URL.

ייצוג JSON
{
  "arguments": {
    object (UrlContextCallArguments)
  }
}

UrlContextCallArguments

הארגומנטים להעברה להקשר של כתובת ה-URL.

Fields
urls[] string

כתובות ה-URL לאחזור.

ייצוג JSON
{
  "urls": [
    string
  ]
}

McpServerToolCallContent

תוכן הקריאה לכלי MCPServer.

Fields
name string

חובה. השם של הכלי שהופעל.

serverName string

חובה. השם של שרת ה-MCP שבו נעשה שימוש.

arguments object (Struct)

חובה. אובייקט JSON של הארגומנטים של הפונקציה.

ייצוג JSON
{
  "name": string,
  "serverName": string,
  "arguments": {
    object (Struct)
  }
}

GoogleSearchCallContent

תוכן בחיפוש Google.

Fields
arguments object (GoogleSearchCallArguments)

חובה. הארגומנטים שמעבירים לחיפוש Google.

searchType enum (SearchType)

סוג ההארקה של החיפוש שמופעל.

ייצוג JSON
{
  "arguments": {
    object (GoogleSearchCallArguments)
  },
  "searchType": enum (SearchType)
}

GoogleSearchCallArguments

הארגומנטים שמעבירים לחיפוש Google.

Fields
queries[] string

שאילתות לחיפוש באינטרנט לחיפוש המשך באינטרנט.

ייצוג JSON
{
  "queries": [
    string
  ]
}

FileSearchCallContent

בסוג הזה אין שדות.

תוכן חיפוש קבצים.

GoogleMapsCallContent

התוכן במפות Google.

Fields
arguments object (GoogleMapsCallArguments)

הארגומנטים להעברה לכלי של מפות Google.

ייצוג JSON
{
  "arguments": {
    object (GoogleMapsCallArguments)
  }
}

GoogleMapsCallArguments

הארגומנטים להעברה לכלי של מפות Google.

Fields
queries[] string

השאילתות שיופעלו.

ייצוג JSON
{
  "queries": [
    string
  ]
}

ToolResultContent

תוכן התוצאה של הכלי.

Fields
callId string

חובה. מזהה שצריך להיות זהה למזהה מבלוק קריאת הפונקציה.

signature string (bytes format)

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

מחרוזת בקידוד Base64.

type Union type
הערך type יכול להיות רק אחד מהבאים:
functionResult object (FunctionResultContent)
codeExecutionResult object (CodeExecutionResultContent)
urlContextResult object (UrlContextResultContent)
googleSearchResult object (GoogleSearchResultContent)
mcpServerToolResult object (McpServerToolResultContent)
fileSearchResult object (FileSearchResultContent)
googleMapsResult object (GoogleMapsResultContent)
ייצוג JSON
{
  "callId": string,
  "signature": string,

  // type
  "functionResult": {
    object (FunctionResultContent)
  },
  "codeExecutionResult": {
    object (CodeExecutionResultContent)
  },
  "urlContextResult": {
    object (UrlContextResultContent)
  },
  "googleSearchResult": {
    object (GoogleSearchResultContent)
  },
  "mcpServerToolResult": {
    object (McpServerToolResultContent)
  },
  "fileSearchResult": {
    object (FileSearchResultContent)
  },
  "googleMapsResult": {
    object (GoogleMapsResultContent)
  }
  // Union type
}

FunctionResultContent

בלוק תוכן של תוצאה של כלי פונקציה.

Fields
name string

שם הכלי שהופעל.

isError boolean

האם קריאת הכלי הסתיימה בשגיאה.

result Union type
התוצאה של הקריאה לכלי. הערך result יכול להיות רק אחד מהבאים:
structResult object (Struct)
contentList object (FunctionResultSubcontentList)
stringResult string
ייצוג JSON
{
  "name": string,
  "isError": boolean,

  // result
  "structResult": {
    object (Struct)
  },
  "contentList": {
    object (FunctionResultSubcontentList)
  },
  "stringResult": string
  // Union type
}

FunctionResultSubcontentList

Fields
contents[] object (FunctionResultSubcontent)
ייצוג JSON
{
  "contents": [
    {
      object (FunctionResultSubcontent)
    }
  ]
}

FunctionResultSubcontent

שדות
type Union type
הערך type יכול להיות רק אחד מהבאים:
text object (TextContent)
image object (ImageContent)
ייצוג JSON
{

  // type
  "text": {
    object (TextContent)
  },
  "image": {
    object (ImageContent)
  }
  // Union type
}

CodeExecutionResultContent

תוכן של תוצאת הרצת הקוד.

Fields
result string

חובה. הפלט של הרצת הקוד.

isError boolean

האם הרצת הקוד הסתיימה בשגיאה.

ייצוג JSON
{
  "result": string,
  "isError": boolean
}

UrlContextResultContent

תוכן התוצאה של הקשר כתובת ה-URL.

Fields
result[] object (UrlContextResult)

חובה. התוצאות של ההקשר של כתובת ה-URL.

isError boolean

האם ההקשר של כתובת ה-URL הוביל לשגיאה.

ייצוג JSON
{
  "result": [
    {
      object (UrlContextResult)
    }
  ],
  "isError": boolean
}

UrlContextResult

התוצאה של ההקשר של כתובת ה-URL.

Fields
url string

כתובת ה-URL שאוחזרה.

status enum (Status)

הסטטוס של אחזור כתובת ה-URL.

ייצוג JSON
{
  "url": string,
  "status": enum (Status)
}

GoogleSearchResultContent

תוכן של תוצאות חיפוש ב-Google.

Fields
result[] object (GoogleSearchResult)

חובה. תוצאות חיפוש Google.

isError boolean

האם החיפוש ב-Google הסתיים בשגיאה.

ייצוג JSON
{
  "result": [
    {
      object (GoogleSearchResult)
    }
  ],
  "isError": boolean
}

GoogleSearchResult

התוצאה של חיפוש Google.

Fields
searchSuggestions string

קטע קוד של תוכן אינטרנט שאפשר להטמיע בדף אינטרנט או בתצוגת אינטרנט של אפליקציה.

ייצוג JSON
{
  "searchSuggestions": string
}

McpServerToolResultContent

תוכן התוצאה של כלי MCPServer.

Fields
name string

השם של הכלי שהופעל בקריאה הספציפית הזו לכלי.

serverName string

השם של שרת ה-MCP שבו נעשה שימוש.

result Union type
הפלט מהשיחה עם שרת ה-MCP. יכול להיות טקסט פשוט או תוכן עשיר. הערך result יכול להיות רק אחד מהבאים:
structResult object (Struct)
contentList object (FunctionResultSubcontentList)
stringResult string
ייצוג JSON
{
  "name": string,
  "serverName": string,

  // result
  "structResult": {
    object (Struct)
  },
  "contentList": {
    object (FunctionResultSubcontentList)
  },
  "stringResult": string
  // Union type
}

FileSearchResultContent

תוכן של תוצאת חיפוש קבצים.

Fields
result[] object (FileSearchResult)

אופציונלי. התוצאות של חיפוש הקבצים.

ייצוג JSON
{
  "result": [
    {
      object (FileSearchResult)
    }
  ]
}

FileSearchResult

בסוג הזה אין שדות.

התוצאה של חיפוש הקובץ.

GoogleMapsResultContent

תוכן של תוצאות במפות Google.

Fields
result[] object (GoogleMapsResult)

חובה. התוצאות של מפות Google.

ייצוג JSON
{
  "result": [
    {
      object (GoogleMapsResult)
    }
  ]
}

GoogleMapsResult

התוצאה של מפות Google.

Fields
places[] object (Places)

המקומות שנמצאו.

widgetContextToken string

שם המשאב של אסימון ההקשר של הווידג'ט של מפות Google.

ייצוג JSON
{
  "places": [
    {
      object (Places)
    }
  ],
  "widgetContextToken": string
}

מקומות

Fields
placeId string

מזהה המקום בפורמט places/{placeId}.

name string

שם המקום.

url string

הפניה ל-URI של המקום.

reviewSnippets[] object (ReviewSnippet)

קטעי ביקורות שמשמשים ליצירת תשובות לגבי התכונות של מקום מסוים במפות Google.

ייצוג JSON
{
  "placeId": string,
  "name": string,
  "url": string,
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

ContentList

רשימה של תוכן.

Fields
contents[] object (Content)

התוכן של הרשימה.

ייצוג JSON
{
  "contents": [
    {
      object (Content)
    }
  ]
}

CreateInteractionRequest

פרמטרים של הגדרות ליצירת אינטראקציה.

Fields
stream boolean

קלט בלבד. אם האינטראקציה תועבר בסטרימינג.

store boolean

קלט בלבד. האם לאחסן את התגובה והבקשה לאחזור מאוחר יותר.

interaction object (Interaction)

האינטראקציה שרוצים ליצור.

background boolean

קלט בלבד. האם להריץ את האינטראקציה עם המודל ברקע.

ייצוג JSON
{
  "stream": boolean,
  "store": boolean,
  "interaction": {
    object (Interaction)
  },
  "background": boolean
}

אינטראקציה

תשובה ל-InteractionService.CreateInteraction.

Fields
id string

חובה. פלט בלבד. מזהה ייחודי של השלמת האינטראקציה.

status enum (Status)

חובה. פלט בלבד. הסטטוס של האינטראקציה.

created string

חובה. פלט בלבד. השעה שבה התשובה נוצרה בפורמט ISO 8601‏ (YYYY-MM-DDThh:mm:ssZ).

updated string

חובה. פלט בלבד. השעה שבה התשובה עודכנה לאחרונה בפורמט ISO 8601‏ (YYYY-MM-DDThh:mm:ssZ).

role
(deprecated)
string

פלט בלבד. התפקיד של האינטראקציה.

outputs[]
(deprecated)
object (Content)

פלט בלבד. תשובות מהמודל.

systemInstruction string

הוראה למערכת לגבי האינטראקציה.

tools[] object (Tool)

רשימה של הצהרות על כלים שהמודל עשוי להשתמש בהם במהלך האינטראקציה.

usage object (Usage)

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

responseModalities[]
(deprecated)
enum (ResponseModality)

האופנים המבוקשים של התשובה (טקסט, תמונה, אודיו).

responseMimeType
(deprecated)
string

סוג ה-MIME של התשובה. הפרמטר הזה נדרש אם הגדרתם את responseFormat.

previousInteractionId string

המזהה של האינטראקציה הקודמת, אם יש כזו.

environmentId string

פלט בלבד. מזהה הסביבה של האינטראקציה. השדה מאוכלס רק אם הגדרת הסביבה מוגדרת בבקשה.

serviceTier enum (ServiceTier)

רמת השירות של האינטראקציה.

webhookConfig object (WebhookConfig)

אופציונלי. הגדרת תגובה לפעולה מאתר אחר (webhook) לקבלת התראות כשהאינטראקציה מסתיימת.

steps[] object (Step)

חובה. פלט בלבד. השלבים שמרכיבים את האינטראקציה.

input Union type
הקלט לאינטראקציה. הערך input יכול להיות רק אחד מהבאים:
contentList
(deprecated)
object (ContentList)

הקלט של האינטראקציה.

stringContent string

קלט מחרוזת לאינטראקציה, שיעובד כקלט טקסט יחיד.

turnList
(deprecated)
object (TurnList)

התורות של האינטראקציה.

stepList object (StepList)

קלט בלבד. השלבים של האינטראקציה.

content object (Content)

התוכן של האינטראקציה.

response_format_config Union type
הערך response_format_config יכול להיות רק אחד מהבאים:
responseFormat
(deprecated)
object (Value)

הפרמטר הזה מאלץ את המודל ליצור תשובה שהיא אובייקט JSON שתואם לסכימת ה-JSON שצוינה בשדה הזה.

responseFormatList object (ResponseFormatList)
responseFormatSingleton object (ResponseFormat)
request_type Union type
סוג הבקשה לאינטראקציה. הערך request_type יכול להיות רק אחד מהבאים:
modelInteraction object (ModelInteraction)

אינטראקציה ליצירת ההשלמה באמצעות מודלים.

agentInteraction object (AgentInteraction)

אינטראקציה ליצירת ההשלמה באמצעות סוכנים.

environment Union type
הגדרת הסביבה של האינטראקציה. הערך environment יכול להיות רק אחד מהבאים:
envId string

מזהה הסביבה של האינטראקציה. יכול להיות 'remote' עבור סביבת ברירת המחדל.

remoteEnvironment object (EnvironmentConfig)
localEnvironment object (LocalEnvironmentConfig)

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

ייצוג JSON
{
  "id": string,
  "status": enum (Status),
  "created": string,
  "updated": string,
  "role": string,
  "outputs": [
    {
      object (Content)
    }
  ],
  "systemInstruction": string,
  "tools": [
    {
      object (Tool)
    }
  ],
  "usage": {
    object (Usage)
  },
  "responseModalities": [
    enum (ResponseModality)
  ],
  "responseMimeType": string,
  "previousInteractionId": string,
  "environmentId": string,
  "serviceTier": enum (ServiceTier),
  "webhookConfig": {
    object (WebhookConfig)
  },
  "steps": [
    {
      object (Step)
    }
  ],

  // input
  "contentList": {
    object (ContentList)
  },
  "stringContent": string,
  "turnList": {
    object (TurnList)
  },
  "stepList": {
    object (StepList)
  },
  "content": {
    object (Content)
  }
  // Union type

  // response_format_config
  "responseFormat": {
    object (Value)
  },
  "responseFormatList": {
    object (ResponseFormatList)
  },
  "responseFormatSingleton": {
    object (ResponseFormat)
  }
  // Union type

  // request_type
  "modelInteraction": {
    object (ModelInteraction)
  },
  "agentInteraction": {
    object (AgentInteraction)
  }
  // Union type

  // environment
  "envId": string,
  "remoteEnvironment": {
    object (EnvironmentConfig)
  },
  "localEnvironment": {
    object (LocalEnvironmentConfig)
  }
  // Union type
}

TurnList

רשימה של פניות.

Fields
turns[] object (Turn)
ייצוג JSON
{
  "turns": [
    {
      object (Turn)
    }
  ]
}

Turn

Fields
role string

הגורם שיזם את התור הזה. צריך להיות משתמש לקלט או מודל לפלט של המודל.

content Union type
הערך content יכול להיות רק אחד מהבאים:
contentList object (ContentList)

תוכן התור. מערך של אובייקטים מהטיפוס Content.

contentString string

תוכן התור. מחרוזת אחת.

ייצוג JSON
{
  "role": string,

  // content
  "contentList": {
    object (ContentList)
  },
  "contentString": string
  // Union type
}

StepList

רשימה של שלבים.

Fields
steps[] object (Step)

השלבים ברשימה.

ייצוג JSON
{
  "steps": [
    {
      object (Step)
    }
  ]
}

שלב

שלב באינטראקציה.

שדות
type Union type
הערך type יכול להיות רק אחד מהבאים:
thought object (ThoughtStep)
toolCall object (ToolCallStep)
toolResult object (ToolResultStep)
userInput object (UserInputStep)

אל תשתמשו -- אלה מיועדים ל-JSON של צד שלישי בלבד

modelOutput object (ModelOutputStep)
text
(deprecated)
object (LegacyTextContent)
image
(deprecated)
object (LegacyImageContent)
audio
(deprecated)
object (LegacyAudioContent)
document
(deprecated)
object (LegacyDocumentContent)
video
(deprecated)
object (LegacyVideoContent)
ייצוג JSON
{

  // type
  "thought": {
    object (ThoughtStep)
  },
  "toolCall": {
    object (ToolCallStep)
  },
  "toolResult": {
    object (ToolResultStep)
  },
  "userInput": {
    object (UserInputStep)
  },
  "modelOutput": {
    object (ModelOutputStep)
  },
  "text": {
    object (LegacyTextContent)
  },
  "image": {
    object (LegacyImageContent)
  },
  "audio": {
    object (LegacyAudioContent)
  },
  "document": {
    object (LegacyDocumentContent)
  },
  "video": {
    object (LegacyVideoContent)
  }
  // Union type
}

ThoughtStep

שלב חשיבה.

Fields
signature string (bytes format)

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

מחרוזת בקידוד Base64.

summary[] object (Content)

סיכום של המחשבה.

ייצוג JSON
{
  "signature": string,
  "summary": [
    {
      object (Content)
    }
  ]
}

ToolCallStep

שלב של קריאה לכלי.

Fields
id string

חובה. מזהה ייחודי של קריאה ספציפית לכלי.

signature string (bytes format)

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

מחרוזת בקידוד Base64.

type Union type
הערך type יכול להיות רק אחד מהבאים:
functionCall object (FunctionCallStep)
codeExecutionCall object (CodeExecutionCallStep)
urlContextCall object (UrlContextCallStep)
mcpServerToolCall object (McpServerToolCallStep)
googleSearchCall object (GoogleSearchCallStep)
fileSearchCall object (FileSearchCallStep)
googleMapsCall object (GoogleMapsCallStep)
retrievalCall object (RetrievalCallStep)
ייצוג JSON
{
  "id": string,
  "signature": string,

  // type
  "functionCall": {
    object (FunctionCallStep)
  },
  "codeExecutionCall": {
    object (CodeExecutionCallStep)
  },
  "urlContextCall": {
    object (UrlContextCallStep)
  },
  "mcpServerToolCall": {
    object (McpServerToolCallStep)
  },
  "googleSearchCall": {
    object (GoogleSearchCallStep)
  },
  "fileSearchCall": {
    object (FileSearchCallStep)
  },
  "googleMapsCall": {
    object (GoogleMapsCallStep)
  },
  "retrievalCall": {
    object (RetrievalCallStep)
  }
  // Union type
}

FunctionCallStep

שלב של קריאה לכלי מסוג פונקציה.

Fields
name string

חובה. השם של הכלי שאליו מתקשרים.

arguments object (Struct)

חובה. הארגומנטים להעברה לפונקציה.

ייצוג JSON
{
  "name": string,
  "arguments": {
    object (Struct)
  }
}

UrlContextCallStep

שלב של שיחה בהקשר של כתובת URL.

Fields
arguments object (UrlContextCallStepArguments)

חובה. הארגומנטים להעברה להקשר של כתובת ה-URL.

ייצוג JSON
{
  "arguments": {
    object (UrlContextCallStepArguments)
  }
}

UrlContextCallStepArguments

הארגומנטים להעברה להקשר של כתובת ה-URL.

Fields
urls[] string

כתובות ה-URL לאחזור.

ייצוג JSON
{
  "urls": [
    string
  ]
}

McpServerToolCallStep

שלב קריאה לכלי MCPServer.

Fields
name string

חובה. השם של הכלי שהופעל.

serverName string

חובה. השם של שרת ה-MCP שבו נעשה שימוש.

arguments object (Struct)

חובה. אובייקט JSON של הארגומנטים של הפונקציה.

ייצוג JSON
{
  "name": string,
  "serverName": string,
  "arguments": {
    object (Struct)
  }
}

GoogleSearchCallStep

שלב השיחה בחיפוש Google.

Fields
arguments object (GoogleSearchCallStepArguments)

חובה. הארגומנטים שמעבירים לחיפוש Google.

searchType enum (SearchType)

סוג ההארקה של החיפוש שמופעל.

ייצוג JSON
{
  "arguments": {
    object (GoogleSearchCallStepArguments)
  },
  "searchType": enum (SearchType)
}

GoogleSearchCallStepArguments

הארגומנטים שמעבירים לחיפוש Google.

Fields
queries[] string

שאילתות לחיפוש באינטרנט לחיפוש המשך באינטרנט.

ייצוג JSON
{
  "queries": [
    string
  ]
}

FileSearchCallStep

בסוג הזה אין שדות.

שלב שיחה של חיפוש קבצים.

GoogleMapsCallStep

שלב של שיחה במפות Google.

Fields
arguments object (GoogleMapsCallStepArguments)

הארגומנטים להעברה לכלי של מפות Google.

ייצוג JSON
{
  "arguments": {
    object (GoogleMapsCallStepArguments)
  }
}

GoogleMapsCallStepArguments

הארגומנטים להעברה לכלי של מפות Google.

Fields
queries[] string

השאילתות שיופעלו.

ייצוג JSON
{
  "queries": [
    string
  ]
}

ToolResultStep

שלב תוצאת הכלי.

Fields
callId string

חובה. מזהה שצריך להיות זהה למזהה מבלוק קריאת הפונקציה.

signature string (bytes format)

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

מחרוזת בקידוד Base64.

type Union type
הערך type יכול להיות רק אחד מהבאים:
functionResult object (FunctionResultStep)
codeExecutionResult object (CodeExecutionResultStep)
urlContextResult object (UrlContextResultStep)
googleSearchResult object (GoogleSearchResultStep)
mcpServerToolResult object (McpServerToolResultStep)
fileSearchResult object (FileSearchResultStep)
googleMapsResult object (GoogleMapsResultStep)
retrievalResult object (RetrievalResultStep)
ייצוג JSON
{
  "callId": string,
  "signature": string,

  // type
  "functionResult": {
    object (FunctionResultStep)
  },
  "codeExecutionResult": {
    object (CodeExecutionResultStep)
  },
  "urlContextResult": {
    object (UrlContextResultStep)
  },
  "googleSearchResult": {
    object (GoogleSearchResultStep)
  },
  "mcpServerToolResult": {
    object (McpServerToolResultStep)
  },
  "fileSearchResult": {
    object (FileSearchResultStep)
  },
  "googleMapsResult": {
    object (GoogleMapsResultStep)
  },
  "retrievalResult": {
    object (RetrievalResultStep)
  }
  // Union type
}

FunctionResultStep

התוצאה של הפעלת כלי פונקציה.

Fields
name string

שם הכלי שהופעל.

isError boolean

האם קריאת הכלי הסתיימה בשגיאה.

result object (Value)

חובה. התוצאה של הפעלת הכלי.

ייצוג JSON
{
  "name": string,
  "isError": boolean,
  "result": {
    object (Value)
  }
}

UrlContextResultStep

שלב התוצאה של URL context.

Fields
result[] object (UrlContextResultItem)

חובה. התוצאות של ההקשר של כתובת ה-URL.

isError boolean

האם ההקשר של כתובת ה-URL הוביל לשגיאה.

ייצוג JSON
{
  "result": [
    {
      object (UrlContextResultItem)
    }
  ],
  "isError": boolean
}

UrlContextResultItem

התוצאה של ההקשר של כתובת ה-URL.

Fields
url string

כתובת ה-URL שאוחזרה.

status enum (Status)

הסטטוס של אחזור כתובת ה-URL.

ייצוג JSON
{
  "url": string,
  "status": enum (Status)
}

GoogleSearchResultStep

שלב של תוצאת חיפוש ב-Google.

Fields
result[] object (GoogleSearchResultItem)

חובה. תוצאות חיפוש Google.

isError boolean

האם החיפוש ב-Google הסתיים בשגיאה.

ייצוג JSON
{
  "result": [
    {
      object (GoogleSearchResultItem)
    }
  ],
  "isError": boolean
}

GoogleSearchResultItem

התוצאה של חיפוש Google.

Fields
searchSuggestions string

קטע קוד של תוכן אינטרנט שאפשר להטמיע בדף אינטרנט או בתצוגת אינטרנט של אפליקציה.

ייצוג JSON
{
  "searchSuggestions": string
}

McpServerToolResultStep

שלב התוצאה של כלי MCPServer.

Fields
name string

השם של הכלי שהופעל בקריאה הספציפית הזו לכלי.

serverName string

השם של שרת ה-MCP שבו נעשה שימוש.

result object (Value)

חובה. הפלט מהשיחה עם שרת ה-MCP. יכול להיות טקסט פשוט או תוכן עשיר.

ייצוג JSON
{
  "name": string,
  "serverName": string,
  "result": {
    object (Value)
  }
}

FileSearchResultStep

בסוג הזה אין שדות.

שלב של תוצאת חיפוש קבצים.

GoogleMapsResultStep

שלב התוצאה במפות Google.

Fields
result[] object (GoogleMapsResultItem)
ייצוג JSON
{
  "result": [
    {
      object (GoogleMapsResultItem)
    }
  ]
}

GoogleMapsResultItem

התוצאה של מפות Google.

Fields
places[] object (GoogleMapsResultPlaces)
widgetContextToken string
ייצוג JSON
{
  "places": [
    {
      object (GoogleMapsResultPlaces)
    }
  ],
  "widgetContextToken": string
}

GoogleMapsResultPlaces

Fields
placeId string
name string
url string
reviewSnippets[] object (ReviewSnippet)
ייצוג JSON
{
  "placeId": string,
  "name": string,
  "url": string,
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

UserInputStep

קלט שסופק על ידי המשתמש.

שדות
content Union type
הערך content יכול להיות רק אחד מהבאים:
contentList object (ContentList)

התוכן של השלב. מערך של אובייקטים מסוג Content.

contentString string

התוכן של השלב. מחרוזת אחת.

ייצוג JSON
{

  // content
  "contentList": {
    object (ContentList)
  },
  "contentString": string
  // Union type
}

ModelOutputStep

פלט שנוצר על ידי המודל.

Fields
content[] object (Content)
ייצוג JSON
{
  "content": [
    {
      object (Content)
    }
  ]
}

ResponseFormatList

Fields
responseFormats[] object (ResponseFormat)
ייצוג JSON
{
  "responseFormats": [
    {
      object (ResponseFormat)
    }
  ]
}

ResponseFormat

שדות
type Union type
הערך type יכול להיות רק אחד מהבאים:
audio object (AudioResponseFormat)
text object (TextResponseFormat)
image object (ImageResponseFormat)
video object (VideoResponseFormat)
structValue object (Struct)

האפשרות 'ערכים מרובים של מפלים' כבר מופעלת ב-GAOS

ייצוג JSON
{

  // type
  "audio": {
    object (AudioResponseFormat)
  },
  "text": {
    object (TextResponseFormat)
  },
  "image": {
    object (ImageResponseFormat)
  },
  "video": {
    object (VideoResponseFormat)
  },
  "structValue": {
    object (Struct)
  }
  // Union type
}

TextResponseFormat

הגדרות לפורמט פלט הטקסט.

Fields
mimeType enum (MimeType)

סוג ה-MIME של פלט הטקסט.

schema object (Struct)

סכימת ה-JSON שהפלט צריך להתאים לה. האפשרות הזו רלוונטית רק אם mimeType הוא application/json.

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "schema": {
    object (Struct)
  }
}

ImageResponseFormat

הגדרה של פורמט הפלט של התמונה.

Fields
mimeType enum (MimeType)

סוג ה-MIME של פלט התמונה.

delivery enum (Delivery)

אופן השליחה של פלט התמונה.

aspectRatio enum (AspectRatio)

יחס הגובה-רוחב של התמונה שנוצרת.

imageSize enum (ImageSize)

גודל התמונה שנוצרת.

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "aspectRatio": enum (AspectRatio),
  "imageSize": enum (ImageSize)
}

VideoResponseFormat

הגדרה של פורמט פלט הווידאו.

Fields
delivery enum (Delivery)

אופן השליחה של פלט הווידאו.

aspectRatio enum (AspectRatio)

יחס הגובה-רוחב של פלט הסרטון.

duration string (Duration format)

משך הזמן של פלט הווידאו.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-s. דוגמה: "3.5s".

ייצוג JSON
{
  "delivery": enum (Delivery),
  "aspectRatio": enum (AspectRatio),
  "duration": string
}

ModelInteraction

אינטראקציה ליצירת ההשלמה באמצעות מודלים.

Fields
model string

השם של Model שמשמש ליצירת ההשלמה.

generationConfig object (GenerationConfig)

קלט בלבד. פרמטרים להגדרת האינטראקציה עם המודל.

ייצוג JSON
{
  "model": string,
  "generationConfig": {
    object (GenerationConfig)
  }
}

GenerationConfig

פרמטרים של הגדרות לאינטראקציות עם המודל.

Fields
temperature number

המדיניות קובעת את מידת הרנדומיזציה של הפלט.

topP number

ההסתברות המצטברת המקסימלית של טוקנים שצריך לקחת בחשבון כשמבצעים דגימה.

seed integer

ערך ה-Seed שמשמש בפענוח לצורך שחזור.

stopSequences[] string

רשימה של רצפי תווים שיפסיקו את האינטראקציה עם הפלט.

thinkingLevel enum (ThinkingLevel)

רמת הטוקנים של המחשבות שהמודל צריך ליצור.

thinkingSummaries enum (ThinkingSummaries)

האם לכלול בתשובה סיכומי מחשבות.

maxOutputTokens integer

מספר האסימונים המקסימלי שייכללו בתשובה.

speechConfig[] object (SpeechConfig)

הגדרות לאינטראקציה קולית.

imageConfig
(deprecated)
object (ImageConfig)

הגדרות לאינטראקציה עם תמונות.

videoConfig object (VideoConfig)

הגדרה של יצירת סרטונים.

tool_choice Union type
הגדרת בחירת הכלי. הערך tool_choice יכול להיות רק אחד מהבאים:
toolChoiceMode enum (ToolChoiceType)

המצב של בחירת הכלי.

toolChoiceConfig object (ToolChoiceConfig)

ההגדרה של בחירת הכלי.

ייצוג JSON
{
  "temperature": number,
  "topP": number,
  "seed": integer,
  "stopSequences": [
    string
  ],
  "thinkingLevel": enum (ThinkingLevel),
  "thinkingSummaries": enum (ThinkingSummaries),
  "maxOutputTokens": integer,
  "speechConfig": [
    {
      object (SpeechConfig)
    }
  ],
  "imageConfig": {
    object (ImageConfig)
  },
  "videoConfig": {
    object (VideoConfig)
  },

  // tool_choice
  "toolChoiceMode": enum (ToolChoiceType),
  "toolChoiceConfig": {
    object (ToolChoiceConfig)
  }
  // Union type
}

ToolChoiceConfig

הגדרת בחירת הכלי שמכילה את הכלים המותרים.

Fields
allowedTools object (AllowedTools)

הכלים המותרים.

ייצוג JSON
{
  "allowedTools": {
    object (AllowedTools)
  }
}

SpeechConfig

ההגדרה של אינטראקציה קולית.

Fields
voice string

הקול של הדובר.

language string

השפה של הדיבור.

speaker string

שם הדובר, שצריך להיות זהה לשם הדובר שצוין בהנחיה.

ייצוג JSON
{
  "voice": string,
  "language": string,
  "speaker": string
}

ImageConfig

ההגדרה של אינטראקציה עם תמונה.

Fields
aspectRatio string

יחס הגובה-רוחב של התמונה שרוצים ליצור. יחסי גובה-רוחב נתמכים: 1:1, ‏ 2:3, ‏ 3:2, ‏ 3:4, ‏ 4:3, ‏ 9:16, ‏ 16:9, ‏ 21:9.

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

imageSize string

מציינת את הגודל של התמונות שנוצרו. הערכים הנתמכים הם 1K, ‏ 2K, ‏ 4K. אם לא מציינים ערך, המודל ישתמש בערך ברירת המחדל 1K.

ייצוג JSON
{
  "aspectRatio": string,
  "imageSize": string
}

VideoConfig

אפשרויות להגדרת יצירת סרטונים.

Fields
task enum (Task)

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

ייצוג JSON
{
  "task": enum (Task)
}

EnvironmentConfig

הגדרה של סביבה בהתאמה אישית.

Fields
sources[] object (Source)
environmentId string

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

network Union type
הגדרת הרשת של הסביבה. הערך network יכול להיות רק אחד מהבאים:
networkAllowlist object (EnvironmentNetworkEgressAllowlist)

התרה של דומיינים ספציפיים בלבד.

networkMode enum (NetworkMode)

מצב יציאה מהרשת.

ייצוג JSON
{
  "sources": [
    {
      object (Source)
    }
  ],
  "environmentId": string,

  // network
  "networkAllowlist": {
    object (EnvironmentNetworkEgressAllowlist)
  },
  "networkMode": enum (NetworkMode)
  // Union type
}

EnvironmentNetworkEgressAllowlist

הגדרת תעבורת נתונים יוצאת (egress) מהרשת עבור הסביבה.

Fields
allowlist[] object (EgressRule)

רשימה של דומיינים מותרים וההגדרות שלהם.

ייצוג JSON
{
  "allowlist": [
    {
      object (EgressRule)
    }
  ]
}

EgressRule

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

Fields
domain string

תבנית הדומיין שתואמת לכלל הזה. כדי להתאים לכל הדומיינים, אפשר להשתמש בשם מארח מדויק (למשל, github.com), בקידומת עם תו כללי לחיפוש (למשל, *.googleapis.com) או ב-*.

transform map (key: string, value: string)

כותרות להוספה לבקשות שתואמות לכלל הזה. מפתח: שם הכותרת (לדוגמה, Authorization). ערך: ערך הכותרת (למשל, Bearer your-token).

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ייצוג JSON
{
  "domain": string,
  "transform": {
    string: string,
    ...
  }
}

מקור

מקור שיוטמע בסביבה.

Fields
type enum (Type)
source string

המקור של הסביבה. ב-GCS, זהו הנתיב של GCS. ב-GitHub, זהו הנתיב ב-GitHub.

target string

המיקום שבו המקור אמור להופיע בסביבה.

content string

התוכן בתוך התג אם הערך של type הוא INLINE.

encoding string

קידוד אופציונלי לתוכן בתוך שורה (לדוגמה, base64).

ייצוג JSON
{
  "type": enum (Type),
  "source": string,
  "target": string,
  "content": string,
  "encoding": string
}

LocalEnvironmentConfig

בסוג הזה אין שדות.

הגדרה של סביבה שקיימת בחיבור הלקוח ולא בארגז חול שמנוהל על ידי השרת.

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

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

כלי

כלי שהמודל יכול להשתמש בו.

שדות
type Union type
הכלי שבו רוצים להשתמש. הערך type יכול להיות רק אחד מהבאים:
function object (Function)

פונקציה שהמודל יכול להשתמש בה.

codeExecution object (CodeExecution)

כלי שהמודל יכול להשתמש בו כדי להריץ קוד.

urlContext object (UrlContext)

כלי שהמודל יכול להשתמש בו כדי לאחזר הקשר של כתובת URL.

computerUse object (ComputerUse)

כלי לתמיכה באינטראקציה של המודל ישירות עם המחשב.

mcpServer object (McpServer)

שרת MCP הוא שרת שהמודל יכול להפעיל כדי לבצע פעולות.

googleMaps object (GoogleMaps)

כלי שבו המודל יכול להשתמש כדי לחפש במפות Google.

retrieval object (Retrieval)

כלי שהמודל יכול להשתמש בו כדי לאחזר קבצים.

ייצוג JSON
{

  // type
  "function": {
    object (Function)
  },
  "codeExecution": {
    object (CodeExecution)
  },
  "urlContext": {
    object (UrlContext)
  },
  "computerUse": {
    object (ComputerUse)
  },
  "mcpServer": {
    object (McpServer)
  },
  "googleSearch": {
    object (GoogleSearch)
  },
  "fileSearch": {
    object (FileSearch)
  },
  "googleMaps": {
    object (GoogleMaps)
  },
  "retrieval": {
    object (Retrieval)
  }
  // Union type
}

פונקציה

כלי שהמודל יכול להשתמש בו.

Fields
name string

שם הפונקציה.

description string

תיאור של הפונקציה.

parameters object (Value)

סכימת ה-JSON של הפרמטרים של הפונקציה.

ייצוג JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Value)
  }
}

UrlContext

בסוג הזה אין שדות.

כלי שהמודל יכול להשתמש בו כדי לאחזר הקשר של כתובת URL.

McpServer

שרת MCP הוא שרת שהמודל יכול להפעיל כדי לבצע פעולות.

Fields
name string

השם של ה-MCPServer.

url string

כתובת ה-URL המלאה של נקודת הקצה של שרת ה-MCP. דוגמה: "https://api.example.com/mcp"

headers map (key: string, value: string)

אופציונלי: שדות לכותרות אימות, פסק זמן וכו', אם צריך.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

allowedTools[] object (AllowedTools)

הכלים המותרים.

ייצוג JSON
{
  "name": string,
  "url": string,
  "headers": {
    string: string,
    ...
  },
  "allowedTools": [
    {
      object (AllowedTools)
    }
  ]
}

GoogleSearch

כלי שהמודל יכול להשתמש בו כדי לחפש ב-Google.

Fields
searchTypes[] enum (SearchType)

סוגי ההארקה של החיפוש שרוצים להפעיל.

ייצוג JSON
{
  "searchTypes": [
    enum (SearchType)
  ]
}

FileSearch

כלי שהמודל יכול להשתמש בו כדי לחפש קבצים.

Fields
fileSearchStoreNames[] string

שמות החנויות שבהן יתבצע חיפוש הקובץ.

topK integer

מספר הצ'אנקים לאחזור סמנטי.

metadataFilter string

מסנן מטא-נתונים להחלה על המסמכים ועל חלקי הטקסט שחולצו באמצעות אחזור סמנטי.

ייצוג JSON
{
  "fileSearchStoreNames": [
    string
  ],
  "topK": integer,
  "metadataFilter": string
}

GoogleMaps

כלי שהמודל יכול להשתמש בו כדי להתקשר למפות Google.

Fields
enableWidget boolean

האם להחזיר טוקן של הקשר של ווידג'ט בתוצאת הקריאה לכלי של התשובה.

latitude number

קו הרוחב של המיקום של המשתמש.

longitude number

קו האורך של המיקום של המשתמש.

ייצוג JSON
{
  "enableWidget": boolean,
  "latitude": number,
  "longitude": number
}

שימוש

נתונים סטטיסטיים על השימוש בטוקן של בקשת האינטראקציה.

Fields
totalInputTokens integer

מספר הטוקנים בהנחיה (בהקשר).

inputTokensByModality[] object (ModalityTokens)

פירוט של השימוש בטוקנים של קלט לפי אופן השימוש.

totalCachedTokens integer

מספר הטוקנים בחלק המאוחסן במטמון של ההנחיה (התוכן המאוחסן במטמון).

cachedTokensByModality[] object (ModalityTokens)

פירוט של השימוש בטוקנים במטמון לפי אופן השימוש.

totalOutputTokens integer

המספר הכולל של טוקנים בכל התשובות שנוצרו.

outputTokensByModality[] object (ModalityTokens)

פירוט של השימוש באסימוני פלט לפי אופן השימוש.

totalToolUseTokens integer

מספר הטוקנים שמופיעים בהנחיות לשימוש בכלים.

toolUseTokensByModality[] object (ModalityTokens)

פירוט של השימוש באסימוני שימוש בכלים לפי אופן השימוש.

totalThoughtTokens integer

מספר הטוקנים של המחשבות למודלים חושבים.

totalTokens integer

המספר הכולל של הטוקנים בבקשת האינטראקציה (הנחיה + תגובות + טוקנים פנימיים אחרים).

groundingToolCount[] object (GroundingToolCount)

מספר כלי העיגון.

ייצוג JSON
{
  "totalInputTokens": integer,
  "inputTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalCachedTokens": integer,
  "cachedTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalOutputTokens": integer,
  "outputTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalToolUseTokens": integer,
  "toolUseTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalThoughtTokens": integer,
  "totalTokens": integer,
  "groundingToolCount": [
    {
      object (GroundingToolCount)
    }
  ]
}

ModalityTokens

כמות הטוקנים של מצב תגובה יחיד.

Fields
modality enum (ResponseModality)

האופן שבו כמות הטוקנים משמשת.

tokens integer

מספר הטוקנים של האופן.

ייצוג JSON
{
  "modality": enum (ResponseModality),
  "tokens": integer
}

GroundingToolCount

מספר כלי ההארקה.

Fields
type enum (Type)

סוג כלי ההארקה שמשויך לספירה.

count integer

מספר כלי ההארקה.

ייצוג JSON
{
  "type": enum (Type),
  "count": integer
}

WebhookConfig

הודעה להגדרת אירועים של תגובה לפעולה מאתר אחר (webhook) לבקשה.

Fields
uris[] string

אופציונלי. אם מגדירים כתובות URI של webhook, הן ישמשו לאירועי webhook במקום כתובות ה-webhook הרשומות.

userMetadata object (Struct format)

אופציונלי. מטא-נתוני המשתמש שיוחזרו בכל שליחת אירוע ל-webhook.

ייצוג JSON
{
  "uris": [
    string
  ],
  "userMetadata": {
    object
  }
}

SafetySetting

הגדרת בטיחות שמשפיעה על התנהגות החסימה של בטיחות.

‫[SafetySetting][google.cloud.aiplatform.master.SafetySetting] מורכב מ[קטגוריה][google.cloud.aiplatform.master.SafetySetting.category] של נזק ו[סף][google.cloud.aiplatform.master.SafetySetting.threshold] לאותה קטגוריה.

Fields
type enum (HarmCategory)

חובה. סוג קטגוריית הנזק שרוצים לחסום.

threshold enum (HarmBlockThreshold)

חובה. סף לחסימת תוכן. אם הסבירות לפגיעה חורגת מהסף הזה, התוכן ייחסם.

method enum (HarmBlockMethod)

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

ייצוג JSON
{
  "type": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold),
  "method": enum (HarmBlockMethod)
}

משלוח

מצב ההשמעה של פלט האודיו.

טיפוסים בני מנייה (enum)
DELIVERY_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
INLINE נתוני האודיו מוחזרים בשורה בתשובה.
URI נתוני האודיו מוחזרים כ-URI.

סביבה

מייצג את הסביבה שבה מתבצעת הפעולה, כמו דפדפן אינטרנט.

טיפוסים בני מנייה (enum)
ENVIRONMENT_UNSPECIFIED ברירת המחדל היא דפדפן.
BROWSER פועל בדפדפן אינטרנט.
MOBILE פועל בסביבה ניידת.
DESKTOP פועל בסביבת מחשב.

HarmBlockMethod

השיטה לחסימת תוכן.

טיפוסים בני מנייה (enum)
HARM_BLOCK_METHOD_UNSPECIFIED לא צוינה שיטה לחסימת תוכן מזיק.
SEVERITY שיטת החסימה של תוכן מזיק מתבססת על ציוני הסתברות וחומרה.
PROBABILITY שיטת החסימה של תוכן מזיק מתבססת על ציון הסבירות.

HarmBlockThreshold

סף לחסימת תוכן על סמך הסבירות לפגיעה.

טיפוסים בני מנייה (enum)
HARM_BLOCK_THRESHOLD_UNSPECIFIED לא צוין סף לחסימת תוכן מזיק.
BLOCK_LOW_AND_ABOVE חסימת תוכן עם הסתברות נמוכה או גבוהה יותר לגרימת נזק.
BLOCK_MEDIUM_AND_ABOVE חסימת תוכן עם הסתברות בינונית או גבוהה יותר לגרימת נזק.
BLOCK_ONLY_HIGH חסימת תוכן עם הסתברות גבוהה לגרימת נזק.
BLOCK_NONE אל תחסמו תוכן כלשהו, בלי קשר להסתברות הנזק שלו.
OFF השבתה מלאה של מסנן הבטיחות.

ImageSize

גדלי תמונות נתמכים לפלט תמונה.

טיפוסים בני מנייה (enum)
IMAGE_SIZE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
IMAGE_SIZE_FIVE_TWELVE גודל התמונה הוא 512 פיקסלים.
IMAGE_SIZE_ONE_K גודל התמונה הוא 1K.
IMAGE_SIZE_TWO_K גודל התמונה הוא 2K.
IMAGE_SIZE_FOUR_K גודל התמונה ב-4K.

שפה

שפות התכנות הנתמכות לקוד שנוצר.

טיפוסים בני מנייה (enum)
LANGUAGE_UNSPECIFIED לא נבחרה שפה. אין להשתמש בערך הזה.
PYTHON ‫Python >= 3.10, עם numpy ו-simpy.

MediaResolution

הרזולוציה של קלט המדיה (תמונות או סרטונים).

טיפוסים בני מנייה (enum)
MEDIA_RESOLUTION_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
LOW רזולוציה נמוכה.
MEDIUM רזולוציה בינונית.
HIGH רזולוציה גבוהה.
ULTRA_HIGH רזולוציה גבוהה במיוחד.

MimeType

טיפוסים בני מנייה (enum)
TYPE_UNSPECIFIED
TYPE_WAV פורמט אודיו WAV
TYPE_MP3 פורמט אודיו MP3
TYPE_AIFF פורמט אודיו AIFF
TYPE_AAC פורמט אודיו AAC
TYPE_OGG פורמט אודיו OGG
TYPE_FLAC פורמט אודיו FLAC
TYPE_MPEG פורמט אודיו MPEG
TYPE_M4A פורמט אודיו M4A
TYPE_L16 פורמט אודיו L16
TYPE_OPUS פורמט אודיו OPUS
TYPE_ALAW פורמט אודיו ALAW
TYPE_MULAW פורמט אודיו MULAW

מצב

ההגדרה הזו קובעת את העומק והיסודיות של סשן החיפוש.

טיפוסים בני מנייה (enum)
MODE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
MODE_SCAN סריקה מהירה באמצעות המסווג הראשוני בלבד.
MODE_VERIFY מבצע סיווג ואז חקירה מפורטת.

NetworkMode

מצב יציאה מהרשת להגדרות שלא נכללות ברשימת ההיתרים.

טיפוסים בני מנייה (enum)
NETWORK_MODE_UNSPECIFIED ערך ברירת המחדל. לא בשימוש.
DISABLED כל תעבורת הנתונים היוצאת מהרשת חסומה.

ResponseModality

אופן התגובה.

טיפוסים בני מנייה (enum)
RESPONSE_MODALITY_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
TEXT מציין שהמודל צריך להחזיר טקסט.
IMAGE מציין שהמודל צריך להחזיר תמונות.
AUDIO מציין שהמודל צריך להחזיר אודיו.
VIDEO מציין שהמודל צריך להחזיר סרטון.
DOCUMENT מציין שהמודל צריך להחזיר מסמכים.

ReviewSnippet

תקציר של קטע מביקורת של משתמש שעונה על שאלה לגבי התכונות של מקום ספציפי במפות Google.

Fields
title string

כותרת הביקורת.

url string

קישור שמתאים לביקורת של המשתמש במפות Google.

reviewId string

המזהה של קטע הביקורת.

ייצוג JSON
{
  "title": string,
  "url": string,
  "reviewId": string
}

SafetyPolicy

טיפוסים בני מנייה (enum)
SAFETY_POLICY_UNSPECIFIED מדיניות בטיחות לא מוגדרת.
FINANCIAL_TRANSACTIONS מדיניות הבטיחות בנושא עסקאות פיננסיות.
SENSITIVE_DATA_MODIFICATION מדיניות בטיחות לשינוי מידע אישי רגיש.
COMMUNICATION_TOOL מדיניות בטיחות לכלים לתקשורת (למשל Gmail, ‏ Chat, ‏ Meet).
ACCOUNT_CREATION מדיניות בנושא בטיחות ליצירת חשבון.
DATA_MODIFICATION מדיניות בטיחות לשינוי נתונים.
LEGAL_TERMS_AND_AGREEMENTS מדיניות בטיחות בנוגע לתנאים והסכמים משפטיים.

סכימה

אובייקט Schema מאפשר להגדיר את סוגי הנתונים של הקלט והפלט. הסוגים האלה יכולים להיות אובייקטים, אבל גם פרימיטיבים ומערכים. מייצג קבוצת משנה נבחרת של אובייקט סכימה של OpenAPI 3.0.

Fields
type enum (Type)

חובה. סוג הנתונים.

format string

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

title string

אופציונלי. השם של הסכימה.

description string

אופציונלי. תיאור קצר של הפרמטר. יכול להיות שיהיו בה דוגמאות לשימוש. אפשר לעצב את תיאור הפרמטר בפורמט Markdown.

nullable boolean

אופציונלי. מציין אם הערך יכול להיות null.

enum[] string

אופציונלי. ערכים אפשריים של רכיב מסוג STRING עם פורמט enum. לדוגמה, אפשר להגדיר כיוון Enum כך : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}

maxItems string (int64 format)

אופציונלי. המספר המקסימלי של הרכיבים עבור Type.ARRAY.

minItems string (int64 format)

אופציונלי. מספר המינימום של הרכיבים עבור Type.ARRAY.

properties map (key: string, value: object (Schema))

אופציונלי. מאפיינים של Type.OBJECT.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[] string

אופציונלי. מאפייני חובה של Type.OBJECT.

minProperties string (int64 format)

אופציונלי. מספר המינימלי של המאפיינים עבור Type.OBJECT.

maxProperties string (int64 format)

אופציונלי. מספר המאפיינים המקסימלי עבור Type.OBJECT.

minLength string (int64 format)

אופציונלי. שדות סכמה של סוג STRING אורך מינימלי של Type.STRING

maxLength string (int64 format)

אופציונלי. האורך המקסימלי של Type.STRING

pattern string

אופציונלי. תבנית של Type.STRING להגבלת מחרוזת לביטוי רגולרי.

example value (Value format)

אופציונלי. דוגמה לאובייקט. השדה הזה יאוכלס רק אם האובייקט הוא השורש.

anyOf[] object (Schema)

אופציונלי. הערך צריך להיות מאומת מול כל אחת (אחת או יותר) מסכימות המשנה ברשימה.

propertyOrdering[] string

אופציונלי. סדר המאפיינים. זה לא שדה רגיל במפרט של Open API. הוא משמש לקביעת סדר המאפיינים בתגובה.

default value (Value format)

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

items object (Schema)

אופציונלי. סכימה של רכיבי Type.ARRAY.

minimum number

אופציונלי. שדות סכמה לסוגים INTEGER ו-NUMBER הערך המינימלי של Type.INTEGER ו-Type.NUMBER

maximum number

אופציונלי. הערך המקסימלי של Type.INTEGER ו-Type.NUMBER

ייצוג JSON
{
  "type": enum (Type),
  "format": string,
  "title": string,
  "description": string,
  "nullable": boolean,
  "enum": [
    string
  ],
  "maxItems": string,
  "minItems": string,
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "minProperties": string,
  "maxProperties": string,
  "minLength": string,
  "maxLength": string,
  "pattern": string,
  "example": value,
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "propertyOrdering": [
    string
  ],
  "default": value,
  "items": {
    object (Schema)
  },
  "minimum": number,
  "maximum": number
}

סוג

הסוג מכיל את רשימת סוגי הנתונים של OpenAPI כפי שהוגדרו בכתובת https://spec.openapis.org/oas/v3.0.3#data-types

טיפוסים בני מנייה (enum)
TYPE_UNSPECIFIED לא צוין, אין להשתמש.
STRING סוג המחרוזת.
NUMBER סוג המספר.
INTEGER סוג Integer.
BOOLEAN סוג בוליאני.
ARRAY סוג המערך.
OBJECT סוג האובייקט.
NULL סוג Null.

סוג חיפוש

סוגי ההארקה של החיפוש שרוצים להפעיל.

טיפוסים בני מנייה (enum)
SEARCH_TYPE_UNSPECIFIED סוג החיפוש לא צוין. אין להשתמש בערך הזה.

Struct

Struct מייצג ערך של נתונים מובְנים, שמורכב משדות שממופים לערכים עם הקלדה דינמית.

Fields
fields[] object (Field)

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

ייצוג JSON
{
  "fields": [
    {
      object (Field)
    }
  ]
}

שדה

מייצג שדה יחיד במבנה.

Fields
name string
value object (Value)
ייצוג JSON
{
  "name": string,
  "value": {
    object (Value)
  }
}

משימה

משימות נתמכות של יצירת סרטונים.

טיפוסים בני מנייה (enum)
TASK_UNSPECIFIED משימה לא מוגדרת. המשימה מוסקת מההנחיה ומהמדיה שמוזנים.
TEXT_TO_VIDEO יוצר סרטון רק מפרומפט טקסטואלי.
IMAGE_TO_VIDEO יצירת סרטון מתמונה אחת או משתי תמונות מקור. התמונה הראשונה מגדירה את פריים ההתחלה, והתמונה השנייה האופציונלית מגדירה את פריים הסיום.
REFERENCE_TO_VIDEO יצירת סרטון באמצעות מדיה לדוגמה (כמו תמונות, אודיו או סרטון).
EDIT שינוי של סרטון קלט קיים.

ThinkingLevel

רמת הטוקנים של המחשבות שהמודל צריך ליצור.

טיפוסים בני מנייה (enum)
THINKING_LEVEL_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
THINKING_LEVEL_MINIMAL מעט מאוד חשיבה או ללא חשיבה כלל.
THINKING_LEVEL_LOW רמת ההעמקה נמוכה.
THINKING_LEVEL_MEDIUM רמת העמקה בינונית.
THINKING_LEVEL_HIGH רמת העמקה גבוהה.

ThinkingSummaries

האם לכלול בתשובה סיכומי מחשבות.

טיפוסים בני מנייה (enum)
THINKING_SUMMARIES_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
THINKING_SUMMARIES_AUTO סיכומים אוטומטיים של תהליכי חשיבה.
THINKING_SUMMARIES_NONE אין סיכומי חשיבה.

כלי

פרטי כלי שהמודל עשוי להשתמש בהם כדי ליצור תשובה.

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

המזהה הבא: 16

Fields
functionDeclarations[] object (FunctionDeclaration)

אופציונלי. רשימה של FunctionDeclarations שזמינות למודל שאפשר להשתמש בהן לקריאה לפונקציות.

המודל או המערכת לא מבצעים את הפונקציה. במקום זאת, הפונקציה המוגדרת עשויה להיות מוחזרת כ-FunctionCall עם ארגומנטים לצד הלקוח לצורך ביצוע. יכול להיות שהמודל יחליט להפעיל קבוצת משנה של הפונקציות האלה על ידי מילוי FunctionCall בתשובה. התור הבא בשיחה עשוי להכיל FunctionResponse עם הקשר ליצירת Content.role 'פונקציה' לתור הבא של המודל.

googleSearchRetrieval object (GoogleSearchRetrieval)

אופציונלי. כלי לאחזור מידע שמבוסס על חיפוש Google.

codeExecution object (CodeExecution)

אופציונלי. ההגדרה הזו מאפשרת למודל להריץ קוד כחלק מהיצירה.

computerUse object (ComputerUse)

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

urlContext object (UrlContext)

אופציונלי. כלי לתמיכה באחזור הקשר של כתובת URL.

mcpServers[] object (McpServer)

אופציונלי. שרתי MCP לחיבור.

googleMaps object (GoogleMaps)

אופציונלי. כלי שמאפשר להוסיף לתשובה של המודל הקשר גיאוספציאלי שקשור לשאילתה של המשתמש.

ייצוג JSON
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ],
  "googleSearchRetrieval": {
    object (GoogleSearchRetrieval)
  },
  "codeExecution": {
    object (CodeExecution)
  },
  "googleSearch": {
    object (GoogleSearch)
  },
  "computerUse": {
    object (ComputerUse)
  },
  "urlContext": {
    object (UrlContext)
  },
  "fileSearch": {
    object (FileSearch)
  },
  "mcpServers": [
    {
      object (McpServer)
    }
  ],
  "googleMaps": {
    object (GoogleMaps)
  }
}

FunctionDeclaration

ייצוג מובנה של הצהרת פונקציה כמוגדר במפרט OpenAPI 3.03. ההצהרה הזו כוללת את שם הפונקציה והפרמטרים שלה. ה-FunctionDeclaration הזה הוא ייצוג של בלוק קוד שאפשר להשתמש בו כTool על ידי המודל, והוא מופעל על ידי הלקוח.

Fields
name string

חובה. שם הפונקציה. הערך חייב להיות a-z,‏ A-Z,‏ 0-9, או להכיל קווים תחתונים, נקודותיים, נקודות ומקפים, עם אורך מקסימלי של 128 תווים.

description string

חובה. תיאור קצר של הפונקציה.

behavior enum (Behavior)

אופציונלי. מציינת את התנהגות הפונקציה. בשלב הזה יש תמיכה רק בשיטה BidiGenerateContent.

parameters object (Schema)

אופציונלי. תיאור הפרמטרים של הפונקציה. משקף את מחרוזת המפתח של אובייקט הפרמטר Open API 3.03: שם הפרמטר. השמות של הפרמטרים הם תלויי אותיות רישיות. ערך הסכימה: הסכימה שמגדירה את הסוג שמשמש לפרמטר.

parametersJsonSchema value (Value format)

אופציונלי. מתאר את הפרמטרים של הפונקציה בפורמט JSON Schema. הסכימה צריכה לתאר אובייקט שבו המאפיינים הם הפרמטרים של הפונקציה. לדוגמה:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "integer" }
  },
  "additionalProperties": false,
  "required": ["name", "age"],
  "propertyOrdering": ["name", "age"]
}

השדה הזה בלעדי לשדה parameters.

response object (Schema)

אופציונלי. מתאר את הפלט מהפונקציה הזו בפורמט JSON Schema. משקף את אובייקט התגובה של Open API 3.03. הסכימה מגדירה את הסוג שמשמש לערך התגובה של הפונקציה.

responseJsonSchema value (Value format)

אופציונלי. מתאר את הפלט מהפונקציה הזו בפורמט JSON Schema. הערך שצוין בסכימה הוא ערך התגובה של הפונקציה.

השדה הזה בלעדי לשדה response.

ייצוג JSON
{
  "name": string,
  "description": string,
  "behavior": enum (Behavior),
  "parameters": {
    object (Schema)
  },
  "parametersJsonSchema": value,
  "response": {
    object (Schema)
  },
  "responseJsonSchema": value
}

התנהגות

הגדרת אופן הפעולה של הפונקציה. ברירת המחדל היא BLOCKING.

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

GoogleSearchRetrieval

כלי לשליפת נתונים ציבוריים מהאינטרנט לצורך עיגון, מבית Google.

Fields
dynamicRetrievalConfig object (DynamicRetrievalConfig)

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

ייצוג JSON
{
  "dynamicRetrievalConfig": {
    object (DynamicRetrievalConfig)
  }
}

DynamicRetrievalConfig

תיאור האפשרויות להתאמה אישית של אחזור דינמי.

Fields
mode enum (Mode)

המצב של כלי החיזוי שישמש לאחזור דינמי.

dynamicThreshold number

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

ייצוג JSON
{
  "mode": enum (Mode),
  "dynamicThreshold": number
}

מצב

המצב של כלי החיזוי שישמש לאחזור דינמי.

טיפוסים בני מנייה (enum)
MODE_UNSPECIFIED תמיד מפעילים אחזור.
MODE_DYNAMIC הפעלה של אחזור רק כשהמערכת מחליטה שזה נחוץ.

CodeExecution

בסוג הזה אין שדות.

כלי שמריץ קוד שנוצר על ידי המודל ומחזיר את התוצאה למודל באופן אוטומטי.

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

GoogleSearch

סוג הכלי GoogleSearch. כלי לתמיכה בחיפוש Google במודל. מופעל על ידי Google.

Fields
timeRangeFilter object (Interval)

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

searchTypes object (SearchTypes)

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

ייצוג JSON
{
  "timeRangeFilter": {
    object (Interval)
  },
  "searchTypes": {
    object (SearchTypes)
  }
}

מרווח

מייצג מרווח זמן, שמקודד כחותמת זמן של התחלה (כולל) וחותמת זמן של סיום (לא כולל).

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

Fields
startTime string (Timestamp format)

אופציונלי. ההתחלה של מרווח הזמן, כולל.

אם מציינים חותמת זמן, היא צריכה להיות זהה לזמן ההתחלה או מאוחרת ממנו.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

endTime string (Timestamp format)

אופציונלי. סיום המרווח, בלעדי.

אם מציינים חותמת זמן, היא צריכה להיות לפני סוף המרווח.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

ייצוג JSON
{
  "startTime": string,
  "endTime": string
}

SearchTypes

סוגים שונים של חיפושים שאפשר להפעיל בכלי GoogleSearch.

Fields
ייצוג JSON
{
  "webSearch": {
    object (WebSearch)
  },
  "imageSearch": {
    object (ImageSearch)
  }
}

WebSearch

בסוג הזה אין שדות.

חיפוש רגיל באינטרנט לצורך ביסוס והגדרות קשורות.

ImageSearch

בסוג הזה אין שדות.

חיפוש תמונות להארקה ולהגדרות קשורות.

ComputerUse

סוג הכלי 'שימוש במחשב'.

Fields
environment enum (Environment)

חובה. הסביבה שבה מתבצעת הפעולה.

excludedPredefinedFunctions[] string

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

enablePromptInjectionDetection boolean

אופציונלי. האם להפעיל את הבדיקה לאיתור החדרת פרומפטים בבקשה לשימוש במחשב.

disabledSafetyPolicies[] enum (SafetyPolicy)

אופציונלי. השבתת מדיניות הבטיחות לשימוש במחשב.

ייצוג JSON
{
  "environment": enum (Environment),
  "excludedPredefinedFunctions": [
    string
  ],
  "enablePromptInjectionDetection": boolean,
  "disabledSafetyPolicies": [
    enum (SafetyPolicy)
  ]
}

סביבה

מייצג את הסביבה שבה מתבצעת הפעולה, כמו דפדפן אינטרנט.

טיפוסים בני מנייה (enum)
ENVIRONMENT_UNSPECIFIED ברירת המחדל היא דפדפן.
ENVIRONMENT_BROWSER פועל בדפדפן אינטרנט.
ENVIRONMENT_MOBILE פועל בסביבה ניידת.
ENVIRONMENT_DESKTOP פועל בסביבת מחשב.

SafetyPolicy

כללי מדיניות מוגדרים מראש בנושא בטיחות השימוש במחשב.

טיפוסים בני מנייה (enum)
SAFETY_POLICY_UNSPECIFIED מדיניות בטיחות לא מוגדרת.
FINANCIAL_TRANSACTIONS מדיניות הבטיחות בנושא עסקאות פיננסיות.
SENSITIVE_DATA_MODIFICATION מדיניות בטיחות לשינוי מידע אישי רגיש.
COMMUNICATION_TOOL מדיניות בטיחות לכלים לתקשורת (למשל Gmail, ‏ Chat, ‏ Meet).
ACCOUNT_CREATION מדיניות בנושא בטיחות ליצירת חשבון.
DATA_MODIFICATION מדיניות בטיחות לשינוי נתונים.
LEGAL_TERMS_AND_AGREEMENTS מדיניות בטיחות בנוגע לתנאים ולהסכמים משפטיים.

UrlContext

בסוג הזה אין שדות.

כלי לתמיכה באחזור הקשר של כתובת URL.

FileSearch

הכלי FileSearch שמאחזר ידע ממאגרי מידע של אחזור סמנטי. הקבצים מיובאים למאגרי המידע של Semantic Retrieval באמצעות ImportFile API.

Fields
fileSearchStoreNames[] string

חובה. השמות של fileSearchStores שמהם רוצים לאחזר. לדוגמה: fileSearchStores/my-file-search-store-123

metadataFilter string

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

topK integer

אופציונלי. מספר הצ'אנקים לאחזור סמנטי.

ייצוג JSON
{
  "fileSearchStoreNames": [
    string
  ],
  "metadataFilter": string,
  "topK": integer
}

McpServer

שרת MCP הוא שרת שהמודל יכול להפעיל כדי לבצע פעולות. זהו שרת שמיישם את פרוטוקול ה-MCP. המזהה הבא: 6

Fields
name string

השם של ה-MCPServer.

transport Union type
הפרוטוקול שמשמש לחיבור ל-MCPServer. הערך transport יכול להיות רק אחד מהבאים:
streamableHttpTransport object (StreamableHttpTransport)

העברה שיכולה להזרים בקשות ותגובות HTTP.

ייצוג JSON
{
  "name": string,

  // transport
  "streamableHttpTransport": {
    object (StreamableHttpTransport)
  }
  // Union type
}

StreamableHttpTransport

העברה שיכולה להזרים בקשות ותגובות HTTP. המזהה הבא: 6

Fields
url string

כתובת ה-URL המלאה של נקודת הקצה של שרת ה-MCP. דוגמה: "https://api.example.com/mcp"

headers map (key: string, value: string)

אופציונלי: שדות לכותרות אימות, פסק זמן וכו', אם צריך.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

timeout string (Duration format)

פסק זמן של HTTP לפעולות רגילות.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-s. דוגמה: "3.5s".

sseReadTimeout string (Duration format)

הזמן הקצוב לתפוגה של פעולות קריאה של SSE.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-s. דוגמה: "3.5s".

terminateOnClose boolean

האם לסגור את סשן הלקוח כשההעברה נסגרת.

ייצוג JSON
{
  "url": string,
  "headers": {
    string: string,
    ...
  },
  "timeout": string,
  "sseReadTimeout": string,
  "terminateOnClose": boolean
}

GoogleMaps

כלי Google Maps שמספק הקשר גיאוגרפי לשאילתה של המשתמש.

Fields
enableWidget boolean

אופציונלי. האם להחזיר טוקן של הקשר של הווידג'ט ב-GroundingMetadata של התגובה. מפתחים יכולים להשתמש בטוקן של הקשר של הווידג'ט כדי להציג ווידג'ט של מפות Google עם הקשר גיאוגרפי שקשור למקומות שהמודל מתייחס אליהם בתשובה.

ייצוג JSON
{
  "enableWidget": boolean
}

ToolChoiceType

סוג בחירת הכלי.

טיפוסים בני מנייה (enum)
TOOL_CHOICE_TYPE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
AUTO בחירת כלי אוטומטית.
ANY כל בחירה של כלי.
NONE לא נבחר כלי.
VALIDATED בחירה מאומתת של כלי.

ערך

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

שדות
kind Union type
סוג הערך. הערך kind יכול להיות רק אחד מהבאים:
nullValue null

מייצג ערך null.

numberValue number

מייצג ערך כפול.

stringValue string

מייצג ערך מחרוזת.

boolValue boolean

מייצג ערך בוליאני.

structValue object (Struct)

מייצג ערך מובנה.

listValue object (ListValue)

מייצג Value שחוזר על עצמו.

contentValue object (Content)

מייצג תוכן עשיר (טקסט, תמונה וכו').

ייצוג JSON
{

  // kind
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object (Struct)
  },
  "listValue": {
    object (ListValue)
  },
  "contentValue": {
    object (Content)
  }
  // Union type
}

ListValue

ListValue הוא wrapper של שדה חוזר של ערכים.

Fields
values[] object (Value)

שדה חוזר של ערכים עם הקלדה דינמית.

ייצוג JSON
{
  "values": [
    {
      object (Value)
    }
  ]
}

VisualizationMode

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

טיפוסים בני מנייה (enum)
UNSPECIFIED מצב ההדמיה שמוגדר כברירת מחדל. ברירת המחדל היא AUTO.
OFF לא לכלול תצוגות חזותיות.
AUTO הכללה אוטומטית של המחשות.

משאב REST: ‏ auth_tokens

משאב: AuthToken

בקשה ליצירת טוקן אימות זמני.

Fields
name string

פלט בלבד. מזהה. הטוקן עצמו.

expireTime string (Timestamp format)

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

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

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

newSessionExpireTime string (Timestamp format)

אופציונלי. קלט בלבד. אי אפשר לשנות. הזמן שאחריו בקשות חדשות להפעלת Live API באמצעות הטוקן שמתקבל מהבקשה הזו יידחו.

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

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

fieldMask string (FieldMask format)

אופציונלי. קלט בלבד. אי אפשר לשנות. אם fieldMask ריק, ו-bidiGenerateContentSetup לא קיים, אז הודעת BidiGenerateContentSetup האפקטיבית נלקחת מהחיבור הפעיל ל-API.

אם fieldMask ריק, ו-bidiGenerateContentSetup is קיים, אז ההודעה האפקטיבית BidiGenerateContentSetup נלקחת כולה מ-bidiGenerateContentSetup בבקשה הזו. הודעת ההגדרה מחיבור Live API מוזנחת.

אם fieldMask לא ריק, השדות התואמים מ-bidiGenerateContentSetup יחליפו את השדות מהודעת ההגדרה בחיבור ה-API בזמן אמת.

זוהי רשימה מופרדת בפסיקים של שמות שדות שמוגדרים במלואם. דוגמה: "user.displayName,photo"

config Union type
ההגדרה הספציפית לשיטה של הטוקן שמתקבל. הערך config יכול להיות רק אחד מהבאים:
bidiGenerateContentSetup object (BidiGenerateContentSetup)

אופציונלי. קלט בלבד. אי אפשר לשנות. הגדרה ספציפית ל-BidiGenerateContent.

uses integer

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

ייצוג JSON
{
  "name": string,
  "expireTime": string,
  "newSessionExpireTime": string,
  "fieldMask": string,

  // config
  "bidiGenerateContentSetup": {
    object (BidiGenerateContentSetup)
  }
  // Union type
  "uses": integer
}

BidiGenerateContentSetup

ההודעה שתישלח ב-BidiGenerateContentClientMessage הראשון (ורק בו). מכיל הגדרה שתחול למשך ה-RPC של הסטרימינג.

הלקוחות צריכים להמתין להודעה BidiGenerateContentSetupComplete לפני שליחת הודעות נוספות.

Fields
model string

חובה. שם המשאב של המודל. הערך הזה משמש כמזהה לשימוש במודל.

פורמט: models/{model}

generationConfig object (GenerationConfig)

אופציונלי. הגדרות ליצירה.

אין תמיכה בשדות הבאים:

  • responseLogprobs
  • responseMimeType
  • logprobs
  • responseSchema
  • responseJsonSchema
  • stop_sequence
  • skipResponseCache
  • routing_config
  • audio_timestamp
systemInstruction object (Content)

אופציונלי. הוראות המערכת שהמשתמש סיפק למודל.

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

tools[] object (Tool)

אופציונלי. רשימה של Tools שהמודל עשוי להשתמש בהם כדי ליצור את התשובה הבאה.

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

realtimeInputConfig object (RealtimeInputConfig)

אופציונלי. הגדרת הטיפול בקלט בזמן אמת.

sessionResumption object (SessionResumptionConfig)

אופציונלי. הגדרת מנגנון לחידוש סשן.

אם הוא כלול, השרת ישלח SessionResumptionUpdate הודעות.

contextWindowCompression object (ContextWindowCompressionConfig)

אופציונלי. הגדרת מנגנון דחיסה של חלון הקשר.

אם הוא נכלל, השרת יקטין אוטומטית את גודל ההקשר כשהוא יעלה על האורך שהוגדר.

inputAudioTranscription object (AudioTranscriptionConfig)

אופציונלי. אם המדיניות מוגדרת, היא מאפשרת תמלול של קלט קולי. התמלול מותאם לשפת האודיו של הקלט, אם היא מוגדרת.

outputAudioTranscription object (AudioTranscriptionConfig)

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

historyConfig object (HistoryConfig)

אופציונלי. הגדרת חילופי ההיסטוריה בין הלקוח לשרת.

ייצוג JSON
{
  "model": string,
  "generationConfig": {
    object (GenerationConfig)
  },
  "systemInstruction": {
    object (Content)
  },
  "tools": [
    {
      object (Tool)
    }
  ],
  "realtimeInputConfig": {
    object (RealtimeInputConfig)
  },
  "sessionResumption": {
    object (SessionResumptionConfig)
  },
  "contextWindowCompression": {
    object (ContextWindowCompressionConfig)
  },
  "inputAudioTranscription": {
    object (AudioTranscriptionConfig)
  },
  "outputAudioTranscription": {
    object (AudioTranscriptionConfig)
  },
  "historyConfig": {
    object (HistoryConfig)
  }
}

GenerationConfig

אפשרויות ההגדרה ליצירת מודלים ולפלטים. לא כל הפרמטרים ניתנים להגדרה בכל מודל.

Fields
stopSequences[] string

אופציונלי. קבוצת רצפי התווים (עד 5) שיגרמו להפסקת יצירת הפלט. אם מציינים את הפרמטר הזה, ה-API יפסיק כשיופיע בפעם הראשונה התו stop_sequence. רצף העצירה לא ייכלל בתשובה.

responseMimeType string

אופציונלי. סוג ה-MIME של הטקסט המוצע שנוצר. סוגי ה-MIME הנתמכים הם: text/plain: (ברירת מחדל) פלט טקסט. ‫application/json: תגובת JSON במועמדים לתגובה. ‫text/x.enum: ENUM כמחרוזת בתשובות האפשריות. רשימה של כל סוגי ה-MIME הנתמכים של טקסט מופיעה במסמכים.

responseSchema
(deprecated)
object (Schema)

אופציונלי. סכימת הפלט של הטקסט המוצע שנוצר. הסכימות חייבות להיות קבוצת משנה של סכימת OpenAPI, והן יכולות להיות אובייקטים, פרימיטיבים או מערכים.

אם מגדירים את המדיניות הזו, צריך להגדיר גם מדיניות תואמת responseMimeType. סוגי MIME תואמים: application/json: סכימה לתגובת JSON. פרטים נוספים זמינים במדריך ליצירת טקסט JSON.

_responseJsonSchema
(deprecated)
value (Value format)

אופציונלי. סכימת הפלט של התשובה שנוצרה. זוהי חלופה ל-responseSchema שמקבלת JSON Schema.

אם מציינים את responseSchema, צריך להשמיט את responseMimeType. אם לא מציינים את, צריך לציין את.

יכול להיות שיישלח JSON Schema מלא, אבל לא כל התכונות נתמכות. באופן ספציפי, יש תמיכה רק במאפיינים הבאים:

  • $id
  • $defs
  • $ref
  • $anchor
  • type
  • format
  • title
  • description
  • enum (למחרוזות ולמספרים)
  • items
  • prefixItems
  • minItems
  • maxItems
  • minimum
  • maximum
  • anyOf
  • oneOf (הפירוש זהה ל-anyOf)
  • properties
  • additionalProperties
  • required

אפשר גם להגדיר את המאפיין propertyOrdering שאינו סטנדרטי.

הפניות מעגליות מפורקות במידה מוגבלת, ולכן אפשר להשתמש בהן רק במאפיינים לא חובה. (מאפיינים שניתן להגדיר להם ערך null לא מספיקים). אם המאפיין $ref מוגדר בסכימה משנית, אי אפשר להגדיר מאפיינים אחרים, למעט מאפיינים שמתחילים ב-$.

responseJsonSchema value (Value format)

אופציונלי. פרט פנימי. במקום השדה הזה, צריך להשתמש ב-responseJsonSchema.

responseModalities[] enum (Modality)

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

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

רשימה ריקה שקולה לבקשה של טקסט בלבד.

candidateCount integer

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

maxOutputTokens integer

אופציונלי. מספר האסימונים המקסימלי שאפשר לכלול במועמד לתשובה.

הערה: ערך ברירת המחדל משתנה בהתאם למודל. אפשר לראות את מאפיין Model.output_token_limit של Model שמוחזר מהפונקציה getModel.

temperature number

אופציונלי. המדיניות קובעת את מידת הרנדומיזציה של הפלט.

הערה: ערך ברירת המחדל משתנה בהתאם למודל. אפשר לראות את מאפיין Model.temperature של Model שמוחזר מהפונקציה getModel.

הערכים יכולים לנוע בין [0.0, 2.0].

topP number

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

המודל משתמש בשילוב של דגימת Top-k ודגימת Top-p (גרעין).

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

הערה: ערך ברירת המחדל משתנה בהתאם ל-Model והוא מצוין במאפיין Model.top_p שמוחזר מהפונקציה getModel. מאפיין topK ריק מציין שהמודל לא משתמש בדגימה של k התוצאות המובילות ולא מאפשר להגדיר topK בבקשות.

topK integer

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

המודלים של Gemini משתמשים בדגימה מסוג Top-p (גרעין) או בשילוב של דגימה מסוג Top-k ודגימת גרעין. דגימת Top-k מתייחסת לקבוצה של topK הטוקנים הסבירים ביותר. במודלים שפועלים עם דגימת גרעין, אי אפשר להגדיר את הערך topK.

הערה: ערך ברירת המחדל משתנה בהתאם ל-Model והוא מצוין במאפיין Model.top_p שמוחזר מהפונקציה getModel. מאפיין topK ריק מציין שהמודל לא משתמש בדגימה של k התוצאות המובילות ולא מאפשר להגדיר topK בבקשות.

seed integer

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

presencePenalty number

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

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

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

קנס שלילי יעודד שימוש בטוקנים שכבר נעשה בהם שימוש בתשובה, ויקטין את אוצר המילים.

frequencyPenalty number

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

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

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

responseLogprobs boolean

אופציונלי. אם הערך הוא true, התוצאות של logprobs מיוצאות בתגובה.

logprobs integer

אופציונלי. בתוקף רק אם responseLogprobs=True. ההגדרה הזו קובעת את מספר ההסתברויות של הטוקנים המובילים, כולל הטוקן שנבחר, שיוחזרו בכל שלב של פענוח ב-Candidate.logprobs_result. המספר חייב להיות בטווח [0, 20].

enableEnhancedCivicAnswers boolean

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

speechConfig object (SpeechConfig)

אופציונלי. ההגדרה של יצירת הדיבור.

thinkingConfig object (ThinkingConfig)

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

imageConfig object (ImageConfig)

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

mediaResolution enum (MediaResolution)

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

enableAffectiveDialog boolean

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

responseFormat object (ResponseFormatConfig)

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

translationConfig object (TranslationConfig)

אופציונלי. הגדרות לתרגום.

ייצוג JSON
{
  "stopSequences": [
    string
  ],
  "responseMimeType": string,
  "responseSchema": {
    object (Schema)
  },
  "_responseJsonSchema": value,
  "responseJsonSchema": value,
  "responseModalities": [
    enum (Modality)
  ],
  "candidateCount": integer,
  "maxOutputTokens": integer,
  "temperature": number,
  "topP": number,
  "topK": integer,
  "seed": integer,
  "presencePenalty": number,
  "frequencyPenalty": number,
  "responseLogprobs": boolean,
  "logprobs": integer,
  "enableEnhancedCivicAnswers": boolean,
  "speechConfig": {
    object (SpeechConfig)
  },
  "thinkingConfig": {
    object (ThinkingConfig)
  },
  "imageConfig": {
    object (ImageConfig)
  },
  "mediaResolution": enum (MediaResolution),
  "enableAffectiveDialog": boolean,
  "responseFormat": {
    object (ResponseFormatConfig)
  },
  "translationConfig": {
    object (TranslationConfig)
  }
}

מודליות

אופני התגובה הנתמכים.

טיפוסים בני מנייה (enum)
MODALITY_UNSPECIFIED ערך ברירת המחדל.
TEXT מציין שהמודל צריך להחזיר טקסט.
IMAGE מציין שהמודל צריך להחזיר תמונות.
AUDIO מציין שהמודל צריך להחזיר אודיו.

SpeechConfig

הגדרות ליצירת דיבור ולתמלול.

Fields
voiceConfig object (VoiceConfig)

ההגדרה במקרה של פלט קולי יחיד.

multiSpeakerVoiceConfig object (MultiSpeakerVoiceConfig)

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

languageCode string

אופציונלי. קוד השפה בתקן BCP-47 של IETF שהמשתמש הגדיר לשימוש באפליקציה. משמש לזיהוי דיבור ולהמרת טקסט לדיבור.

הערכים התקינים הם: de-DE,‏ en-AU,‏ en-GB,‏ en-IN,‏ en-US,‏ es-US,‏ fr-FR,‏ hi-IN,‏ pt-BR,‏ ar-XA,‏ es-ES,‏ fr-CA,‏ id-ID,‏ it-IT,‏ ja-JP,‏ tr-TR,‏ vi-VN,‏ bn-IN,‏ gu-IN,‏ kn-IN,‏ ml-IN,‏ mr-IN,‏ ta-IN,‏ te-IN,‏ nl-NL,‏ ko-KR,‏ cmn-CN,‏ pl-PL,‏ ru-RU ו-th-TH.

ייצוג JSON
{
  "voiceConfig": {
    object (VoiceConfig)
  },
  "multiSpeakerVoiceConfig": {
    object (MultiSpeakerVoiceConfig)
  },
  "languageCode": string
}

VoiceConfig

ההגדרה של הקול שבו רוצים להשתמש.

שדות
voice_config Union type
ההגדרה של הרמקול שבו רוצים להשתמש. הערך voice_config יכול להיות רק אחד מהבאים:
prebuiltVoiceConfig object (PrebuiltVoiceConfig)

ההגדרה של הקול המובנה שבו רוצים להשתמש.

ייצוג JSON
{

  // voice_config
  "prebuiltVoiceConfig": {
    object (PrebuiltVoiceConfig)
  }
  // Union type
}

PrebuiltVoiceConfig

ההגדרה של הרמקול המובנה שבו רוצים להשתמש.

Fields
voiceName string

השם של הגדרת הקול הקבועה מראש שבה רוצים להשתמש.

ייצוג JSON
{
  "voiceName": string
}

MultiSpeakerVoiceConfig

ההגדרה של מערך רמקולים מרובה.

Fields
speakerVoiceConfigs[] object (SpeakerVoiceConfig)

חובה. כל הקולות של הרמקולים שהופעלו.

ייצוג JSON
{
  "speakerVoiceConfigs": [
    {
      object (SpeakerVoiceConfig)
    }
  ]
}

SpeakerVoiceConfig

ההגדרה של רמקול יחיד במערך של כמה רמקולים.

Fields
speaker string

חובה. השם של הדובר שבו רוצים להשתמש. צריך להיות זהה למה שכתוב בפרומפט.

voiceConfig object (VoiceConfig)

חובה. ההגדרה של הקול שבו רוצים להשתמש.

ייצוג JSON
{
  "speaker": string,
  "voiceConfig": {
    object (VoiceConfig)
  }
}

ThinkingConfig

הגדרות לתכונות של עזרה בכתיבה.

Fields
includeThoughts boolean

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

thinkingBudget integer

מספר הטוקנים של המחשבות שהמודל צריך ליצור.

thinkingLevel enum (ThinkingLevel)

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

ייצוג JSON
{
  "includeThoughts": boolean,
  "thinkingBudget": integer,
  "thinkingLevel": enum (ThinkingLevel)
}

ThinkingLevel

אפשר לאפשר למשתמשים לציין כמה זמן לחשוב באמצעות enum במקום תקציב של מספר שלם.

טיפוסים בני מנייה (enum)
THINKING_LEVEL_UNSPECIFIED ערך ברירת המחדל.
MINIMAL מעט מאוד חשיבה או ללא חשיבה כלל.
LOW רמת ההעמקה נמוכה.
MEDIUM רמת העמקה בינונית.
HIGH רמת העמקה גבוהה.

ImageConfig

הגדרות לתכונות ליצירת תמונות.

Fields
aspectRatio string

אופציונלי. יחס הגובה-רוחב של התמונה שרוצים ליצור. יחסי גובה-רוחב נתמכים: 1:1,‏ 1:4,‏ 4:1,‏ 1:8,‏ 8:1,‏ 2:3,‏ 3:2,‏ 3:4,‏ 4:3,‏ 4:5,‏ 5:4,‏ 9:16,‏ 16:9 או 21:9.

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

imageSize string

אופציונלי. מציינת את הגודל של התמונות שנוצרו. הערכים הנתמכים הם 512, ‏ 1K, ‏ 2K, ‏ 4K. אם לא מציינים ערך, המודל ישתמש בערך ברירת המחדל 1K.

ייצוג JSON
{
  "aspectRatio": string,
  "imageSize": string
}

MediaResolution

רזולוציית המדיה של קובץ המדיה שהועלה.

טיפוסים בני מנייה (enum)
MEDIA_RESOLUTION_UNSPECIFIED לא הוגדרה רזולוציה למדיה.
MEDIA_RESOLUTION_LOW הרזולוציה של המדיה מוגדרת כנמוכה (64 טוקנים).
MEDIA_RESOLUTION_MEDIUM רזולוציית המדיה מוגדרת לבינונית (256 טוקנים).
MEDIA_RESOLUTION_HIGH רזולוציית המדיה מוגדרת כגבוהה (שינוי מסגור בהגדלה עם 256 טוקנים).

ResponseFormatConfig

הגדרה של פורמט הפלט של התשובה. זהו אובייקט שטוח שבו כל שדה משנה אופציונלי מגדיר מצב פלט ספציפי.

Fields
text object (TextResponseFormat)

אופציונלי. הגדרה של פורמט פלט הטקסט.

audio object (AudioResponseFormat)

אופציונלי. הגדרת פורמט פלט האודיו.

image object (ImageResponseFormat)

אופציונלי. הגדרת פורמט הפלט של התמונה.

ייצוג JSON
{
  "text": {
    object (TextResponseFormat)
  },
  "audio": {
    object (AudioResponseFormat)
  },
  "image": {
    object (ImageResponseFormat)
  }
}

TextResponseFormat

הגדרות לפורמט פלט הטקסט.

Fields
mimeType enum (MimeType)

אופציונלי. סוג ה-MIME של פלט הטקסט.

schema value (Value format)

אופציונלי. סכימת ה-JSON שהפלט צריך להתאים לה. ההגדרה הזו רלוונטית רק אם mimeType הוא APPLICATION_JSON.

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "schema": value
}

MimeType

סוגי MIME נתמכים של פלט טקסט.

טיפוסים בני מנייה (enum)
MIME_TYPE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
APPLICATION_JSON פורמט פלט JSON.
TEXT_PLAIN פורמט פלט של טקסט פשוט.

AudioResponseFormat

הגדרה של פורמט פלט האודיו.

Fields
mimeType enum (MimeType)

אופציונלי. סוג ה-MIME של פלט האודיו.

delivery enum (Delivery)

אופציונלי. אופן השליחה של פלט האודיו.

sampleRate integer

אופציונלי. תדירות הדגימה בהרץ.

bitRate integer

אופציונלי. קצב העברת הנתונים בסיביות לשנייה (bps). רלוונטי רק לפורמטים דחוסים (MP3, ‏ Opus).

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "sampleRate": integer,
  "bitRate": integer
}

MimeType

סוגי MIME נתמכים לפלט אודיו.

טיפוסים בני מנייה (enum)
MIME_TYPE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
AUDIO_MP3 פורמט אודיו MP3.
AUDIO_OGG_OPUS פורמט אודיו OGG Opus.
AUDIO_L16 פורמט אודיו Raw PCM ‏ (L16).
AUDIO_WAV פורמט אודיו WAV.
AUDIO_ALAW פורמט אודיו A-law.
AUDIO_MULAW פורמט אודיו Mu-law.

משלוח

מצב ההשמעה של פלט האודיו.

טיפוסים בני מנייה (enum)
DELIVERY_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
INLINE נתוני האודיו מוחזרים בשורה בתשובה.
URI נתוני האודיו מוחזרים כ-URI.

ImageResponseFormat

הגדרה של פורמט הפלט של התמונה.

Fields
mimeType enum (MimeType)

אופציונלי. סוג ה-MIME של פלט התמונה.

delivery enum (Delivery)

אופציונלי. אופן השליחה של פלט התמונה.

aspectRatio enum (AspectRatio)

אופציונלי. יחס הגובה-רוחב של התמונה שנוצרת.

imageSize enum (ImageSize)

אופציונלי. גודל התמונה שנוצרת.

ייצוג JSON
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "aspectRatio": enum (AspectRatio),
  "imageSize": enum (ImageSize)
}

MimeType

סוגי MIME נתמכים של פלט תמונה.

טיפוסים בני מנייה (enum)
MIME_TYPE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
IMAGE_JPEG פורמט תמונה JPEG.

משלוח

אופן ההעברה של פלט התמונה.

טיפוסים בני מנייה (enum)
DELIVERY_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
INLINE נתוני התמונה מוחזרים בשורה בתשובה.
URI נתוני התמונה מוחזרים כ-URI.

AspectRatio

יחסי גובה-רוחב נתמכים של תמונות שנוצרות.

טיפוסים בני מנייה (enum)
ASPECT_RATIO_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
ASPECT_RATIO_ONE_BY_ONE יחס גובה-רוחב של 1:1.
ASPECT_RATIO_TWO_BY_THREE יחס גובה-רוחב של 2:3.
ASPECT_RATIO_THREE_BY_TWO יחס גובה-רוחב של 3:2.
ASPECT_RATIO_THREE_BY_FOUR יחס גובה-רוחב של 3:4.
ASPECT_RATIO_FOUR_BY_THREE יחס גובה-רוחב של 4:3.
ASPECT_RATIO_FOUR_BY_FIVE יחס גובה-רוחב של 4:5.
ASPECT_RATIO_FIVE_BY_FOUR יחס גובה-רוחב של 5:4.
ASPECT_RATIO_NINE_BY_SIXTEEN יחס גובה-רוחב של 9:16.
ASPECT_RATIO_SIXTEEN_BY_NINE יחס גובה-רוחב של 16:9.
ASPECT_RATIO_TWENTY_ONE_BY_NINE יחס גובה-רוחב של 21:9.
ASPECT_RATIO_ONE_BY_EIGHT יחס גובה-רוחב של 1:8.
ASPECT_RATIO_EIGHT_BY_ONE יחס גובה-רוחב של 8:1.
ASPECT_RATIO_ONE_BY_FOUR יחס גובה-רוחב של 1:4.
ASPECT_RATIO_FOUR_BY_ONE יחס גובה-רוחב של 4:1.

ImageSize

גדלי תמונות נתמכים לפלט תמונה.

טיפוסים בני מנייה (enum)
IMAGE_SIZE_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
IMAGE_SIZE_FIVE_TWELVE גודל התמונה הוא 512 פיקסלים.
IMAGE_SIZE_ONE_K גודל התמונה הוא 1K.
IMAGE_SIZE_TWO_K גודל התמונה הוא 2K.
IMAGE_SIZE_FOUR_K גודל התמונה ב-4K.

TranslationConfig

הגדרות לתכונות התרגום.

Fields
targetLanguageCode string

חובה. שפת היעד של התרגום. הערכים הנתמכים הם קודי שפה בתקן BCP-47 (למשל, 'en',‏ 'es',‏ 'fr').

echoTargetLanguage boolean

אופציונלי. אם הערך הוא True, המודל ייצור אודיו כשהשפה הממוקדת מדוברת, כלומר הוא יחקה את הקלט. אם הערך הוא False, לא ניצור אודיו בשפת היעד.

ייצוג JSON
{
  "targetLanguageCode": string,
  "echoTargetLanguage": boolean
}

RealtimeInputConfig

הגדרת התנהגות הקלט בזמן אמת ב-BidiGenerateContent.

Fields
automaticActivityDetection object (AutomaticActivityDetection)

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

activityHandling enum (ActivityHandling)

אופציונלי. הגדרה של ההשפעה של הפעילות.

turnCoverage enum (TurnCoverage)

אופציונלי. הגדרה של הקלט שייכלל בתור של המשתמש.

ייצוג JSON
{
  "automaticActivityDetection": {
    object (AutomaticActivityDetection)
  },
  "activityHandling": enum (ActivityHandling),
  "turnCoverage": enum (TurnCoverage)
}

AutomaticActivityDetection

ההגדרה קובעת את אפשרויות הזיהוי האוטומטי של פעילות.

Fields
disabled boolean

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

startOfSpeechSensitivity enum (StartSensitivity)

אופציונלי. קובע את הסבירות לזיהוי דיבור.

prefixPaddingMs integer

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

endOfSpeechSensitivity enum (EndSensitivity)

אופציונלי. קובע את הסבירות לכך שהדיבור שזוהה הסתיים.

silenceDurationMs integer

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

ייצוג JSON
{
  "disabled": boolean,
  "startOfSpeechSensitivity": enum (StartSensitivity),
  "prefixPaddingMs": integer,
  "endOfSpeechSensitivity": enum (EndSensitivity),
  "silenceDurationMs": integer
}

StartSensitivity

קובע איך מזוהה תחילת הדיבור.

טיפוסים בני מנייה (enum)
START_SENSITIVITY_UNSPECIFIED ערך ברירת המחדל הוא START_SENSITIVITY_HIGH.
START_SENSITIVITY_HIGH הזיהוי האוטומטי יזהה את תחילת הדיבור בתדירות גבוהה יותר.
START_SENSITIVITY_LOW הזיהוי האוטומטי יזהה את תחילת הדיבור בתדירות נמוכה יותר.

EndSensitivity

קובע איך מזוהה סוף הדיבור.

טיפוסים בני מנייה (enum)
END_SENSITIVITY_UNSPECIFIED ערך ברירת המחדל הוא END_SENSITIVITY_HIGH.
END_SENSITIVITY_HIGH הזיהוי האוטומטי מסיים את הדיבור לעיתים קרובות יותר.
END_SENSITIVITY_LOW הזיהוי האוטומטי מפסיק את הדיבור בתדירות נמוכה יותר.

ActivityHandling

הדרכים השונות לטיפול בפעילות המשתמשים.

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

TurnCoverage

אפשרויות לגבי הקלט שנכלל בתור של המשתמש.

טיפוסים בני מנייה (enum)
TURN_COVERAGE_UNSPECIFIED אם לא מציינים ערך, נבחרת התנהגות ברירת מחדל על סמך המודל. לדוגמה, ב-Gemini 2.5, ברירת המחדל היא TURN_INCLUDES_ONLY_ACTIVITY, אבל ב-Gemini 3.1 ואילך, ברירת המחדל היא TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO.
TURN_INCLUDES_ONLY_ACTIVITY כולל פעילות מאז התור האחרון, לא כולל חוסר פעילות (למשל, שקט בזרם האודיו).
TURN_INCLUDES_ALL_INPUT כולל את כל הקלט בזמן אמת מאז התור האחרון, כולל חוסר פעילות (למשל, שקט בזרם האודיו).
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO כולל את פעילות האודיו ואת כל הווידאו מאז התור האחרון. בזיהוי פעילות אוטומטי, פעילות אודיו כוללת דיבור ולא כוללת שקט.

SessionResumptionConfig

הגדרת חידוש הסשן.

ההודעה הזו נכללת בהגדרות הסשן כ-BidiGenerateContentSetup.session_resumption. אם הוגדר, השרת ישלח הודעות SessionResumptionUpdate.

Fields
handle string

הכינוי של סשן קודם. אם הוא לא קיים, נוצר סשן חדש.

מזהי סשן מגיעים מערכי SessionResumptionUpdate.token בחיבורים קודמים.

ייצוג JSON
{
  "handle": string
}

ContextWindowCompressionConfig

הפעלה של דחיסת חלון הקשר – מנגנון לניהול חלון הקשר של המודל כך שהוא לא יעלה על אורך נתון.

שדות
compression_mechanism Union type
מנגנון הדחיסה של חלון ההקשר שבו נעשה שימוש. הערך compression_mechanism יכול להיות רק אחד מהבאים:
slidingWindow object (SlidingWindow)

מנגנון חלון הזזה.

triggerTokens string (int64 format)

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

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

אם לא מגדירים את המדיניות, ברירת המחדל היא 80% ממגבלת חלון ההקשר של המודל. המשמעות היא ש-20% נשארים לבקשת המשתמש הבאה או לתשובת המודל.

ייצוג JSON
{

  // compression_mechanism
  "slidingWindow": {
    object (SlidingWindow)
  }
  // Union type
  "triggerTokens": string
}

SlidingWindow

השיטה SlidingWindow פועלת על ידי השמטת תוכן בתחילת חלון ההקשר. ההקשר שיתקבל תמיד יתחיל בתחילת תור של תפקיד USER. ההוראות למערכת וכל BidiGenerateContentSetup.prefix_turns תמיד יישארו בתחילת התוצאה.

Fields
targetTokens string (int64 format)

מספר הטוקנים שרוצים לשמור. ערך ברירת המחדל הוא triggerTokens/2.

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

ייצוג JSON
{
  "targetTokens": string
}

AudioTranscriptionConfig

ההגדרה של תמלול האודיו.

Fields
adaptationPhrases[]
(deprecated)
string

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

customVocabulary[] string

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

language_config Union type
הגדרת השפה לתמלול האודיו. במודלים של ASR, הפרמטר הזה נדרש, ואם הוא לא מוגדר, תוחזר שגיאה. הערך language_config יכול להיות רק אחד מהבאים:
languageAuto object (LanguageAuto)

אופציונלי. המודל יזהה את השפה באופן אוטומטי.

languageHints object (LanguageHints)

אופציונלי. מציינים שפה אחת או יותר באודיו.

ייצוג JSON
{
  "adaptationPhrases": [
    string
  ],
  "customVocabulary": [
    string
  ],

  // language_config
  "languageAuto": {
    object (LanguageAuto)
  },
  "languageHints": {
    object (LanguageHints)
  }
  // Union type
}

LanguageAuto

בסוג הזה אין שדות.

מציין שהשפה של האודיו צריכה להיות מזוהה באופן אוטומטי.

LanguageHints

מספק רמזים למודל לגבי השפות האפשריות שקיימות באודיו.

Fields
languageCodes[] string

חובה. קודי שפה בתקן BCP-47.

ייצוג JSON
{
  "languageCodes": [
    string
  ]
}

HistoryConfig

הגדרת ההיסטוריה.

ההודעה הזו נכללת בהגדרות הסשן כ-BidiGenerateContentSetup.history_config. הגדרה של חילופי הודעות היסטוריה.

Fields
initialHistoryInClientContent boolean

אופציונלי. אם הערך הוא True, אחרי שליחת setupComplete, השרת ימתין ויעבד קודם clientContent הודעות עד ש-turnComplete יהיה true. ההיסטוריה הראשונית הזו לא תפעיל קריאה למודל, והיא עשויה להסתיים בתפקיד MODEL. אחרי ש-turnComplete הופך ל-true, הלקוח יכול להתחיל את השיחה בזמן אמת דרך realtimeInput.

ייצוג JSON
{
  "initialHistoryInClientContent": boolean
}

שיטה: auth_tokens.create

יוצר אסימון שאפשר להשתמש בו כדי להגביל את ההתנהגות של סשן BidiGenerateContent.

נקודת קצה

post https://generativelanguage.googleapis.com/v1beta/auth_tokens

גוף הבקשה

גוף הבקשה מכיל מופע של AuthToken.

Fields
expireTime string (Timestamp format)

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

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

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

newSessionExpireTime string (Timestamp format)

אופציונלי. קלט בלבד. אי אפשר לשנות. הזמן שאחריו בקשות חדשות להפעלת Live API באמצעות הטוקן שמתקבל מהבקשה הזו יידחו.

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

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

fieldMask string (FieldMask format)

אופציונלי. קלט בלבד. אי אפשר לשנות. אם fieldMask ריק, ו-bidiGenerateContentSetup לא קיים, אז הודעת BidiGenerateContentSetup האפקטיבית נלקחת מהחיבור הפעיל ל-API.

אם fieldMask ריק, ו-bidiGenerateContentSetup is קיים, אז ההודעה האפקטיבית BidiGenerateContentSetup נלקחת כולה מ-bidiGenerateContentSetup בבקשה הזו. הודעת ההגדרה מחיבור Live API מוזנחת.

אם fieldMask לא ריק, השדות התואמים מ-bidiGenerateContentSetup יחליפו את השדות מהודעת ההגדרה בחיבור ה-API בזמן אמת.

זוהי רשימה מופרדת בפסיקים של שמות שדות שמוגדרים במלואם. דוגמה: "user.displayName,photo"

config Union type
ההגדרה הספציפית לשיטה של הטוקן שמתקבל. הערך config יכול להיות רק אחד מהבאים:
bidiGenerateContentSetup object (BidiGenerateContentSetup)

אופציונלי. קלט בלבד. אי אפשר לשנות. הגדרה ספציפית ל-BidiGenerateContent.

uses integer

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

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של AuthToken.