graph TD
A[Start VideoAssemblerAI] --> B{Check Parameters}
B --> |Short-Form Only| C[Short-Form Silo]
B --> |Both Formats| D[Both Silos]
C --> E[Input: voice_over.mp3]
C --> F[Input: short_form_script.txt]
E & F --> G[Task #201: Generate Base Vertical]
G --> H[Output: base_short_form.mp4]
H --> I{Stock Footage?}
I --> |Yes| J[Task #205: Get Vertical Stock]
J --> K[Task #199: Combine Footage]
I --> |No| L[Skip Stock Footage]
L --> M[final_short_form.mp4]
K --> M
D --> N[Long-Form Branch]
N --> O[Input: long_form_voiceover.mp3]
N --> P[Input: long_form_script.txt]
O & P --> Q[Task #200: Generate Base Horizontal]
Q --> R[Output: base_long_form.mp4]
R --> S{Stock Footage?}
S --> |Yes| T[Task #204: Get Horizontal Stock]
T --> U[Task #199: Combine Footage]
S --> |No| V[Skip Stock Footage]
V --> W[final_long_form.mp4]
U --> W
M --> X[Task #223: Generate Summary]
W --> X
X --> Y[Output: video_assembly_summary.json]
Y --> Z[End VideoAssemblerAI]