Phone 44 0141 280 4000
Email sales@impactdigitalradio.com
Create your account below
BS Net Trading AI Radio DJ - Complete System

AI Radio DJ Control Panel

BS Net Trading AI Agent Services

Dashboard Overview

Live Shows
0
Scheduled Shows
0
Available Presenters
15
Scripts Generated
0

Quick Actions

Generate Script
Create presenter voiceover
📅
Create Show
Schedule a new program
👥
Manage Presenters
View all AI characters

Your AI Presenters (15 Total)

Live Control Panel

SYSTEM ONLINE

📻 NOW ON AIR

00:00:00

⏭️ UP NEXT

📈 TODAY'S STATS

Shows Aired
0
Scripts Used
0
Active Listeners
0
Uptime
00:00:00

⚡ QUICK ACTIONS

📋 ACTIVITY LOG

Dashboard AI Presenters

AI Presenters (15 Agents)

Dashboard Schedule

Show Schedule

Week of Jan 27 - Feb 2, 2026

⚡ 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.

Dashboard Script Generator

📝 Script Builder

📄 Script Preview

📝

No script generated yet

⚖️ OFCOM Compliance

Dashboard Voice Output Manager

Voice Output Manager

Total Generated
0
Processing
0
Ready to Export
0
Failed
0
Dashboard Prompt Engine

Prompt Engine

⚡ DEMO MODE — Placeholder scripts active

📡 Layer 1 — Station DNA

GLOBAL

This 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 PRESENTER

Auto-assembled from each presenter's profile + DynamoDB backstory. Shows what the AI sees when generating for this presenter.

Select a presenter to load their character sheet...

📝 Layer 3 — Script Type Instructions

PER SCRIPT TYPE

Each script type (intro, outro, weather, promo) has specific instructions that tell the AI what to include and how to structure it.

Select a script type to see its instructions...

💬 Layer 4 — Context

DYNAMIC

Additional context injected at generation time: track metadata (artist/title/duration), user input from the Script Builder, or RadioDJ queue data.

Example: Track Introduction Context
NEXT TRACK: "Yellow" by Coldplay (4:39) Generate a track introduction for this specific song. Reference the artist and title naturally. Build anticipation without spoiling the experience. Keep it under 30 seconds of spoken word.
Example: User Context from Script Builder
"Mention it's raining outside"

🔗 Composed Prompt Preview

What the AI actually receives →
🔗Select a presenter and script type in the Script Builder to see the full composed prompt here.

📦 Demo Script Output Log

⚡ Placeholder responses — see code comments for real API call
Demo outputs will appear here as scripts are generated
Dashboard Settings

System Settings

Checking services...
🛡️ Backend Proxy
🧠 AI Script Engine
🎙️ ElevenLabs TTS
☁️ Azure TTS
🗄️ DynamoDB
🗺️ Voice ID Mapping
📻 RadioDJ Integration

🛡️ 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.

🔒
Architecture: Your proxy server (EC2 / Lambda) fetches secrets at runtime from AWS Secrets Manager or SSM Parameter Store. This panel stores only the proxy's public URL and a short-lived frontend auth token — nothing sensitive ever leaves the backend.
🌐 Proxy Base URL
Not connected
🔑 Frontend Auth Token
JWT · short-lived · auto-refresh

Issued by your backend at login to prove this session is authorised. The proxy validates it on every request.

📋 Proxy Endpoints

Routes your backend exposes. Credentials are injected server-side before each upstream call.

POST/proxy/ai/generateClaude script gen
POST/proxy/tts/elevenlabsElevenLabs render
POST/proxy/tts/azureAzure TTS render
GET/proxy/db/character/:idSingle character
GET/proxy/db/charactersFull sync
GET/proxy/healthLiveness check

🧠 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.

🔒
Key locations: AWS Secrets Manager → 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.
🤖 Model & Budget
Demo mode

🎙️ ElevenLabs TTS

Handles voice rendering for 11 presenters. API key is in Secrets Manager — only quality settings and test controls live here.

🔒
Key location: AWS Secrets Manager → 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.
🎛️ Quality & Format
Not tested

☁️ 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.

🔒
Key location: AWS Secrets Manager → bsnet/azure-tts-key. The proxy also handles the OAuth token refresh cycle with Azure's token endpoint automatically — no tokens hit this client.
🎛️ Region & Format
Not tested

🗄️ 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.

🔒
Credentials location: The EC2 instance role or Lambda execution role grants DynamoDB access via IAM — no access key ID or secret is stored anywhere in application code. The proxy uses the instance's ambient credentials automatically.
📦 Table & Region
Not tested

🗺️ 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.

🎙️ ElevenLabs — 11 Presenters
☁️ Azure TTS — 5 Presenters

📻 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.

🔒 How RadioDJ Integration Works
Your proxy server connects to the RadioDJ MySQL database and polls the 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.
🗄️ Database Connection
disconnected
📋 Queue Monitor
Connect to database first to see upcoming tracks
⚙️ Automation Settings
stopped
Generate voice track this many seconds before the target song plays
How often to check the RadioDJ queue for changes
Where generated MP3s are saved before insertion into queue
📊 Integration Activity
Integration activity will appear here

Analytics

📝 Scripts Generated
0
+0 vs last period
🎙️ Voice Renders
0
+0 vs last period
🧠 AI Tokens Used
0
Est. cost: £0.00
⏱️ Total Audio
0:00
across all presenters
📊 Scripts Over Time
🏆 Top Presenters
🎬 Script Type Breakdown
💰 Token Budget
🎛️ Voice Provider Split
🕐 Recent Activity
🔒
Impact Digital Staff Area
Please enter your staff password within 30 seconds
or be redirected to the public area
30
❌ Incorrect password. Please try again.

Create New Show

Presenter Profile

Radio Presenter • Impact Digital Radio
0
Scripts
0
Shows
0
Voices
Biography
Personality
Genres
Intro Phrase
Outro Phrase
Voice Provider
Voice Parameters
Pitch
50
Speed
55
Tone
60
Emotion
45
Sample Preview
Select a presenter to see sample text.
Click play to preview voice with current settings

Shopping cart

0
image/svg+xml

No products in the cart.

Continue Shopping
Verified by MonsterInsights