🧩AGSoft KSampler
A KSampler that hands back the receipt
- model
- positive
- latent_image
- negative
- sigmas
- vae
- audio_vae
- options
- latent
- images
- audio
- options
ComfyUI's stock KSampler is fine until you want to know what you actually ran. Seed, steps, CFG, sampler, scheduler, denoise - they're all sitting in widgets, but if you want them in a log, a filename, or a workflow summary, you have to wire each one out by hand. AGSoft KSampler is a drop-in KSampler that also hands you every parameter as strings and JSON. If you've ever stared at a folder of outputs wondering which settings made which image, this is the node that answers.
What you get
The sampling side is stock behavior: model, positive/negative conditioning, latent_image, seed (with control-after-generate), steps, cfg, sampler_name, scheduler, denoise - all standard, and it uses ComfyUI's own common_ksampler under the hood, so results match what you'd get from a normal sampler. The deltas are the outputs.
latent- the denoised latent, same as stock.image- a decoded image, if you connect the optionalvae. That's a genuinely useful convenience: sampler + VAE decode in one node, no separate VAE Decode needed.- Then the receipt:
seed_str,steps_str,cfg_str,sampler_str,scheduler_str,denoise_str- every parameter as a string you can splice into a filename, a text label, or a Save Image caption. params_json- the whole lot as a JSON document, ready for structured logging or auto-generated workflow notes.
The design intent is obvious from the output list: this is a node for people who treat generation as an experiment and want provenance attached. It's the difference between "I ran something" and "I ran euler_ancestral, seed 42, CFG 7.5, 28 steps."
One honest caveat
If you don't connect the VAE, the image output is a 1×1 dummy tensor - the node deliberately avoids crashing and just hands back a placeholder. So if you wire image somewhere without a VAE connected, you'll get a black pixel, not a preview. Use the latent output plus a real VAE Decode in that case, or connect the VAE.
Installing it
Pack standard: ComfyUI Manager → search comfyui-AGSoft → install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Art-xmaster/comfyui-AGSoft.git
No models, no dependencies beyond ComfyUI's core - it's a thin wrapper over the built-in sampler.
Common issues
The VAE dummy-tensor behavior above is the one that'll catch you. Other than that, it behaves exactly like a stock KSampler, so any sampler troubleshooting you already know applies. If you're comparing results against another KSampler in the same graph, remember seed still respects control-after-generate, so both nodes will change seed together when you hit queue. And for style-transfer or img2img use, denoise below 1.0 works as expected - the logging just records what you set, which is the point.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for denoising the input latent. Модель для денойзинга входного латента. | |
| positive | CONDITIONING | The conditioning describing the attributes you want to include. Условие с атрибутами, которые нужно включить. | |
| latent_image | LATENT | The latent image to denoise. Латентное изображение для денойзинга. | |
| seed | INT | 00–18446744073709550000 | The random seed used for creating the noise. Сид для генерации шума. |
| steps | INT | 201–10000 | Steps count, unless sigmas/options provide their own. Шаги, если сигмы/options не задали свои. |
| cfg | FLOAT | 1.00–100 | CFG scale. Usually 1.0 for H3. Масштаб CFG. Обычно 1.0 для H3. |
| sampler_name | COMBO | The algorithm used when sampling. Алгоритм сэмплирования. | |
| scheduler | COMBO | The scheduler controls how noise is gradually removed. Планировщик определяет, как удаляется шум. | |
| negativeopt | CONDITIONING | Optional negative conditioning. Empty conditioning is created if not connected. Опциональный негатив. Если не подключён — пустой конд. | |
| sigmasopt | SIGMAS | Optional custom sigmas. If connected, steps/scheduler are ignored. Опциональные сигмы. Если подключены, steps/scheduler игнорируются. | |
| denoiseopt | FLOAT | 1.000–1 | Denoise amount (used only when sigmas are NOT connected). Степень денойзинга (только если сигмы НЕ подключены). |
| vaeopt | VAE | Optional VAE for decoding into images/video. Опциональный VAE для декодирования в изображения/видео. | |
| audio_vaeopt | VAE | Optional Audio VAE for decoding the audio latent. Опциональный Audio VAE для декодирования аудио-латента. | |
| optionsopt | KSAMPLER_OPTIONS | Overrides from options_single/options_dual/options_lora. Dict = single override; LIST = whole series in ONE queue run (images batched). LoRA keys (lora_name, strength_model, strength_clip) patch a model clone per series item. Переопределения от options_single/options_dual/options_lora. Словарь = одно переопределение; СПИСОК = вся серия за один прогон (картинки батчем). LoRA-ключи (lora_name, strength_model, strength_clip) патчат клон модели на каждый элемент серии. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | The denoised latent (last item of the series). Деноизированный латент (последний элемент серии). |
| images | IMAGE | Decoded images/video; batched when a series runs. Декодированные изображения/видео; батчем при серии. |
| audio | AUDIO | The decoded audio (last item of the series). Декодированное аудио (последний элемент серии). |
| options | KSAMPLER_OPTIONS | Actual sampling parameters of the last run. Фактические параметры последнего прогона. |