# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import warnings from tencentcloud.common.abstract_model import AbstractModel class DescribeMaterialListRequest(AbstractModel): """DescribeMaterialList请求参数结构体 """ def __init__(self): r""" :param _ActivityId: 活动Id :type ActivityId: str :param _MaterialId: 素材Id :type MaterialId: str :param _Limit: 每次拉取条数 :type Limit: int :param _Offset: 偏移量 :type Offset: int """ self._ActivityId = None self._MaterialId = None self._Limit = None self._Offset = None @property def ActivityId(self): """活动Id :rtype: str """ return self._ActivityId @ActivityId.setter def ActivityId(self, ActivityId): self._ActivityId = ActivityId @property def MaterialId(self): """素材Id :rtype: str """ return self._MaterialId @MaterialId.setter def MaterialId(self, MaterialId): self._MaterialId = MaterialId @property def Limit(self): """每次拉取条数 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Offset(self): """偏移量 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset def _deserialize(self, params): self._ActivityId = params.get("ActivityId") self._MaterialId = params.get("MaterialId") self._Limit = params.get("Limit") self._Offset = params.get("Offset") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeMaterialListResponse(AbstractModel): """DescribeMaterialList返回参数结构体 """ def __init__(self): r""" :param _MaterialInfos: 素材列表数据 :type MaterialInfos: list of PublicMaterialInfos :param _Count: 素材条数 :type Count: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._MaterialInfos = None self._Count = None self._RequestId = None @property def MaterialInfos(self): """素材列表数据 :rtype: list of PublicMaterialInfos """ return self._MaterialInfos @MaterialInfos.setter def MaterialInfos(self, MaterialInfos): self._MaterialInfos = MaterialInfos @property def Count(self): """素材条数 :rtype: int """ return self._Count @Count.setter def Count(self, Count): self._Count = Count @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("MaterialInfos") is not None: self._MaterialInfos = [] for item in params.get("MaterialInfos"): obj = PublicMaterialInfos() obj._deserialize(item) self._MaterialInfos.append(obj) self._Count = params.get("Count") self._RequestId = params.get("RequestId") class FaceInfo(AbstractModel): """人脸信息 """ def __init__(self): r""" :param _X: 人脸框的横坐标 :type X: int :param _Y: 人脸框的纵坐标 :type Y: int :param _Width: 人脸框的宽度 :type Width: int :param _Height: 人脸框的高度 :type Height: int """ self._X = None self._Y = None self._Width = None self._Height = None @property def X(self): """人脸框的横坐标 :rtype: int """ return self._X @X.setter def X(self, X): self._X = X @property def Y(self): """人脸框的纵坐标 :rtype: int """ return self._Y @Y.setter def Y(self, Y): self._Y = Y @property def Width(self): """人脸框的宽度 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """人脸框的高度 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height def _deserialize(self, params): self._X = params.get("X") self._Y = params.get("Y") self._Width = params.get("Width") self._Height = params.get("Height") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class FaceRect(AbstractModel): """人脸框信息 """ def __init__(self): r""" :param _X: 人脸框左上角横坐标。 :type X: int :param _Y: 人脸框左上角纵坐标。 :type Y: int :param _Width: 人脸框宽度。 :type Width: int :param _Height: 人脸框高度。 :type Height: int """ self._X = None self._Y = None self._Width = None self._Height = None @property def X(self): """人脸框左上角横坐标。 :rtype: int """ return self._X @X.setter def X(self, X): self._X = X @property def Y(self): """人脸框左上角纵坐标。 :rtype: int """ return self._Y @Y.setter def Y(self, Y): self._Y = Y @property def Width(self): """人脸框宽度。 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """人脸框高度。 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height def _deserialize(self, params): self._X = params.get("X") self._Y = params.get("Y") self._Width = params.get("Width") self._Height = params.get("Height") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class FuseFaceRequest(AbstractModel): """FuseFace请求参数结构体 """ def __init__(self): r""" :param _ProjectId: 活动 ID,请在<a href="https://console.cloud.tencent.com/facefusion" target="_blank">人脸融合控制台</a>查看。 :type ProjectId: str :param _ModelId: 素材 ID,请在<a href="https://console.cloud.tencent.com/facefusion" target="_blank">人脸融合控制台</a>查看。 :type ModelId: str :param _RspImgType: 返回图像方式(url 或 base64) ,二选一。url有效期为7天。 :type RspImgType: str :param _MergeInfos: 用户人脸图片、素材模板图的人脸位置信息。不能超过6个。 ●图片分辨率限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64,小于4096*4096(单边限制)。 ●图片大小限制:base64 编码后大小不可超过5M, url不超过10M。 ●支持图片格式:支持jpg或png :type MergeInfos: list of MergeInfo :param _FuseProfileDegree: 脸型融合比例,数值越高,融合后的脸型越像素材人物。取值范围[0,100] 若此参数不填写,则使用人脸融合控制台中脸型参数数值。(换脸版算法暂不支持此参数调整) :type FuseProfileDegree: int :param _FuseFaceDegree: 五官融合比例,数值越高,融合后的五官越像素材人物。取值范围[0,100] 若此参数不填写,则使用人脸融合控制台中五官参数数值。(换脸版算法暂不支持此参数调整) :type FuseFaceDegree: int :param _LogoAdd: 为融合结果图添加合成标识的开关,默认为1。 1:添加标识。 0:不添加标识。 其他数值:默认按1处理。 建议您使用显著标识来提示结果图使用了人脸融合技术,是AI合成的图片。 :type LogoAdd: int :param _LogoParam: 标识内容设置。 默认在融合结果图右下角添加“本图片为AI合成图片”字样,您可根据自身需要替换为其他的Logo图片。 :type LogoParam: :class:`tencentcloud.facefusion.v20220927.models.LogoParam` :param _FuseParam: 融合参数。 :type FuseParam: :class:`tencentcloud.facefusion.v20220927.models.FuseParam` """ self._ProjectId = None self._ModelId = None self._RspImgType = None self._MergeInfos = None self._FuseProfileDegree = None self._FuseFaceDegree = None self._LogoAdd = None self._LogoParam = None self._FuseParam = None @property def ProjectId(self): """活动 ID,请在<a href="https://console.cloud.tencent.com/facefusion" target="_blank">人脸融合控制台</a>查看。 :rtype: str """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def ModelId(self): """素材 ID,请在<a href="https://console.cloud.tencent.com/facefusion" target="_blank">人脸融合控制台</a>查看。 :rtype: str """ return self._ModelId @ModelId.setter def ModelId(self, ModelId): self._ModelId = ModelId @property def RspImgType(self): """返回图像方式(url 或 base64) ,二选一。url有效期为7天。 :rtype: str """ return self._RspImgType @RspImgType.setter def RspImgType(self, RspImgType): self._RspImgType = RspImgType @property def MergeInfos(self): """用户人脸图片、素材模板图的人脸位置信息。不能超过6个。 ●图片分辨率限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64,小于4096*4096(单边限制)。 ●图片大小限制:base64 编码后大小不可超过5M, url不超过10M。 ●支持图片格式:支持jpg或png :rtype: list of MergeInfo """ return self._MergeInfos @MergeInfos.setter def MergeInfos(self, MergeInfos): self._MergeInfos = MergeInfos @property def FuseProfileDegree(self): """脸型融合比例,数值越高,融合后的脸型越像素材人物。取值范围[0,100] 若此参数不填写,则使用人脸融合控制台中脸型参数数值。(换脸版算法暂不支持此参数调整) :rtype: int """ return self._FuseProfileDegree @FuseProfileDegree.setter def FuseProfileDegree(self, FuseProfileDegree): self._FuseProfileDegree = FuseProfileDegree @property def FuseFaceDegree(self): """五官融合比例,数值越高,融合后的五官越像素材人物。取值范围[0,100] 若此参数不填写,则使用人脸融合控制台中五官参数数值。(换脸版算法暂不支持此参数调整) :rtype: int """ return self._FuseFaceDegree @FuseFaceDegree.setter def FuseFaceDegree(self, FuseFaceDegree): self._FuseFaceDegree = FuseFaceDegree @property def LogoAdd(self): """为融合结果图添加合成标识的开关,默认为1。 1:添加标识。 0:不添加标识。 其他数值:默认按1处理。 建议您使用显著标识来提示结果图使用了人脸融合技术,是AI合成的图片。 :rtype: int """ return self._LogoAdd @LogoAdd.setter def LogoAdd(self, LogoAdd): self._LogoAdd = LogoAdd @property def LogoParam(self): """标识内容设置。 默认在融合结果图右下角添加“本图片为AI合成图片”字样,您可根据自身需要替换为其他的Logo图片。 :rtype: :class:`tencentcloud.facefusion.v20220927.models.LogoParam` """ return self._LogoParam @LogoParam.setter def LogoParam(self, LogoParam): self._LogoParam = LogoParam @property def FuseParam(self): """融合参数。 :rtype: :class:`tencentcloud.facefusion.v20220927.models.FuseParam` """ return self._FuseParam @FuseParam.setter def FuseParam(self, FuseParam): self._FuseParam = FuseParam def _deserialize(self, params): self._ProjectId = params.get("ProjectId") self._ModelId = params.get("ModelId") self._RspImgType = params.get("RspImgType") if params.get("MergeInfos") is not None: self._MergeInfos = [] for item in params.get("MergeInfos"): obj = MergeInfo() obj._deserialize(item) self._MergeInfos.append(obj) self._FuseProfileDegree = params.get("FuseProfileDegree") self._FuseFaceDegree = params.get("FuseFaceDegree") self._LogoAdd = params.get("LogoAdd") if params.get("LogoParam") is not None: self._LogoParam = LogoParam() self._LogoParam._deserialize(params.get("LogoParam")) if params.get("FuseParam") is not None: self._FuseParam = FuseParam() self._FuseParam._deserialize(params.get("FuseParam")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class FuseFaceResponse(AbstractModel): """FuseFace返回参数结构体 """ def __init__(self): r""" :param _FusedImage: RspImgType 为 url 时,返回结果的 url(有效期7天), RspImgType 为 base64 时返回 base64 数据。 :type FusedImage: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._FusedImage = None self._RequestId = None @property def FusedImage(self): """RspImgType 为 url 时,返回结果的 url(有效期7天), RspImgType 为 base64 时返回 base64 数据。 :rtype: str """ return self._FusedImage @FusedImage.setter def FusedImage(self, FusedImage): self._FusedImage = FusedImage @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._FusedImage = params.get("FusedImage") self._RequestId = params.get("RequestId") class FuseFaceUltraRequest(AbstractModel): """FuseFaceUltra请求参数结构体 """ def __init__(self): r""" :param _RspImgType: 返回融合结果图片方式(url 或 base64) ,二选一。url有效期为1天。 :type RspImgType: str :param _MergeInfos: 用户人脸图片、素材模板图的人脸位置信息。主要用于素材模版中人脸以及用作融合的用户人脸相关信息,两种人脸都需要提供人脸图片,可选择提供人脸框位置,具体见MergeInfo说明 目前最多支持融合模板图片中的6张人脸。 :type MergeInfos: list of MergeInfo :param _ModelUrl: 素材模版图片的url地址。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●图片分辨率限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64,小于8000 * 8000(单边限制)。 ●图片大小限制:base64 编码后大小不可超过10M, url不超过20M。 ●图片格式:支持jpg或png :type ModelUrl: str :param _ModelImage: 素材模版图片base64数据。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●素材图片限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64,小于8000*8000(单边限制)。 ●图片大小限制:base64 编码后大小不可超过10M, url不超过20M。 ●支持图片格式:支持jpg或png :type ModelImage: str :param _FusionUltraParam: 图片人脸融合(专业版)效果参数。可用于设置拉脸、人脸增强、磨皮、牙齿增强、妆容迁移等融合效果参数,生成理想的融合效果。不传默认使用接口推荐值。具体见FusionUltraParam说明 :type FusionUltraParam: :class:`tencentcloud.facefusion.v20220927.models.FusionUltraParam` :param _LogoAdd: 为融合结果图添加合成标识的开关,默认为1。 1:添加标识。 0:不添加标识。 其他数值:默认按1处理。 建议您使用显著标识来提示结果图使用了人脸融合技术,是AI合成的图片。 :type LogoAdd: int :param _LogoParam: 标识内容设置。 默认在融合结果图右下角添加“本图片为AI合成图片”字样,您可根据自身需要替换为其他的Logo图片。 :type LogoParam: :class:`tencentcloud.facefusion.v20220927.models.LogoParam` :param _SwapModelType: 融合模型类型参数:默认为1。 图片人脸融合(专业版)针对不同场景,提供多种模型供选择。如您的产品是泛娱乐场景,推荐使用1;如您主要用于影像场景,推荐使用4、5。其他模型类型也可以结合您的产品使用场景进行选择,也许会有意想不到的效果 1:默认泛娱乐场景,画面偏锐。 2:影视级场景,画面偏自然。 3:影视级场景,高分辨率,画面偏自然。 4:影视级场景,高分辦率,高人脸相似度,画面偏自然,可用于证件照等场景。 5:影视级场景,高分辨率,对闭眼和遮挡更友好。 :type SwapModelType: int """ self._RspImgType = None self._MergeInfos = None self._ModelUrl = None self._ModelImage = None self._FusionUltraParam = None self._LogoAdd = None self._LogoParam = None self._SwapModelType = None @property def RspImgType(self): """返回融合结果图片方式(url 或 base64) ,二选一。url有效期为1天。 :rtype: str """ return self._RspImgType @RspImgType.setter def RspImgType(self, RspImgType): self._RspImgType = RspImgType @property def MergeInfos(self): """用户人脸图片、素材模板图的人脸位置信息。主要用于素材模版中人脸以及用作融合的用户人脸相关信息,两种人脸都需要提供人脸图片,可选择提供人脸框位置,具体见MergeInfo说明 目前最多支持融合模板图片中的6张人脸。 :rtype: list of MergeInfo """ return self._MergeInfos @MergeInfos.setter def MergeInfos(self, MergeInfos): self._MergeInfos = MergeInfos @property def ModelUrl(self): """素材模版图片的url地址。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●图片分辨率限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64,小于8000 * 8000(单边限制)。 ●图片大小限制:base64 编码后大小不可超过10M, url不超过20M。 ●图片格式:支持jpg或png :rtype: str """ return self._ModelUrl @ModelUrl.setter def ModelUrl(self, ModelUrl): self._ModelUrl = ModelUrl @property def ModelImage(self): """素材模版图片base64数据。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●素材图片限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64,小于8000*8000(单边限制)。 ●图片大小限制:base64 编码后大小不可超过10M, url不超过20M。 ●支持图片格式:支持jpg或png :rtype: str """ return self._ModelImage @ModelImage.setter def ModelImage(self, ModelImage): self._ModelImage = ModelImage @property def FusionUltraParam(self): """图片人脸融合(专业版)效果参数。可用于设置拉脸、人脸增强、磨皮、牙齿增强、妆容迁移等融合效果参数,生成理想的融合效果。不传默认使用接口推荐值。具体见FusionUltraParam说明 :rtype: :class:`tencentcloud.facefusion.v20220927.models.FusionUltraParam` """ return self._FusionUltraParam @FusionUltraParam.setter def FusionUltraParam(self, FusionUltraParam): self._FusionUltraParam = FusionUltraParam @property def LogoAdd(self): """为融合结果图添加合成标识的开关,默认为1。 1:添加标识。 0:不添加标识。 其他数值:默认按1处理。 建议您使用显著标识来提示结果图使用了人脸融合技术,是AI合成的图片。 :rtype: int """ return self._LogoAdd @LogoAdd.setter def LogoAdd(self, LogoAdd): self._LogoAdd = LogoAdd @property def LogoParam(self): """标识内容设置。 默认在融合结果图右下角添加“本图片为AI合成图片”字样,您可根据自身需要替换为其他的Logo图片。 :rtype: :class:`tencentcloud.facefusion.v20220927.models.LogoParam` """ return self._LogoParam @LogoParam.setter def LogoParam(self, LogoParam): self._LogoParam = LogoParam @property def SwapModelType(self): """融合模型类型参数:默认为1。 图片人脸融合(专业版)针对不同场景,提供多种模型供选择。如您的产品是泛娱乐场景,推荐使用1;如您主要用于影像场景,推荐使用4、5。其他模型类型也可以结合您的产品使用场景进行选择,也许会有意想不到的效果 1:默认泛娱乐场景,画面偏锐。 2:影视级场景,画面偏自然。 3:影视级场景,高分辨率,画面偏自然。 4:影视级场景,高分辦率,高人脸相似度,画面偏自然,可用于证件照等场景。 5:影视级场景,高分辨率,对闭眼和遮挡更友好。 :rtype: int """ return self._SwapModelType @SwapModelType.setter def SwapModelType(self, SwapModelType): self._SwapModelType = SwapModelType def _deserialize(self, params): self._RspImgType = params.get("RspImgType") if params.get("MergeInfos") is not None: self._MergeInfos = [] for item in params.get("MergeInfos"): obj = MergeInfo() obj._deserialize(item) self._MergeInfos.append(obj) self._ModelUrl = params.get("ModelUrl") self._ModelImage = params.get("ModelImage") if params.get("FusionUltraParam") is not None: self._FusionUltraParam = FusionUltraParam() self._FusionUltraParam._deserialize(params.get("FusionUltraParam")) self._LogoAdd = params.get("LogoAdd") if params.get("LogoParam") is not None: self._LogoParam = LogoParam() self._LogoParam._deserialize(params.get("LogoParam")) self._SwapModelType = params.get("SwapModelType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class FuseFaceUltraResponse(AbstractModel): """FuseFaceUltra返回参数结构体 """ def __init__(self): r""" :param _FusedImage: RspImgType 为 url 时,返回结果的 url, RspImgType 为 base64 时返回 base64 数据。url有效期为1天。 :type FusedImage: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._FusedImage = None self._RequestId = None @property def FusedImage(self): """RspImgType 为 url 时,返回结果的 url, RspImgType 为 base64 时返回 base64 数据。url有效期为1天。 :rtype: str """ return self._FusedImage @FusedImage.setter def FusedImage(self, FusedImage): self._FusedImage = FusedImage @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._FusedImage = params.get("FusedImage") self._RequestId = params.get("RequestId") class FuseParam(AbstractModel): """融合参数 """ def __init__(self): r""" :param _ImageCodecParam: 图片编码参数 :type ImageCodecParam: :class:`tencentcloud.facefusion.v20220927.models.ImageCodecParam` """ self._ImageCodecParam = None @property def ImageCodecParam(self): """图片编码参数 :rtype: :class:`tencentcloud.facefusion.v20220927.models.ImageCodecParam` """ return self._ImageCodecParam @ImageCodecParam.setter def ImageCodecParam(self, ImageCodecParam): self._ImageCodecParam = ImageCodecParam def _deserialize(self, params): if params.get("ImageCodecParam") is not None: self._ImageCodecParam = ImageCodecParam() self._ImageCodecParam._deserialize(params.get("ImageCodecParam")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class FusionUltraParam(AbstractModel): """高精度融合参数 """ def __init__(self): r""" :param _WarpRadio: 拉脸强度。主要用于调整生成结果人脸脸型更像素材模板还是用户人脸。取值越大越像用户人脸。 取值范围:0-1之间。默认取值0.7。 该参数仅对SwapModelType(模型类型)取值1-5生效 :type WarpRadio: float :param _EnhanceRadio: 人脸增强强度。对整个人脸进行增强,增加清晰度,改善质量。当生成的人脸不够清晰,质感不够好的时候可以设置。取值越大增强强度越大。 取值范围:0-1之间。默认取值0.5。 该参数仅对SwapModelType(模型类型)取值1-5生效 :type EnhanceRadio: float :param _MpRadio: 磨皮强度。当生成脸的图像面部显脏时,可进行设置。 取值范围:0-1之间。默认取值0.5。 该参数仅对SwapModelType(模型类型)取值1-5生效 :type MpRadio: float :param _BlurRadio: 人脸模糊开关(暂不支持) 当生成人脸比较清晰时,将人脸模糊到接近模板的清晰度的程度 该参数仅对SwapModelType(模型类型)取值1-5生效 :type BlurRadio: float :param _TeethEnhanceRadio: 牙齿增强开关,默认取值为1 牙齿增强,修复牙齿。当生成牙齿不好(如牙齿裂开)可以打开此开关 0:牙齿增强关闭 1:牙齿增强打开 该参数仅对SwapModelType(模型类型)取值1-5生效 :type TeethEnhanceRadio: float :param _MakeupTransferRadio: 妆容迁移开关,默认取值为0。 将素材模板的妆容迁移到融合结果上。即:如果希望妆容效果与模板图保持一致,可以打开此开关。 0:妆容迁移关闭 1:妆容迁移打开 该参数仅对SwapModelType(模型类型)取值1-5生效 :type MakeupTransferRadio: float """ self._WarpRadio = None self._EnhanceRadio = None self._MpRadio = None self._BlurRadio = None self._TeethEnhanceRadio = None self._MakeupTransferRadio = None @property def WarpRadio(self): """拉脸强度。主要用于调整生成结果人脸脸型更像素材模板还是用户人脸。取值越大越像用户人脸。 取值范围:0-1之间。默认取值0.7。 该参数仅对SwapModelType(模型类型)取值1-5生效 :rtype: float """ return self._WarpRadio @WarpRadio.setter def WarpRadio(self, WarpRadio): self._WarpRadio = WarpRadio @property def EnhanceRadio(self): """人脸增强强度。对整个人脸进行增强,增加清晰度,改善质量。当生成的人脸不够清晰,质感不够好的时候可以设置。取值越大增强强度越大。 取值范围:0-1之间。默认取值0.5。 该参数仅对SwapModelType(模型类型)取值1-5生效 :rtype: float """ return self._EnhanceRadio @EnhanceRadio.setter def EnhanceRadio(self, EnhanceRadio): self._EnhanceRadio = EnhanceRadio @property def MpRadio(self): """磨皮强度。当生成脸的图像面部显脏时,可进行设置。 取值范围:0-1之间。默认取值0.5。 该参数仅对SwapModelType(模型类型)取值1-5生效 :rtype: float """ return self._MpRadio @MpRadio.setter def MpRadio(self, MpRadio): self._MpRadio = MpRadio @property def BlurRadio(self): """人脸模糊开关(暂不支持) 当生成人脸比较清晰时,将人脸模糊到接近模板的清晰度的程度 该参数仅对SwapModelType(模型类型)取值1-5生效 :rtype: float """ return self._BlurRadio @BlurRadio.setter def BlurRadio(self, BlurRadio): self._BlurRadio = BlurRadio @property def TeethEnhanceRadio(self): """牙齿增强开关,默认取值为1 牙齿增强,修复牙齿。当生成牙齿不好(如牙齿裂开)可以打开此开关 0:牙齿增强关闭 1:牙齿增强打开 该参数仅对SwapModelType(模型类型)取值1-5生效 :rtype: float """ return self._TeethEnhanceRadio @TeethEnhanceRadio.setter def TeethEnhanceRadio(self, TeethEnhanceRadio): self._TeethEnhanceRadio = TeethEnhanceRadio @property def MakeupTransferRadio(self): """妆容迁移开关,默认取值为0。 将素材模板的妆容迁移到融合结果上。即:如果希望妆容效果与模板图保持一致,可以打开此开关。 0:妆容迁移关闭 1:妆容迁移打开 该参数仅对SwapModelType(模型类型)取值1-5生效 :rtype: float """ return self._MakeupTransferRadio @MakeupTransferRadio.setter def MakeupTransferRadio(self, MakeupTransferRadio): self._MakeupTransferRadio = MakeupTransferRadio def _deserialize(self, params): self._WarpRadio = params.get("WarpRadio") self._EnhanceRadio = params.get("EnhanceRadio") self._MpRadio = params.get("MpRadio") self._BlurRadio = params.get("BlurRadio") self._TeethEnhanceRadio = params.get("TeethEnhanceRadio") self._MakeupTransferRadio = params.get("MakeupTransferRadio") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ImageCodecParam(AbstractModel): """图片编码参数 """ def __init__(self): r""" :param _MetaData: 元数据是描述媒体文件的附加信息。通过添加自定义的元数据,可以将一些附加信息嵌入到文件中。这些信息可以用于版权、描述、标识等目的,并在后续的媒体处理或管理过程中使用。 个数不能大于1。 :type MetaData: list of MetaData """ self._MetaData = None @property def MetaData(self): """元数据是描述媒体文件的附加信息。通过添加自定义的元数据,可以将一些附加信息嵌入到文件中。这些信息可以用于版权、描述、标识等目的,并在后续的媒体处理或管理过程中使用。 个数不能大于1。 :rtype: list of MetaData """ return self._MetaData @MetaData.setter def MetaData(self, MetaData): self._MetaData = MetaData def _deserialize(self, params): if params.get("MetaData") is not None: self._MetaData = [] for item in params.get("MetaData"): obj = MetaData() obj._deserialize(item) self._MetaData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class LogoParam(AbstractModel): """logo参数 """ def __init__(self): r""" :param _LogoRect: 标识图片位于融合结果图中的坐标,将按照坐标对标识图片进行位置和大小的拉伸匹配。 Width、Height <= 2160。 :type LogoRect: :class:`tencentcloud.facefusion.v20220927.models.FaceRect` :param _LogoUrl: 标识图片Url地址 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●支持图片格式:支持jpg或png 专业版:base64 编码后大小不超过10M。 非专业版:base64 编码后大小不超过5M。 :type LogoUrl: str :param _LogoImage: 输入图片base64。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●支持图片格式:支持jpg或png 专业版:base64 编码后大小不超过10M。 非专业版:base64 编码后大小不超过5M。 :type LogoImage: str """ self._LogoRect = None self._LogoUrl = None self._LogoImage = None @property def LogoRect(self): """标识图片位于融合结果图中的坐标,将按照坐标对标识图片进行位置和大小的拉伸匹配。 Width、Height <= 2160。 :rtype: :class:`tencentcloud.facefusion.v20220927.models.FaceRect` """ return self._LogoRect @LogoRect.setter def LogoRect(self, LogoRect): self._LogoRect = LogoRect @property def LogoUrl(self): """标识图片Url地址 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●支持图片格式:支持jpg或png 专业版:base64 编码后大小不超过10M。 非专业版:base64 编码后大小不超过5M。 :rtype: str """ return self._LogoUrl @LogoUrl.setter def LogoUrl(self, LogoUrl): self._LogoUrl = LogoUrl @property def LogoImage(self): """输入图片base64。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●支持图片格式:支持jpg或png 专业版:base64 编码后大小不超过10M。 非专业版:base64 编码后大小不超过5M。 :rtype: str """ return self._LogoImage @LogoImage.setter def LogoImage(self, LogoImage): self._LogoImage = LogoImage def _deserialize(self, params): if params.get("LogoRect") is not None: self._LogoRect = FaceRect() self._LogoRect._deserialize(params.get("LogoRect")) self._LogoUrl = params.get("LogoUrl") self._LogoImage = params.get("LogoImage") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MaterialFaces(AbstractModel): """人脸信息 """ def __init__(self): r""" :param _FaceId: 人脸序号 :type FaceId: str :param _FaceInfo: 人脸框信息 :type FaceInfo: :class:`tencentcloud.facefusion.v20220927.models.FaceInfo` """ self._FaceId = None self._FaceInfo = None @property def FaceId(self): """人脸序号 :rtype: str """ return self._FaceId @FaceId.setter def FaceId(self, FaceId): self._FaceId = FaceId @property def FaceInfo(self): """人脸框信息 :rtype: :class:`tencentcloud.facefusion.v20220927.models.FaceInfo` """ return self._FaceInfo @FaceInfo.setter def FaceInfo(self, FaceInfo): self._FaceInfo = FaceInfo def _deserialize(self, params): self._FaceId = params.get("FaceId") if params.get("FaceInfo") is not None: self._FaceInfo = FaceInfo() self._FaceInfo._deserialize(params.get("FaceInfo")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MergeInfo(AbstractModel): """人脸图片和待被融合的素材模板图的人脸位置信息。 """ def __init__(self): r""" :param _Image: 输入图片base64。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●素材图片限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64。(图片编码之后可能会大30%左右,建议合理控制图片大小)。 ●支持图片格式:支持jpg或png :type Image: str :param _Url: 输入图片url。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●素材图片限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64。(图片编码之后可能会大30%左右,建议合理控制图片大小)。 ●支持图片格式:支持jpg或png :type Url: str :param _InputImageFaceRect: 上传的图片人脸位置信息(人脸框) Width、Height >= 30。 :type InputImageFaceRect: :class:`tencentcloud.facefusion.v20220927.models.FaceRect` :param _TemplateFaceID: 素材人脸ID,不填默认取最大人脸。 :type TemplateFaceID: str :param _TemplateFaceRect: 模板中人脸位置信息(人脸框),不填默认取最大人脸。此字段仅适用于图片融合自定义模板素材场景。 Width、Height >= 30。 :type TemplateFaceRect: :class:`tencentcloud.facefusion.v20220927.models.FaceRect` """ self._Image = None self._Url = None self._InputImageFaceRect = None self._TemplateFaceID = None self._TemplateFaceRect = None @property def Image(self): """输入图片base64。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●素材图片限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64。(图片编码之后可能会大30%左右,建议合理控制图片大小)。 ●支持图片格式:支持jpg或png :rtype: str """ return self._Image @Image.setter def Image(self, Image): self._Image = Image @property def Url(self): """输入图片url。 ●base64 和 url 必须提供一个,如果都提供以 url 为准。 ●素材图片限制:图片中面部尺寸大于34 * 34;图片尺寸大于64 * 64。(图片编码之后可能会大30%左右,建议合理控制图片大小)。 ●支持图片格式:支持jpg或png :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def InputImageFaceRect(self): """上传的图片人脸位置信息(人脸框) Width、Height >= 30。 :rtype: :class:`tencentcloud.facefusion.v20220927.models.FaceRect` """ return self._InputImageFaceRect @InputImageFaceRect.setter def InputImageFaceRect(self, InputImageFaceRect): self._InputImageFaceRect = InputImageFaceRect @property def TemplateFaceID(self): """素材人脸ID,不填默认取最大人脸。 :rtype: str """ return self._TemplateFaceID @TemplateFaceID.setter def TemplateFaceID(self, TemplateFaceID): self._TemplateFaceID = TemplateFaceID @property def TemplateFaceRect(self): """模板中人脸位置信息(人脸框),不填默认取最大人脸。此字段仅适用于图片融合自定义模板素材场景。 Width、Height >= 30。 :rtype: :class:`tencentcloud.facefusion.v20220927.models.FaceRect` """ return self._TemplateFaceRect @TemplateFaceRect.setter def TemplateFaceRect(self, TemplateFaceRect): self._TemplateFaceRect = TemplateFaceRect def _deserialize(self, params): self._Image = params.get("Image") self._Url = params.get("Url") if params.get("InputImageFaceRect") is not None: self._InputImageFaceRect = FaceRect() self._InputImageFaceRect._deserialize(params.get("InputImageFaceRect")) self._TemplateFaceID = params.get("TemplateFaceID") if params.get("TemplateFaceRect") is not None: self._TemplateFaceRect = FaceRect() self._TemplateFaceRect._deserialize(params.get("TemplateFaceRect")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MetaData(AbstractModel): """MetaData数据结构,Key/Value格式 """ def __init__(self): r""" :param _MetaKey: MetaData的Key,字符长度不能超过32 :type MetaKey: str :param _MetaValue: MetaData的Value,字符长度不能超过256 :type MetaValue: str """ self._MetaKey = None self._MetaValue = None @property def MetaKey(self): """MetaData的Key,字符长度不能超过32 :rtype: str """ return self._MetaKey @MetaKey.setter def MetaKey(self, MetaKey): self._MetaKey = MetaKey @property def MetaValue(self): """MetaData的Value,字符长度不能超过256 :rtype: str """ return self._MetaValue @MetaValue.setter def MetaValue(self, MetaValue): self._MetaValue = MetaValue def _deserialize(self, params): self._MetaKey = params.get("MetaKey") self._MetaValue = params.get("MetaValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PublicMaterialInfos(AbstractModel): """素材信息 """ def __init__(self): r""" :param _MaterialId: 素材Id :type MaterialId: str :param _MaterialStatus: 素材状态 字段取值: 0 审核中 1 人工审核通过 2 人工审核失败 3 申诉中 11 申诉成功 12 申诉失败 21 机器审核通过 22 机器审核失败 31 视频素材预处理成功,素材可用 32 视频素材预处理失败 33 角色不在视频中 :type MaterialStatus: int :param _CreateTime: 创建时间 :type CreateTime: str :param _UpdateTime: 修改时间 :type UpdateTime: str :param _MaterialFaceList: 人脸信息 :type MaterialFaceList: list of MaterialFaces :param _MaterialName: 素材名 :type MaterialName: str :param _AuditResult: 审核原因 :type AuditResult: str """ self._MaterialId = None self._MaterialStatus = None self._CreateTime = None self._UpdateTime = None self._MaterialFaceList = None self._MaterialName = None self._AuditResult = None @property def MaterialId(self): """素材Id :rtype: str """ return self._MaterialId @MaterialId.setter def MaterialId(self, MaterialId): self._MaterialId = MaterialId @property def MaterialStatus(self): """素材状态 字段取值: 0 审核中 1 人工审核通过 2 人工审核失败 3 申诉中 11 申诉成功 12 申诉失败 21 机器审核通过 22 机器审核失败 31 视频素材预处理成功,素材可用 32 视频素材预处理失败 33 角色不在视频中 :rtype: int """ return self._MaterialStatus @MaterialStatus.setter def MaterialStatus(self, MaterialStatus): self._MaterialStatus = MaterialStatus @property def CreateTime(self): """创建时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def UpdateTime(self): """修改时间 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime @property def MaterialFaceList(self): """人脸信息 :rtype: list of MaterialFaces """ return self._MaterialFaceList @MaterialFaceList.setter def MaterialFaceList(self, MaterialFaceList): self._MaterialFaceList = MaterialFaceList @property def MaterialName(self): """素材名 :rtype: str """ return self._MaterialName @MaterialName.setter def MaterialName(self, MaterialName): self._MaterialName = MaterialName @property def AuditResult(self): """审核原因 :rtype: str """ return self._AuditResult @AuditResult.setter def AuditResult(self, AuditResult): self._AuditResult = AuditResult def _deserialize(self, params): self._MaterialId = params.get("MaterialId") self._MaterialStatus = params.get("MaterialStatus") self._CreateTime = params.get("CreateTime") self._UpdateTime = params.get("UpdateTime") if params.get("MaterialFaceList") is not None: self._MaterialFaceList = [] for item in params.get("MaterialFaceList"): obj = MaterialFaces() obj._deserialize(item) self._MaterialFaceList.append(obj) self._MaterialName = params.get("MaterialName") self._AuditResult = params.get("AuditResult") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set))
Memory