29 lines
1013 B
Python
29 lines
1013 B
Python
from flask import Blueprint, request, jsonify
|
|
from src.services.transcription_service import TranscriptionService
|
|
from src.services.tts_service import TextToSpeechService
|
|
|
|
api = Blueprint('api', __name__)
|
|
|
|
transcription_service = TranscriptionService()
|
|
tts_service = TextToSpeechService()
|
|
|
|
@api.route('/transcribe', methods=['POST'])
|
|
def transcribe_audio():
|
|
audio_data = request.files.get('audio')
|
|
if not audio_data:
|
|
return jsonify({'error': 'No audio file provided'}), 400
|
|
|
|
text = transcription_service.transcribe(audio_data)
|
|
return jsonify({'transcription': text})
|
|
|
|
@api.route('/generate-response', methods=['POST'])
|
|
def generate_response():
|
|
data = request.json
|
|
user_input = data.get('input')
|
|
if not user_input:
|
|
return jsonify({'error': 'No input provided'}), 400
|
|
|
|
response_text = tts_service.generate_response(user_input)
|
|
audio_data = tts_service.text_to_speech(response_text)
|
|
|
|
return jsonify({'response': response_text, 'audio': audio_data}) |