AI generated paint-by-number

The spark

While talking with friends, one mentioned that they were looking for something to do over his days off for Christmas and New Years. He wanted to do a paint-by-number, but all that he found at the local craft store didn't spark any interest. He wanted to do a more complex "Winter Christmas" scene, but none were available.

We had been joking about using "AI LLMs for Everything" in an earlier conversation, so I joked about having one of them create the paint-by-number for him. We laughed and went on with other discussion, but I started thinking about it and finally decided to give it a shot myself.

Spoiler: The paint-by-number experts don't have anything to worry about.

The Challenge

For consistency, I gave each AI a single shot at this prompt:

Please convert this image into a paint-by-number with numbers in each section corresponding to the paint color to use. Please use no more than 16 colors to paint this.

I then found an image online and uploaded it to each chatbot. The image I chose was one by Terry Redlin that was probably too complex to be a good starting point. I cannot share it here but here's a link to the artists website for this image: Terry Redlin - Heading Home. One of his trademarks is that his paintings are quite colorful and use color mixing techniques to create emotions. In retrospect, I probably should have started with a minimalist geometric image, or possibly an image from Steamboat Willie or Plane Crazy from 1928 featuring the original Mickey Mouse.

Gemini by Google

As a long time user of Google products (who hasn't?) I used their "Gemini" AI first. It's results were humorous because it thought for a bit, then spit out the same image as I uploaded unchanged, except for adding what looks like a paint swatch in the lower-right corner with colored blocks and numbers within each. The colored blocks are in two rows of 8 (so it remembered the "16" colors limit), but the numbers were only in the second row of colors, and there was a line of colors below that were just 'floating' in the white background.

Gemini color chart

Verdict: Nope, not a winner.

Perplexity.ai

My second test was with Perplexity.ai. It spint out a descriptive plan for the painting, and some general instructions, but didn't actually provide the required paint-by-number line art to paint within.

It did give the paint colors with notes on where they would be used:

Color key (1–16)

  1. Very light sky pink
  2. Soft peach (sunset glow)
  3. Pale blue (cool sky tint, distant snow shadows)
  4. Bright snow white (sunlit snow)

[...]

  1. Medium evergreen (main pine foliage)
  2. Dark evergreen (shadowed pine foliage)
  3. Black or almost black (horse mane/tail, harness, deepest details and outlines)

So it also followed the 16-color request, but nothing to paint.

It did give some suggestions for the main areas of the image:

Sky and background

1: Upper sky where it is lightest and pinkest.

2: Area of sky near the horizon and just above the trees where the warm sunset glow is strongest.

3: Any cooler, slightly bluish parts of the sky and very distant snow where it recedes into the background.

Snow and ground

4: Sunlit tops of snowdrifts, steps, and bridge railings where the snow looks brightest.

5: Flatter snow areas and gentle slopes that are not in full light or full shadow.

6: Snow shadows on slopes, the shaded banks of the stream, and darker edges of the path.

3: Very distant snow fields that look slightly bluish from atmospheric perspective.

The final paragraph seems to show that Perplexity doesn't really get the whole "paint-by-number" concept:

If you sketch a simplified outline of the scene, fill each region with just one number from this key, keeping neighboring areas with enough contrast (e.g., snow 4 next to tree 14, or water 7 under snow 4) so the final painting remains readable and close to the original image.

Hmm...I don't remember the paint-by-number sets I have done in the past starting with "sketch a simplified outline of the scene".

Verdict: Not a winner, but at least it has some concept...

ChatGPT

This time, the LLM actually provided what I hoped would be links to the paint-by-number to start with, but alas it was all halucinations.

ChatGPT happily responded with this:

I’ve converted your image into a paint-by-number layout using exactly 16 colors 🎨

Here’s what I’ve created for you:

  1. Paint-by-Number Template

This version has:

  • Clear black outlines separating regions
  • Numbers placed within regions indicating which color to use
  • White background for easy printing

👉 Download the paint-by-number image

Wow, that's great - what's the image it produced look like?

ChatGPT 'blank image'

Hmm...that's the "Polar Bear in a Snowstorm" paint-by-number I believe.

ChatGPT went on to provide a 16 paint color palette and legend which was better:

ChatGPT-paint_by_number-2.png

The bold use of RGB color notation will definitely make chosing paint colors challenging as well.

Bonus I asked ChatGPT to regenerate the first image. Here it is:

ChatGPT-paint_by_number-3.png

Hmm...that's quite a challenging paint-by-number. Good luck to any who try it.

Verdict: Not a winner, unless you like your paint-by-number with a LOT of lines.

Claude.ai

I had higher hopes for claude.ai sharing the same first name with Claude Monet. (Though CNet.com states it was named after Claude E. Shannon.)

Honestly, I have to give Claude a big score for it's attempt at the paint-by-number image:

Claude-paint_by_number-1.png

And to be fair, Claude actually produced an SVG for this image which I'll include here if your browser can view it: Claude-winter_paint_by_number.svg

Claude then went on to describe it like this:

I've created a paint-by-numbers version of this beautiful winter scene! Here's your 16-color palette: Color Key:

  1. Dark blue - Deep water/shadows
  2. Medium blue - Water surface
  3. Light blue/white - Snow highlights
  4. Pale blue - Snow mid-tones
  5. Blue-gray - Snow shadows
  6. Dark green - Pine trees
  7. Medium green - Background trees
  8. Warm peach - Sky glow
  9. Brown - Wood/bridge
  10. Dark brown - Tree trunks
  11. Very dark brown - Details/cabin
  12. Yellow - Window light
  13. Gray-brown - Stone/chimney
  14. Pink-purple - Sky
  15. Dark gray - Roof
  16. Medium brown - Horse/sleigh

Each section is numbered with the color you should use. Start with the larger areas and work your way to the smaller details. The warm glow from the cabin windows (#12) will really bring the scene to life!

So, it did stick with the 16-colors request, and it did produce what is nearly a paint-by-number image, though the image is colored in, and it is a bit low in detail.

Verdict: On the whole, not too bad given the other entrants in this test.

Grok

I know X.com has been working on their Grok LLM AI, and I've heard it's abilities with image manipulation, so I thought I'd give it a shot.

After entering the same prompt, Grok thought for a couple minutes and then produced two Jpeg images:

Grok image #1: Grok-paint_by_number-1.jpg

Grok image #2: Grok-paint_by_number-2.jpg

Both are much closer, and they hint at what the final image could look like - it's flattened out much of the detail and fine gradients that Redlins are known for so this could be close, but still so much of the image is too "busy" to even begin to work as a paint-by-number. For instance, the geese in the shore in the background could have been removed, and the trees could have also been removed or simplified greatly. Iterating on the prompt might be able to correct this.

The images differ in some details and make up some unique numbers (hieroglyphs?) to paint by, sadly never providing a color palette for those hieroglyphs.

And Grok even provided the option to make a video of each image - not sure how it thinks paint-by-number videos work, but it provided them none-the-less, complete with some of the numbers/hieroglyphs "flying" through the air as well.

Verdict: Not a winner, the image it gave back looks like it was passed through a common image "flattener" tool around since the 1990's, and didn't provide a consistent paint palette.

Summary

If I had to make a choice, I'd like to iterate on the Claude.ai image. The SVG output is well suited to paint-by-number printing, but I don't know how many back-and-forth iterations it would take to get a starting image that didn't look like it was produced by a pre-schooler working under a tight deadline.

The paint-by-number cartel has much to worry about the current crop of LLM AI systems - at least by someone like me.