Nodes/WorkflowX Configurator/AuK review step X (internal)
ComfyUI Node

AuK review step X (internal)

The internal node you should never add by hand

By haroonaslam·Created 4 months ago·Updated 2 days ago· 10
AuK review step X (internal)
  • model
  • encoder
  • vae
  • reference_audio
  • reference_audio_2
  • audio
  • segment_report
script[Happy] Hello there, how are you? (3s) [Shy][c-whisper] This is our little secret.
words_per_second2.0
gap_seconds0.00
seed0
steps32
guidance2.0
sway-1.00
sound_extra_seconds0.50
multi_speakerfalse
inline_editsfalse
review_each_linefalse
speed_timing_multiplier1.00

What this node is

It's AuK Chained Clone X with one difference: it's an output node, so ComfyUI can queue it as a target. That's it. Same inputs - model, encoder, vae, reference_audio, script, words_per_second, gap_seconds, seed, steps, guidance, sway, plus the optional reference_audio_2, multi_speaker, inline_edits, review_each_line, sound_extra_seconds and speed_timing_multiplier - same two outputs, audio and segment_report.

The display name says "internal" and the pack's README says the deprecated internal queue targets support the segment editor and aren't intended for direct workflow use. Believe it. There is no reason to drag this node onto a canvas.

Why it exists

The segment editor in AuK Chained Clone X needs a node it can queue on its own, repeatedly, without re-running the whole graph. When you enable the Segment editor switch on the chained clone node and hit Run, lines generate one after another and completed takes become playable as they finish; Regenerate replaces one line using a fresh seed; Finalize sends the assembled recording downstream.

Those actions are queue targets, and a queue target has to be an output node in ComfyUI's sense - otherwise asking it to run does nothing, because nothing downstream is requesting it. That's the entire job this node does: it's the identity of "queue the line generator" as opposed to "queue the whole workflow".

So if you open a workflow you downloaded and find this in the graph, that's not a mistake in the workflow. It's the editor's plumbing.

The review loop, and where your takes live

Worth knowing the mechanics even though you won't wire the node yourself, because it explains the behaviour of the editor:

Takes are temporary. Each retained line keeps one lossless audio file and one playback file in a temp area. They disappear on Clear editor, when you switch the editor off, on a server restart, or after 24 hours of inactivity. A browser refresh can reconnect to a live session; a restarted ComfyUI cannot.

Regeneration reads current text. Regenerate uses the selected line's script text, tags, recordings and settings with a fresh seed, and it regenerates the whole line including inline edits and conversions. A failed replacement keeps the previous audio, which is the right call - you lose the attempt, not the take.

Added lines behave differently depending on the script source. With a local script, Add line… inserts the text into the textbox and it saves with the workflow, undo included. With a connected text input, the addition is marked editor-only and the source node stays untouched. That's a real difference if you later re-run the batch.

Retained takes are immune to settings changes. Other script or settings edits don't invalidate audio you've already got; the takes keep the voices they were recorded with. That's a feature - you can fix one bad line without regenerating nineteen good ones.

Nothing goes downstream until Finalize. Regeneration and additions don't emit audio. Finalize assembles from the retained takes with the current Gap and does not regenerate speech or re-run upstream model or text-generation nodes.

Install

Same as the rest of the suite - nothing special is needed for this node beyond the pack itself:

cd ComfyUI/custom_nodes
git clone https://github.com/haroonaslam/WorkflowX-Configurator
cd WorkflowX-Configurator
pip install "transformers>=5.3,<6" safetensors PyYAML tqdm

Restart ComfyUI and hard-refresh the browser, then load example_workflows/06_inline_review_clone.json if you want to see the review path end to end.

Where it goes wrong

Manual edits that change the line count. If you edit the script so the number of nonblank lines changes, start a fresh full Run before regenerating or adding. Retained audio can still be played or finalized, but the line indices and the takes no longer line up.

Mutating actions during a queue. Regenerate, add and clear are unavailable while a job is active. Nothing has crashed; it's refusing to race itself.

A failure that doesn't emit. If any slot lacks audio, Finalize won't send an incomplete recording downstream as a success. Failed generation leaves an ungenerated slot to retry - which is why a "missing" line shows up as a slot rather than an error.

CategoryWorkflowX/Audio/AuK

Inputs (17)

NameTypeDefaultDescription
modelWORKFLOWX_AUK_MODEL
encoderWORKFLOWX_AUK_ENCODER
vaeVAE
reference_audioAUDIOThe first speaker's recording. Used for every line when Multi-speaker is off.
scriptSTRING[Happy] Hello there, how are you? (3s) [Shy][c-whisper] This is our little secret.Write one spoken line per row. Start with one optional voice style and any conversions. End with (3s) to choose the original length.
words_per_secondFLOAT2.00.01–100Estimates the length of lines without a duration. Higher values allow less time for the same words.
gap_secondsFLOAT0.000–3600Adds silence between finished lines.
seedINT00–18446744073709550000Keep this number and choose fixed to repeat the same random choices. Change it to try a different performance.
stepsINT321–1000Controls how much refinement is used. Start with 32. More can take longer; Flash chooses its own setting.
guidanceFLOAT2.00–100Controls how strongly the voice follows your request. Start with 2. Flash chooses its own setting.
swayFLOAT-1.00-1–0Fine-tunes how the sound is refined. Leave at -1 unless you want to experiment. Flash chooses its own setting.
sound_extra_secondsoptFLOAT0.500–3600Allows additional time for each laugh, cough, or other sound you add.
reference_audio_2optAUDIOThe second speaker's recording. Needed when a line uses @voice2 with Multi-speaker on.
multi_speakeroptBOOLEANfalseUse @voice1 or @voice2 before a line's tags. Unmarked lines continue the previous speaker, starting with Voice 1. Turn off to use Voice 1 for all lines.
inline_editsoptBOOLEANfalseSelect words to change their delivery or add a sound before them. Turn off to speak the words without these changes.
review_each_lineoptBOOLEANfalseGenerate all lines and send the recording onward. Browse, regenerate, or add lines here, then Finalize to send your revised recording.
speed_timing_multiplieroptFLOAT1.000.01–100Extra room for speech controlled by speed tags. 1 uses the calculated duration; higher values allow more time. Lines without speed changes are unaffected.

Outputs (2)

NameTypeDescription
audioAUDIO
segment_reportSTRING