Nodes/comfyui-jbnodes/Darkroom Enlarger
ComfyUI Node

Darkroom Enlarger

The enlarger for people who miss graded paper

By AlbertJBurton·Created 6 months ago·Updated 3 months ago· 1
Darkroom Enlarger
  • film_negative
  • image
graded_paperIlford / Ilfobrom Galerie FB / Grade 2
exposure_secs10
precision4096

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_negative in, 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.
CategoryJBNodes/Darkroom

Inputs (4)

NameTypeDefaultDescription
film_negativeIMAGE
graded_paperoptCOMBOIlford / Ilfobrom Galerie FB / Grade 213 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_secsoptFLOAT100–60
precisionoptINT4096256–65536

Outputs (1)

NameTypeDescription
imageIMAGE