API Gemini поддерживает создание контента с использованием изображений, аудио, кода, инструментов и многого другого. Подробнее о каждой из этих функций читайте далее и изучите примеры кода, ориентированные на конкретные задачи, или ознакомьтесь с подробными руководствами.
- Генерация текста
 - Зрение
 - Аудио
 - Вложения
 - Длинный контекст
 - Выполнение кода
 - Режим JSON
 - Вызов функции
 - Системные инструкции
 
Метод: models.generateContent
 Генерирует ответ модели на основе входных данных GenerateContentRequest . Подробную информацию об использовании см. в руководстве по генерации текста . Возможности ввода различаются в зависимости от модели, включая настроенные модели. Подробную информацию см. в руководстве по моделям и руководстве по настройке .
Конечная точка
постhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateContentПараметры пути
string model Обязательно. Имя Model , используемой для создания дополнения.
 Формат: models/{model} . Он имеет вид models/{model} . 
Текст запроса
Тело запроса содержит данные со следующей структурой:
tools[]object ( Tool ) Необязательно. Список Tools Model может использовать для генерации следующего ответа.
 Tool — это фрагмент кода, позволяющий системе взаимодействовать с внешними системами для выполнения действия или набора действий, выходящих за рамки знаний и области действия Model . Поддерживаемые Tool : Function и codeExecution . Подробнее см. в руководствах по вызову функций и выполнению кода . 
toolConfigobject ( ToolConfig ) Необязательно. Конфигурация инструмента для любого Tool указанного в запросе. Пример использования см. в руководстве по вызову функций . 
safetySettings[]object ( SafetySetting ) Необязательно. Список уникальных экземпляров SafetySetting для блокировки небезопасного контента.
 Это будет применяться к GenerateContentRequest.contents и GenerateContentResponse.candidates . Для каждого типа SafetyCategory не должно быть более одной настройки. API будет блокировать любой контент и ответы, не соответствующие пороговым значениям, установленным этими настройками. Этот список переопределяет настройки по умолчанию для каждой SafetyCategory , указанной в safetySettings. Если в списке нет SafetySetting для заданной SafetyCategory , API будет использовать настройку безопасности по умолчанию для этой категории. Поддерживаются категории вреда HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY. Подробную информацию о доступных настройках безопасности см. в руководстве . Также см. руководство по безопасности , чтобы узнать, как учитывать вопросы безопасности в ваших приложениях ИИ. 
object ( Content ) systemInstructionНеобязательно. Системные инструкции, заданные разработчиком. В настоящее время доступен только текст.
generationConfigobject ( GenerationConfig )Необязательно. Параметры конфигурации для создания модели и вывода данных.
string cachedContent Необязательно. Имя кэшированного контента, который будет использоваться в качестве контекста для прогнозирования. Формат: cachedContents/{cachedContent} 
Пример запроса
Текст
Питон
Node.js
Идти
Оболочка
Ява
Изображение
Питон
Node.js
Идти
Оболочка
Ява
Аудио
Питон
Node.js
Идти
Оболочка
Видео
Питон
Node.js
Идти
Оболочка
Питон
Идти
Оболочка
Чат
Питон
Node.js
Идти
Оболочка
Ява
Кэш
Питон
Node.js
Идти
Настроенная модель
Питон
Режим JSON
Питон
Node.js
Идти
Оболочка
Ява
Выполнение кода
Питон
Идти
Ява
Вызов функции
Питон
Идти
Node.js
Оболочка
Ява
Конфигурация генерации
Питон
Node.js
Идти
Оболочка
Ява
Настройки безопасности
Питон
Node.js
Идти
Оболочка
Ява
Системная инструкция
Питон
Node.js
Идти
Оболочка
Ява
Тело ответа
 В случае успеха тело ответа содержит экземпляр GenerateContentResponse . 
Метод: models.streamGenerateContent
 Формирует потоковый ответ из модели, получив входные данные GenerateContentRequest .
Конечная точка
постhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:streamGenerateContentПараметры пути
string model Обязательно. Имя Model , используемой для создания дополнения.
 Формат: models/{model} . Он имеет вид models/{model} . 
Текст запроса
Тело запроса содержит данные со следующей структурой:
tools[]object ( Tool ) Необязательно. Список Tools Model может использовать для генерации следующего ответа.
 Tool — это фрагмент кода, позволяющий системе взаимодействовать с внешними системами для выполнения действия или набора действий, выходящих за рамки знаний и области действия Model . Поддерживаемые Tool : Function и codeExecution . Подробнее см. в руководствах по вызову функций и выполнению кода . 
toolConfigobject ( ToolConfig ) Необязательно. Конфигурация инструмента для любого Tool указанного в запросе. Пример использования см. в руководстве по вызову функций . 
safetySettings[]object ( SafetySetting ) Необязательно. Список уникальных экземпляров SafetySetting для блокировки небезопасного контента.
 Это будет применяться к GenerateContentRequest.contents и GenerateContentResponse.candidates . Для каждого типа SafetyCategory не должно быть более одной настройки. API будет блокировать любой контент и ответы, не соответствующие пороговым значениям, установленным этими настройками. Этот список переопределяет настройки по умолчанию для каждой SafetyCategory , указанной в safetySettings. Если в списке нет SafetySetting для заданной SafetyCategory , API будет использовать настройку безопасности по умолчанию для этой категории. Поддерживаются категории вреда HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY. Подробную информацию о доступных настройках безопасности см. в руководстве . Также см. руководство по безопасности , чтобы узнать, как учитывать вопросы безопасности в ваших приложениях ИИ. 
object ( Content ) systemInstructionНеобязательно. Системные инструкции, заданные разработчиком. В настоящее время доступен только текст.
generationConfigobject ( GenerationConfig )Необязательно. Параметры конфигурации для создания модели и вывода данных.
string cachedContent Необязательно. Имя кэшированного контента, который будет использоваться в качестве контекста для прогнозирования. Формат: cachedContents/{cachedContent} 
Пример запроса
Текст
Питон
Node.js
Идти
Оболочка
Ява
Изображение
Питон
Node.js
Идти
Оболочка
Ява
Аудио
Питон
Идти
Оболочка
Видео
Питон
Node.js
Идти
Оболочка
Питон
Идти
Оболочка
Чат
Питон
Node.js
Идти
Оболочка
Тело ответа
 В случае успеха тело ответа содержит поток экземпляров GenerateContentResponse . 
GenerateContentResponse
Ответ модели, поддерживающей несколько возможных ответов.
 Рейтинги безопасности и фильтрация контента отображаются как для запроса в GenerateContentResponse.prompt_feedback , так и для каждого кандидата в finishReason и safetyRatings . API: - Возвращает либо всех запрошенных кандидатов, либо ни одного. - Не возвращает ни одного кандидата, только если в запросе есть ошибка (проверьте promptFeedback ). - Сообщает отзывы по каждому кандидату в finishReason и safetyRatings .
candidates[]object ( Candidate )Ответы кандидатов от модели.
promptFeedbackobject ( PromptFeedback )Возвращает обратную связь по подсказке, связанную с фильтрами контента.
usageMetadataobject ( UsageMetadata )Только вывод. Метаданные об использовании токенов запросов на генерацию.
string modelVersionТолько выходные данные. Версия модели, использованная для генерации ответа.
string responseIdТолько вывод. responseId используется для идентификации каждого ответа.
| JSON-представление | 
|---|
{ "candidates": [ { object (  | 
PromptFeedback
 Набор метаданных обратной связи, указанный в приглашении GenerateContentRequest.content .
blockReasonenum ( BlockReason )Необязательно. Если установлено, запрос был заблокирован, и кандидаты не возвращаются. Перефразируйте запрос.
safetyRatings[]object ( SafetyRating )Оценки безопасности подсказки. В каждой категории может быть не более одной оценки.
| JSON-представление | 
|---|
{ "blockReason": enum (  | 
BlockReason
Указывает причину, по которой запрос был заблокирован.
| Перечисления | |
|---|---|
 BLOCK_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. | 
 SAFETY |  Запрос был заблокирован по соображениям безопасности. Проверьте safetyRatings , чтобы понять, какая категория безопасности его заблокировала. | 
 OTHER | Запрос был заблокирован по неизвестным причинам. | 
 BLOCKLIST | Запрос был заблокирован из-за терминов, включенных в список заблокированных терминов. | 
 PROHIBITED_CONTENT | Запрос был заблокирован из-за запрещенного контента. | 
 IMAGE_SAFETY | Кандидаты заблокированы из-за небезопасного контента, создающего изображения. | 
ИспользованиеМетаданных
Метаданные об использовании токена запроса на генерацию.
promptTokenCountinteger Количество токенов в запросе. Если задано значение cachedContent , это по-прежнему общий эффективный размер запроса, то есть он включает количество токенов в кэшированном контенте. 
cachedContentTokenCountintegerКоличество токенов в кэшированной части приглашения (кэшированное содержимое)
candidatesTokenCountintegerОбщее количество токенов среди всех сгенерированных кандидатов на ответы.
toolUsePromptTokenCountintegerТолько вывод. Количество токенов, присутствующих в подсказках по использованию инструментов.
thoughtsTokenCountintegerТолько вывод. Количество токенов мыслей для моделей мышления.
totalTokenCountintegerОбщее количество токенов для запроса на генерацию (подсказка + кандидаты на ответ).
object ( ModalityTokenCount ) promptTokensDetails[]Только вывод. Список модальностей, обработанных при вводе запроса.
cacheTokensDetails[]object ( ModalityTokenCount )Только вывод. Список модальностей кэшированного содержимого во входных данных запроса.
candidatesTokensDetails[]object ( ModalityTokenCount )Только вывод. Список модальностей, возвращенных в ответе.
toolUsePromptTokensDetails[]object ( ModalityTokenCount )Только вывод. Список модальностей, обработанных для входных данных запросов на использование инструментов.
| JSON-представление | 
|---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "toolUsePromptTokenCount": integer, "thoughtsTokenCount": integer, "totalTokenCount": integer, "promptTokensDetails": [ { object (  | 
Кандидат
- JSON-представление
 - FinishReason
 - GroundingAttribution
 - AttributionSourceId
 - GroundingPassageId
 - SemanticRetrieverChunk
 - GroundingMetadata
 - SearchEntryPoint
 - GroundingChunk
 - Интернет
 - ПолученныйКонтекст
 - Карты
 - МестоОтветИсточники
 - Обзор фрагмента
 - GroundingSupport
 - Сегмент
 - ИзвлечениеМетаданных
 - LogprobsResult
 - Лучшие кандидаты
 - Кандидат
 - UrlContextMetadata
 - UrlMetadata
 - UrlRetrievalStatus
 
Кандидат на ответ, сгенерированный на основе модели.
contentobject ( Content )Только вывод. Сгенерированный контент, возвращаемый моделью.
finishReasonenum ( FinishReason )Необязательно. Только вывод. Причина, по которой модель перестала генерировать токены.
Если пусто, модель не прекратила генерацию токенов.
safetyRatings[]object ( SafetyRating )Список оценок безопасности кандидата на ответ.
В каждой категории может быть максимум один рейтинг.
citationMetadataobject ( CitationMetadata )Только вывод. Информация о цитировании для кандидата, сгенерированного моделью.
 Это поле может быть заполнено информацией о декламации любого текста, входящего в content . Это отрывки, декламируемые из материалов, защищенных авторским правом, в базовых учебных материалах LLM. 
tokenCountintegerТолько вывод. Количество токенов для этого кандидата.
groundingAttributions[]object ( GroundingAttribution )Только выходные данные. Информация об источниках, которые способствовали обоснованному ответу.
 Это поле заполняется для вызовов GenerateAnswer . 
object ( GroundingMetadata ) groundingMetadataТолько вывод. Базовые метаданные для кандидата.
 Это поле заполняется для вызовов GenerateContent . 
number avgLogprobsТолько вывод. Средний логарифм вероятности кандидата.
logprobsResultobject ( LogprobsResult )Только выходные данные. Логарифмические оценки правдоподобия для токенов ответов и топовых токенов.
object ( UrlContextMetadata ) urlContextMetadataТолько вывод. Метаданные, относящиеся к инструменту извлечения контекста URL.
indexintegerТолько вывод. Индекс кандидата в списке кандидатов на ответ.
string finishMessage Необязательно. Только для вывода. Содержит подробную информацию о причине, по которой модель прекратила генерировать токены. Заполняется только при установленном параметре finishReason . 
| JSON-представление | 
|---|
{ "content": { object (  | 
FinishReason
Определяет причину, по которой модель прекратила генерацию токенов.
| Перечисления | |
|---|---|
 FINISH_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. | 
 STOP | Естественная точка остановки модели или предусмотренная последовательность останова. | 
 MAX_TOKENS | Достигнуто максимальное количество токенов, указанное в запросе. | 
 SAFETY | Содержание кандидата на ответ было помечено по соображениям безопасности. | 
 RECITATION | Содержание кандидата на ответ было помечено по причине декламации. | 
 LANGUAGE | Содержимое варианта ответа было помечено как использующее неподдерживаемый язык. | 
 OTHER | Причина неизвестна. | 
 BLOCKLIST | Генерация токенов остановлена, поскольку контент содержит запрещенные термины. | 
 PROHIBITED_CONTENT | Генерация токенов остановлена из-за потенциального содержания запрещенного контента. | 
 SPII | Генерация токенов остановлена, поскольку контент потенциально содержит конфиденциальную персональную информацию (SPII). | 
 MALFORMED_FUNCTION_CALL | Вызов функции, сгенерированный моделью, недействителен. | 
 IMAGE_SAFETY | Генерация токенов остановлена, поскольку сгенерированные изображения содержат нарушения безопасности. | 
 IMAGE_PROHIBITED_CONTENT | Генерация изображений остановлена, поскольку созданные изображения содержат другой запрещенный контент. | 
 IMAGE_OTHER | Генерация изображений остановлена из-за других проблем. | 
 NO_IMAGE | Ожидалось, что модель сгенерирует изображение, но ничего не было создано. | 
 IMAGE_RECITATION | Генерация изображения остановлена из-за декламации. | 
 UNEXPECTED_TOOL_CALL | Модель сгенерировала вызов инструмента, но в запросе не было включено ни одного инструмента. | 
 TOO_MANY_TOOL_CALLS | Модель вызвала слишком много инструментов подряд, поэтому система прекратила выполнение. | 
GroundingAttribution
Указание источника, способствовавшего получению ответа.
object ( AttributionSourceId ) sourceIdТолько вывод. Идентификатор источника, способствующего этой атрибуции.
contentobject ( Content )Обоснование исходного контента, составляющего эту атрибуцию.
| JSON-представление | 
|---|
{ "sourceId": { object (  | 
AttributionSourceId
Идентификатор источника, способствующего данной атрибуции.
Union type sourcesource может быть только одним из следующих: groundingPassageobject ( GroundingPassageId )Идентификатор встроенного отрывка.
object ( SemanticRetrieverChunk ) semanticRetrieverChunk Идентификатор Chunk , полученного с помощью семантического ретривера. 
| JSON-представление | 
|---|
{ // source "groundingPassage": { object (  | 
GroundingPassageId
 Идентификатор части внутри GroundingPassage .
string passageId Только вывод. Идентификатор прохода, соответствующий GroundingPassage.id GenerateAnswerRequest . 
partIndexinteger Только вывод. Индекс части в GroundingPassage.content GenerateAnswerRequest . 
| JSON-представление | 
|---|
{ "passageId": string, "partIndex": integer }  | 
SemanticRetrieverChunk
 Идентификатор Chunk , полученного с помощью Semantic Retriever, указанный в GenerateAnswerRequest с использованием SemanticRetrieverConfig .
sourcestring Только вывод. Имя источника, соответствующее SemanticRetrieverConfig.source запроса. Пример: corpora/123 или corpora/123/documents/abc 
chunkstring Только вывод. Имя Chunk содержащего атрибутированный текст. Пример: corpora/123/documents/abc/chunks/xyz 
| JSON-представление | 
|---|
{ "source": string, "chunk": string }  | 
GroundingMetadata
Метаданные возвращаются клиенту при включении заземления.
groundingChunks[]object ( GroundingChunk )Список подтверждающих ссылок, полученных из указанного источника заземления.
object ( GroundingSupport ) groundingSupports[]Список заземляющих опор.
webSearchQueries[]stringЗапросы веб-поиска для последующего веб-поиска.
searchEntryPointobject ( SearchEntryPoint )Необязательно. Запись в поисковой системе Google для последующих веб-поисков.
retrievalMetadataobject ( RetrievalMetadata )Метаданные, связанные с поиском в заземляющем потоке.
string googleMapsWidgetContextTokenНеобязательно. Имя ресурса токена контекста виджета Google Карт, который можно использовать с виджетом PlacesContextElement для отображения контекстных данных. Заполняется только в том случае, если включена привязка к Google Картам.
| JSON-представление | 
|---|
{ "groundingChunks": [ { object (  | 
SearchEntryPoint
Точка входа в поиск Google.
string renderedContentНеобязательно. Фрагмент веб-контента, который можно встроить в веб-страницу или веб-представление приложения.
sdkBlobstring ( bytes format)Необязательно. JSON-код в кодировке Base64, представляющий собой массив кортежей <поисковый запрос, URL поиска>.
Строка в кодировке base64.
| JSON-представление | 
|---|
{ "renderedContent": string, "sdkBlob": string }  | 
GroundingChunk
Кусок заземления.
chunk_typeUnion typechunk_type может быть только одним из следующих:webobject ( Web )Заземляющий кусок из сети.
retrievedContextobject ( RetrievedContext )Необязательно. Фрагмент заземления из контекста, полученного инструментом поиска файлов.
mapsobject ( Maps )Необязательно. Заземляющий фрагмент из Google Maps.
| JSON-представление | 
|---|
{ // chunk_type "web": { object (  | 
Интернет
Фрагмент из интернета.
string uriURI-ссылка фрагмента.
string titleНазвание фрагмента.
| JSON-представление | 
|---|
{ "uri": string, "title": string }  | 
ПолученныйКонтекст
Фрагмент контекста, извлеченный инструментом поиска файлов.
string uriНеобязательно. URI-ссылка на документ семантического поиска.
string titleНеобязательно. Название документа.
textstringНеобязательно. Текст фрагмента.
| JSON-представление | 
|---|
{ "uri": string, "title": string, "text": string }  | 
Карты
Заземляющий фрагмент из Google Карт. Фрагмент Карт соответствует одному месту.
string uriСсылка URI места.
string titleНазвание места.
textstringТекстовое описание места ответа.
string placeId Это идентификатор места в формате places/{placeId} . Пользователь может использовать этот идентификатор для поиска этого места. 
placeAnswerSourcesobject ( PlaceAnswerSources )Источники, дающие ответы об особенностях определенного места на Картах Google.
| JSON-представление | 
|---|
{
  "uri": string,
  "title": string,
  "text": string,
  "placeId": string,
  "placeAnswerSources": {
    object ( | 
МестоОтветИсточники
Коллекция источников, предоставляющих информацию об особенностях конкретного места на Картах Google. Каждое сообщение PlaceAnswerSources соответствует определённому месту на Картах Google. Инструмент Google Карт использовал эти источники для ответа на вопросы об особенностях места (например, «есть ли в баре Foo Wi-Fi?» или «доступен ли бар Foo для инвалидных колясок?»). В настоящее время мы поддерживаем в качестве источников только фрагменты отзывов.
reviewSnippets[]object ( ReviewSnippet )Фрагменты отзывов, которые используются для формирования ответов об особенностях определенного места в Картах Google.
| JSON-представление | 
|---|
{
  "reviewSnippets": [
    {
      object ( | 
Обзор фрагмента
Содержит фрагмент отзыва пользователя, который отвечает на вопрос об особенностях определенного места в Картах Google.
string reviewIdИдентификатор фрагмента обзора.
string googleMapsUriСсылка, соответствующая отзыву пользователя на Google Maps.
string titleНазвание обзора.
| JSON-представление | 
|---|
{ "reviewId": string, "googleMapsUri": string, "title": string }  | 
GroundingSupport
Поддержка заземления.
groundingChunkIndices[]integerСписок индексов (в «grounding_chunk»), указывающих ссылки, связанные с утверждением. Например, [1,3,4] означает, что grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] — это извлеченный контент, относящийся к утверждению.
number confidenceScores[]Уровень уверенности в опорных данных. Диапазон значений — от 0 до 1. 1 — максимальная уверенность. Этот список должен иметь тот же размер, что и groundingChunkIndices.
segmentobject ( Segment )Сегмент контента, к которому принадлежит эта поддержка.
| JSON-представление | 
|---|
{
  "groundingChunkIndices": [
    integer
  ],
  "confidenceScores": [
    number
  ],
  "segment": {
    object ( | 
Сегмент
Сегмент контента.
partIndexintegerТолько вывод. Индекс объекта Part внутри его родительского объекта Content.
startIndexintegerТолько вывод. Начальный индекс в заданной части, измеряется в байтах. Смещение от начала части включительно, начиная с нуля.
endIndexintegerТолько вывод. Конечный индекс в заданной части, измеряется в байтах. Смещение от начала части, не включая её, начиная с нуля.
textstringТолько вывод. Текст, соответствующий сегменту ответа.
| JSON-представление | 
|---|
{ "partIndex": integer, "startIndex": integer, "endIndex": integer, "text": string }  | 
ИзвлечениеМетаданных
Метаданные, связанные с поиском в заземляющем потоке.
number googleSearchDynamicRetrievalScoreНеобязательно. Оценка, указывающая вероятность того, что информация из поиска Google может помочь в ответе на запрос. Оценка находится в диапазоне [0, 1], где 0 — наименьшая вероятность, а 1 — наибольшая. Эта оценка рассчитывается только при включенном поиске Google Grounding и динамическом поиске. Она будет сравниваться с пороговым значением для определения необходимости запуска поиска Google.
| JSON-представление | 
|---|
{ "googleSearchDynamicRetrievalScore": number }  | 
LogprobsResult
Результат логпроб
topCandidates[]object ( TopCandidates )Длина = общее количество шагов декодирования.
chosenCandidates[]object ( Candidate )Длина = общее количество шагов декодирования. Выбранные кандидаты могут быть в списке topCandidates, а могут и не быть.
number logProbabilitySumСумма логарифмических вероятностей для всех токенов.
| JSON-представление | 
|---|
{ "topCandidates": [ { object (  | 
Лучшие кандидаты
Кандидаты с наивысшими логарифмическими вероятностями на каждом этапе декодирования.
candidates[]object ( Candidate )Сортировано по логарифмической вероятности в порядке убывания.
| JSON-представление | 
|---|
{
  "candidates": [
    {
      object ( | 
Кандидат
Кандидат на получение токена и оценки logprobs.
string tokenЗначение строки токена кандидата.
tokenIdintegerЗначение идентификатора токена кандидата.
number logProbabilityЛогарифм вероятности кандидата.
| JSON-представление | 
|---|
{ "token": string, "tokenId": integer, "logProbability": number }  | 
UrlContextMetadata
Метаданные, связанные с инструментом извлечения контекста URL.
urlMetadata[]object ( UrlMetadata )Список контекстов URL.
| JSON-представление | 
|---|
{
  "urlMetadata": [
    {
      object ( | 
UrlMetadata
Контекст поиска по одному URL.
retrievedUrlstringURL-адрес, полученный инструментом.
urlRetrievalStatusenum ( UrlRetrievalStatus )Статус получения URL.
| JSON-представление | 
|---|
{
  "retrievedUrl": string,
  "urlRetrievalStatus": enum ( | 
UrlRetrievalStatus
Статус получения URL.
| Перечисления | |
|---|---|
 URL_RETRIEVAL_STATUS_UNSPECIFIED | Значение по умолчанию. Это значение не используется. | 
 URL_RETRIEVAL_STATUS_SUCCESS | Получение URL прошло успешно. | 
 URL_RETRIEVAL_STATUS_ERROR | Не удалось получить URL из-за ошибки. | 
 URL_RETRIEVAL_STATUS_PAYWALL | Не удалось получить URL, так как контент находится за платным доступом. | 
 URL_RETRIEVAL_STATUS_UNSAFE | Не удалось получить URL, так как содержимое небезопасно. | 
CitationMetadata
Коллекция ссылок на источники фрагмента контента.
citationSources[]object ( CitationSource )Ссылки на источники для конкретного ответа.
| JSON-представление | 
|---|
{
  "citationSources": [
    {
      object ( | 
Источник цитаты
Ссылка на источник части конкретного ответа.
startIndexintegerНеобязательно. Начало сегмента ответа, относящегося к этому источнику.
Индекс указывает начало сегмента, измеряемое в байтах.
endIndexintegerНеобязательно. Конец атрибутированного сегмента, эксклюзивный.
string uriНеобязательно. URI, который указывается как источник части текста.
string licenseНеобязательно. Лицензия на проект GitHub, указанный в качестве источника сегмента.
Для цитирования кода необходима информация о лицензии.
| JSON-представление | 
|---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string }  | 
GenerationConfig
- JSON-представление
 - Модальность
 - SpeechConfig
 - VoiceConfig
 - Предварительно созданная голосовая конфигурация
 - MultiSpeakerVoiceConfig
 - SpeakerVoiceConfig
 - ThinkingConfig
 - ImageConfig
 - MediaResolution
 
Параметры конфигурации для создания модели и выходных данных. Не все параметры можно настроить для каждой модели.
stopSequences[]string Необязательный. Набор последовательностей символов (до 5), которые остановят генерацию вывода. Если указано, API остановит работу при первом появлении stop_sequence . Последовательность stop не будет включена в ответ. 
string responseMimeType Необязательно. MIME-тип сгенерированного текста-кандидата. Поддерживаемые MIME-типы: text/plain : текстовый вывод (по умолчанию). application/json : ответ JSON в ответах-кандидатах. text/x.enum : ENUM в виде строкового ответа в ответах-кандидатах. Список всех поддерживаемых MIME-типов текста см. в документации . 
responseSchemaobject ( Schema )Необязательно. Выходная схема сгенерированного текста-кандидата. Схемы должны быть подмножеством схемы OpenAPI и могут быть объектами, примитивами или массивами.
 Если задано, также необходимо задать совместимый responseMimeType . Совместимые типы MIME: application/json — схема для ответа JSON. Подробнее см. в руководстве по генерации текста JSON . 
_responseJsonSchemavalue ( Value format) Необязательно. Схема выходных данных сгенерированного ответа. Это альтернатива responseSchema , которая принимает JSON-схему .
 Если установлено, responseSchema необходимо опустить, но responseMimeType обязателен.
Хотя возможна отправка полной JSON-схемы, поддерживаются не все функции. В частности, поддерживаются только следующие свойства:
-  
$id -  
$defs -  
$ref -  
$anchor -  
type -  
format -  
title -  
description -  
enum(для строк и чисел) -  
items -  
prefixItems -  
minItems -  
maxItems -  
minimum -  
maximum -  
anyOf -  
oneOf(интерпретируется так же, какanyOf) -  
properties -  
additionalProperties -  
required 
 Также может быть установлено нестандартное свойство propertyOrdering .
 Циклические ссылки развертываются в ограниченной степени и, как таковые, могут использоваться только в необязательных свойствах. (Свойства, допускающие значение NULL, недостаточны.) Если $ref задан для подсхемы, то никакие другие свойства, за исключением тех, которые начинаются с $ , не могут быть заданы. 
responseJsonSchemavalue ( Value format) Необязательно. Внутренняя информация. Используйте responseJsonSchema вместо этого поля. 
responseModalities[]enum ( Modality )Необязательный параметр. Запрошенные модальности ответа. Представляет набор модальностей, которые модель может вернуть и которые следует ожидать в ответе. Это точное совпадение с модальностями ответа.
Модель может иметь несколько комбинаций поддерживаемых модальностей. Если запрошенные модальности не соответствуют ни одной из поддерживаемых комбинаций, будет возвращена ошибка.
Пустой список эквивалентен запросу только текста.
candidateCountintegerНеобязательно. Количество возвращаемых сгенерированных ответов. Если не задано, по умолчанию будет 1. Обратите внимание, что это не работает для моделей предыдущего поколения (семейство Gemini 1.0).
maxOutputTokensintegerНеобязательно. Максимальное количество токенов для включения в вариант ответа.
 Примечание: значение по умолчанию зависит от модели, см. атрибут Model.output_token_limit Model возвращаемой функцией getModel . 
temperaturenumberНеобязательно. Управляет случайностью выходных данных.
 Примечание: значение по умолчанию зависит от модели, см. атрибут Model.temperature Model возвращаемый функцией getModel .
Значения могут находиться в диапазоне [0,0, 2,0].
number topPНеобязательно. Максимальная кумулятивная вероятность токенов, учитываемая при выборке.
Модель использует комбинированную выборку Top-k и Top-p (ядро).
Токены сортируются на основе присвоенных им вероятностей, так что рассматриваются только наиболее вероятные токены. Выборка Top-k напрямую ограничивает максимальное количество рассматриваемых токенов, в то время как выборка Nucleus ограничивает количество токенов на основе кумулятивной вероятности.
 Примечание: Значение по умолчанию зависит от Model и определяется атрибутом Model.top_p , возвращаемым функцией getModel . Пустой атрибут topK указывает, что модель не применяет выборку top-k и не позволяет устанавливать topK для запросов. 
topKintegerНеобязательно. Максимальное количество токенов, учитываемых при выборке.
 Модели Gemini используют выборку Top-p (ядерную) или комбинацию выборки Top-k и ядерной выборки. Выборка Top-k учитывает набор наиболее вероятных токенов topK . Модели, работающие с выборкой ядра, не позволяют настраивать topK.
 Примечание: Значение по умолчанию зависит от Model и определяется атрибутом Model.top_p , возвращаемым функцией getModel . Пустой атрибут topK указывает, что модель не применяет выборку top-k и не позволяет устанавливать topK для запросов.
seedintegerНеобязательно. Начальное значение, используемое при декодировании. Если не задано, запрос использует случайно сгенерированное начальное значение.
presencePenaltynumberНеобязательно. Штраф за присутствие применяется к logprob-запросам следующего токена, если токен уже был замечен в ответе.
 Этот штраф включается/выключается двоичным способом и не зависит от количества использований токена (после первого). Используйте frequencyPenalty для штрафа, который увеличивается с каждым использованием.
Положительный штраф будет препятствовать использованию токенов, которые уже были использованы в ответе, расширяя словарный запас.
Отрицательный штраф будет стимулировать использование токенов, которые уже были использованы в ответе, уменьшая словарный запас.
frequencyPenaltynumberНеобязательно. Штраф за частоту применяется к logprob следующего токена, умноженный на количество раз, когда каждый токен встречался в ответе на данный момент.
Положительный штраф будет препятствовать использованию токенов, которые уже были использованы, пропорционально количеству раз, когда токен был использован: чем больше токен используется, тем сложнее модели использовать его снова, увеличивая словарь ответов.
 Внимание: Отрицательный штраф будет стимулировать модель к повторному использованию токенов пропорционально количеству использований токена. Небольшие отрицательные значения сократят словарный запас ответа. Большие отрицательные значения приведут к тому, что модель начнёт повторять один и тот же токен, пока не достигнет лимита maxOutputTokens . 
responseLogprobsbooleanНеобязательно. Если задано значение true, экспортировать результаты logprobs в ответ.
logprobsinteger Необязательно. Действительно только при responseLogprobs=True . Задаёт количество лучших logprobs, возвращаемых на каждом этапе декодирования в Candidate.logprobs_result . Число должно находиться в диапазоне [0, 20]. 
enableEnhancedCivicAnswersbooleanНеобязательно. Включает расширенные ответы на гражданские вопросы. Может быть доступно не для всех моделей.
object ( SpeechConfig ) speechConfigНеобязательно. Конфигурация генерации речи.
thinkingConfigobject ( ThinkingConfig )Необязательно. Конфигурация для функций мышления. Если это поле задано для моделей, не поддерживающих мышление, будет возвращена ошибка.
imageConfigobject ( ImageConfig )Необязательно. Конфигурация для генерации изображения. Если это поле задано для моделей, которые не поддерживают эти параметры конфигурации, будет возвращена ошибка.
mediaResolutionenum ( MediaResolution )Необязательно. Если указано, будет использоваться указанное разрешение носителя.
| JSON-представление | 
|---|
{ "stopSequences": [ string ], "responseMimeType": string, "responseSchema": { object (  | 
Модальность
Поддерживаемые модальности реагирования.
| Перечисления | |
|---|---|
 MODALITY_UNSPECIFIED | Значение по умолчанию. | 
 TEXT | Указывает, что модель должна возвращать текст. | 
 IMAGE | Указывает, что модель должна возвращать изображения. | 
 AUDIO | Указывает, что модель должна возвращать звук. | 
SpeechConfig
Конфигурация генерации речи.
voiceConfigobject ( VoiceConfig )Конфигурация в случае одноголосного вывода.
multiSpeakerVoiceConfigobject ( MultiSpeakerVoiceConfig )Необязательно. Конфигурация для многоканальной системы. Является взаимоисключающим с полем voiceConfig.
string languageCodeНеобязательно. Код языка (в формате BCP 47, например, «en-US») для синтеза речи.
Допустимые значения: de-DE, en-AU, en-GB, en-IN, en-US, es-US, fr-FR, hi-IN, pt-BR, ar-XA, es-ES, fr-CA, id-ID, it-IT, ja-JP, tr-TR, vi-VN, bn-IN, gu-IN, kn-IN, ml-IN, mr-IN, ta-IN, te-IN, nl-NL, ko-KR, cmn-CN, pl-PL, ru-RU и th-TH.
| JSON-представление | 
|---|
{ "voiceConfig": { object (  | 
VoiceConfig
Конфигурация используемого голоса.
voice_configUnion typevoice_config может быть только одной из следующих: prebuiltVoiceConfigobject ( PrebuiltVoiceConfig )Конфигурация для использования готового голоса.
| JSON-представление | 
|---|
{
  // voice_config
  "prebuiltVoiceConfig": {
    object ( | 
Предварительно созданная голосовая конфигурация
Конфигурация для использования готового динамика.
string voiceNameНазвание предустановленного голоса, который будет использоваться.
| JSON-представление | 
|---|
{ "voiceName": string }  | 
MultiSpeakerVoiceConfig
Конфигурация для многоколоночной системы.
speakerVoiceConfigs[]object ( SpeakerVoiceConfig )Обязательно. Все доступные голоса дикторов.
| JSON-представление | 
|---|
{
  "speakerVoiceConfigs": [
    {
      object ( | 
SpeakerVoiceConfig
Конфигурация для одного динамика в многоакустической системе.
speakerstringОбязательно. Имя говорящего. Должно совпадать с именем, указанным в подсказке.
voiceConfigobject ( VoiceConfig )Обязательно. Конфигурация используемого голоса.
| JSON-представление | 
|---|
{
  "speaker": string,
  "voiceConfig": {
    object ( | 
ThinkingConfig
Конфигурация для функций мышления.
includeThoughtsbooleanУказывает, следует ли включать мысли в ответ. Если true, мысли возвращаются только при их наличии.
thinkingBudgetintegerКоличество токенов мыслей, которые должна сгенерировать модель.
| JSON-представление | 
|---|
{ "includeThoughts": boolean, "thinkingBudget": integer }  | 
ImageConfig
Конфигурация для функций генерации изображений.
string aspectRatioНеобязательно. Соотношение сторон создаваемого изображения. Поддерживаемые соотношения сторон: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9.
Если не указано иное, модель выберет соотношение сторон по умолчанию на основе предоставленных референсных изображений.
| JSON-представление | 
|---|
{ "aspectRatio": string }  | 
MediaResolution
Разрешение носителя для входного носителя.
| Перечисления | |
|---|---|
 MEDIA_RESOLUTION_UNSPECIFIED | Разрешение носителя не установлено. | 
 MEDIA_RESOLUTION_LOW | Разрешение мультимедиа установлено на низкое (64 токена). | 
 MEDIA_RESOLUTION_MEDIUM | Разрешение мультимедиа установлено на среднее (256 токенов). | 
 MEDIA_RESOLUTION_HIGH | Разрешение мультимедиа установлено на высокое (масштабированное рефрейминговое изображение с 256 токенами). | 
Категория вреда
Категория рейтинга.
Эти категории охватывают различные виды ущерба, которые разработчики могут пожелать устранить.
| Перечисления | |
|---|---|
 HARM_CATEGORY_UNSPECIFIED | Категория не указана. | 
 HARM_CATEGORY_DEROGATORY | PaLM - Негативные или вредоносные комментарии, направленные на идентификацию и/или защищенные атрибуты. | 
 HARM_CATEGORY_TOXICITY | PaLM - Грубый, неуважительный или оскорбительный контент. | 
 HARM_CATEGORY_VIOLENCE | PaLM — описывает сценарии, демонстрирующие насилие в отношении отдельного человека или группы, или общие описания жестокости. | 
 HARM_CATEGORY_SEXUAL | PaLM - Содержит упоминания сексуальных действий или другой непристойный контент. | 
 HARM_CATEGORY_MEDICAL | PaLM - Продвигает непроверенные медицинские консультации. | 
 HARM_CATEGORY_DANGEROUS | PaLM — Опасный контент, который пропагандирует, способствует или поощряет вредоносные действия. | 
 HARM_CATEGORY_HARASSMENT | Близнецы - Контент, содержащий домогательства. | 
 HARM_CATEGORY_HATE_SPEECH | Близнецы — оскорбительные высказывания и контент. | 
 HARM_CATEGORY_SEXUALLY_EXPLICIT | Близнецы - контент сексуального характера. | 
 HARM_CATEGORY_DANGEROUS_CONTENT | Близнецы - Опасный контент. | 
 HARM_CATEGORY_CIVIC_INTEGRITY | Gemini — контент, который может быть использован для подрыва общественной целостности. УСТАРЕЛО: вместо этого используйте enableEnhancedCivicAnswers.  | 
ModalityTokenCount
Представляет информацию о подсчете токенов для одной модальности.
modalityenum ( Modality )Модальность, связанная с этим количеством токенов.
tokenCountintegerКоличество токенов.
| JSON-представление | 
|---|
{
  "modality": enum ( | 
Модальность
Модальность части содержимого
| Перечисления | |
|---|---|
 MODALITY_UNSPECIFIED | Неопределенная модальность. | 
 TEXT | Обычный текст. | 
 IMAGE | Изображение. | 
 VIDEO | Видео. | 
 AUDIO | Аудио. | 
 DOCUMENT | Документ, например PDF. | 
SafetyRating
Safety rating for a piece of content.
The safety rating contains the category of harm and the harm probability level in that category for a piece of content. Content is classified for safety across a number of harm categories and the probability of the harm classification is included here.
categoryenum ( HarmCategory )Required. The category for this rating.
probabilityenum ( HarmProbability )Required. The probability of harm for this content.
blockedbooleanWas this content blocked because of this rating?
| JSON representation | 
|---|
{ "category": enum (  | 
HarmProbability
The probability that a piece of content is harmful.
The classification system gives the probability of the content being unsafe. This does not indicate the severity of harm for a piece of content.
| Перечисления | |
|---|---|
 HARM_PROBABILITY_UNSPECIFIED | Probability is unspecified. | 
 NEGLIGIBLE | Content has a negligible chance of being unsafe. | 
 LOW | Content has a low chance of being unsafe. | 
 MEDIUM | Content has a medium chance of being unsafe. | 
 HIGH | Content has a high chance of being unsafe. | 
SafetySetting
Safety setting, affecting the safety-blocking behavior.
Passing a safety setting for a category changes the allowed probability that content is blocked.
categoryenum ( HarmCategory )Required. The category for this setting.
thresholdenum ( HarmBlockThreshold )Required. Controls the probability threshold at which harm is blocked.
| JSON representation | 
|---|
{ "category": enum (  | 
HarmBlockThreshold
Block at and beyond a specified harm probability.
| Перечисления | |
|---|---|
 HARM_BLOCK_THRESHOLD_UNSPECIFIED | Threshold is unspecified. | 
 BLOCK_LOW_AND_ABOVE | Content with NEGLIGIBLE will be allowed. | 
 BLOCK_MEDIUM_AND_ABOVE | Content with NEGLIGIBLE and LOW will be allowed. | 
 BLOCK_ONLY_HIGH | Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed. | 
 BLOCK_NONE | All content will be allowed. | 
 OFF | Turn off the safety filter. |