π± Artha Gemini Cloth
Turn a reference photo into a clothing description
- image
- cloth
Artha Gemini Cloth does one thing: look at an image of a person and write down what they're wearing. It's the wardrobe department of the Artha character pipeline - feed it a photo, and it hands back a cloth value that Artha Gemini Portrait folds into its final character prompt. If you've got a reference image of an outfit you love and want to recreate the vibe in a generation, this is the node that bridges the gap.
Unlike the sibling Face and Body nodes, Cloth doesn't offer a picker mode with dropdowns. The image input is required, not optional, and every run is a Gemini Vision call. That makes it simple to understand and, equally, simple to burn API credits on if you're not paying attention.
What you get
The inputs are refreshingly short:
image- the required IMAGE input. Feed it a photo of the subject.api_key,model,max_tokens,temperature- the pack's standard Gemini plumbing.
Under the hood it sends the image with the prompt "Identify the clothes and list each one," guided by a built-in cloth agent prompt, and returns the result through the single cloth output (type ARTHACLOTH). The response is a plain-text description - the sort of thing Portrait can consume directly, and also readable on its own if you route it into a display node like Artha Gemini Response.
Where it fits
Portrait accepts cloth alongside face, body, form, and makeup, and merges them into one character description. The interesting workflow is reconstruction: connect a reference photo to Portrait with use_image and reconstruct on, plug in a cloth from this node, and Portrait will swap whatever it inferred from the photo for the clothing you specified. That's your "keep the person, change the shirt" move, done with prompts instead of inpaint masks.
The realistic expectations
Two things worth knowing before you rely on it.
First, the output is as good as Gemini's read of the image. It handles "red leather jacket, black jeans" beautifully; it will not reliably inventory a busy plaid pattern or a logo you care about. Treat it as a vibe extractor, not a tailor's invoice.
Second - the cost thing. This node calls the API on every execution, no toggle to skip it. A character batch generating ten variations is ten calls just for clothing. It's not ruinous, but if you're on a free-tier key or metered budget, cache the result once you like it and reuse it, rather than re-running the node in a loop.
The API plumbing is the pack standard: the node's api_key field first, then api.json in the pack folder, then the GEMINI_API_KEY environment variable. Leave the field blank and put the key in api.json so it doesn't sit in plaintext in your workflow file. If the cloth output comes back empty, look at the ComfyUI console - API failures print there and the node returns an empty string instead of raising.
Install
Same one-time install as every other π± node in this pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Cyrostar/ComfyUI-Artha-Nodes
cd ComfyUI-Artha-Nodes
pip install -r requirements.txt
Restart ComfyUI, or just let ComfyUI Manager find "Artha" and install it for you. Get your Gemini key from Google AI Studio - this node genuinely needs it, since there's no offline mode to fall back on.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| api_key | STRING | API key will be visible in plain text. Consider adding your api to the api.json located inside this custom node folder. | |
| model | COMBO | gemini-2.5-flash | 5 options: gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.0-flash, gemini-2.0-flash-lite |
| max_tokens | INT | 50001β8192 | For Gemini models, a token is equivalent to about 4 characters. 100 tokens is equal to about 60β80 English words. |
| temperature | FLOAT | 0.70β2 | A temperature of 0 means only the most likely tokens are selected. Higher values increase randomness. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| cloth | ARTHACLOTH | β |