blur-1
blur-1 is a diffusion model I trained from scratch on my MacBook. It learned from 5,202 paintings by Van Gogh, Renoir, Monet and Cézanne, and it paints small pictures in their styles. There is no text prompt and no pretrained model underneath: you pick a painter and a subject, it starts from pure noise, and it removes a little of that noise at every step until a painting is left.
It runs in your browser, so nothing is sent anywhere. The first painting downloads the model and the code that runs it. After that, a painting takes seconds if your browser has WebGPU, and half a minute or more if it doesn't.
While it works, the picture shows the model's current guess at the finished painting. The early guesses are blurry averages of everything it has seen, and every step commits to a little more detail.
The two “Follow” settings are classifier-free guidance, one for each label. At every step the model makes three guesses: one with no labels, one with only the painter, and one with the painter and the subject. The page pushes away from the first guess toward the second by the painter strength, then toward the third by the subject strength. Low values (1 or 2) give varied but muddy pictures; 5 and up is vivid and over-saturated.
The same seed and settings give the same painting, so turn off “New seed each time” to try one painting under different settings.
Model: blur-1, a 23 million parameter UNet with a cosine noise schedule and a 50 step DDIM sampler, trained for 24,000 steps (about five hours on an M2 Pro) on paintings from the WikiArt dataset. It runs with ONNX Runtime Web. The first painting downloads about 29 MB; after that it comes from your browser's cache.