Hyper-SD is ByteDance's diffusion acceleration project, which distills image models to generate with fewer sampling steps. To use its fixed-step SDXL LoRAs, choose the adapter for your step count and follow the accompanying scheduler and guidance settings. The authors publish weights, Diffusers examples, and ComfyUI workflows on Hugging Face. project
What are the key facts about Hyper-SD for SDXL?
| Field | Verified detail |
|---|---|
| Developer | ByteDance research team led by the authors of the Hyper-SD project. project |
| Released | The official update log dates public checkpoints and initial demos to April 20, 2024. card |
| Type | Diffusion distillation and acceleration project, including LoRA and UNet releases. project |
| Size or parameters | No single parameter count published for the complete family; the card distinguishes adapters and full UNet checkpoints. card |
| License and access | Downloadable weights; the repository bundles multiple license texts, including CreativeML Open RAIL++-M, without an SDXL-specific heading. The SDXL base model separately identifies its Open RAIL++-M license. license |
| Where it runs | Self-hosted Diffusers pipelines and supplied ComfyUI workflows; the SDXL Python example uses CUDA. card |
How does Hyper-SD reduce SDXL sampling steps?
Hyper-SD targets the number of steps needed for image synthesis. The authors describe trajectory-segmented consistency distillation, human-feedback learning, and score distillation as parts of their approach. project
The model card offers several SDXL routes: fixed-step LoRAs, a unified LoRA, and a separate single-step UNet. It also supplies a ComfyUI workflow for the fixed-step adapters. card
Treat each route as a different experiment. Choose one that fits your intended interface, reproduce its settings, and only then explore whether it meets your image requirements.
A useful trial might involve repeated drafts of the same composition. Define the subject, framing, and visual details you need, then evaluate whether the accelerated setup produces acceptable candidates consistently enough for that task.
For adapter-loading concepts, see the ComfyUI LoRA guide. Keep those general loading concepts separate from Hyper-SD's particular sampling recipe.
Which settings must match your Hyper-SD checkpoint?
The adapter filename, scheduler, step count, and guidance settings belong together. The official fixed-step SDXL example uses DDIM with trailing timestep spacing and disables classifier-free guidance through guidance_scale=0. card
The unified LoRA instead uses TCD, while the single-step UNet example uses its own scheduler and starting timestep. Copying settings between those examples can change the intended experiment. card
Avoid combining an accelerated adapter with an unrelated sampler recipe during initial setup. When a result is unsatisfactory, first compare the entire configuration with the documentation before rewriting the prompt.
A reduced step count does not establish a universal wall-clock speedup. Your measurement should identify the hardware, model, image size, batch size, and whether initialization is included.
Use separate observations for loading and generation. Report a first-run measurement if that matters to your application, and a warmed-up measurement if the model will remain loaded between requests.
The authors report benchmark comparisons, but their results describe their evaluation setup. They do not establish a quality guarantee for every fine-tuned SDXL checkpoint or custom prompt. project
Hyper-SD's license file contains FLUX.1-dev, Stability AI Community License, and CreativeML Open RAIL++-M texts. It does not explicitly label the Open RAIL++-M text as an SDXL section. Review the repository license and the selected base model's terms together instead of assigning one license to the entire Hyper-SD collection. license
How do you run Hyper-SD with SDXL in two steps?
Begin with the official fixed-step SDXL Diffusers example. Prepare a Python environment with compatible PyTorch, Diffusers, Transformers, Accelerate, Hugging Face Hub, Safetensors, and PEFT packages. Diffusers' SDXL LoRA loader requires the PEFT backend. card
The following adapts the model card's two-step example with an original prompt and an explicit output file. It assumes a working CUDA environment and enough memory for the selected pipeline. card
import torch
from diffusers import DiffusionPipeline, DDIMScheduler
from huggingface_hub import hf_hub_download
pipe = DiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0",
torch_dtype=torch.float16, variant="fp16"
).to("cuda")
adapter = hf_hub_download(
"ByteDance/Hyper-SD", "Hyper-SDXL-2steps-lora.safetensors"
)
pipe.load_lora_weights(adapter)
pipe.fuse_lora()
pipe.scheduler = DDIMScheduler.from_config(
pipe.scheduler.config, timestep_spacing="trailing"
)
pipe("A ceramic teapot on a linen tablecloth",
num_inference_steps=2, guidance_scale=0).images[0].save("hyper.png")
Run the baseline successfully before substituting a fine-tuned checkpoint. Keep the adapter file and settings unchanged for the first comparison, so you know which model change you are evaluating.
For ComfyUI, use ByteDance's Hyper-SDXL-Nsteps-lora-workflow.json. Its two-step example uses Hyper-SDXL-2steps-lora.safetensors at model strength 1, two steps, CFG 1, the ddim sampler, and sgm_uniform scheduling. Load the workflow and select your installed SDXL checkpoint and adapter; retain these ComfyUI settings instead of copying the Python example's guidance value. workflow
The one-step UNet and unified-LoRA workflows have additional scheduler requirements documented in the model card. Follow the installation instructions for the specific workflow you select. card
Build a small evaluation sheet with these checks:
- Record the model and adapter identifiers, scheduler settings, and image dimensions. Preserve the workflow or script alongside the output.
- Choose prompts representing the work you actually produce. Include an uncomplicated object and a composition with several required elements.
- Evaluate whether the output meets the request before looking at elapsed time. Reject a quick result that omits the central subject or required composition.
- Measure complete generation under consistent conditions. Repeat enough cases to avoid basing the decision on one favorable result.
- Keep a short explanation of why you accepted or rejected each candidate. Use those notes when deciding whether to try another adapter recipe.
If the initial output fails, return to the published base-model recipe. Check that the downloaded file belongs to SDXL and that its intended step count matches the configured steps.
How does Hyper-SD compare with SDXL-Lightning?
| Option | Practical comparison point |
|---|---|
| Hyper-SD | Several acceleration recipes, including fixed-step and unified adapters; use the recipe attached to the selected file. card |
| SDXL-Lightning | ByteDance's separate acceleration release, with full UNet and LoRA examples and its own sampling requirements. lightning |
Neither project's settings should be assumed interchangeable. Compare their documented recipes on the same task, while allowing each recipe to retain the scheduler settings its authors require.
The separate SDXL-Lightning guide covers that alternative.
The ComfyUI guide provides broader workflow context.
What else should you know about Hyper-SD settings?
Which Hyper-SD checkpoint does the two-step SDXL example use?
The official two-step SDXL example loads Hyper-SDXL-2steps-lora.safetensors over stabilityai/stable-diffusion-xl-base-1.0. It uses DDIM with trailing timestep spacing, two inference steps, and guidance_scale=0. card
Can I use any Hyper-SD LoRA with SDXL?
Use an SDXL-specific Hyper-SD adapter and the recipe supplied for that artifact. ByteDance's model card lists separate files and examples for other model families. card
Does Hyper-SD use the same guidance value in Diffusers and ComfyUI?
The fixed two-step Diffusers example sets guidance_scale=0. ByteDance's corresponding ComfyUI workflow sets CFG to 1, with the ddim sampler and sgm_uniform scheduler; preserve the settings for your chosen interface. card
How should I compare Hyper-SD generation speed?
Compare accepted outputs under recorded hardware, image-size, batch-size, and model settings. Measure model loading separately from generation, and keep the exact workflow with the timing results.
Sources
- Hyper-SD official research project
- ByteDance Hyper-SD model card and inference examples
- Hyper-SD bundled license texts
- SDXL base model and license identification
- Diffusers SDXL LoRA loader and PEFT requirement
- Official fixed-step SDXL ComfyUI workflow
- ByteDance SDXL-Lightning model card
Top comments (0)