Модели Gemini Robotics ER (embodied reasoning) – это модели зрения и языка (VLM), которые позволяют роботам воспринимать физический мир и взаимодействовать с ним. Они интерпретируют визуальные данные, выполняют пространственно-временные рассуждения, планируют многоэтапные задачи и управляют роботами и инструментами.
Модели
Gemini Robotics ER 2 – новейшая модель Gemini Robotics. Это обновленная модель рассуждений, которая позволяет роботам точно понимать окружающую среду. Она специализируется на воплощенных рассуждениях, например на агентной оркестровке роботов (например, с использованием VLA), понимании видео с роботами, включая отслеживание прогресса и обнаружение успеха, чтении показаний приборов, указании на объекты и пространственных рассуждениях.
Модель 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 была прекращена 31 августа 2026 г.
Если вы по-прежнему используете 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 2 в Google AI Studio
Возможности робототехники
Gemini Robotics ER поддерживает ряд возможностей, связанных с рассуждениями на основе физических объектов. Выберите функцию, чтобы узнать больше:
| Возможности | Описание | Руководство |
|---|---|---|
| Пространственное мышление | Указывать на объекты, отслеживать их на видео, обнаруживать с помощью ограничительных рамок, планировать траектории. | Пространственное мышление |
| Агентное распознавание изображений | Используйте выполнение кода, чтобы улучшать другие функции, применяя инструменты для обработки изображений. | Агентное зрение |
| Оркестрация задач | Используйте пространственное мышление в сочетании с собственными API роботов, чтобы выполнять долгосрочные задачи. | Оркестрация задач |
| Трансляция (только для конечной точки Gemini Robotics ER 2 Streaming) | Двунаправленная потоковая передача для агентов-роботов в реальном времени с низкой задержкой и вызовом функций. | Потоковая передача для робототехники |
| Ползунок воспроизведения видео (только Gemini Robotics ER 2) | Поиск моментов и классификация прогресса на основе непрерывных видеопотоков. | Понимание видео |
Подготовка
Модели Gemini Robotics ER доступны через Gemini Developer API. Чтобы начать работу, создайте ключ Gemini API в Google AI Studio или консоли Google Cloud и настройте среду.
Подробнее о типах ключей, безопасности и настройке ключей в Python, JavaScript и других языках рассказывается в статье Как использовать ключи Gemini API.
Начало работы
В примере ниже показано, как найти объекты на изображении и получить их нормализованные 2D-координаты и ярлыки. Вы можете передать эти данные непосредственно в 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(""));
Проложить маршрут
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 был разработан с учетом требований безопасности, но вы несете ответственность за поддержание безопасной среды вокруг него. Модели генеративного ИИ могут ошибаться, а физические роботы могут причинить ущерб. Подробнее о безопасности Gemini Robotics…
Рекомендации
Используйте простой и понятный язык. Опишите, что должен делать робот, так же, как вы бы объяснили это человеку. Если какой-то термин не работает, попробуйте использовать распространенный синоним.
Оптимизируйте визуальный ввод. Перед отправкой изображения вы можете обрезать его или увеличить мелкие или нечеткие объекты. Освещение и низкая контрастность цветов могут повлиять на обнаружение.
Разбивайте сложные задачи на этапы. Отправляйте каждый шаг в виде отдельного запроса, чтобы модель не отвлекалась и давала более точные ответы.
Для высокоточных задач отправляйте запрос несколько раз и усредняйте результаты. Такой подход позволяет уменьшить отклонения в пространственных данных.
Ограничения
При разработке с помощью 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
| Свойство | Описание |
|---|---|
| Код модели | 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).
- Безопасность Gemini Robotics – исследования безопасности, лежащие в основе семейства моделей.