{
  "_note": "Direct provider APIs (no OpenRouter). Model IDs picked from each provider's live /models list on 19 Oct 2026 ~13:15 CEST. Prices = public list prices per 1M tokens (USD) from the provider pricing pages on 19 Oct 2026 (see pricing_sources). Standard tier, no batch, no data-residency uplift.",
  "candidates": [
    {
      "label": "GPT (OpenAI)",
      "provider": "openai",
      "model": "gpt-6.1-sol",
      "family": "openai"
    },
    {
      "label": "Claude (Anthropic)",
      "provider": "anthropic",
      "model": "claude-sonnet-5-5",
      "family": "anthropic"
    },
    {
      "label": "Gemini (Google)",
      "provider": "google",
      "model": "gemini-3.8-flash",
      "family": "google"
    },
    {
      "label": "The cheap intern",
      "provider": "deepseek",
      "model": "deepseek-flash",
      "family": "deepseek",
      "_note": "API id deepseek-flash = DeepSeek-V4.1-Flash-1017 per DeepSeek docs"
    }
  ],
  "judges": [
    {
      "provider": "openai",
      "model": "gpt-6-sol",
      "family": "openai"
    },
    {
      "provider": "anthropic",
      "model": "claude-opus-5-5",
      "family": "anthropic"
    },
    {
      "provider": "google",
      "model": "gemini-4-argon",
      "family": "google"
    }
  ],
  "judge_policy": "No candidate model is used as a judge. Each draft is graded blind by the first 2 judges (in list order) whose family differs from the candidate's: GPT<-Opus+Argon, Claude<-GPT-6-sol+Argon, Gemini<-GPT-6-sol+Opus, DeepSeek<-GPT-6-sol+Opus. Scores averaged; disagreements go to the automated spot-check queue.",
  "pricing_usd_per_mtok": {
    "gpt-6.1-sol": {
      "in": 2.0,
      "cached_in": 0.1,
      "cache_write": 2.5,
      "out": 10.0
    },
    "gpt-6-sol": {
      "in": 2.0,
      "cached_in": 0.2,
      "cache_write": 2.5,
      "out": 10.0
    },
    "claude-sonnet-5-5": {
      "in": 2.0,
      "cached_in": 0.1,
      "cache_write": 2.5,
      "out": 10.0
    },
    "claude-opus-5-5": {
      "in": 4.0,
      "cached_in": 0.2,
      "cache_write": 5.0,
      "out": 20.0
    },
    "gemini-3.8-flash": {
      "in": 0.75,
      "cached_in": 0.075,
      "out": 3.75,
      "_note": "promo price through 31 Dec 2026; doubles 1 Jan 2027"
    },
    "gemini-4-argon": {
      "in": 2.0,
      "cached_in": 0.1,
      "out": 10.0,
      "_note": "promo price through 30 Nov 2026; doubles 1 Dec 2026"
    },
    "deepseek-flash": {
      "in": 0.3,
      "cached_in": 0.006,
      "out": 1.2,
      "offpeak_factor": 0.5,
      "_note": "peak price; off-peak (outside 01-04 & 06-10 UTC Mon-Fri) is half"
    },
    "deepseek-v4-pro": {
      "in": 1.32,
      "cached_in": 0.044,
      "out": 3.96,
      "offpeak_factor": 0.5,
      "_note": "peak price; off-peak half (DeepSeek pricing page 19 Oct 2026)"
    }
  },
  "pricing_sources": [
    "https://platform.openai.com/docs/pricing",
    "https://docs.anthropic.com/en/docs/about-claude/pricing",
    "https://ai.google.dev/gemini-api/docs/pricing",
    "https://api-docs.deepseek.com/quick_start/pricing"
  ],
  "settings_note": "temperature is NOT sent: OpenAI gpt-6.x/5.6 only accept the default (1) and Anthropic 5.5 models reject temperature ('deprecated'). All models therefore run at provider defaults (default reasoning effort). JSON mode where the API has it (OpenAI, DeepSeek, Gemini); Claude gets the identical prompt without a JSON mode. Same system prompt, knowledge base and user message for all.",
  "repeats": 2,
  "max_output_tokens": 6000,
  "judge_max_output_tokens": 6000,
  "max_usd": 40.0,
  "concurrency_per_model": 6,
  "tiebreak_judge": {
    "provider": "deepseek",
    "model": "deepseek-v4-pro",
    "family": "deepseek",
    "_note": "extra independent judge for the Gemini verdict tie-break (not Gemini family, not a candidate model, never flagged these drafts)"
  }
}