Streaming
Zowel de OpenAI (/v1/chat/completions) als de Anthropic (/v1/messages) interfaces
ondersteunen streaming via Server-Sent Events. De Responses API (/v1/responses)
streamt zijn eigen response.* events; zie Responses API. Streaming is de aanbevolen standaard
voor alles met een lange prompt, lange uitvoer, of een hoge tokenlimiet — het voorkomt
request timeouts en laat je tokens renderen zodra ze binnenkomen.
OpenAI-stijl stream
curl -N https://api.uberllm.dev/v1/chat/completions \
-H "Authorization: Bearer $UBERLLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4-flash",
"stream": true,
"messages": [{"role": "user", "content": "Count to five, one per line."}]
}'
De respons is een reeks van data: regels, elk een chat completion chunk, eindigend
met data: [DONE].
from openai import OpenAI
client = OpenAI(base_url="https://api.uberllm.dev/v1", api_key="ull_...")
with client.chat.completions.create(
model="deepseek/deepseek-v4-flash",
stream=True,
messages=[{"role": "user", "content": "Write a short poem."}],
) as stream:
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Gebruiksafrekening
UberLLM injecteert stream_options: {"include_usage": true} voor upstreams die dit ondersteunen, zodat het laatste chunk een usage object bevat met het aantal prompt- en completion-tokens, en cost_usd: wat deze aanvraag kost, in Amerikaanse dollars (wat de provider ervoor in rekening heeft gebracht). Wanneer de upstream geen usage chunk stuurt, voegt UberLLM er één toe vóór data: [DONE]. Op /v1/messages staat de kostprijs in de usage van de message_delta gebeurtenis.
Je aanvraag wordt afgerekend tegen de kosten die de marktplaats rapporteert voor die oproep; wanneer gebruiksgegevens ontbreken, valt de gateway terug op een tokenizer-schatting en markeert de aanvraag als geschat in je activiteitenlogboek. De headers van een stream worden verzonden voordat de kosten bekend zijn, dus een stream heeft geen X-UberLLM-Cost-USD header: lees usage.cost_usd.
Annuleringen
Als je midden in een stream de verbinding verbreekt, annuleert de gateway het upstream-verzoek en rekent af voor de tokens die daadwerkelijk zijn gestreamd. Je wordt nooit gefactureerd voor een volledige respons die je niet hebt ontvangen, en er blijft geen gereserveerd saldo vastzitten.
Keep-alives
De gateway stuurt onmiddellijk een : ping commentaar bij verbinding en periodieke keep-alives, zodat langlopende streams proxy idle timeouts overleven.