REBOOT · Erasmus+ KA220-HED — Project No. 2025-1-CY01-KA220-HED-000351980 — ERUDITA ARG, cross-episode technical record

Production
Problems

Production
Problems

Every category of problem the HeyGen–Claude–Seedance 2.0 pipeline has actually produced across the Didactic Unit Library so far, with the real example each one came from, so the next unit doesn't rediscover it the hard way.

36 examples 7 categories Sourced from DU_00–DU_05 Technical reference
About this document

Why this exists

DU_01 was the first unit in the Didactic Unit Library to keep a structured, cross-episode catalog of production problems, in its own "Known production problems" section. Every unit since has pointed back to that one catalog instead of repeating it. This document pulls that catalog out on its own and expands it with everything the other units have since found and fixed, so the whole record lives in one place instead of being spread across five files.

Method: every example below is drawn directly from another unit's own Production log, Lessons learned, Known production problems, or Reusable QA checklist section, exactly as that unit already describes it, with a source tag pointing back to where it lives. Nothing here is reconstructed from outside those documents. Where a category or a unit has nothing to add yet, that is stated plainly rather than filled in.

Status by unit, as of this compilation: DU_00 and DU_02 each have a full, generated episode behind them and contribute real bugs with root cause and fix. DU_04 is mid-production and contributes the largest share of examples, several still evolving as its own remaining clips are generated. DU_01 contributes the original categorized catalog itself, written before its own first clip. DU_03 and DU_05 have not generated a clip yet; their sections currently hold only creative and legal judgment calls made while writing their scripts, not generation bugs, and will add to this catalog once their own production starts.

This is a standalone technical reference, not a numbered Didactic Unit, it documents the pipeline, not an episode. It will need updating every time another unit's Lessons learned or Known production problems section gets real content, the same running-record discipline the rest of the series follows: add a new dated entry, never rewrite one that's already here.

The catalog, by category

Seven categories, one growing list

The same seven categories DU_01 defined at the start, each now carrying every concrete example on record. A source tag after each item names the unit and the exact entry, bug, or checklist item it came from.

01

Generation limits

Platform constraints no amount of better prompting removes, only works around.

  • One avatar per shot. No scene with two or more characters can be rendered in a single generation, ever; every multi-character moment is built from separate singles and assembled in editing. (DU_01, §09)
  • A single clip caps at roughly 10–15 seconds. Any line or monologue that runs longer has to be split into sequential sub-clips continuing one uninterrupted gesture, not re-described as a new action. Esteves' 146-word closing address became five clips (16a–16e); DU_04's closing monologue became three (14a–14c). (DU_01, Entry 2 · DU_04, Entry 3)
  • The avatar-chip selector does not persist state. It defaults back to the last-used avatar, or an unrelated leftover avatar from a prior session, on every fresh page load, silently swapping the character mid-production unless it's reselected before every submission. Cost Episode 00 multiple reshoots the first time it was found. (DU_01, §09)
  • Generate silently does nothing if no Avatar chip is attached. A Media-only or reference-photo attachment is not enough to fire a generation; at least one Avatar chip is required. (DU_04, production notes)
  • No persistent "previous generation" reference. Visual consistency across a character's shots, wardrobe and likeness alike, is manual discipline only; the platform does not remember or enforce it. (DU_01, §09)
  • Renaming a clip from its own detail page doesn't reliably save. It reverts on reload. The reliable method is the Projects grid card's "…" menu → Rename, then triple-click the field to select all before typing. (DU_04, production notes)
02

Prompting & spec omissions

The technical mistakes that are actually preventable, once the pattern is known.

  • Voice tone stated as one adjective instead of a contrast pair. "Quiet, measured, without warmth" read as flat and creepy; "warm, urgent and grave, protecting the listener, never menacing" is what actually worked, after a full six-shot reshoot. State it as "X, never Y" from the start. (DU_00, Bug 2 · DU_02, Pre-flight §12)
  • "The room is dark" and "the face is dark" are not the same note. A dark environment needs its facial fill-light stated separately and explicitly, or the reshoot fixes the wrong half of the complaint. (DU_00, Bug 2 / Deep dive §11)
  • Aspect ratio decided after generation instead of composed for. A scene shot in landscape and center-cropped to 9:16 lost both characters out of frame; decide and state the target ratio before generating. (DU_02, §10 Format case study · Pre-flight §12)
  • "Silent" left ambiguous. HeyGen's default "silent" render was not true digital silence, it carried faint page-turning and breath at roughly −45 LUFS, which a later loudness-normalization pass amplified by ~27 dB straight into the next clip's first word. State explicitly whether a silent beat should be true silence or carry ambient sound. (DU_00, Bug 3 · DU_02, Pre-flight §12)
  • Environment paragraph drifting between shots in the same scene. Small wording drift produced a visibly different background, the "Irish pub" version of the same bar. Repeat the paragraph verbatim across every prompt in a scene. (DU_02, §08 Checklist · Pre-flight §12)
  • A line's word count not checked against the duration cap before it's treated as one shot. Roughly 35–38 words is the safe ceiling at a natural pace; past that, plan the split before generating, not after. (DU_01, §09)
  • Exact on-screen sign text dictated in the prompt gets misspelled. Forcing a retry produced a different misspelling and drifted the sign's design instead of fixing it. The fix is describing background text generically and accepting illegible signage as the trade-off, not fighting the model for exact spelling. (DU_04, Entry 7)
  • Wardrobe drifts to a different garment on later clips unless the prompt states an explicit contrastive clause ("not a knit sweater," "not a V-neck sweater") every single time, not just in the first shot's setup. (DU_04, Entry 7)
  • A "no color grading" instruction alone doesn't stop a sepia/warm-tint drift. Two clips rendered true grayscale, then five in a row drifted warm despite an existing "no color grading of any kind" clause; only a pixel/channel-diff measurement caught it, not the eye. The fix names sepia, warm, cool and vintage tints explicitly and states the rule applies "uniformly from first frame to last." (DU_04, Entry 8)
  • A character's own name mispronounced by TTS when spoken aloud ("Rui" rendered as "Rio"). Remove the vocative from a character's spoken lines entirely; it can still appear in non-spoken scene description. (DU_04, Entry 9)
  • A character duplicated in frame, an identical static double standing beside them, easy to miss in a busy crowd background on a small contact sheet. Fixed with an explicit clause naming both characters and stating there is only one of each anywhere in the shot. Hit twice, on two different characters, in two different clips. (DU_04, Entry 11)
  • A line that "sounds rushed" is competing with a fixed render length, not a delivery problem to prompt away with "speak slower" alone; shorten the line and add an explicit pacing instruction. (DU_04, QA checklist · Entry 12)
03

Post-production fixes

Problems introduced after generation, in editing, mixing or subtitling.

  • Burned-in subtitles rendered 2–3× the intended size until the video's real resolution was set explicitly in the filter; short captions wrapped onto two lines until wrap-style was forced to explicit breaks only. (DU_01, §09)
  • A trim point that looks correct in the command can still be wrong in the delivered file. An episode opened 8 seconds into the source, cutting the establishing shot; the same clip's end-trim landed half a second before the line actually finished. Both were only caught by checking the file's actual first/last frame and a transcript, not by trusting the numbers in the command. (DU_02, §07 Bug 1 & Bug 2)
  • A uniform crossfade duration at every join is wrong wherever silence differs. A "silent" shot with a faint noise floor, loudness-normalized to match the dialogue clips, got smeared across the next clip's first word by a fixed 0.5s crossfade; other joins had no lead-in silence at all, so the same fixed crossfade faded in the first word itself. The fix recomputes each join from that clip's own measured silence, and keeps video and audio crossfade durations numerically identical, or lip-sync drifts cumulatively. (DU_00, Bug 3)
  • Burned-in subtitles timed with a fixed per-clip offset appear before the voice. Real speech onset varies a lot clip to clip, some short reaction lines don't start until 7–9 seconds into a 10-second clip. The reliable fix reads true onset/offset off an audio spectrogram per clip, not a guessed uniform lead-in. (DU_04, Entry 13)
  • A finished export can exceed a delivery platform's upload-size limit and needs re-encoding at a lower, still-acceptable bitrate before it can actually be sent. (DU_01, §09)
  • A sound bed that "measures present" in the file can still be inaudible. A stacked volume multiplier plus a slow fade-in put a bed at roughly −61 to −65 dB, technically in the file, well under audible threshold. A deliberately audible target level (here, ~15 dB below dialogue) is a measured number, not a feeling. (DU_00, Bug 4)
04

Publishing & hosting

Problems that only show up once a file leaves the editing stage.

  • A unit file missing an explicit <!DOCTYPE html> / <meta charset="UTF-8"> declaration renders garbled text on iOS and Android. Caught on the library page itself; now a standing requirement on every unit file. (DU_01, §09)
  • WordPress silently renames a re-uploaded file if one of the same name already exists, adding "-1" suffixes, which has broken links in the library more than once until the real live URL was confirmed by hand. (DU_01, §09)
05

Creative & legal judgment calls

Not bugs, decisions, the ones this project keeps needing to make the same way.

  • Reference footage from copyrighted material gets described for its visual grammar only, never reproduced or quoted at length. (DU_01, §09)
  • A character name changed specifically because an early draft referenced a real, historically significant person (the Carnation Revolution captain) rather than a fictional one. (DU_01, §09)
  • A closing visual modeled literally on a specific film's recognizable device (a red-pill/blue-pill choice) was flagged as a copyright risk before generation and replaced with an object already native to the story, two bobbins of lace thread, doing the same dramatic work. (DU_03, Entry 4)
  • Any real, identifiable living person's likeness needs their own actual knowledge and consent before appearing as an AI avatar, never assumed. (DU_01, §09)
  • A brief's instruction can be interpreted reasonably at the time and still turn out wrong. "Bring the photo onto the screen" became a freeze-frame of a performer's face instead of the intended archival photograph; once the episode was finished and hosted, per direction it was not rebuilt, and the record states plainly what actually shipped rather than what was intended. (DU_02, §11 Session log)
  • Portraying a real place in an unflattering register (night, dark, poverty-coded) risks reading as discrimination toward the real communities and partners involved, independent of whether it's dramatically justified, checked and corrected before generation, not after. (DU_04, Entry 2)
  • A scene that stays rhetorical can fail to land emotionally even when it's well-argued, if the human cost is only ever discussed as a category and no character's composure ever actually breaks. Naming one specific, named person instead of an abstraction, and adding a single silent beat where a line doesn't come, fixed it without touching any already-approved dialogue. (DU_03, Entry 4)
06

Cost

What actually spends credits, and what doesn't.

  • Every regeneration spends real, metered credits. Only preventable spec-omission fixes are genuinely credit-saving; a first look at how lighting or blocking actually renders is often unavoidable creative judgment and costs a reshoot regardless of how careful the prompt was. (DU_01, §09)
  • A plan's Cinematic/Seedance-specific quota can exhaust separately from, and before, the account's general "credits left" counter shown elsewhere. The two are not guaranteed to track the same pool. (DU_00, Bug 1)
  • Production can stop mid-session on a paywall with no recoverable draft of the prompt in progress; an upgrade purchase's own confirmation screen can also appear stuck indefinitely even after the charge has already gone through, confirmed only by reloading the account panel directly. (DU_00, Bug 1)
  • A mid-cycle plan upgrade can inherit the old plan's renewal date rather than starting a fresh billing cycle. (DU_00, Standing note)
  • Declining a paid upgrade when a monthly quota runs out is a legitimate production decision, not a fallback of last resort, waiting for the next billing cycle and re-planning the remaining shots around it is a normal response. (DU_04, Entry 12)
07

Process limits, the AI assistant's own side

Constraints on how Claude itself works inside this pipeline.

  • No live access to the generation platform. Every prompt is checked before submission and every clip analyzed after delivery, never generated or watched in real time. (DU_01, §09)
  • Browser automation can drive the platform's UI once the user is already logged in, but never enters credentials, never pastes a prompt, and never clicks Generate without the user's confirmation first. (DU_01, §09)
Reusable QA checklists

What actually catches these, in practice

Four checklists, each grown directly out of the bugs above rather than written in the abstract. Some items repeat across two units independently, which is itself a signal they're worth keeping.

Before generating, continuity

After generating each clip

Open items

Still open

Production log

Entries, in order

Same discipline as every unit in this series: logged as it happens, not reconstructed afterward.

2026-09-10, Entry 1

Compiled from DU_00 through DU_05's own documentation, at Walter's request

Walter asked for a technical reference collecting the most common problems across DU_00 through DU_05, using the examples already written into those units. Built by reading each unit's own Production log, Lessons learned, Known production problems, and Reusable QA checklist sections directly and sorting every concrete example into DU_01's original seven-category catalog, the same categories that catalog was built around from the start.

Coverage at close of this entry: DU_00 and DU_02 contributed real, generated-and-shipped bugs with root cause and fix. DU_04 contributed the largest set, drawn from its own in-progress shoot. DU_01 contributed the categorized framework itself. DU_03 and DU_05 contributed only creative/legal judgment calls, since neither has generated a clip yet, noted honestly rather than padded out.

Status at close of this entry: first version complete, not yet reviewed by Walter.

2026-09-10, Entry 2

Rebuilt with its own design, kept out of the DU numbering

Walter asked for a different visual system from the narrative units' warm archival palette, and for this document to not carry a DU number at all, since it documents the pipeline itself rather than an episode. Rebuilt using the same palette and type system as the Didactic Unit Library's own index page (pink, blue and yellow on cream paper, Archivo Black display, Newsreader body serif, IBM Plex Mono for labels), so it reads as a companion to the ledger rather than as another episode dossier. Content and structure unchanged from Entry 1.

2026-09-10, Entry 3

Palette swapped from pink to green

Walter asked to try other colors, green and blue. Swapped the ledger palette's pink accent for a green (kept blue and the yellow highlight as-is), everywhere that color was used: the masthead background, category-card accents (alternating green/blue), status chips, and the log's own date tags. Type system, layout and content unchanged from Entry 2.