ModelSpec is an analysis of alternatives for AI models: it decides which models fit a job from your requirements, sourced benchmarks and real cost, and shows its work.

Writing, balanced

Find an active text model that balances writing quality against task cost.

Worked example as of 2026-09-23, from the public data image.

Writing quality first, cost as a real second term.

Requirements

Preferences

Applied template spec
spec_version
1
where
  • model.class = text-generator
  • model.lifecycle = active
optimize
weights
writing
0.7
-offering.cost_per_task
0.3

Worked answer

Decision status: partial.

No recommendation: the public image has no answer with enough evidence.

This is a partial answer. Unknown facts or missing objective evidence can leave eligible candidates unranked.

probability bands: a model joins the leader when P(its score >= the leader's) >= 0.25 under the score posteriors; a weighted capability with an 80% interval wider than 2.8 is not enough evidence

Score and score interval use the objective's dimensionless normalised units. Cost per task is for the engine-selected offering and the applied spec's task size. When task size is omitted, the engine uses its documented default. P(best) is the engine probability. Unavailable means the engine did not return a value. Thin evidence is undetermined and is not a recommendation.

Thin evidence: undetermined

ModelScoreScore intervalP(best)Cost per task, USDCapability estimates and intervals
google/gemini-3-7-flash0.89501[0.510662, 1.279359]0.105468750.045
  • writing: 0.434597365; interval [-1.064541992, 1.933736721]; benchmarks 3; direct benchmarks 0
google/gemini-3-8-flash0.871835[0.487487, 1.256184]0.074218750.045
  • writing: 0.344204382; interval [-1.154934975, 1.843343738]; benchmarks 3; direct benchmarks 0
anthropic/claude-opus-4-60.829488[0.445139, 1.213837]0.089843750.3
  • writing: 0.690665563; interval [-0.808473794, 2.189804919]; benchmarks 3; direct benchmarks 0
google/gemini-3-1-pro-preview0.803801[0.419452, 1.18815]0.07031250.128
  • writing: 0.245370198; interval [-1.253769159, 1.744509554]; benchmarks 3; direct benchmarks 0
anthropic/claude-opus-4-70.771455[0.387106, 1.155803]0.050781250.3
  • writing: 0.464308039; interval [-1.034831318, 1.963447396]; benchmarks 3; direct benchmarks 0
zhipu/glm-5-30.771373[0.387024, 1.155722]0.050781250.0736
  • writing: 0.009738247; interval [-1.489401109, 1.508877604]; benchmarks 3; direct benchmarks 0
meta/muse-spark-1-30.767573[0.254606, 1.28054]0.0781250.067
  • writing: -0.018325411; interval [-2.019136338, 1.982485515]; benchmarks 1; direct benchmarks 0
google/gemini-3-5-flash0.761406[0.377057, 1.145755]0.031250.096
  • writing: 0.015804984; interval [-1.483334372, 1.514944341]; benchmarks 3; direct benchmarks 0
openai/gpt-5-6-sol0.755794[0.371446, 1.140143]0.05468750.24
  • writing: 0.282841067; interval [-1.216298289, 1.781980424]; benchmarks 3; direct benchmarks 0
google/gemini-2-5-flash0.727448[0.3431, 1.111797]0.035156250.022
  • writing: -0.265119831; interval [-1.764259188, 1.234019525]; benchmarks 3; direct benchmarks 0
meta/muse-spark-1-10.727135[0.214168, 1.240102]0.11718750.067
  • writing: -0.176054846; interval [-2.176865772, 1.824756081]; benchmarks 1; direct benchmarks 0
zhipu/glm-5-20.700861[0.316512, 1.08521]0.035156250.0736
  • writing: -0.265292672; interval [-1.764432028, 1.233846685]; benchmarks 3; direct benchmarks 0
anthropic/claude-fable-50.7[0.315651, 1.084349]0.0468750.6
  • writing: 0.787525395; interval [-0.711613961, 2.286664752]; benchmarks 3; direct benchmarks 0
anthropic/claude-opus-50.683727[0.299378, 1.068076]0.031250.3
  • writing: 0.122128685; interval [-1.377010672, 1.621268041]; benchmarks 3; direct benchmarks 0
deepseek/deepseek-v4-pro0.667182[0.282834, 1.051531]0.042968750.06864
  • writing: -0.406605901; interval [-1.905745257, 1.092533456]; benchmarks 3; direct benchmarks 0
openai/gpt-5-40.661807[0.277458, 1.046156]0.042968750.16
  • writing: -0.244266234; interval [-1.743405591, 1.254873122]; benchmarks 3; direct benchmarks 0
anthropic/claude-fable-5-10.620836[0.236487, 1.005184]0.031250.6
  • writing: 0.478747567; interval [-1.02039179, 1.977886923]; benchmarks 3; direct benchmarks 0
openai/gpt-6-astra0.546764[0.162415, 0.931112]0.011718750.6
  • writing: 0.189832533; interval [-1.309306823, 1.68897189]; benchmarks 3; direct benchmarks 0

Unknown requirements

Some candidates may qualify. Missing facts:

Engine warnings

Omitted result rows: models 6; offerings 11. The bands above include all ranked models.

Decision dec_9e16a1a5f5556aa38f8f6b78 on public snapshot snap_05a963d2477ac2fb.

What this template teaches

A 70/30 blend keeps quality in charge while letting a large price gap decide close calls.

The live board uses current data. Its answer can change as evidence changes.

Apply this template on Decide

Human lookup is free on Decide. CLI, API, and MCP access requires a key. Access and pricing.

Use-case examples · How we decide

Feedback