Qwen2.5VL_api
A hosted Qwen2.5-VL call in a box — bring your own key and endpoint
- image
- STRING
Qwen2.5VL_api is the API node in Infini-AI's tiny ComfyUI-Infinigence-Nodes pack, and unlike most "API" nodes that secretly load a local model, this one really is just a POST dressed up as a node. It takes your image, base64-encodes it, and sends it with your text prompt to an OpenAI-compatible chat-completions endpoint serving Qwen2.5-VL - Alibaba's vision-language model - then hands the model's text reply back as a string. No GPU, no multi-gigabyte weight download, just a key, a URL, and an internet connection.
What's it for? The author's own test script in the source is the tell: it asks the model to look at an image (usually one with drawn-on text) and produce a polished image-to-video prompt - the kind of thing you'd feed Wan, Runway, or Kling. That's the sweet spot: you've got a frame with overlaid text and you want a VLM to describe it and translate it into a video prompt without burning a single local VRAM byte.
How it works
The node builds a standard OpenAI-style payload - messages with an image_url (as a base64 data URI) plus your text - and POSTs it to whatever url you supply. The model's reply is read out of choices[0].message.content and returned as STRING. That's the whole mechanism, which means it works against any OpenAI-compatible endpoint that serves Qwen2.5-VL: Alibaba's official DashScope compatible-mode URL, Infini-AI's own cloud.infini-ai.com/maas service, or a self-hosted proxy.
The inputs that matter
Six inputs, and really only four you touch:
- text - your instruction to the VLM (multiline). Ask for a caption, an I2V prompt, a detailed description, whatever.
- url - the endpoint. Must be OpenAI-compatible.
- api_key - your key for that endpoint. No key, no reply.
- image - the image the model sees.
- model - a dropdown with exactly one choice,
qwen2.5-vl-72b-instruct, so this is cosmetic. - temperature - 0 to 1, step 0.1, default 0.7. Lower it for more deterministic output.
- output: STRING - the model's answer. Wire it into a prompt node, a caption writer, or a text display.
Installing it
Same as its sibling node: ComfyUI Manager (search "ComfyUI-Infinigence-Nodes") or
cd ComfyUI/custom_nodes
git clone https://github.com/infinigence/ComfyUI-Infinigence-Nodes
then restart. The pack's requirements.txt lists opencv-python, torch, pillow, scikit-learn, numpy - the requests library this node actually uses isn't listed, but it's already a ComfyUI dependency, so it just works.
Where people get burned
- It sends your image and your key over the internet to whatever
urlyou type. That's the real trade-off. Point it only at an endpoint you trust - a random one-off URL means your key and your image are going to a stranger. The community's had well-publicized bad experiences with sketchy "vision" nodes; don't hand your key to one you don't recognize. - One model, no fallback. The dropdown is hardwired to the 72B instruct model. If you want the cheaper 7B or a local run, this node won't do it - look at the community's local Qwen-VL captioner packs instead.
- It needs a live network and a valid key. Offline, or with a typo'd key, you get a request error, not a graceful message. The node does no retry or JSON-parsing of structured output - you get raw text back.
- temperature is capped at 1.0. Fine for this node's use, but don't expect to push it higher if you're used to other APIs.
One honest caveat about the pack itself: it's clearly an internal tool that got published - the source even ships a hardcoded test API key in a dead __main__ block (harmless at runtime, but a code-hygiene eyebrow-raiser). It's a small, zero-footprint pack with one useful trick. If your workflow is "describe this frame and turn it into a video prompt," this node is a clean way to do it - just be deliberate about where the key goes.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| url | STRING | — | |
| api_key | STRING | — | |
| model | COMBO | qwen2.5-vl-72b-instruct | 1 options: qwen2.5-vl-72b-instruct |
| temperature | FLOAT | 0.70–1 | — |
| image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |