Skip to content

Pricing

Simple and usage-based. You pay for what a run produces — the capacity you add to a model and the training you run on it. No instances to size, no commitments. Estimate any run before you launch it.

Training runs

A training run has up to three line items:

Line itemCharges forRate
GrowthParameters added to the model$25 / 1B params added
TrainingTraining tokens processed (tiered by model size)$3–$100 / 1M tokens
MinimumPer-run floor, applied only when the above fall below it$2 / run

Training token tiers

The per-token rate is set by the size of the model you produce:

Model sizePrice / 1M training tokens
≤ 3B$3
3 – 8B$6
8 – 34B$12
34 – 80B$25
80 – 200B$45
200B – 1T$100

What's a "training token"?

Training tokens = total_steps × sequence_length — the tokens your model processes during training (your dataset, cycled across all steps). It's the same definition cloud fine-tuning uses (dataset_tokens × epochs).

Contraction runs

Contraction shrinks an existing model. It's a flat price per run, set by the size of the model you contract:

Model sizePrice / run
≤ 3B$9
3 – 8B$20
8 – 34B$50
34 – 80B$150
80 – 200B$350
200B – 1T$800

Examples

A training run's price has two independent parts — how much you grow the model (parameters added) and how much you train it (tokens). They're separate line items:

RunGrowthTrainingTotal
Grow 1.5B → 2.36B (+0.82B), 1 turn+0.82B × $25 = $201.5M tok × $3 = $5$25
Same, 2 turns (recommended)+0.82B × $25 = $203M tok × $3 = $9$30
Grow 70B → 90B (+20B), 1 turn+20B × $25 = $5001.5M tok × $45 = $68$568
Contract a 70B model$150 (flat)

Where the token count comes from

Training tokens are not related to the parameter growth. They're how much data the model trains on, driven by turns — each turn is a full pass (~1.5M tokens). So 2 turns ≈ 2× the training line; the growth fee is unchanged. You set how big to grow and how many turns to train separately.

Estimate before you launch

Get an exact quote for any run with POST /pricing/estimate — the same call the console uses on the New Run screen:

bash
curl https://console.axomlabs.ai/api/pricing/estimate \
  -H "Authorization: Bearer $AXOM_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "type": "train", "params_before": 70000000000,
        "params_after": 90000000000, "train_steps": 5000 }'
json
{ "total_usd": 557.6, "unit": "1M-tokens", "qty": 1.28,
  "line_items": [
    { "label": "training", "qty": 1280000, "unit": "1M-tokens", "rate": 45.0, "amount": 57.6 },
    { "label": "growth",   "qty": 20000000000, "unit": "params", "rate": 25.0, "amount": 500.0 } ] }

Billing

Every finished run produces one itemized charge, readable via GET /jobs/{id}/result (cost_usd) and aggregated in GET /usage. The console shows it on each run and on your usage dashboard.

Enterprise & volume

Models above 200B, committed volume, and private deployments are custom — talk to us.

Fusion Training Console