toobusy DreamID-Omni Talker
The talking head node that reads its brief from a toobusy bundle
- pipeline
- toobusy_bundle
- ref_image
- ref_image2
- ref_audio
- ref_audio2
- video
- toobusy_bundle
- resolved_prompt
- selected_json
This is where the toobusy reference ecosystem stops being about images and starts talking. toobusy DreamID-Omni Talker takes a loaded DreamID-Omni pipeline, a TOOBUSY_BUNDLE (the same bundle type as the whole reference flow), and produces a talking-head video. The neat part is how the bundle feeds it: your Reference Board already holds the character images and audio cards, so the Talker's character and voice come from the same board you used to plan the visuals.
How it works
Like the sibling Loader, the Talker delegates to the upstream benjiyaya/ComfyUI_Dreamid-Omni nodes - it's a typed wrapper, not a re-implementation. It takes the bundle, resolves a prompt (the bundle's resolved_prompt wins if present; your prompt field is the fallback), and runs the sampling with the settings you've set. Character A image + Audio A drive the primary talker; the ref_image2 / ref_audio2 advanced inputs cover a two-character setup.
The inputs that matter
pipeline- fromtoobusy DreamID-Omni Loader. No pipeline, no talk.toobusy_bundle- the source of truth for character images, audio, and (if resolved) the prompt. This is the input that makes the node different from a raw DreamID-Omni call.prompt- fallback text; the bundle overrides it if it carries aresolved_prompt. The tooltip says it plainly: "If the Bundle has resolved_prompt, the Bundle wins."sample_steps(20),seed,solver_name(unipc default, dpm++, euler),width/height(defaults 992x512 - this is a talking-head frame size, not a poster).text_encoder_offload(on) - offloads the text encoder so the diffusion model gets the VRAM; keep it on unless you have headroom to burn.release_diffusion_after_run(off) - if you're running this in a loop and the model is clogging VRAM between runs, flip it on.
The four optional ref_* inputs are labeled "advanced fallback" - they override the bundle's Character A/B and Audio A/B. Use them when you want to test a talker without building a whole board.
Outputs and where they go
video- the talking-head clip, into a Save Video / preview node.toobusy_bundle- the bundle echoed back, so you can chain.resolved_prompt/selected_json- what it actually said and which settings it used; both handy for reproducibility.
Install and gotchas
Same two-pack install as the Loader: pip install -r custom_nodes/toobusy/requirements_dreamid_omni.txt, plus the upstream DreamID-Omni pack and its models. This node will fail with a clear delegation error if the upstream classes aren't registered.
Two practical traps. First, audio sync: if your bundle's audio is shorter than the clip you asked for, the talker runs out of voice - check the audio duration (Bundle Unpack exposes it) against your sample_steps and frame size. Second, resolution: 992x512 is the sane talking-head default for a reason; cranking it toward 2048 on a mid-range card is how you turn a 20-step sample into an OOM. If the result looks stiff, that's the underlying DreamID-Omni model's behavior, not the wrapper - the toobusy nodes just hand it the right inputs.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline | TOOBUSY_DREAMID_OMNI_PIPELINE | — | |
| toobusy_bundle | TOOBUSY_BUNDLE | — | |
| prompt | STRING | Fallback prompt. If the Bundle has resolved_prompt, the Bundle wins. | |
| sample_steps | INT | 201–100 | — |
| seed | INT | 10–18446744073709550000 | — |
| width | INT | 99264–2048 | — |
| height | INT | 51264–2048 | — |
| solver_name | COMBO | unipc | 3 options: unipc, dpm++, euler |
| text_encoder_offload | BOOLEAN | true | — |
| release_diffusion_after_run | BOOLEAN | false | — |
| ref_imageopt | IMAGE | Advanced fallback. Overrides Bundle Character A. | |
| ref_image2opt | IMAGE | Advanced fallback. Overrides Bundle Character B. | |
| ref_audioopt | AUDIO | Advanced fallback. Overrides Bundle Audio A. | |
| ref_audio2opt | AUDIO | Advanced fallback. Overrides Bundle Audio B. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| toobusy_bundle | TOOBUSY_BUNDLE | — |
| resolved_prompt | STRING | — |
| selected_json | STRING | — |