Video Processor v1 — AI Video Processing Pipeline
Purpose
Pure video processing skill with no platform opinions. Scans 00_Inbox/ for new raw videos,
analyzes frames with multimodal AI, generates English copywriting, applies orientation-aware
smart cropping via FFmpeg, produces clip variants, and outputs to 02_PendingReview/.
Platform rules (FB supports all orientations, TikTok requires portrait) are handled by the
expert calling this skill — the skill itself just processes whatever it's given.
When to Use
- Processing new raw videos dropped into
00_Inbox/ - Generating short-form video clips for Facebook, TikTok, or Instagram
- Auto-creating captions and copywriting for video posts
- The user says: "process videos", "generate clips", "prepare video content", "run video pipeline"
Project Dependency
This skill depends on the shared project core modules and environment at:
- Project root: <your_workspace>
- Core modules: core/model_providers.py, core/logger.py, core/state_machine.py, core/sop_pipeline.py
- Environment: .env file with API keys (OpenRouter, DashScope, etc.)
- Dependencies: FFmpeg (system), Python packages (opencv-python, requests, python-dotenv)
All commands MUST be run from the project root directory.
How to Use
Basic — process all new videos in inbox
cd <your_workspace>
python scripts/run.py
Filter by orientation (e.g., exclude landscape for portrait-only platforms)
cd <your_workspace>
python scripts/run.py --exclude_orientation landscape
Process a specific video by name
cd <your_workspace>
python scripts/run.py --name "my_video_filename"
Force re-process already done videos
cd <your_workspace>
python scripts/run.py --force
Pipeline Steps
- Scan: Detect new videos in
00_Inbox/(excluding_done/) - Analyze:
video.analyzer.v1— extract keyframes, run multimodal LLM analysis - Copywriting:
copywriting.llm.v1— generate 3 caption variants (A/B/C) - Crop: FFmpeg smart cropping based on orientation
- Portrait (h > w) → 9:16 center crop
- Landscape (w > h) → 16:9 center crop + extra vp (9:16 padded portrait)
- Square (0.9 ≤ ratio ≤ 1.1) → 1:1 center crop + extra vp (9:16 padded portrait) - Produce: 3 base clip variants (v1/v2/v3) + optional portrait variant (vp)
- Output: Write clips + captions to
02_PendingReview/ - Archive: Move source video to
00_Inbox/_done/
Output Structure
02_PendingReview/
└── {video_name}/
├── clip_v1.mp4 # Detail version
├── clip_v2.mp4 # Standard version
├── clip_v3.mp4 # Depth version
├── clip_vp.mp4 # Portrait 9:16 variant (landscape/square only, black-bar padded)
├── caption.json # LLM-generated English copy
└── analysis.json # Frame analysis results
Orientation Rules
| Input | Base Crop | Extra vp (9:16 padded) |
|---|---|---|
| Portrait (h > w) | 9:16 crop | — (already portrait) |
| Landscape (w > h) | 16:9 crop | ✅ centered + black bars |
| Square (w ≈ h) | 1:1 crop | ✅ centered + black bars |