Ga naar inhoud
Open-source tool

Lede

De meeste AI-beelden bij uitgeversartikelen mislukken omdat de brief mislukt — de kop gaat naar een model zonder editoriale richting, en het model levert het veiligste cliché dat het kent. Lede leest het artikelbody, synthetiseert een echte art-director's brief (scène, sfeer, licht, compositie, anti-cliché-lijst), en bakt die brief parallel door drie frontier cloud-modellen. De IP is niet het model. De IP is de editoriale brieflaag tussen artikel en image-API.

Next.js 16Claude Sonnet 4.6Recraft v3GPT-5.4 Image 2Gemini 3 Promflux (Apple Silicon)
01 — De bakeoff

Dezelfde brief, vier uitvoeringen, naast elkaar gekozen

Elk showcase-artikel op de live demo volgt dezelfde flow: extract het body, synthetiseer één brief, stuur die parallel naar Recraft v3, OpenAI gpt-5.4-image-2 en Google Gemini 3 Pro Image. Het werkelijk gepubliceerde lead-image van het artikel staat ernaast, zodat de redacteur kan zien wat er vanuit hetzelfde bronmateriaal boven de vouw had kunnen staan. Hieronder een van de showcase-bakes — een stuk over cookie-cutter casino-affiliates die zich voordoen als transparante reviewers.

Origineel hero · Recraft v3 · GPT-5.4 Image 2 · Gemini 3 Pro Image · brief gesynthetiseerd door Claude Sonnet 4.6 via OpenRouter

02 — De brieflaag IS het product

Wat een echte brief onderscheidt van een prompt

De synthesizer geeft de kop niet zomaar door. Hij levert een gestructureerde editoriale brief: concept core (het argumentatieve mechanisme dat het beeld moet uitdrukken, bijv. "het gat tussen de bonuskop en de voorwaarden eronder"), non-negotiables (2-3 artikel-specifieke ankerpunten die in elke rendering moeten voorkomen), text-dependency-classificatie, scène, sfeer, licht, compositie, palet, en een per-model negatief-lijst afgestemd op bekende faalmodi. Een Zod-schema dwingt de vorm af; een injectie-bestendige wrapper beschermt tegen artikel-bodies die de instructies proberen over te schrijven. Dezelfde brief is netjes hertarget-baar voor het lokale mflux-paar (Flux Krea, FLUX.2 Klein) zonder tekst-in-beeld — het editoriale mechanisme overleeft de tier-wissel.

Zod-gevalideerd brief-schema · prompt-injection wrap op user content · cloud- en lokale brief-varianten · per-model negatief-addenda · kostenplafond serverside afgedwongen

Stack en aanpak

Next.js 16 op de App Router met Turbopack, gedeployed op Vercel Pro met maxDuration 300 voor de trage cloud-bakes. Brief-synthese via Anthropic Claude Sonnet 4.6 door OpenRouter; beelden via de Recraft-API, OpenRouter-image-modellen, en mflux voor het optionele lokale Apple-Silicon paar. NDJSON-streaming voor de live bakeoff-UX, Upstash Redis voor rate-limiting met een in-process fallback voor lokaal werken.

De security-hardening heeft zijn plek verdiend: een SSRF-guard met DNS-pinning (via een undici-dispatcher) verslaat rebinding-TOCTOU op de artikelfetcher, edge-runtime basic-auth schermt een private-demo-modus af, en een per-bake kostenplafond breekt runs af boven een door env ingesteld plafond. De volledige repo is door een vier-model adversariële review gehaald (DeepSeek V4-Pro + Gemini 3.1 Pro panel), en elke bevestigde bevinding boven LOW is opgevolgd vóór de publieke release.

Gebouwd april – mei 2026. MIT-gelicenseerd. Live op lede-xi.vercel.app, bron op github.com/Bambushu/lede.