ComfyUI Node

Adjust Mojo

Rewrite a saved generation without re-encoding it by hand

By Hellrunner2k·Created 2 years ago·Updated about a year ago· 2
Adjust Mojo
  • Mojo
  • Main_clip
  • Mojo_Intake
  • Mojo
  • Conditioning
  • Info
guidance3.5
width1024
height1024
crop_w0
crop_h0
target_width1024
target_height1024
step_start-1.000
step_end-1.000
Squeeze_MojoDisabled
Squeeze_Mojo_IntakeDisabled
Intake_Strength1.00
Clip_ChoiceMain
Conditioning_OutputMojo (Combine)

Adjust Mojo is the edit button for the mojo format. Mojo Maker creates a flow, Save Mojo bottles it, Mojo Loader uncorks it - and Adjust Mojo is what you reach for when a loaded flow isn't quite right for the job at hand. It injects new settings into a flow, weaves another flow into it, and rebuilds conditioning on demand. If you've ever loaded a saved generation only to discover the resolution, guidance or step range doesn't suit your current model, this is the node that fixes it in place rather than forcing a rebuild from scratch.

The inputs that matter

  • Mojo - required. The flow to adjust.
  • Mojo_Intake - optional second flow to weave in. This is how you merge two saved generations' conditioning.
  • Main_clip - needed only if Conditioning output is enabled; the clip used to rebuild the conditioning from the adjusted flow.
  • guidance, width, height, crop_w, crop_h, target_width, target_height - the rewrite dials. Whatever you set here overwrites the corresponding stored settings on every slot in the flow (step clamps aside, which honor their own logic). Retarget a 1024×1024 SDXL mojo to a different resolution or different guidance and the values are injected in one go.
  • step_start / step_end - step-influence clamps; <0 leaves the stored values alone.
  • Squeeze_Mojo / Squeeze_Mojo_Intake - Disabled, Squeeze + Toss, or Keep Masks. Squeezing merges slots to the smallest count for simpler downstream sampling; maskless flows are the only ones that can be squeezed, and Keep Masks preserves any masked slots.
  • Intake_Strength - blend strength (0–1) when mixing in the intake.
  • Clip_Choice - Main / Additional / Special - biases which stored encoder source is used when rebuilding conditioning.
  • Conditioning_Output - Disabled, Mojo (Combine), Intake (Combine), or Mojo + Intake (Combine). Decides what gets combined and emitted.

Outputs

  • Mojo - the adjusted flow, ready to save again or feed onward.
  • Conditioning - rebuilt conditioning, if not Disabled (and if Main_clip was supplied).
  • Info - a string reporting what the assembly contained and which encoders matched, so you can see what got dropped or merged.

How it works

The node squeezes the incoming flow if asked, rewrites every slot's settings with your values, weaves the intake through TakeIn (which also handles the step-range bookkeeping when a merged flow only covers part of the denoise range), and then - only if you want conditioning out - re-encodes via the same encoder-signature matching Mojo Loader uses. It's basically Mojo Loader's reconstruction step made available mid-graph, on live flows, without touching disk.

The thing to remember: it's a re-encoder, not an eraser. The stored tokens don't change; the settings they get applied with do. If your intent is to change the actual prompt, you can't - that's back in Mojo Maker. And if you enable conditioning without a Main_clip, the node prints "Main_clip required" and gives you nothing. Wire the clip before you ask for conditioning.

Installing it

One of the pack's twelve nodes. ComfyUI Manager → search "Hellrunner's Magical Nodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/Hellrunner2k/ComfyUI-HellrunnersMagicalNodes.git

Restart ComfyUI. No extra dependencies.

Troubleshooting

  • Conditioning output is empty? Either Conditioning_Output is Disabled, or Main_clip is missing - the node explicitly needs it for the combine modes.
  • Merged flow covers the wrong steps? The step clamps (step_start/step_end) control where each flow's influence begins and ends. If a merge produces gaps or overlaps, the Info output and your clamps are the first things to check.
  • Squeeze doing nothing? Only maskless flows squeeze. If any slot carries a mask, Squeeze + Toss won't merge it - that's what Keep Masks is for.
CategoryHellrunner's/Mojo

Inputs (17)

NameTypeDefaultDescription
MojoMOJOMojo Flow
Main_clipoptCLIPMain Clip source. Needed if Conditioning is enabled
Mojo_IntakeoptMOJOJoin the incoming Mojo Flow into the output
guidanceoptFLOAT3.5-100–100Flux specific. Parameter for simulated guidance based on conditioning
widthoptINT10240–16384SDXL and Pony specific. Set the current image resolution to match the Mojo perfectly.
heightoptINT10240–16384SDXL and Pony specific. Set the current image resolution to match the Mojo perfectly.
crop_woptINT00–16384SDXL and Pony specific. Crop Factor Width
crop_hoptINT00–16384SDXL and Pony specific. Crop Factor Height
target_widthoptINT10240–16384SDXL and Pony specific. Set the target image resolution after upscale.
target_heightoptINT10240–16384SDXL and Pony specific. Set the target image resolution after upscale.
step_startoptFLOAT-1.000-1–1Step influence clamp start. Starts at 0-1. <0 Disabled
step_endoptFLOAT-1.000-1–1Step influence clamp end. Ends at 0-1. <0 Disabled
Squeeze_MojooptCOMBODisabledMerge all Mojo to the smallest possible count. Only maskless Mojo can be squeezed.
Squeeze_Mojo_IntakeoptCOMBODisabledMerge all Intake Mojo to the smallest possible count. Only maskless Mojo can be squeezed.
Intake_StrengthoptFLOAT1.000–1Mixing strength of the squeezed Intake.
Clip_ChoiceoptCOMBOMainBiases the assembly towards a clip source. IF such source is provided. The only mandatory source is Main. Usage is heavily dependent on how the Mojo was made.
Conditioning_OutputoptCOMBOMojo (Combine)How to construct the Conditioning Output.

Outputs (3)

NameTypeDescription
MojoMOJOMojo Flow
ConditioningCONDITIONINGMain_clip Conditioning, if not "Disabled"
InfoSTRINGInfo String with useful information about the Mojo and the assembly of it.