Gemini Robotics ER

Модели 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 и других языках…

Начало работы

В следующем примере показано, как найти объекты на изображении и получить их нормализованные 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.

Рекомендации

  1. Используйте простой и естественный язык. Опишите, что вы хотите, чтобы робот сделал, как если бы вы говорили с человеком. Если термин не работает, попробуйте использовать распространенный синоним.

  2. Оптимизируйте визуальные элементы. Перед отправкой изображения обрежьте его или увеличьте масштаб, чтобы мелкие или нечеткие объекты были видны лучше. Освещение и низкий цветовой контраст могут повлиять на обнаружение.

  3. Разбивайте сложные задачи на этапы. Отправляйте каждый шаг отдельным запросом, чтобы модель не отвлекалась и давала более точные ответы.

  4. Для задач, требующих высокой точности, выполняйте запросы несколько раз и усредняйте результаты. Такой подход позволяет снизить дисперсию пространственных данных.

Ограничения

При разработке с помощью Gemini Robotics ER учитывайте следующие ограничения:

  • Ограничения ключей API. Gemini API не принимает запросы от ключей API без ограничений и возвращает ошибку 403 Forbidden. Защитите ключ API, добавив ограничения в AI Studio. Подробнее о том, как защитить ключи API без ограничений…
  • Задержка и производительность. Сложные запросы, входные данные с высоким разрешением или высокий уровень рассуждений могут привести к увеличению времени обработки. Для уровня мышления выберите средний, чтобы обеспечить баланс между задержкой и производительностью.
  • Галлюцинации. Как и все большие языковые модели, модели Gemini Robotics ER могут иногда "галлюцинировать" или предоставлять неверную информацию, особенно при неоднозначных запросах или входных данных, выходящих за рамки распределения.
  • Зависимость от качества запроса. Качество результата зависит от того, насколько четко сформулирован запрос. Используйте конкретные, хорошо структурированные запросы.
  • Вычислительные затраты. Работа модели, особенно с видео или высоким значением thinking_budget, требует вычислительных ресурсов и затрат. Подробную информацию вы найдете на странице Thinking.
  • Типы входных данных. Подробные сведения об ограничениях для каждого режима приведены в разделах ниже.

Примечание о конфиденциальности

Вы признаете, что модели, упомянутые в этом документе (далее – модели робототехники), используют видео- и аудиоданные для управления вашим оборудованием и его перемещения в соответствии с вашими инструкциями. Таким образом, вы можете использовать Модели робототехники так, что они будут собирать данные идентифицируемых лиц, например голоса, изображения и сходства ("Персональные данные"). Если вы решите использовать Модели робототехники таким образом, чтобы собирать Персональные данные, вы соглашаетесь не допускать взаимодействия идентифицируемых лиц с Моделями робототехники и их присутствия в зоне действия Моделей робототехники, пока эти лица не будут должным образом уведомлены о том, что их Персональные данные могут быть предоставлены 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

Возможности

Генератор аудио

Чего пользователь не может

Кеширование

Что пользователь может

Выполнение кода

Что пользователь может

Использование компьютера

Что пользователь может

Поиск файлов

Что пользователь может

Вызов функций

Что пользователь может

Обоснование с Google Картами

Что пользователь может

Генерирование изображений

Чего пользователь не может

Live API

Чего пользователь не может

Обоснование в Поиске

Что пользователь может

Структурированные выходные данные

Что пользователь может

Думаю…

Что пользователь может

URL-контекст

Что пользователь может

Варианты использования

Batch API

Что пользователь может

Гибкий инференс

Чего пользователь не может

Определение приоритета

Чего пользователь не может

Версии
Подробнее о шаблонах версий моделей…
  • Предварительный просмотр: gemini-robotics-er-2-preview
Последнее обновление Июль 2026 г.
Карточка модели Карточка модели

Gemini Robotics ER 2 Streaming Preview

Свойство Описание
Код модели gemini-robotics-er-2-streaming-preview
Поддерживаемые типы данных

Входные данные

Текст, изображения, видео, аудио

Выходные данные

Текст

Ограничения на количество токенов[*]

Лимит входных токенов

131 072

Ограничение на количество выходных токенов

65 536

Возможности

Генератор аудио

Чего пользователь не может

Кеширование

Чего пользователь не может

Выполнение кода

Чего пользователь не может

Использование компьютера

Чего пользователь не может

Поиск файлов

Чего пользователь не может

Вызов функций

Что пользователь может

Обоснование с Google Картами

Чего пользователь не может

Генерирование изображений

Чего пользователь не может

Live API

Что пользователь может

Обоснование в Поиске

Что пользователь может

Структурированные выходные данные

Чего пользователь не может

Думаю…

Что пользователь может

URL-контекст

Чего пользователь не может

Варианты использования

Batch API

Чего пользователь не может

Гибкий инференс

Чего пользователь не может

Определение приоритета

Чего пользователь не может

Версии
Подробнее о шаблонах версий моделей…
  • Предварительный просмотр: gemini-robotics-er-2-streaming-preview
Последнее обновление Июль 2026 г.
Карточка модели Карточка модели

Предварительная версия Gemini Robotics ER 1.6

Свойство Описание
Код модели gemini-robotics-er-1.6-preview
Поддерживаемые типы данных

Входные данные

Текст, изображения, видео, аудио

Выходные данные

Текст

Ограничения на количество токенов[*]

Лимит входных токенов

131 072

Ограничение на количество выходных токенов

65 536

Возможности

Генератор аудио

Чего пользователь не может

Кеширование

Что пользователь может

Выполнение кода

Что пользователь может

Использование компьютера

Что пользователь может

Поиск файлов

Что пользователь может

Вызов функций

Что пользователь может

Обоснование с Google Картами

Что пользователь может

Генерирование изображений

Чего пользователь не может

Live API

Чего пользователь не может

Обоснование в Поиске

Что пользователь может

Структурированные выходные данные

Что пользователь может

Думаю…

Что пользователь может

URL-контекст

Что пользователь может

Варианты использования

Batch API

Что пользователь может

Гибкий инференс

Чего пользователь не может

Определение приоритета

Чего пользователь не может

Версии
Подробнее о шаблонах версий моделей…
  • Выключить: gemini-robotics-er-1.6-preview
Последнее обновление Декабрь 2025 г.
Актуальность данных Январь 2025 г.

Дальнейшие действия