# Streaming

Jawaban bertahap lewat server-sent events, dan apa yang terjadi bila penyedia gagal di tengah jalan.

Kirim `"stream": true` di ketiga endpoint untuk menerima jawaban sebagai server-sent events.

```python
stream = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Halo"}],
    stream=True,
    stream_options={"include_usage": True},
)
for chunk in stream:
    if chunk.choices:
        print(chunk.choices[0].delta.content or "", end="")
```

## Perilaku

- Gateway meneruskan tiap bagian segera setelah tiba dari penyedia, tanpa menahannya.
- Di `/v1/chat/completions`, `stream_options.include_usage` membuat bagian terakhir membawa `usage`. Aktifkan bila Anda ingin menghitung pemakaian sendiri.
- Tagihan tetap dihitung dari pemakaian yang sebenarnya, apakah `include_usage` dikirim atau tidak.
- Bila bagian pertama dari penyedia terlambat dan belum ada byte yang terkirim ke Anda, gateway membatalkan percobaan itu dan mencoba penyedia lain. Setelah byte pertama terkirim, tidak ada pindah penyedia.
- Bila penyedia menutup stream tanpa tanda selesai dan tanpa angka pemakaian, stream berakhir. Output ditagih sebesar teks yang sudah diterima, dan input ditagih dengan harga baca-cache. Aturan ini sama di `/v1/chat/completions`, `/v1/messages`, dan `/v1/responses`.
- Bila koneksi Anda terputus, gateway tetap membaca jawaban penyedia sampai 60 detik supaya tagihan memakai pemakaian sebenarnya.
- Bila semua penyedia gagal sebelum ada byte yang terkirim, Anda menerima `upstream_unavailable` (503) atau `upstream_timeout` (504).

Waktu token pertama dan kecepatan token per detik tiap request tampil di halaman [Pemakaian](https://sivcloud.com/docs/console/pemakaian/).
