AI Short Drama Director
Overview
Run a staged AI short-drama production pipeline. Preserve the story while turning it into stable, reviewable artifacts for GPT Image 2 and Seedance generation.
Start Every Project
- Read references/00-workflow.md.
- Inspect the project folder before generating anything. Reuse existing scripts, character images, scene images, prop images, effect images, plans, and Segment packages.
- If the project has not been initialized, run:
python3 scripts/init_project.py <project-folder> --episode 第一集 --mode confirm-each
- Ask the user to choose one execution mode:
confirm-each: pause after every stage and offer both确认后继续and从这里自动完成.auto-from-current: lock accepted artifacts and finish all remaining stages automatically.
- Even in automatic mode, pause on any hard-stop condition defined in references/00-workflow.md.
Run the Pipeline
Execute stages in order. Resume from the first incomplete stage when artifacts already exist.
| Stage | Name | Read before executing | Required output |
|---|---|---|---|
01 |
Script review | references/01-script-preprocess.md | Shootability diagnosis and optimization strategy |
02 |
Director-ready script | references/01-script-preprocess.md | Engineering-enhanced script |
03 |
Character look development | references/04-visual-assets.md | Approved identity sheets and expression sheets |
04 |
Internal shot planning | references/02-shot-planning.md | Scene, Segment, duration, continuity, and shot design |
05 |
Execution plan table | references/03-plan-table.md, references/07-sd-vertical-v2-1.md | .xlsx table and HTML preview with new and legacy AI prompt columns |
06 |
Element images | references/04-visual-assets.md | Reused or generated scene, prop, and effect assets |
07 |
Storyboard grids | references/05-storyboards.md | One labeled storyboard grid per Segment |
08 |
Seedance prompts | references/06-seedance-delivery.md | One independent Markdown prompt per Segment |
09 |
Segment packages | references/06-seedance-delivery.md | Prompt, numbered assets, and mapping manifest per Segment |
Apply Global Rules
- Preserve plot direction, character relationships, scene settings, key props, and every original spoken-text string.
- Treat dialogue, inner monologue, voice-over, narration, and authored subtitles as immutable source text. Preserve their wording, pronouns, sentence order, punctuation, repetitions, hesitations, and code-switching verbatim unless the user explicitly authorizes a rewrite.
- Add visible performance detail, spatial clarity, and camera logic. Do not add major events, reversals, relationships, or character-changing behavior.
- When generating Seedance prompts or prompt columns, enforce the director reasoning gate in references/06-seedance-delivery.md. Do not create final prompts by template filling, row-field paraphrase, keyword expansion, or unattended batch scripting. Each final prompt must be reasoned from the source script beat, a fixed scene floor plan, shot-appropriate camera design, visible screen composition, character intention, and dramatic purpose.
- Limit each Segment to at most
15seconds. Permit a shorter final Segment at the end of a scene. Start every new scene in a new Segment. - Keep shot-to-shot and Segment-to-Segment continuity explicit. End Segments on stable framing or completed action whenever possible.
- Use concrete names instead of ambiguous Chinese pronouns in action descriptions, blocking, asset mappings, and other production instructions. Never apply this rule inside dialogue, inner monologue, voice-over, narration, or authored subtitles.
- Prefer existing visual assets. Generate only missing identities, missing views, or missing execution-critical details.
- Use GPT Image 2 for generated visual assets. If GPT Image 2 is unavailable, pause and tell the user; do not silently substitute another model.
- When creating spreadsheet outputs, use the available spreadsheet capability and deliver both
.xlsxand HTML. - Auto-select the strongest visual candidate in automatic mode and keep rejected candidates in
淘汰图/for review.
Validate and Package
Before delivery:
- Before accepting Stage
02, run the dialogue fidelity check against the original source and the director-ready script:
python3 scripts/check_dialogue_fidelity.py <original-script> <director-ready-script>
Stop and restore the original wording if this check reports any missing or changed spoken text. Do not continue downstream with a failed Stage 02.
- Verify that the XLSX and HTML tables represent the same rows and required columns.
- Run prompt checks:
python3 scripts/check_segment_prompts.py <project-folder>/06-Seedance提示词
- Create each Segment package from a JSON manifest:
python3 scripts/package_segment.py <manifest.json> <project-folder>/07-Segment素材包
- Check that asset order matches
@Image1,@Image2, and subsequent references in that Segment prompt. - Report reused assets, generated assets, automatically selected images, rejected images, prompt-length warnings, and any unresolved hard stops.
Use Resources Selectively
- Read only the reference file needed for the current stage.
- Use
scripts/init_project.pyto create a predictable project structure and workflow state. - Use
scripts/check_dialogue_fidelity.pyto block any unauthorized spoken-text rewrite at Stage02. - Use
scripts/check_segment_prompts.pyto enforce prompt independence and delivery constraints. - Use
scripts/package_segment.pyto copy and rename Segment assets deterministically.