Nodes/ComfyUI-Kling-Direct/Kling Image Recognize
ComfyUI Node

Kling Image Recognize

Ask Kling What's in the Image, Get a Description Back

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 4
Kling Image Recognize
  • auth
  • image
  • description
  • task_id

Kling Image Recognize is the pack's vision node: hand it an image, and it returns a natural-language description of what's in it, courtesy of Kling's hosted vision model. It's the captioner, the "what am I looking at?" node, and the one you'll reach for when you want an automatic description to feed back into a prompt. No prompt input, no parameters to tune - image in, description out.

The wider pattern should feel familiar if you've spent time in ComfyUI: captioning/reverse-prompting is a whole genre of local nodes (WD14 taggers, Florence2, various VLM setups) that live at the front of pipelines to turn pixels back into text. Kling Image Recognize is the hosted, no-download version of that idea - trade the local VRAM and model files for a per-call credit spend. For occasional captioning it's genuinely convenient; if you're building a high-volume auto-captioning batch, a local tagger is still the economical choice.

How it works

Two inputs only:

  • auth - the KLING_AUTH object from the Auth node.
  • image - an IMAGE tensor of whatever you want described.

It submits the image to Kling's /v1/images/recognize endpoint, polls until the description is ready, and returns:

  • description (STRING) - the natural-language description of the image.
  • task_id (STRING) - the task handle, for chaining a status check if you care.

The node is minimal by design - there's no "describe in detail / describe briefly" control, no language selector. You get what Kling's vision model gives you, one description per call.

Where it fits

  • Auto-captioning for reuse. Feed a generated image back through Recognize and you get a prompt-ready description - useful when you want to re-roll a similar image with Image Gen, or when you've got a batch of images whose prompts you lost.
  • Pre-flight for video. Recognize a reference image, then feed the resulting description into Image-to-Video as the motion prompt. It's a neat trick for getting Kling to understand a scene you're about to animate.
  • Grounding a pipeline. When a downstream node needs to know what's in a frame (for chained generations or simple QA), the description gives you something to branch on - though honestly, most people just read it and use it.

Common issues

  • Description comes back generic or flat - hosted vision models have their own voice; a complex image may come back as a high-level summary. For detailed captions you'd want a local, promptable VLM. For "tell me what's here," it's usually fine.
  • Credit cost surprises - every call is metered. If you're captioning a thousand images, that's a thousand small spends; a local tagger is the right tool at that scale.
  • Wiring description into a text box that needs a string widget - the output is a STRING, and some nodes want force-input text; if the wire won't connect, check whether the target accepts a string input.

Install

Ships in ComfyUI-Kling-Direct:

cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct

or ComfyUI Manager → search "Kling Direct" → install → restart. No models, no GPU, no extra dependencies - the vision model lives on Kling's servers. It's a small, single-purpose node, and that's fine: sometimes "describe this image" is exactly the job you need done.

CategoryKling AI/Image

Inputs (2)

NameTypeDefaultDescription
authKLING_AUTH
imageIMAGE

Outputs (2)

NameTypeDescription
descriptionSTRING
task_idSTRING