Nodes/CaptionForge/ JLC CaptionForge Template Options
ComfyUI Node

 JLC CaptionForge Template Options

31 checkboxes that keep every CaptionForge caption consistent

By Damkohler·Created 3 months ago·Updated 2 months ago· 1
 JLC CaptionForge Template Options
    • template_options
    • template_options_json
    name_input__replacement_for_name
    option_01__character_name_requiredfalse
    option_02__literal_visible_details_onlyfalse
    option_03__no_roleplay_or_dialoguefalse
    option_04__no_ambiguous_wordingfalse
    option_05__avoid_meta_lead_insfalse
    option_06__describe_facial_featuresfalse
    option_07__eye_color_vs_makeupfalse
    option_08__describe_makeup_separatelyfalse
    option_09__describe_expressionfalse
    option_10__hair_color_and_stylefalse
    option_11__skin_tone_and_texturefalse
    option_12__body_shape_and_proportionsfalse
    option_13__visible_anatomy_and_coveragefalse
    option_14__stylized_material_traitsfalse
    option_15__clothing_pieces_clearlyfalse
    option_16__clothing_materials_texturesfalse
    option_17__precise_colorsfalse
    option_18__accessories_and_jewelryfalse
    option_19__pose_and_stancefalse
    option_20__hands_and_armsfalse
    option_21__framing_shot_distancefalse
    option_22__viewing_anglefalse
    option_23__background_and_settingfalse
    option_24__lightingfalse
    option_25__image_style_mediumfalse
    option_26__watermark_only_if_presentfalse
    option_27__visible_text_if_relevantfalse
    option_28__sfw_suggestive_nsfw_ratingfalse
    option_29__neutral_sensual_detailsfalse
    option_30__vulgar_wording_allowedfalse
    option_31__no_polite_euphemismsfalse

    If you've ever hand-captioned a LoRA set, you know the drill: "describe the hair, the clothing material, the pose, the lighting, the framing…" - and you know exactly how many captions you've seen that nailed the face and forgot the rest. JLC CaptionForge Template Options is the pack's answer to that: one sidecar node with 31 boolean toggles that inject consistent prompt modifiers into your Joy, Qwen, and Ollama caption witnesses.

    The point is consistency at scale. Instead of pasting the same "describe the accessories, describe the materials, avoid meta lead-ins" paragraph into three caption nodes, you flip checkboxes once here and every witness shares the same instruction envelope. The author's framing is blunt about it: this is the only source for template modifiers and the name input across the caption nodes. One place to edit, one behavior everywhere.

    How it works

    It's a config carrier, not a captioner. Each checkbox maps to a specific instruction that gets folded into the caption node's prompt when caption_template_mode is active on that node. The tooltips are the author's own wording, so they're reliable - e.g. option 02 is "describe only visible details, do not infer backstory, unseen anatomy, or hidden clothing," and option 05 kills the "this image shows…" meta lead-ins. The name_input__replacement_for_name field swaps into any template option that references {name}, which is how you get a character name threaded through a batch without retyping it.

    The toggle set reads like the community's caption checklist distilled into checkboxes: facial features, eye color vs. makeup, hair, skin tone and texture, body shape, clothing pieces, materials and textures, precise colors, accessories, pose, hands, framing, viewing angle, background, lighting, style/medium, watermarks, visible text - plus the rating options (SFW/suggestive/NSFW, neutral sensual details, vulgar wording allowed, no polite euphemisms) that matter for the uncensored end of this pack.

    Inputs and outputs

    Inputs are just the name replacement field and the 31 booleans. All of them default to off, which is the gotcha: wire this up and do nothing else, and you'll get the same generic captions as before. You have to actually switch on the details you want.

    Outputs are two: template_options (the CAPTIONFORGE_EXTRA_OPTIONS object you connect into a caption node's template_options pin) and template_options_json (the same thing as a string, if you want to inspect or log it).

    Install

    It's part of the pack, so one install serves everything:

    git clone https://github.com/Damkohler/CaptionForge.git ComfyUI/custom_nodes/CaptionForge
    

    Restart ComfyUI. No models, no extra deps - it's pure configuration plumbing.

    Common issues

    The two ways people get burned: forgetting to connect the template_options output into a caption node (nothing propagates), and forgetting that toggles are off by default. Also worth knowing: if you set custom_prompt_mode on a caption node, it takes precedence over the template path, and your carefully-built options get skipped. It's a thin node on purpose - if a feature is missing, it's because it's meant to be prompt text, not a new knob.

    CategoryCaptioning/CaptionForge

    Inputs (32)

    NameTypeDefaultDescription
    name_input__replacement_for_nameSTRINGOptional replacement for {name} in matching template options.
    option_01__character_name_requiredBOOLEANfalseCharacter name required: If there is a person or character in the image, refer to them as {name}.
    option_02__literal_visible_details_onlyBOOLEANfalseLiteral visible details only: Describe only visible details. Do not infer backstory, unseen anatomy, or hidden clothing.
    option_03__no_roleplay_or_dialogueBOOLEANfalseNo roleplay or dialogue: Do not roleplay, continue a conversation, or write dialogue. Produce a direct descriptive caption only.
    option_04__no_ambiguous_wordingBOOLEANfalseNo ambiguous wording: Use direct, specific wording and avoid ambiguous language when a visible trait can be described clearly.
    option_05__avoid_meta_lead_insBOOLEANfalseAvoid meta lead-ins: Avoid meta lead-ins such as ‘This image shows’ or ‘You are looking at’. Your response should be a direct caption.
    option_06__describe_facial_featuresBOOLEANfalseDescribe facial features: Describe visible facial features such as eye shape, eyebrows, lips, nose, and overall facial structure.
    option_07__eye_color_vs_makeupBOOLEANfalseEye color vs makeup: When visible, identify eye color and distinguish it clearly from eyeshadow, eyeliner, or other eye makeup.
    option_08__describe_makeup_separatelyBOOLEANfalseDescribe makeup separately: If makeup is visible, describe it separately from the person’s natural facial traits.
    option_09__describe_expressionBOOLEANfalseDescribe expression: Describe the visible facial expression or neutral expression if one is apparent.
    option_10__hair_color_and_styleBOOLEANfalseHair color and style: Describe hair color, length, texture, and hairstyle as clearly as possible.
    option_11__skin_tone_and_textureBOOLEANfalseSkin tone and texture: Describe visible skin tone and skin texture, including whether the skin appears smooth, glossy, matte, vinyl-like, realistic, or stylized.
    option_12__body_shape_and_proportionsBOOLEANfalseBody shape and proportions: If visible, describe overall body shape, proportions, and silhouette in a neutral descriptive way.
    option_13__visible_anatomy_and_coverageBOOLEANfalseVisible anatomy and coverage: Describe which parts of the body are visibly shown and how much of the body is covered or uncovered by clothing, without inventing hidden details.
    option_14__stylized_material_traitsBOOLEANfalseStylized/material traits: If the subject appears doll-like, figurine-like, animated, or rendered rather than photographic, describe those material or stylization traits explicitly.
    option_15__clothing_pieces_clearlyBOOLEANfalseClothing pieces clearly: Describe visible clothing pieces individually rather than referring only to the outfit as a whole.
    option_16__clothing_materials_texturesBOOLEANfalseClothing materials/textures: Describe clothing materials, finishes, and textures such as satin, leather, metallic, lace, sheer fabric, knit, or glossy surfaces when visible.
    option_17__precise_colorsBOOLEANfalsePrecise colors: Describe the colors of important visual elements such as hair, eyes, clothing, accessories, and background as precisely as possible.
    option_18__accessories_and_jewelryBOOLEANfalseAccessories and jewelry: Describe visible accessories such as jewelry, hair ornaments, gloves, belts, necklaces, earrings, or other adornments.
    option_19__pose_and_stanceBOOLEANfalsePose and stance: Describe the visible pose, stance, and overall body positioning.
    option_20__hands_and_armsBOOLEANfalseHands and arms: If visible, describe hand position, arm placement, and notable gesture details.
    option_21__framing_shot_distanceBOOLEANfalseFraming / shot distance: Mention whether the image is a close-up, medium shot, full-body shot, or another clear framing distance.
    option_22__viewing_angleBOOLEANfalseViewing angle: Describe the viewing angle or vantage point when it is visually clear, such as front view, side view, high angle, or low angle.
    option_23__background_and_settingBOOLEANfalseBackground and setting: Describe the visible background, setting, or backdrop, including whether it is plain, studio-like, natural, interior, or stylized.
    option_24__lightingBOOLEANfalseLighting: Describe the visible lighting quality, such as soft, harsh, even, dramatic, bright, dim, natural, or studio lighting.
    option_25__image_style_mediumBOOLEANfalseImage style / medium: Describe whether the image appears photographic, illustrated, 3D-rendered, painterly, anime-styled, doll-like, or otherwise stylized.
    option_26__watermark_only_if_presentBOOLEANfalseWatermark only if present: Mention visible watermarks only if one is actually present.
    option_27__visible_text_if_relevantBOOLEANfalseVisible text if relevant: Mention visible text only when it is clear and visually relevant to the image content.
    option_28__sfw_suggestive_nsfw_ratingBOOLEANfalseSFW/suggestive/NSFW rating: Include whether the image appears SFW, suggestive, or NSFW.
    option_29__neutral_sensual_detailsBOOLEANfalseNeutral sensual details: Preserve visible sensual, revealing, or body-shape details in a neutral descriptive way when they are relevant to the image.
    option_30__vulgar_wording_allowedBOOLEANfalseVulgar wording allowed: Use blunt vulgar wording when appropriate for explicit or NSFW captions, rather than over-sanitizing visible content.
    option_31__no_polite_euphemismsBOOLEANfalseNo polite euphemisms: Do not use polite euphemisms when explicit wording is requested; use direct descriptive language.

    Outputs (2)

    NameTypeDescription
    template_optionsCAPTIONFORGE_EXTRA_OPTIONS
    template_options_jsonSTRING