flask / main.py
craftgamesnetwork's picture
Update main.py
2c68506 verified
raw
history blame
1.39 kB
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)