ComfyUI Node

CSV Writer

The Name Says CSV, the File Says JSONL, and That's Fine

By Zeks·Created 2 years ago·Updated 9 months ago· 3
CSV Writer
      seed23948457612
      width1024
      height1024
      body

      First, the gotcha so nobody wastes an hour: CSV Writer doesn't write CSV. It appends JSONL - one JSON object per line - to a file called data.jsonl under output/rapidfire/<date>/. The name is a leftover; the behavior is intentional, because this node is the writing half of a pair. Its partner, the Immature Image Data Loader, reads exactly this JSONL back out.

      What you get is a dead-simple "log this run" node. You give it a seed, a width, a height, and a text body, and every execution appends a record with a timestamp. That's it. It's the pack's data stash - the persistent memory that lets the rapidfire workflow remember what it generated so it can later re-enter or review those runs.

      How it works

      Each execution builds a record of timestamp, seed, width, height, and body, then appends it as a single JSON line to output/rapidfire/YYYY-MM-DD/data.jsonl, creating the directory tree as needed. The date comes from the system clock at write time, so runs naturally group by day. There's no dedup and no overwrite - it appends forever, which is exactly what you want from a log.

      What you set

      Four inputs:

      • seed - the run's seed, stored so you can reproduce the image later.
      • width / height - the generation dimensions.
      • body - a free-form string. This is the flexible field: paste your full prompt here, or a note, or a JSON blob; whatever you want the loader to get back.

      No outputs - it's a terminal log node, so the wire ends here.

      Using it with the rest of the pack

      The intended loop is: CSVI Writer records each run → Immature Image Counter tells you how many unique seeds you've accumulated → Immature Image Data Loader replays those runs (seed, dimensions, prompt) so you can re-roll or continue the batch. If all you want is a prompt log, any Save Text node does that job - this one earns its place when the data has to come back out again.

      Install

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

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

      then restart ComfyUI. And if you opened this page because you genuinely wanted CSV: the JSONL it writes is trivial to convert, but you're in the wrong pack.

      Categoryutils

      Inputs (4)

      NameTypeDefaultDescription
      seedINT23948457612
      widthINT1024
      heightINT1024
      bodySTRING

      Outputs (0)

      No outputs