Self-hosted service
Woolverine94/biniou avatar
Woolverine94/biniou

biniou: A Self-Hosted WebUI That Bundles 30+ Generative AI Models Behind Gradio

a self-hosted webui for 30+ generative ai

1,150 stars135 forksPythonGPL-3.0

At a glance

What is it?
biniou is a Python and Gradio application that wraps diffusion image, video, audio, voice and GGUF chatbot models into one self-hosted interface. It is aimed at people who want local generation without stitching together a dozen separate frontends, and its weekly model additions are both its selling point and its maintenance burden.
Who is it for?
Adopt biniou if you want one local interface across image, audio and text generation and you are comfortable with a project that ships model-list changes on a roughly weekly cadence. Do not adopt it if you need a stable, versioned API surface or if you cannot absorb a full re-pull of model weights when a default changes.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem biniou addresses: one local webui instead of a dozen separate frontends

Running generative models locally usually means running several programs. One interface for Stable Diffusion checkpoints and LoRAs, another for Whisper transcription, something else for text-to-speech, and a separate chat frontend for GGUF language models. Each has its own dependency tree, its own model directory convention and its own way of downloading weights. biniou's premise is that these belong behind a single Gradio webui. The README describes it as a self-hosted webui for several kinds of generative AI, where you can generate multimedia content and use a chatbot on your own computer, even without a dedicated GPU and starting from 8GB RAM. It also states it can work offline once deployed and the required models are downloaded. That offline claim is the part worth taking seriously: it means inference does not phone home, which matters for anyone generating on material they would rather not upload. The target user is a single operator on a workstation or home server, not a team building a product. There is no homepage listed for the project and the documentation lives in the GitHub wiki, so the entry point is the repository itself.

What the module list actually covers, and what the topic tags imply

The repository topics enumerate the scope more precisely than the README prose does: animatediff, audiocraft, bark, controlnet, diffusers, flux, gfpgan, insightface, ip-adapter, kandinsky, llama-cpp-python, photomaker, real-esrgan, stable-diffusion, stable-diffusion-3-5, whisper. Read that as a list of distinct pipelines rather than a list of models. Diffusers and stable-diffusion cover the base image path. Flux and kandinsky are separate image model families with their own loading code. ControlNet and IP-Adapter are conditioning mechanisms layered on top of image generation. AnimateDiff is the video path. PhotoMaker and InsightFace point at identity-preserving face generation. GFPGAN and Real-ESRGAN are the post-processing and upscaling modules, and the update log references code changes to the Real ESRGAN module in two consecutive weekly entries, which suggests it is actively touched. Audiocraft and Bark cover music and speech synthesis, Whisper covers transcription, and llama-cpp-python is the chatbot backend. The practical consequence is that biniou is not one model with a UI. It is a collection of loaders, and each loader has its own failure modes, its own VRAM profile and its own download size. A user who only wants Flux image generation is carrying the dependency weight of the audio and chatbot stacks as well.

How the pieces fit together: Gradio in front, diffusers and llama-cpp-python behind

The architecture visible from the material is a Python application with a Gradio front end, where each capability is exposed as a module. Gradio supplies the web UI and the request handling; the heavy lifting is delegated to the libraries named in the topics. Image modules route through diffusers and the Flux and Kandinsky implementations. The chatbot module routes through llama-cpp-python, which is consistent with the update log listing GGUF repositories as the model format for chat: bartowski/granite-4.2-8b-GGUF, bartowski/Qwen3.8-27B-GGUF, OpenLLM-France/Luciole-8B-Instruct-1.1-GGUF. GGUF is a quantised format, which is how the README can claim operation from 8GB RAM: a quantised model is small enough to fit where a full-precision one would not. The model catalogue appears to be maintained in code rather than discovered at runtime. The weekly updates read as curated additions, with entries like adding support for a named Hugging Face repository or replacing a default model, for example the note that the Image Variation module's default was replaced by lambda/sd-image-variations-diffusers. That design has a clear trade-off. It gives users a vetted list they can pick from without knowing which repositories are compatible, and it means the list only grows when the maintainer pushes a commit. A model published on Hugging Face today is not selectable in biniou until it appears in an update.

Getting it running: platform paths, the two Docker images, and the CUDA caveat

Installation is documented per platform in the README, with anchors for OpenSUSE Leap 15.5 and Tumbleweed, RHEL-family distributions (Rocky 9.3, Alma 9.3, CentOS Stream 9, Fedora 39), CachyOS, OpenMandriva, Debian 12 and Ubuntu 22.04/24.04 along with Linux Mint 21.2/22 and Pop!_OS, plus Windows 10 and 11, an experimental macOS Intel path using Homebrew, and Docker. Two CI badges point at separate container builds: a Docker Image CI workflow and a CUDA Docker Image CI workflow, so there is a CPU-oriented image and a CUDA-enabled one. Choosing between them is the first real decision, and it depends on whether you have an NVIDIA GPU and a working driver stack. The update log contains a relevant warning: an entry dated 2026-08-08 describes an experimental bugfix for CUDA users who experience missing CUDA libraries, credited to a contributor, and explicitly asks for feedback. That is the maintainer saying the CUDA path still has rough edges for some users. Beyond the container route, the README does not spell out the exact install commands in the portion available here, so the platform sections in the repository are the place to read them rather than any summary. What the material does establish is the resource floor: 8GB RAM without a dedicated GPU, and offline operation after the models are downloaded.

The real limitation: a curated model list means weekly churn, not a frozen interface

The most consequential thing about biniou is the cadence. The update log shows entries dated 2026-08-08, 2026-08-15, 2026-08-22, 2026-08-29 and 2026-09-05, each labelled a weekly update, each adding chatbot models, LoRA repositories, or replacing a default. This is not a project that settles. For a hobbyist who enjoys trying new checkpoints, that is the point. For anyone treating the webui as infrastructure, it is a problem, because a default model change can mean a new multi-gigabyte download and a different output for the same prompt. The Image Variation default swap is exactly that kind of change. There is also a versioning signal worth noting: the only release listed is v0.0.1, marked as a pre-release, dated 2024-05-29, while the README carries updates into 2026. The project has been developed for well over a year without cutting a stable tagged release. If your workflow depends on pinning a version and reproducing results months later, that gap between active development and released versions is the thing to weigh. There is no evidence in the material of a stable API, a plugin interface, or a migration guide for model-list changes.

Where biniou is the wrong tool, and what to use instead

biniou is the wrong choice when you need programmatic generation. It is a webui, driven by clicking, with no documented HTTP API in the material provided. If you are building a pipeline that generates images on a schedule or from a service, you want the underlying libraries directly: call diffusers from Python, or run llama.cpp with its own server mode, and skip the UI layer entirely. That is not a criticism of biniou so much as a boundary. The alternative with the closest overlap is Stable Diffusion WebUI (AUTOMATIC1111) and its forks, which concentrate on image generation and expose an API mode. The difference in approach is scope. Stable Diffusion WebUI is an image tool with extensions bolted on; biniou is a multi-modal shell where image generation is one module among audio, transcription and chat. If your work is 90 percent image generation and you want a mature extension ecosystem for that one task, the narrower tool is the better fit. If you want Whisper transcription, Bark speech and a GGUF chatbot in the same tabbed interface as your diffusion models, the narrower tool does not cover you at all. The trade is depth in one domain against breadth across several, and biniou has deliberately chosen breadth.

Licence, maintenance cost and what GPL-3.0 means for a self-hosted tool

biniou is licensed GPL-3.0. For an individual running it locally, the practical effect is minimal: you can use it, modify it and run it without distributing anything. The copyleft obligation attaches when you distribute the software or a modified version, at which point source disclosure requirements apply. If you are considering embedding biniou in a product you ship, or offering it as a hosted service to third parties, read the licence text and get proper advice rather than relying on a summary. The maintenance cost is the more immediate concern. The weekly update cadence means the model catalogue moves under you, and the CUDA library issue noted in the 2026-08-08 entry suggests the environment is not always self-healing. Budget for disk, because the model set for image, video, audio and chat modules is large, and the 8GB RAM figure in the README addresses memory, not storage. Budget for re-pulls when defaults change. The upside of the same cadence is that someone else is tracking which Hugging Face repositories still load, which is real work you would otherwise do yourself.

Editorial conclusion

Adopt biniou if you want one local interface across image, audio and text generation and you are comfortable with a project that ships model-list changes on a roughly weekly cadence. Do not adopt it if you need a stable, versioned API surface or if you cannot absorb a full re-pull of model weights when a default changes. Before committing, verify three things on your own hardware: that the CUDA container variant starts on your driver, that the modules you actually need appear in the webui after launch, and that the disk budget for the default model set fits, since the README's 8GB RAM figure says nothing about storage.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. Woolverine94/biniou on GitHub
Community notes

Community notes