Configuration

Arena uses a layered configuration system. Global settings apply everywhere, while project-level settings override them for specific directories.

Global config

Stored at ~/.arena/config.json. Applies to all Arena projects.

~/.arena/config.json
{
  "whisper_mode": "api",
  "clip_duration": [30, 90],
  "output_format": "mp4",
  "subtitle_style": {
    "font": "Arial",
    "size": 24,
    "color": "white",
    "bg_color": "black",
    "position": "bottom"
  }
}

Managing via CLI

Terminal
# View current config
arena config

# Set a normal value
arena config set output_format mp4

# Store an API key with an interactive hidden prompt
arena config set openai_api_key

# Get a specific value
arena config get output_format

# Reset to defaults
arena config reset

Project config

Stored at .arena/config.json in your project directory. Auto-generated when you run arena init or process a video.

.arena/config.json
{
  "video_path": "/path/to/video.mp4",
  "created_at": "2026-01-12T19:52:00Z",
  "preferences": {
    "clip_count": 10,
    "focus_topics": ["startups", "marketing"]
  }
}

Environment variables

VariableDescriptionRequired
OPENAI_API_KEYOpenAI API key for AI analysis and transcriptionYes
ARENA_HOMEOverride the Arena runtime, config, log, and cache directoryNo
ARENA_PYTHONChoose the Python interpreter used by arena setupNo
ARENA_SETUP_TIMEOUT_MINUTESExtend setup's package-install timeoutNo
Terminal
# Set in your shell profile (~/.bashrc or ~/.zshrc)
export OPENAI_API_KEY="sk-your-key-here"

# Or use Arena's interactive owner-only credential store
arena config set openai_api_key

Workspace cache

Arena stores project configuration in .arena/, downloads in the Arena home cache, and generated artifacts under the selected output directory.

Output
.arena/
└── config.json              # Project configuration

output/
├── clips/                   # Generated video clips and metadata
└── .cache/                  # Reusable transcript/audio intermediates

Use --no-cache to force re-transcription and ignore cached results.

Logs

Arena writes rotating logs beneath the Arena home directory (normally~/.arena/logs/). Use --debug for verbose output.

Cost optimization

ModelCost per videoQuality
gpt-4o-mini (recommended)~$0.15–0.25Near-identical to gpt-4o
gpt-4o~$0.40–0.60Premium

Tips to reduce costs:

  • Use --editorial-model gpt-4o-mini (60% cheaper)
  • Analyze first, generate later (reuse analysis)
  • Cache transcripts (reuse for multiple runs)
  • Use selective generation (--select 1,3,5)