API Gemini поддерживает загрузку медиафайлов отдельно от ввода в подсказку, что позволяет повторно использовать ваши медиафайлы в нескольких запросах и нескольких подсказках. Подробнее см. в руководстве «Подсказки с медиафайлами» .
Метод: media.upload
Загружает данные в ragStore, выполняет предварительную обработку и разбивает на фрагменты перед сохранением в документе RagStore.
Конечная точка
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStorehttps: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
Параметры пути
string ragStoreName Обязательно. Неизменяемо. Имя RagStore , в который нужно загрузить файл. Пример: ragStores/my-rag-store-123 Имя имеет вид ragStores/{ragstore} . 
Текст запроса
Тело запроса содержит данные со следующей структурой:
string displayNameНеобязательно. Отображаемое имя созданного документа.
object ( CustomMetadata )customMetadata[]Пользовательские метаданные, которые будут связаны с данными.
chunkingConfigobject ( ChunkingConfig )Необязательно. Конфигурация, указывающая сервису, как разбивать данные на фрагменты. Если не указано, сервис будет использовать параметры по умолчанию.
string mimeTypeНеобязательно. MIME-тип данных. Если не указан, он будет определён на основе загруженного контента.
Тело ответа
Это копия google.longrunning.Operation. Нам нужно её скопировать, поскольку для взаимодействия со scotty необходимо добавить специфичное для scotty поле, которое невозможно добавить в протокол операции верхнего уровня.
В случае успеха тело ответа содержит данные со следующей структурой:
string name Имя, назначенное сервером, уникально только в пределах той же службы, которая его изначально возвращает. Если вы используете HTTP-сопоставление по умолчанию, name должно быть именем ресурса, заканчивающимся на operations/{unique_id} . 
object metadataМетаданные, специфичные для сервиса, связанные с операцией. Обычно они содержат информацию о ходе выполнения и общие метаданные, такие как время создания. Некоторые сервисы могут не предоставлять такие метаданные. Любой метод, возвращающий длительную операцию, должен документировать тип метаданных, если таковой имеется.
 Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } . 
doneboolean Если значение равно false , это означает, что операция всё ещё выполняется. Если true , операция завершена и доступен либо error , либо response . 
resultUnion typeerror , так и допустимым response . Если done == false , ни error , ни response не устанавливаются. Если done == true , может быть установлен только один из вариантов error или response . Некоторые службы могут не предоставлять результат. result может быть только одним из следующих: errorobject ( Status )Ошибочный результат операции в случае сбоя или отмены.
object response Обычный, успешный ответ операции. Если исходный метод не возвращает данных об успешном выполнении, например, Delete , ответом будет google.protobuf.Empty . Если исходный метод — стандартный Get / Create / Update , ответом должен быть ресурс. Для других методов ответ должен иметь тип XxxResponse , где Xxx — имя исходного метода. Например, если имя исходного метода — TakeSnapshot() , выводимый тип ответа — TakeSnapshotResponse .
 Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } . 
| JSON-представление | 
|---|
| {
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,
  // result
  "error": {
    object ( | 
ChunkingConfig
Параметры, сообщающие сервису, как разбить файл на части. Навеяно google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto
Union type configconfig может быть только одной из следующих: whiteSpaceConfigobject ( WhiteSpaceConfig )Конфигурация фрагментации белого пространства.
| JSON-представление | 
|---|
| {
  // config
  "whiteSpaceConfig": {
    object ( | 
WhiteSpaceConfig
Конфигурация для алгоритма разбиения на фрагменты с помощью пробелов [разделители — пробелы].
maxTokensPerChunkintegerМаксимальное количество токенов в блоке. Для этого алгоритма разбиения на блоки токены определяются как слова. Примечание: мы определяем токены как слова, разделённые пробелами, а не как результат работы токенизатора. Контекстное окно последней модели встраивания Gemini по состоянию на 17.04.2025 в настоящее время составляет 8192 токена. Мы предполагаем, что среднее слово состоит из 5 символов. Поэтому мы устанавливаем верхний предел 2**9, что составляет 512 слов, или 2560 токенов, в худшем случае предполагая, что на токен приходится один символ. Это консервативная оценка, призванная предотвратить переполнение контекстного окна.
maxOverlapTokensintegerМаксимальное количество перекрывающихся токенов между двумя соседними фрагментами.
| JSON-представление | 
|---|
| { "maxTokensPerChunk": integer, "maxOverlapTokens": integer } | 
Метод: files.get
 Получает метаданные для указанного File .
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}Параметры пути
string name Обязательно. Имя File , который нужно получить. Пример: files/abc-123 . Имя имеет вид files/{file} . 
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Питон
Node.js
Идти
Оболочка
Тело ответа
 В случае успеха тело ответа содержит экземпляр File . 
Метод: files.list
 Перечисляет метаданные File , принадлежащих запрашивающему проекту.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /filesПараметры запроса
pageSizeinteger Необязательно. Максимальное количество File , возвращаемых на страницу. Если не указано, по умолчанию 10. Максимальный pageSize — 100. 
string pageToken Необязательно. Токен страницы из предыдущего вызова files.list . 
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Питон
Node.js
Идти
Оболочка
Тело ответа
 Ответ для files.list .
В случае успеха тело ответа содержит данные со следующей структурой:
files[]object ( File ) Список File s. 
string nextPageToken Токен, который можно отправить как pageToken в последующий вызов files.list . 
| JSON-представление | 
|---|
| {
  "files": [
    {
      object ( | 
Метод: files.delete
 Удаляет File .
Конечная точка
удалитьhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}Параметры пути
string name Обязательно. Имя File для удаления. Пример: files/abc-123 Имя имеет вид files/{file} . 
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Питон
Node.js
Идти
Оболочка
Тело ответа
В случае успеха тело ответа представляет собой пустой объект JSON.
Ресурс REST: файлы
Ресурс: Файл
Файл загружен в API. Следующий идентификатор: 15.
string name Неизменяемый. Идентификатор. Имя ресурса File . Идентификатор (имя без префикса «files/») может содержать до 40 символов, включая строчные буквы, цифры или дефисы (-). Идентификатор не может начинаться или заканчиваться дефисом. Если при создании имя пустое, будет сгенерировано уникальное имя. Пример: files/123-456 
string displayName Необязательно. Удобное для восприятия отображаемое имя File . Длина отображаемого имени не должна превышать 512 символов, включая пробелы. Пример: «Welcome Image» 
string mimeTypeТолько вывод. MIME-тип файла.
sizeBytesstring ( int64 format)Только вывод. Размер файла в байтах.
createTimestring ( Timestamp format) Только вывод. Отметка времени создания File .
 Использует 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" . 
updateTimestring ( Timestamp format) Только вывод. Отметка времени последнего обновления File .
 Использует 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" . 
expirationTimestring ( Timestamp format) Только вывод. Временная метка, указывающая, когда File будет удалён. Устанавливается только в том случае, если срок действия File истекает.
 Использует 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" . 
sha256Hashstring ( bytes format)Только вывод. SHA-256 хэш загруженных байтов.
Строка в кодировке base64.
string uri Только вывод. URI File . 
string downloadUri Только вывод. URI загрузки File . 
stateenum ( State )Только вывод. Состояние обработки файла.
sourceenum ( Source )Источник файла.
errorobject ( Status )Только вывод. Статус ошибки, если обработка файла не удалась.
metadataUnion typemetadata могут быть только одними из следующих:object ( VideoFileMetadata )videoMetadataТолько вывод. Метаданные для видео.
| JSON-представление | 
|---|
| { "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( | 
ВидеофайлМетаданные
Метаданные для File .
videoDurationstring ( Duration format)Продолжительность видео.
 Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « s ». Пример: "3.5s" . 
| JSON-представление | 
|---|
| { "videoDuration": string } | 
Состояние
Состояния жизненного цикла файла.
| Перечисления | |
|---|---|
| STATE_UNSPECIFIED | Значение по умолчанию. Используется, если состояние не указано. | 
| PROCESSING | Файл обрабатывается и пока не может быть использован для вывода. | 
| ACTIVE | Файл обработан и доступен для вывода. | 
| FAILED | Файл не удалось обработать. | 
Источник
| Перечисления | |
|---|---|
| SOURCE_UNSPECIFIED | Используется, если источник не указан. | 
| UPLOADED | Указывает, что файл загружен пользователем. | 
| GENERATED | Указывает, что файл создан Google. | 
| REGISTERED | Указывает, что файл зарегистрирован, т. е. является файлом Google Cloud Storage. | 
Статус
 Тип Status определяет логическую модель ошибок, подходящую для различных сред программирования, включая REST API и RPC API. Он используется в gRPC . Каждое сообщение Status содержит три фрагмента данных: код ошибки, сообщение об ошибке и сведения об ошибке.
Дополнительную информацию об этой модели ошибок и о том, как с ней работать, можно найти в Руководстве по проектированию API .
codeinteger Код состояния, который должен быть значением перечисления google.rpc.Code . 
string message Сообщение об ошибке для разработчика, которое должно быть на английском языке. Любое сообщение об ошибке для пользователя должно быть локализовано и отправлено в поле google.rpc.Status.details или локализовано клиентом. 
details[]objectСписок сообщений с подробностями об ошибках. Существует общий набор типов сообщений, которые могут использовать API.
 Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } . 
| JSON-представление | 
|---|
| { "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |