Kling Video to Audio
Pull (or generate) the audio from any video, no local decode needed
- auth
- audio
- url
- task_id
You've got a video URL - a Kling render, a clip someone shared, whatever - and you need its audio as a tensor you can wire into your graph. KlingDirect_VideoToAudio does that in one call: give it a video_url, and it hands back the audio track plus the hosted audio URL and a task ID. No local ffmpeg, no decoding the whole file into frames just to throw them away.
The interesting subtlety is what "extract" means here. The node hits Kling's /v1/audio/video-to-audio endpoint, which is Kling's audio-from-video service - in practice that means the returned track can be the source audio or Kling's own generated audio for the clip, depending on what the video had and what the API decides. For a silent Kling render, it will synthesize a soundtrack rather than return nothing. That's genuinely useful - it's the difference between "this clip has no sound" and "this clip now has a sound."
The honest framing: if you just want the existing track of a video you already have locally, your OS tools or the Video Loader node's audio output do that for free. This node earns its API call when the video is hosted (you only have the URL), when you want Kling to generate audio for a silent clip, or when you're already inside a Kling pipeline and don't want to leave it for a local step.
What you set
Just auth and video_url - the URL of the video. That's the entire input surface. It needs to be a public, fetchable URL; local files aren't accepted here (host them first, or use Video Loader for local extraction).
Outputs
- audio (
AUDIO) - the track as a ComfyUI audio tensor. Wire it into a mixer, an audio preview node, orLip Sync'saudioinput. - url - the hosted audio URL, handy for URL-only consumers.
- task_id - for status chaining.
Install and what it needs
Part of ComfyUI-Kling-Direct: ComfyUI Manager → search "Kling Direct" → install, or git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct into ComfyUI/custom_nodes, then restart. No model downloads. Needs your Kling access key + secret key from https://app.klingai.com/global/dev (KYC required) via the Kling AI Authentication node or env vars, correct region selected.
Where people get burned
- Expecting a pure copy. Because the endpoint can synthesize rather than extract, the returned audio may not be bit-for-bit the source track - especially for silent videos, where it's Kling's generation by design.
- Local paths.
video_urlmust be a hosted URL. This node has no local input; for a file on disk,Video Loadergives you theaudiooutput locally and free. - Paid extraction. It's a metered API call. For a single local file, your OS or
Video Loaderis the cheaper route - reserve this node for hosted videos or Kling-generated sound.
The nicest chain in the pack: Video to Audio → audio → Kling Lip Sync's audio input, which lets you take any hosted video's track and sync its own lips to it without ever touching local storage.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| auth | KLING_AUTH | — | |
| video_url | STRING | URL of the video to extract audio from. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| url | STRING | — |
| task_id | STRING | — |