SeFi-Image Sampler
Four steps and a prompt — but read the defaults first
- sefi_pipe
- IMAGE
The SeFiSampler is the entire generation interface for the SeFi-Image model family: SeFiLoader → SeFiSampler → SaveImage and you're generating from a 1B–5B research model that cost a fraction of what the big labs spent to train. Three nodes, one prompt, done. If you've already loaded the pipe, this node is the only thing between you and pixels.
But here's the trap that's going to bite you on the first run: the defaults are tuned for the Turbo checkpoints. steps=4, guidance_scale=1.0. Pick a Base or RL checkpoint, leave those alone, and you get washed-out mush. That's not a bug - it's the DMD2-distilled-versus-full-model split, the same divide the KB documents for LCM/Turbo/Lightning: distilled few-step models want tiny step counts and near-zero guidance, full models want 20–30 steps and real CFG. The model page says "50 steps," the community found 20–30 does the job, and the README agrees.
The inputs that matter
sefi_pipe- from the loader. Nothing else feeds this; it's the whole pipeline.prompt- multiline plain text. Note there is no negative prompt widget, and that's by design: SeFi's inference API doesn't expose one. Same for batch-per-prompt - one image per run. If you want CFG-opposition or batching you're in the wrong pack.steps- 4 for Turbo, raise to 20–30 for Base/RL. This is the single biggest lever.guidance_scale- 1.0 for Turbo (guidance-distilled models collapse with high CFG), bump it up for Base/RL.width/height- 1024² default, 256–2048 in 64px steps. Lower them before you touch checkpoint sizes if you're near your VRAM ceiling.seed- the standard seed widget,control_after_generateincluded. Find a keeper, flip it tofixed, or the next run randomizes it away.
How it works
Under the hood it's one call: sefi_pipe(prompt, num_inference_steps, guidance_scale, width, height, seed). SeFi returns a list of PIL images; the node converts them to a standard ComfyUI IMAGE tensor ([B, H, W, C] float). Because it's a real IMAGE output, everything downstream behaves normally - SaveImage, PreviewImage, an upscaler, a detailer, whatever you like.
Output: IMAGE
Wire it to SaveImage (or PreviewImage) and you're done. That's the whole graph: Loader → Sampler → Save.
Installing it
Same pack as the loader, so install once:
ComfyUI-Manager → Install via Git URL:
https://github.com/AMXELA-Official/ComfyUI-SeFiImage
Restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/AMXELA-Official/ComfyUI-SeFiImage
cd ComfyUI-SeFiImage
pip install -r requirements.txt
Dependencies are the usual diffusers/transformers/accelerate/safetensors/huggingface_hub/omegaconf/pillow, mostly already present in ComfyUI. The real cost is the multi-GB checkpoint download on first generation - subsequent runs reuse the cached pipeline.
Troubleshooting
- Wrong-looking output on Base/RL - the classic. Raise
stepsto ~20–30 andguidance_scaleto something nonzero, and the defaults stop sabotaging you. - CUDA OOM - the upstream has no low-VRAM path. Drop resolution first, then checkpoint size. 5B at 1024² is likely to OOM on 12 GB.
- First run feels frozen - it's downloading weights, not hung. Give it time.
ModuleNotFoundError: sefion the sampler - the loader's source fetch failed upstream; see the SeFiLoader article for the fix.
Honest bottom line: this is a clean, minimal wrapper around a research release. The community's take is that SeFi is more a proof-of-concept than a daily driver - but if you want to see semantic-first diffusion for yourself, this node is the least-effort path to it. Four steps, one prompt, judge for yourself.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| sefi_pipe | SEFI_PIPE | — | |
| prompt | STRING | A red apple on a wooden table. | — |
| steps | INT | 41–100 | — |
| guidance_scale | FLOAT | 1.00–20 | — |
| width | INT | 1024256–2048 | — |
| height | INT | 1024256–2048 | — |
| seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |