VynarisEarly beta Kimi K3Get your API key

AI tutor cost per student-hour: 40 turns bill 639k tokens, caching cuts 77%

A 1:1 AI tutor bills 639k input tokens per 40-turn hour: every turn re-sends the dialogue, so caching cuts the frontier bill 77%. Verified 2026-07-30.

A 1:1 conversational AI tutor costs $0.0093 to $0.80 per student-hour across six models, cached, with prices verified 2026-07-30. One lever sets that bill, and it is not the model you pick. A 40-turn tutoring hour re-sends its whole growing history on every turn, so it bills 639,000 input tokens even though the context ends at only 30,600. Caching that growing prefix turns a quadratic token curve into a near-linear one and cuts the frontier bill 77%.

TL;DR

The finding, before the model

A conversational tutor holds a back-and-forth with one student: the student asks or shows their working, the model responds, and the exchange repeats for the length of a session. Each turn feeds the model the whole conversation so far, because that history is the context the tutor needs to stay coherent. That single fact is the entire cost story.

The history grows every turn. By turn 40 the context holds about 30,600 tokens. But you do not pay for 30,600 tokens once. You pay for the context at turn 1, plus the context at turn 2, plus every turn through 40, and that sum is 639,000 input tokens. The per-turn input averages 15,975 tokens even though the session never holds more than 30,600 at once. This is quadratic growth inside a single hour: double the turns and the token bill roughly quadruples.

Prompt caching is the fix, and this workload is close to its ideal case. The conversation prefix grows monotonically within the hour: turn 40's context contains turn 39's context unchanged, plus new tokens on the end. So on every turn the entire prior context is a clean cache hit at 10% of input price, and only the student's newest message is full price. Nothing in the middle of the prompt changes, so nothing forces a cache rebuild.

We built this from public pricing only. No product data. Every token count is an assumption you can edit, and every price is from a provider's live page, captured 2026-07-30.

The verdict, cached, per student-hour

Model                                                                      Cost / student-hour  When to pick it
-------------------------------------------------------------------------  -------------------  -----------------------------------------------------------------------------------------------------------
[deepseek-v4-flash](https://vynaris.com/models#deepseek-v4-flash)          $0.0093              Default floor. Cache hit at 0.02x makes a long dialogue almost free, if it clears your tutoring-quality bar
[gemini-3.5-flash-lite](https://vynaris.com/models#gemini-3-5-flash-lite)  $0.0574              Cheap non-DeepSeek option inside Google's stack
[gpt-5.4-mini](https://vynaris.com/models#gpt-5-4-mini)                    $0.1226              OpenAI-native shops wanting a mid workhorse tutor
[claude-haiku-4.5](https://vynaris.com/models#claude-haiku-4-5)            $0.1591              Strong instruction-following per dollar for structured tutoring
[claude-sonnet-4.6](https://vynaris.com/models#claude-sonnet-4-6)          $0.4773              When explanation quality on hard concepts justifies 3x Haiku
[claude-opus-4.8](https://vynaris.com/models#claude-opus-4-8)              $0.7954              The hard tail: advanced tutoring or Socratic depth, not the default

The cached spread is 85x, from under a cent to $0.80 per student-hour. That is wider than the 38x uncached spread, because DeepSeek's cache-hit tier drops its re-sent tokens harder than the flat 0.1x the others offer. Caching does not just lower the bill; it changes how far apart the models sit.

The workload (edit these)

One student-hour is the outcome unit: roughly 40 turns of dialogue between one student and the tutor.

Assumption       Value                                                                   Note
---------------  ----------------------------------------------------------------------  --------------------------------------------------------
Turns per hour   40                                                                      one student-hour of active back-and-forth
Pedagogy prefix  900 input tokens                                                        persona, problem set, rubric; sent every turn, cacheable
Student message  450 tokens / turn                                                       the student shows their working or asks
Assistant reply  300 [output tokens](https://vynaris.com/glossary/output-tokens) / turn  the tutor's response
History growth   750 tokens / turn                                                       student message plus assistant reply, appended each turn
Final context    30,600 tokens                                                           turn 40 input

The number to argue with is the student message size. A 450-token turn assumes the student pastes an attempt or a chunk of work, which is why the context reaches 30k over an hour. A tutor answering one-line questions grows slower and costs less, and the whole curve scales with it. What does not change is the shape: input grows with the sum of context sizes, so the bill is quadratic in turn count. Per student-hour this rolls up to 639,000 uncached input tokens and 12,000 output tokens.

The model fee, six models

Same workload, same cost-per-token math, six models spanning the price ladder, uncached versus cached. Prices verified 2026-07-30.

Model                  Uncached / 1k hours  Cached / 1k hours  Caching saves
---------------------  -------------------  -----------------  -------------
deepseek-v4-flash      $92.82               $9.35              89.9%
gemini-3.5-flash-lite  $221.70              $57.43             74.1%
gpt-5.4-mini           $533.25              $122.58            77.0%
claude-haiku-4.5       $699.00              $159.09            77.2%
claude-sonnet-4.6      $2,097.00            $477.27            77.2%
claude-opus-4.8        $3,495.00            $795.45            77.2%
Horizontal grouped bar chart, single blue hue, log x-axis, of 1:1 AI tutor cost per 1,000 student-hours uncached versus cached for six models: deepseek-v4-flash $92.82/$9.35, gemini-3.5-flash-lite $221.70/$57.43, gpt-5.4-mini $533.25/$122.58, claude-haiku-4.5 $699/$159.09, claude-sonnet-4.6 $2097/$477.27, claude-opus-4.8 $3495/$795.45
1:1 AI tutor cost per 1,000 student-hours, uncached vs cached. Caching the growing conversation prefix cuts 74-90%. Prices verified 2026-07-30.

Caching is worth a flat 77% on the three Anthropic models and on gpt-5.4-mini, because 95.2% of the 639,000 input tokens are re-sent history that reads back at a tenth of input price. DeepSeek beats that at 89.9%, because its cache hit is priced at $0.0028 per million, 2% of its miss rate, so the re-sent prefix is nearly free. Flash-Lite saves a slightly lower 74.1%, because its output rate ($2.50) is high relative to its input rate ($0.30), so the 12,000 output tokens are a bigger share of a bill that caching cannot touch.

Why the curve is quadratic, and how caching bends it

Walk the two turns that make the shape obvious. At turn 1 the model sees 1,350 tokens. At turn 40 it sees 30,600. The input climbs by 750 tokens every turn, so the total across 40 turns is the sum of that climbing series, 639,000 tokens, not the 30,600-token peak. A cost model that multiplies "final context times turns" or, worse, charges the context once, understates a real tutoring bill by roughly 20x.

Caching attacks the re-send directly. Across the hour, only 30,600 distinct input tokens ever exist; the other 608,400 are the same tokens sent again and again. With the prefix cached, those 30,600 distinct tokens are each written to cache once, and the 608,400 re-sends read at 0.1x. The cache write costs a 1.25x premium on the first appearance for Anthropic's 5-minute cache, but a single reuse already pays that back, and here every token is reused up to 39 times. This is the mirror image of the 33k-token scaffolding tax: there the expensive prefix is fixed and identical on every request; here it grows every turn and still caches cleanly, because it only ever grows on the end.

Run the shape on your own numbers in the calculator with the uncached student-hour pre-filled.

Where routing changes the unit economics (and where it does not)

For most cost playbooks, a cheap-first router with escalation is the headline saving. Here it is a footnote, and that is the honest finding. Caching already cuts every model 74% to 90%, so the routing question is what is left after caching, not before it.

The real lever is not model swaps but session length, because the cost is quadratic in turns. Compare a full 40-turn hour on cached claude-haiku-4.5 at $0.1591 against just 10 turns on cached claude-opus-4.8 at $0.1452. A frontier model kept to a short session costs about the same as a cheap model run for a full hour. So the routing decision that pays is temporal: use a stronger model for a tight, high-value stretch (a hard concept, an exam-prep drill) and a cheap model for the long tail of routine practice, rather than picking one model for the whole session. A full Opus hour is 5x a full Haiku hour; ten focused Opus turns are not.

If you do route by model, gate on the same free signal a tutor already has: the student's answer is right or wrong. Escalate to a stronger model when a student keeps missing after a cheap model's explanations, not on a guessed confidence score.

Build notes

A token model does not capture the constraints that decide a tutoring agent.

When this workload does not need a router

The honest tradeoff: for a tutor, caching is the decision, and a model router is optional. If one cheap model tutors well enough for your subject, cache its conversation and stop. At cached deepseek-v4-flash you are at under a cent per student-hour, and cached claude-haiku-4.5 is $0.16 with strong instruction-following. A frontier model earns its place only where explanation quality on hard concepts measurably improves learning, and even then the cheaper move is to shorten its sessions, not to run it for the full hour. Route by session length and by right-or-wrong outcomes, never to shave a bill that caching already made small.

FAQ

What does a 1:1 AI tutor cost per student-hour? In model fees, $0.0093 to $0.80 per student-hour cached, across deepseek-v4-flash through claude-opus-4.8, on a 40-turn hour whose context window grows to 30,600 tokens with 300 output tokens per turn. Uncached the same hour is $0.09 to $3.50. Prices verified 2026-07-30.

Why does a 40-turn hour bill 639,000 input tokens? Every turn re-sends the whole conversation so far, so you pay for the context at turn 1 plus turn 2 plus every turn through 40. That sum is 639,000 tokens, about 20x the 30,600-token final context. The growth is quadratic in turn count.

Why is caching decisive for a tutor? The conversation prefix grows only on the end, so 95.2% of input is re-sent history that a cache reads back at 10% of input price, or 2% on DeepSeek. Caching cuts the bill 74% to 90% and is a bigger lever than switching models.

Does prompt caching survive a student's think-time? The 5-minute cache does not if a pause exceeds the window; the next turn then re-writes the prefix. Anthropic's 1-hour cache survives at a 2x write premium, raising the cached hour about 14% but avoiding a full mid-session re-write. For slow tutoring, prefer the 1-hour cache.

Is a frontier model ever the cheap choice here? Only in short bursts. Ten turns of cached claude-opus-4.8 cost about the same as a full 40-turn hour of cached claude-haiku-4.5. Because cost is quadratic in turns, the lever is session length, so use the frontier model for a tight high-value stretch, not the whole hour.

Sources

Prices change. We re-verify every figure in this post monthly and stamp updates. Numbers here are current as of 2026-07-30.

The lesson from the model: a tutor's bill is set by the re-send, not the model. Forty turns bill 639,000 input tokens because every turn re-sends the whole dialogue, so cache the growing prefix and 95% of that input reads back at a tenth of price. Then, if you route at all, route on session length and on right-or-wrong outcomes, because cost is quadratic in turns. Vynaris is an OpenAI-compatible gateway that caches the growing conversation prefix, routes on real outcomes, and shows the per-student-hour cost so you watch the number that matters. One base URL swap. Get an API key at vynaris.com.