video-asset-manager
Video Asset Manager
Source, download, and organize video clips for music video production using Pexels API and GenSpark AI generation.
Workflow
1. Input: Scene Plan JSON
Receive scene plan from creative-director skill:
{
"scenes": [
{
"sceneNumber": 1,
"clipKeywords": ["sunrise", "mountains", "golden hour"],
"duration": 15
}
]
}
2. Search Pexels for Stock Footage
Pexels API Access:
- Credentials: Ask McKinzie for Pexels API key
- Endpoint:
https://api.pexels.com/videos/search - Rate limit: 200 requests/hour (free tier)
Search strategy:
- For each scene, search using clipKeywords
- Filter by:
- Orientation (landscape for YouTube, square/vertical for social)
- Duration (prefer clips ≥ scene duration)
- Quality (HD minimum, 4K preferred)
- Download top 2-3 options per scene for flexibility
Pexels search script: See scripts/search_pexels.py
3. Generate AI Clips with GenSpark (PREFERRED METHOD)
When to use GenSpark:
- Abstract concepts (faith, hope, spiritual themes)
- Scenes where stock footage doesn't match
- Unique/custom visuals not available in stock libraries
- Cinematic quality needed (better than stock footage)
- Full music video production (all clips AI-generated)
⚡ BATCH WORKFLOW (FAST - USE THIS!):
See full documentation: references/genspark-batch-workflow.md
-
Prepare all prompts in numbered list format:
Generate [N] videos using PixVerse model, 16:9 aspect ratio, 4K resolution: 1. [Detailed cinematic prompt for scene 1] 2. [Detailed cinematic prompt for scene 2] ... etc -
Submit to GenSpark:
- Go to https://www.genspark.ai (main homepage)
- Paste ENTIRE prompt list into main textbox
- Press Enter
-
Confirm generation:
- GenSpark will ask to confirm
- Reply: "A) Proceed with all [N] videos now. Use 8 second duration, 16:9 aspect ratio."
-
Wait for completion:
- PixVerse: ~30 seconds per video
- 21 videos ≈ 15-20 minutes total
- Videos generate in parallel
-
Download all clips when complete
Model: PixVerse (official/pixverse/v5) - fast, high quality Duration: 5s or 8s (prefer 8s for music videos) Aspect: 16:9 landscape, 9:16 for shorts
Prompt tips for cinematic quality:
- Include camera movement: "slow push-in", "overhead drift"
- Specify lighting: "golden hour", "soft window backlight"
- Add film aesthetic: "35mm film grain", "shallow depth of field"
- Describe mood: "contemplative", "nostalgic", "ethereal"
4. Organize Assets
Folder structure:
project-name/
├── assets/
│ ├── scene-01-sunrise-mountains.mp4
│ ├── scene-02-walking-forest.mp4
│ ├── scene-03-ai-faith-abstract.mp4
│ └── scene-04-ocean-waves.mp4
├── scene-plan.json
└── asset-manifest.json
Asset manifest:
{
"projectName": "Song Title - Music Video",
"createdAt": "2026-01-29",
"assets": [
{
"sceneNumber": 1,
"filename": "scene-01-sunrise-mountains.mp4",
"source": "pexels",
"pexelsId": "12345678",
"duration": 18,
"resolution": "1920x1080",
"keywords": ["sunrise", "mountains", "golden hour"]
},
{
"sceneNumber": 3,
"filename": "scene-03-ai-faith-abstract.mp4",
"source": "genspark",
"prompt": "abstract light rays representing faith and hope",
"duration": 10,
"resolution": "1920x1080"
}
]
}
5. Quality Check
Before passing to music-video-producer:
- All scenes have at least 1 clip sourced
- Clip durations ≥ scene duration (allow trimming)
- Resolution is consistent (1080p minimum)
- Files downloaded and playable
- Asset manifest generated
- Folder organized and labeled
Scripts
scripts/search_pexels.py
Search and download clips from Pexels:
python scripts/search_pexels.py \
--scene-plan scene-plan.json \
--output-dir assets/ \
--api-key $PEXELS_API_KEY \
--top-n 2
See scripts/search_pexels.py for implementation.
scripts/generate_genspark.py
Generate AI clips with GenSpark:
python scripts/generate_genspark.py \
--scene-plan scene-plan.json \
--scenes 3,5,7 \
--output-dir assets/
See scripts/generate_genspark.py for implementation.
Reference Files
references/pexels-api-docs.md- Pexels API usage and examplesreferences/genspark-prompts.md- Effective prompts for AI video generationreferences/genspark-batch-workflow.md- Batch video generation processreferences/genspark-download-workflow.md- Downloading from AI Drivereferences/video-quality-standards.md- Resolution, format, codec requirements
Deliverables
- Downloaded video clips - Organized in
assets/folder - Asset manifest JSON - Metadata for each clip
- Coverage report - Which scenes have clips, which need alternatives
Error Handling
If Pexels search returns no results:
- Try alternate keywords (synonyms)
- Expand search to related concepts
- Flag scene for GenSpark AI generation
If clip quality is low:
- Search for HD/4K alternatives
- Consider upscaling with AI (Topaz Video AI)
- Flag for manual review
If API rate limit hit:
- Queue remaining searches
- Resume after cooldown period
- Report estimated completion time