DreamX AV Flow Shifts
Two Shift Knobs for One Packed Latent
- model
- model
DreamX AV Flow Shifts exists because DreamX has two trajectories in one latent and ComfyUI's sampler only knows about one. Video and audio are denoised together but they don't want the same timestep distribution, so this node installs a sampler-side patch that carries a separate flow-matching shift for each stream, then maps both back onto the single packed schedule the sampler is actually walking.
Both defaults are 5.0, and both widgets are labelled video_shift and audio_shift. If you're new to this: in flow-matching models the shift value redistributes sampling effort across the trajectory - roughly what picking a scheduler used to be. High shift spends more of the step budget near the noise end (composition), low shift leaves more for the detail end. It's model-specific and it's not a quality dial you nudge for taste (concepts.md covers the general case). Here, 5.0 is the released preset from the author's own Diffusers pipeline, and the bundled example workflow ships 5.0/5.0. Change one and you're off the validated path.
How it actually works
The node takes model in and gives model back - it clones the patcher and attaches a model_sampling object built from ModelSamplingAV plus CONST, then calls set_parameters(shift=video_shift, audio_shift=audio_shift). That AV variant is the important bit: ComfyUI's stock sampling classes carry one shift, and this class carries two and knows the packed latent has a video span and an audio span to apply them to.
Because it's an object patch rather than a weight change, it's cheap and it composes: drop it anywhere on the model wire.
Where it goes in the graph
Per the pack's own COMFYUI.md, the order is: loader → text encodes → First Frame AV Latent → this node → Multimodal Guider → RandomNoise → BasicScheduler → KSamplerSelect → SamplerCustomAdvanced. So it sits between your latent builder and your guider, on the model line, not the latent line.
DreamX Creator Complete Loader (model) -> DreamX AV Flow Shifts -> DreamX Multimodal Guider -> SamplerCustomAdvanced
Keep the sampler settings on the released recipe while you're learning the pack: BasicScheduler on normal, 20 steps, KSamplerSelect on euler. The author is explicit that this matches the released FlowMatch timestep sequence, and a shift value tuned against that sequence means very little if you've swapped the scheduler underneath it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-DreamX-Creator-T8.git
cd Comfyui-DreamX-Creator-T8
python -m pip install -r requirements.txt
Or ComfyUI Manager → search DreamX Creator T8 → restart. Weights are a separate ~54 GB pull:
python -m pip install -U huggingface_hub
hf download t8star/DreamX-Creator-Comfy --local-dir ComfyUI/models/dreamx_creator
Common issues
A shift changes nothing at all. Before you conclude the node is broken, check what's downstream - some third-party schedulers apply their own sigma shift and silently ignore the one in the graph, which is a well-documented RES4LYF-era trap (troubleshooting.md). Stock BasicScheduler on normal is the safe pairing here.
You changed shift, not the sampler, and the clip got worse. Expected. Shift and step count are a matched pair; 5.0/20 was tuned together. If you're hunting for a shorter run, change the step count in deliberate jumps and watch the audio sync, because the two streams share the schedule this node built.
The audio sounds right and the video doesn't, or vice versa. That's the reason the two knobs are separate - the bridge between them is the guider, not this node. If pictures and sound are drifting apart, go look at text_cfg / video_bridge / audio_bridge on DreamX Multimodal Guider first.
This is a three-widget node that you will set once and then never touch again. That's the point. It's plumbing that makes the two-stream model expressible in a stock ComfyUI sampler, and the author made the honest choice of exposing the released preset rather than inventing a "quality" slider.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| video_shift | FLOAT | 5.000.01–100 | — |
| audio_shift | FLOAT | 5.000.01–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |