Kling O3 · Text to Video
Kling's unified model, prompt-only, with shot lists
- video
- task id
O3 is Kuaishou's unified Kling line - one model for creating, animating, referencing and editing - and this is its prompt-only face. From 10.08 credits per second, 3 to 15 seconds, up to 4K, with optional native audio and a shot-list mode. Same price as Kling 3.0 text to video, with the O3 controller on top. That's the argument for it.
How it works
The node builds a request out of your widgets, asks PopNow to quote it, submits the task (with an idempotency key, so a network retry doesn't spawn a second billed job), polls it while printing progress on the node, downloads the MP4 and hands it back as a VIDEO. Kuaishou renders on PopNow's hardware. Your machine uploads nothing and needs no GPU - this is the "closed model inside a ComfyUI graph" pattern, which is the only way to get Kling at all, since it has no open weights.
Inputs that matter
prompt - scene, action, camera, and the dialogue and sounds if audio is on. Put spoken lines in quotes. With multi-shot, write it as beats in order.
shot_type - single for one continuous take, multi to let the model split the prompt itself, customize to follow your own list.
multi_prompt - JSON text: a list of objects with prompt and duration_seconds, and the durations must sum to duration_seconds. Blank is fine (it's omitted), malformed JSON stops the run client-side.
resolution - 720p, 1080p, 4k. aspect_ratio - 16:9, 9:16, 1:1. duration_seconds - an integer 3 to 15, billed per second.
generate_audio - off by default, costs more per second when on. Off means you're dubbing or scoring later; on means the model invents voices, effects and ambience along with the picture.
Outputs
video (VIDEO) and task id (STRING). Feed Save Video, chain into another PopNow node, and keep the task id in a note if you're comparing takes - it's the lookup key for the API console.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart, then paste a key from popnow.ai/api/console/keys into Settings > PopNow, or set POPNOW_API_KEY in the environment (it takes precedence). Restart again so the node list is rebuilt from your account. Manager users: search PopNow, Install. No dependencies, no model downloads. If you had the standalone custom_nodes/popnow_api.py, delete it.
Honest talk
Between this and Kling 3.0 text to video there's no meaningful price difference, and both offer 4K and shot lists. The difference is which Kuaishou model you trust on your content - and the community has argued about exactly that, with people split on whether 3.0 was a step up or a downgrade. Render the same prompt on both, once, at 720p. That costs about ten cents and settles it for your footage instead of someone else's.
Where this node bites: 4K plus audio plus 15 seconds is the expensive corner of the configuration space, and it's easy to queue while you're still exploring a prompt. Set Settings > PopNow > Max credits per run first - runs quoted above it abort before any credits are held. That single setting has saved more money than any prompt advice.
Cancelling doesn't cancel the job. It stops you waiting; PopNow keeps generating, charges you if it succeeds, and the result lands in the console.
Error codes, quickly: 40201 empty wallet, 401 bad or revoked key, 40004 a settings combination the model won't serve, 400 naming a field (usually multi_prompt), 40310 unverified email. A content_rejected or generation_failed run is refunded - resubmitting with a tamer prompt costs time, not credits.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the scene, the action and the camera. With sound on, add dialogue in quotes and the sounds you want. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio. |
| resolution | COMBO | 720p | Output resolution. Higher tiers cost more per second. |
| generate_audio | BOOLEAN | false | Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs more per second. |
| duration_seconds | INT | 53–15 | Output length in whole seconds, from 3 to 15. Billed per second. |
| shot_type | COMBO | single | single keeps one continuous shot; multi lets the model cut the prompt into several shots on its own; customize follows the shot list you give in multi_prompt. |
| multi_prompt | STRING | Shot list for shot_type customize: one entry per shot, in order, each with its own prompt and length in seconds. The lengths must add up to duration_seconds. JSON. A list of objects with "prompt", "duration_seconds". |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |