GETAPI
СвязатьсяВойти
GETAPI/Документация/GenerateContent

GenerateContent

Запросы и ответы в формате Google Generative Language

Создаёт ответ в формате GenerateContent Это формат API, а не универсальная характеристика всех моделей Google

POST https://api.getapi.ru/v1beta/models/{model}:generateContent

Заголовки и путь

ЗначениеОписание
model в путиТочный идентификатор из каталога
Authorization: Bearer <key>Ключ GetAPI
x-goog-api-key: <key>Альтернативный заголовок авторизации
Content-Type: application/jsonТип тела запроса

Параметры

ПолеТипОбязательноеОписание
contentsarrayДаСообщения диалога
contents[].rolestringНетuser или model
contents[].partsarrayДаЧасти сообщения, например {"text":"Привет"}
systemInstructionobjectНетСистемная инструкция с массивом parts
generationConfigobjectНетПараметры генерации
generationConfig.maxOutputTokensintegerНетЗапрашиваемый лимит вывода
generationConfig.thinkingConfigobjectНетНастройки рассуждений для совместимых моделей

Пример запроса

bash
curl https://api.getapi.ru/v1beta/models/gemini-2.5-flash:generateContent \
  -H "Authorization: Bearer $GETAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"role": "user", "parts": [{"text": "Назови столицу Франции"}]}],
    "generationConfig": {"maxOutputTokens": 1024}
  }'

Пример ответа

json
{
  "candidates": [
    {
      "index": 0,
      "content": {"role": "model", "parts": [{"text": "Париж"}]},
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 8,
    "candidatesTokenCount": 4,
    "totalTokenCount": 12
  }
}
ПолеТипОписание
candidatesarrayВарианты ответа
candidates[].content.partsarrayЧасти содержимого
candidates[].finishReasonstringПричина завершения
usageMetadata.promptTokenCountintegerВходные токены
usageMetadata.candidatesTokenCountintegerВыходные токены
usageMetadata.totalTokenCountintegerОбщий расход токенов

Собирайте текст из всех частей с полем text, части с thought: true обрабатывайте отдельно от пользовательского ответа Массив частей может быть пустым, например при завершении по лимиту Дополнительные поля, включая сведения о безопасности, кеше и версии модели, могут отсутствовать

Поток

Используйте :streamGenerateContent?alt=sse с тем же телом запроса Каждое SSE-событие содержит очередной объект ответа Не считайте отдельный сетевой пакет полным событием

Системная инструкция

json
{
  "systemInstruction": {
    "parts": [{"text": "Отвечай кратко"}]
  }
}

Рассуждения

Для моделей, поддерживающих числовой бюджет, используйте generationConfig.thinkingConfig.thinkingBudget Значение 0 отключает рассуждения только там, где модель поддерживает отключение Настройки и режим по умолчанию зависят от модели

Ограничения

Для предварительного подсчёта токенов не используйте :countTokens: GetAPI не предоставляет для него надёжный контракт счётчика, такой запрос может вызвать генерацию Функции прямого API, включая Files, дополнительные инструменты и правила безопасности, не считаются автоматически доступными через сервис

Изображения, поток, ошибки

Назад
← Messages
Далее
Responses →