Batch API 할인 비교

Batch API discount

실시간이 필요 없는 입력·출력 토큰을 Batch로 보내면 세 API의 견적이 어떻게 바뀌는지 봅니다.

···
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는 요청을 모아 비동기 처리하고 완료된 결과를 나중에 받는 방식입니다. 실시간 답변이 필요 없는 분류·평가·대량 생성에 맞습니다.

2026-10 기준 선택 모델의 Standard 대비 Batch 입력·출력 단가는 Claude Sonnet 5.5 $2/$10→$1/$5, gpt-6.1-sol $2/$10→$1/$5, Gemini 3.8 Flash $0.75/$3.75→$0.375/$1.875(100만 토큰당 USD)입니다. 셋 모두 50% 할인이며 Gemini 가격은 2026-12-31까지 적용됩니다.

Batch는 즉시 응답을 보장하지 않고 공급자마다 파일·건수·처리 시간 제한이 있습니다. 데모는 비캐시 토큰 비용만 계산하며 별도 도구·저장 비용은 포함하지 않습니다.

언제 쓰나

야간 처리나 평가 파이프라인처럼 결과를 나중에 받아도 될 때 씁니다. 사용자에게 곧바로 답해야 하는 흐름에는 일반 API를 쓰세요.

페이지로 열기 ↗