CivArchive
    Mood Editor Studio - Mood Editor Studio
    NSFW
    Preview 119215466
    Preview 119215469
    Preview 119215476
    Preview 119215480
    Preview 119215515
    Preview 119215543
    Preview 119676017
    Preview 119676016

    🎭 Mood Editor Studio (for Image Editing)

    Mood Editor Studio is a specialized ComfyUI node designed for high-fidelity facial expression manipulation.

    Unlike standard generative nodes, it generates direct semantic instructions that perfectly align with the logic of modern instruction-based editing models.

    ✨ Key Features:

    Built for Image-to-Image Editing: Optimized specifically for FLUX.2 [klein]. Not tested but should work with Qwen-Image-Edit.

    Linguistic Scaling: Move beyond mathematical weights like (happy:1.5). This node uses 6 levels of intensity—from "Minimal" (a trace of an emotion) to "Extreme" (exaggerated expressions)—to guide the model naturally.

    Identity Preservation: Every generated prompt includes specific instructions to maintain the character’s core identity, minimizing unwanted facial feature distortions.

    Technical Toggles: Integrated "Preserve" switches for lighting and background, ensuring that only the expression changes while the rest of the scene remains consistent.

    30+ Emotion Presets: A wide range of emoji-coded emotions, from a "subtle smug look" to "intense fury" .

    📦 What's in the Archive:

    Mood_Editor_Studio.py — The custom node file.

    Mood_Change_Studio .json — A ready-to-use example workflow for flux-2-klein-9b-fp8.

    🚀 How to Use:

    Simply connect the node's output to your model's text input (CLIP Text Encode / Conditioning).

    For realistic results, start with "Normal" or "Subtle" strength.

    Use "Intense" or "Extreme" only for highly stylized or dramatic artistic effects.

    🛠 Installation:

    1 - Unzip the downloaded archive.

    2 - Place the Mood_Editor_Studio folder (which contains Mood_Editor_Studio.py and init.py files) in the following path:

    ComfyUI/custom_nodes/

    3 - Restart ComfyUI.

    Description

    FAQ

    Comments (8)

    llmsonoio1234356Feb 7, 2026
    CivitAI

    Hi!

    It works great, although...

    I deleted the "ShowText|pysssss" node. I tested it, even without importing that package, and it works perfectly...

    Is that package really necessary?

    🤔👀

    I don't think so, what do you think?

    One more thing:

    Actually, I also apply Reactor at the end with the same character's face, and it restores naturalness and realism while maintaining the expression.

    It would also be nice to have a system for combining multiple expressions of different intensity for an even wider and more refined range of expressions. How do you do that? I don't know! But maybe you know how? What do you think?

    Krug_Lov
    Author
    Feb 7, 2026· 2 reactions

    Hi! Thanks a lot for the detailed feedback — really appreciate it 👀✨

    You’re absolutely right: ShowText (pysssss) is not required for the node to function.
    It’s only there as a convenience/debug helper to display the generated prompt.
    If someone prefers a cleaner workflow, it can be safely removed with no impact on results.

    Good point about ReActor as well — that’s actually a very solid approach.
    Using ReActor at the end to re-anchor the face identity often restores naturalness and realism while keeping the expression, especially for stronger emotions. Nice setup 👍

    As for mixing multiple expressions with different intensities — that’s a really interesting idea, and honestly one of the harder problems.

    Right now, Flux (and similar models) tend to interpret one dominant emotional instruction best.
    Trying to mix multiple emotions directly (e.g. “slightly sad but a bit relieved”) can work, but results are inconsistent and highly model-dependent.

    Some possible directions I’m thinking about for future versions:

    an intensity control (soft / normal / strong) per emotion

    sequential passes (e.g. base emotion → refinement pass)

    or controlled prompt layering, where secondary emotions are treated as subtle modifiers rather than equal signals

    No perfect solution yet, but it’s definitely something worth experimenting with.
    Thanks again for the thoughtful suggestions — this kind of feedback genuinely helps steer development 🚀

    llmsonoio1234356Feb 7, 2026· 1 reaction

    @Krug_Lov 
    Bro, since your workflow is great, I've had experience with a lot of junk workflows, accumulating so many junk packages that I need to get rid of! So I've become wary of purchasing new packages... but in this case, ComfyUI-Custom-Scripts looks very interesting. Maybe I'll add it, but first I have to remove a lot of stuff!

    For example, regarding the idea of ​​merging multiple expressions, you could think of a post-processing system that takes two images, or better yet, a single image concatenated with "Image Stitch" (or something similar), combines the two expressions (from what I understand, Flux Klein 9B, due to its structure, works better with a single concatenated image than with two images), and merges them into a single image... although in the official workflow there would always be the usual formatting problem when concatenating two images, which returns the format of two images and not one! ... A problem I haven't been able to solve! ... Or if it really can't be done, oh well!

    Anyway, great job for me!

    Krug_Lov
    Author
    Feb 7, 2026· 2 reactions

    @llmsonoio1234356 Thanks for the detailed thoughts — and totally understand the “junk workflow fatigue”, I’ve been there too 😅

    You’re absolutely right: for now, no extra packages are strictly required, and I’m trying to keep the setup as lightweight and optional as possible.

    Regarding merging multiple expressions — you’re thinking in exactly the same direction I’ve been exploring. Combining expressions via multiple images or stitched inputs can work in theory, but in practice it quickly runs into ComfyUI batching and formatting limitations, as you described. Flux Klein does seem to prefer a single concatenated image, but reliably merging emotional cues without breaking identity or consistency is still tricky.

    At the moment, I’ve found that single dominant emotion + optional refinement (or a final ReActor pass) gives the most stable and controllable results. More experimental approaches are definitely interesting, but I want to avoid adding complexity that’s fragile or hard to maintain.

    Really appreciate you sharing your experience — feedback like this is genuinely valuable. Thanks again!

    kurokuroFeb 9, 2026
    CivitAI

    I find this loses identity pretty quickly if the source image is not a neutral one - which makes sense, I suppose, since the node isn't applying specific, trained conditioning; it just shapes the prompt.

    Krug_Lov
    Author
    Feb 9, 2026· 1 reaction

    That’s a very fair observation — and yes, your understanding is spot on.

    This node doesn’t apply any trained conditioning or structural guidance; it only shapes the prompt for Flux. Because of that, starting from a strongly emotional source image can indeed make identity drift happen faster, especially when pushing toward a different or intense expression.

    These tradeoffs are part of working purely at the prompt/context level, but the upside is flexibility and simplicity without extra models or heavy dependencies.

    llmsonoio1234356Feb 11, 2026

    @Krug_Lov 
    to avoid this I add Reactor at the end.. 🤔but even without Reactor with Flux.2 klein 9B with other passages it is possible to put the identity back while maintaining the expression

    Krug_Lov
    Author
    Feb 11, 2026· 1 reaction

    Of course, a specifically trained LoRA with a high-quality dataset can produce more consistent results.

    However, the goal of this node is different — it allows fast emotion changes without additional training or binding to a specific character, relying purely on the model’s natural understanding.

    Workflows
    Flux.2 Klein 9B

    Details

    Downloads
    359
    Platform
    CivitAI
    Platform Status
    Available
    Created
    1/29/2026
    Updated
    5/13/2026
    Deleted
    -

    Files

    moodEditorStudio_moodEditorStudio.zip