CODE AS CANVAS

Your image budget
is 2–50× too high

Alexey Vidanov · July 2026

Animated crayon illustration generated by LLM

Claude Fable 5 · Pure SVG · Animated · No diffusion

PROMPT "cloud architecture diagram, 6 services" LLM reasoning (0.6s) writing code (1.4s) 847 tokens · $0.01 <svg viewBox="0 0..."> <rect fill="#16a34a" <text>API GW</text> <line x1="..." /> </svg> RENDERED natural language reasoning + generation structured code editable image

Code in, image out. What changes?

2–50×
Cheaper per image
Variants from 1 template
0
Pixels guessed
SVG illustrations
Terminal animations
SVG → GIF
Parameterized charts
draw.io diagrams

The pipeline, quantified

PROMPT

"event-driven order system,
6 AWS services"

10 words in

LLM

reason + code gen

~800 tokens · 2.0s

<svg>

structured code

1.2 KB

RENDERED

editable image

$0.007–$0.10

You pay for tokens the model writes. The browser renders for free. matplotlib renders for free. draw.io renders for free.

Cost per image, visualized

Nano Banana Pro (2K)
$0.134
Nano Banana 2 (1K)
$0.067
gpt-image-1-mini
$0.011
Unsplash + overlay
$0.003
LLM → SVG (Haiku)
$0.014

At 10,000 images/month: $670 (Nano Banana 2) vs $40–140 (Haiku/Nova SVG). 5–17× difference.

THE QUESTION CHANGED

Not "can it render text?"

"Can I edit it after?"

change a color

diff it in git

same output tomorrow

$6 for 10K images

One style document. One LLM call per plate.

The same approach renders crayon art.

Animated crayon-style children's illustration generated by Claude Fable

Pure SVG. Animated. No diffusion.

269 lines of SVG: crayon filters, displacement maps, paper texture, CSS animations. Every element is editable code.

Cost: ~$0.16 on Claude Opus 4.6. The boy waves, the cat's tail sways, clouds flow — all from <animate> tags. Try that with a PNG.

One template. Infinite variants.

bars = 5
max = 100
gap = 13
accent = #3C6E47

Auto-cycling every 2s

Same code. Different arguments. The bars move, the colors shift. No re-prompting.

Real draw.io, edited live.

aws AWS Cloud · Event-Driven Order Processing Web Client API GatewayREST API Order QueueSQS Order ProcessorLambda Orders TableDynamoDB EventBridgeOrder Events Fulfillment Step Functions Notification SNS CloudWatch Dead Letter QSQS ElastiCache
loading draw.io…
<mxGraphModel> // order-processing.drawio
  <mxCell id="dynamo" value="Orders Table"
    style="shape=image;image=…/dynamodb.svg"/>
  <!-- + add mxCell "cache" -->
  <mxCell edge="1" source="dynamo" target="eventbridge"/>
</mxGraphModel>
▍ live draw.io · auto-editing →

Rendered by draw.io in the browser. Every few seconds an edit is applied and re-rendered. 270+ AWS stencils, zero broken icons. Try that with a PNG.

$ npx skills add vidanov/aws-architecture-diagram-skill

github.com/vidanov/aws-architecture-diagram-skill ⭐ 105

README demos without screen recording

~/project

HTML + CSS animation. Loops forever. Weighs less than a favicon.

Photo + code = $0.003

Unsplash gives the photograph. The LLM writes the data overlay.

Photo
$0
LLM overlay
$0.003

Result: blog heroes, social cards, presentation slides that look commissioned.

Free APIs: Unsplash (3M+), Pexels (3M+), Pixabay (4M+)

UNSPLASH + LLM OVERLAY

Platform at Scale

12 teams · 340 services · 1 platform

2.4M
REQ/SEC
99.99%
UPTIME
4.2s
DEPLOY

2KB of SVG. Infinite loop. No runtime.

PURE SVG ANIMATION · NO JS · NO VIDEO FILE · 2KB

Left panel: zero JavaScript, zero video files.

Pure SVG <animate> elements. The LLM writes it in one shot: 2KB of code that loops forever at any resolution.

Reveal.js · this deck is itself the proof
Remotion · React → 30fps → MP4
SVG→GIF · animated diagrams for docs
Terminal · animated CLI demos

Pick your renderer

Charts & KPIs

SVG · HTML · Matplotlib

Architecture

draw.io · Mermaid · D2

Illustrations

SVG + design system

Blog heroes

Photo + code overlay

Video & animation

Remotion · SVG→GIF · terminal

Presentations

Reveal.js · this deck

Every icon above is inline SVG. Dogfooding.

The renderer spectrum: SVG to Unreal

Renderer
Tokens
Cost
Capability
SVG (browser)
~800
~$0.01
2D vector
p5.js (browser)
~1,500
$0.0006
2D creative
Three.js (browser)
~3,000
$0.001
3D + PBR
Godot (.tscn)
~2,500
$0.001
Game engine
Blender (Python)
~5,000
$0.002
Photorealistic 3D
Unreal Engine 5
~8,000
$0.003
AAA-grade

Even Unreal Engine quality at $0.003 is 7–70× cheaper than diffusion at $0.02–0.20.

Tokens grow linearly (10×). Rendering power grows exponentially. All outputs: editable source code.

The rendering engine
already exists.

Browsers, matplotlib, draw.io, Blender, Godot, Unreal — all render for free. The LLM writes their input.

github.com/vidanov/llm-programmatic-image-gen

Animated crayon illustration generated by LLM

Every visual in this presentation was generated by code.