📸 Inspiration
Scrolling X for trending news is time-consuming, and most summaries are text-only. We wanted something that feels like a real news broadcast—with a custom anchor done by a person of our choice, real videos, and hands-free playback through our robot Bruno.
📌 What it does
HashtagTV uses xAI Grok (reasoning + xAI Voice TTS) together with the X API, SadTalker, and FFmpeg to automatically convert trending content from X into fully-produced AI news videos. It fetches live trending topics, asks Grok why a topic is trending right now, speaks it using xAI Voice, animates a talking avatar, merges it with the original X video, and uploads the result directly to YouTube. Bruno can play the newest broadcast on command: “Hey Bruno, what’s the latest news?”
🛠️ How we built it
Part A — AI News Production
Fetch top X trends
Pull recent video tweets
Use Grok for <50-word anchor-style explanation
Convert to voice using xAI Voice
Animate avatar with SadTalker
Merge avatar + tweet video via FFmpeg
Auto-upload to YouTube
Part B — Jarvis-style Voice Trigger
Bruno listens for wake command
Automatically plays the latest broadcast
Otherwise responds normally using Grok
🧩 Challenges we ran into
Integrating xAI Voice with SadTalker
Slow avatar generation due to local inference + no GPU
Fullscreen YouTube blocked by security restrictions
SSH access to the robot was hard due to firewalls
Had to rely on hotspots to get connectivity
Running compute-heavy tasks on a robot was tough but fun
🏆 Accomplishments that we're proud of
End-to-end automation from trending detection to finished news broadcast
Real video merging and avatar animation
Voice-triggered playback on a physical robot
📚 What we learned
How to combine X API, xAI Grok, and xAI Voice
Local avatar animation pipelines
Video automation and publishing
Voice-triggered robotic UX
🚀 What’s next for HashtagTV — reported by your favorite celebrity
Real-time emergency alerts
Multilingual anchors
More avatar personalities (including celebrity-style presenters)
Built With
- fastapi
- grok
- grok-tts
- python
- ros
- sadtalker
- x-api
- xai-api
Log in or sign up for Devpost to join the conversation.