Gemini Stream Generate Content
Получайте результаты потоковой генерации SSE через Gemini Stream Generate Content.
API Stream Generate Content использует те же Content, Parts, Bearer-аутентификацию и настройки генерации, что и обычная генерация, и непрерывно возвращает блоки GenerateContentResponse через однонаправленный SSE. Он отличается от двунаправленного Live API на основе WebSocket.
Клиент должен разбирать каждое SSE data: по границам пустых строк, затем последовательно объединять текст или фрагменты Structured Output. Нельзя выполнять JSON.parse один раз для всего потока ответа. Промежуточные блоки могут не содержать finishReason; при появлении usageMetadata сохраняйте последнее значение. Одинаковый responseId связывает блоки одной генерации; если отсутствует candidates, проверьте promptFeedback.
/v1beta/models/{model}:streamGenerateContentНепрерывно возвращает блоки GenerateContentResponse через SSE.
Аутентификация
bearerAuth Используйте Bearer your-api-key в Header Authorization.
Расположение: header
Параметры пути
ID модели для генерации. Путь автоматически формируется как models/{model}.
"MODEL_ID"Параметры строки запроса
Выбирает транспортный формат SSE. Это параметр запроса URL, а не поле тела GenerateContentRequest.
"sse"Допустимые значения
- "sse"
Тело запроса
Gemini использует Content и Parts для текста, мультимодального ввода, инструментов и настроек генерации.
application/jsonИспользуйте Content user и model для одноходового или многоходового текстового диалога.
- contents[]
- Содержимое диалога по порядку.
- parts[].text
- Текст каждого сообщения.
- role
- Автор сообщения, обычно user или model.
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Здравствуйте! Представьтесь, пожалуйста."
}
]
}
]
}Используйте Content и text Part для одноходового или многоходового текстового диалога.
Тело ответа
text/event-stream
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
Структура данных SSE data
Следующие поля описывают JSON одного события data:, а не весь текстовый поток SSE.