Step_Audio_EditX_SM_Model
The boring half of Step-Audio-EditX that makes the interesting half work
- model
Every ComfyUI workflow has a loader node you'll never think about again, and this is that node for Step-Audio-EditX. The pack is only two nodes: this one loads the model, and the Step_Audio_EditX_SM_KSampler does the actual voice cloning and audio editing. Loader first, always - the sampler can't do anything until this node has done its slow, heavy lifting.
What it's actually loading is more interesting than it looks. Step-Audio-EditX, from StepFun, is an LLM-based audio model: an LLM core that emits audio tokens, plus a separate Step-Audio-Tokenizer that turns those tokens into sound. That's why this node has one job and two models. It also spins up a FunASR Paraformer transcription model (engcunqin/speech_paraformer-…) so the pipeline can figure out what your input audio says - that transcription is what gets edited. So when you hit "Queue" and stare at the loading bar, you're actually waiting on three models, not one.
The one input that matters
The only knob is model_source, a dropdown with four values:
- local - read from
ComfyUI/models/SAEditX/(see below). This is the one to use once you've downloaded the models once. - auto - default-ish behavior, tries to pull from Hugging Face automatically.
- huggingface / modelscope - force-download from one or the other. ModelScope is the one to pick if you're on a slow connection to HF, common in Asia.
The output is a single model object (type Step_Audio_EditX_SM_Model), which wires straight into the sampler's model input. Nothing else connects to it. That's the whole graph: loader → sampler.
Installing and getting the models
This is the same install as the whole pack, so it's worth doing right once:
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_Step_Audio_EditX_SM
cd ComfyUI_Step_Audio_EditX_SM
pip install -r requirements.txt
Restart ComfyUI, then grab two model directories. The layout is exact - subdirectories included, no nesting shortcuts:
ComfyUI/models/SAEditX/
├── Step-Audio-EditX/ # all files, incl. subdirs
└── Step-Audio-Tokenizer/ # all files, incl. subdirs
Both come from stepfun-ai/Step-Audio-EditX and stepfun-ai/Step-Audio-Tokenizer on Hugging Face (ModelScope mirrors exist). Between the two you're looking at tens of GB - this is an fp16 LLM, so plan your disk. If you'd rather let the node download them itself, set model_source to auto or huggingface and skip the manual step.
Where people get burned
- "Node does not find my models" - the classic. Either the files aren't exactly under
ComfyUI/models/SAEditX/Step-Audio-EditX/Step-Audio-Tokenizer, or the download never completed. Check the folder names byte-for-byte, then trymodel_source = autoto force a clean download. - Silent audio. The requirements pin
transformers==4.53.3and it's not an accident: the README is blunt that newer transformers breaks token handling and you get no sound, no error. If your environment drifts past 4.53.x, that's your first suspect. - funasr installs, then the console hints you're missing one more library. The README literally says "I forget which one" - read the console output at load time and pip install whatever it names.
This is the highest-friction node in the pack to set up, and it's one-time friction. Get the loader green and the sampler is the fun part.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_source | COMBO | 4 options: local, auto, modelscope, huggingface |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | Step_Audio_EditX_SM_Model | — |