Cost accounting
Sakana Fugu orchestration tokens are extra work, not a footnote
OpenAI-shaped field names make it easy to treat token_details as a breakdown of the totals you already counted. Official Sakana pricing documentation says the opposite for Ultra: orchestration fields are additional real usage and are billed at the matching input, cached, or output rate.
1. Store the official object, not a guessed subset
The live pricing and models pages publish this shape for Ultra (and, on the Models page, for Cyber as well):
{
"input_tokens": 120,
"output_tokens": 80,
"total_tokens": 200,
"input_tokens_details": {
"cached_tokens": 0,
"orchestration_input_tokens": 0,
"orchestration_input_cached_tokens": 0
},
"output_tokens_details": {
"orchestration_output_tokens": 0
}
}
Official field meanings:
input_tokens: tokens from the user input sent to the first modelcached_tokens: cached input for that user inputorchestration_input_tokens: sum of input tokens used for orchestrationorchestration_input_cached_tokens: cached orchestration inputoutput_tokens: tokens in the final outputorchestration_output_tokens: output tokens from orchestrationtotal_tokens: total including orchestration
2. The billable totals are sums, then rates
Billable input = input_tokens + orchestration_input_tokens
Billable cached input = cached_tokens + orchestration_input_cached_tokens
Billable output = output_tokens + orchestration_output_tokens
Estimate = input/1M × input rate + cached/1M × cached rate + output/1M × output rate
Ultra’s published standard rates on August 17, 2026 are $5 input, $0.50 cached, and $30 output per million tokens. Above 272K context the published rates become $10 / $1.00 / $45. Apply the higher tier only when that request’s context crossed the threshold.
3. A worked Ultra example with the same rates the calculator uses
Suppose one standard-context Ultra request reports 1,000,000 user input, 250,000 cached input, 250,000 final output, 2,000,000 orchestration input, 500,000 orchestration cached input, and 500,000 orchestration output.
- Billable input = 3,000,000 → $15.00
- Billable cached input = 750,000 → $0.375
- Billable output = 750,000 → $22.50
- Total = $37.875
If you had ignored orchestration, you would have stored $12.625 and argued with finance later. The Ultra calculator is that arithmetic with the fields labeled. It still cannot price standard Fugu or Cyber.
4. Operational rules that prevent a second argument
- Persist the raw usage object beside the computed currency amount and the rate version you applied.
- Do not assume
total_tokensis priced at one blended rate. Input, cached, and output have different prices. - Do not treat Ultra
max_output_tokensas a spend cap. Official docs say it limits the final model, not the orchestrator. - Split mixed traffic: requests under 272K and requests over 272K are two calculations.
- If a partner route does not return these fields, you cannot reuse this formula without new evidence.
Keep the raw JSON even when the computed dollar amount looks tidy. A later pricing-page change, or a later realization that cached orchestration was omitted, is cheaper to fix from stored fields than from a screenshot of a total.