Nodes/ComfyUI_PromptStudio/Qwen Image 2.1 Turbo v0.3 Sampler
ComfyUI Node

Qwen Image 2.1 Turbo v0.3 Sampler

No negative prompt, no CFG, six steps — and that's the point

By tiko13·Created 3 months ago·Updated 12 days ago· 8
Qwen Image 2.1 Turbo v0.3 Sampler
  • model
  • positive
  • latent_image
  • samples
◄seed0►

Open this node after a KSampler and it looks broken. No steps widget, no CFG, no sampler, no scheduler, no negative conditioning, no denoise. Just model, seed, positive and a latent. That's not a missing feature; it's the trained recipe, hardcoded.

Qwen Image 2.1 Turbo v0.3 Sampler runs six Euler steps at CFG 1 with a sigma schedule that changes with your image resolution. It exists because a distilled model does not want your usual sampler settings.

Why it's locked down

Turbo variants aren't speed-tuned fine-tunes, they're distillation - a student trained to land where the full model would after many more steps, in a couple of large jumps. Two consequences fall out of that, and both are baked into this node.

First, the guidance is already in the student. The teacher's classifier-free guidance gets factored into training, so applying CFG 1.0 is the correct value and pushing it to 4 or 7 gives you oversaturated, crunchy mush. Second, distilled students are trained against one specific noise schedule. Feed them a different scheduler, or twenty steps instead of six, and you're handing the model noise levels it never saw during training. The community-learned rule for every distillation family is the same: match the trained recipe, don't debug your way out of it with CFG.

So the node passes your positive conditioning in as both conditioning slots at CFG 1.0 and samples with Euler. If you want a negative prompt back, you want the base 25-step or 40-step Qwen 2.1 workflow, not this node.

The schedule is the interesting bit

Six steps need six sigmas. The node uses Viggle's reference values - 1.0, 0.9375, 0.875, 0.75, 0.5, 0.25, then zero - and shifts them through the same resolution-aware formula the reference implementation uses. In practice: the latent's actual height and width are read, converted to a rough token count, and a mu value is interpolated between a 256-token image and an 8192-token image. That mu becomes a shift applied to every sigma.

Translation: a 512×512 render and a 1536×1024 render do not get the same noise curve. Because the node reads the latent rather than a widget, this holds for Qwen 2.1 Edit workflows too, where the target image dimensions drive the latent - the schedule follows your edit, not some assumed square. This is the part worth not reimplementing by hand.

Inputs and outputs

From the node's schema, exactly four required inputs and no optionals:

  • model - must come from Qwen Image 2.1 Turbo v0.3 LoRA. The sampler checks the version tag the loader stamps into model_options, and if it's missing you get Qwen Turbo sampling requires the v0.3 unmerged adapter. A base Qwen 2.1 model will not work here.
  • seed - the one knob you keep. It has control_after_generate, so Prompt Studio's XY(Z) plot builder can still sweep seeds on a Turbo workflow even though steps and CFG are untouchable.
  • positive - your conditioning from the text encoder. There's no negative input to fill.
  • latent_image - an Empty Latent, or the latents an edit workflow builds from its target.

One output: samples (LATENT), wired straight to VAE Decode.

Install

Same pack, same one-time setup:

cd ComfyUI/custom_nodes
git clone https://github.com/tiko13/ComfyUI_PromptStudio
# restart ComfyUI

Or install ComfyUI_PromptStudio from ComfyUI Manager and restart. The pack pulls in no extra pip packages. Turbo workflows additionally need the Viggle v0.3 rank-128 adapter (about 680 MB, downloaded by the setup wizard with checksum verification), the Qwen 2.1 diffusion model in INT8 or BF16, the Qwen3-VL 8B encoder and the Qwen 2.1 VAE. Qwen 2.1 ships under the Qwen Research License - non-commercial, research and evaluation only - and you accept that per workflow in the wizard.

Where people get burned

The error you'll actually hit is the adapter one. It happens when you skip the Turbo LoRA node, or wire it after this sampler, or load the model through a plain loader in a workflow you edited by hand. Order is: base model → your own LoRAs → Turbo LoRA → this sampler.

The second trap isn't an error at all: sampling settings quietly stop being yours. Bumping steps to 20 because more steps is more quality doesn't apply here - with a distilled student it's more time spent on a trajectory it wasn't trained for. If a render comes out soft or blown out, suspect prompting, resolution, or the adapter before you suspect the missing CFG slider.

And a small expectation-setter: this node is new enough that the community hasn't accumulated a pile of Qwen 2.1 Turbo troubleshooting threads. There's plenty out there about Qwen Image generally and about turbo/distillation settings in the abstract, but for this exact six-step combo you're near the front of the queue. The node is honest about its constraints, which makes it easy to live with - just don't expect it to be a KSampler with fewer widgets, because it isn't one.

CategoryPrompt Studio

Inputs (4)

NameTypeDefaultDescription
modelMODEL—
seedINT00–18446744073709550000—
positiveCONDITIONING—
latent_imageLATENT—

Outputs (1)

NameTypeDescription
samplesLATENT—