Ative SSE#
Defina stream: true e stream_options: { include_usage: true }. Leia cada linha de dados como JSON; anexe choices[0].delta.content quando presente. Não presuma que um bloco de rede é um evento.
Término e uso#
Um finish_reason fecha a escolha; o quadro de uso final pode chegar separadamente. Pare somente em [DONE] ou em um erro terminal. Retenha os totais de uso em vez de estimar tokens a partir de caracteres.
Solicitações interrompidas#
O gateway mantém uma reserva de faturamento até que o uso autoritativo do provedor esteja disponível. Uma desconexão do navegador não é prova de que o provedor parou de gerar. Se o uso final estiver ausente, a reserva permanece com reconciliação pendente em vez de cobrar silenciosamente uma estimativa.
Entrega no navegador#
Mantenha a chave de API em um servidor. Use seu próprio endpoint de mesma origem para encaminhar SSE ao navegador; consulte a receita de streaming no navegador.
Exemplo de solicitação
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
}'