Nodes/Symbiotica/NS WaveSpeed InfiniteTalk Multi
ComfyUI Node

NS WaveSpeed InfiniteTalk Multi

Two characters, two voices, one photo — InfiniteTalk Multi

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
NS WaveSpeed InfiniteTalk Multi
  • client
  • video_url
left_audio
right_audio
image
resolution720p
enable_sync_modefalse
prompt
audio_ordermeanwhile
mask_image
seed-1
enable_base64_outputfalse

InfiniteTalk Multi is the sibling of the single-character version, and the difference is the whole point: it turns a photo containing two people into a two-sided conversation, with each character lip-syncing to its own audio track. One image, two voices, one video of them talking to each other.

It's part of the Symbiotica pack's neuralsins/WaveSpeed family. Where the plain InfiniteTalk node is for "this one character needs to say something," this one is for dialogue scenes - a podcast avatar, a two-person product demo, a character reacting to another's line. Same lip-sync mechanism, just with a left/right split and an ordering rule.

How it works

You feed it one image of both characters, a left_audio and a right_audio URL, and pick a resolution (480p / 720p, with the same $0.15 / $0.30 per-5-seconds pricing the tooltip quotes). It POSTs to WaveSpeed's /api/v3/wavespeed-ai/infinitetalk/multi and returns a video_url string.

The inputs that matter beyond the basics:

  • audio_order - meanwhile (default: both speak simultaneously), left_right, or right_left. This is the interesting one: it controls how the two tracks interleave. meanwhile is for overlapping conversation; the ordered modes sequence them.
  • prompt (optional) - instructions for scene, pose, and multi-character behavior, without disturbing the audio lock.
  • mask_image (optional) - if your image has more than two people (or the model is confused about who's who), mask the two to animate.
  • seed - -1 for random, otherwise reproducible.

Same shape as the single node otherwise: enable_sync_mode defaults to off (the video takes a while, so submit-and-poll is the sane default), and enable_base64_output swaps the URL for a base64 string if you need it.

Installing

Same pack, same install as the rest of the family:

cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt

Restart (or ComfyUI Manager → Symbiotica). Wire an NS WaveSpeed Client with your WAVESPEED_API_KEY into client, and give it two audio files and one image - all as reachable URLs.

Common issues

  • Which audio goes where is on you. left_audio drives the left character, right_audio the right. Swap them and the conversation reads wrong even though nothing errors.
  • The model animates the wrong pair. That's what mask_image is for - without it, the model guesses who's who in a crowd.
  • Simultaneous speech gets muddy. If both tracks are talking at once and it sounds like noise, switch audio_order to left_right or right_left so the API sequences them cleanly.
  • Output is a STRING. video_url needs a video-loader node downstream to become frames on your canvas.

The trap to avoid is treating this like a two-track mixer - the audio ordering is a generation parameter, not a post-production one. Nail the ordering before you spend the render, because re-rolling a multi-character video is a paid do-over.

Categoryneuralsins/WaveSpeed

Inputs (11)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
left_audioSTRINGLeft audio file URL for multi-character conversation (connect from Upload Audio node)
right_audioSTRINGRight audio file URL for multi-character conversation (connect from Upload Audio node)
imageSTRINGImage containing multiple characters to animate (connect from Upload Image node)
resolutionCOMBO720pOutput video resolution (480p: $0.15 per 5 seconds, 720p: $0.3 per 5 seconds)
enable_sync_modeBOOLEANfalseWait for video generation to complete before returning
promptoptSTRINGOptional generation instructions to control scene, pose, and multi-character behavior
audio_orderoptCOMBOmeanwhileAudio order for multi-character conversation: meanwhile (simultaneous), left_right, or right_left
mask_imageoptSTRINGOptional mask image URL to specify which characters to animate (connect from Upload Image node)
seedoptINT-1-1–2147483647Random seed for reproducible results. -1 for random seed
enable_base64_outputoptBOOLEANfalseEnable base64 output format

Outputs (1)

NameTypeDescription
video_urlSTRING