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 inhelpers/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 inhelpers/render.py. -
VIDEO_USE_COLOR_GRADE(string, default:null): An FFmpeg filter chain appended to the rendering step. Accepts any valid filter string, such ascurves=vintageor complexcolorbalanceexpressions, 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 inSKILL.md. -
VIDEO_USE_OUTPUT_DIR(string, default:<videos_dir>/edit): Defines the destination folder forfinal.mp4and 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: LoadsELEVENLABS_API_KEYand initiates transcription via the ElevenLabs Scribe API.helpers/render.py: Constructs the FFmpeg command, applyingFFMPEG_PATH,VIDEO_USE_COLOR_GRADE,VIDEO_USE_SUBTITLE_STYLE, andVIDEO_USE_OUTPUT_DIRto 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
.envfile or shell exports. - Only
ELEVENLABS_API_KEYis mandatory; all other settings provide sensible defaults. - Customize FFmpeg behavior via
FFMPEG_PATHand visual output viaVIDEO_USE_COLOR_GRADEandVIDEO_USE_SUBTITLE_STYLE. - Control file organization with
VIDEO_USE_OUTPUT_DIRand quality thresholds withVIDEO_USE_MAX_RENDERS. - Configuration is implemented in
helpers/transcribe.pyandhelpers/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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →