llm-connect/docs/image-model-selection.md
tegwick c0b7e54ed1
Some checks are pending
CI Smoke / container-smoke (push) Waiting to run
CI Smoke / host-smoke (push) Waiting to run
Render a hall portrait only for the entry about to be published
render-hall requires --entry and no longer walks the corpus. image plan
without --entry stays an inventory. LLM-WP-0010 records that existing seats
are historic and that the cooldown publisher comes later.

Assistant: grok
Assistant-Session: 01a11ab6-1534-7d63-8606-662b92a80ed6
2026-10-08 16:57:26 +02:00

4.4 KiB
Raw Permalink Blame History

Choosing an image model for llm_connect.images

llm_connect.images still requires an explicit model on a one-off render. llm-connect image render-hall --entry applies the tree to the single seat about to be published. A plain hall portrait — square technical illustration, no logos, no readable text — is general / Efficient. The corpus is not rendered ahead of that publication.

Source: intelligence-radar topic digest digests/topics/2026-10-08-1527_Image_Generation_with_Generative_AI_Digest.md (evidence observed 2026-10-08). Rankings and prices in this field change monthly. Re-derive the table from the digest's sources before relying on it after about 2026-11.

Picking a model

All IDs below are OpenRouter model IDs. Prices are for one 1024² image. The quote is the per-image estimate plus some margin, and the cap leaves room for the provider-reported cost to come in above the quote.

Need Model ≈ $/img --quote-usd --max-cost-usd
Best result, cost secondary (Frontier) openai/gpt-image-2.5-sunburst 0.21 0.25 0.30
Same quality, faster openai/gpt-image-2.5-flare 0.21 0.25 0.30
Near-frontier at scale (Efficient) google/gemini-nano-banana-2.1 0.034 0.04 0.08
Efficient, better-evidenced fallback microsoft/mai-image-2.6 0.039 0.045 0.08
Routine imagery (Budget) meta/muse-image 0.010 0.012 0.03
Drafts, thumbnails, bulk variants recraft/recraft-v4.1-flash 0.007 0.008 0.02
Text-heavy (posters, infographics, CJK) openai/gpt-image-2.5-sunburst 0.21 0.25 0.30
Brand / consistent style set recraft/recraft-v4-styles 0.035 0.04 0.08
Vector-style output recraft/recraft-v4.1-vector 0.08 0.09 0.15

Decision order:

  1. Need vector output, brand style, or heavy text? Take that row.
  2. Otherwise decide how much an excellent image is worth compared with a good one:
    • the image is the product → Frontier;
    • many images, and quality matters → Efficient;
    • illustrative or routine → Budget;
    • exploration → bulk.
  3. For important assets, explore cheap, then finish expensive. Render 10–20 Budget variants, then re-render the chosen one or two with the Frontier model. 20 × Muse plus 2 × Sunburst costs about the same as three Frontier attempts. This is a hypothesis to test with quality-ledger rows, not a measured result.

Not available on OpenRouter, and therefore not reachable from this module: self-hostable open weights (Qwen-Image-2.1, FLUX.2 [dev]), Ideogram, Midjourney and Reve.

Scoring rule behind the classes

Image leaderboards publish pairwise-preference Elo. Elo is an interval scale, so "within 10% of the best model" cannot be computed as a ratio of Elo values. The digest makes the scores usable as follows:

task_score(m) = P(m beats anchor) = 1 / (1 + 10^(-(Elo_m - Elo_anchor)/400))

Here the anchor is a fixed reference model. On the Artificial Analysis board that is FLUX.2 [dev], Elo 1000.

  • Frontier: the model with the highest task_score.
  • Topnotch: task_score >= 0.90 × task_score(frontier). With the Frontier at Elo 1198, this means Elo ≥ about 1133.
  • Efficient: the cheapest Topnotch model.
  • Sufficient / Budget: a per-task floor. For routine imagery the digest uses a provisional floor of Elo ≳ 1100, the level of the frontier from about ten months earlier. Budget is the cheapest model above that floor.

Callers that already use AdaptiveRoutingPolicy quality floors can use the same mapping. Convert Elo to an anchor win rate first, then apply a ratio floor. Do not threshold raw Elo differences across leaderboards: the scales differ. Arena's top gap is about 95 points where Artificial Analysis shows about 40.

Caveats

  • OpenRouter bills most image models through a per-token rate. For Recraft, Krea, Muse, Qwen, Seedream and FLUX 3, about 4,175 image tokens reproduces the vendor's per-image price. For OpenAI and Google, cost depends on the quality tier. Let the receipt's cost_source=provider correct the quotes after the first runs.
  • It is not verified here that every listed model accepts OpenRouter's /images endpoint with explicit size and aspect_ratio=1:1. Do one capped single render per model before running a batch.
  • Nano Banana 2.1 had only a few thousand arena votes on 2026-10-08. If its score drops, MAI-Image-2.6 becomes the Efficient pick.