Nodes/PopNow/Kling 4.0 · Image to Video
ComfyUI Node

Kling 4.0 · Image to Video

30 seconds, and keyframes in between

By popnow-ai·Created 24 days ago·Updated about 20 hours ago· 0
Kling 4.0 · Image to Video
  • image_url
  • last_image_url
  • keyframe_image_urls
  • video
  • task id
◄prompt►
◄aspect_ratioauto►
◄resolution720p►
◄duration_seconds5►

Most image-to-video nodes give you one still and five seconds, and you extend by chaining clips and praying the seams hold. This one gives you up to 30 seconds and, more interestingly, in-between keyframes - up to eight images the clip has to pass through on its way from your opening frame to your closing frame. That's storyboard control in a single call.

It is also, at from 32.4 credits per second ($0.32/s), the most expensive Kling in the pack apart from the reference model. A 10-second clip is 324 credits, about 32 cents. A 30-second one is 972.

How it works

The node uploads your frames (PNG, or JPEG if a frame exceeds the 10 MiB ceiling), takes a price quote, submits the task, polls it - printing queue state and elapsed time on the node - then downloads the MP4 and returns it as a VIDEO. Kuaishou renders at 1080p, and the node's description warns it "may queue when busy", which is your clue that a long Queued state is normal rather than a hang.

Inputs that matter

image_url - the opening frame. One image; if you connect a batch only the first is used.

keyframe_image_urls - the special one. An autogrow socket group: connect one image and a second socket appears, up to eight. Order is the order you connect them, and the clip visits each one between the opening and closing frame.

last_image_url - an optional closing frame. Combine it with keyframes and you're effectively animating a shot list.

prompt - the tooltip calls this optional, and it means it: describe what happens after the opening frame, the action, the camera, and the sound. With keyframes wired, keep the prompt about motion and lens, not staging - the frames are the staging.

aspect_ratio - auto (follows the opening frame) or a fixed 16:9, 9:16, 1:1, 21:9. auto is right unless you're deliberately re-framing.

resolution - 720p or 1080p; 1080p costs more per second.

duration_seconds - 3 to 30, whole seconds, billed per second.

Outputs

video (VIDEO) and task id (STRING). Video into Save Video or into another PopNow node; the id into your notes for 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 via Settings > PopNow or POPNOW_API_KEY, restart again so the node list comes from your account's catalog. ComfyUI Manager users can search PopNow and install from there. Nothing else gets installed - no models, no pip packages. Remove custom_nodes/popnow_api.py if you used the old single-file node.

Getting keyframes right, and what goes wrong

Keyframes are a consistency problem disguised as a convenience. If your eight in-between images have different lighting, different lenses or a slightly different face, the clip will dutifully travel through all of them and look like a slideshow with motion blur between. Generate the frames from one render, or from one character reference, so only the pose changes.

Budget matters more here than anywhere else in the pack because 30 seconds is a real option. At 32.4 cr/s, one 30-second take is nearly a thousand credits. Set Settings > PopNow > Max credits per run before your first run, and iterate at 720p/5 seconds until the motion is right.

If a run sits at Queued for minutes, that's the model's queue, not your machine. Interrupting doesn't cancel the job - it keeps going on PopNow, gets charged if it succeeds, and shows up in the API console. You can pick the result up there, or just wait next time.

Codes: 40201 for an empty wallet, 401 for a bad key, 40004 for a settings combination that can't be served, content_rejected for a refusal (refunded). Video inputs elsewhere in the pack cap at 90 MiB; here your stills cap at 10 MiB each as uploads, so keep the keyframes sane.

CategoryPopNow/Video/Kuaishou

Inputs (7)

NameTypeDefaultDescription
promptSTRINGOptional: describe what happens after the opening frame - the action, the camera and the sound.
image_urlIMAGEOpening frame (JPEG or PNG). The clip starts from this image.
aspect_ratioCOMBOautoOutput aspect ratio; auto follows the opening frame.
resolutionCOMBO720pOutput resolution. 1080p costs more per second.
duration_secondsINT53–30Output length in whole seconds, from 3 to 30. Billed per second.
last_image_urloptIMAGEOptional closing frame the clip should end on.
keyframe_image_urlsoptCOMFY_AUTOGROW_V3Optional in-between frames, in the order they should appear: up to 9, or up to 8 when you also send a closing frame. The clip passes through each one between the opening and the closing frame.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe PopNow task id, for the API console logs or support.