
ASSET LEDGER
The Night Huntress Asset Audit: A 98-File Canon Library and the "Highest Version Wins" Rule
A 98-file canon library, a highest-version rule, and byte-for-byte archive verification.
WORKFLOW

A locked face reference, a real production workflow, and the limits that remain.
AI series rarely die from bad plots. They die when the lead walks into episode three wearing a different face. This post breaks down the exact workflow we used on Night Huntress season one: how the reference image is made, how the prompts are written, and how the same lock works for video — so your character can survive a whole season too.
Face drift is a workflow problem, not luck. Crop one face close-up from the locked character art, reference it in every single generation — and the lead keeps the same face. Ours did, for all 8 episodes.
Across the first three episodes of Night Huntress, face drift was our most expensive source of redos: the same lead, Li Ye’er, would have sharp eyeliner in one shot and a softer, sweeter stranger’s face in the next. When we locked the production workflow on 2026-10-02, “character consistency” was written in as priority number one — a ranking bought with three episodes of rework.
The mechanism is simple once you see it. Describing a character in words means re-introducing her to the model on every shot. No matter how detailed the description, the model’s reading of it shifts slightly each time — and across dozens of shots, small shifts compound into a different person. Our conclusion: stop describing the face. Show it one.
A face reference is a close-up of the character’s face, cropped from the locked character art and saved as one single file that every generation in the season references. For Night Huntress, we cropped it from Li Ye’er’s original locked portrait (refs/yeer-face-closeup.jpg). From then on, every generation featuring her — stills, video, covers — cited the same image, with the prompt stating that her features follow the reference.
Three rules govern the crop:

Every Night Huntress prompt carries two fixed components. First, a verbatim style opener — “thick painterly anime illustration with visible brushstrokes, NOT photorealistic, NOT 3d render, NOT live-action” — which nails the art direction down and explicitly excludes photorealistic, 3D and live-action looks. Second, the feature anchor: the prompt states that the lead’s features match the reference image, with no room for “similar enough”.
Anything else the model likes to improvise gets written down per shot, in plain words. Rain is our standard example: only fully outdoor shots may show falling rain, while interior shots state “NO falling rain anywhere” and allow wet reflections and puddle shine only. It is the same logic as the face lock — whatever you don’t pin down, the model will happily invent.
For video we add one more input: a style reference image (style-ref-shenye-original.jpg) to keep the brushwork consistent in motion. On 2026-10-14, during full-length pipeline testing, we ran a controlled comparison on a two-character noodle-stall shot (test-shot02): same script, same first frame, one variable — whether the face reference was supplied.
| Version | Setup | What happened to the face |
|---|---|---|
| v1 | First + last frame drive, no face reference | Face drifted softer and sweeter; proportions moved |
| v2 | First frame + face reference as the second input, plus a [face lock] instruction | Sharp eyeliner and deep-red lips back to the locked design; proportions matched; four sampled frames, same person |
| v3 | v2 plus a style lock (brushwork and face shading locked too) | Features and makeup stable throughout; face shading still slightly smoother than the reference — not fully solved |
The result went straight into the workflow document: any shot with a face toward camera now defaults to “first frame + face reference” mode. The lock holds for video — but only if you pick the right input mode, rather than copying the stills recipe unchanged.

Almost nothing in generation fees: the reference is made once, and each generation simply cites one extra image. The real cost is verification time — every output gets frame-checked by a human, and that hour is not negotiable.
| Item | Notes | Cost |
|---|---|---|
| Building the reference | Crop + resize from the locked art, one-time | About 20 minutes |
| A/B validation (2026-10-14) | The same shot generated three ways (v1 / v2 / v3) | 3 generations |
| Frame-by-frame QA | Stills and video checked by eye, never outsourced to a metric | About 1 hour per episode |
| The workflow itself | One extra reference image per generation | Effectively zero — what it saves is whole-shot redos |
The full season-one production ledger — generation counts, subscriptions, the complete time account — is a separate post, and it will be published here in full.
House rule: this section is never skipped.
Recommended, with conditions — the face-reference workflow works: across 8 episodes of Night Huntress, the lead kept one face, not by luck but because every generation cited the same reference. Two conditions: (1) the reference must be cropped from the locked character art, never chained from generated frames; (2) human frame-checking stays in the loop, because extreme angles will still drift. If you are producing a multi-episode AI series, this is the first piece of infrastructure to build.
A face close-up cropped from the character’s locked, final art. The source matters more than the crop: never chain a reference from an AI-generated frame, because each generation compounds the error until the face is no longer the same person.
Yes. On Night Huntress, every generation featuring the lead — stills and video alike — cites the same face close-up, and the prompt states that her features follow it. No exception shots.
No. It cuts drift dramatically, but full profile and heavily occluded shots remain risky. Our practice is to frame-check every output by eye and redo any shot where the face has moved.
Not quite. Stills just cite the face reference. For video, shots with a face toward camera work best in “first frame + face reference” mode instead of the usual first/last-frame pair — and we add a separate style reference to keep the brushwork consistent in motion.
No. The reference is a one-time, roughly 20-minute job, and citing it in each generation costs nothing extra. The real cost is human QA — about an hour per episode — which we consider non-negotiable.
Full reviews, pricing and alternatives for the image and video generators live in the DC Affiliate review library — hands-on, with costs, like everything here.
This pipeline is available as production and consulting at David Chen Studio: from character bible to a delivered season, built to the Night Huntress standard.