Nodes/ComfyUI-Kling-Direct/Kling Avatar Generation
ComfyUI Node

Kling Avatar Generation

Your Still Image, Talking and Moving

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 4
Kling Avatar Generation
  • auth
  • image
  • audio
  • video
  • video_file
  • audio
  • url
  • task_id
prompt
modepro
audio_url

Kling Avatar Generation turns a still image of a person into a "digital human" - an animated version that gestures, expresses, and (if you give it audio) speaks. It's the pack's talking-head node, and it's the one that makes people's eyes light up when they demo it: portrait in, living presenter out. If you've got a character, an influencer, a product spokesperson, or just your own face rendered by the Image Generation node, this is the step that makes them come alive.

The distinction that matters: this is avatar animation, not lip-sync. Lip-sync takes an existing video of someone talking and re-times the mouth to new audio. Avatar generation starts from a still and synthesizes the whole performance - the face, the head motion, the expressions - with audio optionally driving the speech. Different job, different node.

How it works

The inputs are straightforward:

  • auth - the KLING_AUTH object from the Auth node.
  • image (IMAGE) - your portrait or character shot. This is the star of the show; feed it a decent head-and-shoulders shot and the result is dramatically better than a tiny face in a landscape.
  • prompt - optional text steering the animation. "Speaks to camera with welcoming gestures" goes a long way; leaving it blank gives you Kling's default behavior.
  • mode - pro or std. Pro is higher quality and spends more credits; std is faster/cheaper and fine for tests.

Then, optionally, a voice to make it talk: either audio (an AUDIO tensor) or audio_url (a hosted URL). Give it audio and the avatar speaks those words with natural lip movement; leave it empty and you get a silent animated performance. If you supply an AUDIO tensor, the node quietly converts it and uploads it to Kling's materials API to get an asset ID - that's the mechanism for the audio path.

Outputs are the pack-standard video quintet: video (IMAGE frame batch), video_file (path), audio (AUDIO, from the result), url, and task_id.

How to get a good one

  • Start from a clean, well-lit face. The model's whole job is animating the subject; if the source is a moody low-res portrait, the avatar inherits the mood.
  • Describe the performance, not the camera. "Looks down, smiles, then addresses the audience" beats "high production value." The motion direction lives in the prompt.
  • Chain it with the pack's TTS. The natural full pipeline is Text-to-Speech → Avatar Generation, so the avatar speaks your generated narration. The pack ships an example workflow (avatar_narrator) showing exactly that.
  • Budget for pro mode. Avatar generation is a video job; it's not the cheapest call in the pack. Use std while you iterate on the image and prompt, then flip to pro for the real render.

Common issues

  • "No face" or warped animation - the source image's face is too small, occluded, or stylized. Crop tighter, improve lighting, retry.
  • Audio path fails - an AUDIO tensor that didn't convert, or an audio_url that isn't publicly reachable. The pack downloads from URLs with a scheme/SSRF guard, so a loopback or internal address will be refused by default.
  • Video comes back but no speech - you fed a prompt but no audio, which is exactly the "silent performance" mode. Add audio if you wanted speech.

Install

It's in the ComfyUI-Kling-Direct pack:

cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct

or ComfyUI Manager → search "Kling Direct" → install → restart. No models, no GPU, no extra dependencies beyond what ComfyUI already ships - all the heavy lifting happens on Kling's servers, paid for in credits.

CategoryKling AI/Video

Inputs (6)

NameTypeDefaultDescription
authKLING_AUTH
imageIMAGE
promptSTRINGOptional text prompt for the avatar animation.
modeCOMBOproGeneration mode.
audiooptAUDIO
audio_urloptSTRINGURL of audio for the avatar to speak.

Outputs (5)

NameTypeDescription
videoIMAGE
video_fileSTRING
audioAUDIO
urlSTRING
task_idSTRING