Protoface Kling 3 Turbo Pro Shot
The durations have to add up to the clip
- value_out
Multi-shot generation is how you get a storyboard out of a single paid Kling job instead of one job per beat. The catch is bookkeeping: each shot declares its own length, and the sum of those lengths has to equal the clip's total duration exactly. This helper node holds one shot - a prompt and a duration - and if your arithmetic is off, the pack rejects the request before it's submitted.
What it's for
Kling 3 Turbo's text-to-video and image-to-video nodes in this pack both expose a multi_prompt list control. Switch it to Set and you connect one Protoface Kling 3 Turbo Pro Shot helper per shot, up to six. Under the hood that list is mutually exclusive with the node's plain prompt field: you either describe one continuous shot, or you storyboard several, not both.
Like the rest of the pack's structured controls, this node is generated from the model's published schema, and its output socket type - PROTOFACE_VALUE_366d2936b8de7376 - is a digest of that schema. That's why it only connects to Kling 3 Turbo's multi_prompt and not to the identically-named-looking helpers for Kling 3.0 Pro.
The two fields
duration is a COMBO from 1 to 15 seconds, default 5. It's a plain integer list, not a free number, so you get exactly the values the API accepts. Note the range starts at 1 here - Turbo's shot durations can be a single second, which is what makes tight cutting possible.
prompt is a multiline STRING, capped at 512 characters per shot by the contract. Shorter than the main prompt field allows, and it's per shot - so the discipline is one idea per shot: "close on hands threading a cable," "wide shot, city lights bloom." Cramming a paragraph in and hoping it resolves across beats is the standard mistake.
Both fields are required here. That's a real difference from the Kling 3.0 Pro helpers, where the prompt can be omitted; Turbo wants every shot fully specified.
The constraint that catches everyone
The pack carries an explicit validation rule on Kling 3 Turbo's multi-shot requests: the sum of the shot durations must equal the node's duration control. Not "not exceed" - equal. Four shots of 3, 3, 2, 2 with duration set to 10 passes. The same four shots with duration left at its default 5 fail, even though each individual shot is legal.
That validation runs before upload and before submission, which is the good news: a miscount costs you a red node, not credits. The bad news is the error is arithmetic, not creative, so build the habit of setting the total first and distributing it across shots.
And because Kling 3 Turbo is metered per output second at around 42 credits, the total duration is the bill. A 15-second four-shot storyboard is a real line item; a 5-second two-shot test is the sensible way to find out whether the model likes your beats.
Inputs and outputs, plainly
duration(INT combo, 1–15): this shot's length.prompt(STRING, ≤512): this shot's description.value_out(typedPROTOFACE_VALUE_366d2936b8de7376): into Kling 3 Turbo'smulti_promptlist.
Not an output node, no API call, no key required.
Install
It ships with the pack:
cd ComfyUI/custom_nodes
git clone --branch v0.1.0 --depth 1 https://github.com/protoface-ai/protoface-comfyui.git protoface
python -m pip install -r protoface/requirements.txt
or via Manager: search Protoface → protoface-nodes → restart → reload the browser. ComfyUI 0.41.0+, Python 3.10+, dependencies installed with ComfyUI's own interpreter. The Kling node downstream needs an API key from the Protoface panel, lower right (PROTOFACE_API_KEY / PROTOFACE_API_KEY_FILE for servers).
Where people get stuck
Sum ≠ total. Covered above, and it is by far the most frequent failure with this node.
Six-shot ambition. The list caps at six items, and the autogrow sockets appear as you connect helpers. If you've wired seven and the seventh won't take, that's the cap, not a bug.
Grabbing the Pro helper. There are three near-identically-named "Shot" helpers in this pack. Only this one has Turbo's 1-second floor and the 512-character prompt limit; the Pro variants won't connect anyway, but the names give you no help in the Add Node search. Check the socket type on the destination list.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| duration | COMBO | 5 | The duration of this shot in seconds. |
| prompt | STRING | The prompt for this shot. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value_out | PROTOFACE_VALUE_366d2936b8de7376 | — |