generateContent и streamGenerateContent.
Отличия от Chat Completions API
Gemini Generate Content API использует официальный нативный формат запросов Google (полеcontents), а не формат, совместимый с OpenAI (поле messages). Если вы уже используете Google Gemini SDK или знакомы с официальным форматом API, вы можете напрямую использовать этот API без изменения формата запросов.
Текущий поддерживаемый охват
Интерфейс принимает текстовый, графический, видео- и аудиоввод (черезinlineData или fileData), конфигурацию рассуждений и объявления пользовательских функций. Для нативных полей, таких как аудиовывод, встроенные инструменты и явное кэширование контекста, пока нет гарантии единой доступности; ориентируйтесь на фактический ответ конкретной модели.
При отправке аудио и других файлов с использованием fileData.fileUri убедитесь, что файл доступен напрямую по HTTPS, не зависит от состояния входа в систему, а срок действия подписанной ссылки покрывает всё время обработки запроса. Непотоковый аудиоанализ возвращает результат только после завершения обработки моделью и может занять более 90 секунд; клиенту следует устанавливать достаточно длительный общий тайм-аут в зависимости от размера файла и бизнес-сценария, чтобы избежать разрыва соединения, пока сервер всё ещё выполняет обработку.
Процесс подачи заявки
Перед использованием Gemini Generate Content API сначала перейдите на страницу Gemini Generate Content API и нажмите кнопку «Получить», чтобы получить учётные данные, необходимые для запроса. Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа. При первой заявке предоставляется бесплатная квота.Базовое использование
Non-Streaming(без потоковой передачи)
Отправьте POST-запрос на/v1beta/models/{model}:generateContent:
Подсказка: flash серииgemini-3.xявляется моделью рассуждений и сначала расходует reasoning tokens; установитеgenerationConfig.maxOutputTokensвыше 512, иначе может быть возвращено только пустое содержимое.
usageMetadata тарифицируются в соответствии с нативной семантикой Gemini:
promptTokenCountвключаетcachedContentTokenCount; часть, попавшая в кэш, рассчитывается по цене чтения из кэша и не учитывается повторно как обычный ввод.promptTokensDetailsиcacheTokensDetailsнормализуются какtext_tokens,image_tokens,video_tokens,audio_tokensи соответствующие деталиcached_*вusage.prompt_tokens_details. Эти значения соответственно включены вprompt_tokensиcached_tokens; разные модальности пересчитываются только по своим ценам и не тарифицируются повторно.candidatesTokenCountиthoughtsTokenCountоба рассчитываются по цене выходных token.toolUsePromptTokenCountявляется независимым token ввода инструмента и рассчитывается по цене входных token.
usage; для разных протоколов моделей стоимость этого вызова единообразно считывается из usage.cost. cost — это необязательный предварительный расчёт стоимости; когда предварительный расчёт цены временно недоступен, ответ модели всё равно будет возвращён нормально, но может не содержать это поле. Окончательный счёт определяется записями об использовании.
Streaming(потоковая передача)
Отправьте POST-запрос на/v1beta/models/{model}:streamGenerateContent?alt=sse:
usageMetadata и нормализованный usage, при этом стоимость по-прежнему находится в usage.cost:
data: [DONE]. Если предварительный расчёт цены для финального состояния временно недоступен, usage всё равно вернёт использование token, но опустит cost.
Поддерживаемые модели
Расширенные функции
Системные инструкции
Конфигурация генерации
Режим JSON
Режим размышлений (Thinking)
Модели, поддерживающие функцию размышлений (например, gemini-2.5-flash, gemini-2.5-pro), могут включать режим размышлений:Вызов функций
Многораундовый диалог
Понимание изображений
Настройки безопасности
Контентную фильтрацию можно контролировать черезsafetySettings:

