Nodes/Comfyui-Kling-Wrapper/Comfyui-Kling-Wrapper Video2Audio
ComfyUI Node

Comfyui-Kling-Wrapper Video2Audio

Add sound to a silent Kling clip without leaving ComfyUI

By magicwang1111·Created 5 months ago·Updated 18 days ago· 1
Comfyui-Kling-Wrapper Video2Audio
    • videos_id
    • videos_url
    • audio_id
    • audio_url_mp3
    video_id
    video_url
    sound_effect_prompt
    bgm_prompt
    asmr_modefalse

    Here's the honest state of video generation in 2026: the clips look great, and most of them are dead silent. Native audio-in-video is the one capability where the closed models still hold a real edge over open weights, and even then it's gated to specific models and modes. Comfyui-Kling-Wrapper Video2Audio is the patch for that gap. Feed it a Kling video and it generates a matching audio track - sound effects plus an optional music layer - via Kling's /v1/audio/video-to-audio endpoint, and hands back an MP3 you can wire straight into your workflow.

    How it works

    The node accepts exactly one of two source inputs, and it's strict about it:

    • video_id - the ID of a video generated by another node in this pack
    • video_url - a public http(s) URL of a video

    Give it both and it raises "Please input one of video_id or video_url". Give it neither and it raises "Please input video_id or video_url". There's no guessing, which is honestly refreshing. Three optional inputs tune the result: sound_effect_prompt (what the diegetic audio should be), bgm_prompt (the background music layer), and asmr_mode, a boolean for whisper-quiet, close-mic ambience if that's your vibe.

    The task is submitted async and polled like everything else in this pack. When it lands you get four outputs:

    • videos_id and videos_url - echoes of what you fed in
    • audio_id - the generated audio's ID on Kling
    • audio_url_mp3 - the file. This is the one you wire into Preview Audio or a save node.

    Where it fits

    The natural pairing is with Text2Video or Image2Video: generate the clip, take its video_id output, drop it into Video2Audio, and describe the sound you want. The pack's example 12_comfyui_kling_wrapper_video_to_audio.json is the minimal version, and 15 shows the more ambitious chain - bind a subject, generate video, then add music on top. If you want dialogue instead of ambience, that's the TTS node's job; Video2Audio is for making a video feel alive with sound design rather than speech.

    Installing it

    Same pack install as the rest of the wrapper:

    cd ComfyUI/custom_nodes
    git clone https://github.com/magicwang1111/Comfyui-Kling-Wrapper.git
    cd Comfyui-Kling-Wrapper
    pip install -r requirements.txt
    

    Or via ComfyUI Manager, searching "Comfyui-Kling-Wrapper". Create config.local.json in the repo root with your Kling credentials and restart ComfyUI. This is a paid cloud generation - each audio render costs credits - so expect it to behave like a paid service, not a local model.

    Common issues

    • Both inputs filled, or neither - the node refuses both cases with a clear message. Pick one source.
    • Vapeur provider - explicitly unsupported here. The node rejects video-to-audio on the vapeur provider, so stick with provider_default: "official" in config.local.json.
    • Dead silence after running - if the response comes back without a usable url_mp3, the task failed on Kling's side. Check your credit balance and re-run; this endpoint is newer and still shows some flakiness.
    CategoryComfyui-Kling-Wrapper

    Inputs (5)

    NameTypeDefaultDescription
    video_idSTRING
    video_urlSTRING
    sound_effect_promptoptSTRING
    bgm_promptoptSTRING
    asmr_modeoptBOOLEANfalse

    Outputs (4)

    NameTypeDescription
    videos_idSTRING
    videos_urlSTRING
    audio_idSTRING
    audio_url_mp3STRING