Kling AI Avatar Standard
The cheap one you should be testing on
- image_url
- audio_url
- video
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
What it is
A portrait plus a voice track, rendered as a talking-head video. That's it. Kling's AI Avatar endpoint, exposed as a node in ComfyUI-KIE-Nodes-Next - KIE_Next_kling_ai_avatar_standard_505121bc, under KIE Next / Video / Kling.
Standard is the lower tier of the two avatar nodes in this pack. Its twin (Kling AI Avatar Pro) takes exactly the same inputs and returns exactly the same outputs; what changes is the quality tier your KIE credits buy, and therefore the price. Which makes Standard the node you should be iterating on: fix the portrait, fix the script, fix the audio, then run Pro once.
Same ground rules as every Kling node: Kuaishou's model, closed weights, so there is no local version to run and the call has to go out. Here it goes to KIE.ai - a reseller with its own account, credits and key, not ComfyUI's official Partner Nodes. Budget per call rather than per session.
How it runs
Both inputs are native Comfy types and both get uploaded for you - the image is PNG-encoded, the audio is converted to 16-bit PCM WAV inside the pack (no ffmpeg dependency), and KIE hands back hosted URLs the provider can read. The node POSTs kling/ai-avatar-standard to createTask, then polls the task record until it reports success, growing the wait between checks from about 2.5 seconds up to a 15-second cap. The result is downloaded into output/KIE-Results/videos/ and returned as a ComfyUI VIDEO, so it slides into a save node, a preview, or a local upscale step like any other clip.
Nothing about this happens in parallel with anything else in your graph. It's a network job wearing a node's clothes, and the render time scales with how long your audio is.
The inputs
- image_url (
IMAGE, required) - your face. Front-facing, eyes visible, decent light. This single choice dominates the output quality; everything else is secondary. - audio_url (
AUDIO, required) - the voice. From ElevenLabs, Gemini TTS, a recorded take, whatever. Clean speech only. - prompt - up to 5000 characters, and can be left empty (KIE's own example sends an empty string). Use it for performance direction: energy, gaze, tone.
- timeout_seconds - 1200 seconds by default. Raise it for long scripts instead of re-submitting.
- callback_url - empty, unless you're running a webhook server.
Outputs
video, plus url, all_urls_json, task_id, raw_json, credits_consumed and credits_left. The credit receipt prints on the node after every successful run, which is genuinely useful on a per-second-of-audio job like this one: run your 30-second script through Standard, look at the number, then decide whether the Pro take is worth it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
Restart ComfyUI. Then Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key - validated against KIE before it replaces an existing key, stored outside your workflows, and confirmed with a masked fingerprint and ✅ CONNECTED. Server installs can set KIE_API_KEY, which takes priority over the saved key. Dependencies are just requests, Pillow, numpy, PyYAML. ComfyUI Manager search works if the pack is listed in the registry; the repo also publishes a ZIP and a one-click Windows installer in dist/.
Realistic problems
The mouth doesn't match. Almost always the source audio: music beds, reverb, crosstalk, or a mono track with weird phase. Cut a clean vocal stem and try again.
Weak likeness. It's a still image driving the whole performance - a three-quarter or oddly-lit photo gives the model less to work with than a flat, well-lit front view.
It fails on a video input. This node takes IMAGE, not VIDEO. If you want footage-driven work, that's the motion-control or transformation node instead.
Node not in the menu after install. The pack generates its model nodes from KIE's documentation index at startup and re-syncs at most once a day; a fresh install shows only the bootstrap models until that finishes. Restart and wait a minute. If the pack's catalog index is temporarily unreachable, KIE Next just keeps using its cached model list - no drama.
An error mentioning comfy_api.latest. Your ComfyUI is too old to wrap the downloaded MP4 as a VIDEO object. Update ComfyUI.
A KIE task ... failed: <reason> message. That's the provider declining the job. The reason is in the message and in raw_json - and no, a failed task isn't charged, but a queued second click is.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image_url | IMAGE | — | |
| audio_url | AUDIO | — | |
| prompt | STRING | The prompt to use for the video generation (Max length: 5000 characters) | |
| timeout_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |