# AITuberKit: an all-in-one kit for AI characters that chat and stream

> A Japanese built Next.js and Electron toolkit that covers the whole stack of a virtual streamer, from VRM and Live2D avatars through fourteen language providers and eleven speech engines to YouTube comment ingestion, digital signage mode and a WebSocket hook for external systems.

**tegnike/aituber-kit** — A web application for chatting with AI characters that anyone can easily set up and deploy.

- Repository: https://github.com/tegnike/aituber-kit
- Website: https://aituberkit.com
- Stars: 1,119 · Forks: 225
- Language: TypeScript
- License: NOASSERTION
- Published: 2026-10-07 · Updated: 2026-10-07 · Language: en
- Canonical page: https://hysenlabs.com/projects/tegnike-aituber-kit

## One repository covering avatar, voice, brain and audience

Most character chat projects pick a corner and leave the rest to you. AITuberKit covers four, and the Japanese README lists them as numbered feature groups: talking to an AI character, AITuber streaming, demo terminal and digital signage, and advanced conversation modes, with a fifth group covering integration and extension.

The first group is ordinary by now. You supply a language model API key, the character holds recent turns as short term memory, and a RAG layer handles long term recall from past conversations. Multimodal support means the character can look at camera video or an uploaded image and answer about it, which is what turns a chatbot into something that appears present.

The second group is where the project earns its name. It pulls live comments from YouTube, either through the YouTube API or through OneComme, and has the character respond automatically. Pickable polling intervals, configurable display names, and a continuous conversation mode that lets the character speak when no comments arrive are all small touches that matter during a three hour stream where silence reads as a broken bot.

The third group is the one nobody expects. Demo terminal mode puts the character into full screen for digital signage, with passcode authentication, an NG word filter and an input length limit, which is the vocabulary of a retail or exhibition installation rather than a stream. Add people detection through camera face detection that triggers greetings and farewells, and an idle mode with canned phrases, time of day greetings or model generated lines, and you have a kiosk product.

The fourth group adds OpenAI's Realtime API for low latency conversation with function execution, an audio mode built on the Audio API, a reasoning mode that displays the model's thinking and exposes inference parameters, and a game commentary mode that periodically analyses screen captures and narrates. The fifth adds a WebSocket integration mode for a server application, a slide presentation mode, and a dedicated API that accepts text and images from outside and makes the character speak.

## The provider lists are long enough to be the feature

The supported language providers are OpenAI, Anthropic, Google Gemini, Azure OpenAI, Groq, Cohere, Mistral AI, Perplexity, Fireworks, LM Studio, Ollama, Dify, xAI, DeepSeek and OpenRouter. Fourteen, with local inference through LM Studio and Ollama sitting alongside the hosted APIs, which means a fully offline deployment is a configuration choice rather than a fork.

Speech runs through eleven engines: VOICEVOX, Koeiromap, Google Text to Speech, Style-Bert-VITS2, AivisSpeech, the Aivis Cloud API, Cartesia, GSVI TTS, ElevenLabs, OpenAI and Azure OpenAI. The Japanese options are not incidental. VOICEVOX and the Aivis project are the standard pairing for Japanese VTuber work, and Style-Bert-VITS2 covers the voice cloning case that most Western tooling ignores. A European streamer and a Japanese streamer need different parts of this list, which suggests the maintainer has watched real deployments fail.

Avatars come in three forms. VRM files handle 3D with pose and gesture control through motion tags. Live2D files handle 2D and require Cubism 3 or later. MotionPNGTuber covers the animated PNG character format by driving a character display from a video, and the README credits the separate MotionPNGTuber project for it.

The practical consequence is that switching providers is usually a settings change rather than a code change, which is the property that keeps a toolkit like this useful. Model vendors churn, and a project that hard codes one of them ages badly.

## Getting it running, and the two paths the README offers

The development requirements are stated up front: Node.js 24.x and npm ^11.6.2. The clone and install sequence is the standard Next.js one, and `.env.example` is copied rather than written by hand.

```bash
git clone https://github.com/tegnike/aituber-kit.git
cd aituber-kit
npm install
cp .env.example .env
npm run dev
```

The dev server comes up on http://localhost:3000. One detail says a lot about the intended audience: after first setup you can start the app by double-clicking `LAUNCH.bat` on Windows or `LAUNCH.command` on macOS, with a chmod note for the latter. Double-click launchers are not something a framework developer adds. They are for people deploying a kiosk or a personal stream, which is the same audience as the signage mode.

Docker is the second path, and it is short because the compose file bind mounts your working directory and runs a dev command inside the container rather than a production server. It exposes port 3000, reads `.env` through `env_file`, and shadows the container's own `node_modules` with an anonymous volume so your host install is not overwritten. That makes it a good fit for a persistent installation on a home server or a small always on machine, and the wrong thing to run in front of real traffic. There is a Cloudflare angle too, with `open-next.config.ts` and `wrangler.jsonc` in the tree, plus an `electron.mjs` entry point, so the same codebase targets Cloudflare Pages and a desktop shell.

The `.env.example` file is bilingual, Japanese and English line by line, and it opens with a language selector listing sixteen locales including vi, fr, es, pt, de, ru, it, ar, hi, pl and th. It also carries a `NEXT_PUBLIC_OFFICIAL_SITE` flag documented as needing to stay false outside the official deployment, and a `NEXT_PUBLIC_RESTRICTED_MODE` flag documented as needing true on Cloudflare. Those two are the kind of detail that only surfaces after a deployment has gone wrong.

## The custom license is the biggest thing to read before adopting it

The README opens with a notice that from version v2.0.0 the project uses a custom license, and directs commercial users to a terms section. GitHub's license field reports NOASSERTION, which is the classifier GitHub uses when it cannot map a license file to a known license, so automated tooling will not tell you what you have here.

The most recent release makes the licensing question more concrete rather than less. v2.78.1, published 2026-09-13, is entirely a usage-guidance update for the bundled AI character assets. Its notes say the guidance for the shipped VRM and Live2D models was unified to point at each official asset's latest terms, that a guidance README was added in the Live2D folder, and that generating images with the models or feeding them into AI for input, reference, training or conversion is prohibited. It draws a distinction between ordinary AITuber use, where the model is displayed and lip synced to the generated conversation and synthesized voice, and treating the assets as AI input. It also states the Live2D restrictions on commercial use, modification and redistribution, and that the AITuberKit commercial license does not grant permission to use the models.

That is careful work and it points at a real trap. The models look like part of the toolkit because they ship beside it, and shipping a commercial stream with a redistributed Live2D model is exactly the case the note addresses. Treat the assets and the application as two separate licensing decisions.

One more release note is worth reading as a signal about the demo deployment. v2.78.0 disabled GPT-Live, the Realtime API, audio mode and OpenAI TTS on the hosted demo site, blocked re-enabling them from saved settings, and moved the demo's default conversation back to the external agent path while keeping Aivis Cloud for speech. The demo is deliberately hobbled so that visitors cannot spend the maintainer's API budget.

## Where this fits against building the same thing yourself

The honest case for AITuberKit is speed to a working stream. Assembling this from parts means choosing an avatar runtime, a lip sync approach, a speech engine, a memory strategy and a live comment client, then wiring them together. The README's value is that all of those choices have already been made in a configuration someone can change, including the awkward ones: Cubism version requirements for Live2D, motion tags for VRM posing, polling intervals for comment ingestion.

The case against is that it is a whole application rather than a set of pieces. There is no importable avatar runtime here, only an application you configure. If your goal is a voice component inside an existing product, this is the wrong dependency and you should look at MotionPNGTuber directly, which the README does link.

There is also a scope question hidden in the feature list. Five conversation modes, three avatar formats, fourteen providers and eleven speech engines is a large surface, and every combination is someone else's test matrix rather than yours. Expect that some pairing will not work, particularly between a reasoning mode and a particular speech engine, and expect to read the issue tracker to find out which.

The repository itself is healthy by the numbers that usually matter: 1,109 stars, 217 forks and only 19 open issues, with releases v2.78.0 and v2.78.1 two days apart in September 2026 and a push on the same day as the latest tag. The root also carries `AGENTS.md`, `CLAUDE.md`, an `.agents/` directory, and both Jest and Playwright configuration, which points at a maintained project with automated tests rather than a weekend experiment.

## Conclusion

AITuberKit is closer to a product than a library, and that cuts both ways. Nobody has to assemble a TTS engine, a lip sync pipeline, an avatar runtime and a live comment feed to get a character talking, which is a real saving when your goal is a working stream this weekend. The price is that you inherit someone else's opinions about interface, memory and streaming, and the abstraction only holds as long as your requirements stay inside the feature list. Two things to settle before you build on it. Licensing is not open source in the usual sense: the project moved to a custom license at v2.0.0, GitHub's license field reports NOASSERTION, and the bundled Live2D assets carry their own separate terms that the v2.78.1 release notes spell out in detail, including restrictions on commercial use and redistribution. Read that section rather than assuming the permissive terms that apply to comparable projects. Node 24 with npm ^11.6.2 is a modern floor, the release cadence is fast and healthy with 19 open issues, and the last release v2.78.1 shipped the same day as the last push on 2026-09-13. Deploy the demo configuration to a private URL first and confirm lip sync and speech latency before going live.

## FAQ

### What is AITuberKit and what does it include?

AITuberKit is an open source toolkit for building web apps that chat with AI characters and stream them as AITuber. It bundles VRM and Live2D avatars, RAG long term memory, multimodal input, YouTube live comment ingestion, digital signage and demo terminal modes, Realtime and audio conversation modes, and a WebSocket hook for external systems.

### How do I install and run AITuberKit locally?

Clone the repository, run `npm install`, copy `.env.example` to `.env`, then start `npm run dev` and open http://localhost:3000. The README requires Node.js 24.x with npm ^11.6.2. After the first setup, `LAUNCH.bat` on Windows or `LAUNCH.command` on macOS starts the app by double-click.

### Can I run AITuberKit with Docker?

Yes. Copy `.env.example` to `.env` and run `docker compose up -d`, then open http://localhost:3000 and stop it with `docker compose down`. The compose file bind mounts your working directory and runs `npm run dev` inside the container, so it suits a persistent local installation more than a production deployment.

### Which language models and speech engines are supported?

Fourteen language providers are listed, including OpenAI, Anthropic, Gemini, Azure OpenAI, Groq, Cohere, Mistral, Perplexity, Fireworks, LM Studio, Ollama, Dify, xAI, DeepSeek and OpenRouter. Eleven speech engines are listed, including VOICEVOX, Koeiromap, Google Text to Speech, Style-Bert-VITS2, AivisSpeech, Aivis Cloud, Cartesia, GSVI TTS, ElevenLabs, OpenAI and Azure OpenAI.

### Is AITuberKit free for commercial use?

Not under a standard open source license. The README states that from v2.0.0 the project uses a custom license and directs commercial users to its terms section, and GitHub reports the license as NOASSERTION. The bundled Live2D and VRM assets carry separate conditions, with the v2.78.1 notes prohibiting AI input, training and conversion of those assets and restricting their commercial use and redistribution.

## Sources

- [Issues](https://github.com/tegnike/aituber-kit/issues)
- [Project website](https://aituberkit.com)
- [README](https://github.com/tegnike/aituber-kit/blob/main/README.md)
- [Releases](https://github.com/tegnike/aituber-kit/releases)
- [tegnike/aituber-kit on GitHub](https://github.com/tegnike/aituber-kit)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/tegnike-aituber-kit
