# -*- 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 AsrTimestamps(AbstractModel): """文本片段及其时间戳 """ def __init__(self): r""" :param _Text: 文本片段 注意:此字段可能返回 null,表示取不到有效值。 :type Text: str :param _StartMs: 开始时间 注意:此字段可能返回 null,表示取不到有效值。 :type StartMs: int :param _EndMs: 结束时间 注意:此字段可能返回 null,表示取不到有效值。 :type EndMs: int """ self._Text = None self._StartMs = None self._EndMs = None @property def Text(self): """文本片段 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Text @Text.setter def Text(self, Text): self._Text = Text @property def StartMs(self): """开始时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._StartMs @StartMs.setter def StartMs(self, StartMs): self._StartMs = StartMs @property def EndMs(self): """结束时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._EndMs @EndMs.setter def EndMs(self, EndMs): self._EndMs = EndMs def _deserialize(self, params): self._Text = params.get("Text") self._StartMs = params.get("StartMs") self._EndMs = params.get("EndMs") 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 AudioTranslateResult(AbstractModel): """音频翻译结果 """ def __init__(self): r""" :param _SourceText: 原文本 :type SourceText: str :param _TargetText: 目标文本 :type TargetText: str """ self._SourceText = None self._TargetText = None @property def SourceText(self): """原文本 :rtype: str """ return self._SourceText @SourceText.setter def SourceText(self, SourceText): self._SourceText = SourceText @property def TargetText(self): """目标文本 :rtype: str """ return self._TargetText @TargetText.setter def TargetText(self, TargetText): self._TargetText = TargetText def _deserialize(self, params): self._SourceText = params.get("SourceText") self._TargetText = params.get("TargetText") 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 ConfirmVideoTranslateJobRequest(AbstractModel): """ConfirmVideoTranslateJob请求参数结构体 """ def __init__(self): r""" :param _JobId: 视频翻译任务 ID :type JobId: str :param _TranslateResults: 待确认文本 :type TranslateResults: list of AudioTranslateResult """ self._JobId = None self._TranslateResults = None @property def JobId(self): """视频翻译任务 ID :rtype: str """ return self._JobId @JobId.setter def JobId(self, JobId): self._JobId = JobId @property def TranslateResults(self): """待确认文本 :rtype: list of AudioTranslateResult """ return self._TranslateResults @TranslateResults.setter def TranslateResults(self, TranslateResults): self._TranslateResults = TranslateResults def _deserialize(self, params): self._JobId = params.get("JobId") if params.get("TranslateResults") is not None: self._TranslateResults = [] for item in params.get("TranslateResults"): obj = AudioTranslateResult() obj._deserialize(item) self._TranslateResults.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 ConfirmVideoTranslateJobResponse(AbstractModel): """ConfirmVideoTranslateJob返回参数结构体 """ def __init__(self): r""" :param _JobId: 视频翻译任务 ID :type JobId: str :param _TaskId: 音频转换任务 ID :type TaskId: str :param _SessionId: 音频翻译结果确认 session :type SessionId: str :param _Status: 视频转译任务状态 :type Status: int :param _Message: 视频转译任务信息 :type Message: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._JobId = None self._TaskId = None self._SessionId = None self._Status = None self._Message = None self._RequestId = None @property def JobId(self): """视频翻译任务 ID :rtype: str """ return self._JobId @JobId.setter def JobId(self, JobId): self._JobId = JobId @property def TaskId(self): """音频转换任务 ID :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def SessionId(self): """音频翻译结果确认 session :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId @property def Status(self): """视频转译任务状态 :rtype: int """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def Message(self): """视频转译任务信息 :rtype: str """ return self._Message @Message.setter def Message(self, Message): self._Message = Message @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._JobId = params.get("JobId") self._TaskId = params.get("TaskId") self._SessionId = params.get("SessionId") self._Status = params.get("Status") self._Message = params.get("Message") self._RequestId = params.get("RequestId") class DescribeVideoTranslateJobRequest(AbstractModel): """DescribeVideoTranslateJob请求参数结构体 """ def __init__(self): r""" :param _JobId: JobId。 :type JobId: str """ self._JobId = None @property def JobId(self): """JobId。 :rtype: str """ return self._JobId @JobId.setter def JobId(self, JobId): self._JobId = JobId def _deserialize(self, params): self._JobId = params.get("JobId") 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 DescribeVideoTranslateJobResponse(AbstractModel): """DescribeVideoTranslateJob返回参数结构体 """ def __init__(self): r""" :param _JobStatus: 任务状态。 1:音频翻译中。 2:音频翻译失败。 3:音频翻译成功。 4:音频结果待确认。 5:音频结果已确认完毕。6:视频翻译中。 7:视频翻译失败。 8:视频翻译成功。 :type JobStatus: int :param _JobErrorCode: 任务错误码。 :type JobErrorCode: str :param _JobErrorMsg: 任务错误信息。 :type JobErrorMsg: str :param _ResultVideoUrl: 视频翻译结果。 :type ResultVideoUrl: str :param _TranslateResults: 音频翻译结果。 :type TranslateResults: list of TranslateResult :param _JobConfirm: 是否需要确认翻译结果。0:不需要,1:需要 :type JobConfirm: int :param _JobAudioTaskId: 音频任务 ID :type JobAudioTaskId: str :param _JobVideoModerationId: 视频审核任务ID :type JobVideoModerationId: str :param _JobVideoId: 视频生成任务 ID :type JobVideoId: str :param _OriginalVideoUrl: 视频素材原始 URL :type OriginalVideoUrl: str :param _AsrTimestamps: 文本片段及其时间戳 :type AsrTimestamps: list of AsrTimestamps :param _JobSubmitReqId: 提交视频翻译任务时的 requestId :type JobSubmitReqId: str :param _JobAudioModerationId: 音频审核任务 ID :type JobAudioModerationId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._JobStatus = None self._JobErrorCode = None self._JobErrorMsg = None self._ResultVideoUrl = None self._TranslateResults = None self._JobConfirm = None self._JobAudioTaskId = None self._JobVideoModerationId = None self._JobVideoId = None self._OriginalVideoUrl = None self._AsrTimestamps = None self._JobSubmitReqId = None self._JobAudioModerationId = None self._RequestId = None @property def JobStatus(self): """任务状态。 1:音频翻译中。 2:音频翻译失败。 3:音频翻译成功。 4:音频结果待确认。 5:音频结果已确认完毕。6:视频翻译中。 7:视频翻译失败。 8:视频翻译成功。 :rtype: int """ return self._JobStatus @JobStatus.setter def JobStatus(self, JobStatus): self._JobStatus = JobStatus @property def JobErrorCode(self): """任务错误码。 :rtype: str """ return self._JobErrorCode @JobErrorCode.setter def JobErrorCode(self, JobErrorCode): self._JobErrorCode = JobErrorCode @property def JobErrorMsg(self): """任务错误信息。 :rtype: str """ return self._JobErrorMsg @JobErrorMsg.setter def JobErrorMsg(self, JobErrorMsg): self._JobErrorMsg = JobErrorMsg @property def ResultVideoUrl(self): """视频翻译结果。 :rtype: str """ return self._ResultVideoUrl @ResultVideoUrl.setter def ResultVideoUrl(self, ResultVideoUrl): self._ResultVideoUrl = ResultVideoUrl @property def TranslateResults(self): """音频翻译结果。 :rtype: list of TranslateResult """ return self._TranslateResults @TranslateResults.setter def TranslateResults(self, TranslateResults): self._TranslateResults = TranslateResults @property def JobConfirm(self): """是否需要确认翻译结果。0:不需要,1:需要 :rtype: int """ return self._JobConfirm @JobConfirm.setter def JobConfirm(self, JobConfirm): self._JobConfirm = JobConfirm @property def JobAudioTaskId(self): """音频任务 ID :rtype: str """ return self._JobAudioTaskId @JobAudioTaskId.setter def JobAudioTaskId(self, JobAudioTaskId): self._JobAudioTaskId = JobAudioTaskId @property def JobVideoModerationId(self): """视频审核任务ID :rtype: str """ return self._JobVideoModerationId @JobVideoModerationId.setter def JobVideoModerationId(self, JobVideoModerationId): self._JobVideoModerationId = JobVideoModerationId @property def JobVideoId(self): """视频生成任务 ID :rtype: str """ return self._JobVideoId @JobVideoId.setter def JobVideoId(self, JobVideoId): self._JobVideoId = JobVideoId @property def OriginalVideoUrl(self): """视频素材原始 URL :rtype: str """ return self._OriginalVideoUrl @OriginalVideoUrl.setter def OriginalVideoUrl(self, OriginalVideoUrl): self._OriginalVideoUrl = OriginalVideoUrl @property def AsrTimestamps(self): """文本片段及其时间戳 :rtype: list of AsrTimestamps """ return self._AsrTimestamps @AsrTimestamps.setter def AsrTimestamps(self, AsrTimestamps): self._AsrTimestamps = AsrTimestamps @property def JobSubmitReqId(self): """提交视频翻译任务时的 requestId :rtype: str """ return self._JobSubmitReqId @JobSubmitReqId.setter def JobSubmitReqId(self, JobSubmitReqId): self._JobSubmitReqId = JobSubmitReqId @property def JobAudioModerationId(self): """音频审核任务 ID :rtype: str """ return self._JobAudioModerationId @JobAudioModerationId.setter def JobAudioModerationId(self, JobAudioModerationId): self._JobAudioModerationId = JobAudioModerationId @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._JobStatus = params.get("JobStatus") self._JobErrorCode = params.get("JobErrorCode") self._JobErrorMsg = params.get("JobErrorMsg") self._ResultVideoUrl = params.get("ResultVideoUrl") if params.get("TranslateResults") is not None: self._TranslateResults = [] for item in params.get("TranslateResults"): obj = TranslateResult() obj._deserialize(item) self._TranslateResults.append(obj) self._JobConfirm = params.get("JobConfirm") self._JobAudioTaskId = params.get("JobAudioTaskId") self._JobVideoModerationId = params.get("JobVideoModerationId") self._JobVideoId = params.get("JobVideoId") self._OriginalVideoUrl = params.get("OriginalVideoUrl") if params.get("AsrTimestamps") is not None: self._AsrTimestamps = [] for item in params.get("AsrTimestamps"): obj = AsrTimestamps() obj._deserialize(item) self._AsrTimestamps.append(obj) self._JobSubmitReqId = params.get("JobSubmitReqId") self._JobAudioModerationId = params.get("JobAudioModerationId") self._RequestId = params.get("RequestId") class SubmitVideoTranslateJobRequest(AbstractModel): """SubmitVideoTranslateJob请求参数结构体 """ def __init__(self): r""" :param _VideoUrl: 视频地址URL。 格式要求:支持 mp4、mov 。 时长要求:【10-300】秒。 fps 要求:【15-60】fps 分辨率要求:单边像素要求在 【540~1920】 之间。 :type VideoUrl: str :param _SrcLang: 源语言:zh(中文), en(英文) :type SrcLang: str :param _DstLang: 目标语种: zh(简体中文)、en(英语)、ar(阿拉伯语)、de(德语)、es(西班牙语)、fr(法语)、id(印尼语)、it(意大利语)、ja(日语)、ko(韩语)、ms(马来语)、pt(葡萄牙语)、ru(俄语)、th(泰语)、tr(土耳其语)、vi(越南语) 示例值:ar(阿拉伯语) :type DstLang: str :param _AudioUrl: 当音频 URL 不为空时,默认以音频驱动视频任务口型。 格式要求:支持 mp3、m4a、acc、wav 格式。 时长要求:【10~300】秒 大小要求:不超过 100M。 示例值:http://xxx/audio.mp3 :type AudioUrl: str :param _RemoveVocal: 是否需要去除VideoUrl或AudioUrl中背景音,取值范围:0-不需要,1-需要,默认0 。 :type RemoveVocal: int :param _Confirm: 是否需要确认翻译结果0:不需要,1:需要 :type Confirm: int :param _LipSync: 是否开启口型驱动,0:不开启,1:开启。默认开启。 :type LipSync: int :param _VoiceType: 音色种别:一种音色种别对应一种不同区域的音色 1)目标语种为小语种(非zh,en)时,该项为必填 2)目标语种为zh,en时,该项为非必填,若填入,则对应填入的音色 具体音色包含请见“支持音色种别列表” :type VoiceType: str """ self._VideoUrl = None self._SrcLang = None self._DstLang = None self._AudioUrl = None self._RemoveVocal = None self._Confirm = None self._LipSync = None self._VoiceType = None @property def VideoUrl(self): """视频地址URL。 格式要求:支持 mp4、mov 。 时长要求:【10-300】秒。 fps 要求:【15-60】fps 分辨率要求:单边像素要求在 【540~1920】 之间。 :rtype: str """ return self._VideoUrl @VideoUrl.setter def VideoUrl(self, VideoUrl): self._VideoUrl = VideoUrl @property def SrcLang(self): """源语言:zh(中文), en(英文) :rtype: str """ return self._SrcLang @SrcLang.setter def SrcLang(self, SrcLang): self._SrcLang = SrcLang @property def DstLang(self): """目标语种: zh(简体中文)、en(英语)、ar(阿拉伯语)、de(德语)、es(西班牙语)、fr(法语)、id(印尼语)、it(意大利语)、ja(日语)、ko(韩语)、ms(马来语)、pt(葡萄牙语)、ru(俄语)、th(泰语)、tr(土耳其语)、vi(越南语) 示例值:ar(阿拉伯语) :rtype: str """ return self._DstLang @DstLang.setter def DstLang(self, DstLang): self._DstLang = DstLang @property def AudioUrl(self): """当音频 URL 不为空时,默认以音频驱动视频任务口型。 格式要求:支持 mp3、m4a、acc、wav 格式。 时长要求:【10~300】秒 大小要求:不超过 100M。 示例值:http://xxx/audio.mp3 :rtype: str """ return self._AudioUrl @AudioUrl.setter def AudioUrl(self, AudioUrl): self._AudioUrl = AudioUrl @property def RemoveVocal(self): """是否需要去除VideoUrl或AudioUrl中背景音,取值范围:0-不需要,1-需要,默认0 。 :rtype: int """ return self._RemoveVocal @RemoveVocal.setter def RemoveVocal(self, RemoveVocal): self._RemoveVocal = RemoveVocal @property def Confirm(self): """是否需要确认翻译结果0:不需要,1:需要 :rtype: int """ return self._Confirm @Confirm.setter def Confirm(self, Confirm): self._Confirm = Confirm @property def LipSync(self): """是否开启口型驱动,0:不开启,1:开启。默认开启。 :rtype: int """ return self._LipSync @LipSync.setter def LipSync(self, LipSync): self._LipSync = LipSync @property def VoiceType(self): """音色种别:一种音色种别对应一种不同区域的音色 1)目标语种为小语种(非zh,en)时,该项为必填 2)目标语种为zh,en时,该项为非必填,若填入,则对应填入的音色 具体音色包含请见“支持音色种别列表” :rtype: str """ return self._VoiceType @VoiceType.setter def VoiceType(self, VoiceType): self._VoiceType = VoiceType def _deserialize(self, params): self._VideoUrl = params.get("VideoUrl") self._SrcLang = params.get("SrcLang") self._DstLang = params.get("DstLang") self._AudioUrl = params.get("AudioUrl") self._RemoveVocal = params.get("RemoveVocal") self._Confirm = params.get("Confirm") self._LipSync = params.get("LipSync") self._VoiceType = params.get("VoiceType") 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 SubmitVideoTranslateJobResponse(AbstractModel): """SubmitVideoTranslateJob返回参数结构体 """ def __init__(self): r""" :param _JobId: 视频转译任务的Job id :type JobId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._JobId = None self._RequestId = None @property def JobId(self): """视频转译任务的Job id :rtype: str """ return self._JobId @JobId.setter def JobId(self, JobId): self._JobId = JobId @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._JobId = params.get("JobId") self._RequestId = params.get("RequestId") class TranslateResult(AbstractModel): """音频翻译结果。 """ def __init__(self): r""" :param _SourceText: 翻译源文字。 注意:此字段可能返回 null,表示取不到有效值。 :type SourceText: str :param _TargetText: 翻译后文字。 注意:此字段可能返回 null,表示取不到有效值。 :type TargetText: str """ self._SourceText = None self._TargetText = None @property def SourceText(self): """翻译源文字。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SourceText @SourceText.setter def SourceText(self, SourceText): self._SourceText = SourceText @property def TargetText(self): """翻译后文字。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TargetText @TargetText.setter def TargetText(self, TargetText): self._TargetText = TargetText def _deserialize(self, params): self._SourceText = params.get("SourceText") self._TargetText = params.get("TargetText") 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