AI Radio DJ Control Panel
BS Net Trading AI Agent Services
Dashboard Overview
Quick Actions
Your AI Presenters (15 Total)
Live Control Panel
📻 NOW ON AIR
⏭️ UP NEXT
📈 TODAY'S STATS
⚡ QUICK ACTIONS
📋 ACTIVITY LOG
AI Presenters (15 Agents)
Show Schedule
⚡ Batch Script Generation
Pre-generate all scripts for scheduled shows in advance. Select a date range and the system will create all track intros, outros, promos, and time checks for every scheduled presenter.
📝 Script Builder
📄 Script Preview
No script generated yet
⚖️ OFCOM Compliance
Voice Output Manager
Prompt Engine
📡 Layer 1 — Station DNA
GLOBALThis block applies to every script generated on Impact Digital Radio. It defines the station's overall brand voice, philosophy, and non-negotiable style rules.
🎭 Layer 2 — Character Sheet
PER PRESENTERAuto-assembled from each presenter's profile + DynamoDB backstory. Shows what the AI sees when generating for this presenter.
📝 Layer 3 — Script Type Instructions
PER SCRIPT TYPEEach script type (intro, outro, weather, promo) has specific instructions that tell the AI what to include and how to structure it.
💬 Layer 4 — Context
DYNAMICAdditional context injected at generation time: track metadata (artist/title/duration), user input from the Script Builder, or RadioDJ queue data.
🔗 Composed Prompt Preview
📦 Demo Script Output Log
System Settings
🛡️ Backend Proxy
All secrets — API keys, AWS credentials, subscription tokens — live exclusively on your AWS backend. This frontend never sees or transmits them. Every service call routes through your Node.js proxy.
Issued by your backend at login to prove this session is authorised. The proxy validates it on every request.
Routes your backend exposes. Credentials are injected server-side before each upstream call.
🧠 AI Script Engine
Configure which AI provider and model to use for script generation. API keys never leave your backend. Requests route through /proxy/ai/generate.
bsnet/anthropic-api-key and bsnet/openai-api-key. The proxy resolves the correct key based on your selected model and injects it into the upstream API call. Never cached on this client.
🎙️ ElevenLabs TTS
Handles voice rendering for 11 presenters. API key is in Secrets Manager — only quality settings and test controls live here.
bsnet/elevenlabs-api-key. Voice IDs are configured on the Voice ID Mapping tab and sent to the proxy alongside the script text at render time.
☁️ Azure Cognitive TTS
Handles voice rendering for 5 presenters (Abby, Jody, Angie, Cindy, Tony). Subscription key and token refresh are managed entirely on the backend.
bsnet/azure-tts-key. The proxy also handles the OAuth token refresh cycle with Azure's token endpoint automatically — no tokens hit this client.
🗄️ DynamoDB
Stores backstories, speaking styles, and full character records. AWS credentials stay on the backend — only table names, region, and sync controls are configured here.
🗺️ Voice ID Mapping
Maps each presenter to their voice ID on ElevenLabs or Azure. These IDs are sent to the proxy at render time — the proxy pairs them with the correct provider credentials server-side.
📻 RadioDJ Integration
Connect to your RadioDJ MySQL database to monitor the playlist queue and automatically inject AI voice tracks before songs play. Voice tracks are generated based on actual track metadata pulled from the queue.
queuelist table every few seconds. When it detects an upcoming track, it generates a personalized voice intro using the track's artist/title metadata, renders it with your presenter's voice, saves the MP3 to RadioDJ's media folder, and inserts it into the queue. All database credentials are stored in AWS Secrets Manager — the frontend never sees them.
Analytics
or be redirected to the public area
