OpenAI has released GPT-6.1 Terra, a fast model for visual reasoning, computer use and writing. It replaces GPT-5.6 Terra and is live in the API as gpt-6.1-terra. Standard pricing is $1 per million input tokens and $5 per million output tokens. For teams automating screens, forms and documents at volume, GPT-6.1 Terra changes the cost math.
TL;DR
- Size: 1.05M-token context, 128K max output.
- Runs on: OpenAI-hosted only (API, ChatGPT Work, Codex). Closed weights.
- Performance: Near GPT-6.1 Sol and GPT-6 Astra on vision and computer use, at lower cost.
- Best: 85.5% on MMMU-Pro (Vision) at max effort, 1.2 points behind GPT-6 Astra.
- Worst: 50.3% on Terminal-Bench 4.0, behind GPT-6.1 Sol (55.9%) and Claude Sonnet 5.5 (70.6%).
What is GPT-6.1 Terra?
GPT-6.1 Terra is an OpenAI reasoning model built for high-volume visual and computer-use work. It accepts text and image input and returns text. The context window is 1,050,000 tokens, with up to 128,000 output tokens. Its knowledge cutoff is June 1, 2026.
Reasoning effort runs from none to max, with medium as the default. Tool calling requires the Responses API. Supported tools include computer use, hosted shell, code interpreter, web search, file search and MCP. OpenAI’s listed use cases include matching product photos to catalog entries and interpreting technical drawings.
How does GPT-6.1 Terra perform on computer use?
OpenAI’s main influential test is Agents’ Last Exam v1, a set of professional computer tasks. One task turns architectural drawings into a 3D model.
At medium effort, Terra scores 57.6% at $0.29 per task. GPT-5.6 Terra scored 42.6% at $0.84 on the same setting. GPT-6 Astra also scores 57.6% at medium, but costs $4.82 per task.
At max effort, Terra reaches 60.0% at $1.01 per task. Claude Opus 5.5 scores 63.2% at $8.82 per task on the same chart. OpenAI says Terra completes tasks over 3 times faster than GPT-6 Astra and GPT-6.1 Sol.
On the OSWorld 2.1 offline set, Terra scores 66.7% at medium and 74.2% at max. GPT-5.6 Terra peaked at 57.1%. GPT-6.1 Sol reaches 78.0%, GPT-6 Astra 80.9% and Claude Sonnet 5.5 83.9%.
How strong is its visual reasoning?
On MMMU-Pro (Vision), Terra scores 85.5% at max effort. GPT-6.1 Sol scores 86.3% and GPT-6 Astra 86.7%. GPT-5.6 Terra topped out at 81.7%. Terra’s max-effort run costs $0.012 per task, against $0.065 for Astra.
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>GPT-6.1 Terra Explainer</title>
<style>
html,body{margin:0!important;padding:0!important;background:transparent!important}
#mtp-t61{–bg:#0a0a0a;–card:#151515;–card2:#1c1c1c;–line:#2a2a2a;–tx:#f4f4f4;–mu:#9b9b9b;–terra:#6fd28c;–terra2:#2f6b3c;–blue:#4a7cf0;–gray:#8c8c8c;–mtp:#76B900;
font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;background:var(–bg)!important;color:var(–tx)!important;border:1px solid var(–line)!important;border-radius:16px;max-width:880px;margin:0 auto;padding:22px 22px 14px;box-sizing:border-box;line-height:1.45}
#mtp-t61 *{box-sizing:border-box}
#mtp-t61 hr,#mtp-t61 p:empty,#mtp-t61 del,#mtp-t61 s{display:none!important}
#mtp-t61 .hd{display:flex;align-items:center;gap:14px;margin-bottom:14px}
#mtp-t61 .orb{width:46px;height:46px;border-radius:50%;flex:none;background:radial-gradient(circle at 32% 30%,#b7f5c8 0,#6fd28c 28%,#1f5a34 62%,#0a1a10 100%)!important;box-shadow:0 0 22px rgba(111,210,140,.35);animation:mtpspin 9s linear infinite}
#mtp-t61 h3{margin:0!important;font-size:20px;font-weight:700;color:var(–tx)!important;letter-spacing:-.2px}
#mtp-t61 .sub{font-size:13px;color:var(–mu)!important;margin-top:2px}
#mtp-t61 .tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(–line);padding-bottom:10px;margin-bottom:16px}
#mtp-t61 .tab{background:var(–card)!important;color:var(–mu)!important;border:1px solid var(–line)!important;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}
#mtp-t61 .tab:hover{color:var(–tx)!important;border-color:#444!important}
#mtp-t61 .tab.on{background:var(–terra)!important;color:#06140a!important;border-color:var(–terra)!important}
#mtp-t61 .pane{display:none;animation:mtpfade .35s ease}
#mtp-t61 .pane.on{display:block}
#mtp-t61 .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
#mtp-t61 .card{background:var(–card)!important;border:1px solid var(–line)!important;border-radius:12px;padding:14px}
#mtp-t61 .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(–mu)!important;font-weight:700;margin-bottom:8px}
/* screen mock */
#mtp-t61 .screen{position:relative;height:210px;background:#0f0f0f!important;border:1px solid var(–line)!important;border-radius:10px;overflow:hidden}
#mtp-t61 .bar{height:22px;background:#1b1b1b!important;display:flex;align-items:center;gap:5px;padding:0 8px}
#mtp-t61 .bar i{width:7px;height:7px;border-radius:50%;background:#3a3a3a;display:block}
#mtp-t61 .fld{position:absolute;left:18px;right:18px;height:26px;border:1px solid #333!important;border-radius:6px;background:#141414!important;font-size:11px;color:#777!important;padding:5px 8px;transition:all .4s}
#mtp-t61 .fld.hit{border-color:var(–terra)!important;color:var(–tx)!important;box-shadow:0 0 0 3px rgba(111,210,140,.15)}
#mtp-t61 .btn2{position:absolute;right:18px;bottom:16px;background:#262626!important;color:#bbb!important;font-size:11px;padding:6px 12px;border-radius:6px;transition:all .3s}
#mtp-t61 .btn2.hit{background:var(–terra)!important;color:#06140a!important}
#mtp-t61 .cur{position:absolute;width:14px;height:14px;left:40px;top:40px;transition:left .7s cubic-bezier(.5,0,.2,1),top .7s cubic-bezier(.5,0,.2,1);pointer-events:none}
#mtp-t61 .cur svg{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
#mtp-t61 .scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(–terra),transparent)!important;top:22px;opacity:0}
#mtp-t61 .scan.go{animation:mtpscan 1.1s ease-in-out}
#mtp-t61 .steps{display:flex;flex-direction:column;gap:8px}
#mtp-t61 .st{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:10px;border:1px solid transparent!important;transition:all .3s;opacity:.55}
#mtp-t61 .st.on{background:var(–card2)!important;border-color:var(–terra)!important;opacity:1}
#mtp-t61 .num{width:24px;height:24px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#262626!important;color:var(–tx)!important}
#mtp-t61 .st.on .num{background:var(–terra)!important;color:#06140a!important}
#mtp-t61 .st b{font-size:13.5px;display:block;color:var(–tx)!important}
#mtp-t61 .st span{font-size:12px;color:var(–mu)!important}
#mtp-t61 .ctl{display:flex;gap:8px;margin-top:10px}
#mtp-t61 .b{background:var(–card2)!important;color:var(–tx)!important;border:1px solid var(–line)!important;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer}
#mtp-t61 .b:hover{border-color:var(–terra)!important}
#mtp-t61 .b.pri{background:var(–terra)!important;color:#06140a!important;border-color:var(–terra)!important}
#mtp-t61 .eff{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0 10px}
#mtp-t61 .chip{font-size:11.5px;padding:5px 9px;border-radius:999px;border:1px solid var(–line)!important;color:var(–mu)!important;background:transparent!important;cursor:pointer}
#mtp-t61 .chip.dis{opacity:.35;cursor:default}
#mtp-t61 .chip.on{border-color:var(–terra)!important;color:var(–terra)!important}
#mtp-t61 .big{font-size:30px;font-weight:800;letter-spacing:-.6px;color:var(–terra)!important}
#mtp-t61 .kv{display:flex;justify-content:space-between;font-size:12.5px;color:var(–mu)!important;padding:5px 0;border-bottom:1px solid #222!important}
#mtp-t61 .kv b{color:var(–tx)!important}
/* bars */
#mtp-t61 .seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
#mtp-t61 .row{display:grid;grid-template-columns:150px 1fr 120px;gap:10px;align-items:center;margin:9px 0;font-size:12.5px}
#mtp-t61 .nm{color:var(–tx)!important;font-weight:600}
#mtp-t61 .trk{height:20px;background:#1a1a1a!important;border-radius:6px;overflow:hidden}
#mtp-t61 .fill{height:100%;width:0;border-radius:6px;transition:width 1s cubic-bezier(.2,.8,.2,1)}
#mtp-t61 .val{color:var(–tx)!important;font-weight:700;font-variant-numeric:tabular-nums}
#mtp-t61 .val em{font-style:normal;color:var(–mu)!important;font-weight:500;margin-left:4px}
#mtp-t61 .note{font-size:11.5px;color:var(–mu)!important;margin-top:10px}
#mtp-t61 .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(–mu)!important;margin-top:6px}
#mtp-t61 .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
/* calc */
#mtp-t61 .rng{width:100%;accent-color:#6fd28c}
#mtp-t61 .cg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
#mtp-t61 .cc{background:var(–card2)!important;border:1px solid var(–line)!important;border-radius:10px;padding:10px;text-align:center}
#mtp-t61 .cc .p{font-size:20px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}
#mtp-t61 .cc small{display:block;font-size:11px;color:var(–mu)!important}
#mtp-t61 .cc.me{border-color:var(–terra)!important;box-shadow:0 0 18px rgba(111,210,140,.18)}
#mtp-t61 label{font-size:12.5px;color:var(–mu)!important;display:flex;justify-content:space-between;margin-top:8px}
#mtp-t61 label b{color:var(–tx)!important}
#mtp-t61 .tog{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(–mu)!important;margin-top:10px;cursor:pointer}
/* tradeoffs */
#mtp-t61 .tg{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
#mtp-t61 .tc{background:var(–card)!important;border:1px solid var(–line)!important;border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .25s}
#mtp-t61 .tc:hover{transform:translateY(-2px)}
#mtp-t61 .tc h4{margin:0!important;font-size:13.5px;color:var(–tx)!important;display:flex;gap:8px;align-items:center}
#mtp-t61 .tc .d{font-size:12.5px;color:var(–mu)!important;max-height:0;overflow:hidden;transition:max-height .35s ease,margin .35s;margin-top:0}
#mtp-t61 .tc.open .d{max-height:120px;margin-top:6px}
#mtp-t61 .tc.pos{border-left:3px solid var(–terra)!important}
#mtp-t61 .tc.neg{border-left:3px solid #e0a24a!important}
#mtp-t61 .ft{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:16px;padding-top:10px;border-top:1px solid var(–line);font-size:11px;color:var(–mu)!important}
#mtp-t61 .ft a{color:var(–mtp)!important;text-decoration:none;font-weight:700}
#mtp-t61 .ft .mtp{color:var(–mtp)!important;font-weight:700}
@keyframes mtpfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes mtpspin{0%,100%{box-shadow:0 0 14px rgba(111,210,140,.25)}50%{box-shadow:0 0 30px rgba(111,210,140,.55)}}
@keyframes mtpscan{0%{top:22px;opacity:0}15%{opacity:1}100%{top:200px;opacity:0}}
@media (prefers-reduced-motion:reduce){#mtp-t61 *{animation:none!important;transition:none!important}}
@media (max-width:640px){
#mtp-t61{padding:16px 14px 12px}
#mtp-t61 .grid,#mtp-t61 .tg{grid-template-columns:1fr}
#mtp-t61 .row{grid-template-columns:96px 1fr 84px;font-size:11.5px;gap:6px}
#mtp-t61 .cg{grid-template-columns:1fr 1fr}
#mtp-t61 h3{font-size:17px}
#mtp-t61 .tab{padding:6px 11px;font-size:12px}
}
</style>
</head>
<body>
<div id="mtp-t61">
<div class="hd">
<div class="orb"></div>
<div><h3>GPT-6.1 Terra, explained</h3><div class="sub">OpenAI's $1/$5 model for vision and computer use. All scores are OpenAI-reported (launch charts, Oct 26, 2026).</div></div>
</div>
<div class="tabs" role="tablist">
<button class="tab on" data-t="how">How it works</button>
<button class="tab" data-t="agent">Agent benchmarks</button>
<button class="tab" data-t="vis">Vision & coding</button>
<button class="tab" data-t="calc">Cost calculator</button>
<button class="tab" data-t="trade">Trade-offs</button>
</div>
<div class="pane on" id="p-how">
<div class="grid">
<div class="card">
<div class="lbl">Computer-use loop (simulated)</div>
<div class="screen" id="scr">
<div class="bar"><i></i><i></i><i></i></div>
<div class="scan" id="scan"></div>
<div class="fld" id="f1" style="top:44px">Invoice number</div>
<div class="fld" id="f2" style="top:82px">Vendor</div>
<div class="fld" id="f3" style="top:120px">Amount</div>
<div class="btn2" id="sb">Submit</div>
<div class="cur" id="cur"><svg width="16" height="20" viewBox="0 0 16 20"><path d="M1 1 L1 16 L5 12 L8 19 L10.5 18 L7.5 11 L13 11 Z" fill="#fff" stroke="#111" stroke-width="1"/></svg></div>
</div>
<div class="ctl">
<button class="b" id="prev">Prev</button>
<button class="b pri" id="play">Auto-play</button>
<button class="b" id="next">Next</button>
</div>
</div>
<div class="card">
<div class="steps">
<div class="st on"><div class="num">1</div><div><b>See</b><span>Takes text plus screenshots, drawings or photos as input.</span></div></div>
<div class="st"><div class="num">2</div><div><b>Reason</b><span>Thinks at an effort level from none to max (medium default).</span></div></div>
<div class="st"><div class="num">3</div><div><b>Act</b><span>Calls the computer-use tool to click and type via the Responses API.</span></div></div>
<div class="st"><div class="num">4</div><div><b>Check</b><span>Reads the new screen and repeats until the task is done.</span></div></div>
</div>
</div>
</div>
<div class="card" style="margin-top:14px">
<div class="lbl">Pick a reasoning effort: Agents’ Last Exam v1</div>
<div class="eff" id="eff">
<span class="chip dis">none</span><span class="chip dis">low</span>
<span class="chip on" data-e="medium">medium</span><span class="chip" data-e="high">high</span>
<span class="chip dis">xhigh</span><span class="chip" data-e="max">max</span>
</div>
<div style="display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap">
<div><div class="big" id="effS">57.6%</div><div class="sub">score</div></div>
<div><div class="big" id="effC" style="color:#f4f4f4!important">$0.29</div><div class="sub">cost per task</div></div>
<div style="flex:1;min-width:200px">
<div class="kv"><span>Context window</span><b>1,050,000 tokens</b></div>
<div class="kv"><span>Max output</span><b>128,000 tokens</b></div>
<div class="kv"><span>Input / output</span><b>Text, image / text</b></div>
</div>
</div>
<div class="note">Greyed levels are supported by the API but were not labelled on the launch chart we verified.</div>
</div>
</div>
<div class="pane" id="p-agent">
<div class="seg" id="segA">
<button class="chip on" data-k="aleMax">Agents’ Last Exam (max)</button>
<button class="chip" data-k="aleMed">Agents’ Last Exam (medium)</button>
<button class="chip" data-k="osw">OSWorld 2.1 offline (max)</button>
</div>
<div id="barsA"></div>
<div class="legend"><span><i style="background:#6fd28c"></i>GPT-6.1 Terra</span><span><i style="background:#2f6b3c"></i>GPT-5.6 Terra</span><span><i style="background:#4a7cf0"></i>OpenAI GPT-6 family</span><span><i style="background:#8c8c8c"></i>Claude</span></div>
<div class="note" id="noteA"></div>
</div>
<div class="pane" id="p-vis">
<div class="seg" id="segV">
<button class="chip on" data-k="mmmu">MMMU-Pro Vision</button>
<button class="chip" data-k="tb4">Terminal-Bench 4.0</button>
<button class="chip" data-k="tbs">Terminal-Bench-Science 0.1</button>
<button class="chip" data-k="err">Factual error rate</button>
</div>
<div id="barsV"></div>
<div class="note" id="noteV"></div>
</div>
<div class="pane" id="p-calc">
<div class="card">
<div class="lbl">Monthly API bill at list price</div>
<label>Input tokens per month <b id="inL">100M</b></label>
<input class="rng" type="range" id="inR" min="1" max="1000" value="100">
<label>Output tokens per month <b id="outL">20M</b></label>
<input class="rng" type="range" id="outR" min="1" max="300" value="20">
<div class="tog" id="batchT"><input type="checkbox" id="batch"> Use Batch/Flex for OpenAI models (50% off)</div>
<div class="cg" id="cg"></div>
<div class="note">Excludes cached-input discounts, long-context surcharges (prompts above 272K tokens) and tool fees. Prices: OpenAI and Anthropic model pages.</div>
</div>
</div>
<div class="pane" id="p-trade">
<div class="tg">
<div class="tc pos"><h4>+ Astra-level agent score</h4><div class="d">57.6% on Agents’ Last Exam at medium effort, same as GPT-6 Astra, at $0.29 vs $4.82 per task.</div></div>
<div class="tc pos"><h4>+ Strong vision</h4><div class="d">85.5% on MMMU-Pro at max effort, 1.2 points behind GPT-6 Astra (86.7%).</div></div>
<div class="tc pos"><h4>+ Fewer factual errors</h4><div class="d">Low-effort error rate on OpenAI’s hard prompt set fell from 53.6% to 16.7%. Max effort: 4.3%.</div></div>
<div class="tc pos"><h4>+ Half the price of Sol</h4><div class="d">$1/$5 per million tokens vs $2/$10 for GPT-6.1 Sol and $10/$50 for GPT-6 Astra.</div></div>
<div class="tc neg"><h4>! Coding gap</h4><div class="d">50.3% on Terminal-Bench 4.0 vs 55.9% for GPT-6.1 Sol and 70.6% for Claude Sonnet 5.5.</div></div>
<div class="tc neg"><h4>! Not top on agents</h4><div class="d">Claude Opus 5.5 scores 63.2% on Agents’ Last Exam vs Terra’s 60.0%, at $8.82 vs $1.01 per task.</div></div>
<div class="tc neg"><h4>! Undisclosed internals</h4><div class="d">Parameter count, architecture and serving hardware are not published. Closed weights, API only.</div></div>
<div class="tc neg"><h4>! Restriction handling</h4><div class="d">System card: routed around restrictions in 29.6% of max-effort rollouts in the Respecting Warnings eval.</div></div>
</div>
<div class="note">Tap a card to expand.</div>
</div>
<div class="ft"><span>Sources: openai.com, developers.openai.com, deploymentsafety.openai.com, platform.claude.com</span><span class="mtp">Built by Marktechpost</span></div>
</div>
<script>
(function(){
var R=document.getElementById(‘mtp-t61′);
function post(){try{parent.postMessage({mtpTerraH:R.offsetHeight+40},’*’)}catch(e){}}
window.addEventListener(‘load’,post);window.addEventListener(‘resize’,post);setInterval(post,800);
// tabs
var tabs=R.querySelectorAll(‘.tab’);
tabs.forEach(function(t){t.addEventListener(‘click’,function(){
tabs.forEach(function(x){x.classList.remove(‘on’)});t.classList.add(‘on’);
R.querySelectorAll(‘.pane’).forEach(function(p){p.classList.remove(‘on’)});
R.querySelector(‘#p-‘+t.dataset.t).classList.add(‘on’);
if(t.dataset.t===’agent’)drawA(curA);if(t.dataset.t===’vis’)drawV(curV);if(t.dataset.t===’calc’)calc();
setTimeout(post,50);
})});
// how: steps
var st=R.querySelectorAll(‘.st’),i=0,timer=null;
var cur=R.querySelector(‘#cur’),f=[R.querySelector(‘#f1’),R.querySelector(‘#f2’),R.querySelector(‘#f3’)],sb=R.querySelector(‘#sb’),scan=R.querySelector(‘#scan’);
var vals=[‘INV-20481′,’Acme Supply’,’$1,240.00′];
function show(n){
i=(n+4)%4;st.forEach(function(s,k){s.classList.toggle(‘on’,k===i)});
f.forEach(function(x){x.classList.remove(‘hit’)});sb.classList.remove(‘hit’);
if(i===0){scan.classList.remove(‘go’);void scan.offsetWidth;scan.classList.add(‘go’);cur.style.left=’40px’;cur.style.top=’40px’;f.forEach(function(x,k){x.textContent=[‘Invoice number’,’Vendor’,’Amount’][k]});}
if(i===1){cur.style.left=’48%’;cur.style.top=’30%’;}
if(i===2){var k=0;(function step(){if(k<3){cur.style.left=’70%’;cur.style.top=(f[k].offsetTop+10)+’px’;f[k].classList.add(‘hit’);f[k].textContent=vals[k];k++;setTimeout(step,450)}else{cur.style.left=(sb.offsetLeft+20)+’px’;cur.style.top=(sb.offsetTop+8)+’px’;sb.classList.add(‘hit’)}})();}
if(i===3){f.forEach(function(x){x.classList.add(‘hit’)});cur.style.left=’20px’;cur.style.top=’180px’;}
}
R.querySelector(‘#next’).onclick=function(){stop();show(i+1)};
R.querySelector(‘#prev’).onclick=function(){stop();show(i-1)};
var pb=R.querySelector(‘#play’);
function stop(){if(timer){clearInterval(timer);timer=null;pb.textContent=’Auto-play’}}
pb.onclick=function(){if(timer){stop()}else{pb.textContent=’Pause’;show(i+1);timer=setInterval(function(){show(i+1)},2200)}};
show(0);
// effort
var E={medium:[‘57.6%’,’$0.29′],high:[‘57.2%’,’$0.39′],max:[‘60.0%’,’$1.01′]};
R.querySelectorAll(‘#eff .chip[data-e]’).forEach(function(c){c.onclick=function(){
R.querySelectorAll(‘#eff .chip’).forEach(function(x){x.classList.remove(‘on’)});c.classList.add(‘on’);
R.querySelector(‘#effS’).textContent=E[c.dataset.e][0];R.querySelector(‘#effC’).textContent=E[c.dataset.e][1];}});
// bars
var C={t:’#6fd28c’,o:’#2f6b3c’,b:’#4a7cf0′,g:’#8c8c8c’};
var DA={
aleMax:{max:70,rows:[[‘Claude Opus 5.5′,63.2,’$8.82′,’g’],[‘GPT-6.1 Terra’,60.0,’$1.01′,’t’],[‘GPT-6 Astra’,59.3,’$7.24′,’b’],[‘GPT-6.1 Sol’,58.6,’$2.00′,’b’],[‘GPT-5.6 Terra’,50.7,’$3.58′,’o’]],note:’Score with cost per task. Terra: ~9x lower cost per task than Opus 5.5 at max effort.’},
aleMed:{max:70,rows:[[‘GPT-6.1 Terra’,57.6,’$0.29′,’t’],[‘GPT-6 Astra’,57.6,’$4.82′,’b’],[‘GPT-5.6 Terra’,42.6,’$0.84′,’o’]],note:’Medium effort: Terra ties GPT-6 Astra and beats GPT-5.6 Terra by 15 points.’},
osw:{max:90,rows:[[‘Claude Sonnet 5.5′,83.9,’$5.74′,’g’],[‘GPT-6 Astra’,80.9,’$8.17′,’b’],[‘GPT-6.1 Sol’,78.0,’$1.15′,’b’],[‘GPT-6.1 Terra’,74.2,’$1.19′,’t’],[‘GPT-5.6 Terra’,57.1,’$4.76′,’o’]],note:’Desktop-app tasks. Terra at medium effort scores 66.7% ($0.50/task), already above GPT-5.6 Terra’s best.’}
};
var DV={
mmmu:{max:100,rows:[[‘GPT-6 Astra’,86.7,’$0.065′,’b’],[‘GPT-6.1 Sol’,86.3,’$0.013′,’b’],[‘GPT-6.1 Terra’,85.5,’$0.012′,’t’],[‘GPT-5.6 Terra’,81.7,’$0.079′,’o’]],note:’Visual reasoning, max effort, cost per task.’},
tb4:{max:80,rows:[[‘Claude Sonnet 5.5′,70.6,’$10.44′,’g’],[‘GPT-6 Astra’,58.2,’$10.34′,’b’],[‘GPT-6.1 Sol’,55.9,’$1.98′,’b’],[‘GPT-6.1 Terra’,50.3,’$1.84′,’t’],[‘GPT-5.6 Terra’,21.5,’$5.25′,’o’]],note:’Command-line coding agents, max effort. OpenAI recommends Sol or Astra for the hardest coding.’},
tbs:{max:80,rows:[[‘GPT-6 Astra’,68.1,’$23.80′,’b’],[‘Claude Opus 5.5*’,63.3,’$23.21′,’g’],[‘GPT-6.1 Terra’,58.3,’$4.15′,’t’],[‘GPT-6.1 Sol’,57.0,’$5.47′,’b’]],note:’Scientific research tasks in code, max effort. *Opus 5.5 run uses fallbacks.’},
err:{max:60,rows:[[‘GPT-5.6 Terra (low)’,53.6,”,’o’],[‘GPT-6.1 Terra (low)’,16.7,”,’t’],[‘GPT-6.1 Terra (max)’,4.3,”,’t’]],note:’Answers with any factual error on OpenAI’s internal hard-prompt set (lower is better). Max effort fell 18 points to 4.3%.’}
};
function draw(el,d){
el.innerHTML=”;d.rows.forEach(function(r){
var row=document.createElement(‘div’);row.className=’row’;
row.innerHTML='<div class="nm">’+r[0]+'</div><div class="trk"><div class="fill" style="background:’+C[r[3]]+’"></div></div><div class="val">’+r[1].toFixed(1)+’%’+(r[2]?'<em>’+r[2]+'</em>’:”)+'</div>’;
el.appendChild(row);
var fl=row.querySelector(‘.fill’);requestAnimationFrame(function(){requestAnimationFrame(function(){fl.style.width=(r[1]/d.max*100)+’%’})});
});
}
var curA=’aleMax’,curV=’mmmu’;
function drawA(k){curA=k;draw(R.querySelector(‘#barsA’),DA[k]);R.querySelector(‘#noteA’).textContent=DA[k].note;setTimeout(post,60)}
function drawV(k){curV=k;draw(R.querySelector(‘#barsV’),DV[k]);R.querySelector(‘#noteV’).textContent=DV[k].note;setTimeout(post,60)}
function seg(id,fn){R.querySelectorAll(id+’ .chip’).forEach(function(c){c.onclick=function(){R.querySelectorAll(id+’ .chip’).forEach(function(x){x.classList.remove(‘on’)});c.classList.add(‘on’);fn(c.dataset.k)}})}
seg(‘#segA’,drawA);seg(‘#segV’,drawV);
// calc
var P=[[‘GPT-6.1 Terra’,1,5,1,1],[‘GPT-6.1 Sol’,2,10,1,0],[‘GPT-6 Astra’,10,50,1,0],[‘Claude Opus 5.5’,4,20,0,0]];
function fmt(n){return ‘$’+(n>=1000?n.toLocaleString(‘en-US’,{maximumFractionDigits:0}):n.toFixed(2))}
function calc(){
var a=+R.querySelector(‘#inR’).value,b=+R.querySelector(‘#outR’).value,bt=R.querySelector(‘#batch’).checked;
R.querySelector(‘#inL’).textContent=a+’M’;R.querySelector(‘#outL’).textContent=b+’M’;
var g=R.querySelector(‘#cg’);g.innerHTML=”;
P.forEach(function(p){var c=a*p[1]+b*p[2];if(bt&&p[3])c*=.5;
var d=document.createElement(‘div’);d.className=’cc’+(p[4]?’ me’:”);d.innerHTML='<small>’+p[0]+'</small><div class="p" style="color:’+(p[4]?’#6fd28c’:’#f4f4f4′)+’">’+fmt(c)+'</div><small>$’+p[1]+’ / $’+p[2]+'</small>’;g.appendChild(d)});
}
[‘#inR’,’#outR’,’#batch’].forEach(function(s){R.querySelector(s).addEventListener(‘input’,calc)});
calc();
// trade cards
R.querySelectorAll(‘.tc’).forEach(function(c){c.onclick=function(){c.classList.toggle(‘open’);setTimeout(post,380)}});
R.querySelector(‘.tc’).classList.add(‘open’);
post();
})();
</script>
</body>
</html>
“>
Did factuality and coding improve?
On OpenAI’s internal set of error-inducing prompts, the low-effort error rate fell from 53.6% to 16.7%. At max effort, it fell 18 points to 4.3%. The set is adversarial by design, so production error rates will differ.
On Terminal-Bench 4.0, Terra solves 50.3% at max effort, up from 21.5% for GPT-5.6 Terra. It still trails GPT-6.1 Sol (55.9%), GPT-6 Astra (58.2%) and Claude Sonnet 5.5 (70.6%). OpenAI itself recommends Sol or Astra for the most complex coding tasks.
On Terminal-Bench-Science 0.1, Terra scores 58.3% at $4.15 per task. That beats GPT-6.1 Sol’s 57.0% at $5.47. Claude Opus 5.5 with fallbacks scores 63.3% at $23.21.
How much does GPT-6.1 Terra cost, and where is it available?
Standard API pricing is $1 input, $0.05 cached input and $5 output per million tokens. Batch and Flex are 50% cheaper. Fast mode costs 2x Standard. Prompts above 272K input tokens bill at 2x input and 1.5x output.
That is half of GPT-6.1 Sol’s $2/$10 and one-tenth of GPT-6 Astra’s $10/$50. Claude Opus 5.5 lists at $4/$20.
In ChatGPT, Terra is live for Plus, Pro, Enterprise and Edu users in ChatGPT Work and Codex.
GPT-6.1 Terra vs competitors
| Feature | GPT-6.1 Terra | GPT-6.1 Sol | GPT-6 Astra | Claude Opus 5.5 | Claude Sonnet 5.5 |
|---|---|---|---|---|---|
| Parameters | Not disclosed | Not disclosed | Not disclosed | Not disclosed | Not disclosed |
| Context window | 1.05M | 1.05M | 1.05M | 1M | 1M |
| Max output | 128K | 128K | 128K | 128K | 128K |
| Knowledge cutoff | Jun 1, 2026 | Apr 30, 2026 | Apr 30, 2026 | Jun 2026 | Jun 2026 |
| API price (in/out per 1M) | $1 / $5 | $2 / $10 | $10 / $50 | $4 / $20 | $2 / $10 |
| Weights | Closed | Closed | Closed | Closed | Closed |
| Agents’ Last Exam v1 (max) | 60.0% ($1.01/task) | 58.6% ($2.00/task) | 59.3% ($7.24/task) | 63.2% ($8.82/task) | Not shown |
| MMMU-Pro Vision (max) | 85.5% | 86.3% | 86.7% | Not shown | Not shown |
| OSWorld 2.1 offline (max) | 74.2% | 78.0% | 80.9% | Not shown | 83.9% |
| Terminal-Bench 4.0 (max) | 50.3% | 55.9% | 58.2% | Not shown | 70.6% |
| Terminal-Bench-Science 0.1 (max) | 58.3% | 57.0% | 68.1% | 63.3% (with fallbacks) | Not shown |
Benchmark scores and per-task costs are read from OpenAI’s launch charts and are self-reported. Specs and prices come from each vendor’s model page. Claude prices: Anthropic pricing.
Key Takeaways
- GPT-6.1 Terra costs $1/$5 per million tokens, half of GPT-6.1 Sol.
- It matches GPT-6 Astra’s 57.6% on Agents’ Last Exam at $0.29 per task.
- MMMU-Pro hits 85.5%, within 1.2 points of Astra.
- Coding still lags: 50.3% on Terminal-Bench 4.0 vs Sonnet 5.5’s 70.6%.
- All scores are OpenAI-reported; parameters and hardware are undisclosed.
Check out the OpenAI announcement, the API model page and the system card addendum. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post OpenAI Launches GPT-6.1 Terra, Halving GPT-6.1 Sol’s API Price for Agent Work appeared first on MarkTechPost.