Nodes/comfyui-outfit/πŸ“Έ Photo Style Helper
ComfyUI Node

πŸ“Έ Photo Style Helper

Photography Terms Without the Photography Degree

By manifestationsΒ·Created about a year agoΒ·Updated 12 months agoΒ· 3
πŸ“Έ Photo Style Helper
    • positive_additions
    • negative_additions
    • preset_patch_json
    • guidance_json
    β—„genderfemaleβ–Ί
    β—„age_grouprandomβ–Ί
    β—„body_typerandomβ–Ί
    β—„outfit_vibemodernβ–Ί
    β—„photo_genreportraitβ–Ί
    β—„render_mediumphotorealisticβ–Ί
    β—„toon_shadingautoβ–Ί
    β—„outline_styleautoβ–Ί
    β—„face_proportionsnaturalβ–Ί
    β—„frame_typephotoβ–Ί
    β—„character_templatenoneβ–Ί
    β—„camera_framingwaist-upβ–Ί
    β—„lightingsoftboxβ–Ί
    β—„lens85mmβ–Ί
    β—„dofshallowβ–Ί
    β—„aspect_ratio3:2β–Ί
    β—„paletteautoβ–Ί
    β—„compositionrule of thirdsβ–Ί
    β—„qualitystudio qualityβ–Ί
    β—„description_stylerandomβ–Ί
    β—„creative_scalebalancedβ–Ί
    β—„studio_backdropWhite seamless paperβ–Ί
    β—„toon_palettevibrantβ–Ί
    β—„quality_presetbalancedβ–Ί

    The outfit nodes handle what your subject wears. Photo Style Helper (class PhotoStyleHelperNode, in πŸ‘— Outfit/Helpers) handles how the picture looks - and it's the node that keeps people who don't know a Rembrandt from a ring light from writing "nice lighting" and calling it a prompt. If you've ever stared at a prompt template that asks for lighting, lens, and depth of field and guessed, this node guesses for you, properly.

    What it does

    You pick a handful of photographic intentions from dropdowns - photo_genre (fashion, glamour, passport, street...), render_medium (photorealistic, or 2D anime / manga / cartoon / pixel art if you're off the photo path), lighting (softbox, golden hour, neon, Rembrandt...), lens (35/50/85/105mm), camera_framing (headshot to full-body), dof, composition, palette, and an outfit_vibe (modern, goth, pinup, techwear...). Then it emits four outputs you actually use:

    • positive_additions - a comma-separated prompt fragment to append to your positive prompt (e.g. fashion photography, waist-up composition, softbox lighting, 85mm lens, shallow depth of field, studio quality).
    • negative_additions - a matching negative fragment, and this is where it earns its keep. Passport mode adds tilted head, dramatic lighting, strong shadows, open mouth teeth; selfie/street adds motion blur; and any 2D medium automatically blocks photorealistic skin, skin pores, realistic skin texture, uncanny valley. That's the kind of detail people normally learn the hard way.
    • preset_patch_json - a JSON patch meant for the outfit node, steering mood/time/background to match the genre. Fashion/editorial/runway pulls in dramatic studio vibes; portrait defaults to intimate mood at golden hour; passport goes flat and neutral.
    • guidance_json - metadata plus sampler hints: quality_preset maps to steps/CFG/denoise/resolution (fast 20/4.5, balanced 30/5.5, high 40/6.5).

    How to wire it

    This node doesn't produce a final prompt on its own - it feeds the chain:

    Photo Style Helper ──preset_patch_json──> Preset Patch Applier ──merged_json──> Male/Female Outfit Inputs From JSON ──> Outfit Node
    positive_additions ──────────────────────────────────────────────────────────────────────> (append to your positive prompt)
    negative_additions ──────────────────────────────────────────────────────────────────────> (append to your negative prompt)
    

    Two honest caveats from reading the source. First, the patch sometimes sets values the outfit node's dropdowns don't officially contain (like time_of_day: studio) - the comment in the code calls this "harmless as a selector," and it mostly is, because the prompt builder just prints whatever string it's handed. Don't panic when you see an "unknown keys" warning in the console; check the output first. Second, the sampler hints are suggestions for you, not connections - the node doesn't touch your KSampler, it just tells you what the author would use. aspect_ratio also ends up folded into custom_attributes as a hint, not enforced anywhere, so set your actual canvas yourself.

    Install and gotchas

    Pack-standard install: ComfyUI Manager (search "ComfyUI Outfit Selection") or git clone https://github.com/manifestations/comfyui-outfit.git into custom_nodes/, restart. No models, no Ollama - all choices come from data/styles/photo_helper_options.json, which is a plain file you can edit to add vibes or lighting styles without touching Python. That's the node's quiet superpower: the whole thing is data-driven.

    Where people get burned: expecting the negative additions to cover everything (they're heuristics, not a comprehensive negative), and forgetting that positive_additions is a fragment - if you append it to an already-sentenced Flux-style prompt you get a comma salad. On Flux, feed it as context, not as more tags.

    CategoryπŸ‘— Outfit/Helpers

    Inputs (24)

    NameTypeDefaultDescription
    genderCOMBOfemaleTarget gender for outfit parts
    age_groupCOMBOrandomAge bracket of the subject
    body_typeCOMBOrandomBody type shaping outfit fit
    outfit_vibeCOMBOmodernOverall style vibe
    photo_genreCOMBOportraitPhotography genre template
    render_mediumCOMBOphotorealisticSwitch to 2D anime/cartoon/etc.
    toon_shadingCOMBOauto2D shading style
    outline_styleCOMBOautoLineart / outline emphasis
    face_proportionsCOMBOnaturalFace stylization level
    frame_typeCOMBOphotoOutput framing type
    character_templateCOMBOnoneCharacter sheet / turnaround presets
    camera_framingCOMBOwaist-upHow much of the subject is visible
    lightingCOMBOsoftboxLighting setup
    lensCOMBO85mmFocal length
    dofCOMBOshallowDepth of field
    aspect_ratioCOMBO3:2Canvas aspect ratio (hint)
    paletteCOMBOautoColor palette intent
    compositionCOMBOrule of thirdsComposition rule
    qualityCOMBOstudio qualityRendering quality keyword
    description_styleCOMBOrandomModel style profile
    creative_scaleCOMBObalancedCreative/detail emphasis
    studio_backdropCOMBOWhite seamless paper5 options: White seamless paper, Grey seamless paper, Fashion runway, Color gradient backdrop, Plain wall
    toon_paletteCOMBOvibrant5 options: vibrant, pastel, neon, muted, monochrome
    quality_presetCOMBObalancedSampler hints for downstream nodes

    Outputs (4)

    NameTypeDescription
    positive_additionsSTRINGβ€”
    negative_additionsSTRINGβ€”
    preset_patch_jsonSTRINGβ€”
    guidance_jsonSTRINGβ€”