Nodes/Shibiko AI ComfyUI Tools/Shibiko AI - LM Studio Vision
ComfyUI Node

Shibiko AI - LM Studio Vision

A local vision model that reads your images — no API key, no cloud

By Shibiko-AI·Created 2 years ago·Updated 9 months ago· 13
Shibiko AI - LM Studio Vision
  • image
  • image_2
  • image_3
  • video_frames
  • response_text
user_promptDescribe the content of the images/video.
model_name
max_total_images8
gpu_offload1.00
context_length8192
max_image_side1024
max_tokens1024
temperature0.60
seed0
unload_afterfalse
system_promptYou are a helpful AI assistant.
base_urlhttp://localhost:1234/v1

The name is a lie in the best way: this node doesn't call any API that needs a key and it doesn't send your images anywhere. "LMS" is LM Studio, and this node is a controller for a vision-language model running locally on your own machine. Point it at an image or a video, ask a question, and it returns text - "describe the content," "what's the lighting here," "draft a prompt for this frame" - all generated locally.

That makes it the odd one out in this pack and the fiddliest to set up. Everything else here is self-contained; this one needs a second piece of software running. The trade is real, though: local VLM analysis means your images never leave the box, and the response text can be fed back into your workflow as a prompt or a caption. The implementation descends from dandancow874's LMStudio controller (credited in the README), with ComfyUI progress tracking added by the Shibiko author.

How it works

Three moving parts, all local:

  1. The lms CLI. At node setup it runs lms ls to list your downloaded models into the dropdown. Loading and unloading go through the same CLI (lms load / lms unload), so LM Studio must be installed with its CLI reachable - on Windows the node checks the standard LM Studio install paths; elsewhere it expects lms on your PATH.
  2. Image prep. Your inputs - up to three image sockets plus a video_frames socket - are collected, downsampled to max_total_images (using even frame sampling when you have more frames than that), resized so the longest side hits max_image_side, and JPEG-encoded as base64.
  3. The OpenAI-compatible API. It posts to base_url (default http://localhost:1234/v1, LM Studio's local server) as a chat-completions request with the images inline, and returns the model's text. You're effectively talking to LM Studio's built-in server over the same endpoint any OpenAI client would use.

There's even a progress bar that tells you which image is being processed, which genuinely helps on big batches.

The inputs that matter

  • user_prompt - what you're asking. Required, multiline.
  • model_name - the dropdown of models from lms ls. If it reads Error: lms ls failed, LM Studio isn't running or the CLI isn't found - that's the first thing to check.
  • max_total_images (default 8) - cap on how many frames get sent, to keep the request fast.
  • gpu_offload (0–1, default 1.0) - 1.0 means "max" GPU offload; 0 runs on CPU.
  • context_length (default 8192), max_tokens (1024), temperature (0.6), seed - standard LLM knobs.
  • unload_after - off by default; flip it on to unload the model from VRAM after each run if you're juggling a diffusion model.
  • Optional: image / image_2 / image_3, video_frames, system_prompt, base_url.

Output: response_text, a STRING - wire it into a text conditioning node, a prompt builder, or anywhere text goes.

Install and setup

Install is the usual pack story:

cd ComfyUI/custom_nodes
git clone https://github.com/Shibiko-AI/ShibikoAI-ComfyUI-Tools

Or ComfyUI Manager → "Shibiko", restart. Then you need LM Studio running with a vision-capable model loaded - LLaVA-class models are the standard choice - and the lms CLI available. Model loads can take a while (the CLI waits up to 180 seconds), so the first run isn't the time to panic. If you're tight on VRAM, set unload_after to true so the VLM isn't hogging memory while the diffusion model runs. It's the most setup of any node in this pack - but the payoff, a local model that looks at your frames and tells you what's in them, is hard to beat.

CategoryShibiko AI

Inputs (16)

NameTypeDefaultDescription
user_promptSTRINGDescribe the content of the images/video.
model_nameCOMBO1 options: Error: lms ls failed
max_total_imagesINT81–64
gpu_offloadFLOAT1.000–1
context_lengthINT8192512–32768
max_image_sideINT1024256–4096
max_tokensINT10241–32768
temperatureFLOAT0.600–2
seedINT00–18446744073709550000
unload_afterBOOLEANfalse
imageoptIMAGE
image_2optIMAGE
image_3optIMAGE
video_framesoptIMAGE
system_promptoptSTRINGYou are a helpful AI assistant.
base_urloptSTRINGhttp://localhost:1234/v1

Outputs (1)

NameTypeDescription
response_textSTRING