Nodes/VRGameDevGirl Video Enhancement Nodes/VRGDG Easy Multi Cycling Text Picker
ComfyUI Node

VRGDG Easy Multi Cycling Text Picker

Twenty cycling text pickers, one friendly face

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG Easy Multi Cycling Text Picker
    • combined_formatted_text
    • results_json
    • formatted_text_1
    • formatted_text_2
    • formatted_text_3
    • formatted_text_4
    • formatted_text_5
    • formatted_text_6
    • formatted_text_7
    • formatted_text_8
    • formatted_text_9
    • formatted_text_10
    • formatted_text_11
    • formatted_text_12
    • formatted_text_13
    • formatted_text_14
    • formatted_text_15
    • formatted_text_16
    • formatted_text_17
    • formatted_text_18
    • formatted_text_19
    • formatted_text_20
    picker_count0
    joiner
    preset_1Camera Motion
    items_1Slow push-in Track right Track left Dolly backward Handheld follow Over-the-shoulder push-in Slow pan right Slow pan left Tilt up Tilt down Arc around subject Orbit shot Low-angle tracking shot Crane rising move Slow zoom-in
    label_1Camera Motion
    selection_mode_1index
    two_item_template_1start with {item1} then follow with {item2}
    pick_count_11
    preset_2Custom
    items_2
    label_2
    selection_mode_2index
    two_item_template_2start with {item1} then follow with {item2}
    pick_count_21
    preset_3Custom
    items_3
    label_3
    selection_mode_3index
    two_item_template_3start with {item1} then follow with {item2}
    pick_count_31
    preset_4Custom
    items_4
    label_4
    selection_mode_4index
    two_item_template_4start with {item1} then follow with {item2}
    pick_count_41
    preset_5Custom
    items_5
    label_5
    selection_mode_5index
    two_item_template_5start with {item1} then follow with {item2}
    pick_count_51
    preset_6Custom
    items_6
    label_6
    selection_mode_6index
    two_item_template_6start with {item1} then follow with {item2}
    pick_count_61
    preset_7Custom
    items_7
    label_7
    selection_mode_7index
    two_item_template_7start with {item1} then follow with {item2}
    pick_count_71
    preset_8Custom
    items_8
    label_8
    selection_mode_8index
    two_item_template_8start with {item1} then follow with {item2}
    pick_count_81
    preset_9Custom
    items_9
    label_9
    selection_mode_9index
    two_item_template_9start with {item1} then follow with {item2}
    pick_count_91
    preset_10Custom
    items_10
    label_10
    selection_mode_10index
    two_item_template_10start with {item1} then follow with {item2}
    pick_count_101
    preset_11Custom
    items_11
    label_11
    selection_mode_11index
    two_item_template_11start with {item1} then follow with {item2}
    pick_count_111
    preset_12Custom
    items_12
    label_12
    selection_mode_12index
    two_item_template_12start with {item1} then follow with {item2}
    pick_count_121
    preset_13Custom
    items_13
    label_13
    selection_mode_13index
    two_item_template_13start with {item1} then follow with {item2}
    pick_count_131
    preset_14Custom
    items_14
    label_14
    selection_mode_14index
    two_item_template_14start with {item1} then follow with {item2}
    pick_count_141
    preset_15Custom
    items_15
    label_15
    selection_mode_15index
    two_item_template_15start with {item1} then follow with {item2}
    pick_count_151
    preset_16Custom
    items_16
    label_16
    selection_mode_16index
    two_item_template_16start with {item1} then follow with {item2}
    pick_count_161
    preset_17Custom
    items_17
    label_17
    selection_mode_17index
    two_item_template_17start with {item1} then follow with {item2}
    pick_count_171
    preset_18Custom
    items_18
    label_18
    selection_mode_18index
    two_item_template_18start with {item1} then follow with {item2}
    pick_count_181
    preset_19Custom
    items_19
    label_19
    selection_mode_19index
    two_item_template_19start with {item1} then follow with {item2}
    pick_count_191
    preset_20Custom
    items_20
    label_20
    selection_mode_20index
    two_item_template_20start with {item1} then follow with {item2}
    pick_count_201
    index_10
    seed_10
    index_20
    seed_20
    index_30
    seed_30
    index_40
    seed_40
    index_50
    seed_50
    index_60
    seed_60
    index_70
    seed_70
    index_80
    seed_80
    index_90
    seed_90
    index_100
    seed_100
    index_110
    seed_110
    index_120
    seed_120
    index_130
    seed_130
    index_140
    seed_140
    index_150
    seed_150
    index_160
    seed_160
    index_170
    seed_170
    index_180
    seed_180
    index_190
    seed_190
    index_200
    seed_200

    A music video prompt isn't one sentence - it's camera motion, subject, style, lighting, mood, and a dozen other slots, each one cycling through its own list as the scenes roll. Stack twenty individual CyclingTextPicker nodes and your graph looks like a bowl of noodles before you've generated a single frame. VRGDG Easy Multi Cycling Text Picker is the pack's answer: up to twenty independent cycling pickers packed into one node, with presets so you don't have to retype the same camera lists everywhere.

    What it actually is. Per the author's own description, it's "a friendlier UI wrapper" around the pack's multi-picker node - same picker behavior, same outputs, just a cleaner front end. Each of the 20 slots is a full picker in miniature: a preset_# dropdown (with a "Custom" option for your own label and list), items_# for the choices, label_#, selection_mode_# (index, random, random no-repeat), two_item_template_#, and pick_count_#. The first slot ships preloaded with a 15-entry camera-motion list - slow push-ins, orbits, crane moves, the works - which tells you exactly what this node is for.

    The controls that matter.

    • picker_count - how many of the 20 pickers are active. Set 0 to disable. This is the master switch; unused pickers just sit there.
    • joiner - how the active pickers' text gets glued together into one combined string: newline, blank line, comma, or pipe.
    • The per-picker preset_#/items_#/label_# trio - pick a preset or go Custom and type your own list.

    The outputs. combined_formatted_text is the headline: all active pickers joined with your chosen joiner, ready to drop into a prompt. results_json gives you the same results as structured data if another node needs to consume them. And each picker also exposes its own formatted_text_# output, so you can pull a single slot out (camera motion alone, say) when one slice of the prompt needs to go somewhere else. Keep the index values straight though - with up to 20 slots, it's easy to wire formatted_text_7 when you meant slot 3.

    Installing. This is one node in the VRGameDevGirl pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
    

    Or search vrgamedev in ComfyUI Manager and restart. The node's dynamic UI comes from a JS file in the pack, so if the preset dropdowns ever look broken, a hard refresh of the ComfyUI page (Ctrl+Shift+R) usually fixes it - that's the classic "my node has a custom widget and it's stale" gotcha.

    Where people get confused: the two-item template. If a picker has pick_count set to 2, it builds a sentence using the template ("start with {item1} then follow with {item2}") - if you set a template and keep seeing single items, check pick_count. And remember picker_count gates everything: edit slot 5 all you like, but if picker_count is 3, slot 5 never runs.

    CategoryVRGDG/General

    Inputs (162)

    NameTypeDefaultDescription
    picker_countINT00–20How many independent cycling text pickers to use. Set 0 to disable advanced prompt details.
    joinerCOMBOHow to combine the active formatted_text outputs into combined_formatted_text.
    preset_1STRINGCamera MotionPicker 1: choose a preset label/list, or Custom for your own label and editable list.
    items_1STRINGSlow push-in Track right Track left Dolly backward Handheld follow Over-the-shoulder push-in Slow pan right Slow pan left Tilt up Tilt down Arc around subject Orbit shot Low-angle tracking shot Crane rising move Slow zoom-inPicker 1: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_1STRINGCamera MotionPicker 1: optional label placed before this picker output.
    selection_mode_1STRINGindexPicker 1: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_1STRINGstart with {item1} then follow with {item2}Picker 1: sentence template used when this picker selects exactly two items.
    pick_count_1INT11–50Picker 1: how many items to select from this picker at once.
    preset_2STRINGCustomPicker 2: choose a preset label/list, or Custom for your own label and editable list.
    items_2STRINGPicker 2: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_2STRINGPicker 2: optional label placed before this picker output.
    selection_mode_2STRINGindexPicker 2: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_2STRINGstart with {item1} then follow with {item2}Picker 2: sentence template used when this picker selects exactly two items.
    pick_count_2INT11–50Picker 2: how many items to select from this picker at once.
    preset_3STRINGCustomPicker 3: choose a preset label/list, or Custom for your own label and editable list.
    items_3STRINGPicker 3: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_3STRINGPicker 3: optional label placed before this picker output.
    selection_mode_3STRINGindexPicker 3: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_3STRINGstart with {item1} then follow with {item2}Picker 3: sentence template used when this picker selects exactly two items.
    pick_count_3INT11–50Picker 3: how many items to select from this picker at once.
    preset_4STRINGCustomPicker 4: choose a preset label/list, or Custom for your own label and editable list.
    items_4STRINGPicker 4: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_4STRINGPicker 4: optional label placed before this picker output.
    selection_mode_4STRINGindexPicker 4: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_4STRINGstart with {item1} then follow with {item2}Picker 4: sentence template used when this picker selects exactly two items.
    pick_count_4INT11–50Picker 4: how many items to select from this picker at once.
    preset_5STRINGCustomPicker 5: choose a preset label/list, or Custom for your own label and editable list.
    items_5STRINGPicker 5: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_5STRINGPicker 5: optional label placed before this picker output.
    selection_mode_5STRINGindexPicker 5: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_5STRINGstart with {item1} then follow with {item2}Picker 5: sentence template used when this picker selects exactly two items.
    pick_count_5INT11–50Picker 5: how many items to select from this picker at once.
    preset_6STRINGCustomPicker 6: choose a preset label/list, or Custom for your own label and editable list.
    items_6STRINGPicker 6: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_6STRINGPicker 6: optional label placed before this picker output.
    selection_mode_6STRINGindexPicker 6: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_6STRINGstart with {item1} then follow with {item2}Picker 6: sentence template used when this picker selects exactly two items.
    pick_count_6INT11–50Picker 6: how many items to select from this picker at once.
    preset_7STRINGCustomPicker 7: choose a preset label/list, or Custom for your own label and editable list.
    items_7STRINGPicker 7: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_7STRINGPicker 7: optional label placed before this picker output.
    selection_mode_7STRINGindexPicker 7: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_7STRINGstart with {item1} then follow with {item2}Picker 7: sentence template used when this picker selects exactly two items.
    pick_count_7INT11–50Picker 7: how many items to select from this picker at once.
    preset_8STRINGCustomPicker 8: choose a preset label/list, or Custom for your own label and editable list.
    items_8STRINGPicker 8: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_8STRINGPicker 8: optional label placed before this picker output.
    selection_mode_8STRINGindexPicker 8: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_8STRINGstart with {item1} then follow with {item2}Picker 8: sentence template used when this picker selects exactly two items.
    pick_count_8INT11–50Picker 8: how many items to select from this picker at once.
    preset_9STRINGCustomPicker 9: choose a preset label/list, or Custom for your own label and editable list.
    items_9STRINGPicker 9: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_9STRINGPicker 9: optional label placed before this picker output.
    selection_mode_9STRINGindexPicker 9: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_9STRINGstart with {item1} then follow with {item2}Picker 9: sentence template used when this picker selects exactly two items.
    pick_count_9INT11–50Picker 9: how many items to select from this picker at once.
    preset_10STRINGCustomPicker 10: choose a preset label/list, or Custom for your own label and editable list.
    items_10STRINGPicker 10: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_10STRINGPicker 10: optional label placed before this picker output.
    selection_mode_10STRINGindexPicker 10: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_10STRINGstart with {item1} then follow with {item2}Picker 10: sentence template used when this picker selects exactly two items.
    pick_count_10INT11–50Picker 10: how many items to select from this picker at once.
    preset_11STRINGCustomPicker 11: choose a preset label/list, or Custom for your own label and editable list.
    items_11STRINGPicker 11: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_11STRINGPicker 11: optional label placed before this picker output.
    selection_mode_11STRINGindexPicker 11: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_11STRINGstart with {item1} then follow with {item2}Picker 11: sentence template used when this picker selects exactly two items.
    pick_count_11INT11–50Picker 11: how many items to select from this picker at once.
    preset_12STRINGCustomPicker 12: choose a preset label/list, or Custom for your own label and editable list.
    items_12STRINGPicker 12: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_12STRINGPicker 12: optional label placed before this picker output.
    selection_mode_12STRINGindexPicker 12: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_12STRINGstart with {item1} then follow with {item2}Picker 12: sentence template used when this picker selects exactly two items.
    pick_count_12INT11–50Picker 12: how many items to select from this picker at once.
    preset_13STRINGCustomPicker 13: choose a preset label/list, or Custom for your own label and editable list.
    items_13STRINGPicker 13: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_13STRINGPicker 13: optional label placed before this picker output.
    selection_mode_13STRINGindexPicker 13: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_13STRINGstart with {item1} then follow with {item2}Picker 13: sentence template used when this picker selects exactly two items.
    pick_count_13INT11–50Picker 13: how many items to select from this picker at once.
    preset_14STRINGCustomPicker 14: choose a preset label/list, or Custom for your own label and editable list.
    items_14STRINGPicker 14: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_14STRINGPicker 14: optional label placed before this picker output.
    selection_mode_14STRINGindexPicker 14: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_14STRINGstart with {item1} then follow with {item2}Picker 14: sentence template used when this picker selects exactly two items.
    pick_count_14INT11–50Picker 14: how many items to select from this picker at once.
    preset_15STRINGCustomPicker 15: choose a preset label/list, or Custom for your own label and editable list.
    items_15STRINGPicker 15: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_15STRINGPicker 15: optional label placed before this picker output.
    selection_mode_15STRINGindexPicker 15: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_15STRINGstart with {item1} then follow with {item2}Picker 15: sentence template used when this picker selects exactly two items.
    pick_count_15INT11–50Picker 15: how many items to select from this picker at once.
    preset_16STRINGCustomPicker 16: choose a preset label/list, or Custom for your own label and editable list.
    items_16STRINGPicker 16: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_16STRINGPicker 16: optional label placed before this picker output.
    selection_mode_16STRINGindexPicker 16: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_16STRINGstart with {item1} then follow with {item2}Picker 16: sentence template used when this picker selects exactly two items.
    pick_count_16INT11–50Picker 16: how many items to select from this picker at once.
    preset_17STRINGCustomPicker 17: choose a preset label/list, or Custom for your own label and editable list.
    items_17STRINGPicker 17: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_17STRINGPicker 17: optional label placed before this picker output.
    selection_mode_17STRINGindexPicker 17: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_17STRINGstart with {item1} then follow with {item2}Picker 17: sentence template used when this picker selects exactly two items.
    pick_count_17INT11–50Picker 17: how many items to select from this picker at once.
    preset_18STRINGCustomPicker 18: choose a preset label/list, or Custom for your own label and editable list.
    items_18STRINGPicker 18: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_18STRINGPicker 18: optional label placed before this picker output.
    selection_mode_18STRINGindexPicker 18: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_18STRINGstart with {item1} then follow with {item2}Picker 18: sentence template used when this picker selects exactly two items.
    pick_count_18INT11–50Picker 18: how many items to select from this picker at once.
    preset_19STRINGCustomPicker 19: choose a preset label/list, or Custom for your own label and editable list.
    items_19STRINGPicker 19: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_19STRINGPicker 19: optional label placed before this picker output.
    selection_mode_19STRINGindexPicker 19: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_19STRINGstart with {item1} then follow with {item2}Picker 19: sentence template used when this picker selects exactly two items.
    pick_count_19INT11–50Picker 19: how many items to select from this picker at once.
    preset_20STRINGCustomPicker 20: choose a preset label/list, or Custom for your own label and editable list.
    items_20STRINGPicker 20: list of text choices. Supports lines, blank-line chunks, comma, pipe, JSON/Python lists, or objects with items/values/motions.
    label_20STRINGPicker 20: optional label placed before this picker output.
    selection_mode_20STRINGindexPicker 20: choose by wrapped index, seeded random, or seeded random no-repeat.
    two_item_template_20STRINGstart with {item1} then follow with {item2}Picker 20: sentence template used when this picker selects exactly two items.
    pick_count_20INT11–50Picker 20: how many items to select from this picker at once.
    index_1optINT0-999999–999999Picker 1: step number used to choose from this picker list.
    seed_1optINT0-18446744073709550000–18446744073709550000Picker 1: seed used by random modes.
    index_2optINT0-999999–999999Picker 2: step number used to choose from this picker list.
    seed_2optINT0-18446744073709550000–18446744073709550000Picker 2: seed used by random modes.
    index_3optINT0-999999–999999Picker 3: step number used to choose from this picker list.
    seed_3optINT0-18446744073709550000–18446744073709550000Picker 3: seed used by random modes.
    index_4optINT0-999999–999999Picker 4: step number used to choose from this picker list.
    seed_4optINT0-18446744073709550000–18446744073709550000Picker 4: seed used by random modes.
    index_5optINT0-999999–999999Picker 5: step number used to choose from this picker list.
    seed_5optINT0-18446744073709550000–18446744073709550000Picker 5: seed used by random modes.
    index_6optINT0-999999–999999Picker 6: step number used to choose from this picker list.
    seed_6optINT0-18446744073709550000–18446744073709550000Picker 6: seed used by random modes.
    index_7optINT0-999999–999999Picker 7: step number used to choose from this picker list.
    seed_7optINT0-18446744073709550000–18446744073709550000Picker 7: seed used by random modes.
    index_8optINT0-999999–999999Picker 8: step number used to choose from this picker list.
    seed_8optINT0-18446744073709550000–18446744073709550000Picker 8: seed used by random modes.
    index_9optINT0-999999–999999Picker 9: step number used to choose from this picker list.
    seed_9optINT0-18446744073709550000–18446744073709550000Picker 9: seed used by random modes.
    index_10optINT0-999999–999999Picker 10: step number used to choose from this picker list.
    seed_10optINT0-18446744073709550000–18446744073709550000Picker 10: seed used by random modes.
    index_11optINT0-999999–999999Picker 11: step number used to choose from this picker list.
    seed_11optINT0-18446744073709550000–18446744073709550000Picker 11: seed used by random modes.
    index_12optINT0-999999–999999Picker 12: step number used to choose from this picker list.
    seed_12optINT0-18446744073709550000–18446744073709550000Picker 12: seed used by random modes.
    index_13optINT0-999999–999999Picker 13: step number used to choose from this picker list.
    seed_13optINT0-18446744073709550000–18446744073709550000Picker 13: seed used by random modes.
    index_14optINT0-999999–999999Picker 14: step number used to choose from this picker list.
    seed_14optINT0-18446744073709550000–18446744073709550000Picker 14: seed used by random modes.
    index_15optINT0-999999–999999Picker 15: step number used to choose from this picker list.
    seed_15optINT0-18446744073709550000–18446744073709550000Picker 15: seed used by random modes.
    index_16optINT0-999999–999999Picker 16: step number used to choose from this picker list.
    seed_16optINT0-18446744073709550000–18446744073709550000Picker 16: seed used by random modes.
    index_17optINT0-999999–999999Picker 17: step number used to choose from this picker list.
    seed_17optINT0-18446744073709550000–18446744073709550000Picker 17: seed used by random modes.
    index_18optINT0-999999–999999Picker 18: step number used to choose from this picker list.
    seed_18optINT0-18446744073709550000–18446744073709550000Picker 18: seed used by random modes.
    index_19optINT0-999999–999999Picker 19: step number used to choose from this picker list.
    seed_19optINT0-18446744073709550000–18446744073709550000Picker 19: seed used by random modes.
    index_20optINT0-999999–999999Picker 20: step number used to choose from this picker list.
    seed_20optINT0-18446744073709550000–18446744073709550000Picker 20: seed used by random modes.

    Outputs (22)

    NameTypeDescription
    combined_formatted_textSTRING
    results_jsonSTRING
    formatted_text_1STRING
    formatted_text_2STRING
    formatted_text_3STRING
    formatted_text_4STRING
    formatted_text_5STRING
    formatted_text_6STRING
    formatted_text_7STRING
    formatted_text_8STRING
    formatted_text_9STRING
    formatted_text_10STRING
    formatted_text_11STRING
    formatted_text_12STRING
    formatted_text_13STRING
    formatted_text_14STRING
    formatted_text_15STRING
    formatted_text_16STRING
    formatted_text_17STRING
    formatted_text_18STRING
    formatted_text_19STRING
    formatted_text_20STRING