Saltar al contenido
NotHolyDocs

Guías

Streaming

Recibe los tokens a medida que se generan con server-sent events, en todos los formatos de la API.

Ver en Markdown

Define stream: true. La respuesta es text/event-stream. Los eventos se envían uno por uno, sin buffer.

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."}]}'

Qué esperar

  • Chat completions y completions de texto terminan con data: [DONE]. El chunk anterior siempre trae usage, con o sin include_usage.
  • Responses termina con response.completed (o response.incomplete al llegar al límite de salida). Messages termina con message_delta y message_stop. Ninguno de los dos envía [DONE].
  • En las pausas largas llegan comentarios de keep-alive (formatos de OpenAI) o eventos ping (Messages).
  • Si el stream se corta, solo pagas los tokens generados antes del corte.
  • Los errores detectados antes de que empiece el stream (clave, créditos, límites) vuelven como un error JSON normal con su estado HTTP. Un fallo después de que empezó el stream llega como evento de error en el mismo formato: data: {"error": ...}, response.failed o un evento error.

Siguientes pasos