zane-tv/tiktok-live-temple-rpc
Media & DesignRun a 9:16 interactive Buddhist temple livestream scene for TikTok Live, driven by viewer comments, likes and gifts.
This is a self-hosted interactive livestream scene: a vertical 1080×1920 Buddhist temple sanctuary meant to be shown in OBS Studio or TikTok Live Studio. Viewer comments, likes, follows, shares and gifts trigger on-screen rituals — incense offering and three prostrations, floating prayer lanterns, fortune-stick draws, wooden-fish tapping, bell ringing and a merit leaderboard — with Vietnamese AI voice narration. It fits streamers who want a ready ritual-themed live scene rather than a generic overlay tool.
How a stream works
The server exposes a browser page at port 3000 for the live stage plus quick controls, an ?obs=1 clean variant to place as an OBS Browser Source sized 1080×1920, and an admin page. TikTok Live events are mapped to rituals by documented Vietnamese keywords and coin tiers: for example, likes tap the wooden fish for +1 merit each, follow/share rings the bell for +10, comments containing phrases like incense-offering or prayer trigger the corresponding animation, and gifts are grouped into small (1–4 coins), medium (5–99) and large (≥100) tiers with escalating ceremonies. The 9:16 stage and OBS mode are shown in the demo screenshots.
Automation and external control
Beyond TikTok events, the same rituals can be invoked over JSON-RPC 2.0 via POST /rpc or a WebSocket, which is the path for TikFinity, Streamer.bot, webhooks or curl. Documented methods cover state, incense, prayer, fortune draw, wooden fish, bell, gift offering, the grand dragon ceremony, settings (music/TTS volume and TTS on-off), merit reset, and connecting or disconnecting a TikTok Live room by username or short link. This means an external tool can orchestrate the scene even when the built-in event mapping is not used.
Requirements and limits
Two runtimes are needed: Bun.js 1.1 or newer to run the server, and Python 3.10+ with uv to create a virtual environment for the ZeroTTS voice worker. Installation is described in the README. The Vietnamese TTS is a separate resident Python process loading the zeroweight-ai/ZeroTTS model; the README claims near-zero idle CPU through preloading and single-pass synthesis, and describes pre-rendered 30 FPS particles and preloaded 8-frame sprites to avoid flicker. These are author claims and optimizations, not an independent performance evaluation.
Merit standings are persisted in data/merit-state.json, and synthesized audio is cached under data/tts-cache/. No license is declared in the repository metadata, so reuse and redistribution terms are not stated in the supplied material. The README is in Vietnamese and documents no non-Vietnamese TTS path.
Written by AI from the project's README, updated . The project's own docs are the source of truth.