audio / app.py
MiklX's picture
Create app.py
382c3e9
raw
history blame
2.17 kB
from flask import Flask, render_template, request, jsonify
from flask_cors import CORS
from gtts import gTTS
import tempfile
import os
import requests
app = Flask(__name__)
CORS(app)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
# Проверка пароля
password = request.form.get('password')
if password != 'your_password_here':
return jsonify({"status": "error", "message": "Неверный пароль"})
# Получение текста из формы
input_text = request.form.get('text')
# Генерируем аудио
tts = gTTS(text=input_text, lang="ru", slow=False)
# Создаем временный файл и сохраняем в него аудио
temp_file = tempfile.NamedTemporaryFile(suffix=".mp3", delete=False)
temp_file_name = temp_file.name
tts.save(temp_file_name)
# Указываем URL сервера, на который хотим загрузить файл
upload_url = "https://x0.at/" # Замените на реальный URL
# Открываем временный файл для чтения бинарных данных
with open(temp_file_name, "rb") as file:
files = {"file": (os.path.basename(temp_file_name), file)}
# Выполняем POST-запрос с использованием библиотеки requests
response = requests.post(upload_url, files=files)
# Закрываем и удаляем временный файл
temp_file.close()
os.remove(temp_file_name)
# Проверяем статус код ответа
if response.status_code == 200:
uploaded_url = response.text.strip()
return jsonify({"status": "success", "url": uploaded_url})
else:
return jsonify({"status": "error", "message": "Ошибка при загрузке файла на сервер", "status_code": response.status_code})
return render_template('index.html')
if __name__ == '__main__':
app.run()