LandingAI has shipped Agentic Document Extraction (ADE) Gen2, a rebuild of its document intelligence stack around a new model family called DPT-3. Gen1 treated a document as a flat list of chunks. Gen2 treats it as a tree, prices it by the characters it returns rather than by the page, and grounds every answer back to a specific line or word on the page. LandingAI team frames the release around three themes: affordability, agent ready outputs, and atomic grounding.
Is it deployable? Yes. ADE Gen2 is generally available now. Developers start free in the ADE playground. Enterprises can run it in US or EU cloud, in their own VPC on AWS, Azure or Google Cloud, inside Snowflake, or on premises including air gapped environments.
Two parsing models instead of one
Gen2 splits parsing into two models so the workload picks the price. DPT-3 Verity transcribes digitally created documents deterministically and returns a bounding box and a confidence score for every word. It targets high volume text, tables and simple form fields. DPT-3 Pro reads page layout before words, detects block types from tables and figures through marginalia and signatures, returns them in reading order, and handles scanned pages, handwriting, non Latin scripts and LaTeX math. LandingAI team states DPT-3 Verity charges roughly 40% of the credits DPT-3 Pro charges, and also state automated routing between the two is planned for fall 2026.
The pricing change is the real story
Under DPT-2, every page cost a flat 3 credits. Under DPT-3, credit consumption is the sum of a page component and an output character component. On the priority tier, DPT-3 Pro bills 1 credit per page plus 0.5 credits per 1,000 output characters. DPT-3 Verity bills 0.3 credits per page plus 0.2 credits per 1,000 output characters. The standard tier halves both rates, so a 12 page Pro parse returning 48,120 characters comes to 36.1 credits on priority and roughly half that on standard. Totals round up to the nearest 0.1 credit, and the response metadata reports every input to the calculation.
Service tiers are the second lever. Priority is for when a person or an agent is waiting. Standard runs asynchronously at 0.5x price and suits pipelines that tolerate minutes to hours. Note that synchronous calls always bill at priority, and the playground itself runs on priority. LandingAI projects 25% to 80% cost reductions on mixed workloads and claims parsing under one cent per page with Verity on standard. Treat those as vendor figures until you benchmark your own document mix, since the character component means a dense page can cost more than it did before.
Blocks, not chunks
The Parse v2 response has three top level fields: markdown in reading order, metadata, and structure. The structure is a document node whose children are pages, whose children are blocks. Block types include text, table, table_cell, figure, marginalia, attestation, logo, card and scan_code. Every block carries a semantic ID in the form type-index, stable within a response but not across re parses, plus a grounding object with the page number, a range into the markdown string, and a normalized bounding box.
Markdown output is standardized too. Figures use
Atomic grounding and what it unlocks
Atomic grounding is the release’s most consequential capability. Every leaf block carries an atomic_grounding array: one entry per visual line with DPT-3 Pro, one entry per word with DPT-3 Verity. Verity attaches a confidence value from 0 to 1 per word, computed as the lowest per character score in that word, giving teams a signal for routing uncertain transcriptions to review. Table cells now carry their own bounding boxes, though Pro leaves cell level atomic grounding empty. Extract V2 draws citations from this grounding, so an extracted field traces to a specific word on a specific page. That makes PII redaction by coordinate, document diffing and reviewer UIs buildable rather than approximate.
Interactive explainer
‘+TREE[i][2]+’‘;
t.appendChild(row);
var c=document.createElement(‘div’); c.className=”connect”; t.appendChild(c);
}
setTimeout(resize,1300);
}
document.getElementById(‘adeTreeBtn’).onclick=buildTree;
/* —- slide 2 calculator —- */
var model=”pro”, tier=”pri”;
var RATE={pro:{pri:[1,0.5],std:[0.5,0.25]},ver:{pri:[0.3,0.2],std:[0.15,0.1]}};
function ceil1(v){return Math.ceil(v*10-1e-9)/10}
function calc(){
var pg=+document.getElementById(‘adePg’).value;
var ch=+document.getElementById(‘adeCh’).value;
document.getElementById(‘adePgOut’).textContent=pg;
document.getElementById(‘adeChOut’).textContent=ch.toLocaleString();
var r=RATE[model][tier];
var pc=pg*r[0], cc=ch/1000*r[1], tot=ceil1(pc+cc);
document.getElementById(‘adeTotal’).textContent=tot.toFixed(1);
var worst=200*RATE.pro.pri[0]+400;
document.getElementById(‘adeFill’).style.width=Math.min(100,(pc+cc)/worst*100)+’%’;
var name=(model===’pro’?’DPT-3 Pro’:’DPT-3 Verity’)+’ / ‘+(tier===’pri’?’priority’:’standard’);
document.getElementById(‘adeCalc’).textContent=
name+’\n’+
‘pages ‘+pg+’ x ‘+r[0]+’ = ‘+(Math.round(pc*100)/100)+’\n’+
‘characters ‘+ch.toLocaleString()+’ / 1000 x ‘+r[1]+’ = ‘+(Math.round(cc*100)/100)+’\n’+
‘———————————\n’+
‘total ‘+(Math.round((pc+cc)*100)/100)+’ rounded up to ‘+tot.toFixed(1);
}
document.getElementById(‘adePg’).oninput=calc;
document.getElementById(‘adeCh’).oninput=calc;
var mdl=root.querySelectorAll(‘.mdl’);
for(var m=0;m\n Quarterly revenue\n \n Bar chart of quarterly\n revenue\n’,
‘Types are CHART, FLOWCHART, DIAGRAM, ILLUSTRATION, PHOTOGRAPH, with FIGURE as fallback. Generated text stays inside description tags, so transcription is never confused with description.’],
att:[‘[STAMPED][SIGNED]\nSecretary of State use only\nIDAHO SECRETARY OF STATE\n[HANDWRITTEN_SIGNATURE]\n[ILLEGIBLE_SIGNATURE]’,
‘Labels are SIGNED, E-SIGNED, STAMPED and SEALED, and they stack. ILLEGIBLE_SIGNATURE and ILLEGIBLE_TEXT are fixed literals you can branch on.’],
tab:[‘\n Line items\n Widget1,200.00\n’,
‘Tables ship as HTML by default so merged cells survive. Set the table format option to markdown for pipe syntax, which expands merged cells into empty neighbours.’],
code:[‘[BARCODE]\n9780262033848’,
‘Scan code blocks emit a bracketed code type followed by the decoded value when it is readable.’]
};
function setOut(k){
document.getElementById(‘adeOut’).textContent=OUT[k][0];
document.getElementById(‘adeOnote’).textContent=OUT[k][1];
resize();
}
var obs=root.querySelectorAll(‘.ot’);
for(var o=0;o
‘+DEP[z][1]+’
‘;
dp.appendChild(c);
}
/* —- autosize —- */
function resize(){
try{parent.postMessage({adeHeight:root.offsetHeight+40},’*’)}catch(e){}
}
window.addEventListener(‘load’,function(){buildTree();resize();setTimeout(resize,700)});
setInterval(resize,1200);
})();







