AuK Instruction Builder
27 templates so you stop guessing the wording
- STRING
This node is a form. You pick a task, fill in the blanks, and it hands you the exact sentence AuK was trained to act on. No model runs, no GPU time, no cleverness - and it's the single best fix for the most common AuK complaint, which is that the model ignored a perfectly reasonable-sounding instruction you invented yourself.
That's not superstition. AuK's tasks are template instructions, and the templates are shipped in the pack's source. Rephrasing "Raise the pitch by 2.0 semitones" into "could you make it a bit higher" is asking a model with uneven adherence to improvise. The builder doesn't.
What you get
One input, task, which is a dynamic combo - and that's the interesting bit. When you pick a task from the dropdown, the node grows the slots that task needs. Pick Replace speech and you get original and replacement. Pick Change speed and you get factor. Pick Separate speaker and you get a speaker field. Text slots are multiline; the numeric ones (semitones, decibels, speed factor) are number widgets.
One output: STRING, wired into AuK Instruction Encode's instruction input. Or leave it wired to nothing, copy the sentence out of the node, and paste it into Instruction Encode yourself - the GUIDE's suggested chain keeps the wire, which is tidier.
The task set covers: voice-description TTS, cloning, replace/insert/remove speech, lyric editing, pitch up and down, speed, volume up and down, emotion, timbre, accent removal, adding and removing nonverbal sounds, whisper conversion in both directions, enhancement, denoise-only, dereverberate-only, quality repair, speaker separation, singing extraction, keeping all human voices, and target-speaker extraction. Twenty-seven in the source's own table.
Two things worth knowing
One template is in Chinese. Convert to whisper renders 用小声耳语的方式把这段话说出来。 - that's the canonical upstream wording, and it works, because the model is bilingual and this is the phrasing it was tested with. If you'd rather keep the graph English, the GUIDE gives an English alternative and the Whisper to speech direction is English anyway.
Slots that want literal words need literal words. The quoted text you paste has to actually occur in the source recording. Replace 'Tuesday' with 'Friday' is unfollowable if nobody says Tuesday, and Insert speech before needs an anchor phrase you can point at. Same for Extract target speaker: it identifies the speaker by the words they say, so the quoted phrase is the identification mechanism, not decoration.
For tasks that change duration - inserting words, removing words, speed changes - remember seconds is set on the sampler, not here. Insertions need more output time, removals less, and the GUIDE's speed table (source duration ÷ factor) is the arithmetic to copy.
Install
The builder ships with the pack, so:
cd ComfyUI/custom_nodes && git clone https://github.com/Saganaki22/ComfyUI-AuK
cd ComfyUI-AuK && python -m pip install -r requirements.txt
or install ComfyUI-AuK from ComfyUI Manager and restart. Nothing extra to download.
Troubleshooting
"I connect it and the instruction doesn't change." The opposite is the usual bug: a connected STRING overrides the widget on Instruction Encode, so if you wire the builder up and then edit the text box, your edit is ignored. Pick one source of truth.
The node looks different from a screenshot. That's the dynamic combo doing its job - every task exposes different slots, so two people's builders can look nothing alike.
It renders a sentence you didn't want. Edit the generated text rather than starting from scratch; the tooltip on task says exactly that. The builder is a starting point, not a cage.
Wire it as Instruction Builder → AuK Prompt Enhance → Instruction Encode and the second node will re-snap your values and estimate the duration for you; or go straight into Instruction Encode if you already know the duration you want.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| task | COMBO | Task template. Fill its fields and wire the STRING output into Instruction Encode's instruction input, or edit the generated text afterwards. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |