Darkroom Enlarger
The enlarger for people who miss graded paper
- film_negative
- image
The darkroom pipeline in comfyui-jbnodes ends the way real photography does: with a print. PrintLabGraded takes the film_negative that DeveloperLab produced and prints it onto graded photographic paper - the old kind of paper that comes in fixed contrast grades, where the paper itself decides how much contrast you get and you can't dial it in mid-print. For anyone who's ever stood in a real darkroom, this node is nostalgia with a KSampler attached.
The graded route is the more authentic of the two enlarger styles this pack offers (the other is PrintLabMultigrade). Graded paper is how it worked for decades: buy Grade 2 paper, get Grade 2 contrast, and if the negative needs more, you bought different paper. This node simulates that honestly - your contrast is chosen by the paper, not a slider.
How it works
The required input is film_negative (the output of DeveloperLab - feed it a contact_print and you'll get a double-inverted mess). The graded_paper dropdown lists real papers with their measured characteristics: Ilford Ilfospeed RC Deluxe in Grades 0 through 5, Ilfobrom Galerie FB Glossy in Grades 1–4, and FB Matt in Grades 1–2, among the 13 options. Each paper carries a D_max/D_min (maximum and minimum density) that defines its contrast range - Grade 0 is soft and flat, Grade 5 is harsh and punchy, and the mid grades are where most printing lives.
exposure_secs (0–60, default 10) is your exposure time, which controls overall brightness of the print - more time, darker print. And precision (256–65536, default 4096) sets the resolution of the tonal curve LUT, same tradeoff as in DeveloperLab: leave it at 4096 unless you're chasing smoothness artifacts on very large prints.
Output is a single image: the finished print. This is the end of the line - save it, preview it, send it to an upscaler.
Which paper should you pick?
- Grade 2 is the standard "normal contrast" answer for a properly developed negative.
- Grade 3 or 4 if your negative came out flat or you deliberately pulled development.
- Grade 0 or 1 only for stubbornly contrasty negatives.
In practice, match the grade to what your negative needs - that's the whole skill this node is teaching you.
Install
Pack standard:
cd ComfyUI/custom_nodes
git clone https://github.com/AlbertJBurton/comfyui-jbnodes.git
cd comfyui-jbnodes
pip install -r requirements.txt
Restart ComfyUI, or ComfyUI Manager → "comfyui-jbnodes."
Gotchas
- Feed it the negative, not the positive.
film_negativein, finished print out. - Graded paper is a fixed-contrast commitment. If you want to tune contrast continuously without changing papers, that's what PrintLabMultigrade is for - this node is the rigid, authentic path.
- Beta pack: paper lists and density values can change between versions; a saved workflow's paper name is the first thing that breaks on update.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| film_negative | IMAGE | — | |
| graded_paperopt | COMBO | Ilford / Ilfobrom Galerie FB / Grade 2 | 13 options: Ilford / Ilfospeed RC Deluxe / Grade 0, Ilford / Ilfospeed RC Deluxe / Grade 1, Ilford / Ilfospeed RC Deluxe / Grade 2, Ilford / Ilfospeed RC Deluxe / Grade 3, Ilford / Ilfospeed RC Deluxe / Grade 4, Ilford / Ilfospeed RC Deluxe / Grade 5, +7 |
| exposure_secsopt | FLOAT | 100–60 | — |
| precisionopt | INT | 4096256–65536 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |