Nodes/comfyui-rapidfire/Immature Image Data Loader
ComfyUI Node

Immature Image Data Loader

Replaying Yesterday's Runs, One at a Time

By Zeks·Created 2 years ago·Updated 9 months ago· 3
Immature Image Data Loader
    • seed
    • width
    • height
    • prompt
    index0
    date
    subfolderlatent

    This is the reader half of the rapidfire data loop, and it's the most unusual node in the pack. CSV Writer logs runs to a JSONL file; Immature Image Data Loader reads that log back and, on every execution, returns the next logged run's seed, width, height, and prompt. Think of it as a tape deck for your generation history: queue a batch, and each queue run plays back one more entry.

    That design is what makes it powerful and what makes it confusing. Because it's stateful - it remembers where it is in the list - it doesn't behave like the stateless nodes you're used to. It's built for the "iterate on a batch" workflow where you generate a pile of candidates, then want to re-enter them one by one to review, re-roll, or continue them.

    How it works

    On each execution it loads the day's data.jsonl (written by CSV Writer) plus the list of .png files in output/rapidfire/<date>/<subfolder>/, matches seeds that exist in both, and sorts them. It then returns the entry at its internal counter position and advances the counter. The index input is effectively ignored except for one rule: a negative index resets the counter to 0, letting you restart the tape from the beginning.

    When it runs out of entries, it raises an exception that stops the queue - intentionally. That's the "batch done" signal: the workflow errors out with a clear message rather than silently looping. That's also why this node has a learning curve; a normal ComfyUI node never stops the queue on purpose.

    The date input defaults to today; blank means "today," a YYYY-MM-DD string pins a specific day. subfolder (default latent) points at which image subfolder to match against.

    What you set

    • index - leave 0 for normal playback; set negative to reset the counter.
    • date - today by default, or any YYYY-MM-DD.
    • subfolder - the image subfolder to pair with the JSONL (default latent).

    Outputs: seed (INT), width (INT), height (INT), and prompt (STRING) - wire these into your sampler, Empty Latent, and text encoder to replay the run.

    Install and gotchas

    Part of comfyui-rapidfire, no extra dependencies. Install via ComfyUI Manager (search "comfyui-rapidfire") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Zeks/comfyui-rapidfire
    

    then restart ComfyUI.

    Where people get burned: the loader only replays seeds that have both an image file and a JSONL entry, so if you logged runs but never saved images into the expected subfolder, nothing comes back. And because the counter is internal state, a workflow that re-runs the loader from scratch expects the negative-index reset to start the batch over - forget that and the second pass resumes where the first left off.

    Categoryutils

    Inputs (3)

    NameTypeDefaultDescription
    indexINT0
    dateSTRING
    subfolderSTRINGlatent

    Outputs (4)

    NameTypeDescription
    seedINT
    widthINT
    heightINT
    promptSTRING