Spaces:
Sleeping
Sleeping
| from flask import Flask, request, jsonify | |
| import requests | |
| app = Flask(__name__) | |
| def get_mp3_voice(text, pubsub_topic): | |
| # Set the request URL | |
| url = "https://api.braininc.net/be/vectordb/tts" | |
| # Define the headers | |
| headers = { | |
| "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", | |
| "Content-Type": "application/json", | |
| "Authorization": "token f082106b7f91d304eb2049fae9048160817425f1" | |
| } | |
| # Define the payload with required parameters | |
| payload = { | |
| "pubsub_topic": pubsub_topic, | |
| "text": text | |
| } | |
| try: | |
| # Send the POST request to the server | |
| response = requests.post(url, json=payload, headers=headers) | |
| # Check if the request was successful | |
| if response.status_code == 200: | |
| # Save the mp3 file | |
| with open("output.mp3", "wb") as file: | |
| file.write(response.content) | |
| return "MP3 file saved as 'output.mp3'" | |
| else: | |
| return f"Request failed with status code {response.status_code}: {response.text}" | |
| except requests.exceptions.RequestException as e: | |
| return f"An error occurred: {e}" | |
| def generate_voice(): | |
| # Get text from request JSON | |
| data = request.get_json() | |
| text = data.get("text") | |
| if not text: | |
| return jsonify({"error": "No text provided"}), 400 | |
| # Call get_mp3_voice with the provided text and a static pubsub_topic | |
| pubsub_topic = "/studios/739240/wsuid_new-edge-22_nodeid_editor-21/customApi/1731358894033" | |
| result = get_mp3_voice(text, pubsub_topic) | |
| return jsonify({"message": result}) | |
| if __name__ == '__main__': | |
| app.run(host="0.0.0.0", port=7860) |