ComfyUI Node

Image Conveyor

SequentialBatchImageLoader is just Image Conveyor wearing an old name

By xmarre·Created 5 months ago·Updated 9 days ago· 33
Image Conveyor
    • image
    • mask
    • path
    • index
    • remaining_pending
    • source_path
    • ref_image_1
    • ref_image_2
    • ref_image_3
    • ref_image_4
    • ref_image_5
    • ref_image_6
    • ref_image_7
    • ref_image_8
    • last_frame
    state_json{"version":2,"items":[],"auto_queue":false,"dont_consume":false,"catch_canvas_drops":false,"images_per_execution":1,"output_mode":"persistent_refs","reference_slots":[null,null,null,null,null,null,null,null],"active_reference_preset_id":""}
    ui_state_json{"version":2,"selected_ids":[],"source_paths":{}}
    queue_item_json

    Good news: you don't have to learn anything new here. SequentialBatchImageLoader is not a separate node - it's the same Python class as Image Conveyor, registered under two names so older workflows and muscle-memory searches still resolve. Open the node picker and you'll find it under "Image Conveyor" either way. The pack's own search aliases - "sequential image loader", "batch image loader", "image queue" - hint at why the old name existed: it described the mechanics before the author settled on the conveyor branding.

    So the behavior is identical. You drop images (or folders) onto the node, they show up as thumbnails in a visible in-graph queue, and the node hands them to your workflow one per prompt execution in queue order. Each item is tracked as pending, queued, or processed, with per-item controls to reset, force-done, or delete, plus bulk actions and manual drag-and-drop reordering. If you queue several prompt runs, the next items get reserved automatically - that's what the queue_item_json input is for, passing reservations between runs. And the optional Auto queue all pending toggle turns a single queue action into one queued prompt per remaining image.

    Outputs

    Same schema as the main node: image and mask (the loaded image plus its alpha, if any), path (the ComfyUI-side annotated input path actually loaded), index (1-based queue position), remaining_pending (how many are left after this run), and source_path (a best-effort original drop path - filename-only for absolute native paths, deliberately, so exported workflows don't leak your local directories).

    Install

    The pack is xmarre/ComfyUI-Image-Conveyor, installable from ComfyUI-Manager as "ComfyUI Image Conveyor" or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/xmarre/ComfyUI-Image-Conveyor.git
    

    Restart after cloning. There are no model downloads and the package declares zero Python dependencies - the only real requirement is a modern ComfyUI frontend, since the gallery renders through the supported custom-widget/DOMWidget path (VueNodes-compatible).

    When you'll actually see this name

    Mostly in downloaded or older workflows. Anyone who saved a graph with this node before a rename (or grabbed one from a post) will have SequentialBatchImageLoader in the JSON, and it just loads. If you're building fresh, use Image Conveyor - same node, same inputs (state_json, ui_state_json, queue_item_json are internal plumbing, not things you set by hand). One genuinely useful quirk to remember: if a run fails before the loader executes, items can stay stuck on queued, and the Clear queued action is how you release them.

    Categoryimage

    Inputs (3)

    NameTypeDefaultDescription
    state_jsonSTRING{"version":2,"items":[],"auto_queue":false,"dont_consume":false,"catch_canvas_drops":false,"images_per_execution":1,"output_mode":"persistent_refs","reference_slots":[null,null,null,null,null,null,null,null],"active_reference_preset_id":""}
    ui_state_jsonSTRING{"version":2,"selected_ids":[],"source_paths":{}}
    queue_item_jsonSTRING

    Outputs (15)

    NameTypeDescription
    imageIMAGE
    maskMASK
    pathSTRING
    indexINT
    remaining_pendingINT
    source_pathSTRING
    ref_image_1IMAGE
    ref_image_2IMAGE
    ref_image_3IMAGE
    ref_image_4IMAGE
    ref_image_5IMAGE
    ref_image_6IMAGE
    ref_image_7IMAGE
    ref_image_8IMAGE
    last_frameIMAGE