The Core Idea
Every time you paste text into Claude, GPT, or Gemini, a tokenizer chops it into subword pieces. A 10,000-character file might become 3,000 tokens. But here's the twist: vision models charge a flat fee per image tile regardless of how much text is packed inside. Visual token encoding exploits this gap by rendering your text into a dense, high-contrast image that the AI reads optically instead of tokenizing character by character.
How a 5×8 Bitmap Atlas Works
Instead of using standard fonts with curves and anti-aliasing, the pxpipe engine maps each ASCII character to a strict 5-pixel-wide by 8-pixel-tall monochrome grid. There is no subpixel rendering, no kerning, no variable widths. Every character occupies exactly 40 pixels. This deterministic layout means Claude's vision encoder encounters perfectly crisp edges, achieving near-perfect read accuracy while maximizing the number of characters per image tile.
Why Grayscale Beats RGB
A grayscale PNG uses a single 8-bit channel per pixel versus three channels in RGB. For text recognition, the AI only needs contrast — black glyphs on a white background. Stripping color channels shrinks the Base64 payload by roughly 60%, reducing upload time and keeping the image within optimal tile boundaries.
Real Numbers: Token Cost Comparison
Take a 50,000-character TypeScript file. Through Anthropic's BPE tokenizer, that becomes approximately 14,000 input tokens. Rendered through pxpipe at maximum density, the same content fits into roughly 4,600 image tokens across 5 pages — a 67% reduction. At Claude Sonnet 4.6's input pricing of $3 per million tokens, that single file drops from $0.042 to $0.014.
When Not to Use It
Visual encoding shines for bulk data ingestion — logs, configs, large codebases, CSV dumps. It is less effective for short prompts under 500 characters where the image overhead actually costs more than raw text. It also cannot replace structured tool-use calls where the model needs to parse JSON arguments precisely. Use it as a complement, not a replacement, for standard prompting.
Quick Start: Sending a Dense PNG to Claude
import anthropic, base64
client = anthropic.Anthropic()
with open("output_page_1.png", "rb") as f:
img_b64 = base64.b64encode(f.read()).decode()
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=2048,
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Analyze this codebase and list all exported functions."},
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": img_b64}}
]
}]
)
print(response.content[0].text)
Frequently Asked Questions
Conclusion
Visual token encoding is a practical, immediately deployable optimization that works with your existing AI stack. Whether you are a developer building pipelines or a founder managing API budgets, the ~88% input cost reduction compounds into real savings that improve your margins and extend your runway.
Ready to try it? Open PXINK and drop a file to see your savings instantly.