The Happy Accident

In the first installment, I talked about an accident that changed the way I approach AI image generation. I had been working with an image-to-image workflow and, when I moved on to an entirely different prompt, I forgot two things: I didn’t switch the workflow back to the Empty Latent Image used for text-to-image generation, and I left the denoise value at 0.5.

So, let’s recreate that accident.

I’ll start with an image that I’ve already generated and refined. That image is still sitting in the Load Image node and feeding the latent image into the KSampler. Then I’ll replace the original prompt with something completely unrelated to the image.

The new, unrelated (Illustrious model) prompt:
photorealistic, best quality, stunningly beautiful, intricate details, sharp focus, realistic, ultra-detailed, absurdres, realistic skin texture, cinematic color grading, high-resolution texture, realistic anatomy, rim lighting, film grain, cinematic bloom, volumetric lighting, bokeh, very aesthetic, 8K, high dynamic range, DOF, depth of field, focused subject, saturated colors, dark purple chromatic aberration
BREAK
beautiful, slender body, sexy, 21-year-old young woman, petite, slim, medium breasts, long wavy blonde hair, elegant hair, striking light grey eyes, bright, blonde eyebrows, thin eyebrows, long eyelashes, detailed face, full lips, freckles, blue ring, stud earrings, one small thin gold necklace with white oval opal pendant
BREAK
solo, nightclub bar theme, scenery, dark lighting, black light, black lace minidress, see-through dress, high side-slit, elegant makeup, eyeshadow, eyeliner, lipstick, gold arm bands, gold bangles, gold hoop earrings, thighs, smile, realistic eyes

Source Image

Each image is the result of 0.1 increase in denoise value, starting from 0.5 to 1.

At a denoise value of 0.5, the result isn’t particularly useful. Most of the original image remains. The new prompt manages to change some things, but it’s clearly fighting against the existing image rather than creating the new one I asked for.

But that was the interesting part.

It tried.

The model was responding to the new prompt. It just wasn’t being given enough freedom to get very far.

That made me wonder what would happen if I gave it more.

I began increasing the denoise value in increments of 0.10. With each increase, more of the original image disappeared and more of the new prompt took its place. Eventually I reached the point where, to my eyes, essentially nothing recognizable from the original image remained.

Then I worked my way back down, this time in increments of 0.05.

That’s when things started getting interesting.

I began paying attention not simply to whether objects from the original image survived, but to what else survived.

Colors.

Lighting.

The position and orientation of the subject.

Where objects appeared within the frame.

The general arrangement of the scene.

Sometimes an object from the original image would influence what appeared in roughly the same location in the new image, even though the prompt was asking for something completely different. In other cases, the object itself disappeared while its color, shape, brightness, or position seemed to leave an echo behind.

By the time I worked my way back to a denoise value of around 0.55, I realized I wasn’t simply looking at different strengths of image-to-image generation anymore. I was beginning to see ranges of influence.

And that raised a much more interesting question.

What if the original image didn’t have anything to do with the image I wanted to create?

So I started experimenting.

Different source images. Different prompts. Different denoise values. Images with very different lighting and color palettes. Images with subjects positioned in different parts of the frame. Busy images. Simple images.

For comparison, I generated the same prompt normally using an Empty Latent Image. And, frankly, I liked this image better than most of the experimental images above.

I wasn’t trying to preserve the original image anymore.

I was trying to find out what I could make the model inherit from it.

And that turned out to be far more useful.

In the next installment, I’ll show how these experiments eventually led me to stop thinking about the input image as an image at all.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top