Spaces:
Build error
Build error
Upload 4 files
Browse files- app.py +30 -0
- avatar.jpg +0 -0
- packages.txt +4 -0
- requirements.txt +4 -0
app.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from flask import Flask, render_template, request
|
| 2 |
+
from elevenlabs import generate, save, set_api_key
|
| 3 |
+
|
| 4 |
+
# ✅ Set API key and voice ID
|
| 5 |
+
set_api_key("sk_a61a466b7fff5a7ae1e4f67dda5f83bfa7ba14e814944f6d")
|
| 6 |
+
VOICE_ID = "EXAVITQu4vr4xnSDxMaL" # ← Use voice ID from your account
|
| 7 |
+
|
| 8 |
+
app = Flask(__name__)
|
| 9 |
+
|
| 10 |
+
@app.route("/", methods=["GET", "POST"])
|
| 11 |
+
def index():
|
| 12 |
+
if request.method == "POST":
|
| 13 |
+
text = request.form["text"]
|
| 14 |
+
|
| 15 |
+
try:
|
| 16 |
+
# ✅ Generate speech using ElevenLabs
|
| 17 |
+
audio = generate(
|
| 18 |
+
text=text,
|
| 19 |
+
voice=VOICE_ID,
|
| 20 |
+
model="eleven_monolingual_v1"
|
| 21 |
+
)
|
| 22 |
+
save(audio, "static/output.mp3")
|
| 23 |
+
return render_template("index.html", audio_file="static/output.mp3")
|
| 24 |
+
except Exception as e:
|
| 25 |
+
return f"❌ Error: {str(e)}"
|
| 26 |
+
|
| 27 |
+
return render_template("index.html", audio_file=None)
|
| 28 |
+
|
| 29 |
+
if __name__ == "__main__":
|
| 30 |
+
app.run(debug=True)
|
avatar.jpg
ADDED
|
|
packages.txt
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ffmpeg
|
| 2 |
+
libsm6
|
| 3 |
+
libxext6
|
| 4 |
+
libgl1-mesa-glx
|
requirements.txt
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Flask==3.1.0
|
| 2 |
+
elevenlabs==0.2.26
|
| 3 |
+
streamlit==1.44.1
|
| 4 |
+
requests
|