ComfyUI Node Runs on cloud

MakeJob

Turn a list of values into a parameter sweep ComfyUI will actually run

By ali1234·Created 3 years ago·Updated 3 months ago· 130
MakeJob
  • sequence
  • job
  • count
name

If you've ever wanted to run the same workflow five times with five different CFG values, or the same prompt against ten different seeds, without manually changing a widget and hitting queue over and over - this is the node that makes that a one-click sweep instead of a chore. MakeJob is the piece of comfyui-job-iterator that turns a plain list of values into something the rest of the pack knows how to iterate over.

How it works

The mechanics are genuinely simple once you see them: MakeJob takes every value in your sequence and wraps it in a small dictionary keyed by whatever name you gave it - a cfg sequence of [3, 5, 7, 9] becomes four steps, {"cfg": 3}, {"cfg": 5}, and so on. That list of dictionaries is the JOB. On its own it doesn't do anything yet - you feed it into JobToList (a sibling node in this pack), which converts it into ComfyUI's native list-execution mode. That's the actual trigger: ComfyUI re-runs everything downstream of a list output once per item in the list. GetAttribute then pulls the value back out of the current step's dictionary by name, so you can wire it into a normal CFG widget, a prompt, a LoRA name, whatever. If you need to vary more than one parameter at once, you make a second SEQUENCE, a second MakeJob with a different name, and combine them with CombineJobs (zip to pair them up, or product to cross every combination of both).

The inputs and outputs that matter

  • sequence (SEQUENCE) - the values you want to sweep. Comes from another node in the pack that builds a SEQUENCE (a range, a literal Python list you type in, etc.).
  • name (STRING) - the attribute name. This is the string GetAttribute will look for later, so it needs to match exactly, and it can't be empty if you actually want to find it downstream.
  • job (JOB, output) - the list of {name: value} steps. Feed this straight into JobToList or into CombineJobs if you're merging it with other jobs.
  • count (INT, output) - just len(sequence), i.e. how many total runs this axis represents. Handy as a sanity check before you queue something that turns out to be way bigger than you meant.

How to install it

Easiest path is ComfyUI Manager: search "comfyui-job-iterator", install, restart. Manually, it's just:

cd ComfyUI/custom_nodes
git clone https://github.com/ali1234/comfyui-job-iterator

Restart ComfyUI and you're done - the README is explicit that there are no dependencies, and that's true: no pip install step, no model downloads, no extra weights. That alone makes it a low-risk install compared to a lot of the ecosystem, where "add one custom node" routinely means untangling a Python dependency conflict afterward.

Common issues & troubleshooting

Your run seems to freeze on the first step and you can't tell why. A user on r/comfyui traced this to a ComfyUI frontend/backend update that changed how list execution behaves: it used to run the entire graph fully for job step one, then fully for step two, and so on - so if step three broke, you'd see it after two complete runs. After the update, it started running node-by-node across every step first, then moving to the next node, which means you don't find out something's wrong until much later in a long sweep, and it also seems to interact badly with how much gets kept in memory between steps. If a sweep that used to be fast now crawls, that's the known cause - it's not something wrong with your workflow.

GetAttribute comes back empty or errors. Almost always a typo - the name string in GetAttribute has to match the name you typed into MakeJob exactly, including case.

You queued way more runs than you meant to. Check the count output before you commit - it's the fastest way to catch "oh, that sequence had 40 items in it, not 4" before it burns GPU time.

Categoryali1234/job

Inputs (2)

NameTypeDefaultDescription
sequenceSEQUENCE
nameSTRING

Outputs (2)

NameTypeDescription
jobJOB
countINT