I am not a fan of AI-generated images. I have used them for memes, but they’re challenging to get right in a professional context.

In Manuel’s post On featured images in blog posts, they are completely against any featured images. I don’t go as far. I think that as the writer, I am free to add some whimsy or color to the blog post, as long as I am respecting the user by not adding excessively large images.

This morning, I came across a blog post including an AI-generated image that made me think about this topic in a bit more detail.

Why I Do Not Like AI Generate Images

  1. Image generators are trained on content without proper attribution and license, I have reservations using results of that.
  2. I think they distract from the main content and usually don’t serve a purpose.
  3. They are often a signal that they were put there for the sake of adding something.

For someone wanting to add artwork to a blog post, there are better options:

  1. Finding a royalty-free option like Unsplash
  2. Doing it themselves
  3. Hiring an artist I know these are not easy, but even doing a basic diagram yourself adds a lot more personality and originality. I recall reading Stratechery regularly because hand drawn images like in this post signaled that Ben Thompson cared about the subject to draw something (or get something drawn).

NPM Shai-Hulud Vulnerability

The post I mentioned is Live Updates: Shai-Hulud, The Most Dangerous NPM Breach In History Affecting CrowdStrike and Hundreds of Popular Packages, which I found via Lobste.rs. This immediately intrigued me. Shai-Hulud indicates a huge issue.

Shai-what now?

You can skip this explanation if you have seen Dune movies or read the books.

The series revolves around a desert planet called Dune or Arrakis. The main threat on this planet are huge sand worms, are attracted to any rhythmic sounds and disturbances. They’re unique to Arrakis and produce a substance called spice melange, that increases human lifespan and sometimes gives prescience to the consumers.

Fremen, the planet’s indigenous people, call the worms Shai-Hulud. They also use them as a method of transportation. They summon the worms using a rhythmic thumping device and direct them using specialized hooks. Wikipedia has a detailed page about worms, beware of the spoilers though: Sandworm (Dune).

Parallels to Security

Back to the NPM security incident, I think Shai-Hulud is a clever and very fitting name. In the Dune universe, facing a sandworm is essentially a death sentence. The vulnerability lays hidden, like sandworm, beneath the surface. Once it hits, the damage can be catastrophic!

The Image

With the context, let’s look at the image on the page:

Original image from blog post, showing a Koi dressed as Fremen fighting a sandworm in Dune

Looks good at first glance, right? The company’s mascot is holding a knife and ready to fight a sandworm coming out of sand.

Ignoring the standard ChatGPT/Dall-E style, having seen the movie and read 4.5ish books, I noticed that fighting a worm with a knife is not going to work. Besides this knife being comically small, it’s practically useless against the worm.

It’s easy to point fingers, but can we do better? I spent some time prompting ChatGPT and arrived at this image in ~10 minutes (prompting on the side while writing this post, full conversation):

My attempt at generating an image similar to original one.

My first attempt, I like that knife is larger.

That’s not much of an improvement.

One technique that I recently learned is using an LLM to generate the prompt and then handing that over to the acutal generator.

So let’s try that:

I want you to help me with writing a prompt.

I want to generate a feature image for a blog post. Context: The page is about a security vulnerability. I’m calling it Shai-Hulud, after the sandworms in Dune. I want the image to be of our company’s mascot fighting a sandworm. The mascot should be clothed like a fremen. It should have bird/angel like wings near throat, where human ears would be.

It’s important to keep the image lore accurate, so add details about characteristics of the suit, sandworm and how a character in Dune universe would fight or deal with a worm.

Please generate this prompt, be detailed and take your time to think.

ChatGPT generated multiple prompts, even offering to optimizing them for Dall-E 3. Full conversation.

Some examples:

First example of generated image from a generated prompt

This is one of my favorites, it also reminds of Elden Ring in a way

Second example of generated image from a generated prompt

I like the sun in this, but the hooks are off.

I didn’t think these were much of an improvement over the original, so I decided to paste the full, detailed prompt into ChatGPT (full conversation). Result:

Third example of generated image from the full generated prompt

Getting better, but hooks are still not good. I like the thumper like thing/other ropes on worm and the splashing sand.

I tried minor changes like adding a figure to denote npm but that didn’t work so well (conversation).

Trying to add NPM to the image

NPM looks like reaper in this one, but it’s fighting, not a fan

Adjusting

Trying to place NPM behind resulted in ChatGPT refusing to associate anything with NPM and then placing it between Koi and the worm

Are These Better?

I don’t think so. I like the Elden Ring style image and the one with full prompt slightly over the original one.

This is close to what I’ve seen about AI usage so far, it’s good to get something shipped that’s 80% there. That’s often exactly what a business needs.

If you care for the last 20%, you need to know about the subject. And if you can’t do it yourself, you require an expert to do exactly what you have in mind.

Conclusion

My opinion is that we’re better off not using AI-generated images in blog posts. But I realize that I’m not an expert at image generation, and only tried Dall-E 3/ChatGPT. If you think another model or prompt can do better, I’m open to feedback.