Nodes/comfyui-fvmtools/Reality Check Probe
ComfyUI Node

Reality Check Probe

The two-output node that saves your 300-image batch

By ping1979ping·Created 7 months ago·Updated 5 days ago· 3
Reality Check Probe
    • reachable
    • models
    ◄base_urlhttp://localhost:1234/v1►
    ◄timeout5►

    This node has two inputs, two outputs, and no settings worth arguing about. It asks your LM Studio endpoint whether it's alive, and it lists the models LM Studio is offering. That's it. It's also the first thing you should drop into any graph that talks to a local model, because the failure mode it prevents is expensive: queueing a 300-image batch and finding out on image one that the server wasn't running.

    What it does

    base_url (default http://localhost:1234/v1) and timeout (default 5 seconds, because this is a question that should be answered instantly) go in. reachable (BOOLEAN) and models (STRING) come out. The models string is the practical half: copy a model id out of it and paste it into model on Reality Check or model_id on Scene Describe, instead of guessing at the name and spending twenty minutes on a 404.

    It's flagged as an output node, so it always executes even if its outputs aren't wired to anything. That's deliberate - put it on the canvas, hit Queue, read the result in the node's own display, and you've tested the endpoint without touching the rest of the graph. Output nodes always run; that's the graph-execution convention in ComfyUI, and here it's being used as a diagnostic rather than a save.

    Install

    It's part of the pack, so:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ping1979ping/comfyui-FVMtools
    

    Restart ComfyUI, or install via ComfyUI Manager by searching comfyui-fvmtools. Nothing to pip-install; the pack's requirements.txt (insightface, onnxruntime-gpu, opencv-python, numpy) belongs to the face tools. The node itself needs no model, no weights, and no GPU.

    When reachable is false

    Nine times out of ten it's the server rather than the node. In LM Studio, the local server is a separate switch - open the Developer tab and start it, then check the port it reports. The default is 1234, which is what the node expects.

    If ComfyUI runs in Docker and LM Studio is on the host, localhost inside the container is the container. Use host.docker.internal:1234 (or the host's LAN IP) instead. That one has cost people entire evenings.

    base_url must include /v1. LM Studio's OpenAI-compatible surface lives under it; pointing at the bare host and port gives you a connection that succeeds and an endpoint that isn't there, which reads like a wrong URL in the logs and is actually the right host.

    And models being non-empty does not mean the model you want is loaded. LM Studio lists what it has on disk. A model that's listed but not loaded in memory is the classic "reachable is true, Reality Check returns nothing useful" situation - load it first, or let the first call trigger the load and give the check a longer timeout than 5 seconds.

    CategoryFVM Tools/Batch

    Inputs (2)

    NameTypeDefaultDescription
    base_urlSTRINGhttp://localhost:1234/v1—
    timeoutINT51–60—

    Outputs (2)

    NameTypeDescription
    reachableBOOLEAN—
    modelsSTRING—