If you have spent any time in developer corners of social media over the last few weeks, you will have run into pxpipe. It is a small open-source proxy, published at pxpipe.dev, that sits between AI coding tools like Claude Code and the models behind them. Before a request leaves your machine, pxpipe takes the bulkiest parts of the prompt, the standing instructions, the tool documentation, or the older conversation history, and renders them as PNG images. Instead of sending the model your text, it sends the model a picture of your text.
The point of this is money. On real production workloads, pxpipe reports cutting the total bill by 59 to 70 percent. Its demo shows the same coding session costing $42.21 with plain text and $6.06 with images. Same task, same output. The repository collected thousands of GitHub stars within days of going viral, and developers have spent the past weeks arguing about whether this is a clever hack or an accident waiting to happen.
For anyone who has not followed the image capabilities of current AI models, this should sound backward. A picture of a page is surely more data than the page. How can it be cheaper to show a machine a photograph of your words than to hand it the words themselves? And, stranger still, why does the machine read the photograph just as well?
So in today’s post, I want to unpack image prompting as a cost optimization technique, and then follow the trail somewhere more interesting than a billing statement. Most readers of this blog will never run a proxy or worry about API pricing. Nevertheless, the very fact that this trick is effective shows something significant about the way these systems process information when they read.
It is, I will argue, one more crack in the “stochastic parrot” picture of AI, the idea that a language model is nothing more than a very fluent autocomplete. And it opens a door for educators that has little to do with saving money.
Why a picture of words can cost less than the words
Language models do not read letters or words. They read tokens, small fragments of text, typically a few characters or a short word each, and commercial AI providers bill by the token. A thousand-word document costs you roughly 1,300 tokens every time you send it. If your prompt includes long instructions or an entire stack of reference material, you pay for all of it on every single request.
Images are billed differently. An image costs a fixed number of tokens determined by its pixel dimensions, not by what is in it. A page-sized image holding 150 characters and a page-sized image holding 15,000 characters cost exactly the same. Think of the difference between a telegram and a photograph of the telegram. The telegram bills by the word. The photograph costs the same, however many words are on it.
That gap is the whole trick. According to pxpipe’s own documentation, about 48,000 characters of standing instructions cost roughly 25,000 tokens as text and roughly 2,700 tokens when rendered as images. Dense material like code, logs, and structured data packs about three characters into each image token, against about one character per text token.
To be clear, nothing shady is happening here. Providers price images by area because that is how their vision systems slice them up into a grid of patches. The pricing simply never expected that anyone would send text through the picture channel in disguise.
The strange part is not the price
The strange part is that the model reads the disguised text fluently. In October 2025, Yanhong Li of the Allen Institute for AI, Zixuan Lan of the University of Chicago, and Jiawei Zhou of Stony Brook University published a paper with the pleasingly blunt title “Text or Pixels? It Takes Half.” They rendered long text inputs as single images, fed them to off-the-shelf multimodal models, and measured what happened. Token counts dropped by roughly half. Accuracy did not drop at all.
That held across very different tasks. On a long-context retrieval benchmark, where the model must find one specific fact buried in a mass of text, the image version scored 97 to 99 percent. On news summarization, the image version matched or beat specialized text-compression tools at the same compression rates. And on one large open model, responses even arrived 25 to 45 percent faster because the model had fewer tokens to process.
There is a catch, though. Model vision is not OCR, the optical character recognition technology that scanners use to turn a page into exact, character-perfect text. Reading text through the picture channel works at the level of its essential meaning. It works at the level of gist. The consequence is that it can quietly get an exact string wrong: a long ID, a hash, or a precise number. It will not flag the error. It does not know it made one.
Keep that in mind. We will need it when we get to the classroom.
The parrot was never supposed to do this
I have written in a previous essay about the “stochastic parrot” metaphor and its limitations, so I will keep the recap short. The phrase comes from a 2021 paper by Emily M. Bender, Timnit Gebru, and colleagues, and it names the dominant skeptical view of language models: these systems manipulate the form of language with no grip on its meaning. They predict the statistically likely next token, and everything that looks like understanding is an illusion produced by scale.
The critique leans on a real philosophical problem, formalized by Stevan Harnad as the symbol-grounding problem and dramatized earlier by John Searle’s Chinese Room. A system that only ever touches symbols, the argument runs, can shuffle them forever without any of them meaning anything. Every piece of this argument is about text. Token in, likely token out, patterns learned from oceans of strings.
Now hold that up against what pxpipe does. When a prompt travels through the image channel, the text tokens the parrot supposedly depends on never enter the model at all. Not one character of the original prompt is present in the input. What arrives is a matrix of pixels, patterns of light and dark that happen, to a human eye, to look like writing.
Yet the model recovers the instructions from those patterns, follows the logic, and produces the same multi-step work it would have produced from the raw text. The words were left behind at the door. The meaning got in anyway.
The technical explanation is that multimodal models translate everything they receive, words and pixels alike, into the same internal representation, a kind of shared space of meaning that researchers call a latent space. A sentence typed as text and the same sentence photographed off a page land in nearly the same spot in that space. Once inside, the model neither knows nor cares which door the meaning came through.
Whatever the system is doing, “completing your string” has stopped being an accurate description of it. It is operating on what the string was about.
What this does and does not prove
Statistics over pixels is still statistics. A skeptic can reply that the model has simply learned pattern-matching across two channels instead of one, which is more impressive but not different in kind. Grounding a word in a photograph of that word is also not grounding it in the real world. The model that reads “apple” off a rendered page has still never held one.
And the gist errors cut both ways. Reading by gist looks charmingly human, and it also shows that the system reconstructs content rather than retrieving it exactly, which a determined skeptic can file under sophisticated mimicry.
Fair enough, up to a point. Nothing about image prompting settles the deep questions of machine understanding or consciousness. But what was the metaphor actually claiming? A parrot repeats sounds. It holds no representation of what the sounds are about, nothing that would survive if you changed the medium of delivery.
A system that pulls the same logical structure out of a character string and out of a photograph of that string demonstrably holds something the parrot lacks: a representation indifferent to the channel it arrived through. Call that a world model, or refuse to. Either way, the metaphor has stopped describing the machine in front of us, and educators who reach for it should be aware that the ground under it has been shrinking for a while.
The worksheet and the whiteboard
I would guess that almost nobody reading this blog pays per token. If you use AI through a chat subscription, the pricing arbitrage that made pxpipe famous is invisible to you, and you should not install a proxy to save money you are not spending. Even so, two things carry over to the classroom, and it’s the latter that I find genuinely exciting.
The first is a piece of AI literacy. Every time you or a student photographs a worksheet, a handwritten draft, or a page of lab data and drops it into a chat, you are doing exactly what pxpipe does: routing text through the picture channel. The model will read it the way it reads those PNGs, fluently at the level of meaning and unreliably at the level of exact strings. A decimal point can drift. A name can change spelling. No warning appears, because the model reads by gist and does not know what it smoothed over.
The practical rule is simple enough to teach in five minutes. Use images when you want the machine to understand something; use text when the exact wording or the exact numbers carry the weight; verify either way.
The second is that a drawing can now serve as a prompt in its own right. In February 2026, David H. Smith IV and colleagues at Virginia Tech, UC San Diego, and the University of Toronto published a position paper called “Drawing Your Programs.” In a large introductory Python course, students drew problem-decomposition diagrams, boxes, arrows, nested structures, and those hand-built diagrams were fed directly to a model as prompts for code generation. The models handled it well. No translation of the drawing into a paragraph of prose was needed. The sketch itself was the prompt.
Anyone who has taught programming, or watched a developer at a whiteboard, knows why this is important for learning. The cognitive scientist David Kirsh has argued that sketching is not a record of thought so much as a way of thinking, a means of putting part of your working memory on the page where you can see it. Until recently, a student who thought in diagrams had to compress that thinking into text before an AI could act on it, and the compression step was pure friction.
That step is now optional. A student can be asked to show their decomposition of a problem, hand the drawing to the model, and compare the generated code against their intent. The diagram, the artifact of structural thinking that a finished code file hides, becomes something a teacher can see, discuss, and assess before a single line is typed.
This also connects to a distinction I have drawn in an earlier essay, between offloading judgment to a machine and uploading your own thinking in a form the machine can work with. Prompting with a diagram sits firmly on the uploading side. The student still does the decomposition, which is the part we actually want to teach. The machine handles the typing.
And nothing about this is confined to computer science. Concept maps, essay outlines, sketched arguments, annotated timelines: any visual form a student uses to organize thought is now, in principle, a first-class way of talking to these systems.
The channel and the crack
A pricing quirk produced a viral tool. The tool, almost by accident, demonstrated something nobody had set out to show: strip away every text token, and the reasoning survives, because the model was never really working on the text. It was always working on the meaning it communicated, in a form that a photograph carries just as well.
The next LLM pricing update may patch pxpipe out of relevance, and I would not bet on anyone remembering it by winter. But the fact it exposed will outlast it. These systems can now meet our students in the diagrams and sketches where much of their real thinking already happens. The machine no longer needs our words to get at our meaning. Our students, however, still need theirs.
The images in this article were generated with Nano Banana 2.
If you’d like to go further, the following NotebookLM-generated audio deep dive goes beyond the post into the broader research behind it, drawing on the sources and notes I gathered along the way. This is meant as a companion to the argument, offered as an optional extra rather than a summary of it.
P.S. I believe transparency builds the trust that AI detection systems fail to enforce. That’s why I’ve published an ethics and AI disclosure statement, which outlines how I integrate AI tools into my intellectual work.






