Module 01 · The AI Video Stack in 2026
Setting Up Your First AI Video Project Folder
Open lesson + course map
On this lesson
Course outline
Module 1 · The AI Video Stack in 2026
Module 2 · Scripting for AI Video
Module 3 · AI Voice and Narration
Module 4 · Generative Video With Veo
Module 5 · AI Avatars and Presenter-Style Video
Module 6 · Editing and Assembly in CapCut
Module 7 · Video Service Packaging
An AI-video project combines briefs, scripts, voice takes, source media, generated clips, edit projects, rights evidence, and exports. Mixed files can lose an approved take or send an asset you may not use.
In this lesson, you will build a project-template folder you can duplicate for every video. You will also create a naming cheat sheet and a rights log so an editor can move from source files to the approved export without guessing.
// concept
Build the Same Folder Tree for Every Video
Create an empty folder named _VIDEO_PROJECT_TEMPLATE, then reproduce this tree exactly.
_VIDEO_PROJECT_TEMPLATE/
├── 00_brief/
│ ├── brief.md
│ └── references/
├── 01_script/
│ └── script_v01_YYYY-MM-DD.md
├── 02_voice/
│ ├── takes/
│ └── approved/
├── 03_assets/
│ ├── source/
│ ├── generated/
│ ├── licenses/
│ │ └── rights-log.csv
│ └── consent/
├── 04_edits/
│ ├── project/
│ ├── proxies/
│ └── autosave/
├── 05_exports/
│ ├── review/
│ └── delivery/
├── 06_thumbnails/
│ ├── source/
│ └── exports/
└── README.mdNever overwrite downloaded or recorded originals in source. Put AI outputs in generated, license proof in licenses, and signed likeness or voice permissions in consent.
On Windows PowerShell, create the template with:
$root = "_VIDEO_PROJECT_TEMPLATE"
$folders = @("00_brief/references","01_script","02_voice/takes","02_voice/approved","03_assets/source","03_assets/generated","03_assets/licenses","03_assets/consent","04_edits/project","04_edits/proxies","04_edits/autosave","05_exports/review","05_exports/delivery","06_thumbnails/source","06_thumbnails/exports")
$folders | ForEach-Object { New-Item -ItemType Directory -Force -Path "$root/$_" | Out-Null }
New-Item -ItemType File -Force -Path "$root/README.md","$root/00_brief/brief.md","$root/03_assets/licenses/rights-log.csv" | Out-Null// concept
Name Versions So “Latest” Is Visible
Use lowercase words separated by hyphens, a two-digit version, an ISO date, and the extension:
[project]_[asset]_[description]_v[NN]_[YYYY-MM-DD].[ext]| Stage | Good filename | What changes the version? |
|---|---|---|
| Script | chai-guide_script_roman-urdu_v03_2026-07-18.md | Words, timing, or approved claims change |
| Voice | chai-guide_voice_take-02_v01_2026-07-18.wav | New generation or recording |
| Generated clip | chai-guide_gen_kettle-closeup_v02_2026-07-18.mp4 | Prompt, seed, framing, or clip changes |
| Review export | chai-guide_review_vertical_v04_2026-07-18.mp4 | Timeline changes after feedback |
| Delivery export | chai-guide_delivery_vertical_approved_2026-07-19.mp4 | Client explicitly approves that export |
Do not use final, final-new, or use-this-one. Increment v04 to v05 without replacing v04, and record the approved filename in README.md.
Start rights-log.csv before importing media. Use one row per external, generated, or human-likeness asset:
asset_file,kind,source_url_or_owner,license_or_permission,proof_file,restrictions,checked_date
chai-guide_source_shop-front_v01_2026-07-18.jpg,recorded,project-owner,owner-created,03_assets/licenses/owner-note.md,no-third-party-faces,2026-07-18
chai-guide_gen_kettle-closeup_v02_2026-07-18.mp4,generated,tool-name,check-current-tool-terms,03_assets/licenses/terms-note.md,review-disclosure-needs,2026-07-18These sample rows are not proof. Save the actual license, receipt, permission message, or signed release; a URL alone does not prove reuse rights.
// concept
Protect the Edit-to-Export Handoff
Import from 01_script, 02_voice, and 03_assets; save the editor project in 04_edits/project. Do not move linked media mid-edit. Use proxies for lower-resolution copies. Send review renders to 05_exports/review and only approved files to delivery.
Keep one device copy and one cloud copy. Since sync can copy deletions, test recovery with a harmless file. Agree client retention and deletion dates; never put private data in README.md.
// worked_example
Worked Example
In this hypothetical Lahore home-food project, the folder contains script latest.docx, voice2.mp3, download (7).mp4, final-final.mp4, and untracked music. Nobody can identify the generated clip or music rights.
Duplicate the template as lahore-lunchbox-01. Rename the script lunchbox_script_english_v01_2026-07-18.docx, narration lunchbox_voice_take-02_v01_2026-07-18.mp3, and export lunchbox_review_vertical_v01_2026-07-18.mp4. Put download (7).mp4 in generated only after verifying its project account.
Replace the unverified music with a track licensed for this use, save proof under licenses, and log attribution terms. Relink files, export v02, and write this handoff in README.md:
EDIT PROJECT: 04_edits/project/lunchbox_edit_v02_2026-07-18
REVIEW EXPORT: 05_exports/review/lunchbox_review_vertical_v02_2026-07-18.mp4
RIGHTS LOG: 03_assets/licenses/rights-log.csv
STATUS: sample review only; not approved for publicationNow the questionable track is gone, origins are traceable, and the next editor can identify the review export.
// failure_cases
Failure Cases to Diagnose
6 cases to diagnose
One `assets` pile
sources and generated clips are mixed. Split and log them.
Versions overwritten
final.mp4replaced a prior cut. Restore it and use numbered versions.Rights proof lives in chat
export the permission into access-controlled
consentorlicensesstorage.Editor links break
return moved assets to their paths, relink once, and freeze the structure.
Review and delivery are mixed
separate them and record approval in the filename and
README.md.Sync is mistaken for backup
test version recovery and keep a local checkpoint.
// pakistan_angle
Pakistan Angle
During load-shedding, create a local checkpoint before the expected outage and close the editor cleanly if your UPS warning appears. Keep proxy media and the current edit locally; queue large source uploads and delivery exports for a stable connection or an off-peak window. Do not rely on a half-synced cloud icon—open the cloud copy from another device before deleting anything local.
USD storage subscriptions can become expensive in PKR after exchange-rate movement and card fees, so check the provider's current official plan before paying. Start by archiving only approved masters and required source evidence, within the retention agreed with the client. Restrict access to folders containing Pakistani phone numbers, CNIC scans, staff faces, or voice-consent records, and delete them on the documented date.
// hands_on
Hands-On Exercise
6 steps
Create
_VIDEO_PROJECT_TEMPLATEwith the tree above, by command or manually.Put one harmless practice script, voice file, visual, and export into the correct folders; keep source and generated visuals separate.
Rename all four files with the project, asset, description, version, and ISO date convention.
Add each external or generated asset to
rights-log.csv, including its actual proof path and any restriction.Put the filename formula, current edit, review export, delivery export, and status in
README.md.Copy the folder to local and cloud storage, then restore one test file without touching the working copy. Done means the reusable project folder and naming cheat sheet exist, the rights-log rows point to real proof, and another person can identify the current review export without asking you.
// completion_rubric
Completion Rubric
6 checks — tick as you verify
// sources
Sources
2 official sources — check every claim yourself
// check_yourself
Check yourself
4 questions · answers and options are taken word-for-word from this course
1 / 4 · diagnose
Your work shows this failure mode: “Versions overwritten.” The lesson describes it like this: “`final.mp4` replaced a prior cut.” What does the lesson tell you to do about it?