Fake Ancestor Portraits and Fake Haircuts: What Lands, What Does Not, and When You Have to Say So

Six generated runs on fake ancestor portraits and fake haircuts: naming the print process moved the warm fade twelvefold but barely touched the contrast, the haircut kept the face at 0.994 and the light on the same side, and the disclosure rule is about timing.

*No credit card required
Two family portraits, one clean black and white, one faded sepia, with tonal measurements under each.
CapCut
CapCut
Sep 28, 2026

Before making anything I went looking for how this is done, and the search results split cleanly in two. The craft side — vintage family portraits — is full of people explaining the process. The prank side is mostly people making a relative believe something distressing is true, with the same tag repeating across the biggest posts. The technique is the same either way; what separates them is a sentence said afterwards, and how long afterwards.

Half one: the portrait that looks its age

The complaint about these is that the grain and the fading come out wrong — it reads as a modern photo with a filter. So two runs went to the AI image generator at 16:9 with the same invented family, changing only the last sentence.

Run 1. It is an old family photograph from about 1935.

Run 2. It is a silver gelatin contact print that has been in a drawer for ninety years. The blacks sit well above solid black and the highlights stop short of paper white, so the whole print is a narrow band of tones. It has faded toward warm brown, strongest in the lighter areas. Fine even grain across the whole frame, including the backdrop. The corners are a little darker than the centre. The paper surface is slightly uneven.

Two family portraits, one clean black and white, one faded sepia, with tonal measurements under each.

The second run looks ninety years old. Measured, almost none of what was asked for is why.

Run 2 does look like a print that has sat in a drawer. But of the five things its sentence asked for, one arrived: the warm fade, with b* going from 1.62 to 20.68. The black point lifted from 11.8 to 20.7 — nine levels out of 255, against a request for blacks well above solid black. The white point did not move at all, at 221.8 in both. The tonal span narrowed by four percent, against a request for a narrow band. The grain measurement is the same in both pictures, 2.84 and 2.79, against a request for fine even grain across the whole frame.

So what makes it read as old is the color. The tonal compression that real prints have — the thing that stops a photograph looking freshly made — did not come from the prompt, and if you want it you have to put it in afterwards with a color adjustment, where a black-point lift is one slider rather than a sentence that buys nine levels.

Run 2 also added a white paper border nobody asked for, which is doing some of the work of looking like an object rather than an image.

Half two: the haircut

The other half is a photo of somebody with hair they do not have. The worry is the hairline and the lighting: a pasted-on haircut lit from the wrong side is the giveaway. So a portrait was generated with a deliberately one-sided light, and then sent back through image to image with the hair changed.

The first wording said to change only the hair and then listed everything to keep — face, skin, expression, t-shirt, wall, lighting. The second put the cut first and kept the preservation list to one line.

What worked. Cut this woman's hair short. Her long hair is gone: it now ends level with her jaw in a blunt bob and does not reach her shoulders at all, and her neck and the tops of her shoulders are bare. Same face, same grey t-shirt, same grey wall, same light from the left of frame.

Before and after a generated haircut, with sampling boxes on the face and on the hair at each temple.

The face is matched against the reference; the two small boxes sit on hair at the temples, which is hair in both pictures.

The face comes back at 0.994 against the reference, at the same scale and position — so it still looks like her, which is the whole point of the joke and also the reason to be careful with it.

The lighting holds too. Across her face, the left half over the right half measures 1.717 before and 1.739 after: the light still falls from the same side, by almost the same amount. At the temples the hair goes from 1.380 to 1.595, a bigger rise, which is what a shorter cut does — a bob exposes the shadow side of the neck and puts a smoother surface toward the light. Nothing here is lit from the wrong direction.

The hairline I did not get a trustworthy measurement of, so there is no number for it here. Both frames are printed above at full size for anyone who wants to judge it by eye.

What to write

Instead of
Write
Why, from these runs
"an old photo", "vintage", "1935"
the print: faded warm, strongest in the light areas
The warm cast is the one thing that moved, by a factor of twelve
asking the prompt for lifted blacks and a narrow range
a color adjustment afterwards
The sentence bought nine levels of black point and four percent of span
"change only her hair" followed by a list of things to keep
the change first, in its own sentence, then one short line of what stays
This is the wording that produced the cut
"short hair"
"ends level with her jaw and does not reach her shoulders at all"
Saying what is gone gives the edit somewhere to stop
a photo of the person you are pranking
your own photo, or a generated stranger
Everything below

Where the line is, and when

The reason to put a clock on the disclosure rather than a condition is that the condition tends not to arrive. "I'll tell them if they ask" fails when they do not ask and instead tell somebody else, and by then the picture has moved on without you. The same conversation is a boundary you can actually check: either you said it while they were still looking at it, or you did not.

Where this stops

Six runs, two subjects, one model. Each condition ran once, so the size of every number here is a single draw — the warm cast moving twelvefold is large enough to act on, and the nine levels of black point are small enough to plan around, but neither is a rate.

The haircut result is the narrower claim of the two. It says that this cut, on this portrait, kept the face and the light direction. A more extreme change, a harder light or a face at an angle would all need checking again, and the measurement that would have caught a bad hairline is the one I did not manage to build.

Configuration and cost. All stills: Image, Seedream 4.5, 16:9, 2K, Standard — the panel declared 1 credit per send, six sends. One of those six was an accidental duplicate of the portrait request, and one was an earlier wording of the haircut whose result I could not retrieve cleanly from the interface. Total 6 credits, read from the send panel on each send, 2026-09-21. Credit costs are tied to that configuration on that date.

Files.plain.png and spec.png (the two portraits), base.png and bob2.png (the portrait before and after the cut), all 2560×1440.

The prompt blocks are reproduced as they were sent, including their spelling.

How the numbers were taken, and what was thrown away. Black and white points are the 1st and 99th percentiles of Rec. 709 luma; the warm cast is the median b* in CIELAB; grain is the median of a 5×5 local standard deviation among midtones. The second portrait has a white paper border and a dark inner frame, and both were detected and excluded before measuring — the measured area is drawn in the working figures. The tonal measure was self-tested by compressing one image to known ranges, which it tracked monotonically. The face match is multi-scale normalized cross-correlation of the eye and nose region, self-tested against known rescalings at 1.00, 0.90 and 1.15 and recovering each exactly. The lighting measure is the ratio of median brightness between two small patches mirrored about the face's own center line, self-tested by applying known left-to-right brightness ramps, where it tracked the prediction to within two percent. Three sampling boxes were built and discarded along the way: two that turned out to sit on cheek rather than hair, and one that stayed on the wall after the haircut shortened the hair out from under it — the temple patches replaced them because they are hair in both pictures. One downloaded file was found to be byte-identical to the reference it was supposed to differ from, which is why the earlier haircut wording has no result reported here rather than a wrong one.

Hot and trending