Nodes/cgem156-ComfyUI๐ŸŒ/Load Dart ๐ŸŒ
ComfyUI Node

Load Dart ๐ŸŒ

The loader for a tiny LLM that finishes your Danbooru tags for you

By laksjdjfยทCreated 2 years agoยทUpdated about a month agoยท 93
Load Dart ๐ŸŒ
    • DART_TOKENIZER
    • DART_MODEL
    โ—„tokenizerp1atdev/dart-v1-sftโ–บ
    โ—„modelp1atdev/dart-v1-sftโ–บ

    Dart isn't a diffusion model - it's a small language model trained specifically to speak Danbooru tag. You give it a handful of tags (a character, maybe a rating, a couple of general tags) and it predicts a fuller, more coherent tag list the way a completion model predicts the next word. This node is the loader: point it at a Dart checkpoint on Hugging Face and it hands you the tokenizer and model that the rest of the dart folder's nodes (DartPrompt, DartGenerate) build on.

    Why you'd want this at all

    If you prompt Illustrious, NoobAI, or Pony-family checkpoints, you already know tags beat sentences - that's what those models were trained on. The catch is that a good Danbooru prompt is often 15-30 tags deep, covering pose, clothing, camera angle, and lighting, and hand-writing all of that every time is tedious. Dart (and its sibling family, KBlueLeaf's DanTagGen/DTG) exists to solve exactly that: it was trained on real Danbooru tag co-occurrence, so it knows which tags plausibly go together and can flesh out a sparse seed into a dense, sensible prompt. Think of it as autocomplete for tag prompting, not a creative writer.

    Inputs and outputs

    Just two fields, both plain strings rather than dropdowns:

    • tokenizer - a Hugging Face repo id, defaulting to p1atdev/dart-v1-sft.
    • model - same default, same idea.

    Because these are free-text fields rather than a combo box, you're not locked to the one checkpoint - any Dart-format-compatible model on Hugging Face will work if you type its repo id in. Outputs are DART_TOKENIZER and DART_MODEL, two custom types that only this pack's other Dart nodes understand - wire both into DartGenerate.

    Installing it

    ComfyUI Manager: search "cgem156-ComfyUI". Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/laksjdjf/cgem156-ComfyUI
    

    Restart ComfyUI afterward. There's no separate model file to hunt down and drop in a folder - this node downloads the tokenizer and weights from Hugging Face the first time you run it, using whatever repo id you left in the fields (the default p1atdev/dart-v1-sft works out of the box). That means your first queue on this node needs a working internet connection and a bit of patience while it fetches and caches the weights; after that it loads from the local Hugging Face cache like any other model.

    Common issues

    The failure modes here are the boring, honest kind: no internet access on first run means the download silently stalls or errors depending on your setup, since there's no bundled weight to fall back on. A typo in the repo id (or a private/gated repo you don't have access to) fails the same way any bad Hugging Face id would - check the string carefully before assuming the node is broken. And because tokenizer and model are independent fields, it's easy to accidentally leave one pointed at a different repo than the other after copy-pasting a workflow; if generation output looks garbled, check that both fields actually agree on the same checkpoint family.

    Once loaded, this node alone doesn't generate anything - it just hands off DART_TOKENIZER and DART_MODEL to DartGenerate, which is where the actual tag prediction happens.

    Categorycgem156 ๐ŸŒ/dart

    Inputs (2)

    NameTypeDefaultDescription
    tokenizerSTRINGp1atdev/dart-v1-sftโ€”
    modelSTRINGp1atdev/dart-v1-sftโ€”

    Outputs (2)

    NameTypeDescription
    DART_TOKENIZERDART_TOKENIZERโ€”
    DART_MODELDART_MODELโ€”