from flask import Flask, request, jsonify import requests app = Flask(__name__) def make_request(asset_id): url = f'https://assetdelivery.roblox.com/v1/asset/?assetVersionId={asset_id}' headers = {'User-Agent': 'Roblox/WinInet'} try: response = requests.head(url, headers=headers, allow_redirects=False) return { 'location': response.headers.get('location'), 'assetId': response.headers.get('roblox-assetid'), 'assetTypeId': response.headers.get('roblox-assettypeid') } except: return {'error': 'Failed to fetch asset'} @app.route('/v1/assets/batch', methods=['POST']) def handle_batch(): if request.method != 'POST': return jsonify({"errors": [{"code": 0, "message": "MethodNotAllowed"}]}), 405 try: requests_data = request.json except: return jsonify({"errors": [{"code": 0, "message": "BadRequest"}]}), 400 if not isinstance(requests_data, list) or len(requests_data) > 300: return jsonify({"errors": [{"code": 0, "message": "BadRequest"}]}), 400 results = [] for req in requests_data: response = make_request(req['assetId']) result = { 'requestId': req['requestId'], **response } results.append(result) return jsonify(results) if __name__ == '__main__': app.run(debug=True)