Kling Subject Angles
One Frontal Photo In, a Turnaround Sheet Out
- auth
- frontal_image
- images
- url
- task_id
Kling Subject Angles is a one-input node that does one thing: give it a frontal picture of a subject and it comes back with that subject seen from other angles. No prompt, no aspect ratio, no settings. Just auth and frontal_image.
That sounds like a novelty until you remember what this is actually for. Locally, the bottleneck for character work is data - you have three usable photos of a face and you want a fifteenth. People already abuse InstantID and PuLID this way, not for final renders but to mint the extra references that feed a LoRA training set. Subject Angles is the hosted version of that move, and it's a genuinely good reason to spend credits.
How it works
The node sends the frontal image to Kling's ai-multi-shot endpoint (Kling calls this subject completion) and polls until the task returns. When it does, it walks the response for url_1, url_2 and url_3 across the returned entries, downloads each one, and concatenates them into a single image batch. So expect a handful of new views - the fields it reads suggest up to three per task - arriving as one images output you can feed straight into Save Image or a dataset-writing branch.
Two implementation details worth knowing before you build around it. First, this node throws an explicit exception if the task finishes without any usable image URLs, rather than handing you an empty batch - good, but it means a service-side wobble looks like a hard workflow failure. Second, and more important: this runs on Kling's multi-shot endpoint, which is the same family the pack's README flags as legacy - it notes the old Multi-Shot node's endpoint is no longer in the current Kling API reference and tells you to use Subject Angles instead. That's the current advice, but it means this node is sitting on the edge of Kling's live API surface. If the images come back with no URLs after a service update, look here first.
Inputs and outputs
There is exactly one required input, auth, from the Kling AI Authentication node, and exactly one image input, frontal_image. The tooltip keeps it plain: "Frontal image of the subject." Pose matters more than resolution - a three-quarter turn or a tilted-down phone shot gives it less to extrapolate from.
Outputs are images (the batch of new angles), url (a single string - the first URL; the rest are only reachable through the batch), and task_id. The URLs expire, so save the batch. If you're building a training set, run images into a save node with a clear prefix and name the files after the subject, not the timestamp.
Install
Standard for this pack. ComfyUI Manager → search "Kling Direct" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct
Nothing heavy. No model weights, no extra pip packages - the pack runs on stdlib plus things ComfyUI already ships (requests, Pillow, numpy, torch, opencv-python). The only "dependency" is a Kling developer account at https://kling.ai/dev, which needs KYC activation before it'll hand you an access key and secret key. Paste those into Kling AI Authentication, wire the auth output here, and if you're not on the default Singapore endpoint add a Kling Region Selector in between.
Should you use it
For dataset expansion and turnaround sheets, yes - it's a small, honest utility and the cheapest way to turn one good reference into several. For character consistency in a final render, no; you want the output to look like the same person, and a generative model inventing three-quarter views from one frontal shot will invent a slightly different nose eventually. Use these outputs as references, not as keepsakes.
One warning specific to this workflow: if your subject is a real identifiable person, you are uploading their face to a hosted service to generate new angles of them. That's true of every node in this pack, but it lands differently when the whole point of the node is producing more images of someone.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| auth | KLING_AUTH | — | |
| frontal_image | IMAGE | Frontal image of the subject. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| url | STRING | — |
| task_id | STRING | — |