AuK review step X (internal)
The internal node you should never add by hand
- model
- encoder
- vae
- reference_audio
- reference_audio_2
- audio
- segment_report
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.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| model | WORKFLOWX_AUK_MODEL | — | |
| encoder | WORKFLOWX_AUK_ENCODER | — | |
| vae | VAE | — | |
| reference_audio | AUDIO | The first speaker's recording. Used for every line when Multi-speaker is off. | |
| script | STRING | [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_second | FLOAT | 2.00.01–100 | Estimates the length of lines without a duration. Higher values allow less time for the same words. |
| gap_seconds | FLOAT | 0.000–3600 | Adds silence between finished lines. |
| seed | INT | 00–18446744073709550000 | Keep this number and choose fixed to repeat the same random choices. Change it to try a different performance. |
| steps | INT | 321–1000 | Controls how much refinement is used. Start with 32. More can take longer; Flash chooses its own setting. |
| guidance | FLOAT | 2.00–100 | Controls how strongly the voice follows your request. Start with 2. Flash chooses its own setting. |
| sway | FLOAT | -1.00-1–0 | Fine-tunes how the sound is refined. Leave at -1 unless you want to experiment. Flash chooses its own setting. |
| sound_extra_secondsopt | FLOAT | 0.500–3600 | Allows additional time for each laugh, cough, or other sound you add. |
| reference_audio_2opt | AUDIO | The second speaker's recording. Needed when a line uses @voice2 with Multi-speaker on. | |
| multi_speakeropt | BOOLEAN | false | Use @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_editsopt | BOOLEAN | false | Select words to change their delivery or add a sound before them. Turn off to speak the words without these changes. |
| review_each_lineopt | BOOLEAN | false | Generate all lines and send the recording onward. Browse, regenerate, or add lines here, then Finalize to send your revised recording. |
| speed_timing_multiplieropt | FLOAT | 1.000.01–100 | Extra 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)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| segment_report | STRING | — |