import requests from flask import Flask, jsonify, request from gradio.client import Client app = Flask(__name__) # Função para chamar a API de hospedagem de imagens def host_image(image_url): api_url = "https://wosocial.bubbleapps.io/version-test/api/1.1/wf/save" payload = {'file': image_url} response = requests.post(api_url, data=payload) if response.status_code == 200: return response.json()["response"]["result"] else: return None @app.route('/faceswapper', methods=['GET']) def faceswapper(): # Obter parâmetros da consulta da URL endpoint = request.args.get('endpoint', default='https://pierroromeu-faceswapper.hf.space/--replicas/u42x7/') user_photo = request.args.get('user_photo', default='') result_photo = request.args.get('result_photo', default='') # Chamar a API Gradio client = Client(endpoint, upload_files=True) result_path = client.predict( user_photo, result_photo, api_name="/predict" ) # Mesclar o endpoint com o caminho do arquivo full_url = endpoint + "/file=" + result_path # Hospedar a imagem e obter a URL hosted_url = host_image(full_url) if hosted_url: return jsonify({"result_url": hosted_url}) else: return jsonify({"error": "Falha ao hospedar a imagem."}), 500 if __name__ == '__main__': app.run(debug=True)