Перейти к содержимому
NotHolyДокументация

Руководства

Стриминг

Получайте токены по мере генерации через server-sent events во всех форматах API.

Открыть как Markdown

Укажите stream: true. Ответ приходит как text/event-stream. События отправляются по одному, без буферизации.

curl -N https://api.notholy.com/v1/chat/completions \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "notholy-specter", "stream": true, "stream_options": {"include_usage": true}, "messages": [{"role": "user", "content": "Define XSS."}]}'

Чего ожидать

  • Chat completions и text completions заканчиваются на data: [DONE]. Чанк перед ним всегда содержит usage, с include_usage или без.
  • Responses заканчивается на response.completed (или response.incomplete при достижении лимита выхода). Messages заканчивается на message_delta и message_stop. Ни тот ни другой не отправляют [DONE].
  • Во время долгих пауз приходят keep-alive-комментарии (форматы OpenAI) или события ping (Messages).
  • Если поток оборвался, вы платите только за токены, сгенерированные до обрыва.
  • Ошибки, найденные до начала потока (ключ, кредиты, лимиты), возвращаются обычной JSON-ошибкой со своим HTTP-статусом. Сбой после начала потока приходит как событие ошибки в том же формате: data: {"error": ...}, response.failed или событие error.

Что дальше