CrenCren's picture
Upload folder using huggingface_hub
88aba71 verified
# utils.py
from flask import request, jsonify
from functools import wraps
import os
from dotenv import load_dotenv
load_dotenv()
def getenv_bool(name: str, default: bool = False) -> bool:
return os.getenv(name, str(default)).lower() in ("yes", "y", "true", "1", "t")
API_KEY = os.getenv('API_KEY', 'your_api_key_here')
REQUIRE_API_KEY = getenv_bool('REQUIRE_API_KEY', True)
def require_api_key(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if not REQUIRE_API_KEY:
return f(*args, **kwargs)
auth_header = request.headers.get('Authorization')
if not auth_header or not auth_header.startswith('Bearer '):
return jsonify({"error": "Missing or invalid API key"}), 401
token = auth_header.split('Bearer ')[1]
if token != API_KEY:
return jsonify({"error": "Invalid API key"}), 401
return f(*args, **kwargs)
return decorated_function
# Mapping of audio format to MIME type
AUDIO_FORMAT_MIME_TYPES = {
"mp3": "audio/mpeg",
"opus": "audio/ogg",
"aac": "audio/aac",
"flac": "audio/flac",
"wav": "audio/wav",
"pcm": "audio/L16"
}