Your template determines which services you need
Choose an image template in Pixelle-Video and you've also chosen to operate an image generator. The Python app turns a topic or supplied script into a narrated video, with music and a layout you can change through HTML templates. Its default README is Chinese, though an English README and English documentation exist. The useful promise is repeatable assembly once you've connected the services behind it.
The application itself occupied 741 MB after our sandbox installed 153 packages. That footprint doesn't describe a complete local video studio: the README's local route also uses Ollama and ComfyUI, with the models those services require. If you already run ComfyUI workflows, Pixelle-Video gives them a purpose-built front end. If you don't, those separate services become part of your adoption work.
Fixed scripts give you control over the spoken words
The English README documents a fixed-script mode that skips AI scriptwriting. That's the mode I'd choose for product explanations or factual narration: you approve the words before generating the pictures and speech. Voice previews let you check a sample, and the prompt prefix controls the illustration style. The README specifies English for that prefix even when the narration uses another language.
Our checkout contained 313 files and about 26,481 source lines, so there's substantial application code beyond a prompt and an ffmpeg call. Templates distinguish static text, generated images, and generated video. That separation gives you a sensible way to keep an approved script while changing the visual treatment. It also means a text-only template doesn't require the same media generation path as an animated clip.
What happened when we ran it
Our run installed Pixelle-Video commit 848b054 in 21 seconds, adding 153 packages and using 741 MB on disk. The build succeeded in 1 second. We measured it on September 28, 2026, in a fresh Debian container with 3 CPUs and 8 GB of RAM, using the uv Python 3.12 Bookworm image. The container was unprivileged and held no secrets.
Pytest exited with code 5 after 1 second, reporting 0 passed and 0 failed tests out of 0. Its warning said no files were found in the configured test paths. The scan also found no tests directory. This was a failed test step with no tests collected, so it provides no evidence that the application's behavior passed automated checks.
Pip-audit reported 35 known vulnerabilities. The supplied results don't identify affected packages, severity, or reachable code paths, so they can't establish which application operations are exposed. The same scan found a Dockerfile, a Compose file, and 1 CI workflow file. Those packaging signals don't resolve either the empty test run or the audit findings. Video quality and generation speed weren't measurements in this run.
The source route needs ffmpeg and configured providers
The documented launch command is uv run streamlit run web/app.py, after installing uv and ffmpeg. Script generation needs a configured language model endpoint. Media can use ComfyUI, RunningHub, or direct provider APIs, with credentials and base URLs matching the selected workflow. Settings are saved in config.yaml. The English configuration guide separates local ComfyUI from the hosted RunningHub route.
A 21-second install therefore gets you through only the local package step. The troubleshooting guide separately asks users to confirm downloaded ComfyUI models and manually verify image workflows. Don't interpret a successful connection check as proof that the selected workflow can produce the intended asset. The latest release's own notes tell users to verify self-hosted workflows inside ComfyUI to avoid request errors.
Docker networking and stored settings need attention
The supplied Compose configuration starts separate API and Streamlit services, sharing configuration and output directories. It publishes their ports and persists custom resources under data/. Inside a container, a loopback ComfyUI URL refers to that container, so a ComfyUI instance running elsewhere needs a reachable address. This matters because the README's local example uses loopback and is easy to copy unchanged.
The 11 MB checkout grew to 741 MB with the measured environment, before any separately operated model service is accounted for. Preserve config.yaml and output/ deliberately when rebuilding containers. The README also documents a debugging option that prints prompts, model names, and input file paths. Leave that option off when those details shouldn't end up in terminal logs retained by your hosting platform.
Windows downloads lag the source documentation
Release v0.1.15 was published on January 27, 2026, while the README records direct media API configuration added in June. Open issue 257 about the Windows package reports that the available bundle still dates to January. Windows users who need the newer configuration should compare the downloaded package with the source documentation before assuming the screens and features match.
The last push was June 14, 2026. GitHub returned 29,093 stars and 169 open issues and PRs, with connection reports updated in October. People are still using it, but recent user activity doesn't establish recent maintainer fixes. I'd trial Pixelle-Video with an approved script and a workflow I already trust. Before unattended use, the missing collected tests and 35 audit findings need an owner who will investigate them.