ai

The block images are generated now

The block images are generated now

The first block images here came out of packs I bought from a few stock platforms, which worked until I wanted a picture that was not in any of them. After that I did what everyone does and pulled things off Google Images, and that is a licensing position I could not have defended for five minutes: a search result is not a licence, and "it was on the internet" is not one either. Neither approach gave me art that matched the site anyway — the packs were generic, and the search results arrived in a different palette every time.

So this month I regenerated the lot.

The raster art comes from OpenAI's gpt-image-1, the model that went into the API on 23 April and the one behind image generation in ChatGPT. I gave it the site's own hex values and asked for the same composition rules on every pass, which is the part stock never offered: a house style I can re-run.

Claude does not draw pixels, so Claude Opus 4 took the other half of the work and wrote the covers as code. That is what scripts/generate-post-covers.mjs is — each cover composed as SVG and rasterised with sharp, so the artwork is editable, diffable, and reproducible instead of being a folder of opaque bitmaps.

I will not overclaim the legal result. Whether a purely generated image is copyrightable at all is genuinely unsettled, and the training-data lawsuits are still running. What changed is the thing I actually needed: no one else's licence is in the way, and I can regenerate any of it on demand.

Deyan Peev

Written by

Deyan Peev

Founding Engineer · Sofia, Bulgaria

Deyan Peev

Founding Engineer in Sofia, Bulgaria. Currently at 1club.

Elsewhere

© 2026 Deyan Peev