Hej tworze na własny użytek skrypt w pythonie który przez Google TTS tworzy mp3 2 dwóch różnych językach.Plik działa już lokalnie ale nie umiem go wrzucić do google Cloud.Chciałbym aby przez "POST" Postmanie udostępniał mi plik mp3 kiedy korzystam z telefonu.Oto kod : Próowałem z chat gpt (ale cały czas są jakieś błedy i kręce się w kółko.Proszę o pomoc.
from flask import Flask, request, jsonify
from google.cloud import texttospeech
import os
# Wprowadź tutaj swój klucz API
API_KEY = "API"
app = Flask(__name__)
# Utwórz obiekt Text-to-Speech Client z opcjami zawierającymi klucz API
client = texttospeech.TextToSpeechClient(
client_options={"api_key": API_KEY}
)
@app.route('/', methods=['POST'])
def generate_tts():
# Pobierz dane z zapytania POST
data = request.get_json()
# Pobierz język i tekst
lang = data.get('lang')
text = data.get('text')
if not lang or not text:
return jsonify({'error': 'Lang and text are required'}), 400
# Ustawienia dla języka
if lang == 'PL':
language_code = 'pl-PL'
elif lang == 'SV':
language_code = 'sv-SE'
else:
return jsonify({'error': 'Unsupported language'}), 400
# Inicjalizacja żądania tekstu na mowę
synthesis_input = texttospeech.SynthesisInput(text=text)
voice = texttospeech.VoiceSelectionParams(
language_code=language_code,
ssml_gender=texttospeech.SsmlVoiceGender.NEUTRAL
)
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.MP3
)
try:
# Generowanie mowy
response = client.synthesize_speech(
input=synthesis_input, voice=voice, audio_config=audio_config
)
# Zapisz dźwięk do pliku
audio_path = "output.mp3" # Zmieniamy na lokalną ścieżkę w katalogu roboczym
with open(audio_path, 'wb') as out:
out.write(response.audio_content)
return jsonify({'message': 'Audio generated', 'audio_path': audio_path}), 200
except Exception as e:
return jsonify({'error': str(e)}), 500
# Uruchomienie aplikacji Flask, jeśli uruchamiana lokalnie
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080)