Kling O3 · Video Edit
Change one thing and leave the rest alone
- video_url
- reference_image_urls
- video
- task id
This is the one that makes you stop and think about the economics of production. You hand it a clip, tell it what to change, and everything you didn't mention stays as it is - same performance, same camera, same timing, different outfit, different weather, different subject entirely. From 18.78 credits per second of the clip you feed in.
The mechanism
video_url takes a real ComfyUI VIDEO - from a video loader node, or from another PopNow node's video output. That's the part beginners fumble: a folder of frames isn't a VIDEO. The clip is re-muxed to MP4, uploaded (90 MiB ceiling), and Kuaishou edits it. The node quotes, submits with an idempotency key, polls with progress text, downloads the result as a VIDEO. The output is as long as the source clip, which is why the price is a per-second rate rather than a per-request one.
Source requirements from the tooltip: 3 to 10 seconds, at least 720 pixels on each side. Shorter or smaller and the request is rejected.
Inputs
prompt - say what to change, and only that. "Replace her hoodie with a tailored suit" works. A paragraph describing the whole scene gives the model permission to re-render everything and lose the performance you liked.
elements - JSON text for a named subject built from 2–4 images of the same character or object, referenced as @name in the prompt. The image_urls are URLs rather than wired sockets, so this is the one field you can't feed from a local IMAGE; leave it blank if you're not using it (blank is omitted, not sent as an error).
reference_image_urls - up to 4 optional images via autogrow sockets, for a new character, outfit, object or style. Same idea as elements, but you can wire these straight in from your graph, which makes them the practical choice for local files.
resolution - 720p or 1080p. keep_original_audio - on by default; leave it on unless you're replacing the sound.
Outputs
video (VIDEO) and task id (STRING). Save it, or keep editing - chaining two edits is a legitimate way to do a wardrobe change and a location change without one prompt fighting itself.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart, key from popnow.ai/api/console/keys into Settings > PopNow or POPNOW_API_KEY, restart again for the catalog sync. Manager route: search PopNow → Install. No model files, no pip packages, no GPU required. Remove any old custom_nodes/popnow_api.py.
What goes wrong
The upload cap is the sneaky one. Ten seconds of 1080p is usually fine, but if you're editing a clip that came out of another tool at a high bitrate it may cross 90 MiB and fail with a flat limit error. Trim or re-encode.
Cost is per second of source, so a 10-second edit is 188 credits - cheap per shot, expensive if you're doing forty variants. Set Settings > PopNow > Max credits per run and work at 720p until you like the direction.
Then the quality caveat: video editing is the hardest thing any of these models do, and edits that move too far from the source (a whole new setting, a different actor, a season change) tend to come back with the motion wobbling. Small, single changes hold up. If you need three, chain three edits.
Codes: 400 naming a field usually means the source clip broke a constraint (length, minimum dimensions), 40004 a combination the model can't serve, 40201 an empty wallet, 401 a dead key. Cancelled runs keep rendering server-side and are charged on success - look in the API console before you queue again.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Say what to change in the clip: the subject, outfit, setting, style or weather. Anything you do not mention stays as it is. | |
| video_url | VIDEO | Source clip to edit, 3 to 10 seconds, at least 720 pixels on each side. The result is as long as this clip. | |
| elements | STRING | One named subject to bring into the edited clip, built from 2 to 4 images of the same character or object. Write @name in the prompt where it should appear. JSON. A list of objects with "description", "image_urls", "name", "reference_audio_urls"?. | |
| resolution | COMBO | 720p | Output resolution. Higher tiers cost more per second. |
| keep_original_audio | BOOLEAN | true | Keep the source clip's own sound in the result. |
| reference_image_urlsopt | COMFY_AUTOGROW_V3 | Optional reference images, up to 4, for a new character, outfit, object or style. Refer to them as <<<image_1>>>, <<<image_2>>> and so on. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |