מודלים של Gemini Robotics ER (embodied reasoning) הם מודלים של ראייה ושפה (VLM) שמאפשרים לרובוטים לתפוס את העולם הפיזי ולקיים איתו אינטראקציה. הם מפרשים נתונים חזותיים, מבצעים חשיבה רציונלית מרחבית וזמנית, מתכננים משימות מורכבות ומתזמנים רובוטים וכלים.
מודלים
מודל Gemini Robotics ER 2 הוא המודל הכי עדכני ב-Gemini Robotics. זהו מודל חשיבה רציונלית מעודכן שמאפשר לרובוטים להבין את הסביבה שלהם בצורה מדויקת. הוא מתמחה ביכולות של נימוק מגולם, כמו תזמור של רובוטים על ידי סוכנים (למשל, באמצעות VLAs), הבנת סרטוני רובוטים כולל הבנת התקדמות וזיהוי הצלחה, קריאת מכשירים, הצבעה ונימוק מרחבי.
מודל Gemini Robotics ER 2 כולל שתי נקודות קצה של מודלים:
-
gemini-robotics-er-2-preview: מודל ER 2 רגיל. המודל מבוסס על Gemini 3.5 Flash וכולל שיפורים ביכולות הבאות: ניתוח מרחבי, איתור רגעים בסרטונים, סיווג של התקדמות בסרטונים, תיאום בין כמה רובוטים ושימוש בכלי רב-שלבי. -
gemini-robotics-er-2-streaming-preview: מותאם לסטרימינג בזמן אמת באמצעות Live API. אפשר להשתמש במודל הזה לסוכני רובוטים עם זמן אחזור נמוך שמבצעים עיבוד של קלט רציף של אודיו ווידאו.
אם אתם משתמשים ב-Gemini Robotics ER 1.6, אתם יכולים לשדרג ל-Gemini Robotics ER 2 על ידי החלפת
model="gemini-robotics-er-1.6-preview" ב-
model="gemini-robotics-er-2-preview" או ב-
model="gemini-robotics-er-2-streaming-preview" בקריאות ה-API. שימו לב: מודל Gemini Robotics ER 1.6 יושבת בסוף אוגוסט.
התנסות ב-Gemini Robotics ER 2 ב-Google AI Studio
יכולות רובוטיקה
Gemini Robotics ER תומך במגוון יכולות של הסקת מסקנות מגוף. כדי לקבל מידע נוסף, בוחרים יכולת:
| יכולת | תיאור | הדרכות |
|---|---|---|
| חשיבה מרחבית | הפנייה לאובייקטים, מעקב אחריהם בסרטון, זיהוי באמצעות תיבות תוחמות, תכנון מסלולים. | היכולת להבין יחסים מרחביים |
| חזון של סוכנים | שימוש בהרצת קוד כדי לשפר יכולות אחרות באמצעות כלים לעריכת תמונות. | Agentic vision |
| תזמור משימות | אפשר לשלב בין חשיבה מרחבית לבין ממשקי API מותאמים אישית של רובוטים כדי להשלים משימות לטווח ארוך. | תזמור משימות |
| סטרימינג (רק בנקודת הקצה של Gemini Robotics ER 2 Streaming) | סטרימינג דו-כיווני לסוכני רובוטים בזמן אמת עם זמן אחזור נמוך וקריאה לפונקציות. | סטרימינג לרובוטיקה |
| התקדמות הסרטון (Gemini Robotics ER 2 בלבד) | חיפוש רגעים וסיווג התקדמות מפידים רציפים של סרטונים. | הבנת סרטונים |
תחילת העבודה
בדוגמה הבאה מוצגים אובייקטים בתמונה ומוחזרות התוויות והקואורדינטות הדו-ממדיות המנורמלות שלהם. אפשר להעביר את הפלט הזה ישירות ל-API של רובוטיקה או למודל VLA כדי ליצור פעולות של רובוטים.
Python
from google import genai
PROMPT = """
Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": <point>,
"label": <label1>}, ...]. The points are in [y, x] format
normalized to 0-1000.
"""
client = genai.Client()
uploaded_file = client.files.upload(file="my-image.png")
image_response = client.interactions.create(
model="gemini-robotics-er-2-preview",
input=[
{
"type": "image",
"uri": uploaded_file.uri,
"mime_type": uploaded_file.mime_type
},
{"type": "text", "text": PROMPT}
],
generation_config={"thinking_level": "high"},
)
print(image_response.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const PROMPT = `
Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": <point>,
"label": <label1>}, ...]. The points are in [y, x] format
normalized to 0-1000.
`;
const client = new GoogleGenAI();
const uploadedFile = await client.files.upload({ file: "my-image.png" });
const imageResponse = await client.interactions.create({
model: "gemini-robotics-er-2-preview",
input: [
{
type: "image",
uri: uploadedFile.uri,
mime_type: uploadedFile.mimeType,
},
{ type: "text", text: PROMPT },
],
generation_config: { thinking_level: "high" },
});
console.log(imageResponse.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.Content;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.GenerationConfig;
import com.google.genai.gaos.models.interactions.ImageContent;
import com.google.genai.gaos.models.interactions.ImageContentMimeType;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.TextContent;
import com.google.genai.gaos.models.interactions.ThinkingLevel;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import com.google.genai.types.File;
import com.google.genai.types.UploadFileConfig;
import java.util.List;
Client client = new Client();
String prompt =
"Point to no more than 10 items in the image. The label returned "
+ "should be an identifying name for the object detected. "
+ "The answer should follow the json format: [{\"point\": <point>, "
+ "\"label\": <label1>}, ...]. The points are in [y, x] format "
+ "normalized to 0-1000.";
File uploadedFile =
client.files.upload(
new java.io.File("my-image.png"),
UploadFileConfig.builder().mimeType("image/png").build());
Content imageContent =
ImageContent.builder()
.uri(uploadedFile.uri().orElse(""))
.mimeType(ImageContentMimeType.of(uploadedFile.mimeType().orElse("image/png")))
.build();
Content textContent = TextContent.builder().text(prompt).build();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-robotics-er-2-preview"))
.input(InteractionsInput.ofContent(List.of(imageContent, textContent)))
.generationConfig(
GenerationConfig.builder().thinkingLevel(ThinkingLevel.HIGH).build())
.build();
Interaction imageResponse =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(imageResponse.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
prompt := `Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": <point>,
"label": <label1>}, ...]. The points are in [y, x] format
normalized to 0-1000.`
uploadedFile, err := client.Files.UploadFromPath(ctx, "my-image.png", &genai.UploadFileConfig{
MIMEType: "image/png",
})
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-robotics-er-2-preview"),
Input: interactions.NewInteractionsInput([]interactions.Content{
interactions.NewContent(interactions.ImageContent{
URI: genai.Ptr(uploadedFile.URI),
MimeType: genai.Ptr(interactions.ImageMimeTypeImagePng),
}),
interactions.NewContent(interactions.TextContent{
Text: prompt,
}),
}),
GenerationConfig: &interactions.GenerationConfig{
ThinkingLevel: interactions.ThinkingLevelHigh.ToPointer(),
},
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
# First, ensure you have the image file locally.
# Encode the image to base64
IMAGE_BASE64=$(base64 -w 0 my-image.png)
curl -X POST \
"https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-robotics-er-2-preview",
"input": {
"parts": [
{
"inlineData": {
"mimeType": "image/png",
"data": "'"${IMAGE_BASE64}"'"
}
},
{
"text": "Point to no more than 10 items in the image. The label returned should be an identifying name for the object detected. The answer should follow the json format: [{\"point\": [y, x], \"label\": <label1>}, ...]. The points are in [y, x] format normalized to 0-1000."
}
]
},
"generation_config": {
"thinking_config": {
"thinking_level": "high"
}
}
}'
הפלט יהיה מערך JSON שמכיל אובייקטים, שלכל אחד מהם יש point (קואורדינטות [y, x] מנורמלות) ו-label שמזהה את האובייקט.
JSON
[
{"point": [376, 508], "label": "small banana"},
{"point": [287, 609], "label": "larger banana"},
{"point": [223, 303], "label": "pink starfruit"},
{"point": [435, 172], "label": "paper bag"},
{"point": [270, 786], "label": "green plastic bowl"},
{"point": [488, 775], "label": "metal measuring cup"},
{"point": [673, 580], "label": "dark blue bowl"},
{"point": [471, 353], "label": "light blue bowl"},
{"point": [492, 497], "label": "bread"},
{"point": [525, 429], "label": "lime"}
]
התמונה הבאה היא דוגמה לאופן שבו אפשר להציג את הנקודות האלה:
איך זה עובד
Gemini Robotics ER מקבל קלט של תמונות, סרטונים או אודיו עם הנחיות בשפה טבעית. היא מזהה אובייקטים, מנתחת את ההקשר של הסצנה ואת היחסים המרחביים, ומחזירה פלט מובנה כמו קואורדינטות או תיבות תוחמות.
Gemini Robotics ER הוא גם סוכן: הוא מפרק משימות מורכבות למשימות משנה ומבצע אותן על ידי הפעלת פונקציות של הרובוט או הפעלת קוד שנוצר. לדוגמה, המשפט "תשים את התפוח בקערה" הופך לרצף של שלבים: איתור, אחיזה והנחה.
במאמר בקשה להפעלת פונקציה מוסבר איך Gemini מבצע קריאות לכלים.
בטיחות
מערכת Gemini Robotics ER פותחה תוך התחשבות בבטיחות, אבל האחריות לשמירה על סביבה בטוחה סביב הרובוט היא שלכם. מודלים של AI גנרטיבי עלולים לטעות, ורובוטים פיזיים עלולים לגרום נזק. מידע נוסף זמין בדף בנושא בטיחות רובוטים של Google DeepMind.
שיטות מומלצות
השתמשו בשפה פשוטה וטבעית. מתארים מה רוצים שהרובוט יעשה, כמו שהייתם מתארים לאדם. אם מונח מסוים לא עובד, נסו להשתמש במילה נרדפת נפוצה.
אופטימיזציה של קלט חזותי. לפני ששולחים את התמונה, כדאי לחתוך או להגדיל אובייקטים קטנים או לא ברורים. תאורה וניגודיות צבעים נמוכה יכולים להשפיע על הזיהוי.
פירוק משימות מורכבות לשלבים. כדי לשמור על המיקוד של המודל ולשפר את הדיוק, כדאי לשלוח כל שלב כהנחיה נפרדת.
כדי לבצע משימות שדורשות דיוק גבוה, כדאי להריץ את השאילתה כמה פעמים ולחשב את ממוצע התוצאות. הגישה הזו של קונצנזוס מצמצמת את השונות בתוצאות המרחביות.
מגבלות
כשמפתחים באמצעות Gemini Robotics ER, חשוב לקחת בחשבון את המגבלות הבאות:
- הגבלות על מפתחות API: Gemini API לא מקבל בקשות ממפתחות API ללא הגבלות ומחזיר שגיאה
403 Forbidden. כדי לאבטח את מפתח ה-API, מוסיפים הגבלות ב-AI Studio. פרטים נוספים זמינים במאמר אבטחת מפתחות API ללא הגבלות. - זמן אחזור לעומת ביצועים: שאילתות מורכבות, קלט ברזולוציה גבוהה או רמות חשיבה גבוהות יכולים להוביל לזמני עיבוד ארוכים יותר. לרמת החשיבה, מומלץ להשתמש בערך 'בינוני' כדי ליצור איזון טוב בין זמן האחזור לבין הביצועים.
- הזיות: כמו כל המודלים הגדולים של שפה, מודלים של Gemini Robotics ER יכולים מדי פעם "להזות" או לספק מידע שגוי, במיוחד בהנחיות מעורפלות או בקלט שהוא מחוץ להתפלגות.
- תלות באיכות ההנחיה: איכות הפלט תלויה בבהירות של ההנחיה. חשוב להשתמש בהנחיות ספציפיות ומובנות היטב.
- עלות החישוב: הפעלת המודל, במיוחד עם נתוני וידאו או עם
thinking_budgetגבוה, צורכת משאבי מחשוב וגוררת עלויות. פרטים נוספים מופיעים בדף חשיבה. - סוגי קלט: בקישורים הבאים מפורטות המגבלות של כל מצב.
הודעת פרטיות
אתם מאשרים שהמודלים שמצוינים במסמך הזה ('מודלים של רובוטיקה') משתמשים בנתוני וידאו ואודיו כדי לפעול ולהזיז את החומרה בהתאם להוראות שלכם. לכן, יכול להיות שתפעילו את המודלים של הרובוטיקה כך שהם יאספו נתונים מאנשים שאפשר לזהות, כמו נתונים של קול, תמונות ודמיון ("נתונים אישיים"). אם תבחרו להפעיל את מודלי הרובוטיקה באופן שבו נאסף מידע אישי, אתם מסכימים שלא תאפשרו לאנשים שניתן לזהות אותם ליצור אינטראקציה עם מודלי הרובוטיקה או להיות באזור שמסביב להם, אלא אם ועד שאנשים כאלה יקבלו הודעה מספקת על כך ש-Google עשויה לקבל את המידע האישי שלהם ולהשתמש בו, ויביעו את הסכמתם לכך, כפי שמפורט בתנאים והגבלות נוספים לשימוש ב-Gemini API שזמינים בכתובת https://ai.google.dev/gemini-api/terms (התנאים), כולל בהתאם לקטע שכותרתו 'איך Google משתמשת בנתונים שלך'. תדאגו שההודעה תאפשר איסוף ושימוש במידע אישי כפי שמפורט בתנאים, ותפעלו במאמצים סבירים מבחינה מסחרית כדי לצמצם את האיסוף וההפצה של מידע אישי באמצעות טכניקות כמו טשטוש פנים והפעלת מודלים של רובוטיקה באזורים שלא מכילים אנשים שניתן לזהות, במידת האפשר.
תמחור
מידע מפורט על התמחור והאזורים הזמינים מופיע בדף התמחור.
נקודות קצה של מודלים
Gemini Robotics ER 2 Preview
| נכס | תיאור |
|---|---|
| קוד המודל | gemini-robotics-er-2-preview |
| סוגי נתונים נתמכים |
קלטים טקסט, תמונות, סרטונים, אודיו פלט טקסט |
| מגבלות על טוקנים[*] |
מגבלת טוקנים של קלט 131,072 מגבלת טוקנים של פלט 65,536 |
| יכולות | לא נתמך נתמך נתמך נתמך נתמך נתמך נתמך לא נתמך לא נתמך נתמך נתמך נתמך נתמך |
| אפשרויות צריכה |
נתמך לא נתמך לא נתמך |
| גרסאות |
|
| העדכון האחרון | יולי 2026 |
| כרטיס מודל | כרטיס מודל |
Gemini Robotics ER 2 Streaming Preview
| נכס | תיאור |
|---|---|
| קוד המודל | gemini-robotics-er-2-streaming-preview |
| סוגי נתונים נתמכים |
קלטים טקסט, תמונות, סרטונים, אודיו פלט טקסט |
| מגבלות על טוקנים[*] |
מגבלת טוקנים של קלט 131,072 מגבלת טוקנים של פלט 65,536 |
| יכולות | לא נתמך לא נתמך לא נתמך לא נתמך לא נתמך נתמך לא נתמך לא נתמך נתמך נתמך לא נתמך נתמך לא נתמך |
| אפשרויות צריכה |
לא נתמך לא נתמך לא נתמך |
| גרסאות |
|
| העדכון האחרון | יולי 2026 |
| כרטיס מודל | כרטיס מודל |
Gemini Robotics ER 1.6 Preview
| נכס | תיאור |
|---|---|
| קוד המודל | gemini-robotics-er-1.6-preview |
| סוגי נתונים נתמכים |
קלטים טקסט, תמונות, סרטונים, אודיו פלט טקסט |
| מגבלות על טוקנים[*] |
מגבלת טוקנים של קלט 131,072 מגבלת טוקנים של פלט 65,536 |
| יכולות | לא נתמך נתמך נתמך נתמך נתמך נתמך נתמך לא נתמך לא נתמך נתמך נתמך נתמך נתמך |
| אפשרויות צריכה |
נתמך לא נתמך לא נתמך |
| גרסאות |
|
| העדכון האחרון | דצמבר 2025 |
| תאריך סף הידע | ינואר 2025 |
המאמרים הבאים
- היגיון מרחבי – הצבעה, מעקב, תיבות תוחמות, מסלולים.
- יכולות אג'נטיות – הרצת קוד, קריאת מכשירים, הוספת הערות לתמונות.
- תיאום משימות – משימות ארוכות טווח עם ממשקי API מותאמים אישית של רובוטים.
- רובוטיקה עם סטרימינג – סטרימינג דו-כיווני בזמן אמת (Gemini Robotics ER 2 בלבד).
- הבנת סרטונים – איתור רגעים וסיווג התקדמות (Gemini Robotics ER 2 בלבד).
- בטיחות רובוטים של Google DeepMind – מחקר בטיחותי שמאחורי משפחת המודלים.