Nodes/ComfyUI Model Toolkit/🔍 Model Inspector
ComfyUI Node

🔍 Model Inspector

You have a 6.5 GB file called final_v8. Here's how to find out what's actually in it

By StarAsh042·Created 2 years ago·Updated 20 days ago· 2
🔍 Model Inspector
      ◄model_dircheckpoints►
      ◄model_name▾►

      You downloaded cyberRealism_v8Final_bf16.safetensors. It's six and a half gigs. The CivitAI page is gone from your history, the filename lies about the version, and ComfyUI will load it either way - it just won't tell you whether that's an SD1.5 finetune needing a VAE, an SDXL merge with one baked in, or something the sampler is about to mangle.

      That's the gap 🔍 Model Inspector fills. It isn't a loader and it isn't a previewer - it's a way to open a checkpoint up and read what the filename was supposed to tell you.

      Why you'd want this at all

      Model folders sprawl. Two years in you have forty checkpoints and no memory of which base each is on, which are fp16 versus bf16, which quietly ship an SDXL VAE inside. It gets worse each generation: a 2026 workflow splits a model into separate files - diffusion weights, text encoder, VAE - so half your models/ tree is a fragment rather than a model.

      The inspector answers the boring questions fast: what architecture is this, how many parameters, where do they live, what precision, is the VAE baked in, does this look truncated. Not glamorous. But those are the answers that decide whether a workflow will work.

      How it works: it reads the header, not the weights

      For .safetensors, the node reads only the file header - the 8-byte length prefix and the JSON dictionary of key names, shapes and dtypes. No weights come off disk, so analysis is near-instant with effectively zero RAM cost, even on a 12 GB Flux file. .ckpt and .pt get no shortcut: those go through a full torch.load with weights_only=True, so expect the old-fashioned wait and memory spike.

      Then it recognises the architecture. The pack bundles ten templates borrowed from sd-mecha (MIT), and six of them - the SD1.x and SDXL layouts - actually vote: if a template accounts for 95% or more of the keys, each key's component membership is decided by that template instead of guessed from prefixes. Flux and SD3 templates ship but don't vote yet; SD2.x falls back to prefix rules.

      What I respect: it refuses to hand you a confidently wrong number. MMDiT, cascade and video models get a warning that the three-component breakdown doesn't apply, instead of a plausible CLIP count that quietly omits T5.

      The two inputs, and the missing output

      Both widgets are dropdowns. model_dir picks the folder under ComfyUI/models/ to look in, defaulting to checkpoints - a real disk scan, not ComfyUI's registered-loader list, which is why it offers folders no loader node offers (ipadapter, onnx) and why there's no "everything" option. model_name picks the file, strictly limited to that folder; the list filters in the browser as you change model_dir, so checkpoints files never bleed into a diffusion_models view.

      Outputs: none. Since 2.0.0 the node returns an empty tuple on purpose. It's an output node, so you can queue it to validate the path and prewarm the report cache, but there's nothing to wire and nothing appears in the preview.

      The actual result is the Open Interactive Report button: it rebuilds the report and opens /model_toolkit/report?dir=…&model=… in a new tab. You don't need to queue anything, which surprises people. Inside: an overview with parameter reconciliation, a self-drawn SVG U-Net diagram of your model's real blocks (stages, skip connections, resolutions, channel counts, click through for shapes), a filterable key browser, precision/metadata/raw-JSON tabs, and CSV/Markdown/JSON export. All rendered locally in the browser - no CDN, no matplotlib.

      Install

      ComfyUI Manager, search ComfyUI Model Toolkit - the repo publishes to the Comfy Registry, so it should be listed. Otherwise:

      cd ComfyUI/custom_nodes
      git clone https://github.com/StarAsh042/ComfyUI_model_toolkit.git
      pip install -r ComfyUI_model_toolkit/requirements.txt
      

      Then restart. That pip step installs safetensors>=0.3.0 and pyyaml>=5.4.0 and nothing else - torch is deliberately undeclared, because declaring it lets Manager's resolution reinstall or downgrade your host torch. The restart isn't optional: the routes and the frontend extension register at startup.

      Where people get burned

      Upgrading into 2.0.0. It's a breaking release. The Analysis Report (STRING) and Visualization Chart (IMAGE) outputs are gone, so every wire into a ShowText or SaveImage is now dangling, and show_details / show_charts were deleted. Old widget arrays migrate automatically; the outputs don't come back. Re-add the node.

      The report button is greyed out, or /model_toolkit/report 404s. Same root cause. The frontend probes the route when the node is created; if that fails, the route never registered - usually a stale process that didn't really restart, occasionally another pack throwing during load. Check the startup console before blaming the node.

      An empty model_name list. The dropdown reflects what's physically under models/<dir>. Checkpoints on another drive via extra_model_paths.yaml appear only when that folder name is registered; unregistered directories are scanned under models/ and nowhere else.

      Categorymodel_toolkit/Analysis

      Inputs (2)

      NameTypeDefaultDescription
      model_dirCOMBOcheckpoints27 options: checkpoints, audio_encoders, background_removal, clip, clip_vision, configs, +21
      model_nameCOMBO0 options:

      Outputs (0)

      No outputs