Gemini API позволяет загружать медиафайлы отдельно от запросов, чтобы вы могли использовать их в нескольких запросах. Подробную информацию вы найдете в руководстве Запросы с медиафайлами.
Ресурс REST: files
Ресурс: файл
Файл, загруженный в API.
name
string
Не меняется. Идентификатор. Название ресурса File. Идентификатор (название без префикса "files/") может содержать до 40 символов, включая строчные буквы, цифры и дефисы (-). Идентификатор не может начинаться или заканчиваться дефисом. Если при создании название не указано, оно будет сгенерировано автоматически. Пример: files/123-456
displayName
string
Необязательное поле. Человекочитаемое отображаемое название File. Отображаемое название должно содержать не более 512 символов, включая пробелы. Пример: "Приветственное изображение".
mimeType
string
Только для вывода. MIME-тип файла.
sizeBytes
string (int64 format)
Только для вывода. Размер файла в байтах.
createTime
string (Timestamp format)
Только для вывода. Временная метка, указывающая, когда создан файл File.
Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".
updateTime
string (Timestamp format)
Только для вывода. Временная метка последнего обновления File.
Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".
expirationTime
string (Timestamp format)
Только для вывода. Временная метка, указывающая, когда будет удален объект File. Задается, только если у File есть срок действия.
Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".
sha256Hash
string (bytes format)
Только для вывода. Хеш SHA-256 загруженных байтов.
Строка в кодировке Base64.
uri
string
Только для вывода. URI разметки File.
downloadUri
string
Только для вывода. URI для скачивания File.
state
enum (State)
Только для вывода. Статус обработки файла.
source
enum (Source)
Источник файла.
error
object (Status)
Только для вывода. Статус ошибки, если обработка файла не удалась.
metadata
Union type
videoMetadata
object (VideoFileMetadata)
Только для вывода. Метаданные видео.
| JSON-представление |
|---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
Метаданные видео File.
videoDuration
string (Duration format)
Продолжительность видео.
Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на букву s. Пример: "3.5s".
| JSON-представление |
|---|
{ "videoDuration": string } |
Штат
Состояния жизненного цикла файла.
| Перечисления | |
|---|---|
STATE_UNSPECIFIED |
Значение по умолчанию. Это значение используется, если штат не указан. |
PROCESSING |
Файл обрабатывается и пока не может использоваться для вывода. |
ACTIVE |
Файл обработан и доступен для вывода. |
FAILED |
Не удалось обработать файл. |
Источник
| Перечисления | |
|---|---|
SOURCE_UNSPECIFIED |
Используется, если источник не указан. |
UPLOADED |
Указывает, что файл загружен пользователем. |
GENERATED |
Указывает, что файл создан Google. |
REGISTERED |
Указывает, что файл зарегистрирован, то есть является файлом Google Cloud Storage. |
Метод: files.get
Получает метаданные для указанного File.
Конечная точка
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Параметры пути
name
string
Обязательно. Название получаемого объекта File. Пример: files/abc-123. Форма: files/{file}.
Тело запроса
Тело запроса должно быть пустым.
Пример запроса
Python
Node.js
Проложить маршрут
Ракушка
Тело ответа
Если ответ получен успешно, его тело содержит экземпляр File.
Метод: files.list
Возвращает метаданные для File, принадлежащих запрашивающему проекту.
Конечная точка
gethttps: / /generativelanguage.googleapis.com /v1beta /files
Параметры запроса
pageSize
integer
Необязательное поле. Максимальное количество объектов типа File, возвращаемых на странице. Если не указано, по умолчанию используется 10. Максимальное значение pageSize – 100.
pageToken
string
Необязательное поле. Токен страницы из предыдущего вызова files.list.
Тело запроса
Тело запроса должно быть пустым.
Пример запроса
Python
Node.js
Проложить маршрут
Ракушка
Тело ответа
Ответ для files.list.
Ниже приведена структура данных в ответе, полученном на запрос.
files[]
object (File)
Список File.
nextPageToken
string
Токен, который можно отправить в качестве pageToken в последующем вызове files.list.
| JSON-представление |
|---|
{
"files": [
{
object ( |
Метод: files.delete
Удаляет File.
Конечная точка
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Параметры пути
name
string
Обязательно. Название удаляемого объекта File. Пример: files/abc-123. Форма: files/{file}.
Тело запроса
Тело запроса должно быть пустым.
Пример запроса
Python
Node.js
Проложить маршрут
Ракушка
Тело ответа
Если запрос выполнен успешно, тело ответа представляет собой пустой объект JSON.
Метод files.register
Регистрирует файлы Google Cloud Storage в FileService. Пользователь должен предоставить URI Google Cloud Storage и получит ресурс File для каждого URI. Обратите внимание, что файлы не копируются, а только регистрируются в File API. Если не удастся зарегистрировать хотя бы один файл, запрос будет отклонен.
Конечная точка
posthttps: / /generativelanguage.googleapis.com /v1beta /files:register
Тело запроса
Ниже приведена структура данных в теле запроса.
uris[]
string
Обязательно. URI Google Cloud Storage, которые нужно зарегистрировать. Пример: gs://bucket/object.
Метод: media.upload
Создает File.
Конечная точка
- URI для загрузки медиафайлов:
https: / /generativelanguage.googleapis.com /upload /v1beta /files
- URI метаданных (только для запросов метаданных):
https: / /generativelanguage.googleapis.com /v1beta /files
Тело запроса
Ниже приведена структура данных в теле запроса.
file
object (File)
Необязательное поле. Метаданные для создаваемого файла.
Пример запроса
Изображение
Python
Node.js
Проложить маршрут
Ракушка
Аудио
Python
Node.js
Проложить маршрут
Ракушка
Текст
Python
Node.js
Проложить маршрут
Ракушка
Видео
Python
Node.js
Проложить маршрут
Ракушка
Python
Проложить маршрут
Статус
Тип Status определяет логическую модель ошибок, подходящую для различных программных сред, включая REST API и RPC API. Этот тип используется в gRPC. В каждом сообщении типа Status есть три элемента данных: код ошибки, сообщение об ошибке и подробности ошибки.
Подробнее об этой модели ошибок и о том, как с ней работать, рассказывается в руководстве по проектированию API.
code
integer
Код статуса. Должен быть перечислением google.rpc.Code.
message
string
Сообщение об ошибке для разработчиков. Должно быть на английском языке. Любое сообщение об ошибке, видное пользователю, должно быть локализовано и отправлено в поле 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: ..., ... } ] } |