Kling 2.6 · Image to Video
Your still, moving, with sound if you pay for it
- image_url
- video
- task id
Image to video is the workflow most people actually want: render a still you're happy with locally, then hand it to a video model for motion. This node is the Kling 2.6 route, at 10.35+ credits per second (about $0.10/s), and it's the first Kling in this pack where you choose whether the clip has sound.
The mechanism, briefly
Your image_url tensor gets encoded to PNG - JPEG if it's over the 10 MiB upload ceiling - uploaded to PopNow, and used as the opening frame. Everything after that is Kuaishou's model. The node quotes the run first, submits with an idempotency key so a network retry can't bill you twice, polls until the task finishes, downloads the MP4 and returns it as a VIDEO. Your machine uploads a picture and downloads a clip; that's all it does.
Inputs worth setting
image_url - the opening frame. JPEG or PNG. If you connect a batch, only the first image is used (there's a log line about it), so an image loader set to fetch four candidates won't give you four clips.
prompt - what happens after the first frame. Action, camera, and if generate_audio is on, the sounds. Don't re-describe the picture; describe the motion and the lens.
generate_audio - off by default, and audio costs more per second. That's the honest shape of it: the node badge updates as you flip it, so flip it and watch the number before you queue ten candidates.
duration_seconds - 5 or 10. Billed per second.
negative_prompt and guidance_scale - the same pair as everywhere else in this family. Keep the negative list short. The guidance dial runs 0 to 1, default 0.5; if the model keeps inventing camera moves you didn't ask for, lower it. If it's ignoring your staging, raise it toward 0.7.
Outputs
video (VIDEO) and task id (STRING). The video goes to Save Video or into a second PopNow node (an upscale, an edit, a character animation). Keep the task id in a note if you're comparing takes - it's the only handle you get on the API console side.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart, then either paste a key from popnow.ai/api/console/keys into Settings > PopNow or set POPNOW_API_KEY. Restart once more so the node list builds from your account's catalog. Manager users can just search PopNow and hit Install. Nothing else is installed - no models, no wheels, it uses only what ComfyUI ships. If an older custom_nodes/popnow_api.py is lurking, delete it.
Where it goes wrong
The most common surprise is that a good still makes a worse start frame than you'd think. Flat, frontal, softly lit images give the model nothing to animate and you get a slow push-in on a static subject. Images with visible depth cues - a foreground, a horizon, some directional light - move.
Second: an empty wallet reads as PopNow 40201. Prepaid credits, 1 credit = $0.001, no subscription behind it. Set Settings > PopNow > Max credits per run and the node refuses to hold more than that; useful when you're testing 10-second runs with audio on.
Third: a run you cancel keeps running server-side and is charged if it succeeds. ComfyUI's interrupt only stops you waiting. The result lands in the API console, and you can fetch it there instead of paying twice.
If you see a 400 naming a field, you've picked a combination the model won't accept - usually length plus something else. A 40004 is the same story in different words: change the setting it names. And if the run fails outright with content_rejected, the credits come back.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe what happens after the opening frame: the action, the camera and, with sound on, the sounds. | |
| image_url | IMAGE | Opening frame. The clip starts from this image. JPEG or PNG only. | |
| negative_prompt | STRING | What must not appear in the clip. | |
| generate_audio | BOOLEAN | false | Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs more per second. |
| duration_seconds | COMBO | 5 | Output length: 5 or 10 seconds. Billed per second. |
| guidance_scale | FLOAT | 0.500–1 | How strictly the clip follows the prompt, 0 to 1. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |