Target vs maximum
The estimate and the enforced ceiling.
targetOutputTokens is the engine's estimate of the output tokens the
answer needs. Nothing is enforced against it. Estimated sufficient output in a
meted eval report is the sum of targets.
maxOutputTokens is the ceiling. When a mode applies an allocation, this
value becomes max_tokens or max_completion_tokens on the upstream request.
Target 38
Maximum 64
Why they differ
The target is an estimate, and an estimate can be low. If the ceiling equalled
the target, any request the engine underestimated would stop mid-answer with
finish_reason: "length", returning a partial response that has already been
paid for.
The ceiling is the target multiplied by a headroom factor keyed to complexity:
| Complexity | Headroom |
|---|---|
trivial | ×2.0 |
simple | ×1.7 |
moderate | ×1.55 |
complex | ×1.4 |
open_ended | ×1.3 |
Simpler tasks get a larger multiplier because their targets are small, and the engine's absolute error does not shrink in proportion. A 20-token error against a 3,000-token target is under one percent; the same error against a 30-token target is two thirds of the answer. Multiplying by 1.7 rather than 1.3 keeps the headroom large enough to absorb it.
For the example above: 38 × 1.7 = 64.6, rounded to 64.
Reasoning models
Models like o3 and gpt-5 bill hidden reasoning tokens against the same
completion ceiling. A ceiling sized only for the visible answer would truncate
every reply before it started.
Meted reserves for it, scaled by complexity:
$ meted inspect "Explain the CAP theorem" --model o3-mini --verbose
explanation · moderate
Target 320
Maximum 1216
Rationale
reasoning_reserve:717 Extra ceiling reserved for hidden reasoning tokens
Caps
The ceiling is then clamped, in order:
- To the model's maximum output tokens, if Meted knows the model
- To your own
max_tokens, if you set one
Unknown models get a conservative ceiling and a model_unknown rationale code.
What gets applied
The mode decides. balanced applies maximum as-is; conservative applies
maximum × 1.5; aggressive applies maximum × 0.8, never below target.
$ meted inspect "What is a semaphore?" --mode balanced
definition · simple
Target 38
Maximum 64
Applied 96 (balanced)
The applied value is 96 rather than 64 because balanced has a floor of 96
tokens. The floor is the lowest ceiling a mode will send upstream, whatever the
engine returned.