First Kiss
Do you remember that first kiss, when your lips first touch, that anticipation, that excitement, that nervousness, that feeling of being alive? That's what I tried to recreate here. It's about that split second when your lips first touch, and you feel their lips, their breath, their tongue, and you feel their body, and you feel their soul. It's about that first kiss, that first moment of intimacy, that first moment of passion, and that first moment of love.
Images: Two gay men with age and facial hair differences kissing in the rain. Older muscular man with beard and a hairy chest kissing a younger athletic man who’s clean shaven and a smooth body. Photorealistic / photographic renders using text prompts in Stable Diffusion. Cyber Realistic checkpoint model v3.1. Additional tools: Regional Prompter to separate the men to prevent prompt pollution. ADetailer for face. Lightroom color correction. Photoshop AI for inpainting some of the hands.
Series: Kiss
Technical Info
I wanted to test a Stable Diffusion checkpoint model that a friend recommended for photorealistic AI renders. The name of the model is CyberRealistic, which you can download at Civitai. It’s a general safe-for-work photorealistic model.
When I test checkpoint models, I usually go through a fairly standard workflow inside txt2img, and I look for these things:
- How it renders skin and skin tone
- How skin looks under direct vs indirect (soft) lights
- How well does it render “hairy chest” — does it have volume or does it stay close to the surface (flat looking, almost painted)
- How well does it render facial hair — smooth, clean shaven, stubble and full beard
Then for the actual test, I usually start with prompts like this:
- 45yo muscular italian man with hairy chest, thick thighs, area lights, soft box
- 25yo slim athletic british man with shaved head, clean shaven, soft box
Images
This usually covers the entire range of body types, age, skin, and facial features. I will then be able to see if the model is good enough for the type of works that I do create, and how realistic the model is. I don’t generally have to test direct lights because most of them render them fine anyway. It‘s the indirect lights that I’m most concerned with — how well does it respond to a simple prompt like “indirect light”? Do I have to strengthen the prompt with (soft box:1.4) to get some nice soft shadows?
For these images, I tried to achieve both in one go, by using Regional Prompter. If you are not familiar with RP, it’s a way to divide the image up into regions so that you can prompt individually. I have written a guide using Regional Prompter, where I detailed how I’ve used it to create couples with age differences.
For these particular renders, I ended up prompting for 50yo and 30yo men because the model appears to make the men a lot younger than they should be. I didn’t prompt for skinny guy because I want them to be closer in muscle mass. I then used Regional Prompter to allow them to have different body hair (hairy vs smooth), and facial hair features (beard vs clean shaven). I also added elements in the prompt that gives the types of visuals that nicely separate the background from the foreground: bokeh (the background blur), fog to separate the background further, rain (particles to add some texture in the air).
The visual quality and image results directly from Stable Diffusion were already very nice, but as with typical AI renders, some of the hands were problematic. So I took some of these images into Photoshop, and used the Generative layers to fix the hands. If you’re not familiar with the AI generation tools that are only available in Photoshop Beta right now, I have written an article about my experience with it.
Overall, I am quite happy with these results, and will likely use this model again for future renders. In particular, I am impressed with how it renders chest hair. They’re fluffy and realistic, and they grow in just the right area. If you have generated hairy guys in the past, you’ll recognize immediately just how good this model is.
Other things worth mentioning is how well it responds to prompts about lighting setup. I was able to get fairly good results using (bokeh:1.1). Some other photorealistic models I have used in the past requires (bokeh:1.4) or even (bokeh:1.8) to get decent looking bokeh. It also renders beautiful skins. I did use skin specific prompts e.g. (skin pores) and (skin texture), but that’s somewhat out of habit. Since I do tend to write fairly long prompts, I find that small weights are generally needed for key visuals, to offset my other keywords describing the mood.
Acknowledgements
I’m grateful for my friend BrawnyAI, who suggested this checkpoint model to me. He produces photo-realistic renders of men using Stable Diffusion. We often discuss various generation techniques and the culture of gay AI art.
It is wonderful to have a friend who shares my enthusiasm for creating gay AI works and is so generous with their expertise. Thank you! You can find BrawnyAI's works at these places:
Images
Images
Images
Images
Detailed Technical Parameters
- Steps: 25
- Sampler: DPM++ SDE Karras
- CFG scale: 5
- Size: 512x512
- Model hash: 107d2a241b
- Model: cyberrealistic_v31
- Denoising strength: 0.5
- ADetailer model: mediapipe_face_full
- ADetailer confidence: 0.3
- ADetailer dilate/erode: 4
- ADetailer mask blur: 4
- ADetailer denoising strength: 0.4
- ADetailer inpaint only masked: True
- ADetailer inpaint padding: 32
- ADetailer version: 23.6.2
- RP Active: True
- RP Divide mode: Matrix
- RP Matrix submode: Horizontal
- RP Mask submode: Mask
- RP Prompt submode: Prompt
- RP Calc Mode: Attention
- RP Ratios: "1,1"
- RP Base Ratios: 0.2
- RP Use Base: False
- RP Use Common: True
- RP Use Ncommon: True
- RP Change AND: False
- RP LoRA Neg Te Ratios: 0
- RP LoRA Neg U Ratios: 0
- RP threshold: 0.4
- Hires upscale: 2 (1024x1024)
- Hires steps: 20
- Hires upscaler: Latent
- Version: v1.3.2
- Post: Gigapixel HQ 2x (2048x2048)
- Color Correction: Adobe Lightroom
- Post AI fixes: Adobe Photoshop AI (Beta)
Notes: I usually don’t use Latent (LDSR) upscale for the hires fix, but I think that I was changing parameters and forgot to select the upscaler that I usually use (R-ESRGAN 4x+), but no matter, I quite like the results and that’s what matters most.