{"data":{"slug":"capsize-games-airunner","name":"airunner","tagline":"Offline inference engine for art, real-time voice conversations, LLM powered chatbots and automated workflows","github_url":"https://github.com/Capsize-Games/airunner","owner":"Capsize-Games","repo":"airunner","owner_avatar_url":"https://avatars.githubusercontent.com/u/83726625?v=4","primary_language":"Python","stars":1316,"forks":103,"topics":["ai","ai-art","art","asset-generator","chatbot","deep-learning","desktop-app","image-generation","mistral","multimodal","privacy","pygame","pyside6","python","self-hosted","speech-to-text","stable-diffusion","text-to-image","text-to-speech","text-to-speech-app"],"archived":false,"github_pushed_at":"2026-09-19T07:49:01+00:00","maintenance_label":"Very active","stars_delta_30d":4,"url":"https://www.graphcanon.com/tools/capsize-games-airunner","markdown_url":"https://www.graphcanon.com/tools/capsize-games-airunner.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/capsize-games-airunner","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=capsize-games-airunner","description":"Offline inference engine for art, real-time voice conversations, LLM powered chatbots and automated workflows","homepage_url":"https://airunner.art","license":"GPL-3.0","open_issues":70,"watchers":10,"ai_summary":"AIRunner facilitates offline multimodal operations including image generation and real-time voice interactions leveraging AI models. It features a packaged distribution mechanism with support for Linux and Windows, along with Dockerized deployments suitable for both GUI operations and API access in headless modes.","readme_excerpt":"## ⚙️ System Requirements\n\n| | Minimum | Recommended |\n|---|---------|-------------|\n| **OS** | Ubuntu 22.04, Windows 10 * | Ubuntu 22.04 (Wayland) |\n| **CPU** | Ryzen 2700K / i7-8700K | Ryzen 5800X / i7-11700K |\n| **RAM** | 16 GB | 32 GB |\n| **GPU** | NVIDIA RTX 3060 | NVIDIA RTX 5080 |\n| **Storage** | 22 GB - 100 GB+ (actual usage varies, SSD recommended) | 100 GB+ |\n\n> \\* Windows support is experimental and community-maintained; Linux is the primary supported platform.\n\n---\n\n---\n\n## 💾 Installation\n\nCurrent status:\nAIRunner runs as a Python application with two install paths.\n\nChoose one of the two primary install modes:\n\n| Install mode | Best for | Primary command |\n|--------------|----------|-----------------|\n| `dev` | Contributors working from a repo checkout | `./scripts/install.sh` |\n| `distributed` | Operators separating daemon and GUI-client installs | `./deployment/install_distributed.sh --role ...` |\n\n1. `dev` for contributors working from this repo checkout.\n  This reuses `./venv` by default, installs the Python packages in editable\n  mode, and builds the pinned `llama.cpp` and `whisper.cpp` sidecars under\n  `build/runtime-sidecars/linux/`.\n  ```bash\n  ./scripts/install.sh\n  ```\n  If you already have the venv, rerun the command and it will reuse the\n  existing environment instead of recreating it, and it refreshes the local\n  editable installs without re-solving the full dependency graph. Add\n  `--refresh-deps` when you want a full dependency refresh, and add\n  `--sidecars-cuda` when you want CUDA-enabled native sidecars.\n\n2. `distributed` for operators who want the daemon and GUI client installed\n  separately, including split-machine setups.\n  ```bash\n  ./deployment/install_distributed.sh --role daemon\n  ./deployment/install_distributed.sh --role gui-client\n  ```\n\nThe manual and Docker paths below are still useful developer/operator\ninstallation flows.\n\n---\n\n### Docker (Recommended)\n\n**GUI Mode:**\n```bash\nxhost +local:docker && docker compose run --rm airunner\n```\n\n**Headless API Server:**\n```bash\ndocker compose run --rm --service-ports airunner --headless\n```\n\n> **Note:** `--service-ports` is required to expose the container's published port (8080), which maps to the headless daemon's HTTP API.\n\nTo trim container dependencies for a specific deployment, rebuild with a\nprofile list such as:\n\n```bash\ndocker build \\\n  --build-arg AIRUNNER_INSTALL_PROFILES=core,llm-native,stt-native \\\n  -t airunner:headless .\n```\n\nThe container publishes the headless daemon's HTTP API on port 8080 with endpoints:\n- `GET /health` - Health check and service status\n- `POST /llm` - LLM inference\n- `POST /art` - Image generation\n\n---\n\n### Advanced Python Installation (Ubuntu/Debian)\n\nUse this path when you want to assemble the environment manually instead of\nusing `./scripts/install.sh` for repo development or\n`./deployment/install_distributed.sh` for managed daemon and GUI-client\ninstalls.\n\n**Python 3.13+ required.** We recommend using `pyenv` and `venv`.\n\n1. **Install system dependencies:**\n   ```bash\n   sudo apt update && sudo apt install -y \\\n     build-essential cmake git curl wget pkg-config \\\n     nvidia-cuda-toolkit pipewire libportaudio2 libxcb-cursor0 \\\n     espeak espeak-ng-espeak qt6-qpa-plugins qt6-wayland \\\n     libsentencepiece-dev \\\n     mecab libmecab-dev mecab-ipadic-utf8 libxslt-dev mkcert\n   ```\n\n2. **Create data directory:**\n   ```bash\n   mkdir -p ~/.local/share/airunner\n   ```\n\n3. **Choose the package profiles you need:**\n\n   - `llm-native`: local llama.cpp runtime and LLM toolchain\n   - `stt-native`: local STT runtime helpers\n   - `art-python`: Python image-generation runtimes\n   - `tts-python`: Python TTS runtimes without MeCab-backed language packs\n   - `headless`: aggregate of the four runtime extras above (`llm-native`,\n     `stt-native`, `art-python`, `tts-python`)\n   - `development`: test, lint, and packaging tooling\n   - `openvoice_jp` / `openvoice_kr`: MeCab-backed Japanese and Korean voice packs\n\n   All of","github_created_at":"2023-03-21T19:14:03+00:00","created_at":"2026-07-11T12:12:29.469285+00:00","updated_at":"2026-09-20T07:13:31.312885+00:00","categories":[{"slug":"computer-vision","name":"Computer Vision","url":"https://www.graphcanon.com/categories/computer-vision","markdown_url":"https://www.graphcanon.com/categories/computer-vision.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/computer-vision"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"}],"tags":[{"slug":"ai-art","name":"ai art"},{"slug":"chatbot","name":"chatbot"},{"slug":"image-generation","name":"image-generation"},{"slug":"speech-to-text","name":"speech-to-text"},{"slug":"text-to-speech","name":"text-to-speech"}],"trust":{"provenance":{"is_fork":false,"github_id":617136332,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T07:13:28.831Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":8,"days_since_push":0,"last_release_at":"2026-09-14T03:59:17Z","stars_delta_30d":4,"open_issues_delta_30d":65},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T12:12:31.391Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T07:13:29.963Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-09-20T07:13:29.963Z","managed_saas":false},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-09-20T07:13:29.963Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-09-20T07:13:29.963Z"},"license_spdx":{"value":"GPL-3.0","source":"github.license","observed_at":"2026-09-20T07:13:29.963Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Requires specific GPU support (NVIDIA) and larger storage allocations compared to competitors"],"min_ram_gb":16,"requires_docker":true},"constraints":{"min_ram_gb":16,"requires_docker":true},"when_to_use":["When needing an all-inclusive offline tool for both image generation and speech-to-text/text-to-speech functionalities","For environments requiring self-hosted solutions with high privacy and control over AI model deployment"],"when_not_to_use":["If your primary need is cloud-based services as AIRunner focuses on local deployments only","In scenarios where minimal hardware requirements are crucial, given AIRunner's higher system demands (min. 16 GB RAM, NVIDIA RTX 3060)"],"source":"enrich:decision_facts","observed_at":"2026-07-12T12:47:09.222Z"},"constraint_facets":{"min_ram_gb":16,"requires_docker":true},"decision_summary":[{"label":"Requirements","value":"Min 16 GB RAM; Requires Docker; Requires specific GPU support (NVIDIA) and larger storage allocations compared to competitors"},{"label":"Adopt for","value":"AIRunner supports offline multimodal operations with a strong focus on image generation, real-time voice conversations, and LLM-powered chatbots via GUI or API."},{"label":"License detail","value":"GPL-3.0, ensuring free use but requiring sharing of modifications in a similar manner."}]}}