How 2025btechcsbkavish24308-lab/reelcut-ai works
Purpose and Entry Point
ReelCut AI is an early Python MVP for producing short-form video reels. The operational entry point is main.py; no package modules, service layer, or frontend are present in the repository tree. The checked-in reelcut_jobs/ directory indicates a filesystem-oriented job pipeline rather than a database-backed or web-hosted system.
Job Workspace Model
Each render job is isolated under a UUID-named directory beneath reelcut_jobs/, for example reelcut_jobs/065cb998-1e69-4188-afd3-64b34ebdc402/. These directories retain both source and stage outputs:
• original.mp4
• trimmed.mp4
• cropped.mp4
• final_reel.mp4
This layout is the core persistence boundary: media artifacts are passed between processing stages through local files.
Video Processing Pipeline
The observable workflow is a linear render pipeline:
1. ingest/store input video as original.mp4;
2. select or shorten content into trimmed.mp4;
3. reframe output into cropped.mp4, likely for vertical short-video dimensions;
4. emit the publishable final_reel.mp4.
Representative paths are reelcut_jobs/9dd3b167-8400-4c98-89f2-34c7b723e30a/original.mp4, reelcut_jobs/9dd3b167-8400-4c98-89f2-34c7b723e30a/trimmed.mp4, and reelcut_jobs/9dd3b167-8400-4c98-89f2-34c7b723e30a/final_reel.mp4.
Media Boundary and Runtime
The intended runtime is Python, launched directly with python main.py. Video transformation depends on MoviePy and/or FFmpeg per the project documentation. FFmpeg is the material external media-processing boundary; it handles encoded MP4 inputs and outputs, while Python coordinates job creation and stage execution.
AI Content Capabilities
The product direction includes generated scripts, captions, and TTS narration, but the supplied tree exposes no dedicated source files or stored artifacts for those functions. OpenAI API use is explicitly planned rather than evidenced in the repository. Any future AI integration should remain separate from the deterministic media-render stages and write generated assets into the applicable per-job workspace.
Architectural Constraints
There is no visible API server, queue, database, cloud storage integration, authentication boundary, or publishing integration. Job state is inferred from the presence of files within reelcut_jobs/; partial artifacts such as trimmed.mp4 and cropped.mp4 are likely useful for diagnosing failures or rerunning later render stages. The final contract of the current system is the completed MP4 at paths such as reelcut_jobs/d293f884-7f21-4bed-bfd2-0b1c1e561b72/final_reel.mp4.
Main entry points: main.py Render orchestration · original.mp4 original.mp4 · trimmed.mp4 trimmed.mp4 · cropped.mp4 cropped.mp4
Components 12
Python Runtime
- main.py · Launched directly with python main.py.
main.py - Render orchestration · Creates jobs and coordinates deterministic media stages.
main.py
Per-Job Workspace
UUID-named directories under reelcut_jobs/ retain pipeline artifacts.
- reelcut_jobs/ · The persistence boundary and inferred job state store.
- UUID job directory · Isolates source media and intermediate render outputs.
- original.mp4
reelcut_jobs/9dd3b167-8400-4c98-89f2-34c7b723e30a/original.mp4 - trimmed.mp4
reelcut_jobs/9dd3b167-8400-4c98-89f2-34c7b723e30a/trimmed.mp4 - cropped.mp4 · Reframed for short-form output.
reelcut_jobs/065cb998-1e69-4188-afd3-64b34ebdc402/cropped.mp4 - final_reel.mp4 · Completed publishable reel contract.
reelcut_jobs/9dd3b167-8400-4c98-89f2-34c7b723e30a/final_reel.mp4
Media Processing
- FFmpeg / MoviePy · Performs encoded MP4 transformations under Python control.
- Trim stage
- Crop stage
- Final render stage
Connections 14
- main.py → Render orchestration: starts
- Render orchestration → reelcut_jobs/: creates job
- reelcut_jobs/ → UUID job directory: contains
- Render orchestration → original.mp4: stores input
- original.mp4 → Trim stage: source
- Trim stage → trimmed.mp4: writes
- trimmed.mp4 → Crop stage: source
- Crop stage → cropped.mp4: writes
- cropped.mp4 → Final render stage: source
- Final render stage → final_reel.mp4: writes
- Render orchestration → FFmpeg / MoviePy: coordinates
- FFmpeg / MoviePy → Trim stage: executes
- FFmpeg / MoviePy → Crop stage: executes
- FFmpeg / MoviePy → Final render stage: executes