LayerUtility: JoyCaption Beta One Extra Options(Advance)
JoyCaption Beta One Extra Options — steer the caption without hand-writing a prompt
- extra_option
JoyCaption Beta One's caption_type presets get you most of the way to a useful caption, but datasets have specific needs - sometimes you want camera and lighting details called out explicitly, sometimes you specifically don't want any mention of a person's demographic attributes. This node is how you get that control without writing a full custom prompt by hand: it's a big grid of boolean toggles that plug into the main captioning node's extra_options input and modify the instruction JoyCaption actually receives.
There are 28 toggles here, and they split into a few useful groups. A handful control what gets included that isn't in a caption by default: include_lighting, include_camera_angle, include_watermark, include_JPEG_artifacts, include_exif (camera/aperture/shutter details for photos), include_aesthetic_quality, include_composition_style, include_nsfw (sfw/suggestive/nsfw classification), include_character_age, include_camera_shot_type, and include_camera_vantage_height. A separate cluster controls what gets excluded: exclude_people_info (skip unchangeable traits like ethnicity or gender, but keep changeable ones like hairstyle - useful for LoRA training where you don't want the model anchoring on immutable traits), exclude_sexual, exclude_image_resolution, exclude_text, and exclude_mood_feeling. A few are style directives rather than content toggles: do_not_use_ambiguous_language, only_describe_most_important_elements, do_not_include_artist_name_or_title, use_vulgar_slang_and_profanity (exactly what it says - pushes toward blunt, casual phrasing), do_not_use_polite_euphemisms, and avoid_meta_descriptive_phrases (stops the model from writing things like "this image shows..." - worth turning on if you're feeding captions straight back into a training pipeline, since that meta phrasing is dead weight there). identify_image_orientation and mention_watermark round it out. Finally, refer_character_name plus the paired character_name field (defaults to the placeholder "Huluwa") tells JoyCaption to refer to a specific person/character by name throughout the caption instead of generic pronouns - genuinely useful for consistent character-LoRA datasets. The single output is extra_option, a bundled handle that plugs into the main JoyCaption Beta One node's optional extra_options input.
Install the pack via ComfyUI Manager (search "ComfyUI Layer Style Advance") or git clone https://github.com/chflame163/ComfyUI_LayerStyle_Advance into custom_nodes/, restart, run the requirements installer. This node has no model dependency of its own - it's pure configuration, so it carries none of the download or VRAM concerns of the model-loading nodes in this pack.
Because it's just a settings bundle, there's not much to troubleshoot here in isolation - if the resulting caption doesn't reflect the toggles you set, double-check the extra_options output is actually wired into the captioning node's input rather than left dangling, since without that connection the toggles here do nothing. Worth knowing too: filling in user_prompt on the main JoyCaption Beta One node overrides everything this node sets, so if your extra options don't seem to be having an effect, check you haven't also got custom text in user_prompt silently taking priority.
For LoRA dataset work specifically, the toggles worth reaching for first are exclude_people_info paired with refer_character_name - the combination gives you captions that keep a consistent handle on the subject without baking in traits (ethnicity, gender) you generally want the LoRA to leave alone rather than lock in as part of the character. avoid_meta_descriptive_phrases is worth turning on by default for any caption headed into a training pipeline, since "this image shows..." style openers are exactly the kind of filler that wastes token budget and adds nothing the model can use. The rest are situational - flip them on when a specific dataset needs that detail, rather than enabling everything preemptively and hoping it helps.
Inputs (28)
| Name | Type | Default | Description |
|---|---|---|---|
| refer_character_name | BOOLEAN | false | — |
| exclude_people_info | BOOLEAN | false | — |
| include_lighting | BOOLEAN | false | — |
| include_camera_angle | BOOLEAN | false | — |
| include_watermark | BOOLEAN | false | — |
| include_JPEG_artifacts | BOOLEAN | false | — |
| include_exif | BOOLEAN | false | — |
| exclude_sexual | BOOLEAN | false | — |
| exclude_image_resolution | BOOLEAN | false | — |
| include_aesthetic_quality | BOOLEAN | false | — |
| include_composition_style | BOOLEAN | false | — |
| exclude_text | BOOLEAN | false | — |
| specify_depth_field | BOOLEAN | false | — |
| specify_lighting_sources | BOOLEAN | false | — |
| do_not_use_ambiguous_language | BOOLEAN | false | — |
| include_nsfw | BOOLEAN | false | — |
| only_describe_most_important_elements | BOOLEAN | false | — |
| do_not_include_artist_name_or_title | BOOLEAN | false | — |
| identify_image_orientation | BOOLEAN | false | — |
| use_vulgar_slang_and_profanity | BOOLEAN | false | — |
| do_not_use_polite_euphemisms | BOOLEAN | false | — |
| include_character_age | BOOLEAN | false | — |
| include_camera_shot_type | BOOLEAN | false | — |
| exclude_mood_feeling | BOOLEAN | false | — |
| include_camera_vantage_height | BOOLEAN | false | — |
| mention_watermark | BOOLEAN | false | — |
| avoid_meta_descriptive_phrases | BOOLEAN | false | — |
| character_name | STRING | Huluwa | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| extra_option | JoyCaption2ExtraOption | — |