Nodes/comfyui-AGSoft/🛠AGSoft KSampler options_single
ComfyUI Node

🛠AGSoft KSampler options_single

A 20-seed sweep on one queue press

By Art-xmaster·Created about a year ago·Updated about 15 hours ago· 27
🛠AGSoft KSampler options_single
    • options
    • current_str
    • status
    output_modeseries
    active_rows2
    index1
    mode
    looptrue
    _sampler_list
    _scheduler_list
    enabled_1true
    param_1steps
    value_1
    enabled_2true
    param_2steps
    value_2
    enabled_3true
    param_3steps
    value_3
    enabled_4true
    param_4steps
    value_4
    enabled_5true
    param_5steps
    value_5
    enabled_6true
    param_6steps
    value_6
    enabled_7true
    param_7steps
    value_7
    enabled_8true
    param_8steps
    value_8
    enabled_9true
    param_9steps
    value_9
    enabled_10true
    param_10steps
    value_10
    enabled_11true
    param_11steps
    value_11
    enabled_12true
    param_12steps
    value_12
    enabled_13true
    param_13steps
    value_13
    enabled_14true
    param_14steps
    value_14
    enabled_15true
    param_15steps
    value_15
    enabled_16true
    param_16steps
    value_16
    enabled_17true
    param_17steps
    value_17
    enabled_18true
    param_18steps
    value_18
    enabled_19true
    param_19steps
    value_19
    enabled_20true
    param_20steps
    value_20
    enabled_21true
    param_21steps
    value_21
    enabled_22true
    param_22steps
    value_22
    enabled_23true
    param_23steps
    value_23
    enabled_24true
    param_24steps
    value_24
    enabled_25true
    param_25steps
    value_25
    enabled_26true
    param_26steps
    value_26
    enabled_27true
    param_27steps
    value_27
    enabled_28true
    param_28steps
    value_28
    enabled_29true
    param_29steps
    value_29
    enabled_30true
    param_30steps
    value_30

    🛠AGSoft KSampler options_single is the batch-test node: a little grid of rows where each row changes one sampling parameter, and the whole list runs through 🧩AGSoft KSampler as either one long queue run or one item per run.

    Why bother? Because "which sampler/scheduler/steps is best on this new model" is a real question with a real answer, and it's not the one you had for the last architecture you downloaded. The most systematic community work on this is a 62-sampler × 16-scheduler sweep on Z-Image Turbo, roughly a thousand images, which concluded that on flow-matching models Karras and exponential schedules are the ones that fail rather than the ones that save you. You can copy someone else's table, or you can spend one evening generating your own. This node is the second option.

    How it works

    Each enabled row declares a param and a value, and the node coerces the value by type before handing it over: seed and steps become ints, cfg becomes a float, sampler and scheduler are validated against ComfyUI's own lists (a typo raises Unknown sampler 'xyz' at queue time, which is a feature), and sigmas is parsed from a comma- or newline-separated string and needs at least two numbers. Rows with an empty value are skipped, and the enabled toggle drops a row without deleting it.

    Then output_mode decides the shape of what comes out:

    • series (the default) - the node emits a list of override dicts. AGSoft KSampler sees a list and loops internally, decoding each item and concatenating the images into one batch. One press of Queue, twenty images.
    • current - it emits a single override dict, picked by a server-side counter, and you run it repeatedly. That's one item per queue run, so you need Auto-Queue or you'll be clicking. mode chooses increment or fixed-by-index, loop wraps back to the first item at the end, and the node forces itself to re-evaluate every run in increment mode so the counter actually advances.

    Your rows are also the caption source. current_str gives you one line per item in the form steps = 12, cfg = 4.5, sampler = euler - wire it into Contact Sheet and the grid tells you which image is which. status is a short human line like series: 6 items / one queue, handy on a Show Any node.

    The inputs you'll actually set

    output_mode, then per row: param_N, value_N, enabled_N. The rest - active_rows, index, mode, loop - are the series control widgets; active_rows is driven by the node's + Add / – Remove buttons and _sampler_list / _scheduler_list are hidden templates that exist so the UI can populate its dropdowns. You never type in those two.

    Thirty rows max, and outputs are options, current_str, status.

    Wire-up

    options → AGSoft KSampler's options input. Everything else stays as it was; the KSampler's own widgets are the baseline and the overrides win.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/Art-xmaster/comfyui-AGSoft
    # restart ComfyUI
    

    Or Manager → search comfyui-AGSoft. No extra downloads for this node.

    Where people get burned

    Comparing seeds instead of settings. If the point is "which sampler suits this model," the seed has to be constant across the sweep - otherwise you're comparing noise, not samplers. The KSampler's seed widget is the one in charge, so set its post-generate control to fixed (or switch the global widget control mode from After to Before, so the number you see is the number that ran). This is the single most common way a careful sweep turns into noise.

    Running 30 items in series and then wanting to stop. Series mode is one queue run; the only exit is the interrupt. Start with 6 rows, look at the contact sheet, then expand. current mode exists precisely for poking at a series one image at a time.

    A long series that restarts at item 1. In current mode the position is keyed to the row signature, so editing any value resets the counter to the start. That's usually what you want; it just looks like a bug the first time.

    Expecting the KSampler's output labels to be per-item. The KSampler's options output is the last item only - if you want the whole series logged, take current_str from this node.

    CategoryAGSoft/🧩KSampler

    Inputs (97)

    NameTypeDefaultDescription
    output_modeCOMBOseriesseries: whole series in ONE queue run (KSampler loops, images batched). current: one item per queue run (server counter, use Auto-Queue). --- series: вся серия за ОДИН прогон (KSampler крутит сам, картинки батчем). current: один элемент за прогон (серверный счётчик, нужен Auto-Queue).
    active_rowsINT21–30Internal: row count, controlled by + Add / – Remove (widget hidden). --- Служебный: число строк, управляется + Add / – Remove (виджет скрыт).
    indexINT11–30current mode: start/manual position (1-based). Ignored in series. --- current: стартовая/ручная позиция (с 1). В series игнорируется.
    modeCOMBOcurrent mode only: increment advances per queue run; fixed uses index. --- Только current: increment двигает элемент каждый прогон; fixed использует index.
    loopBOOLEANtruecurrent mode: wrap to first item at series end. --- current: переходить к первому элементу в конце серии.
    _sampler_listCOMBOInternal template: sampler list for UI dropdowns (hidden). --- Служебный шаблон: список сэмплеров для dropdown в UI (скрыт).
    _scheduler_listCOMBOInternal template: scheduler list for UI dropdowns (hidden). --- Служебный шаблон: список планировщиков для dropdown в UI (скрыт).
    enabled_1BOOLEANtrueRow 1: enable/disable this test value. Строка 1: включить/выключить это тестовое значение.
    param_1COMBOstepsRow 1: which sampling parameter this value tests. Строка 1: какой параметр семплинга тестирует значение.
    value_1STRINGRow 1: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 1: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_2BOOLEANtrueRow 2: enable/disable this test value. Строка 2: включить/выключить это тестовое значение.
    param_2COMBOstepsRow 2: which sampling parameter this value tests. Строка 2: какой параметр семплинга тестирует значение.
    value_2STRINGRow 2: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 2: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_3BOOLEANtrueRow 3: enable/disable this test value. Строка 3: включить/выключить это тестовое значение.
    param_3COMBOstepsRow 3: which sampling parameter this value tests. Строка 3: какой параметр семплинга тестирует значение.
    value_3STRINGRow 3: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 3: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_4BOOLEANtrueRow 4: enable/disable this test value. Строка 4: включить/выключить это тестовое значение.
    param_4COMBOstepsRow 4: which sampling parameter this value tests. Строка 4: какой параметр семплинга тестирует значение.
    value_4STRINGRow 4: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 4: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_5BOOLEANtrueRow 5: enable/disable this test value. Строка 5: включить/выключить это тестовое значение.
    param_5COMBOstepsRow 5: which sampling parameter this value tests. Строка 5: какой параметр семплинга тестирует значение.
    value_5STRINGRow 5: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 5: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_6BOOLEANtrueRow 6: enable/disable this test value. Строка 6: включить/выключить это тестовое значение.
    param_6COMBOstepsRow 6: which sampling parameter this value tests. Строка 6: какой параметр семплинга тестирует значение.
    value_6STRINGRow 6: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 6: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_7BOOLEANtrueRow 7: enable/disable this test value. Строка 7: включить/выключить это тестовое значение.
    param_7COMBOstepsRow 7: which sampling parameter this value tests. Строка 7: какой параметр семплинга тестирует значение.
    value_7STRINGRow 7: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 7: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_8BOOLEANtrueRow 8: enable/disable this test value. Строка 8: включить/выключить это тестовое значение.
    param_8COMBOstepsRow 8: which sampling parameter this value tests. Строка 8: какой параметр семплинга тестирует значение.
    value_8STRINGRow 8: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 8: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_9BOOLEANtrueRow 9: enable/disable this test value. Строка 9: включить/выключить это тестовое значение.
    param_9COMBOstepsRow 9: which sampling parameter this value tests. Строка 9: какой параметр семплинга тестирует значение.
    value_9STRINGRow 9: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 9: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_10BOOLEANtrueRow 10: enable/disable this test value. Строка 10: включить/выключить это тестовое значение.
    param_10COMBOstepsRow 10: which sampling parameter this value tests. Строка 10: какой параметр семплинга тестирует значение.
    value_10STRINGRow 10: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 10: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_11BOOLEANtrueRow 11: enable/disable this test value. Строка 11: включить/выключить это тестовое значение.
    param_11COMBOstepsRow 11: which sampling parameter this value tests. Строка 11: какой параметр семплинга тестирует значение.
    value_11STRINGRow 11: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 11: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_12BOOLEANtrueRow 12: enable/disable this test value. Строка 12: включить/выключить это тестовое значение.
    param_12COMBOstepsRow 12: which sampling parameter this value tests. Строка 12: какой параметр семплинга тестирует значение.
    value_12STRINGRow 12: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 12: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_13BOOLEANtrueRow 13: enable/disable this test value. Строка 13: включить/выключить это тестовое значение.
    param_13COMBOstepsRow 13: which sampling parameter this value tests. Строка 13: какой параметр семплинга тестирует значение.
    value_13STRINGRow 13: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 13: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_14BOOLEANtrueRow 14: enable/disable this test value. Строка 14: включить/выключить это тестовое значение.
    param_14COMBOstepsRow 14: which sampling parameter this value tests. Строка 14: какой параметр семплинга тестирует значение.
    value_14STRINGRow 14: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 14: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_15BOOLEANtrueRow 15: enable/disable this test value. Строка 15: включить/выключить это тестовое значение.
    param_15COMBOstepsRow 15: which sampling parameter this value tests. Строка 15: какой параметр семплинга тестирует значение.
    value_15STRINGRow 15: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 15: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_16BOOLEANtrueRow 16: enable/disable this test value. Строка 16: включить/выключить это тестовое значение.
    param_16COMBOstepsRow 16: which sampling parameter this value tests. Строка 16: какой параметр семплинга тестирует значение.
    value_16STRINGRow 16: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 16: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_17BOOLEANtrueRow 17: enable/disable this test value. Строка 17: включить/выключить это тестовое значение.
    param_17COMBOstepsRow 17: which sampling parameter this value tests. Строка 17: какой параметр семплинга тестирует значение.
    value_17STRINGRow 17: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 17: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_18BOOLEANtrueRow 18: enable/disable this test value. Строка 18: включить/выключить это тестовое значение.
    param_18COMBOstepsRow 18: which sampling parameter this value tests. Строка 18: какой параметр семплинга тестирует значение.
    value_18STRINGRow 18: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 18: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_19BOOLEANtrueRow 19: enable/disable this test value. Строка 19: включить/выключить это тестовое значение.
    param_19COMBOstepsRow 19: which sampling parameter this value tests. Строка 19: какой параметр семплинга тестирует значение.
    value_19STRINGRow 19: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 19: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_20BOOLEANtrueRow 20: enable/disable this test value. Строка 20: включить/выключить это тестовое значение.
    param_20COMBOstepsRow 20: which sampling parameter this value tests. Строка 20: какой параметр семплинга тестирует значение.
    value_20STRINGRow 20: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 20: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_21BOOLEANtrueRow 21: enable/disable this test value. Строка 21: включить/выключить это тестовое значение.
    param_21COMBOstepsRow 21: which sampling parameter this value tests. Строка 21: какой параметр семплинга тестирует значение.
    value_21STRINGRow 21: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 21: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_22BOOLEANtrueRow 22: enable/disable this test value. Строка 22: включить/выключить это тестовое значение.
    param_22COMBOstepsRow 22: which sampling parameter this value tests. Строка 22: какой параметр семплинга тестирует значение.
    value_22STRINGRow 22: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 22: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_23BOOLEANtrueRow 23: enable/disable this test value. Строка 23: включить/выключить это тестовое значение.
    param_23COMBOstepsRow 23: which sampling parameter this value tests. Строка 23: какой параметр семплинга тестирует значение.
    value_23STRINGRow 23: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 23: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_24BOOLEANtrueRow 24: enable/disable this test value. Строка 24: включить/выключить это тестовое значение.
    param_24COMBOstepsRow 24: which sampling parameter this value tests. Строка 24: какой параметр семплинга тестирует значение.
    value_24STRINGRow 24: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 24: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_25BOOLEANtrueRow 25: enable/disable this test value. Строка 25: включить/выключить это тестовое значение.
    param_25COMBOstepsRow 25: which sampling parameter this value tests. Строка 25: какой параметр семплинга тестирует значение.
    value_25STRINGRow 25: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 25: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_26BOOLEANtrueRow 26: enable/disable this test value. Строка 26: включить/выключить это тестовое значение.
    param_26COMBOstepsRow 26: which sampling parameter this value tests. Строка 26: какой параметр семплинга тестирует значение.
    value_26STRINGRow 26: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 26: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_27BOOLEANtrueRow 27: enable/disable this test value. Строка 27: включить/выключить это тестовое значение.
    param_27COMBOstepsRow 27: which sampling parameter this value tests. Строка 27: какой параметр семплинга тестирует значение.
    value_27STRINGRow 27: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 27: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_28BOOLEANtrueRow 28: enable/disable this test value. Строка 28: включить/выключить это тестовое значение.
    param_28COMBOstepsRow 28: which sampling parameter this value tests. Строка 28: какой параметр семплинга тестирует значение.
    value_28STRINGRow 28: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 28: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_29BOOLEANtrueRow 29: enable/disable this test value. Строка 29: включить/выключить это тестовое значение.
    param_29COMBOstepsRow 29: which sampling parameter this value tests. Строка 29: какой параметр семплинга тестирует значение.
    value_29STRINGRow 29: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 29: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.
    enabled_30BOOLEANtrueRow 30: enable/disable this test value. Строка 30: включить/выключить это тестовое значение.
    param_30COMBOstepsRow 30: which sampling parameter this value tests. Строка 30: какой параметр семплинга тестирует значение.
    value_30STRINGRow 30: test value (number, sampler/scheduler name or sigmas list). Edited by the UI. Строка 30: тестовое значение (число, имя sampler/scheduler или список sigmas). Редактируется через UI.

    Outputs (3)

    NameTypeDescription
    optionsKSAMPLER_OPTIONSOverride dict (current) or list of override dicts (series) for AGSoft KSampler. Словарь переопределений (current) или список словарей (series) для AGSoft KSampler.
    current_strSTRINGCurrent test value(s) as 'param = value' (one line per series item). Текущее значение(я) в виде 'param = value' (по строке на элемент серии).
    statusSTRINGProgress status. Статус прогресса.