JLC CaptionForge Template Options
31 checkboxes that keep every CaptionForge caption consistent
- template_options
- template_options_json
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.
Inputs (32)
| Name | Type | Default | Description |
|---|---|---|---|
| name_input__replacement_for_name | STRING | Optional replacement for {name} in matching template options. | |
| option_01__character_name_required | BOOLEAN | false | Character name required: If there is a person or character in the image, refer to them as {name}. |
| option_02__literal_visible_details_only | BOOLEAN | false | Literal visible details only: Describe only visible details. Do not infer backstory, unseen anatomy, or hidden clothing. |
| option_03__no_roleplay_or_dialogue | BOOLEAN | false | No roleplay or dialogue: Do not roleplay, continue a conversation, or write dialogue. Produce a direct descriptive caption only. |
| option_04__no_ambiguous_wording | BOOLEAN | false | No ambiguous wording: Use direct, specific wording and avoid ambiguous language when a visible trait can be described clearly. |
| option_05__avoid_meta_lead_ins | BOOLEAN | false | Avoid 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_features | BOOLEAN | false | Describe facial features: Describe visible facial features such as eye shape, eyebrows, lips, nose, and overall facial structure. |
| option_07__eye_color_vs_makeup | BOOLEAN | false | Eye color vs makeup: When visible, identify eye color and distinguish it clearly from eyeshadow, eyeliner, or other eye makeup. |
| option_08__describe_makeup_separately | BOOLEAN | false | Describe makeup separately: If makeup is visible, describe it separately from the person’s natural facial traits. |
| option_09__describe_expression | BOOLEAN | false | Describe expression: Describe the visible facial expression or neutral expression if one is apparent. |
| option_10__hair_color_and_style | BOOLEAN | false | Hair color and style: Describe hair color, length, texture, and hairstyle as clearly as possible. |
| option_11__skin_tone_and_texture | BOOLEAN | false | Skin 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_proportions | BOOLEAN | false | Body shape and proportions: If visible, describe overall body shape, proportions, and silhouette in a neutral descriptive way. |
| option_13__visible_anatomy_and_coverage | BOOLEAN | false | Visible 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_traits | BOOLEAN | false | Stylized/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_clearly | BOOLEAN | false | Clothing pieces clearly: Describe visible clothing pieces individually rather than referring only to the outfit as a whole. |
| option_16__clothing_materials_textures | BOOLEAN | false | Clothing 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_colors | BOOLEAN | false | Precise colors: Describe the colors of important visual elements such as hair, eyes, clothing, accessories, and background as precisely as possible. |
| option_18__accessories_and_jewelry | BOOLEAN | false | Accessories and jewelry: Describe visible accessories such as jewelry, hair ornaments, gloves, belts, necklaces, earrings, or other adornments. |
| option_19__pose_and_stance | BOOLEAN | false | Pose and stance: Describe the visible pose, stance, and overall body positioning. |
| option_20__hands_and_arms | BOOLEAN | false | Hands and arms: If visible, describe hand position, arm placement, and notable gesture details. |
| option_21__framing_shot_distance | BOOLEAN | false | Framing / shot distance: Mention whether the image is a close-up, medium shot, full-body shot, or another clear framing distance. |
| option_22__viewing_angle | BOOLEAN | false | Viewing 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_setting | BOOLEAN | false | Background and setting: Describe the visible background, setting, or backdrop, including whether it is plain, studio-like, natural, interior, or stylized. |
| option_24__lighting | BOOLEAN | false | Lighting: Describe the visible lighting quality, such as soft, harsh, even, dramatic, bright, dim, natural, or studio lighting. |
| option_25__image_style_medium | BOOLEAN | false | Image style / medium: Describe whether the image appears photographic, illustrated, 3D-rendered, painterly, anime-styled, doll-like, or otherwise stylized. |
| option_26__watermark_only_if_present | BOOLEAN | false | Watermark only if present: Mention visible watermarks only if one is actually present. |
| option_27__visible_text_if_relevant | BOOLEAN | false | Visible text if relevant: Mention visible text only when it is clear and visually relevant to the image content. |
| option_28__sfw_suggestive_nsfw_rating | BOOLEAN | false | SFW/suggestive/NSFW rating: Include whether the image appears SFW, suggestive, or NSFW. |
| option_29__neutral_sensual_details | BOOLEAN | false | Neutral 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_allowed | BOOLEAN | false | Vulgar wording allowed: Use blunt vulgar wording when appropriate for explicit or NSFW captions, rather than over-sanitizing visible content. |
| option_31__no_polite_euphemisms | BOOLEAN | false | No polite euphemisms: Do not use polite euphemisms when explicit wording is requested; use direct descriptive language. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| template_options | CAPTIONFORGE_EXTRA_OPTIONS | — |
| template_options_json | STRING | — |