Kling 3.0 · Character Animation
Retarget motion and keep the driver's audio
- image_url
- video_url
- video
- task id
Same idea as the 2.6 character-animation node - a photo plus a driving clip, out comes your person doing that move - but with the controls the newer model adds: which way the character faces, whether the driver's own audio survives, and how much of the shot planning you delegate. It runs at from 15.12 credits per second, so roughly $0.15/s of output, and the output length is whatever your driving clip is.
What it does
Your image_url and video_url are uploaded to PopNow, Kuaishou's model does the motion transfer, and the MP4 comes back as a VIDEO. There's no pose extraction happening in your graph, no control net, no preprocessor - which also means you can't fix anything mid-pipeline. All the steering you get is the handful of widgets below.
The inputs that decide the result
image_url - one clear picture of the person, full or half body. This is the thing being animated, so it's the single biggest quality lever. Sharp, front-facing, no motion blur.
video_url - the driving clip, 3 to 30 seconds. The result is as long as this clip, and you're billed per second of it, so a 30-second driver is north of 450 credits.
character_orientation - video follows the person in the driving clip, image follows the person in the photo. The catch is in the tooltip: with image, the driving clip may be at most 10 seconds. If you want the photo's angle preserved, budget your driver accordingly.
resolution - 720p or 1080p. Higher tiers cost more per second, and for testing whether the motion even reads, 720p is plenty.
keep_original_audio - on by default. This is the one I'd leave alone unless you're replacing the sound in an editor; the driver's audio usually syncs to the motion well enough to be useful, and it's free in a way generated audio isn't.
shot_type - customize keeps to your inputs, intelligent lets the model plan shots itself. For motion transfer, customize. Letting the model re-plan the shots defeats the point of copying a performance.
prompt - optional notes about the result: setting, look, anything the driving clip doesn't show. Not a scene description.
negative_prompt - objects, looks or motion you want kept out.
Outputs
video (VIDEO) plus task id (STRING). Send the video to Save Video, or into another PopNow node. The id is what identifies the run in the API console.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart, add a key from popnow.ai/api/console/keys in Settings > PopNow or via POPNOW_API_KEY, restart once more so your catalog becomes the node list. Manager users: search PopNow, Install. Nothing else to fetch - no checkpoints, no weights, no extra pip packages. Delete a leftover custom_nodes/popnow_api.py from the single-file era.
What actually goes wrong
The 90 MiB video upload cap is the trap that isn't documented on the node. Video inputs are re-muxed to MP4 before upload, and a long 1080p driver will blow through the limit. Trim it. Images are PNG with a 10 MiB ceiling and a JPEG fallback, so photos are rarely the issue.
Then there's the cost maths nobody does before queueing: this node bills per second of driver clip, not per second of "useful output". A 28-second reference where the dancer stands still for 20 of them is 28 seconds of bill. Cut to the move you want.
Also worth knowing: version numbers are not a promise. Community threads on Kling 3.0 have been noticeably split, with people comparing it unfavourably to the previous generation on some content and raving about it on others - the same "is this actually better?" argument that follows every model bump. Run the same photo-and-driver pair through both the 2.6 and 3.0 character nodes and judge on your footage, not the release notes.
Standard failure codes: No PopNow API key is set before you've configured anything, 401 for a revoked key, 40201 for an empty wallet, 40004 for an unservable combination (usually resolution against clip length here). Cancelled runs keep going server-side and are charged on success; failed ones are refunded.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Optional notes on the result: the setting, the look, anything the driving clip does not show. | |
| negative_prompt | STRING | What to keep out of the result: objects, looks or motion you do not want. | |
| image_url | IMAGE | The character to animate: one clear, full or half-body picture of the person. | |
| video_url | VIDEO | Driving clip, 3 to 30 seconds: the moves, expressions and gestures to copy. The result is as long as this clip. | |
| resolution | COMBO | 720p | Output resolution. Higher tiers cost more per second. |
| keep_original_audio | BOOLEAN | true | Keep the driving clip's own sound in the result. |
| character_orientation | COMBO | video | Which way the character faces: video follows the person in the driving clip, image follows the person in the photo. With image the driving clip may be at most 10 seconds. |
| shot_type | COMBO | customize | How the shots are planned: customize keeps to your inputs, intelligent lets the model plan the shots itself. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |