Submit to Deadline
Send your ComfyUI workflow to a Deadline farm without rendering locally
- job_id
This node is a "send" button for your entire workflow, and the name is the honest part of it: it submits to Deadline, it doesn't render. You queue the graph in ComfyUI, this node packages it, hands it to Thinkbox Deadline, and your local GPU never touches the job. If you've ever watched a bank of 3090s sit idle while your one workstation grinds out a batch, you know exactly why that's the point.
This is a niche tool with a narrow audience, so let's get the audience check out of the way: if you don't already run Deadline, skip this node. Deadline is Autodesk's render manager, the thing studios use to queue Maya and Houdini frames across a farm. The author built this pack for their own office - a studio with a couple dozen GPUs and a Deadline installation already in place - and it's aimed squarely at people in that situation. The setup cost (a Deadline client, a repository, portable ComfyUI installs on workers) only makes sense if the farm already exists.
What it actually does
On your side, the workflow stays normal: loaders, samplers, save nodes, and one Submit to Deadline wired into the graph. When you hit Queue, the node grabs the current API prompt and:
- strips itself (and any other submit node) out of the copy the workers get, so workers don't re-submit in an infinite loop,
- stages the input files your loaders reference into
<output parent>\input\, - writes
prompt_to_execute.json(what workers render) andworkflow.json(the readable graph, so you can drag the finished image back into ComfyUI), - calls
deadlinecommandto submit the job and parses the returnedJobID.
A registered prompt handler makes sure only this node executes on your machine - the whole graph is skipped locally, then rebuilt on the farm.
The inputs that matter
Most of these are Deadline plumbing, but three are worth actually thinking about:
output_directory- the one you must get right. It has to be a path every worker can see (a UNC share like\\server\render\comfy), and the plugin creates it if it doesn't exist. A localC:\...path will fail on the first worker.batch_countandchunk_size- how many variations you want, and how many variations each Deadline task processes before it finishes.batch_count=50, chunk_size=1means 50 tasks, one variation each - maximum parallelism across the farm. These are variations, not animation frames, a distinction the README is at pains to make.priority(0–100, default 50),pool/group,job_name- the pool and group dropdowns are populated live from your Deadline repository when the node is created; if the client can't reach it, they fall back to justnone.commentanddepartmentare optional metadata.
The single output, job_id, is the Deadline JobID as a string - mostly just proof the submit worked, handy for finding the job in Deadline Monitor.
Installing it
No extra Python dependencies - the requirements file is deliberately empty, everything runs on stdlib plus ComfyUI itself. Clone it in (or search "ComfyUI Deadline Submission" in ComfyUI Manager) and restart:
cd ComfyUI/custom_nodes
git clone https://github.com/doubletwisted/ComfyUI-Deadline-Plugin.git
Then the part people miss: the ComfyUI side is only half of it. You also have to deploy the Deadline-side plugin, which the pack ships a PowerShell script for:
powershell.exe -ExecutionPolicy Bypass -File .\scripts\deploy_deadline_plugin.ps1
That finds your Deadline repository via deadlinecommand -GetRepositoryPath and copies the plugin into it (or pass -RepositoryPath yourself). Finally, in Deadline Monitor, set the ComfyUI plugin's ComfyUI Installation Paths - one portable Windows ComfyUI root per line; workers try each in order and use the first one containing ComfyUI\main.py and python_embeded\python.exe.
Where people get burned
The most common failure is a dead end before submission: "Deadline command not found. Set DEADLINE_PATH or install Deadline Client." That's the submitting machine lacking the deadlinecommand binary, or the DEADLINE_PATH env var not pointing at it - the client install is required, not optional. Relatedly, if your pool and group dropdowns only show none, the node couldn't reach Deadline when it was built; fix the client, then rebuild the node.
The other classic trap is the input files. Files you pasted or uploaded into ComfyUI's input folder exist only on your machine, so the plugin stages them next to the output directory and rewrites the prompt to point at the staged copies. Absolute-path loader nodes are left alone - those paths must already be valid on the farm. And remember the targeting: this expects portable Windows ComfyUI workers, so a Linux box will need that sorted before anything renders. Render timeouts are Deadline's job - set them in Deadline Monitor, not in the node.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| output_directory | STRING | — | |
| batch_count | INT | 11–10000 | — |
| chunk_size | INT | 11–256 | — |
| priority | INT | 500–100 | — |
| pool | COMBO | none | 1 options: none |
| group | COMBO | none | 1 options: none |
| job_name | STRING | ComfyUI via Deadline | — |
| commentopt | STRING | — | |
| departmentopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| job_id | STRING | — |