Axis Spatial

Codex – gpt-oss-20b (high): geospatial agent results

Codex – gpt-oss-20b (high) by OpenAI, run under Codex: the model's Geospatial Intelligence Index and groups, and this configuration's Geospatial Agent Index, score on each benchmark and each kind of geospatial work, cost, time and token use.

Summary

Geospatial Agent Index
4* (partial: attempt 1 on 173 of 565 tasks) (partial coverage, not ranked: 32 of 147 Earth-Bench V2 tasks; 141 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Cost per task
$0.140
Time per task
8.0 min
Tokens per attempt
683k
Turns per attempt
29.5
Attempts decided
170
Judged by
Claude Sonnet 5.5 (169 counted attempts); 2 results awaiting review

Geospatial Intelligence Index

gpt-oss-20b at each reasoning level we run, with its four group scores. Each model is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'. See the Geospatial Intelligence Index.

gpt-oss-20b: Geospatial Intelligence Index at each reasoning level
ModelGeospatial Intelligence IndexRank (every reasoning level)Text-only viewAgents (3/9)Coding to a written method (2/9)Earth science (2/9)Perception (2/9)Scored in
gpt-oss-20b (high) (default view)Not ranked yetNot ranked yetNot ranked yet29*45*No data0 (cannot take images)Terminus-2

Not ranked yet: gpt-oss-20b (high): Agents: attempt 1 on 172 of 173 GeoBenchX, 230 of 245 GS-QA2 tasks; Coding: attempt 1 on 49 of 50 GeoAgentBench tasks; Earth science: quiz not run.

Geospatial Agent Index configurations

Every harness and reasoning level of gpt-oss-20b we run. See the Geospatial Agent Index.

gpt-oss-20b: Geospatial Agent Index configurations
ModelHarnessGeospatial Agent IndexRankCost per taskTime per task
Terminus-2 – gpt-oss-20b (high)Terminus-229* (partial: attempt 1 on 549 of 565 tasks)Not ranked yet$0.01712.2 min
Codex – gpt-oss-20b (high) (this page)Codex4* (partial: attempt 1 on 173 of 565 tasks)Not ranked yet$0.1408.0 min

Score by benchmark

Codex – gpt-oss-20b (high): score by benchmark

Average pass@1, 0 to 100 · Higher is better

Codex – gpt-oss-20b (high): score by benchmarkEarth-Bench V2: 0 (partial coverage); GeoBenchX: 8 (partial coverage); GS-QA2: No data02550751000Earth-BenchV28GeoBenchXNo dataGS-QA2
Data table: Codex – gpt-oss-20b (high): score by benchmark
Codex – gpt-oss-20b (high): by benchmark
BenchmarkScoreTasks with a decided attemptCost per taskTime per task
Earth-Bench V2032 of 147$0.0927.7 min
GeoBenchX8138 of 173$0.1508.0 min
GS-QA2No data0 of 245No dataNo data

Score by task format and kind of work

Codex – gpt-oss-20b (high): score by task format

Average pass@1 over the tasks of each task format, 0 to 100 · Higher is better

Codex – gpt-oss-20b (high): score by task formatMulti-step analysis: 3 (partial coverage); Single-answer questions: 2 (partial coverage); Recognising infeasible requests: 12 (partial coverage)02550751003Multi-stepanalysis2Single-answerquestions12Recognisinginfeasiblerequests
How to read this chart

What this shows. The same attempts as the index, grouped by task format. Groups with few tasks are less certain. About these breakdowns.

Data table: Codex – gpt-oss-20b (high): score by task format
Codex – gpt-oss-20b (high): by task format
Task formatScoreTasks with a decided attempt
Multi-step analysis365 of 82
Single-answer questions241 of 404
Recognising infeasible requests1264 of 79

Codex – gpt-oss-20b (high): score by kind of work

Average pass@1 over the tasks of each kind of work, 0 to 100 · Higher is better

Codex – gpt-oss-20b (high): score by kind of workRaster and remote sensing: 0 (partial coverage); Vector and overlay: 25 (partial coverage); Networks and routing: No data; Climate and time series: 0 (partial coverage); Spatial statistics and interpolation: 0 (partial coverage); Mapping and cartography: 4 (partial coverage); Recognising infeasible requests: 12 (partial coverage)02550751000Raster andremotesensing25Vector andoverlayNo dataNetworks androuting0Climate andtime series0Spatialstatisticsand4Mapping andcartography12Recognisinginfeasiblerequests
How to read this chart

What this shows. The same attempts as the index, grouped by kind of work. Groups with few tasks are less certain. About these breakdowns.

Data table: Codex – gpt-oss-20b (high): score by kind of work
Codex – gpt-oss-20b (high): by kind of work
Kind of workScoreTasks with a decided attempt
Raster and remote sensing034 of 209
Vector and overlay254 of 136
Networks and routingNo data0 of 0
Climate and time series010 of 68
Spatial statistics and interpolation013 of 14
Mapping and cartography445 of 59
Recognising infeasible requests1264 of 79

Codex – gpt-oss-20b (high): score by data type

Average pass@1 over the tasks of each data type, 0 to 100 · Higher is better

Codex – gpt-oss-20b (high): score by data typeOptical multispectral: 0 (partial coverage); Elevation or terrain: No data; Climate or gridded time series: 0 (partial coverage); Other gridded data: 0 (partial coverage); Vector only: 5 (partial coverage)02550751000OpticalmultispectralNo dataElevation orterrain0Climate orgridded timeseries0Other griddeddata5Vector only
How to read this chart

What this shows. The same attempts as the index, grouped by data type. Groups with few tasks are less certain. About these breakdowns.

Data table: Codex – gpt-oss-20b (high): score by data type
Codex – gpt-oss-20b (high): by data type
Data typeScoreTasks with a decided attempt
Optical multispectral028 of 114
Elevation or terrainNo data0 of 115
Climate or gridded time series07 of 10
Other gridded data09 of 50
Vector only560 of 207

Codex – gpt-oss-20b (high): score by task length

Average pass@1 over the tasks of each task length, 0 to 100 · Higher is better

Codex – gpt-oss-20b (high): score by task lengthShort tasks: 17 (partial coverage); Medium tasks: 7 (partial coverage); Long tasks: 2 (partial coverage)025507510017Short tasks7Medium tasks2Long tasks
How to read this chart

What this shows. The same attempts as the index, grouped by task length. Groups with few tasks are less certain. About these breakdowns.

Data table: Codex – gpt-oss-20b (high): score by task length
Codex – gpt-oss-20b (high): by task length
Task lengthScoreTasks with a decided attempt
Short tasks1736 of 199
Medium tasks744 of 169
Long tasks290 of 197

Compared with other models

Geospatial Agent Index

Equal-weight average of the evaluation scores, 0 to 100 · Higher is better

  • Planned attempts still to come
Geospatial Agent IndexCodex – GPT-6.1 Sol (xhigh): 72* (partial coverage); Codex – GPT-6.1 Sol (medium): 72* (partial coverage); Claude Code – Claude Opus 5.5 (medium): 71* (partial coverage); Codex – GPT-6.1 Sol (high): 70* (partial coverage); Claude Code – Claude Sonnet 5.5 (xhigh): 69* (partial coverage); Claude Code – Claude Haiku 5.5 (xhigh): 67* (partial coverage); Claude Code – Claude Haiku 5.5 (high): 66* (partial coverage); Claude Code – Claude Sonnet 5 (high): 65* (partial coverage); Claude Code – Claude Opus 4.7 (high): 65* (partial coverage); Codex – GPT-6 Luna (xhigh): 64* (partial coverage); Terminus-2 – Kimi K3 (always on): 64* (partial coverage); Claude Code – Claude Haiku 5.5 (medium): 63* (partial coverage); Claude Code – Claude Sonnet 5.5 (medium): 63* (partial coverage); Terminus-2 – DeepSeek V4 Pro (max): 59* (partial coverage); Terminus-2 – GLM-5.2 (none): 55* (partial coverage); Claude Code – Claude Haiku 4.5 (thinking 32k): 51* (partial coverage); Terminus-2 – gpt-oss-120b (low): 28* (partial coverage); Terminus-2 – Llama 3.3 70B (Non-reasoning): 8* (partial coverage)025507510072*CodexGPT-6.1 Sol(xhigh)72*CodexGPT-6.1 Sol(medium)71*Claude CodeClaude Opus5.5 (medium)70*CodexGPT-6.1 Sol(high)69*Claude CodeClaude Sonnet5.5 (xhigh)67*Claude CodeClaude Haiku5.5 (xhigh)66*Claude CodeClaude Haiku5.5 (high)65*Claude CodeClaude Sonnet5 (high)65*Claude CodeClaude Opus4.7 (high)64*CodexGPT-6 Luna(xhigh)64*Terminus-2Kimi K3(always on)63*Claude CodeClaude Haiku5.5 (medium)63*Claude CodeClaude Sonnet5.5 (medium)59*Terminus-2DeepSeek V4Pro (max)55*Terminus-2GLM-5.2(none)51*Claude CodeClaude Haiku4.5 (thinking32k)28*Terminus-2gpt-oss-120b(low)8*Terminus-2Llama 3.3 70B(Non-reasoning)
How to read this chart

What this metric means. The equal-weight average of the 3 evaluation scores. Each evaluation score is the average pass@1 over that benchmark's tasks, from 0 to 100.

Partial coverage entries. An entry is ranked only when it has a first attempt on every task of every index component. Entries without that are marked partial coverage: they are listed apart with their coverage, for example "36 of 147 Earth-Bench V2 tasks", and are left out of the ranking, the index charts, the Pareto lines and the highlights. An entry becomes ranked as soon as its first attempts are complete.

Coverage hatch. A hatched bar, and an asterisk in tables, marks an entry that does not yet have results for every planned attempt. While attempts await review, the table gives the range the score could still reach.

First attempt only. Scores currently use each entry's first attempt on every task. The full protocol is 3 attempts; averages over 3 will replace these once every entry has them. An entry without a first attempt on every task yet is marked "partial: attempt 1 on n of N tasks".

Not shown: partial coverage or being added. Terminus-2 – Claude Sonnet 4.6 (adaptive, effort high) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Terminus-2 – DeepSeek V4 Flash (max) (242 of 245 GS-QA2 tasks); Terminus-2 – DeepSeek V4 Flash (high) (236 of 245 GS-QA2 tasks); Terminus-2 – DeepSeek V4 Pro (high) (239 of 245 GS-QA2 tasks); Terminus-2 – Gemini 3.1 Flash-Lite (low) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Terminus-2 – Gemini 3.1 Flash-Lite (minimal) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Terminus-2 – Gemini 3.1 Flash-Lite (high) (35 of 147 Earth-Bench V2 tasks; 170 of 173 GeoBenchX tasks; GS-QA2 incomplete); Terminus-2 – Gemini 3.1 Pro (preview) (low) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Terminus-2 – Gemini 3.1 Pro (preview) (high) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Terminus-2 – Gemini 3.8 Flash (high) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Terminus-2 – Gemini 3.8 Flash (low) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Terminus-2 – Gemma 4 26B A4B (thinking on) (210 of 245 GS-QA2 tasks); Terminus-2 – GLM-4.7-Flash (thinking on) (235 of 245 GS-QA2 tasks); Terminus-2 – GLM-5.2 (high) (244 of 245 GS-QA2 tasks); Terminus-2 – GLM-5.2 (max) (238 of 245 GS-QA2 tasks); Terminus-2 – GLM-5.3-Flash (low) (244 of 245 GS-QA2 tasks); Terminus-2 – GLM-5.3-Flash (max) (200 of 245 GS-QA2 tasks); Terminus-2 – GLM-5.3 (low) (241 of 245 GS-QA2 tasks); Terminus-2 – GLM-5.3 (max, default) (240 of 245 GS-QA2 tasks); Terminus-2 – gpt-oss-120b (high) (241 of 245 GS-QA2 tasks); Terminus-2 – gpt-oss-20b (high) (172 of 173 GeoBenchX tasks; 230 of 245 GS-QA2 tasks); Terminus-2 – Kimi K2.6 (always on) (242 of 245 GS-QA2 tasks); Terminus-2 – Kimi K2.7 Code (always on) (240 of 245 GS-QA2 tasks); Terminus-2 – Qwen 3.8 27B (xhigh) (36 of 147 Earth-Bench V2 tasks; GeoBenchX incomplete; GS-QA2 incomplete); Claude Code – GLM-4.7-Flash (thinking on) (127 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Claude Code – GLM-5.2 (max) (140 of 147 Earth-Bench V2 tasks; 165 of 173 GeoBenchX tasks); Claude Code – GLM-5.3-Flash (max) (141 of 147 Earth-Bench V2 tasks; 171 of 173 GeoBenchX tasks; 185 of 245 GS-QA2 tasks); Claude Code – GLM-5.3 (max, default) (66 of 147 Earth-Bench V2 tasks; 171 of 173 GeoBenchX tasks; GS-QA2 incomplete); Codex – DeepSeek V4 Flash (high) (73 of 147 Earth-Bench V2 tasks; 101 of 173 GeoBenchX tasks; 237 of 245 GS-QA2 tasks); Codex – DeepSeek V4 Pro (high) (8 of 147 Earth-Bench V2 tasks; 40 of 173 GeoBenchX tasks; GS-QA2 incomplete); Codex – gpt-oss-120b (high) (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete); Codex – gpt-oss-20b (high) (32 of 147 Earth-Bench V2 tasks; 141 of 173 GeoBenchX tasks; GS-QA2 incomplete); Kimi Code – Kimi K2.6 (always on) (131 of 147 Earth-Bench V2 tasks); Kimi Code – Kimi K2.7 Code (always on) (146 of 147 Earth-Bench V2 tasks; 243 of 245 GS-QA2 tasks); Claude Code – Claude Opus 5.5 (high) (146 of 147 Earth-Bench V2 tasks); Claude Code – Claude Sonnet 5.5 (high) (244 of 245 GS-QA2 tasks); Claude Code – Claude Opus 5.5 (xhigh) (146 of 147 Earth-Bench V2 tasks); Claude Code – Claude Opus 5 (high) (146 of 147 Earth-Bench V2 tasks; 162 of 173 GeoBenchX tasks); Claude Code – Claude Opus 4.8 (high) (244 of 245 GS-QA2 tasks).

Data table: Geospatial Agent Index
Geospatial Agent Index
ModelCreatorGeospatial Agent IndexRange while attempts are pendingBenchmarks coveredCoverage (attempts)
Codex – GPT-6.1 Sol (xhigh)OpenAI72*No pending judgements; coverage incomplete; 211 results awaiting review3 of 3565 of 859 planned attempts
Codex – GPT-6.1 Sol (medium)OpenAI72*No pending judgements; coverage incomplete; 208 results awaiting review3 of 3565 of 859 planned attempts
Claude Code – Claude Opus 5.5 (medium)Anthropic71*No pending judgements; coverage incomplete; 201 results awaiting review3 of 3565 of 859 planned attempts
Codex – GPT-6.1 Sol (high)OpenAI70*No pending judgements; coverage incomplete; 207 results awaiting review3 of 3565 of 859 planned attempts (1 excluded)
Claude Code – Claude Sonnet 5.5 (xhigh)Anthropic69*No pending judgements; coverage incomplete; 196 results awaiting review3 of 3565 of 859 planned attempts
Claude Code – Claude Haiku 5.5 (xhigh)Anthropic67*No pending judgements; coverage incomplete; 184 results awaiting review3 of 3565 of 859 planned attempts
Claude Code – Claude Haiku 5.5 (high)Anthropic66*No pending judgements; coverage incomplete; 187 results awaiting review3 of 3565 of 859 planned attempts
Claude Code – Claude Sonnet 5 (high)Anthropic65*No pending judgements; coverage incomplete; 177 results awaiting review3 of 3565 of 859 planned attempts
Claude Code – Claude Opus 4.7 (high)Anthropic65*No pending judgements; coverage incomplete; 179 results awaiting review3 of 3565 of 859 planned attempts
Codex – GPT-6 Luna (xhigh)OpenAI64*No pending judgements; coverage incomplete; 177 results awaiting review3 of 3565 of 859 planned attempts
Terminus-2 – Kimi K3 (always on)Moonshot AI64*No pending judgements; coverage incomplete; 183 results awaiting review; 1 trace review declined by the judge3 of 3565 of 859 planned attempts
Claude Code – Claude Haiku 5.5 (medium)Anthropic63*No pending judgements; coverage incomplete; 177 results awaiting review3 of 3565 of 859 planned attempts
Claude Code – Claude Sonnet 5.5 (medium)Anthropic63*No pending judgements; coverage incomplete; 178 results awaiting review3 of 3565 of 859 planned attempts
Terminus-2 – DeepSeek V4 Pro (max)DeepSeek59*No pending judgements; coverage incomplete; 172 results awaiting review; 1 trace review declined by the judge3 of 3565 of 859 planned attempts
Terminus-2 – GLM-5.2 (none)Z.ai55*No pending judgements; coverage incomplete; 161 results awaiting review3 of 3565 of 859 planned attempts
Claude Code – Claude Haiku 4.5 (thinking 32k)Anthropic51*No pending judgements; coverage incomplete; 162 results awaiting review3 of 3565 of 859 planned attempts
Terminus-2 – gpt-oss-120b (low)OpenAI28*No pending judgements; coverage incomplete; 65 results awaiting review3 of 3565 of 859 planned attempts
Terminus-2 – Llama 3.3 70B (Non-reasoning)Meta8*No pending judgements; coverage incomplete; 24 results awaiting review3 of 3565 of 859 planned attempts

Geospatial Agent Index vs. cost per task

Higher and further left is better

  • Planned attempts still to come
  • Most attractive quadrant
  • Pareto line
Geospatial Agent Index vs. cost per taskTerminus-2 – DeepSeek V4 Pro (max): Geospatial Agent Index 58.8, cost per task (usd) $0.341; Terminus-2 – GLM-5.2 (none): Geospatial Agent Index 55.34, cost per task (usd) $0.112; Terminus-2 – gpt-oss-120b (low): Geospatial Agent Index 27.57, cost per task (usd) $0.0048; Terminus-2 – Kimi K3 (always on): Geospatial Agent Index 63.57, cost per task (usd) $0.252; Terminus-2 – Llama 3.3 70B (Non-reasoning): Geospatial Agent Index 7.88, cost per task (usd) $0.022; Claude Code – Claude Haiku 4.5 (thinking 32k): Geospatial Agent Index 50.88, cost per task (usd) $0.100; Claude Code – Claude Opus 5.5 (medium): Geospatial Agent Index 70.91, cost per task (usd) $0.118; Claude Code – Claude Sonnet 5.5 (medium): Geospatial Agent Index 62.7, cost per task (usd) $0.048; Claude Code – Claude Haiku 5.5 (medium): Geospatial Agent Index 62.87, cost per task (usd) $0.0065; Claude Code – Claude Haiku 5.5 (high): Geospatial Agent Index 65.75, cost per task (usd) $0.0089; Claude Code – Claude Sonnet 5.5 (xhigh): Geospatial Agent Index 69.22, cost per task (usd) $0.123; Claude Code – Claude Haiku 5.5 (xhigh): Geospatial Agent Index 67.08, cost per task (usd) $0.018; Claude Code – Claude Sonnet 5 (high): Geospatial Agent Index 65.3, cost per task (usd) $0.229; Claude Code – Claude Opus 4.7 (high): Geospatial Agent Index 64.95, cost per task (usd) $0.382; Codex – GPT-6.1 Sol (medium): Geospatial Agent Index 71.83, cost per task (usd) $0.049; Codex – GPT-6.1 Sol (high): Geospatial Agent Index 70.01, cost per task (usd) $0.062; Codex – GPT-6.1 Sol (xhigh): Geospatial Agent Index 72.01, cost per task (usd) $0.091; Codex – GPT-6 Luna (xhigh): Geospatial Agent Index 64.29, cost per task (usd) $0.0076Most attractive quadrant01020304050607080$0.002$0.005$0.01$0.02$0.05$0.10$0.20$0.50Cost per task (USD) (log scale)Geospatial Agent IndexCodex – GPT-6.1 Sol (xhigh)Codex – GPT-6.1 Sol (medium)Claude Code – Claude Opus 5.5 (medium)Codex – GPT-6.1 Sol (high)Claude Code – Claude Sonnet 5.5 (xhigh)Claude Code – Claude Haiku 5.5 (xhigh)Claude Code – Claude Haiku 5.5 (high)Claude Code – Claude Sonnet 5 (high)Claude Code – Claude Opus 4.7 (high)Codex – GPT-6 Luna (xhigh)Terminus-2 – Kimi K3 (always on)Claude Code – Claude Haiku 5.5 (medium)Claude Code – Claude Sonnet 5.5 (medium)Terminus-2 – DeepSeek V4 Pro (max)Terminus-2 – GLM-5.2 (none)Claude Code – Claude Haiku 4.5 (thinking 32k)Terminus-2 – gpt-oss-120b (low)Terminus-2 – Llama 3.3 70B (Non-reasoning)
How to read this chart

Partial coverage. Not plotted and not on the Pareto line; listed in the table: Terminus-2 – Claude Sonnet 4.6 (adaptive, effort high), Terminus-2 – DeepSeek V4 Flash (max), Terminus-2 – DeepSeek V4 Flash (high), Terminus-2 – DeepSeek V4 Pro (high), Terminus-2 – Gemini 3.1 Flash-Lite (low), Terminus-2 – Gemini 3.1 Flash-Lite (minimal), Terminus-2 – Gemini 3.1 Flash-Lite (high), Terminus-2 – Gemini 3.1 Pro (preview) (low), Terminus-2 – Gemini 3.1 Pro (preview) (high), Terminus-2 – Gemini 3.8 Flash (high), Terminus-2 – Gemini 3.8 Flash (low), Terminus-2 – Gemma 4 26B A4B (thinking on), Terminus-2 – GLM-4.7-Flash (thinking on), Terminus-2 – GLM-5.2 (high), Terminus-2 – GLM-5.2 (max), Terminus-2 – GLM-5.3-Flash (low), Terminus-2 – GLM-5.3-Flash (max), Terminus-2 – GLM-5.3 (low), Terminus-2 – GLM-5.3 (max, default), Terminus-2 – gpt-oss-120b (high), Terminus-2 – gpt-oss-20b (high), Terminus-2 – Kimi K2.6 (always on), Terminus-2 – Kimi K2.7 Code (always on), Terminus-2 – Qwen 3.8 27B (xhigh), Claude Code – GLM-4.7-Flash (thinking on), Claude Code – GLM-5.2 (max), Claude Code – GLM-5.3-Flash (max), Claude Code – GLM-5.3 (max, default), Codex – DeepSeek V4 Flash (high), Codex – DeepSeek V4 Pro (high), Codex – gpt-oss-120b (high), Codex – gpt-oss-20b (high), Kimi Code – Kimi K2.6 (always on), Kimi Code – Kimi K2.7 Code (always on), Claude Code – Claude Opus 5.5 (high), Claude Code – Claude Sonnet 5.5 (high), Claude Code – Claude Opus 5.5 (xhigh), Claude Code – Claude Opus 5 (high), Claude Code – Claude Opus 4.8 (high).

What cost is measuring. What one attempt at a task would cost if paid token by token at the provider's published API prices, averaged over attempts: ordinary input tokens, input tokens served from the provider's cache at the lower cached price, tokens written to the cache where the provider charges for that, and output tokens (thinking included). Cost assumes each harness uses the model's pay-per-token API, priced at public list rates; sandboxes and our own engineering time are not included. Failed attempts count too.

How to read this chart. Each point is one model configuration. Further left means a lower average cost per task (log scale); higher means a higher Geospatial Agent Index. Both axes fit the models shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot, split at the middle of each axis: a reading aid that moves with the axes when you change the models shown, not a fixed bar. The dotted Pareto line joins the shown models that no cheaper shown model beats on score.

Data table: Geospatial Agent Index vs. cost per task
Geospatial Agent Index vs. cost per task
ModelGeospatial Agent IndexCost per task (USD)On the Pareto line
Terminus-2 – Claude Sonnet 4.6 (adaptive, effort high)47* (partial: attempt 1 on 209 of 565 tasks)$0.291Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Terminus-2 – DeepSeek V4 Flash (max)61* (partial: attempt 1 on 562 of 565 tasks)$0.069Not plotted: partial coverage (242 of 245 GS-QA2 tasks)
Terminus-2 – DeepSeek V4 Flash (high)64* (partial: attempt 1 on 556 of 565 tasks)$0.075Not plotted: partial coverage (236 of 245 GS-QA2 tasks)
Terminus-2 – DeepSeek V4 Pro (max)59*$0.341No
Terminus-2 – DeepSeek V4 Pro (high)63* (partial: attempt 1 on 559 of 565 tasks)$0.354Not plotted: partial coverage (239 of 245 GS-QA2 tasks)
Terminus-2 – Gemini 3.1 Flash-Lite (low)39* (partial: attempt 1 on 209 of 565 tasks)$0.013Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Terminus-2 – Gemini 3.1 Flash-Lite (minimal)35* (partial: attempt 1 on 209 of 565 tasks)$0.0057Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Terminus-2 – Gemini 3.1 Flash-Lite (high)46* (partial: attempt 1 on 205 of 565 tasks)$0.021Not plotted: partial coverage (35 of 147 Earth-Bench V2 tasks; 170 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Terminus-2 – Gemini 3.1 Pro (preview) (low)48* (partial: attempt 1 on 209 of 565 tasks)$0.061Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Terminus-2 – Gemini 3.1 Pro (preview) (high)54* (partial: attempt 1 on 209 of 565 tasks)$0.275Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Terminus-2 – Gemini 3.8 Flash (high)39* (partial: attempt 1 on 209 of 565 tasks)$0.336Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Terminus-2 – Gemini 3.8 Flash (low)57* (partial: attempt 1 on 209 of 565 tasks)$0.147Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Terminus-2 – Gemma 4 26B A4B (thinking on)51* (partial: attempt 1 on 530 of 565 tasks)$0.021Not plotted: partial coverage (210 of 245 GS-QA2 tasks)
Terminus-2 – GLM-4.7-Flash (thinking on)39* (partial: attempt 1 on 555 of 565 tasks)$0.038Not plotted: partial coverage (235 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.2 (high)62*$0.250Not plotted: partial coverage (244 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.2 (none)55*$0.112No
Terminus-2 – GLM-5.2 (max)64* (partial: attempt 1 on 558 of 565 tasks)$0.346Not plotted: partial coverage (238 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.3-Flash (low)52*$0.036Not plotted: partial coverage (244 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.3-Flash (max)53* (partial: attempt 1 on 520 of 565 tasks)$0.091Not plotted: partial coverage (200 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.3 (low)58* (partial: attempt 1 on 561 of 565 tasks)$0.311Not plotted: partial coverage (241 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.3 (max, default)63* (partial: attempt 1 on 560 of 565 tasks)$0.481Not plotted: partial coverage (240 of 245 GS-QA2 tasks)
Terminus-2 – gpt-oss-120b (low)28*$0.0048Yes
Terminus-2 – gpt-oss-120b (high)40* (partial: attempt 1 on 561 of 565 tasks)$0.030Not plotted: partial coverage (241 of 245 GS-QA2 tasks)
Terminus-2 – gpt-oss-20b (high)29* (partial: attempt 1 on 549 of 565 tasks)$0.017Not plotted: partial coverage (172 of 173 GeoBenchX tasks; 230 of 245 GS-QA2 tasks)
Terminus-2 – Kimi K2.6 (always on)61* (partial: attempt 1 on 562 of 565 tasks)$0.108Not plotted: partial coverage (242 of 245 GS-QA2 tasks)
Terminus-2 – Kimi K2.7 Code (always on)63* (partial: attempt 1 on 560 of 565 tasks)$0.131Not plotted: partial coverage (240 of 245 GS-QA2 tasks)
Terminus-2 – Kimi K3 (always on)64*$0.252No
Terminus-2 – Llama 3.3 70B (Non-reasoning)8*$0.022No
Terminus-2 – Qwen 3.8 27B (xhigh)28* (partial: attempt 1 on 36 of 565 tasks)$0.051Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GeoBenchX incomplete; GS-QA2 incomplete)
Claude Code – Claude Haiku 4.5 (thinking 32k)51*$0.100No
Claude Code – GLM-4.7-Flash (thinking on)32* (partial: attempt 1 on 300 of 565 tasks)$0.095Not plotted: partial coverage (127 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Claude Code – GLM-5.2 (max)66* (partial: attempt 1 on 550 of 565 tasks)$0.373Not plotted: partial coverage (140 of 147 Earth-Bench V2 tasks; 165 of 173 GeoBenchX tasks)
Claude Code – GLM-5.3-Flash (max)57* (partial: attempt 1 on 497 of 565 tasks)$0.140Not plotted: partial coverage (141 of 147 Earth-Bench V2 tasks; 171 of 173 GeoBenchX tasks; 185 of 245 GS-QA2 tasks)
Claude Code – GLM-5.3 (max, default)59* (partial: attempt 1 on 237 of 565 tasks)$0.666Not plotted: partial coverage (66 of 147 Earth-Bench V2 tasks; 171 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Codex – DeepSeek V4 Flash (high)57* (partial: attempt 1 on 411 of 565 tasks)$0.041Not plotted: partial coverage (73 of 147 Earth-Bench V2 tasks; 101 of 173 GeoBenchX tasks; 237 of 245 GS-QA2 tasks)
Codex – DeepSeek V4 Pro (high)42* (partial: attempt 1 on 48 of 565 tasks)$0.745Not plotted: partial coverage (8 of 147 Earth-Bench V2 tasks; 40 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Codex – gpt-oss-120b (high)42* (partial: attempt 1 on 209 of 565 tasks)$0.298Not plotted: partial coverage (36 of 147 Earth-Bench V2 tasks; GS-QA2 incomplete)
Codex – gpt-oss-20b (high)4* (partial: attempt 1 on 173 of 565 tasks)$0.140Not plotted: partial coverage (32 of 147 Earth-Bench V2 tasks; 141 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Kimi Code – Kimi K2.6 (always on)60* (partial: attempt 1 on 549 of 565 tasks)$0.278Not plotted: partial coverage (131 of 147 Earth-Bench V2 tasks)
Kimi Code – Kimi K2.7 Code (always on)63* (partial: attempt 1 on 562 of 565 tasks)$0.210Not plotted: partial coverage (146 of 147 Earth-Bench V2 tasks; 243 of 245 GS-QA2 tasks)
Claude Code – Claude Opus 5.5 (medium)71*$0.118No
Claude Code – Claude Opus 5.5 (high)73*$0.142Not plotted: partial coverage (146 of 147 Earth-Bench V2 tasks)
Claude Code – Claude Sonnet 5.5 (medium)63*$0.048No
Claude Code – Claude Sonnet 5.5 (high)69*$0.058Not plotted: partial coverage (244 of 245 GS-QA2 tasks)
Claude Code – Claude Haiku 5.5 (medium)63*$0.0065Yes
Claude Code – Claude Haiku 5.5 (high)66*$0.0089Yes
Claude Code – Claude Opus 5.5 (xhigh)74*$0.283Not plotted: partial coverage (146 of 147 Earth-Bench V2 tasks)
Claude Code – Claude Sonnet 5.5 (xhigh)69*$0.123No
Claude Code – Claude Haiku 5.5 (xhigh)67*$0.018Yes
Claude Code – Claude Opus 5 (high)70* (partial: attempt 1 on 553 of 565 tasks)$0.356Not plotted: partial coverage (146 of 147 Earth-Bench V2 tasks; 162 of 173 GeoBenchX tasks)
Claude Code – Claude Sonnet 5 (high)65*$0.229No
Claude Code – Claude Opus 4.8 (high)67*$0.296Not plotted: partial coverage (244 of 245 GS-QA2 tasks)
Claude Code – Claude Opus 4.7 (high)65*$0.382No
Codex – GPT-6.1 Sol (medium)72*$0.049Yes
Codex – GPT-6.1 Sol (high)70*$0.062No
Codex – GPT-6.1 Sol (xhigh)72*$0.091Yes
Codex – GPT-6 Luna (xhigh)64*$0.0076Yes

Head-to-head comparisons

Specification and settings

Developer
OpenAI
Context window
128,000 tokens
Image input
No
Reasoning setting
high
Temperature
0.6
Maximum output tokens
65,536
Input price per 1M tokens
$0.20
Cached input price per 1M tokens
Not offered
Output price per 1M tokens
$0.30

Why this model was chosen: model selection.