subprocess2 / app.py
sreepathi-ravikumar's picture
Update app.py
3a09363 verified
raw
history blame
1.2 kB
from flask import Flask, request, jsonify, send_file
from flask_cors import CORS
from audio_generator import generate_audio
import os
import logging
app = Flask(__name__)
CORS(app)
logging.basicConfig(level=logging.INFO)
@app.route('/health', methods=['GET'])
def health():
return jsonify({"status": "ok"}), 200
@app.route('/generate-audio', methods=['POST'])
def generate_audio_route():
data = request.get_json()
text = data.get("text", "").strip()
if not text:
return jsonify({"error": "Text is required"}), 400
try:
filename = generate_audio(text)
app.logger.info(f"Successfully generated audio for text: {text[:50]}...")
return send_file(
filename,
mimetype="audio/mpeg",
as_attachment=True,
download_name="lesson_audio.mp3"
)
except RuntimeError as e:
app.logger.error(f"Audio generation failed: {str(e)}")
return jsonify({"error": str(e)}), 500
except Exception as e:
app.logger.error(f"Unexpected error: {str(e)}")
return jsonify({"error": "Internal server error"}), 500
if __name__ == "__main__":
app.run(host='0.0.0.0', port=7860)