How to Self-Host OpenShorts (Free, with Docker)
In short: install Docker, run git clone https://github.com/mutonby/openshorts.git,
then docker compose up --build, open http://localhost:5175 and paste a free Gemini API key in Settings.
That is the whole setup for clipping.
Based on the OpenShorts README as of November 15, 2026. Independent guide, not affiliated with OpenShorts.
What you need
- Docker and Docker Compose. Docker Desktop on Mac or Windows is fine.
- A Google Gemini API key. Free from Google AI Studio. It is used to pick the moments.
- Disk space. The image installs PyTorch, Whisper and FFmpeg, so expect several gigabytes.
- Optional: an NVIDIA GPU for speed; fal.ai and ElevenLabs keys only for AI actors and dubbing.
Step by step
1. Clone
git clone https://github.com/mutonby/openshorts.git
cd openshorts
2. Configure (optional)
cp .env.example .env
You can skip this for a first try. Edit it later for S3 backup or GPU settings.
3. Launch
docker compose up --build
The first build takes a while because it downloads the models and libraries.
4. Open the dashboard
Go to http://localhost:5175, open Settings and paste your Gemini API key.
5. Clip your first video
In the Clip Generator, upload a long video you own. You will get several vertical clips with captions.
Optional: use an NVIDIA GPU
Install the NVIDIA driver and the NVIDIA Container Toolkit, build the image with GPU: "1" in a
docker-compose.override.yml, and set these in .env:
WHISPER_MODEL=large-v3-turbo
WHISPER_DEVICE=cuda
WHISPER_COMPUTE=float16
FFMPEG_ENCODER=auto
The README says 8 GB of VRAM is enough for large-v3-turbo plus the detection models.
Common problems
- It's slow. On CPU, Whisper uses the small model by default. Expect minutes per video, not seconds.
- YouTube links fail. YouTube often blocks downloads from servers. Uploading the file directly is the reliable route.
- Port already in use. Something else is on port 5175 or 8000; stop it or change the ports in the compose file.
Don't want to run it yourself? AIClipMaker.org reframes clips to 9:16 with nothing to install, or compare other alternatives.
FAQ
Can I run OpenShorts without a GPU?
Yes. The default Docker image is CPU-only. It is slower: the project says an 8-minute video takes 5 to 8 minutes on a typical CPU, versus about a minute with an NVIDIA GPU.
Can I run it without a Google Gemini key?
Partly. You can point the moment picker at a local model (Ollama, LM Studio, vLLM) with LLM_BASE_URL. Features that look at video frames, such as the automatic layout picker, still need Gemini and fall back to plain face tracking without it.
Does it support languages other than English?
Transcription uses Whisper, which handles many languages. An optional faster engine (Parakeet) covers 25 European languages and falls back to Whisper for others such as Chinese or Japanese.
Where are my clips saved?
In the output/ folder mounted into the container. S3 backup is optional and configured in .env.