Nodes/ComfyUI_Auto_Caption/Extra Options Set
ComfyUI Node

Extra Options Set

Extra Options Set tells Auto Caption 2 what to describe

By the-hexer·Created 2 years ago·Updated 10 months ago· 19
Extra Options Set
    • ExtraOptionsSet
    enable_extra_optionstrue
    replace_character_namesfalse
    exclude_unchangeable_attributesfalse
    include_lighting_detailsfalse
    include_camera_anglefalse
    mention_watermark_presencefalse
    note_jpeg_artifactsfalse
    include_exif_datafalse
    exclude_sexual_contentfalse
    exclude_image_resolutionfalse
    describe_aesthetic_qualityfalse
    include_composition_stylefalse
    exclude_text_elementsfalse
    specify_depth_of_fieldfalse
    specify_lighting_sourcesfalse
    avoid_ambiguous_languagefalse
    classify_image_as_sfw_nsfwfalse
    describe_key_elements_onlyfalse
    character_name

    Out of the box, Auto Caption 2 writes a generic caption, and for LoRA training that's usually not what you want. Extra Options Set is the fix - and it's worth knowing that it's not a captioner at all. It never touches a model or an image. It's a switchboard of booleans that turns Auto Caption 2's output into something aimed at your specific job: keep the NSFW stuff out, force camera angle and lighting detail, make the model refer to your character by name.

    It earns its keep because captioning is the highest-leverage thing in the LoRA recipe - the community rule is "caption what you want to remain variable, leave what should be fixed undescribed." This node is how you nudge a generic VLM caption toward that rule without hand-editing every line.

    How it works

    The node loads a JSON file that ships with the pack (lib/extra_option.json). Each entry maps a friendly option name to a single instruction sentence - include_lighting_details becomes "Include information about lighting." When you flip a toggle on, that sentence gets collected; at run time the node joins all enabled sentences into one string and returns it. Auto Caption 2 then tacks that string onto the caption prompt it builds. It's prompt engineering, mechanized, and it's exactly the "extra options" feature from the original fancyfeast Joy Caption demo, exposed as a node.

    The inputs that matter

    The full list is 17 booleans plus a text field, but a beginner really touches these:

    • enable_extra_options - the master switch. Off means the node returns an empty string and does nothing.
    • replace_character_names with character_name - the pair you actually want for a character LoRA. With both set, the model is told to refer to the person in the image as your character_name (a trigger word or character name). character_name does nothing on its own; you must also flip the replace toggle.
    • exclude_sexual_content / classify_image_as_sfw_nsfw - the content-filter knobs, if your dataset (or your use) needs them.
    • The rest are self-explanatory flavor switches: include_lighting_details, include_camera_angle, specify_depth_of_field, include_composition_style, exclude_text_elements, mention_watermark_presence, and friends. Flip them on, get that detail in the captions.

    Output and wiring

    The single output, ExtraOptionsSet, is a plain STRING. Wire it into Auto Caption 2's optional ExtraOptionsSet input (the slot is force-input, so it shows up as a connection point). Forget that wire and the whole node is a no-op - that's the classic "why is nothing happening" moment.

    Install

    It ships inside the ComfyUI_Auto_Caption pack, so:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Cyber-BlackCat/ComfyUI_Auto_Caption
    

    or install via ComfyUI Manager (search "ComfyUI_Auto_Caption"), then restart. Note this node itself loads nothing - no LLM, no VRAM - but it lives in a pack whose other nodes absolutely do, so the pack's model setup (see the Auto Caption articles) still applies if you want the captioners to run.

    Gotchas

    Because the option list is read from extra_option.json at widget-build time, if that file is missing or mangled you'll get a node with no toggles - reinstall the pack to restore it. And one honest warning: more toggles doesn't mean better captions. Piling on ten instructions makes the 8B model try to obey all of them and usually waters everything down. Pick the two or three that match your training goal.

    CategoryAuto Caption

    Inputs (19)

    NameTypeDefaultDescription
    enable_extra_optionsBOOLEANtrue
    replace_character_namesBOOLEANfalse
    exclude_unchangeable_attributesBOOLEANfalse
    include_lighting_detailsBOOLEANfalse
    include_camera_angleBOOLEANfalse
    mention_watermark_presenceBOOLEANfalse
    note_jpeg_artifactsBOOLEANfalse
    include_exif_dataBOOLEANfalse
    exclude_sexual_contentBOOLEANfalse
    exclude_image_resolutionBOOLEANfalse
    describe_aesthetic_qualityBOOLEANfalse
    include_composition_styleBOOLEANfalse
    exclude_text_elementsBOOLEANfalse
    specify_depth_of_fieldBOOLEANfalse
    specify_lighting_sourcesBOOLEANfalse
    avoid_ambiguous_languageBOOLEANfalse
    classify_image_as_sfw_nsfwBOOLEANfalse
    describe_key_elements_onlyBOOLEANfalse
    character_nameSTRING

    Outputs (1)

    NameTypeDescription
    ExtraOptionsSetSTRING