tencentcloud-sdk-python-vclm 3.1.1__tar.gz → 3.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/PKG-INFO +2 -2
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/setup.py +1 -1
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud/__init__.py +1 -1
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud/vclm/v20240523/models.py +542 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud/vclm/v20240523/vclm_client.py +46 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud/vclm/v20240523/vclm_client_async.py +36 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud_sdk_python_vclm.egg-info/PKG-INFO +2 -2
- tencentcloud_sdk_python_vclm-3.1.7/tencentcloud_sdk_python_vclm.egg-info/requires.txt +1 -0
- tencentcloud_sdk_python_vclm-3.1.1/tencentcloud_sdk_python_vclm.egg-info/requires.txt +0 -1
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/README.rst +0 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/setup.cfg +0 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud/vclm/__init__.py +0 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud/vclm/v20240523/__init__.py +0 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud/vclm/v20240523/errorcodes.py +0 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud_sdk_python_vclm.egg-info/SOURCES.txt +0 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud_sdk_python_vclm.egg-info/dependency_links.txt +0 -0
- {tencentcloud_sdk_python_vclm-3.1.1 → tencentcloud_sdk_python_vclm-3.1.7}/tencentcloud_sdk_python_vclm.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-vclm
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.7
|
|
4
4
|
Summary: Tencent Cloud Vclm SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.7
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
|
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='tencentcloud-sdk-python-vclm',
|
|
11
|
-
install_requires=["tencentcloud-sdk-python-common>=3.1.
|
|
11
|
+
install_requires=["tencentcloud-sdk-python-common>=3.1.7,<4.0.0"],
|
|
12
12
|
|
|
13
13
|
version=tencentcloud.__version__,
|
|
14
14
|
description='Tencent Cloud Vclm SDK for Python',
|
|
@@ -856,6 +856,130 @@ class DescribeTemplateToVideoJobResponse(AbstractModel):
|
|
|
856
856
|
self._RequestId = params.get("RequestId")
|
|
857
857
|
|
|
858
858
|
|
|
859
|
+
class DescribeVideoFaceFusionJobRequest(AbstractModel):
|
|
860
|
+
r"""DescribeVideoFaceFusionJob请求参数结构体
|
|
861
|
+
|
|
862
|
+
"""
|
|
863
|
+
|
|
864
|
+
def __init__(self):
|
|
865
|
+
r"""
|
|
866
|
+
:param _JobId: 任务ID
|
|
867
|
+
:type JobId: str
|
|
868
|
+
"""
|
|
869
|
+
self._JobId = None
|
|
870
|
+
|
|
871
|
+
@property
|
|
872
|
+
def JobId(self):
|
|
873
|
+
r"""任务ID
|
|
874
|
+
:rtype: str
|
|
875
|
+
"""
|
|
876
|
+
return self._JobId
|
|
877
|
+
|
|
878
|
+
@JobId.setter
|
|
879
|
+
def JobId(self, JobId):
|
|
880
|
+
self._JobId = JobId
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
def _deserialize(self, params):
|
|
884
|
+
self._JobId = params.get("JobId")
|
|
885
|
+
memeber_set = set(params.keys())
|
|
886
|
+
for name, value in vars(self).items():
|
|
887
|
+
property_name = name[1:]
|
|
888
|
+
if property_name in memeber_set:
|
|
889
|
+
memeber_set.remove(property_name)
|
|
890
|
+
if len(memeber_set) > 0:
|
|
891
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
|
|
895
|
+
class DescribeVideoFaceFusionJobResponse(AbstractModel):
|
|
896
|
+
r"""DescribeVideoFaceFusionJob返回参数结构体
|
|
897
|
+
|
|
898
|
+
"""
|
|
899
|
+
|
|
900
|
+
def __init__(self):
|
|
901
|
+
r"""
|
|
902
|
+
:param _Status: 任务状态。WAIT:等待中,RUN:执行中,FAIL:任务失败,DONE:任务成功
|
|
903
|
+
:type Status: str
|
|
904
|
+
:param _ErrorCode: 任务执行错误码。当任务状态不为 FAIL 时,该值为""。
|
|
905
|
+
:type ErrorCode: str
|
|
906
|
+
:param _ErrorMessage: 任务执行错误信息。当任务状态不为 FAIL 时,该值为""。
|
|
907
|
+
:type ErrorMessage: str
|
|
908
|
+
:param _ResultVideoUrl: 结果视频 URL。有效期 24 小时。
|
|
909
|
+
:type ResultVideoUrl: str
|
|
910
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
911
|
+
:type RequestId: str
|
|
912
|
+
"""
|
|
913
|
+
self._Status = None
|
|
914
|
+
self._ErrorCode = None
|
|
915
|
+
self._ErrorMessage = None
|
|
916
|
+
self._ResultVideoUrl = None
|
|
917
|
+
self._RequestId = None
|
|
918
|
+
|
|
919
|
+
@property
|
|
920
|
+
def Status(self):
|
|
921
|
+
r"""任务状态。WAIT:等待中,RUN:执行中,FAIL:任务失败,DONE:任务成功
|
|
922
|
+
:rtype: str
|
|
923
|
+
"""
|
|
924
|
+
return self._Status
|
|
925
|
+
|
|
926
|
+
@Status.setter
|
|
927
|
+
def Status(self, Status):
|
|
928
|
+
self._Status = Status
|
|
929
|
+
|
|
930
|
+
@property
|
|
931
|
+
def ErrorCode(self):
|
|
932
|
+
r"""任务执行错误码。当任务状态不为 FAIL 时,该值为""。
|
|
933
|
+
:rtype: str
|
|
934
|
+
"""
|
|
935
|
+
return self._ErrorCode
|
|
936
|
+
|
|
937
|
+
@ErrorCode.setter
|
|
938
|
+
def ErrorCode(self, ErrorCode):
|
|
939
|
+
self._ErrorCode = ErrorCode
|
|
940
|
+
|
|
941
|
+
@property
|
|
942
|
+
def ErrorMessage(self):
|
|
943
|
+
r"""任务执行错误信息。当任务状态不为 FAIL 时,该值为""。
|
|
944
|
+
:rtype: str
|
|
945
|
+
"""
|
|
946
|
+
return self._ErrorMessage
|
|
947
|
+
|
|
948
|
+
@ErrorMessage.setter
|
|
949
|
+
def ErrorMessage(self, ErrorMessage):
|
|
950
|
+
self._ErrorMessage = ErrorMessage
|
|
951
|
+
|
|
952
|
+
@property
|
|
953
|
+
def ResultVideoUrl(self):
|
|
954
|
+
r"""结果视频 URL。有效期 24 小时。
|
|
955
|
+
:rtype: str
|
|
956
|
+
"""
|
|
957
|
+
return self._ResultVideoUrl
|
|
958
|
+
|
|
959
|
+
@ResultVideoUrl.setter
|
|
960
|
+
def ResultVideoUrl(self, ResultVideoUrl):
|
|
961
|
+
self._ResultVideoUrl = ResultVideoUrl
|
|
962
|
+
|
|
963
|
+
@property
|
|
964
|
+
def RequestId(self):
|
|
965
|
+
r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
966
|
+
:rtype: str
|
|
967
|
+
"""
|
|
968
|
+
return self._RequestId
|
|
969
|
+
|
|
970
|
+
@RequestId.setter
|
|
971
|
+
def RequestId(self, RequestId):
|
|
972
|
+
self._RequestId = RequestId
|
|
973
|
+
|
|
974
|
+
|
|
975
|
+
def _deserialize(self, params):
|
|
976
|
+
self._Status = params.get("Status")
|
|
977
|
+
self._ErrorCode = params.get("ErrorCode")
|
|
978
|
+
self._ErrorMessage = params.get("ErrorMessage")
|
|
979
|
+
self._ResultVideoUrl = params.get("ResultVideoUrl")
|
|
980
|
+
self._RequestId = params.get("RequestId")
|
|
981
|
+
|
|
982
|
+
|
|
859
983
|
class DescribeVideoStylizationJobRequest(AbstractModel):
|
|
860
984
|
r"""DescribeVideoStylizationJob请求参数结构体
|
|
861
985
|
|
|
@@ -1036,6 +1160,229 @@ class ExtraParam(AbstractModel):
|
|
|
1036
1160
|
|
|
1037
1161
|
|
|
1038
1162
|
|
|
1163
|
+
class FaceMergeInfo(AbstractModel):
|
|
1164
|
+
r"""人脸图片和待被融合的素材模板图的人脸位置信息。
|
|
1165
|
+
|
|
1166
|
+
"""
|
|
1167
|
+
|
|
1168
|
+
def __init__(self):
|
|
1169
|
+
r"""
|
|
1170
|
+
:param _MergeFaceImage: 融合图片
|
|
1171
|
+
:type MergeFaceImage: :class:`tencentcloud.vclm.v20240523.models.Image`
|
|
1172
|
+
:param _MergeFaceRect: 上传的图片人脸位置信息(人脸框)
|
|
1173
|
+
Width、Height >= 30。
|
|
1174
|
+
:type MergeFaceRect: :class:`tencentcloud.vclm.v20240523.models.FaceRect`
|
|
1175
|
+
:param _TemplateFaceID: 素材人脸ID,不填默认取上传图片中最大人脸。
|
|
1176
|
+
:type TemplateFaceID: str
|
|
1177
|
+
"""
|
|
1178
|
+
self._MergeFaceImage = None
|
|
1179
|
+
self._MergeFaceRect = None
|
|
1180
|
+
self._TemplateFaceID = None
|
|
1181
|
+
|
|
1182
|
+
@property
|
|
1183
|
+
def MergeFaceImage(self):
|
|
1184
|
+
r"""融合图片
|
|
1185
|
+
:rtype: :class:`tencentcloud.vclm.v20240523.models.Image`
|
|
1186
|
+
"""
|
|
1187
|
+
return self._MergeFaceImage
|
|
1188
|
+
|
|
1189
|
+
@MergeFaceImage.setter
|
|
1190
|
+
def MergeFaceImage(self, MergeFaceImage):
|
|
1191
|
+
self._MergeFaceImage = MergeFaceImage
|
|
1192
|
+
|
|
1193
|
+
@property
|
|
1194
|
+
def MergeFaceRect(self):
|
|
1195
|
+
r"""上传的图片人脸位置信息(人脸框)
|
|
1196
|
+
Width、Height >= 30。
|
|
1197
|
+
:rtype: :class:`tencentcloud.vclm.v20240523.models.FaceRect`
|
|
1198
|
+
"""
|
|
1199
|
+
return self._MergeFaceRect
|
|
1200
|
+
|
|
1201
|
+
@MergeFaceRect.setter
|
|
1202
|
+
def MergeFaceRect(self, MergeFaceRect):
|
|
1203
|
+
self._MergeFaceRect = MergeFaceRect
|
|
1204
|
+
|
|
1205
|
+
@property
|
|
1206
|
+
def TemplateFaceID(self):
|
|
1207
|
+
r"""素材人脸ID,不填默认取上传图片中最大人脸。
|
|
1208
|
+
:rtype: str
|
|
1209
|
+
"""
|
|
1210
|
+
return self._TemplateFaceID
|
|
1211
|
+
|
|
1212
|
+
@TemplateFaceID.setter
|
|
1213
|
+
def TemplateFaceID(self, TemplateFaceID):
|
|
1214
|
+
self._TemplateFaceID = TemplateFaceID
|
|
1215
|
+
|
|
1216
|
+
|
|
1217
|
+
def _deserialize(self, params):
|
|
1218
|
+
if params.get("MergeFaceImage") is not None:
|
|
1219
|
+
self._MergeFaceImage = Image()
|
|
1220
|
+
self._MergeFaceImage._deserialize(params.get("MergeFaceImage"))
|
|
1221
|
+
if params.get("MergeFaceRect") is not None:
|
|
1222
|
+
self._MergeFaceRect = FaceRect()
|
|
1223
|
+
self._MergeFaceRect._deserialize(params.get("MergeFaceRect"))
|
|
1224
|
+
self._TemplateFaceID = params.get("TemplateFaceID")
|
|
1225
|
+
memeber_set = set(params.keys())
|
|
1226
|
+
for name, value in vars(self).items():
|
|
1227
|
+
property_name = name[1:]
|
|
1228
|
+
if property_name in memeber_set:
|
|
1229
|
+
memeber_set.remove(property_name)
|
|
1230
|
+
if len(memeber_set) > 0:
|
|
1231
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
class FaceRect(AbstractModel):
|
|
1236
|
+
r"""人脸框信息。
|
|
1237
|
+
|
|
1238
|
+
"""
|
|
1239
|
+
|
|
1240
|
+
def __init__(self):
|
|
1241
|
+
r"""
|
|
1242
|
+
:param _X: 人脸框左上角横坐标。
|
|
1243
|
+
:type X: int
|
|
1244
|
+
:param _Y: 人脸框左上角纵坐标。
|
|
1245
|
+
:type Y: int
|
|
1246
|
+
:param _Width: 人脸框宽度。
|
|
1247
|
+
:type Width: int
|
|
1248
|
+
:param _Height: 人脸框高度。
|
|
1249
|
+
:type Height: int
|
|
1250
|
+
"""
|
|
1251
|
+
self._X = None
|
|
1252
|
+
self._Y = None
|
|
1253
|
+
self._Width = None
|
|
1254
|
+
self._Height = None
|
|
1255
|
+
|
|
1256
|
+
@property
|
|
1257
|
+
def X(self):
|
|
1258
|
+
r"""人脸框左上角横坐标。
|
|
1259
|
+
:rtype: int
|
|
1260
|
+
"""
|
|
1261
|
+
return self._X
|
|
1262
|
+
|
|
1263
|
+
@X.setter
|
|
1264
|
+
def X(self, X):
|
|
1265
|
+
self._X = X
|
|
1266
|
+
|
|
1267
|
+
@property
|
|
1268
|
+
def Y(self):
|
|
1269
|
+
r"""人脸框左上角纵坐标。
|
|
1270
|
+
:rtype: int
|
|
1271
|
+
"""
|
|
1272
|
+
return self._Y
|
|
1273
|
+
|
|
1274
|
+
@Y.setter
|
|
1275
|
+
def Y(self, Y):
|
|
1276
|
+
self._Y = Y
|
|
1277
|
+
|
|
1278
|
+
@property
|
|
1279
|
+
def Width(self):
|
|
1280
|
+
r"""人脸框宽度。
|
|
1281
|
+
:rtype: int
|
|
1282
|
+
"""
|
|
1283
|
+
return self._Width
|
|
1284
|
+
|
|
1285
|
+
@Width.setter
|
|
1286
|
+
def Width(self, Width):
|
|
1287
|
+
self._Width = Width
|
|
1288
|
+
|
|
1289
|
+
@property
|
|
1290
|
+
def Height(self):
|
|
1291
|
+
r"""人脸框高度。
|
|
1292
|
+
:rtype: int
|
|
1293
|
+
"""
|
|
1294
|
+
return self._Height
|
|
1295
|
+
|
|
1296
|
+
@Height.setter
|
|
1297
|
+
def Height(self, Height):
|
|
1298
|
+
self._Height = Height
|
|
1299
|
+
|
|
1300
|
+
|
|
1301
|
+
def _deserialize(self, params):
|
|
1302
|
+
self._X = params.get("X")
|
|
1303
|
+
self._Y = params.get("Y")
|
|
1304
|
+
self._Width = params.get("Width")
|
|
1305
|
+
self._Height = params.get("Height")
|
|
1306
|
+
memeber_set = set(params.keys())
|
|
1307
|
+
for name, value in vars(self).items():
|
|
1308
|
+
property_name = name[1:]
|
|
1309
|
+
if property_name in memeber_set:
|
|
1310
|
+
memeber_set.remove(property_name)
|
|
1311
|
+
if len(memeber_set) > 0:
|
|
1312
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
|
|
1316
|
+
class FaceTemplateInfo(AbstractModel):
|
|
1317
|
+
r"""模板信息
|
|
1318
|
+
|
|
1319
|
+
"""
|
|
1320
|
+
|
|
1321
|
+
def __init__(self):
|
|
1322
|
+
r"""
|
|
1323
|
+
:param _TemplateFaceID: 角色ID。需要与MergeInfos中的TemplateFaceID依次对应。需要填数字,建议填"0"、"1",依次累加。
|
|
1324
|
+
:type TemplateFaceID: str
|
|
1325
|
+
:param _TemplateFaceImage: 视频模板中要替换的人脸图片
|
|
1326
|
+
:type TemplateFaceImage: :class:`tencentcloud.vclm.v20240523.models.Image`
|
|
1327
|
+
:param _TemplateFaceRect: 视频模板中要替换的人脸图片的人脸框。不填默认取要替换的人脸图片中最大人脸。
|
|
1328
|
+
:type TemplateFaceRect: :class:`tencentcloud.vclm.v20240523.models.FaceRect`
|
|
1329
|
+
"""
|
|
1330
|
+
self._TemplateFaceID = None
|
|
1331
|
+
self._TemplateFaceImage = None
|
|
1332
|
+
self._TemplateFaceRect = None
|
|
1333
|
+
|
|
1334
|
+
@property
|
|
1335
|
+
def TemplateFaceID(self):
|
|
1336
|
+
r"""角色ID。需要与MergeInfos中的TemplateFaceID依次对应。需要填数字,建议填"0"、"1",依次累加。
|
|
1337
|
+
:rtype: str
|
|
1338
|
+
"""
|
|
1339
|
+
return self._TemplateFaceID
|
|
1340
|
+
|
|
1341
|
+
@TemplateFaceID.setter
|
|
1342
|
+
def TemplateFaceID(self, TemplateFaceID):
|
|
1343
|
+
self._TemplateFaceID = TemplateFaceID
|
|
1344
|
+
|
|
1345
|
+
@property
|
|
1346
|
+
def TemplateFaceImage(self):
|
|
1347
|
+
r"""视频模板中要替换的人脸图片
|
|
1348
|
+
:rtype: :class:`tencentcloud.vclm.v20240523.models.Image`
|
|
1349
|
+
"""
|
|
1350
|
+
return self._TemplateFaceImage
|
|
1351
|
+
|
|
1352
|
+
@TemplateFaceImage.setter
|
|
1353
|
+
def TemplateFaceImage(self, TemplateFaceImage):
|
|
1354
|
+
self._TemplateFaceImage = TemplateFaceImage
|
|
1355
|
+
|
|
1356
|
+
@property
|
|
1357
|
+
def TemplateFaceRect(self):
|
|
1358
|
+
r"""视频模板中要替换的人脸图片的人脸框。不填默认取要替换的人脸图片中最大人脸。
|
|
1359
|
+
:rtype: :class:`tencentcloud.vclm.v20240523.models.FaceRect`
|
|
1360
|
+
"""
|
|
1361
|
+
return self._TemplateFaceRect
|
|
1362
|
+
|
|
1363
|
+
@TemplateFaceRect.setter
|
|
1364
|
+
def TemplateFaceRect(self, TemplateFaceRect):
|
|
1365
|
+
self._TemplateFaceRect = TemplateFaceRect
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
def _deserialize(self, params):
|
|
1369
|
+
self._TemplateFaceID = params.get("TemplateFaceID")
|
|
1370
|
+
if params.get("TemplateFaceImage") is not None:
|
|
1371
|
+
self._TemplateFaceImage = Image()
|
|
1372
|
+
self._TemplateFaceImage._deserialize(params.get("TemplateFaceImage"))
|
|
1373
|
+
if params.get("TemplateFaceRect") is not None:
|
|
1374
|
+
self._TemplateFaceRect = FaceRect()
|
|
1375
|
+
self._TemplateFaceRect._deserialize(params.get("TemplateFaceRect"))
|
|
1376
|
+
memeber_set = set(params.keys())
|
|
1377
|
+
for name, value in vars(self).items():
|
|
1378
|
+
property_name = name[1:]
|
|
1379
|
+
if property_name in memeber_set:
|
|
1380
|
+
memeber_set.remove(property_name)
|
|
1381
|
+
if len(memeber_set) > 0:
|
|
1382
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
1383
|
+
|
|
1384
|
+
|
|
1385
|
+
|
|
1039
1386
|
class Image(AbstractModel):
|
|
1040
1387
|
r"""图片
|
|
1041
1388
|
|
|
@@ -2240,6 +2587,201 @@ class SubmitTemplateToVideoJobResponse(AbstractModel):
|
|
|
2240
2587
|
self._RequestId = params.get("RequestId")
|
|
2241
2588
|
|
|
2242
2589
|
|
|
2590
|
+
class SubmitVideoFaceFusionJobRequest(AbstractModel):
|
|
2591
|
+
r"""SubmitVideoFaceFusionJob请求参数结构体
|
|
2592
|
+
|
|
2593
|
+
"""
|
|
2594
|
+
|
|
2595
|
+
def __init__(self):
|
|
2596
|
+
r"""
|
|
2597
|
+
:param _VideoUrl: 视频素材下载地址。用户自定义模版视频下载地址,使用前需要先调用视频审核接口进行内容审核。视频限制:分辨率≤4k,fps≤25,视频大小≤1G,时长≤20 秒,支持格式mp4。
|
|
2598
|
+
|
|
2599
|
+
输入视频建议:
|
|
2600
|
+
姿态:人脸相对镜头水平方向角度转动不超过 90°,垂直方向角度转动不超过 20°。遮挡:脸部遮挡面积不超过 50%,不要完全遮挡五官,不要有半透明遮挡(强光,玻璃,透明眼镜等)、以及细碎离散的脸部遮挡(如飘落的花瓣)。妆容及光照:避免浓妆、复杂妆容,避免复杂光照、闪烁,这些属性无法完全恢复,并对稳定性有影响。针对特殊表情和微表情,针对局部肌肉控制下的微表情,以及过于夸张的特殊表情等不保证表情效果完全恢复。
|
|
2601
|
+
:type VideoUrl: str
|
|
2602
|
+
:param _TemplateInfos: 视频素材模板的人脸位置信息。
|
|
2603
|
+
目前最多支持融合视频素材中的 6 张人脸
|
|
2604
|
+
输入图片要求:
|
|
2605
|
+
1、用户图限制大小不超过 10MB
|
|
2606
|
+
2、图片最大分辨率不超过 4k,建议最小为 128, 人脸框最小为 68
|
|
2607
|
+
3、支持格式 jpg,png
|
|
2608
|
+
4、如果用户图中未指定人脸且有多张人脸, 默认融合最大人脸
|
|
2609
|
+
输入图片建议: 包含上述视频中出现的人物的单人照,并且正面、清晰、无遮挡
|
|
2610
|
+
:type TemplateInfos: list of FaceTemplateInfo
|
|
2611
|
+
:param _MergeInfos: 用户人脸图片位置信息。
|
|
2612
|
+
输入图片要求:
|
|
2613
|
+
1、用户图限制大小不超过 10MB
|
|
2614
|
+
2、图片最大分辨率不超过 4k,建议最小为 128,人脸框最小为 68
|
|
2615
|
+
3、支持格式 jpg,png
|
|
2616
|
+
4、如果未指定人脸且用户图中有多张人脸,
|
|
2617
|
+
默认融合最大人脸
|
|
2618
|
+
输入图建议:
|
|
2619
|
+
正脸无遮挡
|
|
2620
|
+
:type MergeInfos: list of FaceMergeInfo
|
|
2621
|
+
:param _LogoAdd: 为生成视频添加标识的开关,默认为1。
|
|
2622
|
+
1:添加标识。 0:不添加标识。 其他数值:默认按1处理。
|
|
2623
|
+
建议您使用显著标识来提示,该视频是 AI 生成的视频。
|
|
2624
|
+
:type LogoAdd: int
|
|
2625
|
+
:param _LogoParam: 视频水印Logo参数标识内容设置。
|
|
2626
|
+
默认在融合结果图右下角添加“AI生成”类似字样,您可根据自身需要替换为其他的Logo图片。
|
|
2627
|
+
输入建议:输入水印图片宽高需小于视频宽高
|
|
2628
|
+
:type LogoParam: :class:`tencentcloud.vclm.v20240523.models.LogoParam`
|
|
2629
|
+
"""
|
|
2630
|
+
self._VideoUrl = None
|
|
2631
|
+
self._TemplateInfos = None
|
|
2632
|
+
self._MergeInfos = None
|
|
2633
|
+
self._LogoAdd = None
|
|
2634
|
+
self._LogoParam = None
|
|
2635
|
+
|
|
2636
|
+
@property
|
|
2637
|
+
def VideoUrl(self):
|
|
2638
|
+
r"""视频素材下载地址。用户自定义模版视频下载地址,使用前需要先调用视频审核接口进行内容审核。视频限制:分辨率≤4k,fps≤25,视频大小≤1G,时长≤20 秒,支持格式mp4。
|
|
2639
|
+
|
|
2640
|
+
输入视频建议:
|
|
2641
|
+
姿态:人脸相对镜头水平方向角度转动不超过 90°,垂直方向角度转动不超过 20°。遮挡:脸部遮挡面积不超过 50%,不要完全遮挡五官,不要有半透明遮挡(强光,玻璃,透明眼镜等)、以及细碎离散的脸部遮挡(如飘落的花瓣)。妆容及光照:避免浓妆、复杂妆容,避免复杂光照、闪烁,这些属性无法完全恢复,并对稳定性有影响。针对特殊表情和微表情,针对局部肌肉控制下的微表情,以及过于夸张的特殊表情等不保证表情效果完全恢复。
|
|
2642
|
+
:rtype: str
|
|
2643
|
+
"""
|
|
2644
|
+
return self._VideoUrl
|
|
2645
|
+
|
|
2646
|
+
@VideoUrl.setter
|
|
2647
|
+
def VideoUrl(self, VideoUrl):
|
|
2648
|
+
self._VideoUrl = VideoUrl
|
|
2649
|
+
|
|
2650
|
+
@property
|
|
2651
|
+
def TemplateInfos(self):
|
|
2652
|
+
r"""视频素材模板的人脸位置信息。
|
|
2653
|
+
目前最多支持融合视频素材中的 6 张人脸
|
|
2654
|
+
输入图片要求:
|
|
2655
|
+
1、用户图限制大小不超过 10MB
|
|
2656
|
+
2、图片最大分辨率不超过 4k,建议最小为 128, 人脸框最小为 68
|
|
2657
|
+
3、支持格式 jpg,png
|
|
2658
|
+
4、如果用户图中未指定人脸且有多张人脸, 默认融合最大人脸
|
|
2659
|
+
输入图片建议: 包含上述视频中出现的人物的单人照,并且正面、清晰、无遮挡
|
|
2660
|
+
:rtype: list of FaceTemplateInfo
|
|
2661
|
+
"""
|
|
2662
|
+
return self._TemplateInfos
|
|
2663
|
+
|
|
2664
|
+
@TemplateInfos.setter
|
|
2665
|
+
def TemplateInfos(self, TemplateInfos):
|
|
2666
|
+
self._TemplateInfos = TemplateInfos
|
|
2667
|
+
|
|
2668
|
+
@property
|
|
2669
|
+
def MergeInfos(self):
|
|
2670
|
+
r"""用户人脸图片位置信息。
|
|
2671
|
+
输入图片要求:
|
|
2672
|
+
1、用户图限制大小不超过 10MB
|
|
2673
|
+
2、图片最大分辨率不超过 4k,建议最小为 128,人脸框最小为 68
|
|
2674
|
+
3、支持格式 jpg,png
|
|
2675
|
+
4、如果未指定人脸且用户图中有多张人脸,
|
|
2676
|
+
默认融合最大人脸
|
|
2677
|
+
输入图建议:
|
|
2678
|
+
正脸无遮挡
|
|
2679
|
+
:rtype: list of FaceMergeInfo
|
|
2680
|
+
"""
|
|
2681
|
+
return self._MergeInfos
|
|
2682
|
+
|
|
2683
|
+
@MergeInfos.setter
|
|
2684
|
+
def MergeInfos(self, MergeInfos):
|
|
2685
|
+
self._MergeInfos = MergeInfos
|
|
2686
|
+
|
|
2687
|
+
@property
|
|
2688
|
+
def LogoAdd(self):
|
|
2689
|
+
r"""为生成视频添加标识的开关,默认为1。
|
|
2690
|
+
1:添加标识。 0:不添加标识。 其他数值:默认按1处理。
|
|
2691
|
+
建议您使用显著标识来提示,该视频是 AI 生成的视频。
|
|
2692
|
+
:rtype: int
|
|
2693
|
+
"""
|
|
2694
|
+
return self._LogoAdd
|
|
2695
|
+
|
|
2696
|
+
@LogoAdd.setter
|
|
2697
|
+
def LogoAdd(self, LogoAdd):
|
|
2698
|
+
self._LogoAdd = LogoAdd
|
|
2699
|
+
|
|
2700
|
+
@property
|
|
2701
|
+
def LogoParam(self):
|
|
2702
|
+
r"""视频水印Logo参数标识内容设置。
|
|
2703
|
+
默认在融合结果图右下角添加“AI生成”类似字样,您可根据自身需要替换为其他的Logo图片。
|
|
2704
|
+
输入建议:输入水印图片宽高需小于视频宽高
|
|
2705
|
+
:rtype: :class:`tencentcloud.vclm.v20240523.models.LogoParam`
|
|
2706
|
+
"""
|
|
2707
|
+
return self._LogoParam
|
|
2708
|
+
|
|
2709
|
+
@LogoParam.setter
|
|
2710
|
+
def LogoParam(self, LogoParam):
|
|
2711
|
+
self._LogoParam = LogoParam
|
|
2712
|
+
|
|
2713
|
+
|
|
2714
|
+
def _deserialize(self, params):
|
|
2715
|
+
self._VideoUrl = params.get("VideoUrl")
|
|
2716
|
+
if params.get("TemplateInfos") is not None:
|
|
2717
|
+
self._TemplateInfos = []
|
|
2718
|
+
for item in params.get("TemplateInfos"):
|
|
2719
|
+
obj = FaceTemplateInfo()
|
|
2720
|
+
obj._deserialize(item)
|
|
2721
|
+
self._TemplateInfos.append(obj)
|
|
2722
|
+
if params.get("MergeInfos") is not None:
|
|
2723
|
+
self._MergeInfos = []
|
|
2724
|
+
for item in params.get("MergeInfos"):
|
|
2725
|
+
obj = FaceMergeInfo()
|
|
2726
|
+
obj._deserialize(item)
|
|
2727
|
+
self._MergeInfos.append(obj)
|
|
2728
|
+
self._LogoAdd = params.get("LogoAdd")
|
|
2729
|
+
if params.get("LogoParam") is not None:
|
|
2730
|
+
self._LogoParam = LogoParam()
|
|
2731
|
+
self._LogoParam._deserialize(params.get("LogoParam"))
|
|
2732
|
+
memeber_set = set(params.keys())
|
|
2733
|
+
for name, value in vars(self).items():
|
|
2734
|
+
property_name = name[1:]
|
|
2735
|
+
if property_name in memeber_set:
|
|
2736
|
+
memeber_set.remove(property_name)
|
|
2737
|
+
if len(memeber_set) > 0:
|
|
2738
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
2739
|
+
|
|
2740
|
+
|
|
2741
|
+
|
|
2742
|
+
class SubmitVideoFaceFusionJobResponse(AbstractModel):
|
|
2743
|
+
r"""SubmitVideoFaceFusionJob返回参数结构体
|
|
2744
|
+
|
|
2745
|
+
"""
|
|
2746
|
+
|
|
2747
|
+
def __init__(self):
|
|
2748
|
+
r"""
|
|
2749
|
+
:param _JobId: 视频人脸融合任务的job id(job有效期24小时)
|
|
2750
|
+
:type JobId: str
|
|
2751
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
2752
|
+
:type RequestId: str
|
|
2753
|
+
"""
|
|
2754
|
+
self._JobId = None
|
|
2755
|
+
self._RequestId = None
|
|
2756
|
+
|
|
2757
|
+
@property
|
|
2758
|
+
def JobId(self):
|
|
2759
|
+
r"""视频人脸融合任务的job id(job有效期24小时)
|
|
2760
|
+
:rtype: str
|
|
2761
|
+
"""
|
|
2762
|
+
return self._JobId
|
|
2763
|
+
|
|
2764
|
+
@JobId.setter
|
|
2765
|
+
def JobId(self, JobId):
|
|
2766
|
+
self._JobId = JobId
|
|
2767
|
+
|
|
2768
|
+
@property
|
|
2769
|
+
def RequestId(self):
|
|
2770
|
+
r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
2771
|
+
:rtype: str
|
|
2772
|
+
"""
|
|
2773
|
+
return self._RequestId
|
|
2774
|
+
|
|
2775
|
+
@RequestId.setter
|
|
2776
|
+
def RequestId(self, RequestId):
|
|
2777
|
+
self._RequestId = RequestId
|
|
2778
|
+
|
|
2779
|
+
|
|
2780
|
+
def _deserialize(self, params):
|
|
2781
|
+
self._JobId = params.get("JobId")
|
|
2782
|
+
self._RequestId = params.get("RequestId")
|
|
2783
|
+
|
|
2784
|
+
|
|
2243
2785
|
class SubmitVideoStylizationJobRequest(AbstractModel):
|
|
2244
2786
|
r"""SubmitVideoStylizationJob请求参数结构体
|
|
2245
2787
|
|
|
@@ -165,6 +165,29 @@ class VclmClient(AbstractClient):
|
|
|
165
165
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
166
166
|
|
|
167
167
|
|
|
168
|
+
def DescribeVideoFaceFusionJob(self, request):
|
|
169
|
+
r"""查询视频人脸融合任务
|
|
170
|
+
|
|
171
|
+
:param request: Request instance for DescribeVideoFaceFusionJob.
|
|
172
|
+
:type request: :class:`tencentcloud.vclm.v20240523.models.DescribeVideoFaceFusionJobRequest`
|
|
173
|
+
:rtype: :class:`tencentcloud.vclm.v20240523.models.DescribeVideoFaceFusionJobResponse`
|
|
174
|
+
|
|
175
|
+
"""
|
|
176
|
+
try:
|
|
177
|
+
params = request._serialize()
|
|
178
|
+
headers = request.headers
|
|
179
|
+
body = self.call("DescribeVideoFaceFusionJob", params, headers=headers)
|
|
180
|
+
response = json.loads(body)
|
|
181
|
+
model = models.DescribeVideoFaceFusionJobResponse()
|
|
182
|
+
model._deserialize(response["Response"])
|
|
183
|
+
return model
|
|
184
|
+
except Exception as e:
|
|
185
|
+
if isinstance(e, TencentCloudSDKException):
|
|
186
|
+
raise
|
|
187
|
+
else:
|
|
188
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
189
|
+
|
|
190
|
+
|
|
168
191
|
def DescribeVideoStylizationJob(self, request):
|
|
169
192
|
r"""用于查询视频风格化任务。视频风格化支持将输入视频生成特定风格的视频。生成后的视频画面风格多样、流畅自然,能够满足社交娱乐、互动营销、视频素材制作等场景的需求。
|
|
170
193
|
|
|
@@ -305,6 +328,29 @@ class VclmClient(AbstractClient):
|
|
|
305
328
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
306
329
|
|
|
307
330
|
|
|
331
|
+
def SubmitVideoFaceFusionJob(self, request):
|
|
332
|
+
r"""提交视频人脸融合任务
|
|
333
|
+
|
|
334
|
+
:param request: Request instance for SubmitVideoFaceFusionJob.
|
|
335
|
+
:type request: :class:`tencentcloud.vclm.v20240523.models.SubmitVideoFaceFusionJobRequest`
|
|
336
|
+
:rtype: :class:`tencentcloud.vclm.v20240523.models.SubmitVideoFaceFusionJobResponse`
|
|
337
|
+
|
|
338
|
+
"""
|
|
339
|
+
try:
|
|
340
|
+
params = request._serialize()
|
|
341
|
+
headers = request.headers
|
|
342
|
+
body = self.call("SubmitVideoFaceFusionJob", params, headers=headers)
|
|
343
|
+
response = json.loads(body)
|
|
344
|
+
model = models.SubmitVideoFaceFusionJobResponse()
|
|
345
|
+
model._deserialize(response["Response"])
|
|
346
|
+
return model
|
|
347
|
+
except Exception as e:
|
|
348
|
+
if isinstance(e, TencentCloudSDKException):
|
|
349
|
+
raise
|
|
350
|
+
else:
|
|
351
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
352
|
+
|
|
353
|
+
|
|
308
354
|
def SubmitVideoStylizationJob(self, request):
|
|
309
355
|
r"""用于提交视频风格化任务。支持将输入视频生成特定风格的视频。生成后的视频画面风格多样、流畅自然,能够满足社交娱乐、互动营销、视频素材制作等场景的需求。
|
|
310
356
|
|
|
@@ -134,6 +134,24 @@ class VclmClient(AbstractClient):
|
|
|
134
134
|
|
|
135
135
|
return await self.call_and_deserialize(**kwargs)
|
|
136
136
|
|
|
137
|
+
async def DescribeVideoFaceFusionJob(
|
|
138
|
+
self,
|
|
139
|
+
request: models.DescribeVideoFaceFusionJobRequest,
|
|
140
|
+
opts: Dict = None,
|
|
141
|
+
) -> models.DescribeVideoFaceFusionJobResponse:
|
|
142
|
+
"""
|
|
143
|
+
查询视频人脸融合任务
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
kwargs = {}
|
|
147
|
+
kwargs["action"] = "DescribeVideoFaceFusionJob"
|
|
148
|
+
kwargs["params"] = request._serialize()
|
|
149
|
+
kwargs["resp_cls"] = models.DescribeVideoFaceFusionJobResponse
|
|
150
|
+
kwargs["headers"] = request.headers
|
|
151
|
+
kwargs["opts"] = opts or {}
|
|
152
|
+
|
|
153
|
+
return await self.call_and_deserialize(**kwargs)
|
|
154
|
+
|
|
137
155
|
async def DescribeVideoStylizationJob(
|
|
138
156
|
self,
|
|
139
157
|
request: models.DescribeVideoStylizationJobRequest,
|
|
@@ -244,6 +262,24 @@ class VclmClient(AbstractClient):
|
|
|
244
262
|
|
|
245
263
|
return await self.call_and_deserialize(**kwargs)
|
|
246
264
|
|
|
265
|
+
async def SubmitVideoFaceFusionJob(
|
|
266
|
+
self,
|
|
267
|
+
request: models.SubmitVideoFaceFusionJobRequest,
|
|
268
|
+
opts: Dict = None,
|
|
269
|
+
) -> models.SubmitVideoFaceFusionJobResponse:
|
|
270
|
+
"""
|
|
271
|
+
提交视频人脸融合任务
|
|
272
|
+
"""
|
|
273
|
+
|
|
274
|
+
kwargs = {}
|
|
275
|
+
kwargs["action"] = "SubmitVideoFaceFusionJob"
|
|
276
|
+
kwargs["params"] = request._serialize()
|
|
277
|
+
kwargs["resp_cls"] = models.SubmitVideoFaceFusionJobResponse
|
|
278
|
+
kwargs["headers"] = request.headers
|
|
279
|
+
kwargs["opts"] = opts or {}
|
|
280
|
+
|
|
281
|
+
return await self.call_and_deserialize(**kwargs)
|
|
282
|
+
|
|
247
283
|
async def SubmitVideoStylizationJob(
|
|
248
284
|
self,
|
|
249
285
|
request: models.SubmitVideoStylizationJobRequest,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-vclm
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.7
|
|
4
4
|
Summary: Tencent Cloud Vclm SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.7
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tencentcloud-sdk-python-common<4.0.0,>=3.1.7
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tencentcloud-sdk-python-common<4.0.0,>=3.1.1
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|