---
title: "AI Filmmaking Workshop — Dry-Run Testing Guide"
project: ai-filmmaking-workshop
type: testing-guide
created: 2026-04-29
version: 1.0
who: Workshop organizer (Ethan)
purpose: End-to-end verification of every tool, exercise, and workflow before the workshop
---

# AI Filmmaking Workshop — Dry-Run Testing Guide

Run through this **in order, start to finish**, exactly as a participant would. Time each step. Note every friction point. If anything fails, fix it or build a workaround before the workshop.

---

## Phase 0: Pre-Flight Check (Before Anything Else)

### 0.1 Verify All Accounts
Create fresh accounts for testing (don't use your personal ones — you need to confirm the signup flow works today):

| # | Service | Signup Test | Login Test | Notes |
|---|---------|------------|------------|-------|
| 1 | **ChatGPT** | [ ] | [ ] | |
| 2 | **ElevenLabs** | [ ] | [ ] | Voice cloning tested? |
| 3 | **Kling AI** | [ ] | [ ] | May require phone verification |
| 4 | **Sync.so** | [ ] | [ ] | API key generated? |
| 5 | **CapCut** (desktop) | [ ] | [ ] | Downloaded + installed? |
| 6 | **Suno** | [ ] | [ ] | |
| 7 | **HeyGen** | [ ] | [ ] | |
| 8 | **Canva** | [ ] | [ ] | |
| 9 | **Figma** (for Weave) | [ ] | [ ] | Weave accessible? |

**Fallbacks to identify:**
- [ ] If Kling signup blocked → Runway (https://app.runwayml.com) works as backup?
- [ ] If CapCut watermark is unacceptable → DaVinci Resolve installed and tested?
- [ ] If any service is down → Alternative identified?

### 0.2 Verify Network
These services are bandwidth-heavy. Test from the **actual workshop venue network** if possible:

- [ ] Download a 10MB file — what's the speed? (_____ Mbps)
- [ ] Upload a 10MB file — what's the speed? (_____ Mbps)
- [ ] All 9 services load without VPN?
- [ ] Any service blocked on venue WiFi? (Test: Kling is China-based, may be slow)

### 0.3 GPU Demo Station Check (if using)
- [ ] `nvidia-smi` shows GPU available
- [ ] `python -c "import torch; print(torch.cuda.is_available())"` → True
- [ ] MuseTalk repo cloned and dependencies installed
- [ ] MuseTalk weights downloaded from HuggingFace
- [ ] ComfyUI repo cloned, runs, accessible at http://127.0.0.1:8188
- [ ] ComfyUI can generate a test image (basic SD 1.5 workflow)

---

## Phase 1: Module 1 — Script to Storyboard

### 1.1 Script Generation
**Time this:** ______ minutes

- [ ] Open ChatGPT (or Claude)
- [ ] Prompt: *"Write a 3-line script for a 15-second commercial. Product: a smart lamp called 'Aurora.' Include one line of spoken dialogue."*
- [ ] Result produced? [ ] Yes [ ] No
- [ ] Quality acceptable for workshop demo? [ ] Yes [ ] No
- [ ] Copy script to clipboard/notes

**Alternative prompt to test:**
*"Write a 30-second short film script. Genre: sci-fi. One character. One location. 2-3 lines of dialogue."*

### 1.2 Keyframe Generation
**Time this:** ______ minutes

- [ ] Open DALL·E 3 (via ChatGPT) or Bing Image Creator (https://www.bing.com/images/create)
- [ ] Prompt: *"Cinematic wide shot of a modern minimalist desk at golden hour. A sleek smart lamp with warm amber glow. Photorealistic, 4K, cinematic lighting, shallow depth of field."*
- [ ] Image generated? [ ] Yes [ ] No
- [ ] Repeat 2 more times with different angles:
  - *"Close-up of the same smart lamp, warm light pulsing gently, macro lens, bokeh background."*
  - *"Medium shot of person reading book, illuminated by warm lamp light, cozy evening atmosphere, cinematic."*
- [ ] All 3 images generated? [ ] Yes [ ] No
- [ ] Character consistency acceptable across shots? [ ] Yes [ ] No

**Note:** Character consistency is the hardest part. For the workshop, acknowledge this limitation upfront. The "same seed" trick helps but doesn't solve it fully.

### 1.3 Storyboard Assembly
**Time this:** ______ minutes

- [ ] Open Canva
- [ ] Search "Storyboard" template → open one
- [ ] Upload 3 keyframe images
- [ ] Arrange in sequence → add shot descriptions below each
- [ ] Download/export as PDF or PNG
- [ ] Result readable? [ ] Yes [ ] No

---

## Phase 2: Module 2 — Video Generation

### 2.1 Image-to-Video (Kling AI)
**Time this:** ______ minutes (per clip)

- [ ] Go to Kling AI → Image-to-Video
- [ ] Upload Keyframe 1 (desk wide shot)
- [ ] Prompt: *"Camera slowly pushes in, lamp light gently fades on, subtle dust particles in the light beam. Cinematic, smooth camera movement."*
- [ ] Duration: 5 seconds
- [ ] Generate → wait for processing
- [ ] **Time:** ______ seconds to complete
- [ ] Download the clip

- [ ] Repeat for Keyframe 2 (close-up):
  - Prompt: *"Static macro shot, warm light pulses gently like breathing, subtle lens flare."*
- [ ] **Time:** ______ seconds

- [ ] Repeat for Keyframe 3 (person reading):
  - Prompt: *"Person looks up from book thoughtfully, then returns to reading. Natural movement, soft lighting."*
- [ ] **Time:** ______ seconds

**Critical measurement:**
- [ ] Total generation time for 3 clips: ______ minutes
- [ ] How many free credits used? ______ / 66 (Kling free tier)
- [ ] Will this work for 6–8 people simultaneously? [ ] Yes [ ] No
- [ ] **If no:** How many can generate at once before hitting rate limits? ______

**Fallback test:**
- [ ] Runway Gen-3 tested as backup? [ ] Yes [ ] No
- [ ] Hailuo/MiniMax tested? [ ] Yes [ ] No

### 2.2 Video Quality Check
Watch all 3 clips and rate:

| Clip | Motion Smoothness | Prompt Adherence | Artifacts | Usable? |
|------|------------------|-----------------|-----------|---------|
| Wide shot | /5 | /5 | /5 | [ ] |
| Close-up | /5 | /5 | /5 | [ ] |
| Person | /5 | /5 | /5 | [ ] |

---

## Phase 3: Module 3 — Voice & Audio

### 3.1 Voice Recording (for cloning)
**Time this:** ______ minutes

- [ ] Record 60 seconds of clean speech (your voice or a volunteer's)
  - Use phone Voice Memos app
  - Quiet room, phone ~15cm from mouth
  - Read any text naturally (news article, book passage)
- [ ] Export as WAV or MP3
- [ ] Transfer to computer
- [ ] Audio quality check: clear, no echo, no background noise? [ ] Yes [ ] No

**Workshop note:** Participants will record their own voices. Test this flow yourself first — some phone audio formats need conversion.

### 3.2 Voice Cloning (ElevenLabs)
**Time this:** ______ minutes

- [ ] ElevenLabs → VoiceLab → Add Voice → Instant Voice Cloning
- [ ] Upload your 60-second recording
- [ ] Name: "Workshop Test Voice"
- [ ] Labels: (optional)
- [ ] Click "Add Voice"
- [ ] **Result:** Voice created? [ ] Yes [ ] No
- [ ] **Time:** ______ seconds to process

### 3.3 Dialogue Generation
**Time this:** ______ minutes

- [ ] Go to Speech Synthesis
- [ ] Select "Workshop Test Voice"
- [ ] Generate Line 1: *"Light that understands you."* (neutral delivery)
  - [ ] Audio plays correctly?
  - [ ] Voice sounds like the recording? [ ] Yes [ ] No
  - [ ] Natural enough for a commercial? [ ] Yes [ ] No

- [ ] Generate Line 2: *"[Warm, smiling] Light that understands you."*
  - [ ] Does emotion tag change the delivery? [ ] Yes [ ] No

- [ ] Generate Line 3: *"[Quiet, contemplative] Light that understands you."*
  - [ ] Different from Line 2? [ ] Yes [ ] No

- [ ] Download all 3 as WAV files
- [ ] **Free characters used:** ______ / 10,000

**Test additional emotion tags:**
- [ ] `[urgent]` — works?
- [ ] `[whisper]` — works?
- [ ] `[angry]` — works?
- [ ] `[sarcastic]` — works?

### 3.4 Music Generation (Suno)
**Time this:** ______ minutes

- [ ] Go to Suno → Create
- [ ] Prompt: *"Cinematic ambient background music, soft piano, warm strings, 60 seconds, no drums, gentle crescendo"*
- [ ] Instrumental toggle: ON
- [ ] Generate → wait
- [ ] Listen to result
- [ ] Quality acceptable? [ ] Yes [ ] No
- [ ] Download as MP3/WAV

**Suno note:** Free tier generates 10 songs/day (5 generations × 2 songs each). This is enough for workshop but participants can't iterate endlessly.

### 3.5 Audio Cleanup (Adobe Podcast Enhance)
**Time this:** ______ minutes

- [ ] Go to https://podcast.adobe.com/enhance
- [ ] Upload one of your dialogue WAV files
- [ ] Wait for processing (~30 seconds)
- [ ] Download enhanced version
- [ ] Compare original vs enhanced — noticeable improvement? [ ] Yes [ ] No

### 3.6 Module 3 Deliverable Check
At this point you should have:
- [ ] 3 dialogue WAV files (different emotions)
- [ ] 1 background music file
- [ ] 1 cleaned dialogue file
- [ ] 1 voice clone saved in ElevenLabs

---

## Phase 4: Module 4 — Lip Sync (The Critical Test)

### 4.1 Sync.so Web Studio Test
**Time this:** ______ minutes

- [ ] Go to https://sync.so → Studio
- [ ] Upload: video clip from Module 2 (the "person reading" shot)
- [ ] Upload: dialogue WAV from Module 3 (Line 1: "Light that understands you")
- [ ] Click Generate
- [ ] **Wait time:** ______ seconds
- [ ] Download result
- [ ] Play result:

| Check | Pass? |
|-------|-------|
| Lip movement matches audio timing | [ ] |
| Mouth shape looks natural | [ ] |
| No visible seam around mouth | [ ] |
| Face identity preserved | [ ] |
| Overall quality acceptable | [ ] |

**Critical measurements:**
- [ ] Generation time: ______ seconds
- [ ] Free tier credits used: ______
- [ ] How many generations per free account? ______

### 4.2 Sync.so API Test (for advanced participants)
**Time this:** ______ minutes

- [ ] Get API key from https://sync.so/keys
- [ ] Install SDK: `pip install syncsdk`
- [ ] Run quickstart script (see comparison doc for code)
- [ ] Result received? [ ] Yes [ ] No
- [ ] API approach practical for workshop? [ ] Yes [ ] No (likely overkill)

### 4.3 MuseTalk Test (GPU Demo Station)
**Time this:** ______ minutes

- [ ] Navigate to MuseTalk directory
- [ ] Run: `python -m scripts.inference --input_video person_reading.mp4 --input_audio dialogue.wav`
- [ ] **Inference time:** ______ seconds
- [ ] Output video plays correctly? [ ] Yes [ ] No

| Check | Pass? |
|-------|-------|
| Lip movement matches audio | [ ] |
| Face region only (expected) | [ ] |
| Frame rate smooth (30fps+) | [ ] |
| Quality vs Sync.so | [ ] Better [ ] Similar [ ] Worse |

**MuseTalk note:** Face-only animation (256×256). Warn participants: neck and body won't move. This is a known limitation.

### 4.4 HeyGen Test (for comparison)
**Time this:** ______ minutes

- [ ] Go to HeyGen → Create Video
- [ ] Choose a free avatar OR upload your photo
- [ ] Enter dialogue: "Light that understands you."
- [ ] Generate → download
- [ ] Quality comparison vs Sync.so:

| Aspect | HeyGen | Sync.so |
|--------|--------|---------|
| Lip sync accuracy | /5 | /5 |
| Natural movement | /5 | /5 |
| Cinematic look | /5 | /5 |
| Best use case | Talking head | Dialogue shots |

### 4.5 The "Cheat Code" Test
The workshop teaches that most shots don't need lip sync. Verify this yourself:

- [ ] Take the "person reading" video clip
- [ ] Overlay the dialogue as voiceover (don't sync lips)
- [ ] Does it still work? [ ] Yes [ ] No
- [ ] **Teaching point confirmed:** When lips aren't clearly visible or the shot is wide, voiceover is indistinguishable from synced dialogue for most viewers.

---

## Phase 5: Module 5 — Editing & Assembly

### 5.1 CapCut Assembly Test
**Time this:** ______ minutes

- [ ] Open CapCut Desktop
- [ ] Import all video clips (3 from Module 2 + 1 lip-synced from Module 4)
- [ ] Arrange on timeline in sequence
- [ ] Add dialogue WAV on audio track
- [ ] Add background music on second audio track
- [ ] Lower music volume when dialogue plays (audio ducking)
- [ ] Add simple crossfade between clips
- [ ] Add title card: "Aurora — Light that understands you."
- [ ] Export: 1080p, 24fps, H.264
- [ ] **Export time:** ______ seconds
- [ ] Play exported video:
  - [ ] All clips play in sequence
  - [ ] Audio syncs with video
  - [ ] Music levels correct
  - [ ] Title card appears
  - [ ] **Any watermark?** [ ] Yes [ ] No

**If watermark:** Mark CapCut as "demo only" and recommend DaVinci Resolve for final export.

### 5.2 DaVinci Resolve Test (alternative)
**Time this:** ______ minutes

- [ ] Open DaVinci Resolve
- [ ] Repeat same assembly as CapCut test
- [ ] Export
- [ ] **No watermark?** [ ] Yes (confirmed — Resolve is truly free)
- [ ] Learning curve acceptable for workshop? [ ] Yes [ ] No
- [ ] **Decision:** Primary editor = [ ] CapCut [ ] Resolve (pick one for workshop)

---

## Phase 6: Module 6 — Workflow Tools (ComfyUI Primary)

### 6.1 ComfyUI Test (PRIMARY — Do This First)
**Time this:** ______ minutes

- [ ] Open http://127.0.0.1:8188
- [ ] Load default workflow (or a simple text-to-image workflow)
- [ ] Enter prompt: "Cinematic lamp on desk, warm lighting, photorealistic"
- [ ] Queue Prompt
- [ ] Image generated? [ ] Yes [ ] No
- [ ] **Time:** ______ seconds
- [ ] Node-based workflow clear enough to explain to beginners? [ ] Yes [ ] No

**For workshop demo — prepare these workflows:**
- [ ] **Simple:** Text Prompt → CLIP Text Encode → KSampler → VAE Decode → Save Image
  - Save as `workshop-simple.json`
  - Test: load → change prompt → generate → works? [ ] Yes [ ] No
- [ ] **Video:** Load Image → AnimateDiff → VAE Decode → Save Video
  - Save as `workshop-video.json`  
  - Test with a sample image → short video output? [ ] Yes [ ] No
- [ ] **Advanced:** Multi-stage pipeline showing concept of chaining
  - Save as `workshop-advanced.json`
  - This is for showing, not hands-on

### 6.2 Figma Weave Test (Secondary — Screenshots Only If Blocked)
**Time this:** ______ minutes

- [ ] Go to https://www.figma.com/weave/
- [ ] Sign in with Figma account
- [ ] Can you access Weave? [ ] Yes [ ] No
- [ ] If no: Is it in waitlist/beta? [ ] Yes [ ] No

**If accessible (unlikely):**
- [ ] Create a new Weave project
- [ ] Build: Text Prompt → Image Generation → Run
- [ ] Note for workshop: "Figma Weave is the polished cloud version of what ComfyUI does locally."

**If NOT accessible (likely — beta/waitlist):**
- [ ] Take screenshots from figma.com/weave landing page
- [ ] Prepare 2–3 slides showing Weave's interface
- [ ] Workshop messaging: "Figma Weave is where the industry is heading — cloud-based, collaborative, polished. ComfyUI is the open-source engine that powers the same concept today, for free, on your own machine. We'll learn on ComfyUI because it's accessible to everyone right now."

---

## Phase 7: End-to-End Integration Test

Now run the entire pipeline as one flow, timing everything:

| Step | Action | Target Time | Actual Time | Pass? |
|------|--------|------------|-------------|-------|
| 1 | Write script (ChatGPT) | 3 min | ____ | [ ] |
| 2 | Generate 3 keyframes | 5 min | ____ | [ ] |
| 3 | Arrange storyboard | 3 min | ____ | [ ] |
| 4 | Generate 3 video clips (Kling) | 15 min | ____ | [ ] |
| 5 | Record voice + clone | 5 min | ____ | [ ] |
| 6 | Generate 3 dialogue lines | 3 min | ____ | [ ] |
| 7 | Generate music (Suno) | 3 min | ____ | [ ] |
| 8 | Lip sync 1 clip (Sync.so) | 5 min | ____ | [ ] |
| 9 | Assemble in CapCut/Resolve | 10 min | ____ | [ ] |
| 10 | Export final video | 3 min | ____ | [ ] |
| | **TOTAL** | **~55 min** | **____** | |

**If total > 90 minutes:** You need to simplify or pre-generate some assets for the workshop.

---

## Phase 8: Workshop Simulation

### 8.1 Multi-User Stress Test
If possible, simulate 2–3 people using the tools simultaneously:

- [ ] 2 different Kling accounts generating at same time → rate limited?
- [ ] 2 different Sync.so accounts generating at same time → works?
- [ ] 2 different ElevenLabs accounts generating at same time → works?
- [ ] Venue WiFi handles 3 simultaneous video uploads? [ ] Yes [ ] No

### 8.2 Failure Mode Testing
Intentionally break things and document the fix:

| Failure | How to Trigger | Fix to Document |
|---------|---------------|-----------------|
| Kling generation stuck | Queue during peak hours | Switch to Runway backup |
| Sync.so upload rejected | Wrong file format | Convert to MP4/WAV with specified codec |
| ElevenLabs clone sounds robotic | Poor quality recording | Re-record closer, quieter room |
| CapCut crashes on export | Too many effects | Simplify timeline, export in sections |
| Internet goes down | Unplug router (test!) | Have offline backup activities ready |

### 8.3 Backup Content Preparation
Prepare these as "break glass" backups if live generation fails:

- [ ] 3 pre-generated video clips (save to USB + cloud)
- [ ] 3 pre-generated dialogue WAV files
- [ ] 1 pre-generated music track
- [ ] 1 pre-lip-synced clip
- [ ] 1 completed demo video (the "Aurora" commercial, fully assembled)

Store at: `workshop-backups/` on your laptop + USB drive + cloud link.

---

## Phase 9: Documentation Readiness

### 9.1 Participant Handouts (Prepare These)
- [ ] `pre-workshop-setup-checklist.md` — final version, all URLs verified
- [ ] `lip-sync-tools-comparison.md` — print or share link
- [ ] Workshop slide deck — prepared and tested on venue projector
- [ ] Quick-reference cheat sheet (1 page):
  - Tool names + URLs
  - Recommended export settings (1080p, 24fps, H.264, 48kHz WAV)
  - Emotion tag reference for ElevenLabs
  - The "20% rule" for lip sync

### 9.2 Slide Deck Checklist
- [ ] Pipeline overview diagram (the flow chart)
- [ ] Tool comparison table (simplified from research doc)
- [ ] Before/after examples (keyframe → video, raw audio → cleaned, unsynced → synced)
- [ ] The "cheat code" slide (most shots don't need lip sync)
- [ ] Discussion questions for Module 6
- [ ] All slides tested on venue projector at actual resolution

---

## Phase 10: Final Greenlight Checklist

Before sending the "workshop is confirmed" message:

- [ ] All 9 services: signup works, login works, free tier functional
- [ ] Kling AI: generation works, free credits sufficient for 3 clips
- [ ] Sync.so: free tier works, generation completes, quality acceptable
- [ ] ElevenLabs: voice cloning works, emotion tags functional
- [ ] CapCut/Resolve: installed, tested, export works without blocking issues
- [ ] Full pipeline: end-to-end run completed in ___ minutes (must be < 90)
- [ ] Backup content: prepared and tested
- [ ] Venue WiFi: tested with actual tools (not just speed test)
- [ ] GPU station (if using): MuseTalk + ComfyUI tested
- [ ] Slide deck: complete and tested
- [ ] Participant handouts: ready to share
- [ ] Pre-workshop email: drafted, includes setup checklist link
- [ ] Figma Weave: either accessible OR alternative plan ready

**If all checked:** Workshop is greenlit. Send pre-workshop email with setup checklist.

**If any unchecked:** Fix before confirming. Every unchecked item is a potential workshop derailment.

---

## Quick Troubleshooting Reference

| Symptom | Likely Cause | Fix |
|---------|-------------|-----|
| Kling generation takes >5 min | Server load | Switch to Runway or Hailuo backup |
| Sync.so "generation failed" | Video too long or wrong format | Keep clips under 10 sec, MP4 H.264 |
| Voice clone sounds like robot | Recording has echo/background noise | Re-record in treated room, closer to mic |
| CapCut watermark on export | Using free version | Switch to DaVinci Resolve (truly free) |
| MuseTalk "CUDA out of memory" | GPU VRAM insufficient | Reduce resolution or use Sync.so instead |
| ElevenLabs "rate limited" | Free tier character cap hit | Wait or use backup account |
| WiFi slow during video uploads | Too many simultaneous uploads | Stagger uploads, pre-upload overnight if possible |
| Participant can't sign up to service | Regional restriction, phone needed | Have backup accounts pre-created |

---

## Timing Summary

| Phase | Target | Actual | Notes |
|-------|--------|--------|-------|
| Phase 0: Pre-flight | 15 min | ____ | |
| Phase 1: Script & Storyboard | 15 min | ____ | |
| Phase 2: Video Generation | 25 min | ____ | Can parallelize |
| Phase 3: Voice & Audio | 20 min | ____ | |
| Phase 4: Lip Sync | 20 min | ____ | Critical test |
| Phase 5: Editing | 15 min | ____ | |
| Phase 6: Workflow Tools | 20 min | ____ | |
| Phase 7: End-to-End | 55 min | ____ | |
| Phase 8: Stress Test | 20 min | ____ | If possible |
| **Total Dry-Run Time** | **~3.5 hrs** | **____** | Block an afternoon |

---

*Run this entire guide before the workshop. You're not just testing tools — you're rehearsing the story you'll tell. Every friction you hit now is a friction your team won't hit on workshop day.*
