DEV Community

Cover image for My AI image generator rendered the exact word I had banned
Mirza Iqbal
Mirza Iqbal

Posted on

My AI image generator rendered the exact word I had banned

I have been building small tools in public for a few months now, the kind nobody asked for that turn out useful anyway. This one bit me.

I asked a picture-making tool for a promo graphic. White background, checklist, five items, nothing fancy.

I did not tell it what the headline should say. I figured "bold sans-serif label text" was specific enough.

Sixty seconds and six credits later, the picture came back. Clean. White background, exactly as asked. Readable text, exactly as asked.

The headline was a full sentence of generic hype copy, the exact kind of empty promo phrase I try to keep out of everything I ship, in public, on purpose.

I keep a list of words I never want to write again. It has lived in my writing habit for months. It blocks every file I write, every commit message, every doc. The word sitting right there in the headline is one I put on that list a while back, on purpose, because it kept creeping into writing that was supposed to sound like a person wrote it.

The list had never once looked at a picture.

Here is the part that stings a little. I built that word list specifically because I got tired of catching the same five words creeping back in. I trusted it completely. It was watching every surface I could think of.

Except the one surface where a tool was free to invent its own copy.

Have you shipped something you never actually read

Not code. An asset. A generated thumbnail, a PDF export, a chart with auto-labeled axes, a voice clip with a script you skimmed instead of read. Something that came back looking finished, so you moved on.

I do this constantly with generated code. I read every line before it ships. I do not have that same reflex yet for generated media, because media does not look like something that needs reading. It looks like a picture.

A picture with words baked into it is still a claim you are making in public.

The actual fix was smaller than the mistake

I did not need a smarter tool. I needed to stop leaving the copy up to it at all.

The rule I wrote for myself afterward has one sentence that matters. Supply the exact words to render, word for word, every time. Never "a bold headline about X." Always the literal sentence, quoted, unchanged, sourced from something real rather than invented on the spot.

That one sentence closes most of the gap by itself. Given exact text to render, it mostly renders exact text. Given a vibe, it fills the vibe with whatever it has seen a thousand times before, and generic promo copy has seen the same handful of hype words a thousand times before.

The second half of the fix was making the check run automatically, on the actual text about to be sent, before the request happens rather than after the picture comes back. Not a reminder to check. A gate that reads the request and refuses to send it if a banned word shows up anywhere in it.

I tested it against the exact sentence that had already burned six credits. It caught it instantly. I also tested it against clean text, to make sure it would not block everything out of paranoia. It let that through.

Two tests told me more than an hour of "I'll remember to check" ever would.

The part I want to say plainly

I did not catch this because I am careful. I caught it because I looked at the actual output instead of trusting the "success" status handed back to me. The call returned 200. The job completed. Every part of the chain reported that everything had gone fine.

Every part of the chain was wrong about the one thing that mattered.

That gap between "the process succeeded" and "the output is actually right" is where most of my real mistakes live. A green checkmark tells you the machinery ran. It tells you nothing about whether what came out the other end is something you would want your name on.

I look at the picture now. Every time. Not the status code.

Your turn

What's the last thing you shipped that "worked" but you never actually opened and checked?

If this was useful

I work through this in public, the wins and the freezes both, mostly on LinkedIn and YouTube. If the real version of building in the open is useful to you, that is where it lives. Find me on X, GitHub, and the work at next8n.com.

Top comments (0)