This is actually based on this workflow with Qwen Edit here made by @zackstone
I've changed the model to Flux 2 Klein, which is faster than Qwen Edit 2511 and replaced the easy use loop/math/voodoo magic for the batch processing with Simple Prompt Batcher which, as the name implies, it's simpler.
It also makes it easier to split the expressions themselves for the positive prompt from the batch for the file name, so I can expand the expressions a bit: for example, instead of just "admiration" is "admiration,gazing straight at the viewer with soft reverence and a warm smile" which removes ambiguity. If you want to modify the expressions, remember you need to keep the two lists (one for the prompt and the other for the file name) referencing the same emotions at the same line, or the filename will not match the intended expression.
Basic usage is quite simple, really:
Insert your character's name and a picture, ideally with neutral expressions, adjust the batch size if you want, and hit "Run".
You may need to first update the clip. I'm using flux2-klein-9b-uncensored-q8_0.gguf as the text encoder, while you may be using a standard encoder (so you may also need to use the regular load clip node)
I also added a color fix node after the vae decoding because I don't like how Klein warms the images by default. Use it, bypass it or remove it, your call.
There is a background removal node, muted by default, but you can also change or remove the background by prompting for it.
As for the prompt, it's concatenated. The general idea is that the first part instructs the encoder in the basic task. The middle portion batch processes the expressions. The final portion applies to all the generated images and it's for background removal/change, changes you may want to make to the artistic style or the character itself.
Also, Klein sometimes fails with the hands, so by default, I'm using a batch size of 2, as some generations may end up with failed hands. That can sometimes affect character consistence: the images remain consistent within each the first and second batch, but not between themselves.
Default Klein model is flux-2-klein-9b-int8-ConvRot-comfyui, you may want to change that.

