📸 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

  1. Fetch top X trends

  2. Pull recent video tweets

  3. Use Grok for <50-word anchor-style explanation

  4. Convert to voice using xAI Voice

  5. Animate avatar with SadTalker

  6. Merge avatar + tweet video via FFmpeg

  7. Auto-upload to YouTube

Part B — Jarvis-style Voice Trigger

  1. Bruno listens for wake command

  2. Automatically plays the latest broadcast

  3. 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
Share this project:

Updates