Nodes/comfyui-stillfront/SF WaveSpeed InfiniteTalk Multi
ComfyUI Node

SF WaveSpeed InfiniteTalk Multi

Two characters, two audio clips, one image — an actual animated conversation

By razvanmatei-sf·Created 9 months ago·Updated 7 months ago· 0
SF 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

Single-character talking avatars are everywhere now. What's still rare is the conversation - two people in one image, each lip-syncing their own audio track. SF WaveSpeed InfiniteTalk Multi is that node. You give it a picture containing two characters, a left-channel audio clip and a right-channel clip, and it produces a video of the two of them talking, either simultaneously or taking turns.

It's a niche tool, honestly. But if your use case is interviews, dialogues, character sketches, or any workflow where two voices need two animated faces in one frame, there isn't much else that does this out of the box. Like every node in the comfyui-stillfront pack, it's an API call to WaveSpeed - no local model, no GPU.

How it works

WaveSpeed's InfiniteTalk Multi model takes the character image, the two audio files, and a pairing order, then renders a video with the corresponding character animating on each audio track. The node sends all that to the infinitetalk/multi endpoint and returns the video's URL.

The core inputs:

  • left_audio and right_audio - URLs to the two audio files, connected from an Upload Audio node. These map to the two characters in the image.
  • image - URL of an image with multiple characters in it (from an Upload Image node).
  • audio_order - the conversation structure: meanwhile (both talk simultaneously, the default), left_right, or right_left (turn-taking).
  • resolution - 480p or 720p, and the tooltip gives you the pricing straight: $0.15 per 5 seconds at 480p, $0.30 at 720p. That's the number to budget around - longer audio means a longer and pricier video.
  • enable_sync_mode - default off, which is worth knowing. Either way the node waits for the result and returns a URL, but the async path has a longer 20-minute timeout, which matters for long multi-character clips.

Optional extras worth knowing: prompt for controlling scene, pose, and multi-character behavior; mask_image to specify which characters get animated when the image has more than two; seed for reproducibility; and enable_base64_output if you'd rather get the video back as base64 than a URL.

Output is a single video_url STRING - wire it to a video loader or display that can fetch from a URL, or save it with a text node.

Installing it

Same pack install as all the WaveSpeed nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/comfyui-stillfront
cd comfyui-stillfront
pip install -r requirements.txt

Restart, then set your WaveSpeed key - either in the SF WaveSpeed Client node you wire in, in config.ini (copy from config.ini.tmp), or via the WAVESPEED_API_KEY env var. You'll also want the Upload Audio and Upload Image nodes that produce the URLs this node expects.

Troubleshooting

  • Characters animate wrong or in the wrong order. The image needs the two characters clearly separated (left/right), matching audio_order. If the model can't tell them apart, try mask_image to say who's who.
  • Only one person talks. Usually an audio_order mismatch or an audio file that's empty/silent on one side. Also double-check the character image isn't tightly cropped around a single face.
  • Video never arrives. Long clips + async mode can outlast the timeout. Run a short clip first to sanity-check, then scale up.
  • Cost surprise. Remember it's billed per 5 seconds. A 30-second dual-720p conversation is 6 × $0.30, plus the fact that long generations tie up the job. Budget it before you commit.

This is very much a "one specific job" node - but for that job, it's about as close to plug-and-play as hosted talking-avatar tech gets.

CategoryStillfront/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