omnichar/OmniChar
The open .char format for consistent characters. Face, body, wardrobe & voice in one file, consistent across every model.
Omnichar Studio – A Portable .char Studio for AI‑Generated Characters
What it is
Omnichar Studio (called Inline Studio in the code) is an open‑source desktop application that lets you create AI characters once and reuse them across many generative‑AI models. A character is stored in a single .char file that contains reference images, a fingerprint of the person’s identity and optional LoRA adapters. The same file can be used with image‑only diffusion models (FLUX 2, Krea 2, Z‑Image Turbo), multimodal video‑and‑audio models (MiniMax H3, LTX‑2.5) or even hosted APIs.
Core ideas
| Idea | Why it matters |
|---|---|
| One‑file character | No need to re‑train a LoRA for every model or manually re‑wire reference images. Drop the .char into a dropdown and the model automatically receives the person’s face, body and clothing. |
| Local‑first, GPU‑accelerated | The whole UI, model runtime and trainer are packaged as a Python‑only web app. It runs on any machine with Python 3.11+ and a supported GPU (NVIDIA, Apple Silicon, AMD ROCm) or even CPU‑only (slow). |
| Built‑in LoRA trainer | If a model cannot consume references directly, the studio trains a tiny LoRA adapter on the supplied photos/video and re‑uses it for every subsequent render. |
| Versioned renders & continuity score | Each generation is saved as a “take” with a numeric continuity score (0‑100) that flags drift when the same character is animated over time. |
| ComfyUI compatibility | The same .char format is understood by the separate ComfyUI‑Omnichar node, so you can move between the visual studio and a node‑based workflow. |
Supported models (as of the README)
| Model | Can train LoRA? | Can generate? | Approx. VRAM on a 16 GB card |
|---|---|---|---|
| FLUX 2 (Base 4B/9B) | ✅ | ✅ | ~8.6 GB |
| FLUX 1 (dev, 4‑bit) | ✅ | ✅ | ~10.4 GB |
| Krea 2 (RAW, 4‑bit) | ✅ | ✅ | ~11.9 GB |
| Z‑Image Turbo | ✅ | ✅ | ~11.5 GB (distilled, low‑VRAM) |
| MiniMax H3 (video + sound) | ✅ | ✅ | ~12.7 GB (CPU‑offload for text encoder) |
| LTX‑2.5 (video + sound) | ✅ | ✅ | no – needs ≥48 GB VRAM |
| Hosted APIs | ❌ (no training) | ✅ | – (runs on remote service) |
How you get it running
- Clone & install –
git clone … && cd OmniChar/core && ./webui.sh --install --extra all(or the Windowswebui.bat). The script detects your GPU, pulls the matching CUDA‑compatible PyTorch wheel, and creates an isolated virtual‑env incore/.venv. - Launch –
./webui.shstarts a local web UI athttp://127.0.0.1:8848. The UI is a single‑page React app (served by the frontend package) that talks to the core engine via FastAPI. - Add models – Place
.safetensorsfiles undercore/models/diffusion_models/or use the UI node to download them automatically. - Create a character – Drag a photo (or a short video) onto the canvas, click Create
.char. The studio extracts facial embeddings, builds an identity fingerprint and (if needed) trains a tiny LoRA. - Generate – Choose a model node, select the character from a dropdown, write a prompt, hit Run. The output image/video is saved under
core/data/with a continuity score.
Key UI/CLI features
| Feature | How to use |
|---|---|
| Low‑VRAM profile | --lowvram or INLINE_PROFILE=lowvram – enables tiling, slicing and int8 quantisation. |
| Multi‑GPU | --multi-gpu "0,1" – splits a single denoise step across GPUs. |
| CPU‑only | --cpu – useful for testing on machines without a GPU. |
| Custom torch index | --torch-index cu130 (or a full URL) – forces a specific PyTorch wheel, handy for Blackwell (RTX 50) cards. |
| Automatic update check | The app polls PyPI daily and prints an “UPDATE AVAILABLE” banner. |
| ComfyUI node | Install ComfyUI-Omnichar; the node reads the same .char file, letting you mix the visual studio with node‑based pipelines. |
Hardware notes
- NVIDIA – fully tested on T4 (16 GB) and L40S (48 GB). Blackwell (RTX 50) cards are supported via the
cu130wheel. - Apple Silicon – code path exists but untested; works with MPS if the model fits unified memory.
- AMD ROCm – instructions provided; community feedback required to verify.
- CPU‑only – functional but slow; use
--cpuflag.
Documentation & community
- Getting started guide – https://omnichar.org/getting-started
- Workflows – https://omnichar.org/workflows (example pipelines for each model)
- Training reference –
TRAINING.md(benchmarks, hyper‑parameters, clip training, IC‑LoRA, etc.) - Discord & Reddit – active community for troubleshooting and sharing characters.
TL;DR
Omnichar Studio is a Python‑based web UI that lets you define a character once (via a portable .char file) and reuse it across many diffusion, video and audio generation models. It bundles a lightweight LoRA trainer, supports a range of modern models (FLUX 2, Krea 2, MiniMax H3, etc.), runs locally on GPUs (including the newest RTX 50 series) or on CPU, and integrates with ComfyUI. Ideal for creators who need consistent digital avatars without re‑training per model.
Related
- Project
- Project
- Project
- Project
- Project