Live API – это API с сохранением состояния, в котором используются WebSockets. В этом разделе вы найдете дополнительную информацию о WebSockets API.
Сеансы
Подключение WebSocket устанавливает сеанс между клиентом и сервером Gemini. После того как клиент установит новое подключение, сеанс может обмениваться сообщениями с сервером, чтобы:
- Отправлять на сервер Gemini текст, аудио или видео.
- Получать от сервера Gemini запросы на аудио, текст или вызов функций.
Подключение WebSocket
Чтобы начать сеанс, подключитесь к этой конечной точке WebSocket:
wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent
Настройки сеанса
Первое сообщение, отправленное после установления подключения WebSocket, задает конфигурацию сеанса, которая включает модель, параметры генерации, системные инструкции и инструменты.
Нельзя изменить конфигурацию, пока подключение открыто. Однако вы можете изменить параметры конфигурации, кроме модели, при приостановке и возобновлении работы с помощью механизма возобновления сеанса.
Ниже приведен пример конфигурации. Обратите внимание, что в SDK может использоваться разный регистр. Варианты конфигурации Python SDK
{
"model": string,
"generationConfig": {
"candidateCount": integer,
"maxOutputTokens": integer,
"temperature": number,
"topP": number,
"topK": integer,
"presencePenalty": number,
"frequencyPenalty": number,
"responseModalities": [string],
"speechConfig": object,
"mediaResolution": object,
"translationConfig": object
},
"systemInstruction": string,
"tools": [object]
}
Подробнее о поле API можно узнать в разделе generationConfig.
Отправка сообщений
Чтобы обмениваться сообщениями через подключение WebSocket, клиент должен отправить объект JSON через открытое подключение WebSocket. Объект JSON должен содержать ровно одно поле из следующего набора:
{
"setup": BidiGenerateContentSetup,
"clientContent": BidiGenerateContentClientContent,
"realtimeInput": BidiGenerateContentRealtimeInput,
"toolResponse": BidiGenerateContentToolResponse
}
Поддерживаемые клиентские сообщения
Поддерживаемые сообщения клиента приведены в таблице ниже.
| Сообщение | Описание |
|---|---|
BidiGenerateContentSetup |
Конфигурация сеанса, которая будет отправлена в первом сообщении |
BidiGenerateContentClientContent |
Дополнительное обновление контента текущего разговора, полученное от клиента |
BidiGenerateContentRealtimeInput |
Аудио-, видео- или текстовый ввод в реальном времени |
BidiGenerateContentToolResponse |
Ответ на запрос ToolCallMessage, полученный от сервера |
Получение сообщений
Чтобы получать сообщения от Gemini, отслеживайте событие WebSocket message, а затем анализируйте результат в соответствии с определением поддерживаемых сообщений сервера.
Ознакомьтесь со следующими материалами:
async with client.aio.live.connect(model='...', config=config) as session:
await session.send(input='Hello world!', end_of_turn=True)
async for message in session.receive():
print(message)
В сообщениях сервера может быть поле usageMetadata, но в них также должно быть ровно одно из других полей сообщения BidiGenerateContentServerMessage. (Объединение messageType не выражается в JSON, поэтому поле будет отображаться на верхнем уровне сообщения.)
Сообщения и события
ActivityEnd
У этого типа нет полей.
Отмечает конец действий пользователя.
ActivityHandling
Разные способы обработки действий пользователей.
| Перечисления | |
|---|---|
ACTIVITY_HANDLING_UNSPECIFIED |
Если оно не задано, используется режим работы по умолчанию – START_OF_ACTIVITY_INTERRUPTS. |
START_OF_ACTIVITY_INTERRUPTS |
Если задано значение true, начало действия прервет ответ модели (также называется "перебивание"). Текущий ответ модели будет прерван. Такая сортировка используется по умолчанию. |
NO_INTERRUPTION |
Ответ модели не будет прерван. |
ActivityStart
У этого типа нет полей.
Отмечает начало действий пользователя.
AudioTranscriptionConfig
Конфигурация расшифровки аудио.
| Поля | |
|---|---|
languageCodes[] |
Необязательное поле. Коды языков по стандарту BCP-47, которые указывают на языки, используемые в аудио. Если не указано или пустое, по умолчанию используется автоматическое определение языка. |
customVocabulary[] |
Необязательное поле. Список фраз из пользовательского словаря, чтобы модель распознавания речи отдавала предпочтение определенным терминам (названиям продуктов, именам собственным, жаргону). |
wordTimestamp |
Необязательное поле. Настраивает создание временных меток на уровне слов. |
diarization |
Необязательное поле. Настраивает разделение говорящих. |
mode |
Необязательное поле. Настраивает режим расшифровки. Допустимые значения: |
Режим
Режим расшифровки.
| Перечисления | |
|---|---|
MODE_UNSPECIFIED |
Режим транскрибирования не указан. |
VERBATIM |
Режим точной расшифровки. |
SMART |
Умный режим расшифровки. |
AutomaticActivityDetection
Настраивает автоматическое обнаружение действий.
| Поля | |
|---|---|
disabled |
Необязательное поле. Если параметр включен (по умолчанию), обнаруженный голосовой и текстовый ввод считается активностью. Если она отключена, клиент должен отправлять сигналы активности. |
startOfSpeechSensitivity |
Необязательное поле. Определяет вероятность обнаружения речи. |
prefixPaddingMs |
Необязательное поле. Необходимая продолжительность распознанной речи до начала речи. Чем ниже это значение, тем чувствительнее обнаружение начала речи и тем более короткие фразы могут быть распознаны. Однако при этом возрастает вероятность ложноположительных результатов. |
endOfSpeechSensitivity |
Необязательное поле. Определяет вероятность того, что распознанная речь закончилась. |
silenceDurationMs |
Необязательное поле. Требуемая продолжительность обнаруженной неречевой части (например, тишины) до фиксации конца речи. Чем больше это значение, тем дольше могут быть паузы в речи без прерывания действий пользователя, но при этом увеличится задержка модели. |
BidiGenerateContentClientContent
Дополнительное обновление текущего диалога, полученное от клиента. Весь контент из этого раздела безусловно добавляется в историю чата и используется в запросе к модели для генерации контента.
Если вы напишете сообщение, текущая генерация модели будет прервана.
| Поля | |
|---|---|
turns[] |
Необязательное поле. Контент, добавленный к текущему разговору с моделью. Для запросов с одним ходом это один экземпляр. Для многоходовых запросов это повторяющееся поле, которое содержит историю разговора и последний запрос. |
turnComplete |
Необязательное поле. Если значение равно true, это означает, что при создании контента на сервере нужно использовать накопленный запрос. В противном случае сервер ожидает дополнительные сообщения, прежде чем начать генерацию. |
BidiGenerateContentRealtimeInput
Ввод пользователя, который отправляется в реальном времени.
Разные типы данных (аудио, видео и текст) обрабатываются как параллельные потоки. Порядок следования этих потоков не гарантируется.
Она отличается от BidiGenerateContentClientContent в нескольких аспектах:
- Можно отправлять непрерывно, не прерывая генерацию модели.
- Если вам нужно смешать данные, чередующиеся между
BidiGenerateContentClientContentиBidiGenerateContentRealtimeInput, сервер попытается оптимизировать ответ, но не гарантирует его. - Конец хода не указывается явно, а определяется по действиям пользователя (например, по окончании речи).
- Данные обрабатываются постепенно, чтобы модель могла быстро начать генерировать ответ.
| Поля | |
|---|---|
mediaChunks[] |
Необязательное поле. Встроенные байты данных для медиавхода. Несколько элементов УСТАРЕЛО. Вместо него используйте |
audio |
Необязательное поле. Они формируют аудиопоток в реальном времени. |
video |
Необязательное поле. Они формируют видеопоток в реальном времени. |
activityStart |
Необязательное поле. Отмечает начало действий пользователя. Этот параметр можно передавать, только если отключено автоматическое обнаружение действий (на стороне сервера). |
activityEnd |
Необязательное поле. Отмечает конец действий пользователя. Этот параметр можно передавать, только если отключено автоматическое обнаружение действий (на стороне сервера). |
mediaResolution |
Необязательное поле. Разрешение медиафайла. Если не указано, используется |
audioStreamEnd |
Необязательное поле. Указывает, что аудиопоток завершился, например потому что микрофон был отключен. Этот параметр следует отправлять, только если включено автоматическое обнаружение действий (оно включено по умолчанию). Клиент может возобновить трансляцию, отправив звуковое сообщение. |
text |
Необязательное поле. Они формируют поток текста, вводимого в реальном времени. |
BidiGenerateContentServerContent
Дополнительное обновление сервера, сгенерированное моделью в ответ на сообщения клиента.
Контент генерируется как можно быстрее, а не в реальном времени. Клиенты могут буферизовать и воспроизводить его в реальном времени.
| Поля | |
|---|---|
generationComplete |
Используется только для вывода. Если задано значение true, это означает, что модель завершила генерацию. Если модель прервана во время генерации, в прерванном ходе не будет сообщения generation_complete. Вместо этого будет сообщение interrupted > turn_complete. Если модель предполагает воспроизведение в реальном времени, между событиями generation_complete и turn_complete будет задержка, поскольку модель будет ждать завершения воспроизведения. |
turnComplete |
Используется только для вывода. Если значение равно true, это означает, что модель завершила свой ход. Генерация начнется только в ответ на дополнительные сообщения клиента. Обратите внимание, что если включена отправка отчетов о статусе воспроизведения, это событие будет регистрироваться только тогда, когда статус воспроизведения указывает на то, что оно завершено. Статус воспроизведения того же поколения будет игнорироваться. |
interrupted |
Используется только для вывода. Если значение равно true, это означает, что сообщение клиента прервало текущую генерацию модели. Если клиент воспроизводит контент в реальном времени, это хороший сигнал для остановки и очистки текущей очереди воспроизведения. |
groundingMetadata |
Используется только для вывода. Метаданные, на основе которых был создан контент. |
inputTranscription |
Используется только для вывода. Введите расшифровку аудио. Транскрипция отправляется независимо от других сообщений сервера, поэтому порядок их получения не гарантируется. |
interimInputTranscription |
Используется только для вывода. Транскрипция с низкой задержкой обновляется, пока пользователь говорит. Это поле часто обновляется. |
outputTranscription |
Используется только для вывода. Вывод расшифровки аудио. Эти транскрипции являются частью выходных данных сервера. Последняя расшифровка реплики отправляется до |
urlContextMetadata |
|
waitingForInput |
Используется только для вывода. Если значение равно true, это означает, что модель не генерирует контент, поскольку ожидает дополнительный ввод от пользователя, например продолжения разговора. |
interactionStatus |
Используется только для вывода. Текущий статус активности сеанса. Всегда отправляется вместе с |
modelTurn |
Используется только для вывода. Контент, сгенерированный моделью в рамках текущего диалога с пользователем. |
BidiGenerateContentServerMessage
Сообщение с ответом на вызов BidiGenerateContent.
| Поля | |
|---|---|
usageMetadata |
Используется только для вывода. Метаданные об использовании ответа или ответов. |
voiceActivity |
Используется только для вывода. В аудиопотоке обнаружена голосовая активность. |
Объединенное поле messageType. Тип сообщения. messageType может иметь одно из следующих значений: |
|
setupComplete |
Используется только для вывода. Отправляется в ответ на сообщение |
serverContent |
Используется только для вывода. Контент, сгенерированный моделью в ответ на сообщения клиента. |
toolCall |
Используется только для вывода. Запрос к клиенту на выполнение |
toolCallCancellation |
Используется только для вывода. Уведомление для клиента о том, что ранее выданный |
goAway |
Используется только для вывода. Уведомление о том, что сервер скоро отключится. |
sessionResumptionUpdate |
Используется только для вывода. Обновление состояния возобновления сеанса. |
BidiGenerateContentSetup
Сообщение, которое будет отправлено в первый (и только в первый) BidiGenerateContentClientMessage. Содержит конфигурацию, которая будет применяться на протяжении всего RPC-вызова потоковой передачи.
Клиентам следует дождаться сообщения от BidiGenerateContentSetupComplete, прежде чем отправлять дополнительные сообщения.
| Поля | |
|---|---|
model |
Обязательно. Название ресурса модели. Он будет использоваться в качестве идентификатора модели. Формат: |
generationConfig |
Необязательное поле. Конфигурация генерации. Не поддерживаются следующие поля:
|
systemInstruction |
Необязательное поле. Системные инструкции для модели, предоставленные пользователем. Примечание. В частях можно использовать только текст. Каждая часть будет представлена в отдельном абзаце. |
tools[] |
Необязательное поле. Список
|
realtimeInputConfig |
Необязательное поле. Настраивает обработку входных данных в реальном времени. |
sessionResumption |
Необязательное поле. Настраивает механизм возобновления сеанса. Если он указан, сервер будет отправлять сообщения |
contextWindowCompression |
Необязательное поле. Настраивает механизм сжатия окна контекста. Если контекст превышает заданную длину, сервер автоматически уменьшает его размер. |
inputAudioTranscription |
Необязательное поле. Если задано, включает расшифровку голосового ввода. Расшифровка будет выполнена на языке аудиозаписи, если он задан. |
outputAudioTranscription |
Необязательное поле. Если задано, включает расшифровку аудиовыхода модели. Расшифровка соответствует языковому коду, указанному для выходного аудио, если он настроен. |
proactivity |
Необязательное поле. Настраивает проактивность модели. Это позволяет модели проактивно реагировать на входные данные и игнорировать нерелевантные входные данные. |
historyConfig |
Необязательное поле. Настраивает обмен историей между клиентом и сервером. |
labels |
Необязательное поле. Ярлыки с пользовательскими метаданными для запроса. Необязательное поле. Ярлыки должны соответствовать стандартным требованиям к унифицированным ярлыкам Cloud: ключи ярлыков должны начинаться с буквы. – Ключи и значения ярлыков могут содержать не более 63 символов (кодовых точек Unicode) и состоять только из строчных букв, цифр, символов подчеркивания и тире. Можно использовать буквы английского и других алфавитов. Использование: идентификаторы безопасности от агрегаторов.Используйте ключ |
BidiGenerateContentSetupComplete
У этого типа нет полей.
Отправляется в ответ на сообщение BidiGenerateContentSetup от клиента.
BidiGenerateContentToolCall
Запрос к клиенту на выполнение functionCalls и возврат ответов с соответствующими id.
| Поля | |
|---|---|
functionCalls[] |
Используется только для вывода. Вызов функции, который нужно выполнить. |
BidiGenerateContentToolCallCancellation
Уведомление для клиента о том, что ранее выданный ToolCallMessage с указанными ids не должен был быть выполнен и должен быть отменен. Если вызовы функций привели к побочным эффектам, клиенты могут попытаться отменить их. Это сообщение появляется только в тех случаях, когда клиенты прерывают ход сервера.
| Поля | |
|---|---|
ids[] |
Используется только для вывода. Идентификаторы вызовов инструментов, которые нужно отменить. |
BidiGenerateContentToolResponse
Ответ, сгенерированный клиентом на запрос ToolCall, полученный от сервера. Отдельные объекты FunctionResponse сопоставляются с соответствующими объектами FunctionCall по полю id.
Обратите внимание, что в API GenerateContent для унарных вызовов и потоковой передачи на стороне сервера вызов функций происходит путем обмена частями Content, а в API GenerateContent для двунаправленных вызовов – с помощью специального набора сообщений.
| Поля | |
|---|---|
functionResponses[] |
Необязательное поле. Ответ на вызовы функций. |
BidiGenerateContentTranscription
Расшифровка аудио (входного или выходного).
| Поля | |
|---|---|
text |
Текст расшифровки. |
languageCode |
Код языка транскрипции по стандарту BCP-47. |
startOffset |
Необязательное поле. Смещение начала расшифровки относительно начала аудиозаписи. |
endOffset |
Необязательное поле. Смещение конца расшифровки относительно начала аудио. |
ContextWindowCompressionConfig
Включает сжатие контекстного окна – механизм управления контекстным окном модели, чтобы оно не превышало заданную длину.
| Поля | |
|---|---|
Объединенное поле compressionMechanism. Механизм сжатия окна контекста. compressionMechanism может иметь одно из следующих значений: |
|
slidingWindow |
Механизм скользящего окна. |
triggerTokens |
Количество токенов (до выполнения хода), необходимое для запуска сжатия окна контекста. Это позволяет сбалансировать качество и задержку, поскольку более короткие окна контекста могут привести к более быстрым ответам модели. Однако любая операция сжатия приводит к временному увеличению задержки, поэтому ее не следует запускать слишком часто. Если значение не задано, по умолчанию используется 80% от лимита контекстного окна модели. Остальные 20% будут использованы для следующего запроса пользователя или ответа модели. |
EndSensitivity
Определяет, как обнаруживается конец речи.
| Перечисления | |
|---|---|
END_SENSITIVITY_UNSPECIFIED |
Значение по умолчанию – END_SENSITIVITY_HIGH. |
END_SENSITIVITY_HIGH |
Автоматическое определение чаще завершает речь. |
END_SENSITIVITY_LOW |
При автоматическом определении речи она реже обрывается. |
GoAway
Уведомление о том, что сервер скоро отключится.
| Поля | |
|---|---|
timeLeft |
Оставшееся время до завершения подключения будет указано как ABORTED (Прервано). Продолжительность никогда не будет меньше минимального значения, заданного для модели. Это значение указывается вместе с ограничениями частоты запросов для модели. |
HistoryConfig
Настройки истории.
Это сообщение включено в конфигурацию сеанса как BidiGenerateContentSetup.historyConfig. Настраивает обмен сообщениями истории.
| Поля | |
|---|---|
initialHistoryInClientContent |
Необязательное поле. Если указано значение true, после отправки |
InteractionStatus
Разные состояния активности сеанса. Это поле всегда отправляется вместе с turnComplete, чтобы указать, завершил ли сервер обработку.
| Перечисления | |
|---|---|
INTERACTION_STATUS_UNSPECIFIED |
Статус взаимодействия не указан. |
IN_PROGRESS |
Сервер все ещё обрабатывает ввод пользователя или выполняет фоновые рассуждения. Может быть сгенерирован дополнительный контент. |
REQUIRES_ACTION |
Устаревший параметр. Вместо него используйте IDLE. |
IDLE |
Сервер завершил все процессы и фоновые рассуждения. |
ProactivityConfig
Конфигурация для функций проактивности.
| Поля | |
|---|---|
proactiveAudio |
Необязательное поле. Если параметр включен, модель может отказаться отвечать на последний запрос. Например, это позволяет модели игнорировать речь вне контекста или молчать, если пользователь ещё не сделал запрос. |
RealtimeInputConfig
Настраивает поведение при вводе данных в реальном времени в BidiGenerateContent.
| Поля | |
|---|---|
automaticActivityDetection |
Необязательное поле. Если правило не задано, автоматическое обнаружение действий включено по умолчанию. Если автоматическое обнаружение голоса отключено, клиент должен отправлять сигналы активности. |
activityHandling |
Необязательное поле. Определяет, какое влияние оказывает активность. |
turnCoverage |
Необязательное поле. Определяет, какие входные данные включаются в ход пользователя. |
interimTranscriptTimestampEnabled |
Необязательное поле. Настраивает временные метки расшифровки. |
SessionResumptionConfig
Конфигурация возобновления сеанса.
Это сообщение включено в конфигурацию сеанса как BidiGenerateContentSetup.sessionResumption. Если настроено, сервер будет отправлять сообщения SessionResumptionUpdate.
| Поля | |
|---|---|
handle |
Дескриптор предыдущего сеанса. Если его нет, создается новый сеанс. Дескрипторы сеансов берутся из значений |
SessionResumptionUpdate
Обновление состояния возобновления сеанса.
Отправляется, только если задано значение BidiGenerateContentSetup.sessionResumption.
| Поля | |
|---|---|
newHandle |
Новый дескриптор, представляющий состояние, которое можно возобновить. Пусто, если |
resumable |
Значение True, если текущий сеанс можно возобновить. Возобновить сеанс можно не в любой момент. Например, когда модель выполняет вызовы функций или генерирует контент. Если возобновить сеанс (используя токен сеанса) в таком состоянии, часть данных будет потеряна. В таких случаях атрибут |
SlidingWindow
Метод SlidingWindow работает, отбрасывая контент в начале окна контекста. Контекст всегда будет начинаться с начала хода пользователя. Системные инструкции и любые BidiGenerateContentSetup.prefixTurns всегда будут в начале результата.
| Поля | |
|---|---|
targetTokens |
Целевое количество токенов, которые нужно сохранить. Значение по умолчанию – trigger_tokens/2. При удалении частей окна контекста временно увеличивается задержка, поэтому это значение следует откалибровать, чтобы избежать частых операций сжатия. |
StartSensitivity
Определяет, как обнаруживается начало речи.
| Перечисления | |
|---|---|
START_SENSITIVITY_UNSPECIFIED |
Значение по умолчанию – START_SENSITIVITY_HIGH. |
START_SENSITIVITY_HIGH |
Автоматическое определение будет чаще обнаруживать начало речи. |
START_SENSITIVITY_LOW |
Автоматическое определение будет реже обнаруживать начало речи. |
TurnCoverage
Варианты того, какие входные данные включены в ход пользователя.
| Перечисления | |
|---|---|
TURN_COVERAGE_UNSPECIFIED |
Если не указано, режим работы по умолчанию выбирается на основе модели. Например, для Gemini 2.5 по умолчанию используется значение TURN_INCLUDES_ONLY_ACTIVITY, а для Gemini 3.1 и более поздних версий – TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO. |
TURN_INCLUDES_ONLY_ACTIVITY |
Включает действия с момента последнего хода, исключая бездействие (например, тишину в аудиопотоке). |
TURN_INCLUDES_ALL_INPUT |
Включает все входные данные в реальном времени с момента последнего хода, в том числе бездействие (например, тишину в аудиопотоке). |
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO |
Включает аудиозапись и все видео с момента последнего хода. При автоматическом обнаружении активности аудиоактивность означает речь и не включает тишину. |
TranslationConfig
Конфигурация для функций перевода.
| Поля | |
|---|---|
targetLanguageCode |
Обязательно. Язык, на который нужно перевести текст. Допустимые значения – коды языков по стандарту BCP-47 (например, "en", "es", "fr"). |
echoTargetLanguage |
Необязательное поле. Если указано значение true, модель будет генерировать аудио, когда говорит на языке перевода, то есть повторять входные данные. Если задано значение False, аудио на языке перевода не будет создано. |
UrlContextMetadata
Метаданные, связанные с инструментом получения контекста URL.
| Поля | |
|---|---|
urlMetadata[] |
Список контекстов URL. |
UsageMetadata
Метаданные об использовании ответов.
| Поля | |
|---|---|
promptTokenCount |
Используется только для вывода. Количество токенов в запросе. Если задано значение |
cachedContentTokenCount |
Количество токенов в кешированной части запроса (кешированном контенте). |
responseTokenCount |
Используется только для вывода. Общее количество токенов во всех сгенерированных вариантах ответа. |
toolUsePromptTokenCount |
Используется только для вывода. Количество токенов в запросах на использование инструментов. |
thoughtsTokenCount |
Используется только для вывода. Количество токенов рассуждений для моделей, которые рассуждают. |
totalTokenCount |
Используется только для вывода. Общее количество токенов в запросе на создание (запрос + варианты ответов). |
promptTokensDetails[] |
Используется только для вывода. Список модальностей, которые были обработаны во входных данных запроса. |
cacheTokensDetails[] |
Используется только для вывода. Список модальностей кешированного контента в запросе. |
responseTokensDetails[] |
Используется только для вывода. Список модальностей, которые были возвращены в ответе. |
toolUsePromptTokensDetails[] |
Используется только для вывода. Список модальностей, которые были обработаны для входных данных запроса на использование инструмента. |
VoiceActivity
В аудиопотоке обнаружена голосовая активность.
| Поля | |
|---|---|
type |
Используется только для вывода. Тип сигнала VAD(обнаружения голосовой активности). |
audioOffset |
Используется только для вывода. Время обнаружения голосовой активности в аудиопотоке относительно его начала. |
Тип
Тип сигнала VAD.
| Перечисления | |
|---|---|
TYPE_UNSPECIFIED |
Значение по умолчанию – UNSPECIFIED. |
ACTIVITY_START |
Сигнал начала предложения. |
ACTIVITY_END |
Сигнал конца предложения. |
Временные токены аутентификации
Временные токены аутентификации можно получить, вызвав метод AuthTokenService.CreateToken, а затем использовать с методом GenerativeService.BidiGenerateContentConstrained, передав токен в параметре запроса access_token или в заголовке HTTP Authorization с префиксом "Token".
CreateAuthTokenRequest
Создайте временный токен аутентификации.
| Поля | |
|---|---|
authToken |
Обязательно. Токен, который нужно создать. |
AuthToken
Запрос на создание временного токена аутентификации.
| Поля | |
|---|---|
name |
Используется только для вывода. Идентификатор. Сам токен. |
expireTime |
Необязательное поле. Используется только для ввода. Не меняется. Необязательное время, после которого при использовании полученного токена сообщения в сеансах BidiGenerateContent будут отклоняться. (Gemini может закрыть сеанс раньше.) Если значение не задано, по умолчанию используется время через 30 минут. Если задано, это значение должно быть не более чем на 20 часов в будущем. |
newSessionExpireTime |
Необязательное поле. Используется только для ввода. Не меняется. Время, после которого новые сеансы Live API, использующие токен, полученный в результате этого запроса, будут отклоняться. Если не задать значение, в будущем по умолчанию будет использоваться 60 секунд. Если задано, это значение должно быть не более чем на 20 часов больше текущего времени. |
fieldMask |
Необязательное поле. Используется только для ввода. Не меняется. Если поле field_mask пустое и Если поле field_mask пустое и в запросе присутствует Если поле field_mask не пустое, то соответствующие поля из |
Объединенное поле config. Конфигурация, относящаяся к определенному методу, для полученного токена. config может иметь одно из следующих значений: |
|
bidiGenerateContentSetup |
Необязательное поле. Используется только для ввода. Не меняется. Конфигурация, относящаяся к |
uses |
Необязательное поле. Используется только для ввода. Не меняется. Сколько раз можно использовать токен. Если это значение равно нулю, ограничение не применяется. Возобновление сеанса Live API не считается использованием. Если значение не указано, по умолчанию используется 1. |
Дополнительная информация о распространенных типах
Подробнее о часто используемых типах ресурсов API: Blob, Content, FunctionCall, FunctionResponse, GenerationConfig, GroundingMetadata, ModalityTokenCount и Tool – рассказывается в разделе Создание контента.