Nodes/Bawk Nodes Collection/πŸ“ Bawk Batch Processor
ComfyUI Node

πŸ“ Bawk Batch Processor

Run your whole prompt batch without babysitting ComfyUI

By juddisjuddΒ·Created about a year agoΒ·Updated 11 days agoΒ· 7
πŸ“ Bawk Batch Processor
    • prompt
    • seed
    • steps
    • guidance
    • resolution
    • batch_info
    β—„batch_fileβ–Ί
    β—„file_formatAuto-detectβ–Ί
    β—„batch_index0β–Ί
    β—„preview_onlyfalseβ–Ί
    β—„default_resolution1024x1024β–Ί
    β—„default_steps20β–Ί
    β—„default_guidance3.5β–Ί

    If you've ever sat there clicking "Queue" fifty times because you're A/B testing five prompts across ten seeds, this is the node that rescues you. Bawk Batch Processor is the automation end of the Bawk Nodes pack: it reads one row from a CSV or JSON file and hands that row's settings to the rest of your workflow. You bump batch_index, hit Queue, and the same node chain produces the next variation. It won't auto-queue itself - this isn't a scheduler - but it turns "one workflow per prompt" into "one workflow, many rows."

    How it works

    The node reads your file with Python's csv/json modules and auto-detects the format from the extension, or you can force it with file_format. batch_index (0-based) picks the row. Each row can carry prompt, seed, steps, guidance, and resolution; anything missing falls back to default_resolution, default_steps, and default_guidance. The batch_info output tells you exactly where you are ("Processing item 3/20 from prompts.csv"), which you'll appreciate when you come back after a coffee and can't remember.

    preview_only is the trick that saves you a wasted run: flip it on and the node shows the file contents instead of generating. Check your file before you commit to a 20-minute batch.

    The inputs that matter

    The CSV columns are what you actually set up, per the README:

    prompt,seed,steps,guidance,resolution
    "beautiful sunset",12345,30,3.5,"Instagram Square - 1024x1024 - 1.0MP"
    "city at night",67890,25,4.0,"FHD 16:9 - 1920x1080 - 2.1MP"
    
    • batch_file - the absolute path on the machine running ComfyUI.
    • batch_index - which row to process. Start at 0.
    • preview_only - verify before you commit.

    Wiring it in

    The pack's batch chain is Bawk Batch Processor β†’ Bawk Wildcard Encoder β†’ Bawk Sampler β†’ Bawk Image Saver. prompt feeds the encoder's prompt field, and seed/steps/guidance/resolution feed the sampler's matching sockets. Since the encoder understands {wildcard|syntax} prompt syntax, you can get combinatorial variation for free on top of your CSV rows.

    Install & gotchas

    Install comes with the pack - ComfyUI Manager β†’ search "Bawk Nodes" β†’ Install β†’ restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/juddisjudd/ComfyUI-BawkNodes.git
    

    Restart ComfyUI afterward. The pack's requirements.txt is just torch, torchvision, safetensors, numpy and requests - everything stock ComfyUI already pulls in, so there's no extra dependency dance for this node.

    Where people get burned:

    • The path is server-side. If ComfyUI runs on another machine, a C:\... path from your laptop won't resolve. The file must exist on the box running ComfyUI.
    • Column names must match exactly. Resolution instead of resolution silently falls back to the default rather than erroring.
    • batch_index past the last row returns an error string in every output - you'll see it instantly, so don't panic, just reset the index.

    That's the whole trick: it's a dumb, reliable settings-forwarder, and that's exactly what batch automation needs.

    CategoryBawkNodes/batch

    Inputs (7)

    NameTypeDefaultDescription
    batch_fileSTRINGPath to a CSV or JSON file. Columns / keys: prompt, seed, steps, guidance, resolution
    file_formatCOMBOAuto-detect3 options: Auto-detect, CSV, JSON
    batch_indexINT00–999999Row to use (0-based). Set control to 'increment' to walk through the file
    preview_onlyBOOLEANfalseReturn a text preview of the file instead of a row
    default_resolutionoptSTRING1024x1024β€”
    default_stepsoptINT201–100β€”
    default_guidanceoptFLOAT3.50–20β€”

    Outputs (6)

    NameTypeDescription
    promptSTRINGβ€”
    seedINTβ€”
    stepsINTβ€”
    guidanceFLOATβ€”
    resolutionSTRINGβ€”
    batch_infoSTRINGβ€”