pip install flask yt-dlp
from flask import Flask, request, Response
import subprocess
app = Flask(__name__)
def run_yt_dlp_command(url, options):
try:
# Run yt-dlp command with specified options
result = subprocess.run(['yt-dlp'] + options + [url], capture_output=True, text=True)
if result.returncode != 0:
return Response(f'yt-dlp command failed: {result.stderr}', status=500)
# The output URL
output_url = result.stdout.strip()
return Response(output_url, mimetype='text/plain')
except Exception as e:
return Response(str(e), status=500)
@app.route('/audio', methods=['GET'])
def get_audio_url():
url = request.args.get('url')
if not url:
return Response('URL parameter is missing', status=400)
# Options for extracting audio URL
options = ['-x', '-g']
return run_yt_dlp_command(url, options)
@app.route('/video', methods=['GET'])
def get_video_url():
url = request.args.get('url')
if not url:
return Response('URL parameter is missing', status=400)
# Options for extracting video URL
options = ['-g']
return run_yt_dlp_command(url, options)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)