NovaStream is a fully autonomous, AI-powered television network.
It continuously monitors the internet for breaking news, transforms headlines into
cinematic short-form video episodes โ complete with scripted scenes, voiceover narration,
and matched stock footage โ then broadcasts them live, 24/7, with zero human intervention.
NovaStream is an end-to-end agentic media pipeline built on Amazon Nova foundation models via AWS Bedrock. Give it the internet, and it gives you a television channel.
Every few minutes, the system:
- ๐ฐ Fetches breaking news headlines from the live web
- ๐ฌ Produces a fully scripted, multi-scene episode using Amazon Nova 2 Lite
- ๐๏ธ Voices the narration scene-by-scene using Amazon Nova 2 Sonic (TTS)
- ๐๏ธ Casts matching cinematic stock footage via the Pexels API
- โ๏ธ Edits everything into a final broadcast-ready video with FFmpeg
- ๐ก Broadcasts the episode live to a web player over WebSockets
NovaStream is purpose-built around Amazon Nova, AWS's latest generation of frontier foundation models. Nova models are invoked through Amazon Bedrock โ AWS's fully managed AI platform โ and power every creative and generative step of the pipeline.
| Nova Model | Model ID | Role in NovaStream |
|---|---|---|
| Amazon Nova 2 Lite | us.amazon.nova-2-lite-v1:0 |
The Showrunner โ takes a raw news headline and produces a structured JSON production blueprint: scene count, scripts, visual themes, and narration copy |
| Amazon Nova 2 Sonic | us.amazon.nova-2-sonic-v1:0 |
The Voice Actor โ performs hyper-realistic Text-to-Speech synthesis, narrating each scene with natural intonation and broadcast-quality audio |
Why Amazon Nova?
- Speed โ Nova Lite delivers sub-second structured JSON generation, keeping the pipeline latency low enough for continuous broadcasting.
- Quality โ Nova Sonic produces broadcast-quality voice output indistinguishable from a professional narrator.
- Cost Efficiency โ Nova's competitive token pricing makes running a 24/7 autonomous pipeline economically viable.
- Bedrock Integration โ Seamless
boto3integration means no custom inference servers, no model hosting, and no ops overhead.
AWS Bedrock โโโบ Amazon Nova 2 Lite (Showrunner: script & scene generation)
โโโบ Amazon Nova 2 Sonic (Voice Actor: TTS narration synthesis)
AWS IAM โโโบ Secure credential management via boto3 / STS
graph TD
A[๐ฐ NewsAPI<br/>Breaking Headlines] --> B
subgraph "๐ค Agent Pipeline (Python / FastAPI)"
B[๐ฌ Showrunner Agent<br/>Amazon Nova 2 Lite] --> C
C[๐ญ Casting Director<br/>Pexels API + Ranking] --> D
D[๐๏ธ Voice Actor Agent<br/>Amazon Nova 2 Sonic] --> E
E[โ๏ธ Editor Agent<br/>FFmpeg]
end
E --> F[โ๏ธ Supabase Storage<br/>Episode CDN]
E --> G[๐ก WebSocket Broadcaster]
G --> H[๐ฅ๏ธ Next.js Live Player<br/>localhost:3000]
G --> H[๐ฅ๏ธ Next.js Live Player<br/>novaaastream.vercel.app]
| Agent | File | Responsibility |
|---|---|---|
| Showrunner | agents/showrunner.py |
Nova 2 Lite prompt โ structured JSON episode blueprint |
| Casting Director | agents/casting.py |
Query expansion + Pexels video search + quality ranking |
| Voice Actor | agents/voice.py |
Nova 2 Sonic streaming TTS โ per-scene .mp3 audio |
| Editor | agents/editor.py |
FFmpeg scene stitching โ final .mp4 broadcast episode |
| Broadcaster | broadcaster.py |
WebSocket push of episode metadata + video URL to frontend |
| Layer | Technology |
|---|---|
| AI Models | Amazon Nova 2 Lite, Amazon Nova 2 Sonic (via AWS Bedrock) |
| Backend | Python 3.11, FastAPI, Asyncio, WebSockets |
| Video Processing | FFmpeg 6.0+ |
| Frontend | Next.js 14, React, Tailwind CSS |
| Storage | Supabase Storage |
| External APIs | NewsAPI, Pexels Video API |
| Infrastructure | Docker, docker-compose, Render |
- Python 3.11+
- Node.js 20+
- FFmpeg 6.0+ โ
brew install ffmpeg(macOS) /apt install ffmpeg(Linux) - AWS credentials with
us-east-1Bedrock access (Nova 2 Lite + Nova 2 Sonic) - Supabase project with a storage bucket
- Pexels API key
- NewsAPI key
git clone https://github.com/your-username/novastream.git
cd novastream
cp .env.example .envEdit .env with your credentials:
# AWS (Bedrock โ Nova models)
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_DEFAULT_REGION=us-east-1
# Nova model IDs
NOVA_LITE_MODEL_ID=us.amazon.nova-2-lite-v1:0
NOVA_SONIC_MODEL_ID=us.amazon.nova-2-sonic-v1:0
# External APIs
NEWSAPI_KEY=...
PEXELS_API_KEY=...
# Supabase Storage
SUPABASE_URL=...
SUPABASE_SERVICE_ROLE_KEY=...
SUPABASE_BUCKET=...
โ ๏ธ .envis gitignored โ your AWS keys will never be accidentally committed.
docker-compose up --buildBackend:
cd backend
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python main.pyFrontend (new terminal):
cd frontend
npm install
npm run devOpen http://localhost:3000 โ the infinite broadcast is live. ๐บ
| Variable | Description | Default |
|---|---|---|
NOVA_MAX_SCENES_PER_EPISODE |
Cap scenes per episode (cost control) | 2 |
SHOWRUNNER_MAX_TOKENS |
Max tokens for Nova Lite generation | 500 |
SHOWRUNNER_TEMPERATURE |
Nova Lite creativity (0.0โ1.0) | 0.4 |
SHOWRUNNER_MAX_RETRIES |
Retry attempts on Bedrock failure | 1 |
๐ก Cost Tip: Keep
NOVA_MAX_SCENES_PER_EPISODE=2during development to minimize Bedrock token usage.
Built for the Amazon Nova AI Hackathon โ March 2026.
- ๐ง Agentic AI โ Fully autonomous multi-agent pipeline with no human checkpoints
- ๐๏ธ Multimodal Generation โ Cross-model pipeline spanning text (Nova Lite), speech (Nova Sonic), and video (FFmpeg + Pexels)
- ๐ก Real-Time Streaming โ Live WebSocket broadcast of AI-generated television
This project is licensed under the MIT License โ see the LICENSE file for details.