
Pintura IA — óleos que Claude pinta pincelada a pincelada
Un motor de pinceles donde Claude decide cada pincelada y mira el lienzo entre etapas. Cada obra viene con su time-lapse y el qué, cómo y por qué de cada etapa.
Pintura IA es un experimento con otra forma de generar imágenes. En vez de producir píxeles como Midjourney o Stable Diffusion, Claude decide cada pincelada y mira el lienzo entre etapas, como pinta una persona.
Cómo funciona
Escribí un motor de pinceles al óleo en Python con NumPy, Pillow y SciPy. Cada pincelada es una instrucción: un camino de puntos, un color, un ancho, una opacidad y un tipo (óleo, veladura, lápiz o espátula). El motor la ejecuta:
- Cerdas: cada trazo de óleo se arma con decenas de cerdas paralelas, cada una con su intensidad, tono y largo, así que las puntas quedan desflecadas. La pintura se acaba a lo largo del trazo y arrastra algo del color de abajo.
- Veladuras para degradados, niebla y resplandores, y lápiz para el boceto.
- Empaste: cada trazo deja relieve en un mapa de alturas que se ilumina al final, más una trama de lienzo que se nota donde la pintura es fina.
- Máscara: un trazo puede llevar un polígono que lo recorta, como cinta de pintor, para que los bordes queden limpios.
Claude trabaja por lotes, uno por etapa (boceto, cielo, montañas, agua…): escribe los trazos, los renderiza, mira el resultado y decide qué sigue o qué rehacer. Un script de time-lapse repite todo el registro con un ritmo propio por etapa y pintando por zonas, para que se vea como una sesión de pintura de verdad.
Las obras
- Lluvia en el bosque: una ventana en una noche de lluvia, con una vela como única luz cálida. 59.938 pinceladas en 10 etapas.
- Amanecer en el lago: el Popocatépetl y la Iztaccíhuatl al amanecer, reflejados en un lago, con un campo de cempasúchil. 27.652 pinceladas en 9 etapas.
La página de demo muestra cada obra con su time-lapse, el cuadro final, una captura de cada etapa con qué se pintó, cómo y por qué, y una lista honesta de lo que quedó flojo. Los videos y las imágenes se sirven desde Vercel Blob.

