flickies
flickies is a video toolkit in one Docker container: lipsync (LatentSync 1.5, Wav2Lip), face restore (GFPGAN v1.4), and plain ffmpeg operations (trim, concat, transcode, scale, mux audio, extract audio, thumbnail grid, ffprobe metadata). You POST a JSON body and get a video back, over REST on port 8000 or as MCP tools at /v1/mcp.
It is the video sibling of audiolla (audio) and talkies (speech): same JSON contract, same async-job model, same bind-mounted /data, same :latest and :latest-cuda split. No account, no cloud. Models download from Hugging Face on first use and stay on your disk.
Install
docker run -d --name flickies \
-v "$HOME/flickies-data:/data" \
-p 127.0.0.1:8000:8000 \
psyb0t/flickies:latest
Use psyb0t/flickies:latest-cuda with --gpus all for LatentSync 1.5 and usable lipsync speed. Getting started walks through the first request.
You want to
| You want to | Read |
|---|---|
| Run it and make the first request | Getting started |
| Pick an image, mount data, prefetch or stage weights | Deployment |
| Look up an environment variable | Configuration |
| Call an endpoint, poll a job, verify a webhook | REST API |
| Choose a lipsync engine, understand licenses and VRAM | Engines |
| Drive it from an LLM agent | MCP and agents |
| Use the Go or Python client | Generated clients |
| Read the logs, trace a request | Logging |
| Put it on a network | Security |
| Fix an error | Troubleshooting |
| Change the code | Development |
What runs where
| Feature | CPU image (:latest) | CUDA image (:latest-cuda) |
|---|---|---|
ffmpeg ops and info | yes | yes |
| Wav2Lip and Wav2Lip-GAN | yes, slow (needs FLICKIES_ENABLE_NONCOMMERCIAL=1) | yes (needs FLICKIES_ENABLE_NONCOMMERCIAL=1) |
| GFPGAN face restore | yes, runs on the CPU | yes |
| LatentSync 1.5 | no, its libraries are not in the image | yes |
The project is WTFPL. The models and some vendored code have their own licenses: see Engines and THIRD_PARTY.md.