KlingAI Avatar 2.0 Standard
Talking-head video at a price you can loop
- image
- video
A photo in, an audio file in, a talking-head video out - Kling AI Avatar 2.0 Standard is the budget tier of Kuaishou's avatar model, and its shape is identical to the Pro node: image and audio both required, a prompt optional. The difference is the price and the polish ceiling. When you're iterating on lines, testing dubs, or generating a dozen short clips, Standard is the tier that lets you do it without flinching.
Why you'd reach for it
Same reason you reach for any Standard tier: iteration economics. The avatar workflow is inherently trial-and-error - you try a take, hear how it lands, tweak the audio, try again. At Standard pricing that loop is cheap enough to actually run. Pro is for the final cut; Standard is for finding the cut. If you only need one synced clip and it has to look great, skip straight to Pro. If you're exploring, start here.
How it works
Generated Runware node, shared pack base class. image (an IMAGE tensor, base64'd to a PNG data URI) and audio (a string - URL, file path, or Runware UUID) go to the Runware REST API over the runware SDK; the synced clip returns as a native ComfyUI VIDEO object, with cost printed on the title bar.
Inputs that matter
image(IMAGE) - required. Front-facing, well-lit photo of the person.audio(STRING) - required. URL, path, or UUID of the speech track.positivePrompt- optional style/expression nudge.numberResults(1–4) - variations, each a separate bill.outputFormat(MP4/WEBM/MOV),outputQuality(95).safetygroup - content-check toggles (off = model default).
Output: one video socket (VIDEO type).
Install and the API key
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart ComfyUI (or Runware via ComfyUI Manager). Key from the Runware dashboard → Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.
Gotchas
- The two required inputs are different kinds:
imagewants a tensor (Load Image),audiowants a string (URL/path/UUID). Mixing them up is the number one failure mode. - Face quality dominates results - a straight-on, evenly lit photo syncs far better than a side profile.
- Standard is the value tier; expect a lower resolution ceiling and less natural micro-motion than Pro. Good enough for drafts, obvious in close-ups.
- Closed, paid, per-run: Kuaishou's model by the clip, cost on the node.
Standard's superpower is that it makes "try the line, hear it, change it" a loop you'll actually do. Upgrade to Pro only for the takes that survive it.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| audio | STRING | Audio input (UUID or URL). | |
| positivePromptopt | STRING | Text prompt describing elements to include in the generated output. | |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |