Nodes/ComfyUI_Textarea_Loaders/CheckPointLoader_Text
ComfyUI Node

CheckPointLoader_Text

A checkpoint loader with a text box instead of a dropdown — for when something else picks the model

By Sieyalixnet·Created 2 years ago·Updated 2 years ago· 3
CheckPointLoader_Text
    • MODEL
    • CLIP
    • VAE
    ckpt_name

    CheckPointLoader_Text is the normal Checkpoint Loader, except the model picker is gone. Instead of a dropdown listing every file in your checkpoints folder, ckpt_name is a plain multiline text box. You type the filename. That's the whole trick, and it's both less useful and much more useful than it sounds.

    For a person sitting at the keyboard, this node is strictly worse than the stock loader. The dropdown shows you what you actually have installed, protects you from typos, and autocompletes as you type. Hand-typing a model filename buys you nothing. So if that's your workflow, stop reading and use CheckpointLoaderSimple - honestly.

    The case for this node is automation. The author's own framing is that the input should be a string "instead of a file selector," and the pack pairs with his companion Chrome extension (ComfyUI-Prompt-Formatter-Extension) that edits these text widgets while you queue jobs. The README's motivating example: you've got many characters, each living in their own checkpoint, and you want to generate a batch of their pictures without re-selecting from a menu every time. With a text field, the model choice becomes data - a string a script, an API call, or an extension can write - instead of a click you have to perform manually.

    How it works

    This is a near-verbatim copy of ComfyUI's core CheckpointLoaderSimple with the widget swapped. The load_checkpoint method does folder_paths.get_full_path("checkpoints", ckpt_name) and passes the result to comfy.sd.load_checkpoint_guess_config, which is the exact same code path the stock node uses. That means it loads the same range of checkpoints - SD 1.5, SDXL, Flux, whatever guess-config can figure out from the file - and produces the same three outputs.

    One important detail: get_full_path does zero fuzzy matching. It takes your string, joins it to the checkpoint folder path, and checks if that exact file exists. No extension-guessing, no case-insensitive search. You type dreamshaper_8.safetensors; it loads. You type dreamshaper; it errors.

    The input and outputs that matter

    There's exactly one input: ckpt_name. Type the filename exactly as it appears in models/checkpoints (or any folder registered as a checkpoints path via extra_model_paths.yaml), extension included.

    Outputs are the standard triple - MODEL, CLIP, VAE - and they wire up exactly like the normal loader: MODEL into the KSampler, CLIP into CLIPTextEncode, VAE into VAEDecode. Nothing else changes in your graph; you're just swapping one widget.

    How to install

    Same as any custom node, and this one is trivially light - no requirements.txt, no model downloads, no Python dependencies beyond what ComfyUI already ships (it only calls ComfyUI's own internals plus Pillow/numpy/torch).

    • Via ComfyUI Manager: search for "ComfyUI_Textarea_Loaders" and install, then restart.
    • Or manually:
    cd ComfyUI/custom_nodes
    git clone https://github.com/Sieyalixnet/ComfyUI_Textarea_Loaders
    

    Restart ComfyUI and the node appears under TextFormatter > BasicNodes.

    Common issues

    • "Checkpoint not found" / cryptic load errors: it's almost always a typo or a missing extension. Your string has to match the filename byte-for-byte.
    • No dropdown, so no discovery: if you forget exactly what a model is called, you're checking the folder by hand. That's the price of the automation.
    • Don't fall for the automation trap: if you're not actually feeding this from outside, the text box is pure downside. The README is refreshingly honest that you can get the same effect by editing a node's attributes in the workflow JSON - this node just makes the text a first-class widget.
    CategoryTextFormatter/BasicNodes

    Inputs (1)

    NameTypeDefaultDescription
    ckpt_nameSTRING

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE