[KongchangAI]
Product

IboChat

A Flask-based multilingual AI voice chat application in which characters can reply in text and synthesize speech. It supports more than 24 languages and custom character creation, and employs a three-tier voice pipeline with fallback design.

Timeline (last 90 days)

Oct 18

IboChat is a Flask-based application in which each character can both reply in text and speak in voice, supports more than 24 languages, and lets users create custom characters within minutes.

Unverified50%
Oct 18

IboChat's tech stack includes a single-file Flask application, GLM glm-4.5-air via the Z.ai API, locally running faster-whisper, SQLite + Werkzeug hashed account management, and Docker deployment behind Cloudflare.

Unverified50%
Oct 18

IboChat's /speak endpoint tries three voice paths in order: GPT-SoVITS (best voice cloning, takes about 5–18 seconds, supports only English, Chinese, Japanese, and Korean, and permanently occupies about 3.9GB of VRAM once loaded), OmniVoice Studio (supports any language, takes about 30–40 seconds, called via an OpenAI-compatible endpoint), and Edge TTS (Microsoft's free neural voices, no cloning capability, supports 24 languages, zero latency, never fails).

Unverified50%
Oct 18

IboChat runs on a single GPU with 4GB of VRAM, with GPT-SoVITS and OmniVoice sharing the same GPU; the author solves the audio corruption caused by resource contention by starting GPT-SoVITS on demand, using a watchdog thread to kill the process after 120 seconds of idleness, and clearing OmniVoice's VRAM before each call.

Unverified50%
Oct 18

Loading IboChat's voice model takes about 30–50 seconds; the server first probes whether the model is ready, and if it is not ready it directly falls back to the next tier of voice options rather than making the user wait.

Unverified50%
Oct 18

IboChat uses an exponential backoff retry strategy for rate limiting on AI endpoints.

Unverified50%
Oct 18

IboChat's voice cloning flow from YouTube is already automated: yt-dlp fetches the clip, ffmpeg trims it, OmniVoice generates the voiceprint, and it is cached per character.

Unverified50%
Oct 18

IboChat's endpoint name is still /api/gemini because early versions used Google Gemini, and it now proxies to Z.ai; changing the name would break the frontend.

Unverified50%
Oct 18

Mobile browsers refuse to autoplay audio before the user touches the page, so IboChat's first reply only plays after the first click.

Unverified50%
Oct 18

IboChat currently clearly labels its characters as AI parody, and the author plans to add cross-session long-term memory and better mid-conversation language switching.

Unverified50%

All Facts (10)

Unverified

IboChat is a Flask-based application in which each character can both reply in text and speak in voice, supports more than 24 languages, and lets users create custom characters within minutes.

50%
Unverified

IboChat's tech stack includes a single-file Flask application, GLM glm-4.5-air via the Z.ai API, locally running faster-whisper, SQLite + Werkzeug hashed account management, and Docker deployment behind Cloudflare.

50%
Unverified

IboChat's /speak endpoint tries three voice paths in order: GPT-SoVITS (best voice cloning, takes about 5–18 seconds, supports only English, Chinese, Japanese, and Korean, and permanently occupies about 3.9GB of VRAM once loaded), OmniVoice Studio (supports any language, takes about 30–40 seconds, called via an OpenAI-compatible endpoint), and Edge TTS (Microsoft's free neural voices, no cloning capability, supports 24 languages, zero latency, never fails).

50%
Unverified

IboChat runs on a single GPU with 4GB of VRAM, with GPT-SoVITS and OmniVoice sharing the same GPU; the author solves the audio corruption caused by resource contention by starting GPT-SoVITS on demand, using a watchdog thread to kill the process after 120 seconds of idleness, and clearing OmniVoice's VRAM before each call.

50%
Unverified

Loading IboChat's voice model takes about 30–50 seconds; the server first probes whether the model is ready, and if it is not ready it directly falls back to the next tier of voice options rather than making the user wait.

50%
Unverified

IboChat uses an exponential backoff retry strategy for rate limiting on AI endpoints.

50%
Unverified

IboChat's voice cloning flow from YouTube is already automated: yt-dlp fetches the clip, ffmpeg trims it, OmniVoice generates the voiceprint, and it is cached per character.

50%
Unverified

IboChat's endpoint name is still /api/gemini because early versions used Google Gemini, and it now proxies to Z.ai; changing the name would break the frontend.

50%
Unverified

Mobile browsers refuse to autoplay audio before the user touches the page, so IboChat's first reply only plays after the first click.

50%
Unverified

IboChat currently clearly labels its characters as AI parody, and the author plans to add cross-session long-term memory and better mid-conversation language switching.

50%

Source Articles