CivArchive
    Chroma Modular WF (discontinued) - v1.2
    NSFW
    Preview 81112838
    Preview 81112866
    Preview 81112902
    Preview 81112947
    Preview 81112972
    Preview 81112992
    Preview 81113027
    Preview 81113102
    Preview 81113177
    Preview 81113199
    Preview 81113235
    Preview 81945414
    Preview 81945464
    Preview 83059827
    Preview 83059837
    Preview 83059880
    Preview 83059909
    Preview 83059917

    This workflow is now discontinued as I will focus on other AI models.

    Chroma is a new 8.9B parameter model, still being developed, based on Flux.1 Schnell.

    It’s fully Apache 2.0 licensed, ensuring that anyone can use, modify, and build on top of it.

    CivitAI link: https://civarchive.com/models/1330309/chroma

    Like my HiDream workflow, this will let you work with:

    - txt2img or img2img,

    -Detail-Daemon,

    -Inpaint,

    -HiRes-Fix,

    -Ultimate SD Upscale,

    -FaceDetailer.

    The model is still being trained, so there are many updated versions (latest today, June 8th, is the v35). Here are all the versions: https://huggingface.co/lodestones/Chroma/tree/main

    In brief, this model is:

    • Training on a 5M dataset, curated from 20M samples including anime, furry, artistic stuff, and photos.

    • Fully uncensored, reintroducing missing anatomical concepts.

    • Built as a reliable open-source option for those who need it.

    Being based on Flux.1 Schnell, it should run on low-Vram GPUs, so you can use it locally very easily.

    You will need one of the t5xxl text encoder model files that you can find in: this repo, fp16 is recommended, if you don’t have that much memory fp8_scaled are recommended. Put it in the ComfyUI/models/text_encoders/ folder. The VAE is the same as FLUX or HiDream, so you should already have it.

    Important: You must load an image (any image) in the Load Image node (at the left of the Prompts nodes) before running the workflow; otherwise, the workflow will give you an error. You must do this the first time you use the workflow only, and you must do it even if you are not planning to use that image for img2img or inpaint.

    ==========================================================

    ⚡️ Buzz for the Best Images ⚡️

    Every weekend, I will reward some Buzz to the best image added to the Workflow's gallery!

    Description

    A total UI re-design with some nice additions.

    The workflow allows you to do many things: txt2img or img2img, inpaint (with limitation), HiRes Fix, FaceDetailer, Ultimate SD Upscale, Postprocessing and Save Image with Metadata.

    You can also save each single module image output and compare the various images from each module.

    FAQ

    Comments (53)

    prompt_bit_sorcererJun 11, 2025
    CivitAI

    v1.2 doesn't seem to work for me. I open the workflow, replace the models in the chroma model loader section with my local models (v36-detail-calibrated/t5xxl_fp16/flux vae), disable the "load image" node in prompts, and it outputs grey squares. I've made sure I'm using the right VAE but no luck.

    Tenofas
    Author
    Jun 11, 2025

    What Denise setting are you using? For the Load image, Just load any image, no Need tò disabile the node. If you do not select img2img or inpaint the node will not be used.

    Tenofas
    Author
    Jun 11, 2025

    *Denoise, not Denise... It should be 1.00

    prompt_bit_sorcererJun 11, 2025· 1 reaction

    @Tenofas Ah. That was my issue. I read over all the other settings BUT that one 🤦 Thanks!

    netsuJun 17, 2025

    @Tenofas It would be good to clarify that you HAVE to load an image here, even if it doesn't get used. I was fussing around with this workflow for 30 minutes in trying to understand how to disable the "load image" node in txt2image and just got frustrated. I stumbled over this comment by chance.

    Tenofas
    Author
    Jun 17, 2025

    @netsu Yes, you are right. I will add this in the Notes and in the description.

    zGenMediaJun 12, 2025
    CivitAI

    Is there a reason why Flux loras do not work? I was under the impression this was Flux.

    Tenofas
    Author
    Jun 12, 2025· 1 reaction

    No, it's not exactly like FLUX Schnell, it is based on it. Some LoRAs' work, you need to change the strength and test them.

    zGenMediaJun 12, 2025

    @Tenofas Ohhh.... I did not know that. Ok thanks Ill test.

    StokkyJun 12, 2025
    CivitAI

    Thank you for your work! What about Chroma regional prompt workflow?

    Tenofas
    Author
    Jun 12, 2025· 1 reaction

    Not sure it is possibile yet... I have to check...

    turkinoJun 13, 2025
    CivitAI

    For whatever reason, after updating everything and running the WF I'm getting the following nodes as missing:
    Text Concatenate, Image Filter Adjustments, Image Film Grain, Image Blank.

    When I open the manager it's showing Crystools as missing, yet I installed it.
    Somethings off.

    Tenofas
    Author
    Jun 13, 2025

    maybe the update broke some custom nodes... lately Comfy Manager is messing up with nodes installation.

    turkinoJun 15, 2025

    @Tenofas Yeah, I did a manual deletion of the Crystools install in custom_nodes and did a manual git pull and install, for whatever reason something is keeping the issue to persist.

    Thankfully, I'm not new to this having to have to play requirement juggling due to having a 50** series card. It's just so annoying that there is no agreed upon standard for versions of things to build off of.

    Tenofas
    Author
    Jun 16, 2025

    @turkino maybe you could try to revert back to a previous version of the custom nodes from ComfyUI Manager...

    themorrigan2777103Jun 15, 2025
    CivitAI

    Great work! Thank you very much! Is it me or the hi-rez settings aren't working? The denoise remaine at 0.50 even if i change it, same for the steps. Had to remove the inputs and change them manually

    Tenofas
    Author
    Jun 15, 2025

    this is weird, I will check it out

    Tenofas
    Author
    Jun 15, 2025

    oh, wait... the value you see on the Ksampler node in the HiRes-Fix Module, will always stay at 0.5, as it's overwritten by the Get node from the "HiRes-Fix settings" group. It's not supposed to change in the Ksampler. The value is chosen in the Hires settings.

    themorrigan2777103Jun 15, 2025

    @Tenofas But i was always getting the same result no matter what i put in the hires-fix settings. I always had a weird deformed results with some kind of waves, had to manually change the CFG to 4-5 to resolve it (that's the cfg i was using for the generation). Oh btw, is there a way to easily change all the saving paths? Could be nice

    Tenofas
    Author
    Jun 15, 2025

    @themorrigan2777103 to change the saving path, just open up the "Save Image" nodes you can find in each preview group. You will be able to modify the "filenmante_prefix" of each Save image node as you like,

    526083Jun 18, 2025
    CivitAI

    Can't for the life of me get the load clip node to show chroma as an option. Any help would be awes me!

    Tenofas
    Author
    Jun 18, 2025

    What ComfyUI version are you running?

    guiltyai69Jun 25, 2025
    CivitAI

    No matter what I do, I can't get any good results with chroma using hires fix. At low denoising I get a glitchy screendoor effect, and at high denoising the image changes too much.

    Tenofas
    Author
    Jun 25, 2025

    Yes, it does weird things sometimes, and needs to fine-tune the settings to get good results.

    ChillDesireAug 6, 2025

    Same here. I have to increase denoise to 0.5 to get good results, but then it loses a lot of the original structure.

    jefharrisJul 4, 2025· 1 reaction
    CivitAI

    Wow, this is one of the best set up workflows I've seen. Truly showcasing the Swiss Army knife capabilities of Comfy.

    PerrySmJul 7, 2025
    CivitAI

    I keep getting 'NoneType' object is not subscriptable error - this is without modifying the workflow in any way, I even checked and the latent goes to the sampler correctly. What could be the issue?

    Tenofas
    Author
    Jul 8, 2025

    What node gives you this error?

    NerwanJul 12, 2025
    CivitAI

    I'm struggling to understand this workflow. I just pointed it to use the basic chroma workflow initially as the instructions suggest and it took 280 seconds (I have 12Gb of VRAM) to produce an image that looks like the regular chroma workflow but on what looked like a very low number of steps (even though it was set to 30)

    I tried the fp8 version of the model and that was slightly faster but it was still terrible quality compared to the basic workflow that comes with chroma.

    I couldn't figure out what I was doing wrong and the work flow uses a clever method of hiding all the connections.. which is cool.. but also meant I couldn't work out what the hell was going on.

    I'll come back to this workflow because it's clear there's stuff to learn about it and if nothing else I'll be looking up how to do some of the things it does. I'm clearly doing something wrong.

    I think I'll stick to simpler workflows for now. I've already got a modular chroma workflow with facedetailing that I've built myself, but because I built it, I know how it works.

    Still, it's very impressive, will definitely revisit.

    Tenofas
    Author
    Jul 13, 2025

    can you show me a screenshot of the settings you are using (imgur or similar services to upload the screenshot and paste here the link). also, what model version are you using?

    milt68Jul 27, 2025· 1 reaction
    CivitAI

    Instead of your default model loader I used a GGUFDisTorchMultiGPU loader that presents several advantages. Hires fix and Upscaler are bound to be slow on low-end cards. Thanks for the WF, nice job!

    Tenofas
    Author
    Jul 27, 2025· 1 reaction

    Nice idea, I have to try that

    mpacerxJul 30, 2025
    CivitAI

    After the last ComfyUI update - necessary for WAN 2.2 - the nice workflow did not work any more. The problem are the nodes from the WAS-node-suite which seems to be abandoned and incompatible. It took me some time to understand or not understand the fact that bypassing the nodes was not enough. I replaced/deleted them, and now the workflow is fixed. I think Chroma is really insane, and WAN 2.2 get that insane pics to move. :) :) Hope you all have a real live, still. :)

    Tenofas
    Author
    Jul 31, 2025· 2 reactions

    Working on the new version of the WF to replace all the old and abandoned nodes.

    reconfireflyAug 15, 2025

    Tenofas Do you have a screenshot of you wiring for the 1.2 WF? On import none of the wiring is connected.

    Tenofas
    Author
    Aug 16, 2025

    reconfirefly oh, I will give a look at what happened and try to publish an update for the WF as soon as possible

    SantodanAug 18, 2025· 1 reaction
    CivitAI

    I faced into your workflow hen trying to upscale my chroma images and wanted to ask you what is the main difference between the HiResFix and the Upscale?
    Is it possible to provide the workflow with connections instead of the hidden nodes so I can understand what and where things are coming from / going to?

    Tenofas
    Author
    Aug 18, 2025

    hiresfix works directly from the latent, there is no vae decoding in between. but it works with small upscale ratios. on th other hand upscale get the image (already deconded by the vae) and works on that, encoding back to the latent space, and once it's upscaled decondig it to a normal image. With upscale you can use many different upscale models and you can use larger upscale ratios.

    about the connection... I think there is a way to show the connection hidden by the set/get nodes... I have to check

    mpacerxAug 18, 2025· 2 reactions
    CivitAI

    After my last ComFyUI update this workflow was messed up again - the DetailDemon node was not available any more. De- and reinstalling the node did not work anyway. I then found in the ComfyUI log that there was an incompatibility with Numpy (which had been updated by another component to 2.2.6), and a downgrade with pip install 'numpy<2' solved the problem. Just if anybody has the same issue. (And maybe the downgrade of Numpy will cause other problems in other workflows...)

    mnaufil1445Aug 27, 2025· 1 reaction
    CivitAI

    I am getting error "RuntimeError: Expected 3D (unbatched) or 4D (batched) input to conv2d, but got input of size: [1, 16, 1, 128, 128]"

    Tenofas
    Author
    Aug 27, 2025

    What node gives you that errore?

    RuneVikingAug 28, 2025· 1 reaction
    CivitAI

    Want to try this workflow using 1HD Chroma. Unfortunaly I have an error I don't know how to fix: 'attention_mask_img_shape'

    025-08-29T00:49:43.984661 - Traceback (most recent call last):

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\execution.py", line 496, in execute

    output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, hidden_inputs=hidden_inputs)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\execution.py", line 315, in get_output_data

    return_values = await asyncmap_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, hidden_inputs=hidden_inputs)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\execution.py", line 289, in asyncmap_node_over_list

    await process_inputs(input_dict, i)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\execution.py", line 277, in process_inputs

    result = f(**inputs)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy_extras\nodes_custom_sampler.py", line 835, in sample

    samples = guider.sample(noise.generate_noise(latent), latent_image, sampler, sigmas, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise.seed)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\samplers.py", line 1036, in sample

    output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\patcher_extension.py", line 112, in execute

    return self.original(*args, **kwargs)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\samplers.py", line 1004, in outer_sample

    output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\samplers.py", line 976, in inner_sample

    self.conds = process_conds(self.inner_model, noise, self.conds, device, latent_image, denoise_mask, seed)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\samplers.py", line 802, in process_conds

    conds[k] = encode_model_conds(model.extra_conds, conds[k], noise, device, k, latent_image=latent_image, denoise_mask=denoise_mask, seed=seed)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\samplers.py", line 712, in encode_model_conds

    out = model_function(**params)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\model_base.py", line 1313, in extra_conds

    out = super().extra_conds(**kwargs)

    File "X:\SD Launcher\SD nowy\Packages\ComfyUI\comfy\model_base.py", line 884, in extra_conds

    mask_ref_size = kwargs["attention_mask_img_shape"]

    RuneVikingAug 28, 2025

    Fixed! My GGUF clip loader had "Stable Diffusion" type instead of "Chroma"

    mpacerxSep 3, 2025· 1 reaction
    CivitAI

    This workflow (and the similar ones...) seems to be broken again, i get an error message "No input found for flattened id [590] slot [-1]". The problem is caused by an incompatbility between the kijay flattening nodes (set/get) after updating the ComfyUI version. The solution is to (temporarly...) downgrade ComfyUI again (https://github.com/kijai/ComfyUI-KJNodes/issues/366) or to fix/hardwire the node connections. (https://github.com/Artificial-Sweetener/hardline)

    kinkybabySep 18, 2025· 3 reactions
    CivitAI

    Thanks for your sharing! I have one question: how can I eliminate banding and artifacts, especially since they become very noticeable after HiRes-Fix and Ultimate SD Upscale?

    joyrake1749Oct 8, 2025

    I‘ve got this problem too

    Mr_FeiSep 24, 2025
    CivitAI

    Expert, could you create a separate Chroma version of the workflow for partial redrawing and high-definition magnification? After I imported this workflow, I couldn't perform operations like changing or taking off clothes, and the facial restoration became even more blurry! The workflow simply cannot be used.

    Tenofas
    Author
    Sep 24, 2025

    I am sorry, but I am not planning to work on new Chroma workflows right now, as I am focusing on Qwen and Wan models at the moment.

    koloved333Oct 7, 2025· 1 reaction
    CivitAI

    Outdated, many of nodes even archived on github, not usable, do not waste your time

    Tenofas
    Author
    Oct 8, 2025· 4 reactions

    Will try to update the wf soon. Sorry for the trouble, it's not easy to keep everything up to date with ComfyUI updating every other day...

    ctcf6Jan 5, 2026

    @Tenofas Just curious if you got a chance to update this workflow.

    Tenofas
    Author
    Jan 5, 2026

    @ctcf6 I am sorry, but as I wrote in my profile page, I am not updating my workflows any more. I had to take a break from ComfyUI and Image generation. I will probably come back, but not here on CivitAI, focusing only on a few model I think it's worth to work on. I will give updates on my Profile page here on CivitAI.

    Workflows
    Other

    Details

    Downloads
    4,019
    Platform
    CivitAI
    Platform Status
    Available
    Created
    6/8/2025
    Updated
    7/26/2026
    Deleted
    -

    Files

    chromaModularWFWith_v12.zip

    Mirrors

    CivitAI (1 mirrors)

    chromaModularWF_v12.zip

    Mirrors

    CivitAI (1 mirrors)