From dc1ce4b1397e2365733d0efb75d2016bc757c22e Mon Sep 17 00:00:00 2001 From: smthemex <138738845+smthemex@users.noreply.github.com> Date: Thu, 6 Feb 2025 12:23:07 +0800 Subject: [PATCH] init --- quick_start/faceutils/faceplusplus.py | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 quick_start/faceutils/faceplusplus.py diff --git a/quick_start/faceutils/faceplusplus.py b/quick_start/faceutils/faceplusplus.py new file mode 100644 index 0000000..6f989f5 --- /dev/null +++ b/quick_start/faceutils/faceplusplus.py @@ -0,0 +1,43 @@ +#!/usr/bin/python +# -*- encoding: utf-8 -*- +from io import BytesIO +import time + +import base64 +import json +import requests + +key = "-fd9YqPnrLnmugQGAhQoimCkQd0t8N8L" +secret = "0GLyRIHDnrjKSlDuflLPO8a6U32hyDUy" + + +def encode(image: 'PIL.Image') -> str: + with BytesIO() as output_buf: + image.save(output_buf, format='PNG') + return base64.b64encode(output_buf.getvalue()).decode('utf-8') + + +def beautify(image: 'PIL.Image') -> str: + data = { + 'api_key': key, + 'api_secret': secret, + 'image_base64': encode(image), + } + resp = requests.post(beautify.url, data=data) + return resp.json()['result'] + + +def rank(image: 'PIL.Image') -> int: + data = { + 'api_key': key, + 'api_secret': secret, + 'image_base64': encode(image), + 'return_attributes': 'beauty', + } + resp = requests.post(rank.url, data=data) + scores = resp.json()['faces'][0]['attributes']['beauty'] + return max(scores.values()) + + +beautify.url = 'https://api-cn.faceplusplus.com/facepp/v2/beautify' +rank.url = 'https://api-cn.faceplusplus.com/facepp/v3/detect'