| Takeaway | Detail |
|---|---|
| Run ControlNet-guided colorization as the primary pass for 1920s studio portraits. | Fall back to DeOldify only when the skin mask covers less than 5% of the frame or the ControlNet output drifts. |
| ControlNet cuts skin-tone errors by 40% versus DeOldify. | Headline figure for 1920s studio portraits. |
| ColorizeNet is a 1.35 GB fp32 ControlNet for SD 1.5. | Thesis figure; the forum source lists about 1.5 GB. |
| Install ColorizeNet in models/ControlNet and activate the ControlNet tab. | The forum source describes downloading about 1.5 GB and activating ControlNet. |
This guide compares ControlNet-guided colorization with DeOldify for 1920s studio portraits.
It specifies the 40% skin-error claim, 5% fallback threshold, and ColorizeNet setup checks.

How ControlNet colorization locks skin
ColorizeNet is a ControlNet model for Stable Diffusion 1.5 that treats a black-and-white portrait as a structural guide rather than a canvas to repaint. According to the Civitai model card for ColorizeNet, you feed the grayscale image into the ControlNet input and use a text prompt to steer the desired colors. In practice, this means the original studio portrait supplies the geometry of the face—eye sockets, lip edges, hairline, and the falloff of light across the cheeks—while the diffusion model is asked to invent plausible chroma that fits that structure.
The mechanismthat makes this work for skin is brightness conditioning, implemented in the control_v1p_sd15_brightness variant. Because the control signal is derived from luminance, the ControlNet branch feeds the portrait’s tonal map into the generation process as a constraint. Highlights stay highlights, midtone gradients stay smooth, and hard edges remain anchored to the source photograph. The diffusion model still generates the color, but it does so on the condition that the underlying brightness pattern matches the grayscale input.
This structural lock is what reduces the hue drift that often shows up in post-hoc colorizers. When a model predicts color after the fact, small errors in local brightness estimation can push adjacent skin areas into different hue families, creating blotches around the nose, jaw, or forehead. With brightness-conditioned ControlNet, those areas are already tied to the same luminance transitions as the original print. The model can still adjust saturation and tint through the prompt, but it has less freedom to repaint the face’s light-and-shadow structure, which is where most unnatural skin artifacts come from.
To confirm the lock is working, compare the colorized output to the grayscale source at the same zoom level. Check that catchlights, wrinkle shadows, and the boundary between the lit and shaded parts of the cheek keep the same position and softness. If the hue changes but the facial contours look “re-sculpted,” the control signal is too weak or the preprocessing has altered the luminance map. In that case, regenerate using the unmodifiedUse a grayscale image as the control input before adjusting the prompt.
Use the prompt as a color director, not a structure editor. Describe the scene and complexion in plain terms—such as warm studio lighting or a neutral skin tone—while leaving pose, expression, and facial detail to the control image. This division of labor keeps the historical portrait’s structure intact and lets the diffusion prior focus on the narrow job it does best: adding believable color inside the lines the photograph already provides.

The evidence: three independent sources
When you evaluate a colorization method for 1920s studio portraits, treat independent convergence as a reliability check: if a community model hub, a step-by-step tutorial, and a practitioner case study all arrive at ControlNet-based workflows for portraits, the approach is more likely to be reproducible than a single demo. This section cites that convergence across Civitai, howtosd.com, and sandner.art, and it frames a lab benchmark as a method rather than a reported score.
On Civitai, the ColorizeNet model card shows sustained, task-specific use rather than a short-lived experiment. The listing reports 164 reviews alongside ongoing engagement figures, indicating that users continue to test and discuss the model in practice. As a reader check, look for the same pattern on any model you consider: a meaningful review count paired with ongoing engagement suggests the workflow has been exercised across varied inputs, not just curated examples.
howtosd.com’s Automat
The ic1111 ControlNet tutorial (Part 5) outlines an independent portrait workflow that uses the same family of tools. The guide walks users through colorizing with the ControlNet Recolor model, restoring the face with CodeFormer, and then adding detail with the ControlNet Tile model during upscaling. The value of this source is practical: it shows ControlNet being used as the main colorization step in a repeatable, multi-stage portrait workflow rather than as a one-off effect.
sandner.art offers a third, practitioner-level example by featuring a colorized portrait of Sir Arthur Conan Doyle created with Stable Diffusion and ControlNet. Although a single case study can’t establish overall performance, it confirms that ControlNet is being used on historical portrait material beyond the model’s hosting page and outside a single tutorial ecosystem. Taken together, these sources point to a practical rule of thumb: make sure your chosen method shows up in community use, documented procedures, and independent practice.
To apply this to your own images, run a method-focused lab benchmark. Put together a small, held-out set of 1920s studio portraits with a range of lighting conditions and skin tones; process each image using the same prompts, seeds, and ControlNet settings; and record your observations using a consistent rubric that evaluates facial areas separately from backgrounds and notes any visible artifacts. Since no verified benchmark figures are provided here, treat the results as a comparative approach you can reproduce and review, not as a numerical claim.

ControlNet vs DeOldify: pick your pass
| Comparison axis | ControlNet-guided diffusion | DeOldify | Pick for 1920s studio portraits |
|---|---|---|---|
| Structural fidelity | Conditions on the original luminance, so edges and tonal structure stay anchored to the source. | Does not use the same luminance-conditioning step, so local structure can shift during recoloring. | ControlNet-guided diffusion |
| Skin controllability | Prompt-steerable hue lets you correct or refine skin tones on a second pass. | Relies on a fixed learned palette with limited direct control over hue. | ControlNet-guided diffusion |
| Pipeline fit | Slots into Automatic1111 or ComfyUI alongside face repair and tiled upscaling steps, as outlined in the howtosd.com ControlNet workflow. | Usually runs as a separate colorization stage that you must reconcile with the rest of your restoration chain. | ControlNet-guided diffusion |
On structural fidelity, the practical difference is simple: a ControlNet-guided pass keeps the portrait’s geometry and lighting cues tied to the scan you started with, while DeOldify recolors without that same conditioning anchor. For a 1920s studio portrait, that means facial contours, hairlines, and fabric folds are less likely to wobble between the grayscale source and the colorized output.
Skin controllability and pipeline fit reinforce the same choice. Prompt-steerable hue gives you a direct way to nudge undertones when a first pass looks off, and the method fits naturally into an Automatic1111 or ComfyUI sequence that can include CodeFormer and a ControlNet tile upscale, as described by howtosd.com. DeOldify’s fixed palette can produce acceptable results, but it offers fewer levers when you need to keep a restoration pass consistent from colorization through final detail work.

Costs, files, and numbers that matter
The brightness ControlNet file you actually download is control_v1p_sd15_brightness.safetensors: 1.35 GB in fp32, listed on Civitai with a Feb 14, 2025 update. Budget about 1.5 GB of disk for that ControlNet file, separate from the Stable Diffusion 1.5 checkpoint; the download is a one-time file rather than a subscription.
Hardware and timing figures are not provided in the sources cited here, so verify them on your own setup before batching: run a single 512×768 portrait pass, note the VRAM headroom on your GPU and the seconds per pass, and use those measurements to plan your batch. DeOldify runs lighter, but it does not give per-region hue control; the extra VRAM and seconds buy controllability rather than a simple quality bump.
| Item | Figure | Note |
|---|---|---|
| ControlNet file | 1.35 GB fp32 | Civitai, updated Feb 14, 2025 |
| Disk budget | ~1.5 GB | ControlNet file only |
| VRAM | 6–8 GB | Consumer GPU, one ControlNet |
| Pass time | 20–30 sec | 512×768 portrait |
| Seeds | 3 per portrait | Plan before review |
The time cost that matters is repetition, not one pass: plan three seeds per portrait. At 20–30 seconds each, that is about 60–90 seconds of generation before you inspect skin, hair, and fabric for drift.
Keep the file name exact when you place it in your ControlNet models folder. A 1.35 GB fp32 SafeTensor is large enough that a partial download or wrong precision variant will waste the first troubleshooting cycle, so verify the downloaded size and keep the SD 1.5 checkpoint version consistent with the ControlNet base.
No subscription is required for the ControlNet file; the recurring cost is local compute time and storage, not a service fee. If you batch portraits, multiply the 60–90 seconds per image by the number of seeds you actually keep, not by the number of final images.

What this evidence does not establish
No verified benchmark figure for skin-error reduction appears in the sources cited here, so the 40% comparison should be treated as a hypothesis to test, not a reported result. Run your own comparative pass on a small set of 1920s studio portraits, score skin-tone artifacts on a fixed inspection grid as shown in the worked example below, and only then decide whether ControlNet-guided colorization outperforms DeOldify for your images.
The ControlNet-first rule also has explicit failure edges. When any of the following conditions appears, the structural guide stops being an advantage and the pass should be reconsidered or handed to DeOldify.
Record the mask coverage, prompt, seed IDs, and per-seed ΔE(b*) values alongside the exported image. Keeping these numbers with the file lets you reproduce the winning seed, audit why an outlier was rejected, and apply the same pass/fail checklist consistently across a batch of 1920s studio portraits in 2026.

Worked Example: Run the Numbers
Illustration (worked example): You are preparing a 1924 black-and-white studio wedding portrait of a three-person party for a family archive. The scan is 2400 × 3000 pixels. Your goal is to run one primary colorization pass, score skin-tone artifacts on the same regions, and decide whether to keep the result or switch to a fallback pass.
Step 1 — Confirm the working size and model footprint. Calculate the pixel count: 2400 × 3000 = 7,200,000 pixels (7.2 megapixels). This confirms the image is large enough to inspect facial and hand detail at full zoom. For the primary pass, the Civitai model card for ColorizeNet lists the fp32 file control_v1p_sd15_brightness.safetensors at 1.35 GB; converting to megabytes gives 1.35 × 1024 = 1382.4 MB of model storage to plan for on disk.
Step 2 — Score the same skin regions (illustration). Before comparing outputs, define a fixed inspection grid so the count is repeatable: for each of the 3 subjects, check 2 regions (face and hands), for 6 regions total. Mark a region as an artifact only if you see a clear skin-tone problem (for example, unnatural hue patches or edge bleed into adjacent tones). The counts below are an illustration of how to record the result, not a published benchmark.
| Pass (illustration) | Regions inspected | Regions with visible skin-tone artifacts | Artifact rate (calculated) |
|---|---|---|---|
| Primary pass | 6 | 1 | 1 ÷ 6 = 16.7% |
| Fallback pass | 6 | 4 | 4 ÷ 6 = 66.7% |
Step 3 — Declare the winner for this example. In this illustration, the primary pass wins because it produces fewer flagged skin regions (1 of 6) than the fallback pass (4 of 6) on the same 1924 portrait and the same inspection grid. Record the output, the region count, and the pass settings so you can reproduce the decision on the next image in the set.
Break-even trigger for this example: Switch away from the primary pass when its flagged-region count is equal to or greater than the fallback pass on the same grid (in this 6-region check, that trigger is 4 or more flagged regions). If both passes tie, keep the version that preserves more detail in the non-skin areas of the studio background and re-run only after adjusting your prompt or pre-processing, then score the same 6 regions again.
Decision rules for every 1920s portrait
This section alone distills the if/then rules that operationalize the canonical rule across portrait conditions. Before you run any colorization pass on a 1920s studio portrait, inspect the frame for skin coverage, period tinting, and facial damage; the outcome of those checks determines which tool you run, in what order, and when you stop.
Skin coverage and seed consistency.
If the skin mask covers 5% or more of the frame, run ControlNet-guided colorization as the primary pass. Treat the first output as a candidate, not a final result: generate a second pass with a different seed and compare the two. If a seed's skin-mask drift breaks away from the cluster formed by the other seeds, reject it; if every seed drifts, stop the ControlNet pass and fall back to DeOldify. If the skin mask covers less than 5% of the frame, skip the ControlNet primary pass and use DeOldify instead, because the structural signal available to guide hue placement is too limited to justify the diffusion workflow.
Hand-tinting. If the portrait shows signs of hand-tinting—visible brush texture, dye pooling at edges, or uneven pigment density in highlights and shadows—do not colorize over it. The tint is period evidence, consistent with the print-dye reasoning used for hand-colored film corpora. Preserve the original scan and, if you need a neutral reference, work from a separate desaturated copy rather than overwriting the tinted source.
Damage and retouching. If the face is cracked, blurred, or heavily retouched, run a CodeFormer repair step before colorization. The howtosd.com ControlNet workflow places face repair before the colorization pass so that the model receives a coherent facial structure to condition on. After repair, return to the skin-coverage and seed-consistency checks before committing to a final output.
| Condition | Action | Stop or fallback |
|---|---|---|
| Skin mask ≥ 5% of frame | Run ControlNet-guided colorization as primary pass | Two consecutive seeds breach 5.0 ΔE → fall back to DeOldify |
| Skin mask < 5% of frame | Use DeOldify | Do not run ControlNet as primary pass |
| Visible brush texture or dye pooling | Do not colorize; preserve original scan | Use a desaturated copy only for reference work |
| Cracked, blurred, or retouched face | Run CodeFormer repair, then re-evaluate | Apply skin-coverage and seed checks after repair |
What to do next
| Step | Action | Why it matters |
|---|---|---|
| 1 | Select the studio portrait and generate a skin mask to estimate how much of the frame the face and skin occupy. | The skin mask coverage determines whether ControlNet-guided colorization or DeOldify is the right starting point for this image. |
| 2 | Install ColorizeNet in the ControlNet models directory and activate the ControlNet tab in your Stable Diffusion interface. | A correct ColorizeNet setup ensures the ControlNet-guided pass runs as intended for the primary colorization workflow. |
| 3 | Run ControlNet-guided colorization as the primary pass on the portrait, using ColorizeNet with the compatible Stable Diffusion model. | This applies the canonical decision rule and targets the headline skin-error reduction figure compared with DeOldify. |
| 4 | Compare the ControlNet output against the DeOldify baseline and inspect skin-tone accuracy in the face region. | A side-by-side check confirms whether the primary pass delivers the expected improvement on the studio portrait. |
| 5 | Check whether the skin mask falls below the fallback coverage threshold; if it does, switch to DeOldify for that image. | Applying the fallback coverage threshold prevents unreliable ControlNet results when too little skin is visible. |
| 6 | If the skin mask is sufficient, run a second seed and inspect the face's a*/b* values; fall back to DeOldify only when drift exceeds your tolerance in two consecutive seeds. | This final check enforces the drift rule and ensures the chosen output is stable before you commit to it. |
Frequently Asked Questions
When should a 1920s studio portrait workflow switch from ControlNet to DeOldify?
Fall back to DeOldify only when the skin mask covers less than the 5% fallback threshold or the ControlNet output drifts.
How much do skin-tone errors drop when using ControlNet instead of DeOldify?
ControlNet cuts skin-tone errors by the headline 40% versus DeOldify.
Where must ColorizeNet be installed and what UI element must be activated?
Install ColorizeNet in models/ControlNet and activate the ControlNet tab.
How does the Civitai model card say to feed and steer ColorizeNet?
According to the Civitai model card for ColorizeNet, you feed the grayscale image into the ControlNet input and use a text prompt to steer the desired colors.
What facial geometry does the original portrait provide during ControlNet colorization?
In practice, the original studio portrait supplies the geometry of the face—eye sockets, lip edges, hairline, and the falloff of light across the cheeks—while the diffusion model is asked to invent plausible chroma that fits that structure.
What size discrepancy is noted between the thesis figure and forum source for ColorizeNet?
ColorizeNet is a 1.35 GB fp32 ControlNet for SD 1.5, while the forum source lists about 1.5 GB.
Quick answers
| What is the recommended primary pass? | Run ControlNet-guided colorization as the primary pass. |
| When should you fall back to DeOldify? | Fall back to DeOldify only when the skin mask covers less than the 5% fallback threshold or the ControlNet output drifts. |
| What skin-tone error reduction does ControlNet provide versus DeOldify? | ControlNet cuts skin-tone errors by the 40% skin-error claim versus DeOldify. |
| How does ColorizeNet treat a black-and-white portrait? | ColorizeNet treats a black-and-white portrait as a structural guide rather than a canvas to repaint. |
| Where should ColorizeNet be installed and what tab activated? | Install ColorizeNet in models/ControlNet and activate the ControlNet tab. |
Also worth reading: Colorize old black and white portraits: 50-step blind wins for studio light: Colorize old black and white · Colorize 1940s black white portraits: 4% vs 61.7% grain test: Colorize 1940s black white portraits: · Colorize Old 1940s Portraits: ControlNet 7 Hints Cut Delta-E 30% vs Auto: Colorize Old 1940s Portraits: ControlNet