{
  "status": "ok",
  "verdict": "self_host_needs_throughput",
  "headline": "The API is cheaper below 432 million tokens a day. Above that, self-hosting wins only if the whole configuration (all GPUs together) delivers at least 10,010 tokens per second, input and output together, while serving at 50% utilization (5,005 if it were busy all the time).",
  "headline_kind": "break_even_and_required_throughput",
  "headline_values": {
    "prefix": null,
    "break_even_m": 432,
    "required_tps_at_utilization": 10010,
    "utilization_percent": 50,
    "required_tps_if_always_busy": 5005
  },
  "confidence": "none",
  "threshold_m_tokens_per_day": 432.42,
  "required_tokens_per_second": {
    "at_full_utilization": 5004.9,
    "at_utilization": 10009.7,
    "utilization_percent": 50
  },
  "break_even_utilization_percent": null,
  "utilization_percent": 50,
  "api": {
    "provider": "NanoGPT",
    "usd_per_m_tokens": 1.15,
    "checked_at": "2026-10-31T15:00:52.150Z",
    "offers_compared": 20,
    "mix": {
      "source": "default_3_1",
      "input_share_percent": 75
    },
    "basis": "cheapest of 20 current standard offers for a 3:1 input:output mix (blended), promotions, unstable prices, off-peak prices without published hours and unverified prices far below those of the other providers excluded"
  },
  "model": {
    "id": "z-ai/glm-5.1",
    "name": "Z.ai: GLM 5.1",
    "params_b": 753.864,
    "kind": "moe",
    "active_params_b": null,
    "weights_gb": 753.86,
    "quantization": "fp8"
  },
  "configuration": {
    "vendor": "AMD",
    "throughput_evidence": "none",
    "engine_note": "We have no measured, derived or estimated throughput for this model on this card, and we have not assessed inference-engine support for it.",
    "gpu_id": "mi300x-192gb",
    "gpu_name": "MI300X 192GB",
    "gpus_needed": 8,
    "gpus_billed": 8,
    "provider": "DigitalOcean",
    "region": null,
    "tier": "guaranteed",
    "usd_per_gpu_hour": 2.59,
    "usd_per_hour": 20.72,
    "usd_per_day": 497.28,
    "vram_total_gb": 1536,
    "weights_share": 0.491,
    "checked_at": "2026-10-31T12:26:27.136Z",
    "source_url": "https://www.digitalocean.com/pricing/gpu-droplets"
  },
  "weights_margin": {
    "used_percent": 70,
    "default_percent": 70,
    "explanation": "The weights may fill 70% of the GPU memory; the rest is the engine's reserve and the context cache (default 70%)."
  },
  "throughput": {
    "status": "unavailable",
    "reason": "unknown_bandwidth"
  },
  "scenarios": null,
  "volume_m_tokens_per_day": null,
  "assumptions": [
    "Hardware rental only: the hourly price the provider publishes for the machine. It does not count the engineering to deploy and run the model, monitoring, redundancy, start-up time, or storage and network costs billed separately.",
    "Configuration: we pick the cheapest one whose weights fit. If a configuration costing up to 25% more has a measured throughput, we pick it instead; failing that, one with a derived throughput; failing that, one with a published lower bound that settles the verdict; among equals, the cheaper. A configuration whose throughput is only a wide estimate is never preferred over the cheapest. This is our rule, not a technical requirement.",
    "Quantization fp8; guaranteed tier prices as published by the provider; utilization 50%.",
    "Throughput is aggregate (input and output tokens, 3:1). Published figures in generated tokens are converted with a prefill/generation speed ratio of 3 (prudent), 5 (median) and 8 (optimistic).",
    "Break-even = daily GPU cost / API price per million tokens (432 million tokens a day). Self-hosting is cheaper only if the average utilization you can sustain exceeds break-even / raw capacity (the break-even utilization of each scenario), whatever the number of GPUs."
  ],
  "fetched_at": "2026-10-31T15:22:57.527Z"
}