SuperAPI AI Directory

game-video-ad-pipeline

Design & creation

View repository

Updated 10-16 16:28

About this skill

🎮 Game Video Ad Pipeline (FFmpeg-first)

A skill that generates game promotional videos (Shorts/ad creatives) with fully local + free tools.

  • Input: --game-id (Steam app id)
  • Automation: screenshot collection + aspect ratio normalization + text overlay
  • Output: 15–30 second MP4 (1080x1920 or 1920x1080)
  • Constraints: ffmpeg required, no external paid APIs, runnable on MiniPC

Structure

game-video-ad-pipeline/
├─ SKILL.md
├─ scripts/
│  └─ generate-video.py
└─ references/
   ├─ RESEARCH.md
   ├─ AUDIT.md
   └─ TEST_REPORT.md

Quick Usage

cd misskim-skills
python3 skills/game-video-ad-pipeline/scripts/generate-video.py \
  --game-id steam:570 \
  --template action \
  --orientation vertical \
  --duration 18 \
  --output skills/game-video-ad-pipeline/output/dota2-action-vertical.mp4

Landscape ad (1920x1080):

python3 skills/game-video-ad-pipeline/scripts/generate-video.py \
  --game-id 730 \
  --template puzzle \
  --orientation horizontal \
  --duration 20 \
  --output skills/game-video-ad-pipeline/output/cs2-puzzle-horizontal.mp4

If you want to use a local image/GIF folder as input:

python3 skills/game-video-ad-pipeline/scripts/generate-video.py \
  --game-id 999999 \
  --input-dir ./my-assets \
  --template idle \
  --duration 15

Template System

Template 톤 Default Copy
action High saturation/high contrast, strong impact emphasis Play Now
puzzle Bright and clean tone Challenge Your Brain
idle Soft and stable tone Start Your Idle Journey

All templates are implemented as ffmpeg filter chains and behave identically in MiniPC/CLI environments.


Core Pipeline

  1. Extract screenshot URLs from Steam store HTML (no key/payment)
  2. Normalize images/GIFs to the target resolution (portrait/landscape)
  3. Generate per-cut clips and concat
  4. Overlay title/tagline/CTA text
  5. Output MP4 (H.264, yuv420p, faststart) and verify playability

Parameter Summary

  • --game-id (required): 570 or steam:570
  • --template: action|puzzle|idle
  • --orientation: vertical|horizontal
  • --duration: 15~30 초
  • --max-shots: number of screenshots to use (default 6)
  • --title, --tagline, --cta: directly specify overlay text
  • --input-dir: use local media instead of Steam auto-collection
  • --keep-temp: keep intermediate files for debugging

4 Critical Absorption Questions (Application Summary)

  1. What to take?
    • ffmpeg's reliable portability/speed, Remotion's template concept, the workflow structure of competing skills.
  2. What to discard?
    • Dependence on paid generation APIs, forced cloud rendering, excessive JS runtime complexity.
  3. How to change it to fit our environment?
    • Rewrite as a single Python + ffmpeg script, keyless collection via Steam HTML parsing.
  4. How to measure success?
    • Generate a 15–30 second/1080 resolution/playable MP4, MiniPC compatible, cost $0.

Safety/Operations Notes

  • No external LLM/paid API calls
  • Before running, check that ffmpeg, ffprobe exists
  • Render text overlays with Pillow(PIL) so they work even in environments without ffmpeg drawtext
  • For large batches, keep --max-shotsbetween 4 and 8

For detailed rationale, see references/RESEARCH.md, references/AUDIT.md .