Z.ai has released GLM-5.3-Flash, the first natively multimodal model in the GLM-5 series and the cheapest capable coding model the lab has shipped. It is a mixture-of-experts model with 320B total parameters and 18B active per token, a 1,048,576-token context window, and image and video input — released under an MIT license with weights on Hugging Face. According to Z.ai reports, it beats GLM-5.2 across benchmarks and real workloads at roughly one-tenth the price, while landing within half a point of Claude Opus 4.8 on its internal coding benchmark. The model spent its first week running anonymously as “Ox Alpha” on OpenCode and OpenRouter, served entirely on domestically produced Chinese AI chips.
Is it deployable?
Yes, on two tracks. The weights are live on Hugging Face under an MIT license, and a hosted API is already priced and serving.
- Which companies can realistically self-host? Not everyone. The default FP8 checkpoint is roughly 306 GiB of weights before KV cache, and the current vLLM path supports NVIDIA Hopper and newer only. That puts self-hosting in reach of mid-size and large orgs with at least an 8-GPU node (or a GB200 tray at TP4), plus AI-native startups renting GPU capacity. Everyone below that line consumes it as an API — where the economics, not the hardware, are the story.
- Industries with immediate fit: software and devtools, IT/BPO automation, financial services and insurance document operations, enterprise BI and back-office knowledge work, e-commerce and any team shipping UI at volume.
- Applications: repo-scale coding agents, terminal and browser/computer-use agents, million-token log and contract analysis, UI regression checking from screenshots, and spreadsheet/deck/dashboard reasoning that would otherwise need an OCR-to-text pipeline.
<div class="zx-pane" id="p2" role="tabpanel">
<p class="zx-lede">GLM-5.3-Flash is the first GLM model to interleave two attention types across its 45 layers:
<b>KDA linear attention</b> for local dependency, and <b>NoPE sparse MLA</b> for pulling in globally relevant
context. Dense attention costs grow with the square of context length. This hybrid does not.</p>
<div class="zx-stack" id="zStack" aria-hidden="true"></div>
<div class="zx-key">
<span><i style="background:var(–zblue)"></i>KDA linear — cheap, local</span>
<span><i style="background:#F0B429"></i>NoPE sparse MLA — global retrieval</span>
</div>
<div class="zx-slide">
<label>Context length <b id="zCtxL">128K tokens</b></label>
<input type="range" id="zCtx" min="0" max="7" value="4" step="1" aria-label="Context length">
</div>
<div class="zx-bars">
<div class="zx-bar"><span class="nm">Dense attention</span>
<div class="zx-track"><div class="zx-fill a" id="zDense" style="width:14%"></div></div><span class="vl" id="zDenseV">1×</span></div>
<div class="zx-bar"><span class="nm">Hybrid attention</span>
<div class="zx-track"><div class="zx-fill b" id="zHyb" style="width:6%"></div></div><span class="vl" id="zHybV">1×</span></div>
</div>
<p class="zx-note">Interleave pattern and both curves are illustrative — they show the shape of quadratic vs.
sub-quadratic growth. Z.ai has not published the exact layer ratio or per-length compute figures.</p>
</div>
<div class="zx-pane" id="p3" role="tabpanel">
<p class="zx-lede">At a million tokens, retrieval becomes the bottleneck. <b>IndexPool</b> compresses groups of indexer
key vectors by weighted pooling. Z.ai reports the result against GLM-5.3:</p>
<div class="zx-ctl"><button class="zx-btn" id="zPlay">Replay comparison</button></div>
<div class="zx-bars" id="zEff">
<div class="zx-bar"><span class="nm">Attention compute</span>
<div class="zx-track"><div class="zx-fill a" data-w="100" style="width:0"></div></div><span class="vl">GLM-5.3</span></div>
<div class="zx-bar"><span class="nm">→ 5.3-Flash</span>
<div class="zx-track"><div class="zx-fill b" data-w="33" style="width:0"></div></div><span class="vl">3× less</span></div>
<div class="zx-bar"><span class="nm">KV cache size</span>
<div class="zx-track"><div class="zx-fill a" data-w="100" style="width:0"></div></div><span class="vl">GLM-5.3</span></div>
<div class="zx-bar"><span class="nm">→ 5.3-Flash</span>
<div class="zx-track"><div class="zx-fill b" data-w="23" style="width:0"></div></div><span class="vl">4.4× less</span></div>
</div>
<div class="zx-verdict">Smaller KV cache is what makes the 1M window practical rather than theoretical —
it is the memory term that normally scales with context and kills throughput first.</div>
<p class="zx-note">Both ratios are vendor-reported by Z.ai versus GLM-5.3. Not independently reproduced.</p>
</div>
<div class="zx-pane" id="p4" role="tabpanel">
<p class="zx-lede">Published list rates: <b>$0.15</b> per million input tokens, <b>$0.50</b> per million output.
Set your monthly volume and compare against GLM-5.3 at $1.40 / $4.40.</p>
<div class="zx-slide">
<label>Input tokens / month <b id="zInL">50M</b></label>
<input type="range" id="zIn" min="1" max="200" value="50" aria-label="Input tokens per month, millions">
</div>
<div class="zx-slide">
<label>Output tokens / month <b id="zOutL">10M</b></label>
<input type="range" id="zOut" min="1" max="100" value="10" aria-label="Output tokens per month, millions">
</div>
<div class="zx-out">
<div class="zx-card win"><h5>GLM-5.3-Flash</h5><b id="zCostF">$12.50</b><small>$0.15 in · $0.50 out</small></div>
<div class="zx-card"><h5>GLM-5.3</h5><b id="zCost3">$114.00</b><small>$1.40 in · $4.40 out</small></div>
</div>
<div class="zx-verdict">Same workload, <b id="zSave">$101.50</b> cheaper per month — a <b id="zMult">9.1×</b> gap.</div>
<p class="zx-note">List prices as published on launch day, before cached-input rates ($0.03/M on Flash) or any promotional
discount. Cost is computed live from your slider values, not looked up.</p>
</div>
<div class="zx-foot">
<span>Sources: <a href="https://z.ai/blog/glm-5.3-flash" target="_blank" rel="noopener">Z.ai blog</a> ·
<a href="https://huggingface.co/zai-org/GLM-5.3-Flash" target="_blank" rel="noopener">model card</a> ·
<a href="https://recipes.vllm.ai/zai-org/GLM-5.3-Flash" target="_blank" rel="noopener">vLLM recipe</a></span>
<span>Verified Aug 26, 2026 · Built by <b>Marktechpost</b></span>
</div>
</div>
<script>
(function(){
var q=function(s){return document.querySelector(s)},qa=function(s){return[].slice.call(document.querySelectorAll(s))};
/* tabs */
qa(‘.zx-tab’).forEach(function(t){
t.addEventListener(‘click’,function(){
qa(‘.zx-tab’).forEach(function(x){x.setAttribute(‘aria-selected’,’false’)});
qa(‘.zx-pane’).forEach(function(x){x.classList.remove(‘on’)});
t.setAttribute(‘aria-selected’,’true’);
q(‘#’+t.dataset.p).classList.add(‘on’);
if(t.dataset.p===’p3′)playEff();
ping();
});
});
/* 01 lattice */
var grid=q(‘#zGrid’),cells=[];
for(var i=0;i<288;i++){var d=document.createElement(‘div’);d.className=’zx-cell’;grid.appendChild(d);cells.push(d)}
var routed=0,timer=null;
function route(){
cells.forEach(function(c){c.classList.remove(‘hot’)});
var picked={},n=0;
while(n<8){var r=Math.floor(Math.random()*288);if(!picked[r]){picked[r]=1;n++}}
Object.keys(picked).forEach(function(k,idx){
setTimeout(function(){cells[k].classList.add(‘hot’)},idx*38);
});
routed++;q(‘#zTok’).textContent=routed.toLocaleString();
}
q(‘#zRoute’).addEventListener(‘click’,route);
q(‘#zAuto’).addEventListener(‘click’,function(){
if(timer){clearInterval(timer);timer=null;this.textContent=’Auto-run’}
else{timer=setInterval(route,780);this.textContent=’Stop’;route()}
});
route();
/* 02 layer stack + curves */
var stack=q(‘#zStack’);
for(var L=0;L<45;L++){
var s=document.createElement(‘div’);
s.className=’zx-lay ‘+((L%3===2)?’mla’:’kda’);
stack.appendChild(s);
}
var LEN=[8,16,32,64,128,256,512,1024];
function ctx(){
var i=+q(‘#zCtx’).value,n=LEN[i];
q(‘#zCtxL’).textContent=(n>=1024?’1M’:n+’K’)+’ tokens’;
var base=LEN[0];
var dense=Math.pow(n/base,2), hyb=(n/base)*Math.log2(n/base+1)+1;
var cap=Math.pow(LEN[7]/base,2);
q(‘#zDense’).style.width=Math.max(3,Math.min(100,dense/cap*100*4))+’%’;
q(‘#zHyb’).style.width=Math.max(3,Math.min(100,hyb/cap*100*4))+’%’;
q(‘#zDenseV’).textContent=Math.round(dense).toLocaleString()+’u00d7′;
q(‘#zHybV’).textContent=Math.round(hyb).toLocaleString()+’u00d7′;
}
q(‘#zCtx’).addEventListener(‘input’,ctx);ctx();
/* 03 efficiency */
function playEff(){
qa(‘#zEff .zx-fill’).forEach(function(f,i){
f.style.width=’0′;
setTimeout(function(){f.style.width=f.dataset.w+’%’},120+i*180);
});
}
q(‘#zPlay’).addEventListener(‘click’,playEff);
/* 04 calculator */
function money(v){return ‘$’+v.toLocaleString(undefined,{minimumFractionDigits:2,maximumFractionDigits:2})}
function calc(){
var i=+q(‘#zIn’).value,o=+q(‘#zOut’).value;
q(‘#zInL’).textContent=i+’M’;q(‘#zOutL’).textContent=o+’M’;
var f=i*0.15+o*0.50, t=i*1.40+o*4.40;
q(‘#zCostF’).textContent=money(f);
q(‘#zCost3’).textContent=money(t);
q(‘#zSave’).textContent=money(t-f);
q(‘#zMult’).textContent=(t/f).toFixed(1)+’u00d7′;
}
q(‘#zIn’).addEventListener(‘input’,calc);q(‘#zOut’).addEventListener(‘input’,calc);calc();
/* iframe auto-resize */
function ping(){
try{
var h=(document.querySelector(‘.zx’).offsetHeight||600)+40;
parent.postMessage({zxHeight:h},’*’);
}catch(e){}
}
window.addEventListener(‘load’,ping);setTimeout(ping,400);setTimeout(ping,1200);
})();
</script>
</body>
</html>
“>
The architecture is where the efficiency comes from
GLM-5.3-Flash starts from a newly trained base model on a 30T-token multimodal corpus. Three changes are worth knowing:
- Hybrid attention: For the first time in the GLM series, Z.ai combines linear and sparse attention. Per the vLLM recipe, the 45-layer language model interleaves KDA linear-attention layers with NoPE sparse MLA layers, routes each token through 8 of 288 experts, and ships native FP8 weights plus one MTP draft layer. Linear attention handles local dependency; sparse attention retrieves the globally relevant context.
- IndexPool: At million-token context, retrieval itself becomes the bottleneck. IndexPool compresses groups of indexer key vectors through weighted pooling to hold down latency and memory. Z.ai reports ~3× less attention compute and a 4.4× smaller KV cache versus GLM-5.3.
- mHC: The model adopts Manifold-Constrained Hyper-Connections to improve scaling efficiency. Against GLM-4.5, at similar total parameter count, GLM-5.3-Flash roughly halves both activated parameters and layer count.
Benchmarks
Most numbers mentioned in the table below are Z.ai-reported and the harnesses differ per test — the model card’s footnotes specify temperature, context limits and judge models per benchmark, so treat cross-model comparisons as setup-dependent.
| Benchmark | GLM-5.3-Flash | Reference |
|---|---|---|
| Terminal-Bench 2.1 | 84.3 | Opus 4.8: 85.0 · GPT-5.6 Terra: 87.4 |
| DeepSWE v1.1 | 63.4 | GLM-5.2: 46.2 |
| AutomationBench | 48.8 | GLM-5.2: 26.2 |
| HLE | 55.3 | — |
| OfficeQA Pro | 62.4 | ahead of Opus 4.8 |
| Z.ai Code Bench v1.0 (max) | 29.0 | Opus 4.8: 29.5 |
Independently, Artificial Analysis scores it 57 on the Intelligence Index, with 48.7 output tokens/sec and 1.52s TTFT on Z.ai’s API — strong intelligence-per-dollar, but slow and verbose. Vision is the weak flank: it trails Gemini 3.7 Flash on BabyVision and MVbench.
The serving story is the underreported part
Z.ai states the entire Ox Alpha preview ran on domestically produced Chinese AI chips, using a custom SGLang-based engine that disaggregates encoding, prefill and decoding, and reports a 3× end-to-end serving improvement across tens of thousands of accelerators.
Pricing and access
Standard API pricing is $0.15/M input, $0.03/M cached input, $0.50/M output. Z.ai reports a score of 57 on Artificial Analysis Intelligence Index v4.1.1 at $0.045 per task on the discounted tier. The model is live for all GLM Coding Plan tiers — Lite ($18/mo), Pro ($80), Max ($168) — at 3× the usable quota of GLM-5.3, and its multimodal capabilities surface in ZCode through Browser Use and Computer Use. Local serving is supported on SGLang, vLLM, TokenSpeed and KTransformers.
Key Takeaways
- 320B-A18B natively multimodal MoE, 1M context, MIT-licensed weights on Hugging Face.
- Hybrid KDA linear + NoPE sparse MLA attention: ~3× less attention compute, 4.4× smaller KV cache.
- 84.3 Terminal-Bench 2.1 and 63.4 DeepSWE v1.1 — near Opus 4.8, well past GLM-5.2.
- $0.15/$0.50 per M tokens; 3× GLM-5.3 quota for every GLM Coding Plan tier.
- Self-hosting needs ~306 GiB FP8 weights on Hopper-or-newer; everyone else uses the API.
Check out the Model Weights and Blog. 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 Z.ai Releases GLM-5.3-Flash: A 320B-A18B Natively Multimodal MoE With a 1M-Token Context appeared first on MarkTechPost.