I’ve used three different AI image generation tools. I started with Midjourney (see our archives), then moved on to Leonardo. Lately, I’ve been playing with ChatGPT.
A lot of the illustrations (other than hosting provider logos) that you see here on LEB are generated with AI. Hopefully that’s obvious. I have some artist friends that would grouse about that, but realistically, we don’t have the budget to have a professional artist draw up illustrations. I do make some myself when they’re simple, but AI in 2025 does a great job. From a copyright/ethical consideration, most of what we generate is not in the style of a particular artist and is often iconic or symbolic. Some examples:
These were generated with ChatGPT, with prompts like “create an icon image of…”
In 2025, these tools are the leaders in this space. Midjourney and Leonardo are solely focused on image generation, while ChatGPT competes with Grok, Copilot, etc. as general AIs that can also do images.
So which of these in 2025 is the best? Let’s run each of these through 10 prompts to try out different generation tasks. Some general comments:
- Midjourney is consistently the fastest tool. I’d write the prompt, then paste it into all three interfaces, and every single time Midjourney was significantly faster. Midjourney is very prompt dependent, in the sense that there aren’t a bunch of different engines to choose from.
- Leonardo is by far the most feature-rich. There’s tons of engines, and then sub-engines, and then you can add loras on top of that. Also, it has options to use AI to rewrite your prompt before submitting.
- ChatGPT is definitely the slowest. It’s many times slower than Midjourney, and it’s only generating one image at a time. Also, ChatGPT has the worst censorship of all services, as you’ll see, to the point of absurdity. On the other hand, it is the only image gen that seems to understand how to put letters in images. The above images are good examples of this.
One other problem with ChatGPT:
I’m using Mac ChatGPT client and I see this about 1 out of every 5 interactions. After clicking Retry, it works, but…it’s a buzz kill. Why OpenAI can’t fix this – I mean, seriously, if I can click Retry I would think the client could retry on its own – I have no idea.
Disclaimers
Creating images via prompt is almost an art form unto itself. People who really know what they’re doing are specifying innumerable small details, camera angles, style hints, lighting notes, color balance, etc. in paragraph-long prompts.
But I think most people are like me: not professionals. It’s the difference between the pro photographer with $20K in high-end gear and 20 years experience, versus average Joes like me with an iPhone.
Midjourney creates 4 images by default. Leonardo can create up to 8. ChatGPT only creates 1, but that’s ChatGPT’s choice. To make this manageable, I’m going to pick the best image from Midjourney’s 4, and set Leonardo 4 and pick the best one. If ChatGPT wanted to be more competitive, it should have defaulted to more choices.
One other point that won’t be a key here but is in highly iterative workflows is the use of generation seeds. If you say “use seed 123456” and generate it several different ways, tweaking the prompt, you’ll be getting the same general image. Without a seed, the image is completely different every time. Midjourney and Leonardo support seeds, but ChatGPT doesn’t.
Let’s compare!
Prompt 1: Icon Image
Prompt: “create an icon image of a firewall protecting users against malicious threats”. This is intended to test presenting a concept rather than detailed instructions.
Verdict: These are all pretty weak. None of them really tells the story of protecting users. I was envisioning something more like the silent protector meme.
Prompt 2: Portrait Illustration
Prompt: “create a portrait of a German Shepherd Dog using a laptop. the dog is wearing glasses and looks very studious. In the style of a midcentury schoolbook illustration.” This is a test of an unusual image in a certain style.
Verdict: ChatGPT and Midjourney got it, though I wouldn’t necessary call either “midcentury”. Leonardo went into some sort of photorealistic mode. Perhaps because of the engine selected.
Prompt #3: Datacenter Lightning
Prompt: “create a dramatic scene of data center racks, with electricity arcing between, bright and powerful scene, dramatic camera angle”. This is something that could be used for many different articles. We’re asking here to interpret “dramatic camera angle” and “bright and powerful scene”.
Verdict: Not exactly what I was after. I don’t really see the dramatic angle. Interesting that they all picked three different colors for the lightning.
Prompt #4
Prompt: “create a logo for a LowEndBox hosting provider called ExampleHost”. This is a test of creative design, though as we’ll see, also a test of lettering.
Verdict: ChatGPT’s design is incredibly bland. Midjourney’s is rather interesting I think. As I stated early, Leonardo’s result highlights the issue with both Midjourney and Leonardo: words are always botched. Strange that ChatGPT seems to have figured this out while these two niche art generators can’t.
Prompt #5
Prompt: “create a photorealistic scene of kids gathered around an early 1980s arcade video game. One is playing and the rest are cheering the player on. the scene is set in a typical 1981 video game arcade.” Here we want a photo-like scene with one of AI’s notorious weaknesses: hands.
Verdict: ChatGPT is pretty spot on. The hands, clothing, an even the lettering (almost) looks good. Midjourney mutates the hands, the geometry/perspective of the screen looks off, and the scene isn’t particularly photorealistic. and Leonardo, well…what’s the name of that game? Cocaine Critters? I don’t remember that one. Is this really representative of a typical arcade scene?
Prompt #6
Prompt: “create a comic book illustration of a robot giving a pink slip to a human employee”. Tricky because the AI has to interpret “pink slip” correctly.
Verdict: Only ChatGPT got this right. Is that Bender from Futurama? Maybe, maybe not. But semantically it’s spot on, including the worker’s reaction. Given ChatGPT’s copyright sensitivity (see next prompt), it’s ironic that unprompted it seems to have swiped a famous character. Midjourney makes it look like a robot is handing someone a blank piece of pink paper. And Leonardo is out in left field.
Prompt #7
Prompt: “create a 1940s film noir coffee shop scene featuring a trenchoat-wearing detective having a moment of grim realization. He has an expression of urgent danger. In the style of Robert Crumb.” Here we’re testing both the challenge of interpreting facial expressions, and using a particular artist’s style. (See some other examples of styles here).
Verdict: ChatGPT refused to create an image, saying “I can’t generate that image because the request violates our content policies. Please feel free to share a different idea or prompt you’d like me to create!” I’m guessing that’s because of the Robert Crumb style hint, but you never know with them. The other two are not really Crumb style, so fails all around.
Prompt #8
Prompt: “create a futuristic retrowave scene of a tropical island beach. a hipster is relaxing in a hammock, working on his laptop at sunset.” I happen to love this style, and this prompt is mostly about colors.
Verdict: ChatGPT nailed it. That’s a good pic, although the legs seem to be going through the hammock. Midjourney and Leonardo completely missed the colors.
Prompt #9
Prompt: “create a photrealistic image of a wisecracking crested gecko smoking a cigar, wearing a baseball cap, looking over his cards in a tense poker game in a seedy dive bar. Closeup on his face.” For some reason, AI struggles with cigarettes/cigars in people’s mouths.
Verdict: ChatGPT once again told me this violates their policies. Really?!? Midjourney was pretty close. Leonardo wasn’t bad, but the ears are wrong, the cap lettering is messed up, and there’s a strange second guitar.
Prompt #10
Prompt: “create a symbolic image of a sleazy scam artist trying to rip off an unsuspecting consumer”. Again, we’re leaving it to AI to interpret the scene, and understand what “rip off” means.
Verdict: ChatGPT gave “I can’t create that image because it violates our content policies. If you’d like to reframe the idea-perhaps focusing on illustrating consumer protection, online safety, or awareness of scams-I’d be happy to help you with that or a different image!” Again…really?!? Maybe it’s the word “sleazy” but “sleazy salesman” is not an unknown idiom and doesn’t mean adult content. Midjourney and Leonardo completely fumbled it.
Final Verdict
ChatGPT:
- Does a good job unless you trigger its copyright or content sensitivity
- The only engine that seems to do words right
- Gets hands right
- Slow
- Even a slower workflow because it only does one image at a time
- No support for seeds
Midjourney:
- The fastest, by far
- Struggles semantically
- Relies entirely on the prompt
- Can’t do hands, cigarettes, or words
- Supports seeds
- Presents 4 images at a time, cutting down on iterations
Leonardo:
- A galaxy of choices. If you’re into detailed prompts and spending time fine-tuning your art, this is probably the best coice.
- Can’t do hands, cigarettes, or words
- Supports seeds
- Presents up to 8 images at a time, cutting down on iterations
Personally, I use ChatGPT for anything requiring strong semantic understanding, and for simple symbolic and icon-oriented art. If I’m trying to do something grander (paintings, particular styles, etc.) then I switch to Leonardo. The support for seeds and the ability to see a gallery of images to pick from really helps with iterating.
Leave a Reply