Nodes/ComfyUI-KLingAI-API/Lip Sync Audio Input
ComfyUI Node

Lip Sync Audio Input

Feed your own voice track into KLing's Lip Sync node

By KlingAIResearch·Created 2 years ago·Updated 10 months ago· 174
Lip Sync Audio Input
    • input
    audio_file
    audio_url

    This node exists purely to answer one plumbing problem: the Lip Sync node in this pack doesn't take a raw audio file - it takes a custom KLING_AI_API_LIPSYNC_INPUT type, and Lip Sync Audio Input is the small adapter that turns "here's my audio" into that type. If you already have a real voice recording - your own VO, a licensed clip, dialogue extracted from another render - this is the node you reach for instead of Lip-Sync-Text-Input (which is for when you want KLing to generate speech from text instead).

    How it works

    There's nothing generative happening here; it's a packaging step. You point it at an audio file or URL, and it produces the input value that Lip Sync expects. No API call happens on this node itself - the actual syncing work is done downstream, once Lip Sync receives this packaged input alongside the target video.

    The inputs and outputs that matter

    Both fields are optional, but you need to fill in one of them:

    • audio_file - a local file reference.
    • audio_url - a hosted audio file elsewhere on the internet.

    There's no batch, no duration limit exposed, no format picker in the schema - whatever validation happens (accepted formats, length caps) happens on KLing's side once the job actually reaches Lip Sync and gets submitted.

    The single output is input, typed KLING_AI_API_LIPSYNC_INPUT - it only connects to the input slot on the Lip Sync node, nowhere else in the pack.

    Installing it

    Comes bundled with the rest of the pack. ComfyUI Manager: search ComfyUI-KLingAI-API. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/KwaiVGI/ComfyUI-KLingAI-API
    cd ComfyUI-KLingAI-API && pip install -r requirements.txt
    

    This node itself doesn't need a Client or API key - it's just packaging your audio reference - but the Lip Sync node downstream absolutely does, so make sure a Client node with a valid KLing key is wired in before you try to run the graph end to end.

    Common issues

    Leaving both audio_file and audio_url blank is the obvious one - the node will happily pass through an empty input, and the failure shows up downstream at Lip Sync instead of here, which can be confusing to debug at first. If you're pointing at a local file, make sure the path is one KLing's upload step (triggered when Lip Sync actually runs) can reach - a path that's only valid on your local machine won't resolve if the workflow is running somewhere else, like on a remote executor. And if you're not sure whether your audio actually needs to be a hosted URL versus a local path for your setup, test with a short, simple clip first - a failed lip-sync job because of a bad audio reference is a lot cheaper to debug than one where you're also second-guessing the video or the face targeting at the same time.

    CategoryKLingAI

    Inputs (2)

    NameTypeDefaultDescription
    audio_fileoptSTRING
    audio_urloptSTRING

    Outputs (1)

    NameTypeDescription
    inputKLING_AI_API_LIPSYNC_INPUT