Emu 3.5 Sampler
The original, with a negative prompt and a fake 'steps' knob
- model
- tokenizer
- vq_model
- input_image
- image
- text
- reasoning
Emu 3.5 Sampler is the pack's original V1 generation node, and it's the one that looks most like a diffusion node - which is both its comfort and its trap. It gives you width, height, steps, CFG, and a negative prompt, all in the familiar ComfyUI layout. But Emu 3.5 isn't a diffusion model, and the sampler's job is to translate those familiar knobs into the model's actual language: a chat-style task template, a CFG logits processor, and a token-by-token autoregressive rollout where the image comes out as a visual token stream that the vision tokenizer turns back into pixels.
Here's the thing worth knowing before you start: the steps input (default 50) doesn't actually drive anything. There's no diffusion step loop in this code - generation runs until the model emits the end-of-image token. The field is vestigial, carried over for familiarity. Same with negative_prompt in a slightly different way: it's real, but it works by swapping what you type into the unconditional prompt used for CFG guidance, rather than the way SD negative prompts steer a noise prediction. Leave it blank and the pack uses the standard empty unconditional prompt, which is what the official configs do.
The inputs that matter
- prompt - your description. Multiline, natural language.
- negative_prompt - optional; feeds the CFG unconditional side. Blank is the safe default.
- width / height - 256 to 2048, step 64. These map to the latent grid (pixels ÷ 16) that the logits processor enforces.
- cfg_scale - guidance, default 5.0.
- seed - fixed for reproducibility.
- input_image - an optional
IMAGEport. Treat it as aspirational: the V1 code comments admit image-editing support is stubbed ("For now, I'll implement basic T2I"). If you want actual image editing, use the V2 X2I node instead.
Outputs
- image (
IMAGE), text (STRING), reasoning (STRING) - same trio as the other samplers;textcatches anything the model narrates,reasoningcarries chain-of-thought if the model produces it.
Install
cd ComfyUI/custom_nodes
git clone --recursive https://github.com/EricRollei/Emu35-Comfyui-Nodes.git emu35
cd emu35
pip install -r requirements.txt
Weights in ComfyUI/models/emu35/ - BAAI/Emu3.5-Image (34B, BF16) plus the vision tokenizer, or the NF4 build for 24GB cards.
Verdict
It works, and if you're porting an old workflow or just want explicit resolution control, it's fine. But it's the least refined sampler in the pack: the input_image port is a mirage, steps is decoration, and the V2 T2I sampler gives you real resolution control through aspect ratios plus proper text/image sampling knobs and tiled decoding. If you're choosing fresh, pick V2. If you're here because a shared workflow won't run without it, the only genuinely useful extra this node has is the negative prompt - and even that, the V2 nodes handle internally.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | EMU_MODEL | — | |
| tokenizer | EMU_TOKENIZER | — | |
| vq_model | EMU_VQ | — | |
| prompt | STRING | — | |
| negative_prompt | STRING | — | |
| width | INT | 1024256–2048 | — |
| height | INT | 1024256–2048 | — |
| steps | INT | 501–200 | — |
| cfg_scale | FLOAT | 5.01–20 | — |
| seed | INT | 00–18446744073709550000 | — |
| input_imageopt | IMAGE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| text | STRING | — |
| reasoning | STRING | — |