Batch API discount

Batch API 할인 비교

See how Batch changes three API estimates for input and output tokens that need no immediate answer.

···
html
<div class="comparison batch"><header><b>BATCH API DISCOUNT</b><span>Standard → Batch</span></header><div class="controls"><label>Input <output id="in-label">1.0M</output><input id="input" type="range" min="0" max="5000000" step="250000" value="1000000" aria-label="Monthly input tokens"></label><label>Output <output id="out-label">0.25M</output><input id="output" type="range" min="0" max="2000000" step="100000" value="250000" aria-label="Monthly output tokens"></label></div><div class="rows"><div class="row"><b>Claude Sonnet 5.5</b><div class="track"><i id="std-a"></i><i id="batch-a" class="overlay"></i></div><output id="cost-a"></output></div><div class="row"><b>gpt-6.1-sol</b><div class="track"><i id="std-b"></i><i id="batch-b" class="overlay"></i></div><output id="cost-b"></output></div><div class="row"><b>Gemini 3.8 Flash</b><div class="track"><i id="std-c"></i><i id="batch-c" class="overlay"></i></div><output id="cost-c"></output></div></div><p class="fine"><span class="key-std">■</span> Standard · <span class="key-batch">■</span> Batch · short requests; labels show Batch cost (50% lower).<br>2026-10-06 공식 가격 기준 · 단순화(세금·지역 할증 제외) · Gemini rate through 2026-12-31.</p></div>
css
.comparison{width:min(96vw,850px);height:min(94vh,350px);padding:clamp(7px,1.8vmin,16px);border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:clamp(3px,1vmin,8px);font:600 clamp(9px,2vmin,13px)/1.1 system-ui,sans-serif}.comparison header{display:flex;justify-content:space-between;gap:5px}.comparison header b{color:var(--accent);font-size:clamp(11px,2.6vmin,17px)}.comparison header span,.comparison .fine{color:var(--muted)}.comparison .controls{display:flex;gap:8px}.comparison label{flex:1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px}.comparison input{width:100%;margin:0;accent-color:var(--accent);height:13px}.comparison .rows{display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,1.2vmin,9px);flex:1;min-height:0}.comparison .row{display:grid;grid-template-columns:clamp(65px,21vw,155px) 1fr clamp(40px,12vw,75px);align-items:center;gap:5px}.comparison .row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison .track{height:clamp(12px,3.2vmin,23px);border:1px solid var(--line);border-radius:4px;background:var(--bg);overflow:hidden;position:relative}.comparison .track i{display:block;height:100%;width:0;background:var(--accent);transition:width .35s}.comparison .track i.alt{background:var(--accent-2)}.comparison .track i.warm{background:var(--accent-3)}.comparison .row output{text-align:right;white-space:nowrap}.comparison .fine{font-size:clamp(8px,1.5vmin,11px);line-height:1.1;margin:0}.batch .track i{position:absolute;left:0;top:0;background:color-mix(in srgb,var(--accent-3) 60%,var(--surface))}.batch .track i.overlay{background:var(--accent);height:55%;top:45%}.key-std{color:var(--accent-3)}.key-batch{color:var(--accent)}@media (min-width:600px){.price-card,.price-scene,.limit-card,.compute-card,.credit-card,.plan-card,.credit-ledger,.claude-card,.comparison{width:min(96vw,1080px);font-size:15px}.fine,.note,.comparison .fine{font-size:11px}.comparison header b{font-size:18px}}
js
const a=document.getElementById('input'),b=document.getElementById('output');let timer;let n=0;function draw(){const input=Number(a.value),output=Number(b.value),rates=[[2,10],[2,10],[.75,3.75]];document.getElementById('in-label').textContent=(input/1000000).toFixed(2)+'M';document.getElementById('out-label').textContent=(output/1000000).toFixed(2)+'M';const standard=rates.map(r=>(input*r[0]+output*r[1])/1000000);['a','b','c'].forEach((id,i)=>{document.getElementById('std-'+id).style.width=(standard[i]/30*100)+'%';document.getElementById('batch-'+id).style.width=(standard[i]/30*50)+'%';document.getElementById('cost-'+id).textContent='$'+(standard[i]/2).toFixed(2)})}draw();timer=setInterval(()=>{n=(n+1)%4;a.value=String([1000000,2000000,3000000,4000000][n]);b.value=String([250000,500000,1000000,1500000][n]);draw()},1100);[a,b].forEach(el=>el.addEventListener('input',()=>{clearInterval(timer);draw()}))

Batch API submits requests for asynchronous processing and collects the results later. It fits classification, evaluation, and bulk generation that need no immediate response.

As of 2026-10, Standard to Batch input/output rates per million tokens are Claude Sonnet 5.5 $2/$10 to $1/$5, gpt-6.1-sol $2/$10 to $1/$5, and Gemini 3.8 Flash $0.75/$3.75 to $0.375/$1.875. All three are 50% lower, and the Gemini rate lasts through 2026-12-31.

Batch does not promise an immediate response, and providers differ in file, request-count, and processing-time limits. The demo includes uncached tokens only, with no separate tool or storage fees.

When to use

Use it for overnight jobs or evaluation pipelines that can wait for results. Use the ordinary API for flows that need an immediate user response.

Open as page ↗