AI Development

AI Model Speed, Measured: Tokens Per Minute in Real Sessions

How fast are Claude Opus 5, Fable 5.1 and Codex inside real agent sessions? Output tokens per minute from 118,896 measured requests, with the method and data.

Sep 2, 2026
13 min

Data as of 2 September 2026. Methodology version 1.0. Every figure below is our own measurement of our own agent sessions; external figures carry a source and the date we read them.

Download

Benchmarks Time a Sprint

Model speed, measured in real sessions

118,896 real agent requests, timed end to end, by model, week and hour

JJM

Benchmarks time a sprint. Your agent runs a marathon

Every speed figure you can find for a frontier model is one prompt, from one benchmark harness, timed from the first token to the last. Artificial Analysis defines output speed as "the average number of tokens received per second, after the first token is received" and samples it eight times a day from a Google Cloud zone. OpenRouter publishes a rolling five-minute median of the same thing. On 2 September 2026 those pages put Claude Opus 5 at 52 tokens a second at maximum effort and GPT-5.6 Sol at 74.

Neither number describes what happens when you hand a model a codebase and let it work. An agent session is a chain of requests. Each one waits for the model to think, streams a few tool calls, runs them, and starts again with a bigger context. The pace you feel is set by how the model spends its minutes, not by its decode rate on a clean prompt.

We run a fleet of Claude Code and Codex agents across our own client work, and every session leaves a transcript on disk with a timestamp on every record and the provider's token counters on every reply. So we measured the thing no benchmark page publishes: how many output tokens a model actually delivers per wall-clock minute inside real sessions, across eight weeks, by model, by week and by hour. The dataset covers 118,896 model requests, 103 million output tokens and 484 hours of model time. This is what it says.

118,896
requests measured
7 July to 2 September 2026
103M
output tokens
provider-billed
484 h
of model time
tool time excluded
3,595
session transcripts
Claude Code and Codex

What 118,896 real requests say

The table below is the median observed output rate per model in our main interactive sessions, with the ninetieth percentile, the median seconds until the first content block landed, and the share of output that was thinking rather than visible text or tool calls. One request is one reply from the model; rates are output tokens per wall-clock minute from the moment the request was sent to the moment its last block was written.

ModelRequestsMedian tokens per minuteTokens per second90th percentileFirst output (median)Thinking share
Claude Fable 5.11,0034,311725,28210.9 s39%
Claude Opus 564,6753,628604,7548.1 s18%
Claude Fable 520,2823,375564,7608.8 s21%
Claude Opus 4.84,0243,261544,29811.3 s4%
Codex (GPT-5.6)18,3682,490423,6393.5 s37%
Codex auto-review4,4651,538262,1852.5 s41%

Three things stand out. Claude Fable 5.1, released the day before this snapshot, is the fastest model we have run in a main session, and it gets there while spending 39 percent of its output on thinking. Claude Opus 5 sits at 3,628 tokens a minute across nearly 65,000 requests, which is the number to plan around if you run agents on it today. And Codex on GPT-5.6 delivers fewer tokens per minute than any Claude model, but its first output lands in 3.5 seconds, less than half the wait of any Claude model, which is exactly why it feels quick in the terminal.

Aggregate rates (total tokens over total minutes) run a little above the medians: 3,717 for Opus 5, 4,697 for Fable 5.1, 2,581 for GPT-5.6. Long replies amortise the first-output wait, so the more a model writes per request, the closer its aggregate gets to its decode rate.

Observed output speed by model, main sessions

Output tokens per wall-clock minute per request. Bar spans the 10th to 90th percentile, the dot is the median. 7 July to 2 September 2026.

1,00017/s2,00033/s3,00050/s4,00067/s5,00083/s6,000100/sClaude Fable 5.14,311Claude Opus 53,628Claude Fable 53,375Claude Opus 4.83,261Codex (GPT-5.6)2,490Codex auto-review1,538

Models with fewer than 500 measured requests in a scope are in the download, not the chart. Source: Jordan James Media session transcripts, provider-billed tokens.

How we measured it, and what the number is not

Every Claude Code session writes a JSONL transcript under ~/.claude/projects/, and every Codex session writes a rollout under ~/.codex/sessions/. Each record carries a timestamp. Each model reply carries the provider's own usage counters, including output_tokens and, for Claude, output_tokens_details.thinking_tokens. We reused the parser our platform already runs at every session close and taught it to time each request.

The rule for one request is simple. It starts at the record written immediately before the request was sent: the user message, tool result or attachment the request went out with. It ends at the last content block of the reply, because Claude Code writes each block as it finishes streaming. Tool execution time is excluded, because the tool result record is written after the tool finishes. Thinking time and time to first token are included, because you wait through both. Divide output tokens by minutes and you have the rate.

We exclude what would mislead. Replies under 20 output tokens are dropped, because a five-token tool call over four seconds says nothing about generation speed; that removed 32,400 of the raw requests. Placeholder and fallback turns, replies with no counters, and 12 requests longer than an hour (an anchor error, not a slow model) are also out. Every exclusion is counted by reason in the published dataset, so a zero is a measured zero.

One thing this number is not: a rate limit. Anthropic quotes its limits in input and output tokens per minute, OpenAI and Azure quote TPM, Google quotes TPM for Gemini. Those are quotas. Ours is observed throughput, which is why we write it out in full and never abbreviate it. When Anthropic talks about speed it says output tokens per second, so every figure here also shows tokens per second.

The other thing it is not: a benchmark decode rate. Our tokens are provider-billed tokens, the ones your invoice and your rate limit count. Artificial Analysis counts every model in OpenAI's o200k_base tokenizer. On this very session's output, billed visible tokens ran 1.64 times the o200k count of the same text, partly because Anthropic's tokenizer has produced more tokens per word since Opus 4.7 (about 555,000 words per million tokens, against 750,000 for the models before it, per Anthropic's models overview). We checked the opposite hazard too: a February 2026 issue reported Claude Code transcripts undercounting output tokens by about two times on Opus 4.6. On the current format the usage counter repeats identically on every block of a reply and carries an iterations array, and the tokenizer check above runs the other way, so the counts we publish are complete.

How one request is timed

A real Claude Fable 5.1 reply from the session that built this page: 1,988 output tokens in 26.7 seconds, 4,467 tokens a minute. The tool then ran for 63 seconds, which is not counted.

waiting and thinking: 25.7 srequest sentanchor record written, 0 sfirst block at 25.7 sthinking, 1,850 tokenslast block at 26.7 stext and tool call streamed in 1.0 s, timer stopsthe tool then ran for 63 s, outside the window
1

Anchor

The request starts at the transcript record written just before it: the user message, tool result or attachment it went out with.

2

Stream

Every content block is written as it finishes streaming. Thinking is the first block on a reasoning model, so its time is inside the window.

3

Stop

The request ends at its last block. Tool results are written after the tool finishes, so tool time never enters the rate.

4

Count

Output tokens from the provider's own usage counter, divided by minutes. Replies under 20 tokens are excluded and counted.

WATCH OUT

Not a rate limit

Vendors quote quotas in tokens per minute (Anthropic ITPM and OTPM, OpenAI and Azure TPM, Gemini TPM). This page measures throughput you observe, so it is always written out in full and never abbreviated.

The same model runs at three speeds

The headline table is main sessions only: a person at a terminal, a large context, long replies. The same models also run as subagents, short-lived workers spawned for a search or a review with a small context. There the picture changes.

ModelScopeRequestsMedian tokens per minuteFirst output (median)
Claude Sonnet 5subagent2,2544,1145.8 s
Claude Opus 5subagent2,3683,7244.6 s
Claude Opus 5main64,6753,6288.1 s
Claude Haiku 4.5subagent3393,6219.3 s
Claude Fable 5subagent8353,0175.0 s

Opus 5 gets its first block out in 4.6 seconds as a subagent against 8.1 in a main session. Same model, half the wait, because the context is a tenth of the size and there is less to think about before the first token. Sonnet 5 is the fastest thing we run as a worker. And Haiku 4.5, the model Anthropic ranks fastest, is no faster than Opus 5 in our subagent runs: 3,621 against 3,724 tokens a minute, with a longer first-output wait. Short tasks are dominated by the wait for the first token, and a small model does not wait less on our network path than a large one.

Thinking share is the third speed. Opus 4.8 spent 4 percent of its output thinking in our sessions; Fable 5.1 spent 39 percent; GPT-5.6 spent 37. A model that thinks more delivers fewer visible tokens per minute even when its total rate is higher, and visible tokens are the ones that become code. Fable 5.1's 4,311 tokens a minute is about 2,630 visible tokens a minute; Opus 5's 3,628 is about 2,975. On what you can read, Opus 5 is the faster writer.

Main session

  • Large context, long replies
  • Opus 5 first output 8.1 s
  • Median 3,628 tokens/min

Subagent run

  • Small context, short task
  • Opus 5 first output 4.6 s
  • Median 3,724 tokens/min

Speed moves every week

A benchmark page shows today's number. A session dataset shows the drift. Claude Opus 5 went from a median 3,483 tokens a minute in the week of 20 July to 3,865 in the week of 31 August, an 11 percent gain, and its median wait for the first block fell from 10.8 seconds to 6.5, a 40 percent improvement over six weeks. Claude Fable 5 climbed from 2,518 to 3,863 over the same period, although its first two weeks are only a few hundred requests.

Codex went the other way. GPT-5.6 delivered a median 2,856 tokens a minute in the week of 24 August and 2,287 in the week of 31 August, a 20 percent drop in seven days across more than seven thousand requests each week. Anthropic's status page logged elevated-error incidents on several days in August (one example), and OpenAI restored the five-hour Codex cap on 25 August to "smoothen the load on our compute". Weekly medians are where those weeks show up.

If you choose a model on speed, choose on the current week and check again next month. The dataset behind this page is re-snapshotted monthly for that reason.

Weekly median speed, main sessions

One panel per model so the lines never cross. Shared scale, 2,000 to 4,200 tokens per minute. Weeks with fewer than 50 requests are omitted.

Claude Opus 5+11% over 7 weeks
3,0003,865W30W36
Claude Fable 5+53% over 7 weeks
3,0003,863W28W36
Codex (GPT-5.6)+6% over 3 weeks
3,0002,287W34W36
Claude Opus 4.8-29% over 6 weeks
3,0002,734W28W35
Pro Tip

Read the Week, Not the Page

A benchmark page is a photograph. Opus 5 gained 11 percent and cut its first-output wait by 40 percent across six weeks; Codex lost 20 percent in seven days. Check the current week before you commit a fleet to a model.

Time of day matters for Codex, not for Claude

We bucketed every main-session request by the UTC hour it started. Claude Opus 5 barely moves: between 3,415 and 3,713 tokens a minute in every hour with more than 900 requests, a spread under 9 percent, with its slowest hours at 19:00 to 21:00 UTC, the US afternoon. Whatever load Anthropic carries through the US working day, it reached our sessions as a few percent, not a cliff.

Codex on GPT-5.6 is a different shape. From 04:00 to 16:00 UTC (early afternoon to the small hours in Sydney, the European working day, the US morning) eleven of the thirteen hourly medians sit between 2,130 and 2,440 tokens a minute. From 17:00 to 03:00 UTC every hour sits between 2,600 and 2,940. That is a 15 to 20 percent swing by clock time, on hundreds to thousands of requests per hour. We report it as observed; the cause could be OpenAI's load, our own mix of Codex work by hour, or both. Either way, an Australian team running Codex overnight gets the slow band.

Median speed by hour of day (UTC), main sessions

Darker is faster within each model's own range of well-sampled hours. Outlined cells hold fewer than 500 requests and are left out of the shading range. Hover any hour for the value.

Claude Opus 53,415 to 3,713 tokens/min
00 UTC (10:00 Sydney)0612 (22:00 Sydney)1823
Codex (GPT-5.6)2,129 to 2,751 tokens/min
00 UTC (10:00 Sydney)0612 (22:00 Sydney)1823

Claude Opus 5 stays within 3,415 to 3,713 in every hour with more than 900 requests, a spread under 9 percent. Codex on GPT-5.6 runs 15 to 20 percent slower from 04:00 to 16:00 UTC than through the rest of the day.

Pro Tip

Schedule Around the Slow Band

If your Codex batch jobs can move, run them outside 04:00 to 16:00 UTC. For an Australian team that means daytime, not overnight. Claude Opus 5 varied by under 9 percent across the clock, with no hour worth scheduling around.

What the published numbers miss

Put our Opus 5 figure in benchmark units and the gap becomes explicit. 3,628 billed tokens a minute is about 2,210 o200k tokens a minute, or 37 tokens a second, end to end. Artificial Analysis shows 52 tokens a second for the same model at maximum effort, and 47 at high, decode only, after the first token. The difference is the wait: 8.1 seconds to the first block on a median request, plus the thinking inside it.

That gap is also why fast mode moves an agent session less than its headline. Anthropic's fast mode promises up to 2.5 times the output tokens per second and says plainly that the gain is decode speed, not time to first token. OpenAI's Fast mode makes the same 2.5 times claim at twice the price, and the Codex product documentation puts it at 1.5 times the speed for 2.5 times the credits. If a request spends eight seconds waiting and twenty seconds streaming, a 2.5 times decode rate turns 28 seconds into 16, a 1.75 times gain, and the tool runs between requests do not speed up at all. Every request in our dataset ran at standard speed, so the day we turn fast mode on, the dataset will show exactly how much of the claim survives contact with a session.

The only earlier attempt to measure inside a harness was METR's RE-Bench in November 2024, which found agents generating 20 to 120 output tokens a second while spending most of their wall-clock waiting for commands. Every agent benchmark since reports minutes per task and tokens per task, never tokens per minute. Our sessions confirm the shape two years on: the model is rarely the slowest thing in the loop, and when it is, it is because it is thinking.

A benchmark number

  • One prompt of 1k, 10k or 100k tokens
  • Timed after the first token arrives
  • Counted in OpenAI o200k tokens
  • Opus 5: 52 tokens a second at max effort

A session number

  • 64,675 real requests with growing context
  • Timed from dispatch to the last block
  • Counted in the tokens you are billed for
  • Opus 5: 60 a second billed, about 37 in o200k units

In most runs the agents spend a majority of their time waiting for commands to run on the VM, rather than on generating tokens.

METR, RE-Bench, November 2024

How to choose a model on speed that is real

Decide what you are optimising. For an interactive session where a person waits on each reply, the number that matters is seconds to first output, and Codex wins it outright at 3.5 seconds. For a batch of subagents chewing through a queue, the number is the aggregate rate, and Sonnet 5 and Opus 5 lead. For a long autonomous build, the number is visible tokens per minute after thinking, and Opus 5 writes more code per minute than Fable 5.1 despite the lower headline.

Then measure your own sessions, because your prompts, your context sizes and your network path are not ours. The fields are in the transcript already: the timestamp on every record, message.usage.output_tokens on every reply, output_tokens_details.thinking_tokens for Claude, last_token_usage on every Codex token_count event. Anchor each request to the record before it, end it at its last block, drop the tiny replies, and publish the median and the ninetieth percentile, never the mean. If you build agents with us we set this up on day one, because a fleet you cannot measure is a fleet you cannot tune; that is the same discipline we apply to Claude Code agent teams and custom subagents.

Treat fast mode as a purchase, not a setting. Turn it on for the session shapes where decode dominates, long generation with few tool calls, and leave it off where the wait is the model's thinking or your tools. And never let a vendor's relative label stand in for a measurement: Anthropic's own models page ranks Fable 5.1 "slower" than Opus 5, and on its first day and 1,003 requests in our main sessions it ran 19 percent faster.

Checklist

Choose a model on speed that is real

  • Interactive session: pick on seconds to first output (Codex 3.5 s, Opus 5 8.1 s)
  • Batch of subagents: pick on aggregate rate (Sonnet 5 and Opus 5 lead)
  • Long autonomous build: pick on visible tokens per minute after thinking
  • Measure your own transcripts: timestamp, usage.output_tokens, thinking_tokens
  • Publish medians and 90th percentiles, never means
  • Re-check monthly: Opus 5 moved 11 percent in six weeks

Build agents you can measure

We instrument every agent fleet we build from the first session, so you always know what a model is really delivering. Custom platforms, integrations and agent workflows, built and run by an AI-native studio in Sydney.

Talk to us about AI development

Watch it live, take the data

This article launches a standing page, the AI model speed benchmark, which carries the live feed, the per-model figures at stable addresses, the versioned methodology and the downloads, and re-snapshots monthly. The chart above this section is live. Our platform's heartbeat carries each running session's rolling rate (the last 50 requests) into a public feed, refreshed every minute, alongside the weekly history published from the workstation that holds the transcripts. When no sessions are running, the feed shows the last snapshot and says so.

The dataset is free to download and reuse with a link back: model-speed-2026-09-02.csv holds the weekly rows per model, scope and speed tier, and model-speed-2026-09-02.json adds the per-model distribution (p10 to p95), the hour-of-day table and the exclusion counts. Rows carry model names, ISO weeks, counts and durations. No project, prompt, session identifier or dollar figure is in the data. To cite it: Jordan James Media, "AI Model Speed, Measured", dataset of 2 September 2026, methodology 1.0.

Two caveats travel with the numbers. Everything was measured from a single vantage point, our Sydney workstation and its connection, by design: every first-output figure includes the network path a working team actually has, where a benchmark run from a US data centre would flatter the wait. A team in Virginia will see shorter first-output times than we do. And the mix of work differs by model: Opus 5 carried our long interactive sessions, Codex carried more review and verification, so the models were not given identical tasks. We publish the distribution rather than a single number for that reason. The measurement code is the same module our platform uses to reconcile every session at close, the same one that decides whether an agent gets to grade its own homework, and it will be the module that tells us the first week a new model is worth switching to, as it did for Fable 5.

The standing benchmark page

This article is the launch story. The page below is the permanent address: live figures, one section per model, the versioned methodology and the downloads, re-snapshotted monthly.

jordanjamesmedia.com/ai-model-speed

Right now

Snapshot of 2 September 2026: medians over 118,896 requests. Live figures load when sessions are running.

Claude Opus 5
3,628
tokens/min, 60/s
Claude Fable 5
3,375
tokens/min, 56/s
Codex (GPT-5.6)
2,490
tokens/min, 42/s
Codex auto-review
1,538
tokens/min, 26/s

Take the data, read the method

The standing benchmark page, the dataset behind it, and the posts that explain how we run the fleet it came from.

Questions people ask

The answers below are the short versions of the sections above, kept on the page so that they stay in step with the data.

The short answers

How fast is Claude Opus 5 in a real coding session?

Across 64,675 of our main-session requests between 7 July and 2 September 2026, Claude Opus 5 delivered a median 3,628 output tokens per wall-clock minute (60 tokens a second) with a 90th percentile of 4,754, and its first content block arrived a median 8.1 seconds after the request was sent. Those are provider-billed tokens measured end to end, including thinking, not a benchmark decode rate.

Is tokens per minute the same as the TPM rate limit?

No. Anthropic, OpenAI, Azure and Google all quote rate-limit quotas in tokens per minute, which is how many tokens you are allowed to send or receive. The figures on this page are observed throughput, how many output tokens a model actually delivered per minute inside real sessions. We write the metric out in full and never abbreviate it so the two are not confused.

Why is my agent session slower than the benchmark number?

Benchmarks time one prompt after the first token arrives and count tokens in OpenAI's o200k tokenizer. A session request also waits for the first token and for thinking, and the billed tokens you see run about 1.6 times the o200k count for the same Claude output. Put Opus 5's 3,628 billed tokens a minute in benchmark units and it is about 37 tokens a second end to end against a published 52 decode-only.

Is fast mode worth it for AI agents?

Fast mode raises decode speed by up to 2.5 times on both Anthropic and OpenAI, at 2 to 2.5 times the price or credit burn, and it does not shorten time to first token or tool execution. A request that waits eight seconds and streams for twenty goes from 28 seconds to about 16, a 1.75 times gain, and the tool runs between requests do not change. It pays for long generation with few tool calls and not for sessions dominated by waiting.

How do I measure model speed in my own Claude Code or Codex sessions?

Every Claude Code transcript under ~/.claude/projects/ and every Codex rollout under ~/.codex/sessions/ carries a timestamp on each record and the provider's usage counters on each reply. Anchor each request to the record written just before it, end it at its last streamed block, divide output tokens by minutes, drop replies under 20 tokens, and report the median and 90th percentile per model. Our measurement module and dataset are linked on this page.

Which AI coding model is fastest right now?

In our main sessions Claude Fable 5.1 has the highest median at 4,311 tokens a minute, but 39 percent of that is thinking, so Claude Opus 5 writes more visible tokens per minute. Claude Sonnet 5 is the fastest subagent at 4,114. Codex on GPT-5.6 has the lowest rate at 2,490 but the shortest wait for a first token at 3.5 seconds. Speed drifted by 11 to 20 percent within weeks, so check the live figure on this page before deciding.

Newsletter

Stay in the Loop

Get notified when we publish new content. Choose what interests you.

Choose your interests:

No spam, unsubscribe anytime. We respect your privacy.

Key Takeaway

  1. 1

    Benchmarks time one prompt after the first token; a session pays for the wait and the thinking too.

  2. 2

    Opus 5 delivers a median 3,628 billed tokens a minute end to end; Fable 5.1 4,311 with 39 percent thinking; Codex 2,490 with a 3.5 s first output.

  3. 3

    Speed drifts by 10 to 20 percent within weeks and, for Codex, by hour of day. Measure your own sessions and re-check monthly.

Social Media Carousel

8 cards • Download as ZIP (images) or PDF (LinkedIn)

Download
1 of 8

Benchmarks Time a Sprint

Model speed, measured in real sessions

118,896 real agent requests, timed end to end, by model, week and hour

JJM
Download
2 of 8
3,628
tokens per minute

60 tokens a second across 64,675 requests, first output in 8.1 seconds

JJM
Download
3 of 8

How One Request Is Timed

123PlanBuildTestGo

Anchor record to last block, tool time out

JJM
Download
4 of 8

Benchmark vs Session

Before

One prompt, decode only, after first token

After

Whole request, thinking and wait included

JJM
Download
5 of 8

Where the Minutes Go

GoogleLinkedInLandingPagesDemos5-10/mo

Wait, think, stream, then the tools run

JJM
Download
6 of 8

Fast Mode Is a Purchase

2.5x decode speed moves a session far less than 2.5x. Buy it for long generation with few tool calls, not for waiting.

JJM
Download
7 of 8
Key Takeaway

Choose on the Current Week

Opus 5 gained 11 percent in six weeks; Codex lost 20 percent in seven days. Speed drifts. Measure your own sessions.

JJM
Download
8 of 8

Build Agents You Can Measure

We instrument every fleet we build from day one

Get Your Free AI Strategy
JJM

Share This Article

Spread the knowledge

Free Strategy Session

Stop Guessing.
Start Growing.

Get a custom strategy built around your goals, not generic advice. Real insights. Measurable results.

No obligation
30-min call
Custom strategy

Continue Your Learning Journey

Explore these related articles to deepen your understanding of ai development

Don't Let Your AI Agent Grade Its Own Homework

If your AI agent can edit the code that judges its own work, you don't have a quality gate — you have a suggestion. Ours proved the difference last week.

10 min read
Read →

We Ran the Major AI Tools for a Month: The 2026 Scorecard

A month running Cursor, Claude Code, Codex, Grok and Perplexity across our whole stack. The honest 2026 scorecard — and why agility now beats loyalty.

13 min read
Read →

When Is Claude Fable 5 Coming Back? What the Markets, the Mechanism and the Mob Actually Say

Eleven days after the US government switched off the most capable public AI on earth, nobody official has given a return date. So we read the three things that actually move it — the export mechanism, the betting markets, and the community — and landed on a real window. No hype, all receipts.

15 min read
Read →