AI Web Application

StoryReader AI

Dynamic AI story reader and narrator web application powered by ElevenLabs API, supporting multi-character voice acting and real-time audio streaming.

Python / Flask ElevenLabs API HTML5 Audio JavaScript
StoryReader AI Narrator Interface Showcase
🎙️

Multi-Voice Acting

Assign distinct character voices (Narrator, Hero, Villain, Tavern Maid) to bring prose to life with distinct pitch and timbre.

ElevenLabs Turbo Engine

Powered by the ultra-low latency eleven_turbo_v2_5 model for fast synthesis and continuous audio streaming.

📖

Interactive Story Studio

Distraction-free text editing workspace with preset story snippets, active voice selection, and instant audio playback controls.

🎵

Audio Caching Vault

Local MP3 asset caching system to eliminate duplicate TTS calls and reduce API latency during repeated playbacks.

# Flask TTS Generation Route
@app.route('/generate', methods=['POST'])
def generate_audio():
  data = request.json
  voice_id = VOICES.get(data.get('voice'), VOICES['narrator'])
  url = f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}"
  response = requests.post(url, json={"text": data['text'], "model_id": "eleven_turbo_v2_5"}, headers=headers)
  return send_file(io.BytesIO(response.content), mimetype='audio/mpeg')

Technical Specifications

Feature Implementation Benefit
Backend API Flask Server Lightweight python web wrapper
Voice Provider ElevenLabs Turbo v2.5 Ultra-fast neural speech generation
Audio Playback HTML5 Audio API + Web Blob Zero-lag browser playback
Storage Static File Caching API quota optimization