Most of us get way better document extraction out of the gpt/gemini apps or a playground from the raw api with the same model and same promt and figure the api got nerfed. it is rarely the model doing it mostly its the prep the file gets before the model touches it apps quietly do a bunch a bare api call doesn't. resolution is big one like the chatgpt UI downsamples pdf pages to ~768 px on short side about 90dpi while gemini renders way higher ~210 dpi and even exposes media_resolution per part so small text and dense tables live or die before model involvement some paths also pull the embedded text layer natively and keep the table structure intact where a raw file upload can go pure vision and just miss it which is basically what a parser is doing before anything hits the model like handing over a clean text + layout instead of pixels for instance parsers like docling or others locally and llamaparse for cloud , these end up doing the same job app does invisibly. Apart from these the apps dont keep the whole doc in context they chunk and retrieve so the model sees a cleaned subset rather a raw pdf + a system prompt you never wrote hence matching the app on the api is mostly reading that prep yourself like render higher dpi where vision actually matters, pull the text layer where it exists and feed clean md instead of raw bytes and add back scaffolding   submitted by   /u/TangeloOk9486 [link]   [comments]