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

πŸ”± Gemini Makeup

It looks at a face and lists the makeup. That's the whole node.

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

    Gemini Makeup is the most honest node in the Artha pack: it does exactly one thing, it's image-only, and its job is to look at a face and describe the makeup on it. No dropdowns, no randomize, no manual mode - the entire input list is the standard API cluster plus an image. Point it at a photo of a model with a full glam look and Gemini Vision walks the face region by region - complexion, cheeks, eyes, eyebrows, lips - and returns a structured breakdown of what's applied: the base finish, whether the blush is peachy-pink on the apples of the cheeks, smoky shadow in the crease, lashes volumizing or lengthening, lip liner overdrawing the cupid's bow. If you've ever tried to write "natural glam with soft contouring" in a prompt and watched the model ignore you, this is the antidote: you get the exact language of what's on the face.

    It's from the πŸ”± Artha-Gemini pack (Cyrostar, category Artha/LLM/GEMINI), and it's a character-building block. Its makeup output (type ARTHAMAKEUP) feeds the makeup optional input on Gemini Portrait, which merges it with the face, body, form and cloth specs into one character description. The makeup agent's instructions are the richest of the character agents - it doesn't just list products, it describes technique, placement and finish, and it leaves a blank line between entries to keep the list readable for the LLM downstream.

    The inputs that matter

    There are only five, and three of them are the standard cluster:

    • image - the one you actually work with. It's a file dropdown with an upload widget (drag a photo into it), not an IMAGE tensor socket. This node does nothing without a picture.
    • api_key, model (gemini-2.5-flash), max_tokens, temperature - the usual Gemini settings.

    There's no use_image toggle because the node is always in image mode. Every run is a Gemini API call - this node can't run offline, so it always needs a key and it always spends tokens.

    Install & gotchas

    Same pack as all the other πŸ”± nodes - install once:

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

    Restart ComfyUI, or install via ComfyUI Manager by searching "Artha-Gemini". Dependencies are light (google-genai, Pillow, numpy, torch, soundfile) and there are no model files to fetch - the model is Google's, served over the API.

    The gotchas are mostly the pack's shared ones. You need a Gemini API key from Google AI Studio - and since Makeup never runs offline, that's non-negotiable here. Keep the key out of the api_key field if you can (it's stored in plain text in your saved workflow); the pack's api.json gemini_api_key field or a GEMINI_API_KEY env var is the cleaner spot. And remember every run bills tokens, so don't leave this node in an auto-running loop - it's a description node, run it when you need the readout, not on every queue. If the makeup extraction comes back sparser than expected, the agent is told to drop anything it can't identify, so a clean, makeup-free face genuinely returns less. Feed it a decent-resolution, front-facing photo and it does noticeably better than a tiny or angled one.

    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
    makeupARTHAMAKEUPβ€”