Kourier / Data

Measured inference.
With context.

Real requests, grouped by the work they carry. See response timing and output speed alongside the samples behind them—not a best-case benchmark or a performance guarantee.

deepseek-v4.1-flash

01 / Production measurements

All dates and times UTC

Window: 26 Sept 2026, 18:42–3 Oct 2026, 18:42 UTC. Snapshot: 3 Oct 2026, 18:42 UTC.

Measurements present: 1 Oct 2026, 02:58–3 Oct 2026, 18:38 UTC. A selected window does not imply continuous observations.

Last successful ingestion: 3 Oct 2026, 18:42 UTC. Snapshots refresh approximately every five minutes.

First output

1.6 s

Exact · median · includes reasoning

n = 30 · p95 requires 100 samples

First answer text

Collecting

Exact · median · excludes reasoning-only output

n = 7 · p95 requires 100 samples

End-to-end output

56.1 tok/s

Median · generated tokens include reasoning

n = 4,815

4,815 qualifying measurements from 5,054 successful production usage records (95.3% coverage). Median measured input: 92,812 tokens. What counts?

Generated tokens, including reasoning, divided by full gateway request duration. Includes the wait before output begins.

By input size

Input includes instructions, conversation, and tool context—not just your latest message. K = 1,024 tokens.

End-to-end output speed by input size; missing results are not zero.
Input tokensSamplesMedian
<8K4961.7 tok/s
8–32K54054.1 tok/s
32–128K3,04658.2 tok/s
128K+1,18050.5 tok/s

Over time

Hourly buckets in UTC. Blank slots mean missing or insufficient measurements, not zero latency or downtime. Boundary hours may be partial.

View hourly measurements and sample counts
Hourly End-to-end output speed
Hour (UTC)SamplesMedian
2026-09-26 18:000Insufficient samples
2026-09-26 19:000Insufficient samples
2026-09-26 20:000Insufficient samples
2026-09-26 21:000Insufficient samples
2026-09-26 22:000Insufficient samples
2026-09-26 23:000Insufficient samples
2026-09-27 00:000Insufficient samples
2026-09-27 01:000Insufficient samples
2026-09-27 02:000Insufficient samples
2026-09-27 03:000Insufficient samples
2026-09-27 04:000Insufficient samples
2026-09-27 05:000Insufficient samples
2026-09-27 06:000Insufficient samples
2026-09-27 07:000Insufficient samples
2026-09-27 08:000Insufficient samples
2026-09-27 09:000Insufficient samples
2026-09-27 10:000Insufficient samples
2026-09-27 11:000Insufficient samples
2026-09-27 12:000Insufficient samples
2026-09-27 13:000Insufficient samples
2026-09-27 14:000Insufficient samples
2026-09-27 15:000Insufficient samples
2026-09-27 16:000Insufficient samples
2026-09-27 17:000Insufficient samples
2026-09-27 18:000Insufficient samples
2026-09-27 19:000Insufficient samples
2026-09-27 20:000Insufficient samples
2026-09-27 21:000Insufficient samples
2026-09-27 22:000Insufficient samples
2026-09-27 23:000Insufficient samples
2026-09-28 00:000Insufficient samples
2026-09-28 01:000Insufficient samples
2026-09-28 02:000Insufficient samples
2026-09-28 03:000Insufficient samples
2026-09-28 04:000Insufficient samples
2026-09-28 05:000Insufficient samples
2026-09-28 06:000Insufficient samples
2026-09-28 07:000Insufficient samples
2026-09-28 08:000Insufficient samples
2026-09-28 09:000Insufficient samples
2026-09-28 10:000Insufficient samples
2026-09-28 11:000Insufficient samples
2026-09-28 12:000Insufficient samples
2026-09-28 13:000Insufficient samples
2026-09-28 14:000Insufficient samples
2026-09-28 15:000Insufficient samples
2026-09-28 16:000Insufficient samples
2026-09-28 17:000Insufficient samples
2026-09-28 18:000Insufficient samples
2026-09-28 19:000Insufficient samples
2026-09-28 20:000Insufficient samples
2026-09-28 21:000Insufficient samples
2026-09-28 22:000Insufficient samples
2026-09-28 23:000Insufficient samples
2026-09-29 00:000Insufficient samples
2026-09-29 01:000Insufficient samples
2026-09-29 02:000Insufficient samples
2026-09-29 03:000Insufficient samples
2026-09-29 04:000Insufficient samples
2026-09-29 05:000Insufficient samples
2026-09-29 06:000Insufficient samples
2026-09-29 07:000Insufficient samples
2026-09-29 08:000Insufficient samples
2026-09-29 09:000Insufficient samples
2026-09-29 10:000Insufficient samples
2026-09-29 11:000Insufficient samples
2026-09-29 12:000Insufficient samples
2026-09-29 13:000Insufficient samples
2026-09-29 14:000Insufficient samples
2026-09-29 15:000Insufficient samples
2026-09-29 16:000Insufficient samples
2026-09-29 17:000Insufficient samples
2026-09-29 18:000Insufficient samples
2026-09-29 19:000Insufficient samples
2026-09-29 20:000Insufficient samples
2026-09-29 21:000Insufficient samples
2026-09-29 22:000Insufficient samples
2026-09-29 23:000Insufficient samples
2026-09-30 00:000Insufficient samples
2026-09-30 01:000Insufficient samples
2026-09-30 02:000Insufficient samples
2026-09-30 03:000Insufficient samples
2026-09-30 04:000Insufficient samples
2026-09-30 05:000Insufficient samples
2026-09-30 06:000Insufficient samples
2026-09-30 07:000Insufficient samples
2026-09-30 08:000Insufficient samples
2026-09-30 09:000Insufficient samples
2026-09-30 10:000Insufficient samples
2026-09-30 11:000Insufficient samples
2026-09-30 12:000Insufficient samples
2026-09-30 13:000Insufficient samples
2026-09-30 14:000Insufficient samples
2026-09-30 15:000Insufficient samples
2026-09-30 16:000Insufficient samples
2026-09-30 17:000Insufficient samples
2026-09-30 18:000Insufficient samples
2026-09-30 19:000Insufficient samples
2026-09-30 20:000Insufficient samples
2026-09-30 21:000Insufficient samples
2026-09-30 22:000Insufficient samples
2026-09-30 23:000Insufficient samples
2026-10-01 00:000Insufficient samples
2026-10-01 01:000Insufficient samples
2026-10-01 02:001Insufficient samples
2026-10-01 03:005333.4 tok/s
2026-10-01 04:004Insufficient samples
2026-10-01 05:000Insufficient samples
2026-10-01 06:007522.6 tok/s
2026-10-01 07:0015Insufficient samples
2026-10-01 08:000Insufficient samples
2026-10-01 09:000Insufficient samples
2026-10-01 10:000Insufficient samples
2026-10-01 11:000Insufficient samples
2026-10-01 12:000Insufficient samples
2026-10-01 13:000Insufficient samples
2026-10-01 14:000Insufficient samples
2026-10-01 15:000Insufficient samples
2026-10-01 16:000Insufficient samples
2026-10-01 17:006Insufficient samples
2026-10-01 18:005879.7 tok/s
2026-10-01 19:000Insufficient samples
2026-10-01 20:000Insufficient samples
2026-10-01 21:000Insufficient samples
2026-10-01 22:003174.7 tok/s
2026-10-01 23:007765.9 tok/s
2026-10-02 00:009568.8 tok/s
2026-10-02 01:008456.9 tok/s
2026-10-02 02:0016958.9 tok/s
2026-10-02 03:0017962.5 tok/s
2026-10-02 04:005Insufficient samples
2026-10-02 05:006667.1 tok/s
2026-10-02 06:005861.7 tok/s
2026-10-02 07:000Insufficient samples
2026-10-02 08:000Insufficient samples
2026-10-02 09:000Insufficient samples
2026-10-02 10:000Insufficient samples
2026-10-02 11:000Insufficient samples
2026-10-02 12:000Insufficient samples
2026-10-02 13:000Insufficient samples
2026-10-02 14:000Insufficient samples
2026-10-02 15:000Insufficient samples
2026-10-02 16:000Insufficient samples
2026-10-02 17:0013360.5 tok/s
2026-10-02 18:000Insufficient samples
2026-10-02 19:003966.1 tok/s
2026-10-02 20:000Insufficient samples
2026-10-02 21:000Insufficient samples
2026-10-02 22:004774.0 tok/s
2026-10-02 23:0023851.3 tok/s
2026-10-03 00:0025164.9 tok/s
2026-10-03 01:007861.7 tok/s
2026-10-03 02:0033061.7 tok/s
2026-10-03 03:0048048.7 tok/s
2026-10-03 04:0045850.7 tok/s
2026-10-03 05:0030963.2 tok/s
2026-10-03 06:0052848.5 tok/s
2026-10-03 07:0043547.8 tok/s
2026-10-03 08:0019764.4 tok/s
2026-10-03 09:000Insufficient samples
2026-10-03 10:001Insufficient samples
2026-10-03 11:000Insufficient samples
2026-10-03 12:000Insufficient samples
2026-10-03 13:005876.4 tok/s
2026-10-03 14:0010165.8 tok/s
2026-10-03 15:0011371.9 tok/s
2026-10-03 16:002968.6 tok/s
2026-10-03 17:002Insufficient samples
2026-10-03 18:0012Insufficient samples

02 / Repeatable checks

Production requests vary in size, cache reuse, and reasoning. Our downloadable probe makes six serial streaming requests: an initial and repeated prompt at each of three input sizes.

It records client-observed first output, first answer text, total duration, token usage, and finish reason. Initial requests are not guaranteed cold-cache; repeated prompts are not guaranteed cache hits. Shared load and network distance are uncontrolled.

Probe requests identify themselves as synthetic and are excluded from these production aggregates after instrumentation. We do not publish six runs as a representative benchmark or a quality score.

Download the Node.js 22+ probe

Uses your own API key and subscription. Six requests, one at a time, up to 768 generated tokens per request; reasoning uses that allowance. No automatic retries.

# Set KOURIER_API_KEY in your environment
node performance-probe.mjs > results.json

Output contains measurements, not your key or response content. A length-limited answer is not a successfully completed coding task.

03 / Methodology & limitations

Population, not adoption
One observation per correlated usage record for this model. Requests—not users—are weighted equally. Operator traffic may be present, and a few accounts may dominate. Caller-identified synthetic traffic is excluded; unlabeled historical probes cannot be reliably separated. These are not customer counts.
Successful streaming requests only
Timing and speed require successful usage and gateway outcomes, no client abort, more than one generated token, a positive observed output window, and valid duration. Non-streaming, failed, cancelled, single-token, and uncorrelated requests are excluded. Coverage uses successful usage records as its denominator—not all incoming API attempts. This is not an error-rate or uptime report.
Timing boundaries
Exact timings use a monotonic clock from gateway arrival, including account queueing, to observed upstream output. First output includes reasoning and tool events; first answer requires answer text. Client network travel and rendering are excluded. Historical estimates subtract the output-stream window from total duration and include the post-output tail.
Speed and token accounting
End-to-end speed divides generated tokens by the entire gateway duration, including the initial wait. It includes reasoning tokens and is not decode-only throughput. Cache and reasoning counters are recorded only when reported, not inferred as zero. In this measured cohort, cache counters are available for 30 requests and reasoning counters for 27.
Sample thresholds and missing hours
Medians require 20 samples; p95 requires 100, independently for each metric and bucket. These publication thresholds are not statistical confidence guarantees. Missing results stay blank. p95 means 95% of measured timings were at or below that value. No interpolation or synthetic gap filling.
What this does not establish
Observed performance depends on request mix, cache reuse, reasoning, and shared load. It does not establish coding quality, fleet capacity, availability, an SLA, or the speed your next request will receive. See service status for monitoring information.