We use cookies for analytics and personalized ads. We use cookies for basic analytics and, where we show ads, to personalize them. Privacy PolicyRead our Privacy Policy.
See how tokens-per-second and output length turn into a real waiting time — before you set response limits on a live product.
Count Tokens LocallyScope: this is a local animation based on the numbers you enter, not a live call to any model. It's built to make the trade-off between output length and generation speed easy to feel, so you can set sensible response limits before shipping.
Pick a preset or set your own numbers, then press start.
How fast the model writes once it starts answering.
How long the full reply is expected to run.
The wait before any text appears — routing plus prompt processing.
Uses the output length set above (300 tokens) — good for comparing a cheaper, slower model against a faster one before you decide.
Speed B finishes 75% faster for a 300-token reply.
Your current speed (60 t/s) is highlighted so you can see where it sits against a slow and a fast reference.
| Output length | 50 t/s | 60 t/s (yours) | 200 t/s |
|---|---|---|---|
| 150 tokens | 3.0s | 2.5s | 0.8s |
| 500 tokens | 10.0s | 8.3s | 2.5s |
| 1,000 tokens | 20.0s | 16.7s | 5.0s |
| 3,000 tokens | 60.0s | 50.0s | 15.0s |
Tokens per second describes one specific stage of a model's response — how quickly it writes once it has already started. It's a useful number, but it's easy to over-read it, because a lot of what a user actually experiences as "speed" happens before that stage even begins. Understanding the difference between the wait before text appears and the pace at which text appears once it starts is what makes this simulator actually useful for planning a real product, rather than just a fun animation to watch.
The pace of the answer's body once generation has begun — this is the number the tokens/s slider in the simulator controls directly.
The setup work — routing the request, reading the prompt, checking any retrieved context — that has to finish before a single word can appear.
What the person actually experiences, which streaming can shorten even when the underlying model hasn't gotten any faster.
At 100 tokens/second, a 150-token answer — roughly a two-sentence reply — finishes generating in about 1.5 seconds. Add a typical 300-400ms wait before the first token, and the whole exchange still comfortably fits inside what most people experience as a snappy chat interaction.
The same 100 tokens/second speed takes about ten full seconds to finish a 1,000-token answer — a length that's common for a detailed explanation, a code review, or a drafted report section. Ten seconds of silence feels broken; ten seconds of visibly streaming text feels like the product is working. The fix usually isn't a faster model, it's showing progress.
The simplest useful estimate splits the wait into two additive pieces: the setup time and the writing time.
The wait before any streamed text appears at all — shaped by routing, queueing, and how much context the model has to read first.
The model reading and encoding your input before it writes anything back. Longer prompts and retrieved documents both stretch this stage.
The repeated step that produces the answer one token after another — the stage this simulator's tokens/s number is standing in for.
Say the underlying model runs at roughly 70 tokens/second with a 350ms time to first token, which is fairly typical for a mid-sized hosted model. An uncapped reply that runs to 900 tokens would take about 350ms + (900 ÷ 70) ≈ 13.2 seconds to fully finish — long enough that a user watching a spinner instead of streamed text is likely to assume something broke. Capping typical replies to around 250 tokens brings the same math down to roughly 3.9 seconds, and pairing that cap with streaming means the first words appear well under half a second in, which is usually enough to keep the interaction feeling responsive even before the answer is complete.
Use a simulation like this one to pick output limits that keep conversational replies feeling responsive rather than sluggish.
A long chain of tool calls and intermediate steps can feel slow to a user even when the underlying model throughput is genuinely high.
Summaries, reports, and code reviews often need a visible progress state or partial streaming for outputs that run past a few hundred tokens.
Check each provider's own documentation for exact streaming behavior and event formats before you build against it.
Drop a lightweight version of this tool on your own site — self-contained, dark theme, links back to the live page.
<iframe src="https://apextechjournal.com/embed/token-speed-simulator?ref=widget" width="100%" height="440" style="border:1px solid #262e39;border-radius:12px;" loading="lazy" title="Token Speed Simulator by Apex Tech Journal" ></iframe>
It measures how fast the model produces output once it has started answering — the decode stage. It does not include the time spent before generation starts, such as routing the request, reading the prompt, or waiting in a provider's queue.