Activa SSE#
Establece stream: true y stream_options: { include_usage: true }. Lee cada línea de datos como JSON; añade choices[0].delta.content cuando esté presente. No asumas que un fragmento de red es un evento.
Finalización y uso#
Un finish_reason cierra la opción; el marco de uso final puede llegar por separado. Detente solo en [DONE] o en un error terminal. Conserva los totales de uso en lugar de estimar tokens a partir de caracteres.
Solicitudes interrumpidas#
El gateway mantiene una reserva de facturación hasta que el uso autoritativo del proveedor esté disponible. Una desconexión del navegador no es prueba de que el proveedor dejó de generar. Si falta el uso final, la reserva permanece pendiente de conciliación en lugar de cobrar silenciosamente una estimación.
Entrega en el navegador#
Mantén la clave API en un servidor. Usa tu propio endpoint del mismo origen para reenviar SSE al navegador; consulta la receta de streaming en el navegador.
Ejemplo de solicitud
curl https://weightsapi.com/v1/chat/completions \
-H "Authorization: Bearer $WEIGHTSAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-32B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'