Spaces:
Runtime error
Runtime error
from flask import Flask, request, jsonify | |
import whisper | |
import os | |
from tempfile import NamedTemporaryFile | |
app = Flask(__name__) | |
model = whisper.load_model("base") # Consider loading a smaller model if resource constraints apply | |
def ask(): | |
if 'file' not in request.files: | |
return jsonify({'error': 'No file provided'}), 400 | |
file = request.files['file'] | |
# Ensure the file is an audio file (e.g., webm, mp3, wav) | |
if not file.filename.lower().endswith(('.webm', '.mp3', '.wav')): | |
return jsonify({'error': 'Unsupported file format'}), 400 | |
with NamedTemporaryFile(delete=False, suffix=".webm") as temp_audio: | |
file.save(temp_audio.name) | |
try: | |
result = model.transcribe(temp_audio.name) | |
question = result['text'] | |
# Dummy AI response for now | |
response = {"transcription": question, "response": f"You said: {question}"} | |
return jsonify(response) | |
except Exception as e: | |
return jsonify({'error': f'Processing failed: {str(e)}'}), 500 | |
finally: | |
os.unlink(temp_audio.name) | |
# Remove app.run() for production |