[AI]
Claude Sonnet
Story Writer
Anthropic's Claude writes every episode from scratch using the series bible and story tracker. It invents characters, dialogue, plot twists and vote options.
[IMG]
ComfyUI + DreamShaper 8
Character & Background Generator
Stable Diffusion workflow for generating new character portraits and outback backgrounds on demand. ControlNet with OpenPose keeps face positions consistent.
[LIP]
SadTalker
Lip Sync Engine
3D face model animation that drives character portraits to speak in sync with generated audio. Runs entirely on local GPU hardware.
[TTS]
Microsoft Edge TTS
Voice Synthesis
High-quality Australian neural voices. en-AU-WilliamNeural for Bob. Runs via the edge-tts Python CLI — free, no API key required.
[BG]
rembg
Background Removal
U2-Net neural network running via onnxruntime-gpu to remove SadTalker backgrounds frame by frame, enabling character compositing over scene backgrounds.
[VID]
FFmpeg
Video Assembly
Handles all compositing, scaling, subtitle rendering, audio mixing, scene concatenation and final encoding to H.264/AAC for TikTok.
[AGT]
OpenClaw
AI Agent Orchestrator
Self-hosted AI agent platform running in Docker on an Unraid NAS. Orchestrates the entire pipeline via SSH — from vote polling to episode rendering to notifications.
📘
Facebook Graph API
Video Upload & Vote Polling
Handles automatic Reels upload to the Bob in Australia Facebook Page and polls public comments every 5 minutes to tally votes alongside YouTube. TikTok votes are counted manually.
▶
YouTube Data API v3
Video Upload & Vote Polling
Handles automatic episode upload as unlisted videos with comments enabled, and polls YouTube comments every 5 minutes to tally votes. First option to 100 votes triggers the next episode.
🐍
Python 3
Pipeline Glue
Every step of the pipeline is orchestrated in Python — from calling the Claude API to triggering ComfyUI workflows, managing the story tracker JSON, syncing files via SCP, and writing trigger files between machines.
🖥
Unraid NAS
Orchestration Host
Self-hosted NAS running Docker containers including OpenClaw. Hosts the persistent pipeline volume, story tracker, cast images and episode trigger files. Boots containers automatically on startup.
🗄
PHP + SQLite
Website Backend
The bobinaustralia.com.au website runs on PHP with SQLite for community suggestions voting, contact form submissions, and future feature voting. No external database required.
☁
Nginx + Cloudflare
Web Server & CDN
Nginx via Plesk serves the website from a Linux server in Australia. Cloudflare sits in front for DDoS protection, SSL termination, email obfuscation and global CDN caching.
🔑
Google OAuth 2.0
YouTube Authentication
OAuth token-based authentication for the YouTube Data API. Refresh tokens stored locally on the render server — no manual re-authentication required between episodes.