Axis Spatial

Claude Code – GLM-4.7-Flash (thinking on): geospatial agent results

Claude Code – GLM-4.7-Flash (thinking on) by Z.ai, run under Claude Code: 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
27* (partial: attempt 1 on 52 of 565 tasks) (partial coverage, not ranked: 10 of 147 Earth-Bench V2 tasks; 42 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Cost per task
$0.089
Time per task
13.6 min
Tokens per attempt
1.37M
Turns per attempt
35.5
Attempts decided
49
Judged by
Claude Sonnet 5.5 (46 counted attempts); 1 result awaiting review

Geospatial Intelligence Index

GLM-4.7-Flash 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.

GLM-4.7-Flash: 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
GLM-4.7-Flash (thinking on) (default view)Not ranked yetNot ranked yetNot ranked yet39*39860 (cannot take images)Terminus-2

Not ranked yet: GLM-4.7-Flash (thinking on): Agents: attempt 1 on 235 of 245 GS-QA2 tasks.

Geospatial Agent Index configurations

Every harness and reasoning level of GLM-4.7-Flash we run. See the Geospatial Agent Index.

GLM-4.7-Flash: Geospatial Agent Index configurations
ModelHarnessGeospatial Agent IndexRankCost per taskTime per task
Terminus-2 – GLM-4.7-Flash (thinking on)Terminus-239* (partial: attempt 1 on 555 of 565 tasks)Not ranked yet$0.03810.7 min
Claude Code – GLM-4.7-Flash (thinking on) (this page)Claude Code27* (partial: attempt 1 on 52 of 565 tasks)Not ranked yet$0.08913.6 min

Score by benchmark

Claude Code – GLM-4.7-Flash (thinking on): score by benchmark

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

Claude Code – GLM-4.7-Flash (thinking on): score by benchmarkEarth-Bench V2: 20 (partial coverage); GeoBenchX: 33 (partial coverage); GS-QA2: No data025507510020Earth-BenchV233GeoBenchXNo dataGS-QA2
Data table: Claude Code – GLM-4.7-Flash (thinking on): score by benchmark
Claude Code – GLM-4.7-Flash (thinking on): by benchmark
BenchmarkScoreTasks with a decided attemptCost per taskTime per task
Earth-Bench V22010 of 147$0.0358.0 min
GeoBenchX3339 of 173$0.10214.9 min
GS-QA2No data0 of 245No dataNo data

Score by task format and kind of work

Claude Code – GLM-4.7-Flash (thinking on): score by task format

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

Claude Code – GLM-4.7-Flash (thinking on): score by task formatMulti-step analysis: 50 (partial coverage); Single-answer questions: 14 (partial coverage); Recognising infeasible requests: 26 (partial coverage)025507510050Multi-stepanalysis14Single-answerquestions26Recognisinginfeasiblerequests
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: Claude Code – GLM-4.7-Flash (thinking on): score by task format
Claude Code – GLM-4.7-Flash (thinking on): by task format
Task formatScoreTasks with a decided attempt
Multi-step analysis5016 of 82
Single-answer questions1414 of 404
Recognising infeasible requests2619 of 79

Claude Code – GLM-4.7-Flash (thinking on): score by kind of work

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

Claude Code – GLM-4.7-Flash (thinking on): score by kind of workRaster and remote sensing: 15 (partial coverage); Vector and overlay: No data; Networks and routing: No data; Climate and time series: 0 (partial coverage); Spatial statistics and interpolation: 20 (partial coverage); Mapping and cartography: 64 (partial coverage); Recognising infeasible requests: 26 (partial coverage)025507510015Raster andremotesensingNo dataVector andoverlayNo dataNetworks androuting0Climate andtime series20Spatialstatisticsand64Mapping andcartography26Recognisinginfeasiblerequests
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: Claude Code – GLM-4.7-Flash (thinking on): score by kind of work
Claude Code – GLM-4.7-Flash (thinking on): by kind of work
Kind of workScoreTasks with a decided attempt
Raster and remote sensing1513 of 209
Vector and overlayNo data0 of 136
Networks and routingNo data0 of 0
Climate and time series01 of 68
Spatial statistics and interpolation205 of 14
Mapping and cartography6411 of 59
Recognising infeasible requests2619 of 79

Claude Code – GLM-4.7-Flash (thinking on): score by data type

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

Claude Code – GLM-4.7-Flash (thinking on): score by data typeOptical multispectral: 0 (partial coverage); Elevation or terrain: No data; Climate or gridded time series: No data; Other gridded data: 33 (partial coverage); Vector only: 47 (partial coverage)02550751000OpticalmultispectralNo dataElevation orterrainNo dataClimate orgridded timeseries33Other griddeddata47Vector 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: Claude Code – GLM-4.7-Flash (thinking on): score by data type
Claude Code – GLM-4.7-Flash (thinking on): by data type
Data typeScoreTasks with a decided attempt
Optical multispectral08 of 114
Elevation or terrainNo data0 of 115
Climate or gridded time seriesNo data0 of 10
Other gridded data336 of 50
Vector only4715 of 207

Claude Code – GLM-4.7-Flash (thinking on): score by task length

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

Claude Code – GLM-4.7-Flash (thinking on): score by task lengthShort tasks: 100 (partial coverage); Medium tasks: 18 (partial coverage); Long tasks: 19 (partial coverage)0255075100100Short tasks18Medium tasks19Long 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: Claude Code – GLM-4.7-Flash (thinking on): score by task length
Claude Code – GLM-4.7-Flash (thinking on): by task length
Task lengthScoreTasks with a decided attempt
Short tasks1007 of 202
Medium tasks1811 of 172
Long tasks1931 of 191

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); 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); Terminus-2 – DeepSeek V4 Flash (high): 63* (partial coverage); Claude Code – Claude Sonnet 5.5 (medium): 63* (partial coverage); Terminus-2 – GLM-5.3 (max, default): 62* (partial coverage); Terminus-2 – DeepSeek V4 Flash (max): 61* (partial coverage); Terminus-2 – DeepSeek V4 Pro (max): 59* (partial coverage); Terminus-2 – GLM-5.3 (low): 58* (partial coverage); Terminus-2 – GLM-5.2 (none): 55* (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)64*CodexGPT-6 Luna(xhigh)64*Terminus-2Kimi K3(always on)63*Claude CodeClaude Haiku5.5 (medium)63*Terminus-2DeepSeek V4Flash (high)63*Claude CodeClaude Sonnet5.5 (medium)62*Terminus-2GLM-5.3 (max,default)61*Terminus-2DeepSeek V4Flash (max)59*Terminus-2DeepSeek V4Pro (max)58*Terminus-2GLM-5.3 (low)55*Terminus-2GLM-5.2(none)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 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) (214 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) (188 of 245 GS-QA2 tasks); Terminus-2 – GLM-5.3-Flash (max) (144 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 – Claude Haiku 4.5 (thinking 32k) (102 of 147 Earth-Bench V2 tasks; 106 of 173 GeoBenchX tasks); Claude Code – GLM-4.7-Flash (thinking on) (10 of 147 Earth-Bench V2 tasks; 42 of 173 GeoBenchX tasks; GS-QA2 incomplete); Claude Code – GLM-5.2 (max) (140 of 147 Earth-Bench V2 tasks; 165 of 173 GeoBenchX tasks; 35 of 245 GS-QA2 tasks); Claude Code – GLM-5.3-Flash (max) (102 of 147 Earth-Bench V2 tasks; 171 of 173 GeoBenchX tasks; GS-QA2 incomplete); Claude Code – GLM-5.3 (max, default) (21 of 147 Earth-Bench V2 tasks; 96 of 173 GeoBenchX tasks; GS-QA2 incomplete); Codex – DeepSeek V4 Flash (high) (73 of 147 Earth-Bench V2 tasks; 101 of 173 GeoBenchX tasks; 29 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) (8 of 147 Earth-Bench V2 tasks; 41 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) (127 of 147 Earth-Bench V2 tasks; 79 of 173 GeoBenchX tasks); Claude Code – Claude Sonnet 5 (high) (83 of 147 Earth-Bench V2 tasks; 111 of 173 GeoBenchX tasks); Claude Code – Claude Opus 4.8 (high) (135 of 147 Earth-Bench V2 tasks; 119 of 173 GeoBenchX tasks; 244 of 245 GS-QA2 tasks); Claude Code – Claude Opus 4.7 (high) (129 of 147 Earth-Bench V2 tasks; 122 of 173 GeoBenchX 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
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
Terminus-2 – DeepSeek V4 Flash (high)DeepSeek63*No pending judgements; coverage incomplete; 176 results awaiting review; 4 trace reviews declined by the judge3 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 – GLM-5.3 (max, default)Z.ai62*No pending judgements; coverage incomplete; 185 results awaiting review; 7 trace reviews declined by the judge3 of 3565 of 859 planned attempts
Terminus-2 – DeepSeek V4 Flash (max)DeepSeek61*No pending judgements; coverage incomplete; 177 results awaiting review; 1 trace review declined by the judge3 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.3 (low)Z.ai58*No pending judgements; coverage incomplete; 180 results awaiting review; 5 trace reviews 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
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 Flash (max): Geospatial Agent Index 61.05, cost per task (usd) $0.067; Terminus-2 – DeepSeek V4 Flash (high): Geospatial Agent Index 62.82, cost per task (usd) $0.076; Terminus-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 – GLM-5.3 (low): Geospatial Agent Index 57.93, cost per task (usd) $0.311; Terminus-2 – GLM-5.3 (max, default): Geospatial Agent Index 62.23, cost per task (usd) $0.489; 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 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; 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.50$1.00Cost 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)Codex – GPT-6 Luna (xhigh)Terminus-2 – Kimi K3 (always on)Claude Code – Claude Haiku 5.5 (medium)Terminus-2 – DeepSeek V4 Flash (high)Claude Code – Claude Sonnet 5.5 (medium)Terminus-2 – GLM-5.3 (max, default)Terminus-2 – DeepSeek V4 Flash (max)Terminus-2 – DeepSeek V4 Pro (max)Terminus-2 – GLM-5.3 (low)Terminus-2 – GLM-5.2 (none)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 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 – 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 – Claude Haiku 4.5 (thinking 32k), 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), 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 Sonnet 5 (high), Claude Code – Claude Opus 4.8 (high), Claude Code – Claude Opus 4.7 (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*$0.067No
Terminus-2 – DeepSeek V4 Flash (high)63*$0.076No
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)50* (partial: attempt 1 on 534 of 565 tasks)$0.020Not plotted: partial coverage (214 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)51* (partial: attempt 1 on 508 of 565 tasks)$0.039Not plotted: partial coverage (188 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.3-Flash (max)52* (partial: attempt 1 on 464 of 565 tasks)$0.077Not plotted: partial coverage (144 of 245 GS-QA2 tasks)
Terminus-2 – GLM-5.3 (low)58*$0.311No
Terminus-2 – GLM-5.3 (max, default)62*$0.489No
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)49* (partial: attempt 1 on 453 of 565 tasks)$0.099Not plotted: partial coverage (102 of 147 Earth-Bench V2 tasks; 106 of 173 GeoBenchX tasks)
Claude Code – GLM-4.7-Flash (thinking on)27* (partial: attempt 1 on 52 of 565 tasks)$0.089Not plotted: partial coverage (10 of 147 Earth-Bench V2 tasks; 42 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Claude Code – GLM-5.2 (max)64* (partial: attempt 1 on 340 of 565 tasks)$0.468Not plotted: partial coverage (140 of 147 Earth-Bench V2 tasks; 165 of 173 GeoBenchX tasks; 35 of 245 GS-QA2 tasks)
Claude Code – GLM-5.3-Flash (max)50* (partial: attempt 1 on 273 of 565 tasks)$0.184Not plotted: partial coverage (102 of 147 Earth-Bench V2 tasks; 171 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Claude Code – GLM-5.3 (max, default)64* (partial: attempt 1 on 117 of 565 tasks)$0.597Not plotted: partial coverage (21 of 147 Earth-Bench V2 tasks; 96 of 173 GeoBenchX tasks; GS-QA2 incomplete)
Codex – DeepSeek V4 Flash (high)57* (partial: attempt 1 on 203 of 565 tasks)$0.049Not plotted: partial coverage (73 of 147 Earth-Bench V2 tasks; 101 of 173 GeoBenchX tasks; 29 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)47* (partial: attempt 1 on 49 of 565 tasks)$0.236Not plotted: partial coverage (8 of 147 Earth-Bench V2 tasks; 41 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)69* (partial: attempt 1 on 451 of 565 tasks)$0.334Not plotted: partial coverage (127 of 147 Earth-Bench V2 tasks; 79 of 173 GeoBenchX tasks)
Claude Code – Claude Sonnet 5 (high)64* (partial: attempt 1 on 439 of 565 tasks)$0.206Not plotted: partial coverage (83 of 147 Earth-Bench V2 tasks; 111 of 173 GeoBenchX tasks)
Claude Code – Claude Opus 4.8 (high)67* (partial: attempt 1 on 498 of 565 tasks)$0.290Not plotted: partial coverage (135 of 147 Earth-Bench V2 tasks; 119 of 173 GeoBenchX tasks; 244 of 245 GS-QA2 tasks)
Claude Code – Claude Opus 4.7 (high)65* (partial: attempt 1 on 496 of 565 tasks)$0.379Not plotted: partial coverage (129 of 147 Earth-Bench V2 tasks; 122 of 173 GeoBenchX tasks)
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
Z.ai
Context window
131,072 tokens
Image input
No
Reasoning setting
thinking on
Temperature
0.6
Maximum output tokens
65,536
Input price per 1M tokens
$0.06
Cached input price per 1M tokens
Not offered
Output price per 1M tokens
$0.40

Why this model was chosen: model selection.