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):

usage
{
  "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 model
  • cached_tokens: cached input for that user input
  • orchestration_input_tokens: sum of input tokens used for orchestration
  • orchestration_input_cached_tokens: cached orchestration input
  • output_tokens: tokens in the final output
  • orchestration_output_tokens: output tokens from orchestration
  • total_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_tokens is priced at one blended rate. Input, cached, and output have different prices.
  • Do not treat Ultra max_output_tokens as 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.

Sources