{
  "_readme": [
    "Purpose: the shape cost-model.py expects. Copy this to cost-inputs.json and replace",
    "every number with one you measured or looked up. Platform: all. Minimum memory: 8 GB.",
    "Assumes: idle_watts and load_watts come from your own wall meter or per-track power",
    "reading, output_tokens_per_second from your own benchmark at the concurrency named,",
    "price_per_kwh from your own bill, and purchase_price from your own receipt.",
    "Nothing here is a measurement of anything. The numbers are round on purpose so that",
    "the arithmetic is easy to follow by hand, and _placeholder is true so that the script",
    "refuses to write them into your lab notebook."
  ],
  "_placeholder": true,

  "tariff": {
    "currency": "your currency",
    "price_per_kwh": 0.3,
    "source": "your own electricity bill",
    "checked_on": "the date you read the bill"
  },

  "machines": [
    {
      "id": "workstation",
      "name": "the machine you serve from",
      "purchase_price": 3000,
      "lifetime_years": 4,
      "service_hours_per_year": 500,
      "powered_hours_per_year": 8760,
      "idle_watts": 30,
      "load_watts": 150,
      "how_measured": "wall meter, ten-minute average, idle and under a sustained load test"
    },
    {
      "id": "laptop",
      "name": "a second machine, to show what changes",
      "purchase_price": 2000,
      "lifetime_years": 3,
      "service_hours_per_year": 200,
      "powered_hours_per_year": 2000,
      "idle_watts": 10,
      "load_watts": 90,
      "how_measured": "same method, same meter, same day"
    }
  ],

  "workloads": [
    {
      "id": "chat-single",
      "machine": "workstation",
      "model": "Qwen3-8B",
      "quant": "Q4_K_M",
      "context_length": 8192,
      "concurrency": 1,
      "output_tokens_per_second": 40,
      "share_of_machine": 1.0
    },
    {
      "id": "chat-four-way",
      "machine": "workstation",
      "model": "Qwen3-8B",
      "quant": "Q4_K_M",
      "context_length": 8192,
      "concurrency": 4,
      "output_tokens_per_second": 100,
      "share_of_machine": 1.0
    },
    {
      "id": "chat-laptop",
      "machine": "laptop",
      "model": "Qwen3-8B",
      "quant": "Q4_K_M",
      "context_length": 8192,
      "concurrency": 1,
      "output_tokens_per_second": 20,
      "share_of_machine": 1.0
    }
  ],

  "api_comparison": {
    "price_per_million_output_tokens": null,
    "source": "the provider's own pricing page, which you read yourself",
    "checked_on": "the date you read it",
    "note": [
      "This course quotes no hosted price, because a price quoted in a document is out of",
      "date the week after it is written and readers copy the number without the date.",
      "Look up the price for the model you would actually use as a substitute, put it here",
      "with the date, and re-check it whenever the answer starts to matter."
    ]
  }
}
