Zonder KYC — geen ID, geen selfie, geen documenten. Betalen met crypto: BTC, USDT, USDC, ETH, SOL, LTC
Taal: Nederlands
API-sleutel aanvragen

Docs · streaming

Streaming responses: het antwoord terwijl het geschreven wordt

Met stream: true komt het antwoord in kleine stukjes binnen terwijl het model schrijft, zoals chatinterfaces tekst laten verschijnen. Het formaat is dat van OpenAI: server-sent events, één JSON-chunk per event, dan [DONE].

Laatst bijgewerkt: · 3 min leestijd

Snel antwoord

Hoe stream ik een chat completion van LLMwithCrypto?

Voeg "stream": true toe aan de body van POST https://llmwithcrypto.com/api/v1/chat/completions. LLMwithCrypto antwoordt dan met server-sent events: elke data:-regel bevat een chat.completion.chunk met een stuk tekst in delta.content, en de stream eindigt met data: [DONE]. Voeg "stream_options": {"include_usage": true} toe om de token-aantallen in een laatste chunk te krijgen. Dit werkt op elk model, zoals gedocumenteerd op 23 oktober 2026.

Waarom überhaupt streamen?

Voor mensen, omdat de eerste woorden binnen een moment verschijnen in plaats van nadat het hele antwoord is geschreven. Een lang antwoord van een groot model kan vele seconden duren; gestreamd begint de lezer meteen te lezen.

Voor programma's maakt het minder uit: een script dat de volledige tekst nodig heeft, heeft niets aan streaming en moet meer parsen. Stream wanneer er een mens meekijkt, en stuur anders een normaal request. De prijs is hoe dan ook hetzelfde. Je betaalt per token vanaf je saldo: input- en outputtokens worden geteld door de tokenizer van het model zelf en afgerekend tegen de prijs van dat model per 1M tokens. Een call die op een fout eindigt, kost niets.

curl: -N houdt de verbinding unbuffered
curl -sN "https://llmwithcrypto.com/api/v1/chat/completions" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "Write a haiku about latency."}],
    "stream": true,
    "stream_options": {"include_usage": true},
    "max_tokens": 120
  }'
Python: print de tekst terwijl die binnenkomt
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

stream = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Write a haiku about latency."}],
    stream=True,
    stream_options={"include_usage": True},
    max_tokens=120,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
    if chunk.usage:
        print("\n", chunk.usage.prompt_tokens, "in,", chunk.usage.completion_tokens, "out")
Node.js: for await over de chunks
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://llmwithcrypto.com/api/v1',
  apiKey: process.env.LLMWITHCRYPTO_API_KEY,
});

const stream = await client.chat.completions.create({
  model: 'deepseek-v4.1-flash',
  messages: [{ role: 'user', content: 'Write a haiku about latency.' }],
  stream: true,
  stream_options: { include_usage: true },
  max_tokens: 120,
});
for await (const chunk of stream) {
  const text = chunk.choices[0]?.delta?.content;
  if (text) process.stdout.write(text);
  if (chunk.usage) console.log(`\n${chunk.usage.prompt_tokens} in, ${chunk.usage.completion_tokens} out`);
}

Hoe ziet de stream er op de wire uit?

Elk event is één regel die begint met data: , gevolgd door een lege regel. De eerste chunk bevat meestal de role, de volgende een paar tekens content elk, en de chunk met een finish_reason sluit het antwoord af. Met include_usage volgt nog één chunk met een lege choices-array en het usage-object. De stream eindigt altijd met data: [DONE]. De ids en aantallen hieronder zijn illustratief.

Server-sent events van één kort antwoord (illustratief)
data: {"id":"chatcmpl-5a1e","object":"chat.completion.chunk","created":1792742400,"model":"deepseek-v4.1-flash","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-5a1e","object":"chat.completion.chunk","created":1792742400,"model":"deepseek-v4.1-flash","choices":[{"index":0,"delta":{"content":"Packets"},"finish_reason":null}]}

data: {"id":"chatcmpl-5a1e","object":"chat.completion.chunk","created":1792742400,"model":"deepseek-v4.1-flash","choices":[{"index":0,"delta":{"content":" cross the"},"finish_reason":null}]}

data: {"id":"chatcmpl-5a1e","object":"chat.completion.chunk","created":1792742400,"model":"deepseek-v4.1-flash","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"id":"chatcmpl-5a1e","object":"chat.completion.chunk","created":1792742400,"model":"deepseek-v4.1-flash","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":19,"total_tokens":33}}

data: [DONE]

Wat als de stream afbreekt?

Een fout vóór de eerste token, zoals een verkeerde sleutel of een leeg saldo, komt terug als een normale HTTP-fout met een JSON-body, niet als een stream; de foutenpagina vermeldt ze. Een fout tijdens het genereren beëindigt de stream vroegtijdig, zonder finish_reason.

Sluit je de verbinding zelf, dan stopt de generatie. Je betaalt dan voor de input en de al gegenereerde tokens, zoals bij elke call. Je code moet een stream die eindigt zonder finish_reason en zonder [DONE] als onvolledig behandelen, en het request opnieuw sturen als het het volledige antwoord nodig heeft.

Streaming: veelgestelde vragen

Kost streamen meer?

Nee. Dezelfde tokens worden tegen dezelfde prijs gefactureerd. Je betaalt per token vanaf je saldo: input- en outputtokens worden geteld door de tokenizer van het model zelf en afgerekend tegen de prijs van dat model per 1M tokens. Een call die op een fout eindigt, kost niets.

Kan ik streamen met tool calling?

Ja, op de modellen die tools ondersteunen: de functienaam en argumenten komen in stukjes binnen in delta.tool_calls en moeten worden samengevoegd voordat je ze gebruikt. De tool calling-pagina toont de niet-gestreamde loop, die eenvoudiger is om mee te beginnen.

Waarom krijg ik geen usage bij een gestreamde call?

Voeg "stream_options": {"include_usage": true} toe. Zonder dit bevat een stream geen tokentellingen; het dashboard toont ze nog wel.

DeepSeek V4 Pro vanaf $1.254 per 1M inputtokens · zonder KYC

API-sleutel aanvragen