Workflows & Examples

Arena supports flexible workflows from quick one-command runs to multi-step production pipelines.

Quick clips

The simplest workflow — one command, done.

Terminal
arena process video.mp4 --editorial-model gpt-4o-mini -n 5

Cost: ~$0.20 | Time: 5–8 minutes

Review before generate

Analyze first, review the moments, then generate only the best clips.

Terminal
# Step 1: Analyze (fast, cheap)
arena analyze video.mp4 -n 10 -o moments.json

# Step 2: Review
cat moments.json | jq '.clips[] | {id, title, duration, standalone_score}'

# Step 3: Generate only the best
arena generate video.mp4 moments.json --select 1,3,5,7

Multi-platform distribution

Generate clips once, format for every platform.

Terminal
# Step 1: Generate clips with captions
arena process video.mp4 -n 5 --captions

# Step 2: Format for each platform
arena format output/clips/ -p tiktok -o social/tiktok/
arena format output/clips/ -p instagram-reels -o social/reels/
arena format output/clips/ -p youtube-shorts -o social/shorts/
arena format output/clips/ -p youtube -o social/youtube/

# Result: 5 clips × 4 platforms = 20 optimized videos

Process from URL

Process content directly from YouTube, Vimeo, Twitter, and 1000+ sites.

Terminal
# YouTube video
arena process "https://www.youtube.com/watch?v=VIDEO_ID" -n 5

# With browser cookies (if authentication required)
arena process "https://www.youtube.com/watch?v=VIDEO_ID" --cookies-from-browser chrome

# Vimeo
arena transcribe https://vimeo.com/123456789

# Any yt-dlp supported site
arena process "https://twitter.com/user/status/123456789" -n 3

Content creator pipeline

Short-form clips optimized for social media.

Terminal
arena process video.mp4 \
  --editorial-model gpt-4o-mini \
  -n 3 \
  --min 15 \
  --max 30 \
  --captions \
  -p tiktok

Podcast highlights

Extract the best moments from long-form podcast episodes.

Terminal
arena process podcast-episode.mp4 \
  --editorial-model gpt-4o-mini \
  -n 8 \
  --min 60 \
  --max 120

# Format for YouTube and LinkedIn
arena format output/clips/ -p youtube -o social/youtube/
arena format output/clips/ -p linkedin -o social/linkedin/

Course creator

Extract educational snippets with captions.

Terminal
arena process lecture.mp4 \
  -n 8 \
  --min 45 \
  --max 90 \
  --captions \
  --caption-color yellow

Iterative refinement

Experiment with different parameters using cached transcripts.

Terminal
# Initial run (creates transcript cache)
arena process video.mp4

# Try different clip counts (reuses cached transcript — free)
arena process video.mp4 -n 3
arena process video.mp4 -n 10

# Try different durations
arena process video.mp4 --min 20 --max 45
arena process video.mp4 --min 45 --max 90

Debug quality issues

Export editorial layer data to understand why clips were rejected.

Terminal
# Export layer data
arena process video.mp4 --export-layers

# Check rejection reasons
cat output/editorial_layers/layer3_validated.json | \
  jq '.[] | select(.verdict=="REJECT") | {thought_id, rejection_reason}'

# Check pass rate
cat output/editorial_layers/layer3_validated.json | \
  jq '[.[] | select(.verdict=="PASS")] | length'

Batch processing

Process an entire directory of videos.

Terminal
for video in videos/*.mp4; do
  echo "Processing: $video"
  arena process "$video" \
    --editorial-model gpt-4o-mini \
    -n 5 \
    -o "output/$(basename $video .mp4)"
done

Content repurposing pipeline

Turn a single long-form video into a week's worth of social media content.

Terminal
# Step 1: Transcribe and analyze
arena transcribe webinar.mp4 -o transcript.json
arena analyze webinar.mp4 --transcript transcript.json -n 20 -o analysis.json

# Step 2: Review and select
cat analysis.json | jq '.clips[] | {id, title, duration}' | less

# Step 3: Generate selected clips
arena generate webinar.mp4 analysis.json --select 1,3,5,7,9,11,13 -o clips/

# Step 4: Format for platforms
arena format clips/ -p tiktok --crop smart -o social/tiktok/
arena format clips/ -p instagram-reels --crop smart -o social/reels/
arena format clips/ -p linkedin --pad blur -o social/linkedin/
arena format clips/ -p youtube -o social/youtube/

# Result: 1 webinar → 7 clips × 4 platforms = 28 social posts

Docker workflow

Run Arena without installing dependencies locally.

Terminal
# Using Docker Compose
docker compose run arena process video.mp4 -n 5
docker compose run arena format output/clips/ -p tiktok

# Using Docker directly
docker run -v $(pwd):/workspace \
  -e OPENAI_API_KEY=$OPENAI_API_KEY \
  whitegodkingsley/arena process video.mp4 -n 5