Video-Use Configuration Options: Complete Environment Variable Guide

Video-use requires only one mandatory setting—ELEVENLABS_API_KEY—while providing five optional environment variables to customize FFmpeg binaries, color grading, subtitle styling, output directories, and retry limits.

Video-use is a lightweight, open-source video editing agent from the browser-use organization that automates transcription and rendering through LLM-driven workflows. All configuration options are supplied via an .env file or exported environment variables, allowing you to tailor the rendering pipeline without modifying the core Python logic.

Required and Optional Environment Variables

Video-use reads six configuration values at startup. Only the ElevenLabs API key is mandatory; all others provide sensible defaults.

  • ELEVENLABS_API_KEY (string, required): The only secret required by the tool. This key powers the automatic transcription of every video source via ElevenLabs' Scribe service. According to the source code in helpers/transcribe.py, the application exits if this variable is missing.

  • FFMPEG_PATH (string, default: ffmpeg): Specifies the path to your FFmpeg binary. If omitted, the system searches your $PATH. Set this to use a custom build (e.g., Homebrew installation or a compiled binary with specific codecs) as referenced in helpers/render.py.

  • VIDEO_USE_COLOR_GRADE (string, default: null): An FFmpeg filter chain appended to the rendering step. Accepts any valid filter string, such as curves=vintage or complex colorbalance expressions, to apply consistent color grading across all segments.

  • VIDEO_USE_SUBTITLE_STYLE (string, default: UPPERCASE_2WORD): Controls how subtitles are burned into the final video. The default setting uses two-word, all-caps chunks, but you can supply any CSS-style string that the subtitle-burning routine understands, as documented in SKILL.md.

  • VIDEO_USE_OUTPUT_DIR (string, default: <videos_dir>/edit): Defines the destination folder for final.mp4 and intermediate artifacts. Changing this allows you to maintain multiple editing sessions side-by-side.

  • VIDEO_USE_MAX_RENDERS (integer, default: 3): Sets the maximum number of re-render attempts during the self-evaluation loop. The agent will re-render a cut at most this many times before proceeding, letting you balance quality against processing time.

Setting Up Your Configuration

Create your environment file by copying the provided template and adding your API credentials.


# Copy the example template

cp .env.example .env

# Edit with your credentials and preferences

$EDITOR .env

A typical .env configuration looks like this:

ELEVENLABS_API_KEY=sk-xxxx...
FFMPEG_PATH=/usr/local/bin/ffmpeg
VIDEO_USE_COLOR_GRADE=curves=vintage
VIDEO_USE_SUBTITLE_STYLE=UPPERCASE_2WORD
VIDEO_USE_OUTPUT_DIR=/path/to/custom/output
VIDEO_USE_MAX_RENDERS=5

The .env.example file in the repository root serves as the canonical reference for all available variables.

Runtime Configuration Overrides

For one-off changes without editing the .env file, export variables directly in your shell session. These take precedence when the helper scripts initialize.

export VIDEO_USE_COLOR_GRADE="hue=s=0"   # Force black-and-white look

export VIDEO_USE_MAX_RENDERS=1           # Strict single-render limit

claude

This approach is useful when testing different color grades or when running multiple video-use instances with distinct settings.

Configuration Implementation in Source Files

The environment variables are consumed by specific helper modules during the editing pipeline:

  • helpers/transcribe.py: Loads ELEVENLABS_API_KEY and initiates transcription via the ElevenLabs Scribe API.
  • helpers/render.py: Constructs the FFmpeg command, applying FFMPEG_PATH, VIDEO_USE_COLOR_GRADE, VIDEO_USE_SUBTITLE_STYLE, and VIDEO_USE_OUTPUT_DIR to the rendering pipeline.
  • SKILL.md: Documents the production rules that reference these settings, particularly the color-grade chains and subtitle styling conventions.

When the LLM agent executes an edit command, it triggers the transcription helper first, then invokes the render helper, which respects all configured environment variables to produce the final output.

Summary

  • Video-use configuration relies entirely on environment variables read from an .env file or shell exports.
  • Only ELEVENLABS_API_KEY is mandatory; all other settings provide sensible defaults.
  • Customize FFmpeg behavior via FFMPEG_PATH and visual output via VIDEO_USE_COLOR_GRADE and VIDEO_USE_SUBTITLE_STYLE.
  • Control file organization with VIDEO_USE_OUTPUT_DIR and quality thresholds with VIDEO_USE_MAX_RENDERS.
  • Configuration is implemented in helpers/transcribe.py and helpers/render.py, with templates provided in .env.example.

Frequently Asked Questions

What is the only required configuration option for video-use?

The only mandatory setting is ELEVENLABS_API_KEY. This API key is required in helpers/transcribe.py to authenticate with ElevenLabs' Scribe service for automatic video transcription. All other environment variables are optional and fall back to default values if not specified.

How do I customize subtitle appearance in video-use?

Set the VIDEO_USE_SUBTITLE_STYLE environment variable to any CSS-style string understood by the subtitle-burning routine. The default value is UPPERCASE_2WORD, which generates two-word, all-caps chunks. You can modify this in your .env file or export it temporarily for specific rendering sessions.

Can I use a custom FFmpeg binary with video-use?

Yes. Define the FFMPEG_PATH variable to point to your custom binary (e.g., /opt/homebrew/bin/ffmpeg or a custom-compiled build with specific codecs). If omitted, video-use defaults to searching for ffmpeg on your system's $PATH as implemented in helpers/render.py.

How does the VIDEO_USE_MAX_RENDERS option affect the editing process?

VIDEO_USE_MAX_RENDERS controls the self-evaluation loop's retry limit, defaulting to 3. When the agent renders a video segment, it evaluates the output and may re-render if the quality is insufficient. This integer value sets the maximum number of attempts before the pipeline proceeds to the next segment, allowing you to balance between automatic quality correction and processing speed.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →