Nodes/Artha-Gemini/πŸ”± Gemini Cloth
ComfyUI Node

πŸ”± Gemini Cloth

Get an accurate clothing description without squinting at the image

By CyrostarΒ·Created about a year agoΒ·Updated about a year agoΒ· 1
πŸ”± Gemini Cloth
    • cloth
    β—„api_keyβ–Ί
    β—„modelgemini-2.5-flashβ–Ί
    β—„max_tokens5000β–Ί
    β—„temperature0.7β–Ί
    β—„imageβ–Ύβ–Ί

    Gemini Cloth is the pack's "what is this person wearing" node. Upload an image, and it returns a structured description of the subject's clothing - the jacket, the fabric, the fit, the colors - as text you can reuse in another prompt. It's the kind of node that looks trivial until you're trying to keep an outfit consistent across a character sheet and realize how much of that job is just naming what's on screen accurately.

    It belongs to the Artha-Gemini pack (the πŸ”± Gemini nodes), and it's part of the pack's character-profile cluster: Cloth, Face, Body, Form, Makeup, and Backdrop each describe one slice of a subject, and Gemini Compose stitches the results into a full character prompt. Cloth is the wardrobe department.

    How it works

    One vision call, no messing. You pick an image from the upload widget, the node sends it to Gemini with a bundled "cloth" agent and the prompt Identify the clothes and list each one. The agent is tuned to enumerate garments in detail - and critically, to list each piece rather than summarizing. The result comes back with * and # characters stripped.

    The output type is ARTHACLOTH, which is worth understanding before you use this node: it's a custom pack-internal type, not plain STRING. That means the output is designed to flow into the pack's other nodes (like Compose) rather than into arbitrary text inputs. If you just want a clothing description to paste anywhere, you'll have to bridge the type - or reach for Gemini Vision, which returns plain text you can wire anywhere.

    Inputs and outputs

    • image - an upload widget (file in ComfyUI's input directory).
    • api_key, model, max_tokens, temperature - the shared API block, gemini-2.5-flash default.

    Output: cloth (ARTHACLOTH). No prompt field, no instruction override - the agent does the talking.

    Installing it

    Via ComfyUI Manager (search Artha-Gemini) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Cyrostar/ComfyUI-Artha-Gemini
    cd ComfyUI-Artha-Gemini
    pip install -r requirements.txt
    

    No model downloads; dependencies are google-genai, Pillow, numpy, torch, and soundfile. You'll need a Gemini API key from Google AI Studio - this node always makes a live call.

    Where people get burned

    The pack's standard traps apply: keep your key in api.json (gemini_api_key) or the GEMINI_API_KEY env var instead of the plain-text workflow field, and remember every run is a billable API call.

    The node-specific trap is the typed output. If you connect cloth to a plain STRING input, ComfyUI will reject it - the ARTHACLOTH type only matches slots that expect it. Plan for it: either feed it into the pack's Compose node (which is the intended consumer) or route through a node that converts the custom type to text. Also note the upload-picker input, same as Backdrop: the image must be a file in your input directory, so save a freshly generated render before you can reference it.

    One honest limitation: this is a vision-LLM describing clothing, so it's excellent at naming recognizable garments and fabrics, but if the outfit is complex or the image is low-res, you may get approximations. Read the output before you build a whole character pipeline on it.

    CategoryArtha/LLM/GEMINI

    Inputs (5)

    NameTypeDefaultDescription
    api_keySTRINGAPI key will be visible in plain text. Consider adding your api to the api.json located inside this custom node folder.
    modelCOMBOgemini-2.5-flash5 options: gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.0-flash, gemini-2.0-flash-lite
    max_tokensINT50001–8192For Gemini models, a token is equivalent to about 4 characters. 100 tokens is equal to about 60-80 English words.
    temperatureFLOAT0.70–2A temperature of 0 means only the most likely tokens are selected, and there's no randomness. Conversely, a high temperature injects a high degree of randomness into the tokens selected by the model, leading to more unexpected, surprising model responses.
    imageCOMBO1 options: example.png

    Outputs (1)

    NameTypeDescription
    clothARTHACLOTHβ€”