{
  "status": "ok",
  "verdict": "self_host_needs_throughput",
  "headline": "The API is cheaper below 716 million tokens a day. Above that, self-hosting wins only if the whole configuration (all GPUs together) delivers at least 16,563 tokens per second, input and output together, while serving at 50% utilization (8,282 if it were busy all the time). A published benchmark (InferenceX, SemiAnalysis) gives a floor of 3,015 tokens per second, input and output together, for a 3:1 input:output mix; the real capacity may be higher, so this does not settle it.",
  "headline_kind": "break_even_and_required_throughput",
  "headline_values": {
    "prefix": null,
    "break_even_m": 716,
    "required_tps_at_utilization": 16563,
    "utilization_percent": 50,
    "required_tps_if_always_busy": 8282,
    "floor_note": "does_not_settle",
    "floor_total_tps": 3015,
    "mix": "default_3_1"
  },
  "confidence": "lower_bound",
  "threshold_m_tokens_per_day": 715.51,
  "required_tokens_per_second": {
    "at_full_utilization": 8281.4,
    "at_utilization": 16562.8,
    "utilization_percent": 50
  },
  "break_even_utilization_percent": null,
  "utilization_percent": 50,
  "api": {
    "provider": "Featherless",
    "usd_per_m_tokens": 0.695,
    "checked_at": "2026-10-31T21:32:19.469Z",
    "offers_compared": 6,
    "mix": {
      "source": "default_3_1",
      "input_share_percent": 75
    },
    "basis": "cheapest of 6 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": "deepseek/deepseek-r1-0528",
    "name": "DeepSeek: R1 0528",
    "params_b": 684.531,
    "kind": "moe",
    "active_params_b": null,
    "weights_gb": 684.53,
    "quantization": "fp8"
  },
  "configuration": {
    "vendor": "AMD",
    "throughput_evidence": "lower_bound",
    "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.446,
    "checked_at": "2026-10-31T18:22:19.014Z",
    "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": "lower_bound",
    "at_least_tokens_per_second": 3015,
    "published_output_tokens_per_second": 1507.5,
    "sufficient_utilization_percent": null,
    "conversion": "The InferenceX benchmark (SemiAnalysis) served this many output tokens per second, and as many input tokens (1,024 in / 1,024 out). For a mix with at least as much input, we assume reading a prompt token costs no more than generating one, and count it as equal (the least favourable case): at least twice the output figure in input plus output tokens.",
    "source": "InferenceX (SemiAnalysis)",
    "engine": "sglang",
    "reference": {
      "model_id": "deepseek/deepseek-r1-0528",
      "gpu_id": "mi300x-192gb",
      "source_url": "https://github.com/SemiAnalysisAI/InferenceX/actions/runs/26008678094/attempts/1"
    }
  },
  "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%.",
    "Lower bound: the benchmark's series (InferenceX, SemiAnalysis) stopped while throughput was still rising, so its output figure is a floor of the real capacity. It can decide that self-hosting wins, never that the API is cheaper. It was measured with 1,024-token prompts and 1,024-token answers: longer requests are slower.",
    "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 (716 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-31T22:50:38.378Z"
}