{
  "window": "30d",
  "license": {
    "id": "CC-BY-4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Measured by batchwatch - https://batchwatch.dev",
    "attribution_html": "Measured by <a href=\"https://batchwatch.dev\">batchwatch</a>",
    "source_url": "https://batchwatch.dev/license"
  },
  "models": [
    {
      "provider": "openai",
      "model": "gpt-5-nano",
      "mode": "batch",
      "requested_service_tier": "standard",
      "n": 3863,
      "completed_calls": 7695,
      "contributors": 0,
      "probes": 7695,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 73,
      "p90_s": 1776,
      "p95_s": 6655,
      "latest_at": 1792214141,
      "last_measured_age_s": 728,
      "answerable": true,
      "confidence": "very_low"
    },
    {
      "provider": "openai",
      "model": "gpt-5-nano",
      "mode": "sync",
      "requested_service_tier": "flex",
      "n": 3938,
      "completed_calls": 4194,
      "contributors": 0,
      "probes": 4194,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 2,
      "p90_s": 3,
      "p95_s": 3,
      "latest_at": 1792214574,
      "last_measured_age_s": 295,
      "answerable": true,
      "confidence": "very_low",
      "measurement_basis": {
        "measured_at_input_tokens": 8,
        "floor_clause": "Flex is measured at 8 input tokens and is synchronous, so that figure is the model's own work and a longer prompt makes it larger: read it as a floor. A batch figure is dominated by the wait to be scheduled, so the same extra work is a much smaller part of it.",
        "note": "Flex latency is measured on a fixed 8-input-token probe, the same fixed prompt size our batch probes use. A flex call is synchronous, so the figure is the model's own work and it grows with the prompt: read it as the floor a larger prompt starts from. A batch figure is dominated by queue time -- the wait to be scheduled -- so the same extra work is a much smaller part of it. The refusal rate is unaffected by prompt size: admission control happens before inference, so this probe measures it exactly as well as a large one would."
      }
    },
    {
      "provider": "google",
      "model": "gemini-3.6-flash",
      "mode": "sync",
      "requested_service_tier": "flex",
      "n": 3312,
      "completed_calls": 3913,
      "contributors": 0,
      "probes": 3913,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 1,
      "p90_s": 2,
      "p95_s": 2,
      "latest_at": 1792214576,
      "last_measured_age_s": 293,
      "answerable": true,
      "confidence": "very_low",
      "measurement_basis": {
        "measured_at_input_tokens": 8,
        "floor_clause": "Flex is measured at 8 input tokens and is synchronous, so that figure is the model's own work and a longer prompt makes it larger: read it as a floor. A batch figure is dominated by the wait to be scheduled, so the same extra work is a much smaller part of it.",
        "note": "Flex latency is measured on a fixed 8-input-token probe, the same fixed prompt size our batch probes use. A flex call is synchronous, so the figure is the model's own work and it grows with the prompt: read it as the floor a larger prompt starts from. A batch figure is dominated by queue time -- the wait to be scheduled -- so the same extra work is a much smaller part of it. The refusal rate is unaffected by prompt size: admission control happens before inference, so this probe measures it exactly as well as a large one would."
      }
    },
    {
      "provider": "openai",
      "model": "gpt-5.6-sol",
      "mode": "sync",
      "requested_service_tier": "flex",
      "n": 3764,
      "completed_calls": 3768,
      "contributors": 0,
      "probes": 3768,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 1,
      "p90_s": 6,
      "p95_s": 8,
      "latest_at": 1792214573,
      "last_measured_age_s": 296,
      "answerable": true,
      "confidence": "very_low",
      "measurement_basis": {
        "measured_at_input_tokens": 8,
        "floor_clause": "Flex is measured at 8 input tokens and is synchronous, so that figure is the model's own work and a longer prompt makes it larger: read it as a floor. A batch figure is dominated by the wait to be scheduled, so the same extra work is a much smaller part of it.",
        "note": "Flex latency is measured on a fixed 8-input-token probe, the same fixed prompt size our batch probes use. A flex call is synchronous, so the figure is the model's own work and it grows with the prompt: read it as the floor a larger prompt starts from. A batch figure is dominated by queue time -- the wait to be scheduled -- so the same extra work is a much smaller part of it. The refusal rate is unaffected by prompt size: admission control happens before inference, so this probe measures it exactly as well as a large one would."
      }
    },
    {
      "provider": "openai",
      "model": "gpt-5.6-luna",
      "mode": "batch",
      "requested_service_tier": "standard",
      "n": 3230,
      "completed_calls": 3231,
      "contributors": 0,
      "probes": 3231,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 79,
      "p90_s": 525,
      "p95_s": 1559,
      "latest_at": 1792214042,
      "last_measured_age_s": 827,
      "answerable": true,
      "confidence": "very_low"
    },
    {
      "provider": "anthropic",
      "model": "claude-haiku-4-5",
      "mode": "batch",
      "requested_service_tier": "standard",
      "n": 2583,
      "completed_calls": 2807,
      "contributors": 0,
      "probes": 2807,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 117,
      "p90_s": 252,
      "p95_s": 364,
      "latest_at": 1792213508,
      "last_measured_age_s": 1361,
      "answerable": true,
      "confidence": "very_low"
    },
    {
      "provider": "google",
      "model": "gemini-3.7-flash",
      "mode": "batch",
      "requested_service_tier": "standard",
      "n": 2298,
      "completed_calls": 2314,
      "contributors": 0,
      "probes": 2314,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 136,
      "p90_s": 182,
      "p95_s": 184,
      "latest_at": 1792213558,
      "last_measured_age_s": 1311,
      "answerable": true,
      "confidence": "very_low"
    },
    {
      "provider": "openai",
      "model": "gpt-5.6-sol",
      "mode": "batch",
      "requested_service_tier": "standard",
      "n": 1648,
      "completed_calls": 1726,
      "contributors": 0,
      "probes": 1726,
      "crowdsourced": false,
      "probe_only": true,
      "p50_s": 51,
      "p90_s": 295,
      "p95_s": 802,
      "latest_at": 1792214107,
      "last_measured_age_s": 762,
      "answerable": true,
      "confidence": "very_low"
    }
  ]
}