Video2Audio
Generate sound effects or a soundtrack for a video you already have
- client
- videos_id
- videos_url
- audio_id
- audio_url_mp3
Most video models are silent - you get picture, not sound, and you go find music and foley separately. Google's Veo 3 got attention specifically for generating audio natively alongside video; most other models, KLing included, don't do that at the point of generation. Video2Audio is KLing's way of closing that gap after the fact: hand it a video you already have, and it generates a matching soundtrack - sound effects, background music, or both - for it.
How it works
You point the node at an existing video (either one KLing already generated, or an external one via URL), describe the kind of sound and/or music you want, and KLing's servers analyze the video and generate audio meant to fit it, returning both the (echoed) video reference and the new audio as separate results. It's a genuinely different capability from Text2Audio in this same pack - that node generates audio from a text prompt alone with no visual context; this one is scoring an actual video.
The inputs and outputs that matter
Required:
video_idandvideo_url- the video to score. Usevideo_idfor a clip generated elsewhere in this pack (Text2Video,Image2Video,Effects) to chain cleanly without re-uploading;video_urlfor an external clip.
Optional:
sound_effect_prompt- describe foley/sound effects specifically (footsteps, ambient room tone, impacts).bgm_prompt- describe background music separately from sound effects, so you can ask for both at once without one prompt trying to do double duty.asmr_mod(boolean, defaultfalse) - a dedicated toggle that biases the generated audio toward close, intimate, ASMR-style sound design rather than a normal mix. A fun one to know exists if that's the aesthetic you're after, easy to forget if you're not.
Outputs are four strings: videos_id / videos_url (echoing the source video reference back) and audio_id / audio_url_mp3 (the generated audio result, as an MP3 download link).
Installing it
ComfyUI Manager: search ComfyUI-KLingAI-API, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/KwaiVGI/ComfyUI-KLingAI-API
cd ComfyUI-KLingAI-API && pip install -r requirements.txt
No local model download - you need a Client node with a valid KLing AI API key wired in upstream, region-matched via area.
Common issues
Leaving both sound_effect_prompt and bgm_prompt blank is a valid but usually unhelpful call - you'll want at least one filled in to steer the result meaningfully, since the node has no visual-only default beyond whatever KLing infers on its own. If you're chaining from a video generated earlier in the same pack, prefer video_id over grabbing the url output and feeding it back as video_url - the id points at KLing's own persistent copy rather than relying on a download link that may not stay live indefinitely. And since the output is only a url (audio_url_mp3), you'll want a download step afterward if you need the file on disk - nothing here writes it locally on its own. As always, an auth failure or empty balance on the upstream Client node is the first thing to rule out if nothing comes back at all.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| client | KLING_AI_API_CLIENT | — | |
| video_id | STRING | — | |
| video_url | STRING | — | |
| sound_effect_promptopt | STRING | — | |
| bgm_promptopt | STRING | — | |
| asmr_modopt | BOOLEAN | false | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| videos_id | STRING | — |
| videos_url | STRING | — |
| audio_id | STRING | — |
| audio_url_mp3 | STRING | — |