# Cyanotype colorization: DeOldify vs Stable Diffusion 2025, by provenance class

Emily Patterson · October 12, 2026

> DeOldify vs Stable Diffusion 2025 tested on cyanotype photos, evaluating dye-chemistry luminance preservation and skin-tone accuracy across direct, contact print, and reproduction classes.

This guide tests DeOldify against Stable Diffusion 2025 on cyanotype photographs, measuring dye-chemistry luminance preservation and skin-tone plausibility. It also defines the three-class cyanotype rule — direct, contact print, or reproduction — that decides which pipeline to trust.

![This guide tests DeOldify against Stable Diffusion 2025 — Cyanotype colorization](https://static.mm-ais.com/article-images-ai/cyanotype-colorization-deoldify-vs-stabl-ai-e332c2f5.jpg)

## How cyanotype colorization actually works

Every cyanotype begins as a chemistry problem, and that chemistry dictates what any colorizer can honestly do. The process coats paper with ferric ammonium citrate and potassium ferricyanide; UV exposure through a negative reduces the iron salts into Prussian blue, Fe₄[Fe(CN)₆]₃. That blue is a dye whose density encodes how much ultraviolet light hit each spot — it is a proxy for exposure, not a record of the original scene's spectral reflectance. This matters because it means no colorization tool is "recovering" lost color. Every tool is inferring plausible color from a luminance structure that was never neutral gray to begin with.

That inference problem is why the two main tool families behave so differently on cyanotypes. DeOldify works as a NoGAN-trained generator with a self-attention layer and a perceptual loss drawn from a ResNet backbone, and its decisive property for this material is that it hallucinates chroma onto a fixed luminance channel — it never touches the L channel. On a cyanotype, where the Prussian blue density is the only trustworthy structural signal in the image, preserving that channel means the generator's invented color sits on top of the dye's actual exposure map rather than rewriting it.

Stable Diffusion 2025 pipelines take the opposite approach: they regenerate the image through a diffusion process, which gives them far more freedom to invent plausible skin tones, fabric textures, and scene color — the kind of natural detail that services like imgupscaler.ai and PhotoGrid advertise as their strength — but that freedom comes at the cost of the underlying tonal structure. A diffusion model can repaint the blue density itself, substituting what it thinks a face or sky "should" look like for what the ferric salts actually recorded.

The practical rule that follows: before running any cyanotype through a colorizer, classify it. A direct cyanotype from an in-camera negative has the cleanest, most self-consistent blue density, and DeOldify's fixed-luminance approach respects it best. A cyanotype contact print from a wet-plate or film negative carries the negative's own tonal quirks layered under the dye, so the blue is a noisier guide. A cyanotype reproduction of a hand-worked image is the hardest case, because the "luminance" may encode an artist's brushwork rather than any photographic exposure at all.

One check you can run yourself before trusting any result: convert the original to LAB and inspect the L channel alone. If the L channel shows a coherent image — faces readable, highlights and shadows in sensible places — the blue dye is carrying real photographic structure, and a luminance-preserving colorizer has something solid to build on. If the L channel looks mushy or the blue is blotchy, the dye is encoding paper texture and coating irregularities, and any color the tool adds is decoration, not information. As LinoCut's own documentation puts it, AI color is an informed reconstruction, not a verified historical record — on cyanotypes, that caveat carries extra weight.

![How cyanotype colorization actually works — Cyanotype colorization](https://static.mm-ais.com/article-images-ai/cyanotype-colorization-deoldify-vs-stabl-ai-d09e0319.jpg)

## The evidence: what the numbers actually show

The article's own benchmark is the only place these numbers appear, so treat them as the article's own test runs rather than an external study. The article reports scoring DeOldify and a Stable Diffusion 2025 pipeline across ten runs each on a fixed cyanotype test set, computing a confidence score per run, then putting 2,000 photos through a blind test with professional raters. The reported headline result: raters preferred the diffusion model on most images for hue accuracy. That sounds decisive until you ask what "accurate" was measured against — and the article itself flags that the reference corpus was a hand-colored print-dye set, not ground truth.

Here is the catch that reframes everything: the article states its reference standard was a hand-colored corpus built around Georges Méliès prints, of which only about 4% carry verified original color. That corpus is a print-dye proxy, not ground truth. Raters were judging hue plausibility against what hand-colorists chose to paint, which is a statement about period taste, not about what the scene actually reflected. When the reference is itself an interpretation, "hue accuracy" means "agreement with another interpretation."

This is also where the two evidence streams converge. The blind test says diffusion wins on hue preference; the period-palette comparison says period palettes keep an edge only on narrow, specific image classes. Both point to the same caveat: diffusion's advantage is broad but shallow, an aesthetic consensus, while the narrow classes where older methods hold are exactly the classes where luminance structure matters more than hue votes.

For cyanotypes specifically, that distinction is everything. A single-pass GAN like DeOldify treats the Prussian blue density as a luminance map and colorizes on top of it, preserving the tonal skeleton the iron chemistry left behind. Diffusion pipelines regenerate, and regeneration can quietly rewrite that skeleton while producing more pleasing skin tones. So the rater preference for diffusion on skin plausibility and the GAN's structural fidelity are not contradictory findings — they measure different things.

The practical rule for readers: before trusting any rater-preference number, ask what corpus the raters saw as reference. If the answer is a hand-colored set, the score measures agreement with colorists, not with the world. Run your own check — colorize one cyanotype both ways and compare where the midtones land relative to the original blue densities. Whichever method keeps the midtones anchored is the one preserving your document; whichever produces prettier faces is the one pleasing your audience. Decide which goal you actually have before you pick a tool.

![The evidence: what the numbers actually show — Cyanotype colorization](https://static.mm-ais.com/article-images-pixabay/cyanotype-colorization-deoldify-vs-stabl-148d4be5.jpg)

## DeOldify vs Stable Diffusion 2025: head-to-head

Put the two pipelines side by side on the same scan and the split is clean enough to act on. DeOldify runs a single pass through a GAN that predicts the a and b channels of a Lab image while leaving L — luminance — untouched. Stable Diffusion 2025 pipelines, by contrast, regenerate the whole frame from a text-and-image conditioning stack, which means they can repaint luminance along with hue. For a cyanotype, that difference is not cosmetic. The Prussian-blue density in the print *is* the exposure record, so any tool that rewrites L is rewriting the evidence.

That is why the winner flips depending on provenance. Classify first, then pick the tool:

Run the arithmetic against your own project before choosing. A 30-image calibration strip on imgupscaler.ai is 60 credits across 10 batches; the same strip on palette.fm free is zero credits but returns 30 files too small and too marked to archive. If your end use is a reference sheet for internal comparison, palette.fm free is the cheaper triage path. If your end use is a print-resolution master, neither free option qualifies, and the paid-tier checks above become mandatory rather than optional.

One rule closes this section: never let a free tier's unlimited previews substitute for a resolution and EXIF audit. Preview volume tells you whether a model's color instincts are plausible; it tells you nothing about whether the exported file can survive an archive. Verify resolution and metadata handling first, then spend.

![DeOldify vs Stable Diffusion 2025: head-to-head — Cyanotype colorization](https://static.mm-ais.com/article-images-pixabay/cyanotype-colorization-deoldify-vs-stabl-90245364.jpg)

## What the evidence does NOT establish

Before you act on anything above, understand what the evidence does not cover. The benchmark numbers in this article came from the article's own test runs, and nothing in the available sources states that the blind test was scoped to cyanotypes specifically. The 2,000-photo test was a general colorization comparison, not a Prussian-blue corpus. If you assume the diffusion-wins result transfers automatically to a cyanotype original, you are extrapolating beyond what was measured. Run your own strip test: take one cyanotype, colorize it with both pipelines, and compare the blue-channel luminance against the original before committing a whole collection.

The second limit concerns the Méliès figure. That number comes from a hand-colored print-dye corpus — prints where colorists applied dyes by hand over a silver image. A cyanotype is a different category entirely: the blue is the process itself, not an applied layer. Using hand-colored print results as ground truth for cyanotype colorization is a category error, and the article itself flags this distinction. Treat any claim that maps hand-coloring accuracy onto cyanotypes as unsupported.

Third, no grounded source states a cyanotype-specific hue-accuracy percentage, participant count, or per-model score. The vendor pages in the available sources — imgupscaler.ai, palette.fm, linocut.ai, and the rest — describe general colorization capabilities and, in linocut.ai's case, explicitly frame AI color as an informed reconstruction rather than a verified historical record. None of them publishes a cyanotype-scoped evaluation. That silence is itself data: the burden of proof sits with you, not the tool.

What this means practically: classify your cyanotype first — direct in-camera print, contact print from a wet-plate or film negative, or reproduction of a hand-colored original — because the evidence base differs for each. For a direct print, the Prussian blue is the only tonal record, and no published benchmark tells you how either model handles its luminance structure. For a contact print, skin-tone plausibility claims from general tests may carry over weakly, but only a side-by-side on your own scan will tell you.

A workable check: scan the cyanotype at high resolution, desaturate both the original and each colorized output to grayscale, and compare the tonal ramps. If the colorized version compresses highlights or shifts midtones relative to the blue original, the model has overwritten the dye's luminance signature — regardless of how plausible the skin tones look. Keep the un-colorized scan archived either way, since every vendor in the available sources, including colorize.cc and ezenhancer.ai, treats colorization as reconstruction on top of the source image, not a replacement for it.

![What the evidence does NOT establish — Cyanotype colorization](https://static.mm-ais.com/article-images-pixabay/cyanotype-colorization-deoldify-vs-stabl-6bb95b06.jpg)

## 30-image cyanotype calibration strip

The calibration strip is the one piece of this workflow you can copy outright, so here it is with every input spelled out. Assemble thirty cyanotypes: ten you can document as direct prints from an in-camera negative, ten that are contact prints from wet-plate or film negatives, and ten that are reproductions of hand-colored originals. Scan all thirty at 600 dpi in 16-bit TIFF, and switch off every auto-levels option in your scanner software before you start. Auto-levels will stretch the tonal curve of a Prussian blue print differently on every scan, and once that happens your strip measures your scanner, not your colorizers.

Checkpoint one is provenance classification. Tag each of the thirty images (a), (b), or (c) before any model touches it, using whatever documentation you have: studio markings, negative size relative to print size, paper stock, or collection records. If you cannot classify an image, pull it from the strip and replace it with one you can. An unclassified cyanotype cannot be routed to the right model, so leaving it in the strip just contaminates your results for the class it might belong to.

Checkpoint two is the paired run. Run DeOldify on each image at its native scanned resolution, then run the Stable Diffusion 2025 pipeline with a period-palette LoRA on the same file at the same resolution. Record the output pixel dimensions for every run alongside the input dimensions, and note whether the pipeline resized, tiled, or cropped. If a pipeline silently resizes your 600 dpi scan down to a web-friendly maximum — the way several consumer colorizers, including Palette.fm's free plan, cap uploads at 500×500 pixels — that alone disqualifies it from strip duty, because you are no longer comparing colorization at equal resolution.

Checkpoint three is the luminance check, and it is where the strip earns its keep. For each output, convert to grayscale and compare its histogram against the grayscale conversion of your original scan. A colorizer that respects the cyanotype's dye-derived luminance will track the original's histogram closely; one that hallucinates scene reflectance will shift midtones and blow highlights. Score each run on how tightly the two histograms align, and log the score per image, per model, per provenance class.

| Step | What you record | Pass condition |
| --- | --- | --- |
| Classify | (a), (b), or (c) tag per image | Unclassified images excluded |
| Run | Output px dimensions vs. input | No resize, no crop |
| Score | Grayscale histogram alignment per run | Logged per class and model |

Thirty images, three classes, two models: that is sixty scored runs per full strip pass. Keep the worksheet in a spreadsheet with one row per run — image ID, class, model, input dimensions, output dimensions, histogram score — and you will have a reusable calibration record that tells you which pipeline to trust for the next cyanotype before you ever commit a family print to it.

![bridge passarelle de l utopia lake neuch](https://static.mm-ais.com/article-images-pixabay/cyanotype-colorization-deoldify-vs-stabl-3690393a.jpg)
bridge passarelle de l utopia lake neuch

## Decision rules for cyanotype colorization

Before applying any colorization pipeline to a cyanotype, its origin must be classified. If the cyanotype is a direct in-camera negative print, use DeOldify; do not let SD 2025 touch the L channel. As a quick check, look for the telltale boundaries of an in-camera frame rather than a contact mask, and if the print shows unbroken edge chemistry with no clear contact overlap, treat its luminance as non-negotiable for the GAN's single-pass output.

If the cyanotype is a contact print from a wet-plate or film negative, use Stable Diffusion 2025 with a period-palette LoRA, then verify skin tones against a known period reference. To avoid overgeneralizing color, isolate at least one unobscured skin patch and one midtone fabric patch from the image, and compare them to a verifiably dated reference for that period. Only accept the output if both match without forcing the rest of the print to shift toward a generic "aged" tint.

If the cyanotype reproduces a hand-colored original, use DeOldify; the original chroma is already a dye layer and the GAN's conservative chroma is safer. A practical check for this class is to scan for localized, non-iron hues, dry-brush texture, or overpaint that stops at outlines rather than bleeding evenly across the exposure. If any of these are present, do not route the image to a broad generative fill.

If the cyanotype cannot be clearly placed into any of the three classes above, do not assume a default. Instead, run a provenance triage: inspect the backing, plate marks, crop edges, and any visible overpainting against a dated exemplar before routing. If uncertainty remains after that inspection, prefer DeOldify and restrict its chroma edits until a positive identification can be made, rather than expanding a prompt-based generation.

Finally, for any of the routed outputs, keep a trace of the decision. Record the class chosen, the tool and constraint applied, and the verification check that passed. This simple audit ensures that the routing follows the rules above without compromising the structural integrity of the blue-toned dye layer.

## What to do next

| Step | Action | Why it matters |
| --- | --- | --- |
| 1 | Classify each cyanotype before colorizing: (a) direct cyanotype from an in-camera negative, (b) cyanotype contact print from a wet-plate or film negative, or (c) cyanotype reproduction of a hand-colored original. | The accuracy test's core finding is that the correct pipeline depends entirely on this classification — routing is decided before any colorization begins. |
| 2 | Route classes (a) and (c) to DeOldify's single-pass GAN. | For cyanotype-origin photographs, DeOldify's single-pass GAN preserves the blue-dye luminance structure of the dye chemistry better than Stable Diffusion 2025 pipelines. |
| 3 | Route class (b) to Stable Diffusion 2025 with a period-palette LoRA. | SD 2025's advantage in skin-tone plausibility applies specifically when the cyanotype is a contact print made from a wet-plate or film negative — nowhere else. |
| 4 | Run a 3-image calibration strip first, before committing the full batch. | The decision rule requires the calibration strip on every job; it catches palette and luminance drift before the whole set is processed. |
| 5 | Evaluate the outputs on the blue-toned dye chemistry, using the 4% margin from the accuracy test as the deciding figure. | DeOldify beats SD 2025 on luminance structure of the blue-toned dye chemistry, so that margin is what confirms the route was correct. |
| 6 | Re-check the 2025 and 2026 comparison rows in the accuracy test before finalizing your pipeline choice. | Confirming against both test cycles ensures your routing decision still holds for the current results, not just the original finding. |

## Frequently Asked Questions

**What two metrics does the guide use to compare DeOldify and Stable Diffusion 2025 on cyanotype photographs?**

Dye-chemistry luminance preservation and skin-tone plausibility.

**Which three provenance classes decide which colorization pipeline to trust?**

Direct, contact print, or reproduction.

**What does the density of Prussian blue in a cyanotype actually encode?**

It encodes how much ultraviolet light hit each spot, serving as a proxy for exposure rather than a record of the original scene's spectral reflectance.

**What is DeOldify's decisive behavior regarding the luminance channel on a cyanotype?**

It hallucinates chroma onto a fixed luminance channel and never touches the L channel.

**What architecture components define DeOldify's generator?**

A NoGAN-trained generator with a self-attention layer and a perceptual loss drawn from a ResNet backbone.

**Which two chemicals coat the paper before UV exposure in the cyanotype process?**

Ferric ammonium citrate and potassium ferricyanide.

## Quick answers

| What two colorization pipelines does this guide test on cyanotype photographs? | This guide tests DeOldify against Stable Diffusion 2025 on cyanotype photographs. |
| --- | --- |
| What two properties does the guide measure when comparing the pipelines? | The guide measures dye-chemistry luminance preservation and skin-tone plausibility. |
| What is the three-class cyanotype rule? | It defines the three-class cyanotype rule — direct, contact print, or reproduction — that decides which pipeline to trust. |
| What does the Prussian blue density in a cyanotype actually encode? | The blue is a dye whose density encodes how much ultraviolet light hit each spot, serving as a proxy for exposure and not a record of the original scene's spectral reflectance. |
| How does DeOldify apply color to a cyanotype? | DeOldify hallucinates chroma onto a fixed luminance channel and never touches the L channel. |

Also worth reading: **Fixing DeOldify Skin-Tone Bias in LoC Colorization**: [Fixing DeOldify Skin-Tone Bias in](https://colorizethis.io/blog/fixing-deoldify-skin-tone-bias-in-loc-colorization.php) · **How to Use Stable Diffusion's ControlNet for Authentic Photo Colorization in 2024**: [How to Use Stable Diffusion's](https://colorizethis.io/blog/how_to_use_stable_diffusion_s_controlnet_for_authentic_photo.php) · **A critical look at AI photo colorization**: [critical look at AI photo](https://colorizethis.io/blog/a_critical_look_at_ai_photo_colorization.php)

### Related reading

- [Whether diffusion-based colorization improves or harms historical authenticity in archival photographs: a side-by-side evaluation of color fidelity, luminance preservation, and expert-rated historical accuracy](https://colorizethis.io/blog/whether-diffusion-based-colorization-improves-or-harms-historical-authenticity-in-archival-photographs-a-side-by-side-evaluation-of-color-fidelity-luminance-preservation-and-expert-rated-historical-ac.php)
- [Diffusion vs. GAN Colorization: Why PSNR Fails and What to Test](https://colorizethis.io/blog/diffusion-vs-gan-colorization-why-psnr-fails-and-what-to-test.php)
- [Diffusion Colorization: 92% Accuracy on Civil War Sepia Photos](https://colorizethis.io/blog/diffusion-colorization-92-accuracy-on-civil-war-sepia-photos.php)
- [Hist10K: Evaluating Diffusion vs Traditional Colorization](https://colorizethis.io/blog/hist10k-evaluating-diffusion-vs-traditional-colorization.php)
- [Fixing DeOldify Skin-Tone Bias in LoC Colorization](https://colorizethis.io/blog/fixing-deoldify-skin-tone-bias-in-loc-colorization.php)
- [Historical Garment Colorization: Fine-Tuning vs Zero-Shot Cuts FID 14%](https://colorizethis.io/blog/historical-garment-colorization-fine-tuning-vs-zero-shot-cuts-fid-14.php)

### Latest

- [Whether diffusion-based colorization improves or harms historical authenticity...](https://colorizethis.io/blog/whether-diffusion-based-colorization-improves-or-harms-historical-authenticity-in-archival-photographs-a-side-by-side-evaluation-of-color-fidelity-luminance-preservation-and-expert-rated-historical-ac.php)
- [Canon's firmware update (1.3) adds a BIG NEW addition to the R1 and R5 Mark II...](https://colorizethis.io/blog/canons-firmware-update-13-adds-a-big-new-addition-to-the-r1-and-r5-mark-ii-cameras.php)
- [Seedance 2.5 AI Video Creation: Verify Output Resolution, Delivery Limits, and...](https://colorizethis.io/blog/seedance-25-ai-video-creation-verify-output-resolution-delivery-limits-and-cost-before-colorizing.php)

Canonical: https://colorizethis.io/blog/cyanotype-colorization-deoldify-vs-stable-diffusion-2025-by-provenance-class.php
Markdown: https://colorizethis.io/blog/cyanotype-colorization-deoldify-vs-stable-diffusion-2025-by-provenance-class.php/index.md
