// Copyright (c) 2017-2025 Tencent. 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.

package v20180717

import (
    tcerr "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/errors"
    tchttp "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/http"
    "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/json"
)

type AIAnalysisTemplateItem struct {
	// Unique ID of intelligent analysis template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Intelligent analysis template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Intelligent analysis template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Intelligent Classification Task Control Parameters.
	ClassificationConfigure *ClassificationConfigureInfo `json:"ClassificationConfigure,omitnil,omitempty" name:"ClassificationConfigure"`

	// Intelligent tag task control parameter.
	TagConfigure *TagConfigureInfo `json:"TagConfigure,omitnil,omitempty" name:"TagConfigure"`

	// Intelligent Cover Task Control Parameters.
	CoverConfigure *CoverConfigureInfo `json:"CoverConfigure,omitnil,omitempty" name:"CoverConfigure"`

	// Intelligent frame tagging task control parameter.
	FrameTagConfigure *FrameTagConfigureInfo `json:"FrameTagConfigure,omitnil,omitempty" name:"FrameTagConfigure"`

	// Control parameter of an intelligent highlight generating task.
	HighlightConfigure *HighlightsConfigureInfo `json:"HighlightConfigure,omitnil,omitempty" name:"HighlightConfigure"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AIRecognitionTemplateItem struct {
	// Unique ID of video content recognition template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Video content recognition template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Video content recognition template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Template type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Head and tail recognition control parameter.
	HeadTailConfigure *HeadTailConfigureInfo `json:"HeadTailConfigure,omitnil,omitempty" name:"HeadTailConfigure"`

	// Segmentation recognition control parameter.
	SegmentConfigure *SegmentConfigureInfo `json:"SegmentConfigure,omitnil,omitempty" name:"SegmentConfigure"`

	// Face recognition control parameter.
	FaceConfigure *FaceConfigureInfo `json:"FaceConfigure,omitnil,omitempty" name:"FaceConfigure"`

	// Text Full-text Recognition Control Parameters.
	OcrFullTextConfigure *OcrFullTextConfigureInfo `json:"OcrFullTextConfigure,omitnil,omitempty" name:"OcrFullTextConfigure"`

	// Text keyword recognition control parameter.
	OcrWordsConfigure *OcrWordsConfigureInfo `json:"OcrWordsConfigure,omitnil,omitempty" name:"OcrWordsConfigure"`

	// Voice full-text recognition control parameters.
	// <font color=red>Note: This parameter is no longer maintained. Use the AsrTranslateConfigure parameter to trigger speech translation recognition (when DstLanguage is empty or a fill-in string, no translation is performed, and the billing item is the same as full speech recognition).</font>
	AsrFullTextConfigure *AsrFullTextConfigureInfo `json:"AsrFullTextConfigure,omitnil,omitempty" name:"AsrFullTextConfigure"`

	// Voice keyword recognition control parameters.
	AsrWordsConfigure *AsrWordsConfigureInfo `json:"AsrWordsConfigure,omitnil,omitempty" name:"AsrWordsConfigure"`

	// Voice translation recognition control parameters.
	AsrTranslateConfigure *AsrTranslateConfigureInfo `json:"AsrTranslateConfigure,omitnil,omitempty" name:"AsrTranslateConfigure"`

	// Object recognition control parameter.
	ObjectConfigure *ObjectConfigureInfo `json:"ObjectConfigure,omitnil,omitempty" name:"ObjectConfigure"`

	// Screencapturing interval in seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AbnormalLightingConfigureInfo struct {
	// low brightness and overexposure inspection switch, optional values: 
	// <li>ON: enabled;</li> 
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type AbnormalLightingConfigureInfoForUpdate struct {
	// low brightness and overexposure inspection switch, optional values: 
	// <li>ON: enabled;</li> 
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type AccelerateAreaInfo struct {
	// Acceleration region. Valid values:
	// <li>Chinese Mainland</li>
	// <li>Outside Chinese Mainland</li>
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Reason why acceleration is disabled by Tencent Cloud. Valid values:
	// <li>ForLegalReasons: legal reasons</li>
	// <li>ForOverdueBills: overdue payment</li>
	TencentDisableReason *string `json:"TencentDisableReason,omitnil,omitempty" name:"TencentDisableReason"`

	// CNAME of the acceleration domain name
	TencentEdgeDomain *string `json:"TencentEdgeDomain,omitnil,omitempty" name:"TencentEdgeDomain"`
}

type AdaptiveDynamicStreamingInfoItem struct {
	// <p>Convert to adaptive bitrate streaming specification.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Packaging format. Value ranges from:</p><li>HLS;</li><li>DASH.</li>
	Package *string `json:"Package,omitnil,omitempty" name:"Package"`

	// <p>Encryption type.</p>
	DrmType *string `json:"DrmType,omitnil,omitempty" name:"DrmType"`

	// <p>Playback address.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Media file size, unit: byte.</p><li>When the media file is HLS, the size is the sum of m3u8 and ts file sizes.</li><li>When the media file is DASH, the size is the sum of mpd and fragment file sizes.</li><li><font color="red">Note</font>: This field is 0 for adaptive bitrate stream files generated through pre-processing before 2022-01-10T16:00:00Z.</li>
	Size *int64 `json:"Size,omitnil,omitempty" name:"Size"`

	// <p>Watermark type. Available values:</p><li>Trace means transit watermark processing;</li><li>CopyRight means copyright watermark processing;</li><li>None means no watermark processing.</li>
	DigitalWatermarkType *string `json:"DigitalWatermarkType,omitnil,omitempty" name:"DigitalWatermarkType"`

	// <p>Substream info list.</p>
	SubStreamSet []*MediaSubStreamInfoItem `json:"SubStreamSet,omitnil,omitempty" name:"SubStreamSet"`

	// <p>Copyright information.</p>
	CopyRightWatermarkText *string `json:"CopyRightWatermarkText,omitnil,omitempty" name:"CopyRightWatermarkText"`

	// <p>Digital watermark template id.</p>
	BlindWatermarkDefinition *int64 `json:"BlindWatermarkDefinition,omitnil,omitempty" name:"BlindWatermarkDefinition"`

	// <p>Subtitle information list.</p>
	SubtitleSet []*MediaSubtitleItem `json:"SubtitleSet,omitnil,omitempty" name:"SubtitleSet"`

	// <p>Unique identifier for default subtitle.</p>
	DefaultSubtitleId *string `json:"DefaultSubtitleId,omitnil,omitempty" name:"DefaultSubtitleId"`

	// <p>DRM encryption method.</p>
	DrmEncryptType *string `json:"DrmEncryptType,omitnil,omitempty" name:"DrmEncryptType"`
}

type AdaptiveDynamicStreamingTaskInput struct {
	// <p>Adaptive bitrate streaming template ID.</p>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Watermark list. Up to 10 image or text watermarks are supported.</p>
	WatermarkSet []*WatermarkInput `json:"WatermarkSet,omitnil,omitempty" name:"WatermarkSet"`

	// <p>Traceable watermark.</p>
	TraceWatermark *TraceWatermarkInput `json:"TraceWatermark,omitnil,omitempty" name:"TraceWatermark"`

	// <p>Copyright watermark.</p>
	CopyRightWatermark *CopyRightWatermarkInput `json:"CopyRightWatermark,omitnil,omitempty" name:"CopyRightWatermark"`

	// <p>Digital watermark.</p>
	BlindWatermark *BlindWatermarkInput `json:"BlindWatermark,omitnil,omitempty" name:"BlindWatermark"`

	// <p>External subtitle file, with subtitle ID as the element, supports multiple subtitles, up to 16.</p>
	SubtitleSet []*string `json:"SubtitleSet,omitnil,omitempty" name:"SubtitleSet"`

	// <p>List of subtitle suppression information. A maximum of 2 are supported.</p>
	SubtitleInfoSet []*SubtitleInfoInput `json:"SubtitleInfoSet,omitnil,omitempty" name:"SubtitleInfoSet"`

	// <p>Third-party DRM encrypted information. Task flow is not currently supported to initiate task via third-party DRM information.</p>
	DrmInfo *ThirdPartyDrmInfo `json:"DrmInfo,omitnil,omitempty" name:"DrmInfo"`
}

type AdaptiveDynamicStreamingTemplate struct {
	// <p>Unique ID of the adaptive bitrate streaming template.</p>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Template type. Valid values:</p><li>Preset: preset template.</li><li>Custom: custom template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Adaptive bitrate streaming template name.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Adaptive bitrate streaming template description.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Adaptive Transcoding Format. Value ranges from:</p><li>HLS.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// <p>DRM type. Value ranges from:</p><li>SimpleAES</li><li>Widevine</li><li>FairPlay</li><li>Widevine+FairPlay</li>If the value is an empty string, it represents no DRM protection for the video.
	DrmType *string `json:"DrmType,omitnil,omitempty" name:"DrmType"`

	// <p>DRM key provider. Permissible range:</p><li>SDMC: SDMC;</li><li>VOD: video on demand.</li>Default value is VOD.<p>SDMC service will be gradually phased out subsequently. Please use VOD DRM encryption service.</p>
	DrmKeyProvider *string `json:"DrmKeyProvider,omitnil,omitempty" name:"DrmKeyProvider"`

	// <p>DRM encryption type, value ranges from "cbcs" to "cenc".</p>
	DrmEncryptType *string `json:"DrmEncryptType,omitnil,omitempty" name:"DrmEncryptType"`

	// <p>Adaptive Transcoding Input Stream Parameter Information. Up to 10 entries.</p>
	StreamInfos []*AdaptiveStreamTemplate `json:"StreamInfos,omitnil,omitempty" name:"StreamInfos"`

	// <p>Whether to prohibit video low bitrate to high bitrate conversion. Value ranges from:</p><li>0: No,</li><li>1: Yes.</li>
	DisableHigherVideoBitrate *uint64 `json:"DisableHigherVideoBitrate,omitnil,omitempty" name:"DisableHigherVideoBitrate"`

	// <p>Whether to prohibit video resolution to high resolution conversion. Value ranges from:</p><li>0: No,</li><li>1: Yes.</li>
	DisableHigherVideoResolution *uint64 `json:"DisableHigherVideoResolution,omitnil,omitempty" name:"DisableHigherVideoResolution"`

	// <p>Template creation time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Last template modification time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// <p>Segment type. Valid only when Format is HLS.</p>
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`
}

type AdaptiveStreamTemplate struct {
	// <p>Video parameter information.</p>
	Video *VideoTemplateInfo `json:"Video,omitnil,omitempty" name:"Video"`

	// <p>Audio parameter info.</p>
	Audio *AudioTemplateInfo `json:"Audio,omitnil,omitempty" name:"Audio"`

	// <p>Remove audio stream. Parameter value range:</p><li>0: no,</li><li>1: yes.</li>
	RemoveAudio *uint64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// <p>Remove video stream. Parameter value range:</p><li>0: no,</li><li>1: yes.</li>
	RemoveVideo *uint64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// <p>TSC transcoding parameter.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	TEHDConfig *TEHDConfig `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`

	// <p>Audio/Video enhancement configuration.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	EnhanceConfig *EnhanceConfig `json:"EnhanceConfig,omitnil,omitempty" name:"EnhanceConfig"`

	// <p>Extended parameter.</p>
	StdExtInfo *string `json:"StdExtInfo,omitnil,omitempty" name:"StdExtInfo"`
}

type AdvancedElementInfo struct {
	// <p>Subject ID.</p>
	ElementId *string `json:"ElementId,omitnil,omitempty" name:"ElementId"`

	// <p>Entity information.</p>
	ElementInfo *string `json:"ElementInfo,omitnil,omitempty" name:"ElementInfo"`
}

type AdvancedSuperResolutionConfig struct {
	// Capability configuration switch. Valid values:
	// <li>ON: enabled;</li>
	// <li>OFF: Disabled.</li>
	// Default value: ON.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Type, available values:
	// <li>standard: common super resolution</li>
	// <li>super: advanced super-resolution.</li>
	// Default value: standard.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Image output mode. The default value is percent.
	// <li>aspect: obtain a larger rectangle with specified width and height through super-resolution.</li>
	// <li>fixed: obtain images of fixed width and height through super-resolution, with forced scaling supported.</li>
	// <li>percent: Super-resolution multiplication rate, which can be a decimal.</li>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Super-resolution multiplication rate, can be decimal.
	Percent *float64 `json:"Percent,omitnil,omitempty" name:"Percent"`

	// Target image width must not exceed 4096.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Target image height must not exceed 4096.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// The long edge length of the target image must not exceed 4096.
	// Note: This configuration is used when Mode equals aspect or fixed and the Width and Height fields are unconfigured.
	LongSide *int64 `json:"LongSide,omitnil,omitempty" name:"LongSide"`

	// The short side length of the target image must not exceed 4096.
	// Note: This configuration is used when Mode equals aspect or fixed and the Width and Height fields are unconfigured.
	ShortSide *int64 `json:"ShortSide,omitnil,omitempty" name:"ShortSide"`
}

type AiAnalysisResult struct {
	// Task type. Valid values:
	// <li>Classification: intelligent categorization</li>
	// <li>Cover: intelligent cover generating</li>
	// <li>Tag: intelligent tagging</li>
	// <li>FrameTag: intelligent frame tagging</li>
	// <li>Highlight: intelligent highlight generating</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Query result of the intelligent video content analysis classification task. Valid when the task type is Classification.
	ClassificationTask *AiAnalysisTaskClassificationResult `json:"ClassificationTask,omitnil,omitempty" name:"ClassificationTask"`

	// Query result of the Intelligent Cover Task for video content analysis. Valid when the task type is Cover.
	CoverTask *AiAnalysisTaskCoverResult `json:"CoverTask,omitnil,omitempty" name:"CoverTask"`

	// Query result of the video content analysis intelligent tag task. Valid at that time when the task type is Tag.
	TagTask *AiAnalysisTaskTagResult `json:"TagTask,omitnil,omitempty" name:"TagTask"`

	// Query result of the intelligent frame-specific tagging task for video content analysis. Valid when the task type is FrameTag.
	FrameTagTask *AiAnalysisTaskFrameTagResult `json:"FrameTagTask,omitnil,omitempty" name:"FrameTagTask"`

	// Query result of the intelligent video content analysis highlight task. Valid when the task type is Highlight.
	HighlightTask *AiAnalysisTaskHighlightResult `json:"HighlightTask,omitnil,omitempty" name:"HighlightTask"`
}

type AiAnalysisTaskClassificationInput struct {
	// Intelligent video categorization template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiAnalysisTaskClassificationOutput struct {
	// List of intelligently generated video categories
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `ClassificationSetFileUrl`.
	ClassificationSet []*MediaAiAnalysisClassificationItem `json:"ClassificationSet,omitnil,omitempty" name:"ClassificationSet"`

	// URL to the file for intelligently generated video categories. The file is in JSON format and has the same data structure as `ClassificationSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `ClassificationSetFileUrlExpireTime`.
	ClassificationSetFileUrl *string `json:"ClassificationSetFileUrl,omitnil,omitempty" name:"ClassificationSetFileUrl"`

	// Expiration time of the URL to the file for intelligently generated video categories, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	ClassificationSetFileUrlExpireTime *string `json:"ClassificationSetFileUrlExpireTime,omitnil,omitempty" name:"ClassificationSetFileUrlExpireTime"`
}

type AiAnalysisTaskClassificationResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of intelligent categorization task.
	Input *AiAnalysisTaskClassificationInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Intelligent classification task output.
	Output *AiAnalysisTaskClassificationOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an intelligent categorization task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the intelligent classification task started to be executed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the intelligent classification task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiAnalysisTaskCoverInput struct {
	// Intelligent video cover generating template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiAnalysisTaskCoverOutput struct {
	// List of intelligently generated thumbnails
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `CoverSetFileUrl`.
	CoverSet []*MediaAiAnalysisCoverItem `json:"CoverSet,omitnil,omitempty" name:"CoverSet"`

	// URL to the file for intelligently generated thumbnails. The file is in JSON format and has the same data structure as `CoverSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `CoverSetFileUrlExpireTime`.
	CoverSetFileUrl *string `json:"CoverSetFileUrl,omitnil,omitempty" name:"CoverSetFileUrl"`

	// Expiration time of the URL to the file for intelligently generated thumbnails, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	CoverSetFileUrlExpireTime *string `json:"CoverSetFileUrlExpireTime,omitnil,omitempty" name:"CoverSetFileUrlExpireTime"`
}

type AiAnalysisTaskCoverResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of intelligent cover generating task.
	Input *AiAnalysisTaskCoverInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Intelligent Cover Task output.
	Output *AiAnalysisTaskCoverOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an intelligent thumbnail generation task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the smart cover task started to be executed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the smart cover task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiAnalysisTaskFrameTagInput struct {
	// Intelligent frame-specific video tagging template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiAnalysisTaskFrameTagOutput struct {
	// List of frame-specific video tags
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaAiAnalysisFrameTagSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for frame-specific video tags. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for frame-specific video tags, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiAnalysisTaskFrameTagResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of intelligent frame-specific tagging task.
	Input *AiAnalysisTaskFrameTagInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Intelligent frame-specific tagging task output.
	Output *AiAnalysisTaskFrameTagOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an intelligent labeling by frame task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the intelligent frame labeling task started execution, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the intelligent frame labeling task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiAnalysisTaskHighlightInput struct {
	// ID of an intelligent highlight generating template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiAnalysisTaskHighlightOutput struct {
	// List of intelligently generated highlights
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `HighlightSetFileUrl`.
	HighlightSet []*MediaAiAnalysisHighlightItem `json:"HighlightSet,omitnil,omitempty" name:"HighlightSet"`

	// URL to the file for intelligently generated highlights. The file is in JSON format and has the same data structure as `HighlightSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `HighlightSetFileUrlExpireTime`.
	HighlightSetFileUrl *string `json:"HighlightSetFileUrl,omitnil,omitempty" name:"HighlightSetFileUrl"`

	// Expiration time of the URL to the file for intelligently generated highlights, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	HighlightSetFileUrlExpireTime *string `json:"HighlightSetFileUrlExpireTime,omitnil,omitempty" name:"HighlightSetFileUrlExpireTime"`
}

type AiAnalysisTaskHighlightResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for an intelligent highlight generating task.
	Input *AiAnalysisTaskHighlightInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Intelligent Highlight Task output.
	Output *AiAnalysisTaskHighlightOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an intelligent highlight generation task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the smart highlight task started execution, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time the smart highlight task completed, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiAnalysisTaskInput struct {
	// Video content analysis template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiAnalysisTaskTagInput struct {
	// Intelligent video tagging template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiAnalysisTaskTagOutput struct {
	// List of intelligently generated video tags
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `TagSetFileUrl`.
	TagSet []*MediaAiAnalysisTagItem `json:"TagSet,omitnil,omitempty" name:"TagSet"`

	// URL to the file for intelligently generated video tags. The file is in JSON format and has the same data structure as `TagSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `TagSetFileUrlExpireTime`.
	TagSetFileUrl *string `json:"TagSetFileUrl,omitnil,omitempty" name:"TagSetFileUrl"`

	// Expiration time of the URL to the file for intelligently generated video tags, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	TagSetFileUrlExpireTime *string `json:"TagSetFileUrlExpireTime,omitnil,omitempty" name:"TagSetFileUrlExpireTime"`
}

type AiAnalysisTaskTagResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of intelligent tagging task.
	Input *AiAnalysisTaskTagInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Intelligent tag task output.
	Output *AiAnalysisTaskTagOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an intelligent labeling task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the smart label task started executing, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the smart label task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiContentReviewResult struct {
	// Task type. Valid values:
	// <li>`Porn`: porn information recognition in images</li>
	// <li>`Terrorism`: terrorism information recognition in images</li>
	// <li>`Political`: politically sensitive information recognition in images</li>
	// <li>`Porn.Asr`: ASR-based porn information recognition in speech</li>
	// <li>`Porn.Ocr`: OCR-based porn information recognition in text</li>
	// <li>`Political.Asr`: ASR-based politically sensitive information recognition in speech</li>
	// <li>`Political.Ocr`: OCR-based politically sensitive information recognition in text</li>
	// <li>`Terrorism.Ocr`: OCR-based terrorism information recognition in text</li>
	// <li>`Prohibited.Asr`: ASR-based prohibited information recognition in speech</li>
	// <li>`Prohibited.Ocr`: OCR-based prohibited information recognition in text</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Result for intelligent recognition of pornographic content in images. This parameter is valid when `Type` is `Porn`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	PornTask *AiReviewTaskPornResult `json:"PornTask,omitnil,omitempty" name:"PornTask"`

	// Result for intelligent recognition of terrorism content in images. This parameter is valid when `Type` is `Terrorism`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	TerrorismTask *AiReviewTaskTerrorismResult `json:"TerrorismTask,omitnil,omitempty" name:"TerrorismTask"`

	// Result for intelligent recognition of politically sensitive content in images. This parameter is valid when `Type` is `Political`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	PoliticalTask *AiReviewTaskPoliticalResult `json:"PoliticalTask,omitnil,omitempty" name:"PoliticalTask"`

	// Result for ASR-based recognition of pornographic content. This parameter is valid when `Type` is `Porn.Asr`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	PornAsrTask *AiReviewTaskPornAsrResult `json:"PornAsrTask,omitnil,omitempty" name:"PornAsrTask"`

	// Result for OCR-based recognition of pornographic content. This parameter is valid when `Type` is `Porn.Ocr`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	PornOcrTask *AiReviewTaskPornOcrResult `json:"PornOcrTask,omitnil,omitempty" name:"PornOcrTask"`

	// Result for ASR-based recognition of politically sensitive content. This parameter is valid when `Type` is `Political.Asr`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	PoliticalAsrTask *AiReviewTaskPoliticalAsrResult `json:"PoliticalAsrTask,omitnil,omitempty" name:"PoliticalAsrTask"`

	// Result for OCR-based recognition of politically sensitive content. This parameter is valid when `Type` is `Political.Ocr`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	PoliticalOcrTask *AiReviewTaskPoliticalOcrResult `json:"PoliticalOcrTask,omitnil,omitempty" name:"PoliticalOcrTask"`

	// Result for OCR-based recognition of terrorism content. This parameter is valid when `Type` is `Terrorism.Ocr`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	TerrorismOcrTask *AiReviewTaskTerrorismOcrResult `json:"TerrorismOcrTask,omitnil,omitempty" name:"TerrorismOcrTask"`

	// Result for OCR-based recognition of banned content. This parameter is valid when `Type` is `Prohibited.Ocr`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	ProhibitedOcrTask *AiReviewTaskProhibitedOcrResult `json:"ProhibitedOcrTask,omitnil,omitempty" name:"ProhibitedOcrTask"`

	// Result for ASR-based recognition of banned content. This parameter is valid when `Type` is `Prohibited.Asr`.
	// Note: This field may return `null`, indicating that no valid value can be found.
	ProhibitedAsrTask *AiReviewTaskProhibitedAsrResult `json:"ProhibitedAsrTask,omitnil,omitempty" name:"ProhibitedAsrTask"`
}

type AiContentReviewTaskInput struct {
	// Intelligent recognition template ID
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionResult struct {
	// Task type. Valid values:
	// <li>FaceRecognition: face recognition.</li>
	// <li>AsrWordsRecognition: speech keyword recognition.</li>
	// <li>OcrWordsRecognition: text keyword recognition.</li>
	// <li>AsrFullTextRecognition: full speech recognition.</li>
	// <li>AsrTranslateRecognition: Speech translation recognition,</li>
	// <li>OcrFullTextRecognition: full text recognition.</li>
	// <li>HeadTailRecognition: Video start and end recognition,</li>
	// <li>ObjectRecognition: Object recognition.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Video opening and closing credits recognition result when Type is
	// HeadTailRecognition.
	HeadTailTask *AiRecognitionTaskHeadTailResult `json:"HeadTailTask,omitnil,omitempty" name:"HeadTailTask"`

	// Video splitting recognition result, which is valid when Type is
	// Valid at SegmentRecognition.
	SegmentTask *AiRecognitionTaskSegmentResult `json:"SegmentTask,omitnil,omitempty" name:"SegmentTask"`

	// Face recognition result, which is valid when Type is 
	// FaceRecognition.
	FaceTask *AiRecognitionTaskFaceResult `json:"FaceTask,omitnil,omitempty" name:"FaceTask"`

	// Speech keyword recognition result when Type is
	// Valid at AsrWordsRecognition.
	AsrWordsTask *AiRecognitionTaskAsrWordsResult `json:"AsrWordsTask,omitnil,omitempty" name:"AsrWordsTask"`

	// Full speech recognition result. When Type is
	// Set to AsrFullTextRecognition, this parameter takes effect.
	AsrFullTextTask *AiRecognitionTaskAsrFullTextResult `json:"AsrFullTextTask,omitnil,omitempty" name:"AsrFullTextTask"`

	// Voice translation result. Valid when Type is AsrTranslateRecognition.
	AsrTranslateTask *AiRecognitionTaskAsrTranslateResult `json:"AsrTranslateTask,omitnil,omitempty" name:"AsrTranslateTask"`

	// Text keyword recognition result when Type is
	// Valid at OcrWordsRecognition.
	OcrWordsTask *AiRecognitionTaskOcrWordsResult `json:"OcrWordsTask,omitnil,omitempty" name:"OcrWordsTask"`

	// Full text recognition result. When Type is
	// OcrFullTextRecognition.
	OcrFullTextTask *AiRecognitionTaskOcrFullTextResult `json:"OcrFullTextTask,omitnil,omitempty" name:"OcrFullTextTask"`

	// Object recognition result, which is valid when Type is
	// Valid at ObjectRecognition.
	ObjectTask *AiRecognitionTaskObjectResult `json:"ObjectTask,omitnil,omitempty" name:"ObjectTask"`
}

type AiRecognitionTaskAsrFullTextResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input information of full speech recognition task.
	Input *AiRecognitionTaskAsrFullTextResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output information on the speech full-text recognition task.
	Output *AiRecognitionTaskAsrFullTextResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Speech full-text recognition task progress, value range [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the full-text speech recognition task started, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the speech full-text recognition task was completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskAsrFullTextResultInput struct {
	// Full speech recognition template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskAsrFullTextResultOutput struct {
	// List of full-text speech recognition segments
	// <font color=red>Note</font>: this list displays up to the first 100 results. You can get all the results from the file whose URL is `SegmentSetFileUrl`.
	SegmentSet []*AiRecognitionTaskAsrFullTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file of the list for full-text speech recognition segments. The file format is JSON, and the data structure is the same as `SegmentSet`. The file will be deleted upon the expiration time `SegmentSetFileUrlExpireTime`, instead of being stored permanently.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// The expiration time of the URLs of full-text speech recognition segments in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format).
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`

	// The subtitle files generated, whose format is determined by the `SubtitleFormats` parameter of [AsrFullTextConfigureInfo](https://intl.cloud.tencent.com/document/api/266/31773?from_cn_redirect=1#AsrFullTextConfigureInfo).
	SubtitleSet []*AiRecognitionTaskAsrFullTextResultOutputSubtitleItem `json:"SubtitleSet,omitnil,omitempty" name:"SubtitleSet"`

	// The URLs of the subtitle files generated, whose format is determined by the `SubtitleFormats` parameter of [AsrFullTextConfigureInfo](https://intl.cloud.tencent.com/document/api/266/31773?from_cn_redirect=1#AsrFullTextConfigureInfo).
	SubtitleUrl *string `json:"SubtitleUrl,omitnil,omitempty" name:"SubtitleUrl"`
}

type AiRecognitionTaskAsrFullTextResultOutputSubtitleItem struct {
	// Media asset subtitle ID, used for media asset subtitle management. Valid only when Format is vtt.
	// <font color=red>Note:</font> This field is invalid for tasks before 2024-11-01T10:00:00Z.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Media Asset Subtitle Name for player display. Valid only when Format is vtt.
	// <font color=red>Note:</font> This field is invalid for tasks before 2024-11-01T10:00:00Z.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Subtitle language.
	Language *string `json:"Language,omitnil,omitempty" name:"Language"`

	// The format of the subtitle files. Valid values:
	// <li>vtt</li>
	// <li>srt</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// The URL of a subtitle file.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type AiRecognitionTaskAsrFullTextSegmentItem struct {
	// Confidence of recognized segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Start time offset of recognized segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of recognition segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Recognized text.
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`
}

type AiRecognitionTaskAsrTranslateResult struct {
	// Task status. Valid values are PROCESSING, SUCCESS, and FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates success, and additional values indicate failure. For values, see the video processing error code list (https://www.tencentcloud.com/document/product/266/50368?from_cn_redirect=1#.E8.A7.86.E9.A2.91.E5.A4.84.E7.90.86.E7.B1.BB.E9.94.99.E8.AF.AF.E7.A0.81).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates that the task is successful, and other values indicate that the task has failed. (This field is not recommended. Use the new error code field ErrCodeExt instead.)
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Voice translation task input information.
	Input *AiRecognitionTaskAsrTranslateResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Voice translation task output information.
	Output *AiRecognitionTaskAsrTranslateResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Voice translation task progress, with a value range of [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Voice Translation Task Start Time in [ISO datetime format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// Time for voice translation task completion in [ISO datetime format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskAsrTranslateResultInput struct {
	// Speech translation template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskAsrTranslateResultOutput struct {
	// Voice translation clip list.
	// <font color=red>Note</font>: The list only displays the first 100 elements. To obtain the complete result, refer to the corresponding file in SegmentSetFileUrl.
	SegmentSet []*AiRecognitionTaskAsrTranslateSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL of Speech Translation Clip List File. The content of the file is JSON, consistent with the fields of SegmentSet. (The file will not be retained permanently and will be deleted when reaching SegmentSetFileUrlExpireTime.)
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL for the speech translation clip list file, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`

	// Generated subtitle list.
	SubtitleSet []*AiRecognitionTaskAsrFullTextResultOutputSubtitleItem `json:"SubtitleSet,omitnil,omitempty" name:"SubtitleSet"`
}

type AiRecognitionTaskAsrTranslateSegmentItem struct {
	// Confidence of a speech translation segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Start time offset of a recognized segment in speech translation, in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of a recognized segment in speech translation, in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Recognized text.
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// Translated text.
	Translation *string `json:"Translation,omitnil,omitempty" name:"Translation"`
}

type AiRecognitionTaskAsrWordsResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input information of speech keyword recognition task.
	Input *AiRecognitionTaskAsrWordsResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Speech keyword recognition task output information.
	Output *AiRecognitionTaskAsrWordsResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a speech keyword recognition task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the speech keyword recognition task started, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the speech keyword recognition task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskAsrWordsResultInput struct {
	// Speech keyword recognition template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskAsrWordsResultItem struct {
	// Speech keyword.
	Word *string `json:"Word,omitnil,omitempty" name:"Word"`

	// List of time segments that contain the speech keyword.
	SegmentSet []*AiRecognitionTaskAsrWordsSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`
}

type AiRecognitionTaskAsrWordsResultOutput struct {
	// Speech keyword recognition result set
	// <font color=red>Note</font>: this list displays up to the first 100 results. You can get all the results from the file whose URL is `SegmentSetFileUrl`.
	ResultSet []*AiRecognitionTaskAsrWordsResultItem `json:"ResultSet,omitnil,omitempty" name:"ResultSet"`

	// URL to the file of the speech keyword recognition result set. The file format is JSON, and the data structure is the same as `SegmentSet`. The file will be deleted upon the expiration time `SegmentSetFileUrlExpireTime`, instead of being stored permanently.
	ResultSetFileUrl *string `json:"ResultSetFileUrl,omitnil,omitempty" name:"ResultSetFileUrl"`

	// Expiration time of the URL to the file of the speech keyword recognition result set, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	ResultSetFileUrlExpireTime *string `json:"ResultSetFileUrlExpireTime,omitnil,omitempty" name:"ResultSetFileUrlExpireTime"`
}

type AiRecognitionTaskAsrWordsSegmentItem struct {
	// Start time offset of recognized segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of recognition segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence of recognized segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`
}

type AiRecognitionTaskFaceResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input information of face recognition task.
	Input *AiRecognitionTaskFaceResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Face recognition task output information.
	Output *AiRecognitionTaskFaceResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a face recognition task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the face recognition task started, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the face recognition task was completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskFaceResultInput struct {
	// Face recognition template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskFaceResultItem struct {
	// Unique ID of figure.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Figure library type, indicating to which figure library the recognized figure belongs:
	// <li>Default: default figure library;</li>
	// <li>UserDefine: custom figure library.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Figure name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Result set of segments that contain a figure.
	SegmentSet []*AiRecognitionTaskFaceSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`
}

type AiRecognitionTaskFaceResultOutput struct {
	// Intelligent face recognition result set
	// <font color=red>Note</font>: this list displays up to the first 100 results. You can get all the results from the file whose URL is `SegmentSetFileUrl`.
	ResultSet []*AiRecognitionTaskFaceResultItem `json:"ResultSet,omitnil,omitempty" name:"ResultSet"`

	// URL to the file of the intelligent face recognition result set. The file format is JSON, and the data structure is the same as `SegmentSet`. The file will be deleted upon the expiration time `SegmentSetFileUrlExpireTime`, instead of being stored permanently.
	ResultSetFileUrl *string `json:"ResultSetFileUrl,omitnil,omitempty" name:"ResultSetFileUrl"`

	// Expiration time of the URL to the file of the intelligent face recognition result set, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	ResultSetFileUrlExpireTime *string `json:"ResultSetFileUrlExpireTime,omitnil,omitempty" name:"ResultSetFileUrlExpireTime"`
}

type AiRecognitionTaskFaceSegmentItem struct {
	// Start time offset of recognized segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of recognition segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence of recognized segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Zone coordinates of recognition result. The array contains four elements: [x1,y1,x2,y2], i.e., the horizontal and vertical coordinates of the top-left and bottom-right corners.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`
}

type AiRecognitionTaskHeadTailResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input information of video opening and ending credits recognition task.
	Input *AiRecognitionTaskHeadTailResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video opening and closing credits recognition task output information.
	Output *AiRecognitionTaskHeadTailResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an opening/closing segment recognition task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the video start and end recognition task starts, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the video start and end recognition task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskHeadTailResultInput struct {
	// Video opening and ending credits recognition template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskHeadTailResultOutput struct {
	// Confidence of recognized opening credits. Value range: 0-100.
	HeadConfidence *float64 `json:"HeadConfidence,omitnil,omitempty" name:"HeadConfidence"`

	// End time point of video opening credits in seconds.
	HeadTimeOffset *float64 `json:"HeadTimeOffset,omitnil,omitempty" name:"HeadTimeOffset"`

	// Confidence of recognized closing credits. Value range: 0-100.
	TailConfidence *float64 `json:"TailConfidence,omitnil,omitempty" name:"TailConfidence"`

	// Start time point of video closing credits in seconds.
	TailTimeOffset *float64 `json:"TailTimeOffset,omitnil,omitempty" name:"TailTimeOffset"`
}

type AiRecognitionTaskInput struct {
	// Intelligent video recognition template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskObjectResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input information of object recognition task.
	Input *AiRecognitionTaskObjectResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Object recognition task output information.
	Output *AiRecognitionTaskObjectResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an object recognition task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the object recognition task started execution, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the object recognition task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskObjectResultInput struct {
	// Object recognition template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskObjectResultItem struct {
	// Name of recognized object.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// List of segments that contain an object.
	//
	// Deprecated: SegmentSet is deprecated.
	SegmentSet []*AiRecognitionTaskObjectSeqmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// List of fragments in which the object appears.
	RecognitionSegmentSet []*AiRecognitionTaskObjectSegmentItem `json:"RecognitionSegmentSet,omitnil,omitempty" name:"RecognitionSegmentSet"`
}

type AiRecognitionTaskObjectResultOutput struct {
	// Intelligent object recognition result set
	// <font color=red>Note</font>: this list displays up to the first 100 results. You can get all the results from the file whose URL is `SegmentSetFileUrl`.
	ResultSet []*AiRecognitionTaskObjectResultItem `json:"ResultSet,omitnil,omitempty" name:"ResultSet"`

	// URL to the file of the object recognition result set. The file format is JSON, and the data structure is the same as `SegmentSet`. The file will be deleted upon the expiration time `SegmentSetFileUrlExpireTime`, instead of being stored permanently.
	ResultSetFileUrl *string `json:"ResultSetFileUrl,omitnil,omitempty" name:"ResultSetFileUrl"`

	// Expiration time of the URL to the object recognition result set, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	ResultSetFileUrlExpireTime *string `json:"ResultSetFileUrlExpireTime,omitnil,omitempty" name:"ResultSetFileUrlExpireTime"`
}

type AiRecognitionTaskObjectSegmentItem struct {
	// Identifies the offset time of the beginning of the segment, in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// Offset time to identify the end of the segment, in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Identify segment confidence. Value: 0~100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// The area coordinates of the recognition result. The array contains 4 elements [x1, y1, x2, y2], which in turn represent the horizontal and vertical coordinates of the upper left point and lower right point of the area.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`
}

type AiRecognitionTaskObjectSeqmentItem struct {
	// Start time offset of recognized segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of recognition segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence of recognized segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Zone coordinates of recognition result. The array contains four elements: [x1,y1,x2,y2], i.e., the horizontal and vertical coordinates of the top-left and bottom-right corners.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`
}

type AiRecognitionTaskOcrFullTextResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input information of full text recognition task.
	Input *AiRecognitionTaskOcrFullTextResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Full text recognition task output information.
	Output *AiRecognitionTaskOcrFullTextResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a full text recognition task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the full text recognition task started, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the full text recognition task was completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskOcrFullTextResultInput struct {
	// Full text recognition template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskOcrFullTextResultOutput struct {
	// Full-text recognition result set
	// <font color=red>Note</font>: this list displays up to the first 100 results. You can get all the results from the file whose URL is `SegmentSetFileUrl`.
	SegmentSet []*AiRecognitionTaskOcrFullTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file of the full-text recognition result set. The file format is JSON, and the data structure is the same as `SegmentSet`. The file will be deleted upon the expiration time `SegmentSetFileUrlExpireTime`, instead of being stored permanently.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file of the full-text recognition result set, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiRecognitionTaskOcrFullTextSegmentItem struct {
	// Start time offset of recognized segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of recognition segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Recognition segment result set.
	TextSet []*AiRecognitionTaskOcrFullTextSegmentTextItem `json:"TextSet,omitnil,omitempty" name:"TextSet"`
}

type AiRecognitionTaskOcrFullTextSegmentTextItem struct {
	// Confidence of recognized segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Zone coordinates of recognition result. The array contains four elements: [x1,y1,x2,y2], i.e., the horizontal and vertical coordinates of the top-left and bottom-right corners.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`

	// Recognized text.
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`
}

type AiRecognitionTaskOcrWordsResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input information of text keyword recognition task.
	Input *AiRecognitionTaskOcrWordsResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Text keyword recognition task output information.
	Output *AiRecognitionTaskOcrWordsResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a text keyword recognition task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the text keyword recognition task started, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the text keyword recognition task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskOcrWordsResultInput struct {
	// Text keyword recognition template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskOcrWordsResultItem struct {
	// Text keyword.
	Word *string `json:"Word,omitnil,omitempty" name:"Word"`

	// List of segments that contain a text keyword.
	SegmentSet []*AiRecognitionTaskOcrWordsSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`
}

type AiRecognitionTaskOcrWordsResultOutput struct {
	// Text keyword recognition result set
	// <font color=red>Note</font>: this list displays up to the first 100 results. You can get all the results from the file whose URL is `SegmentSetFileUrl`.
	ResultSet []*AiRecognitionTaskOcrWordsResultItem `json:"ResultSet,omitnil,omitempty" name:"ResultSet"`

	// URL to the file of the text keyword recognition result set. The file format is JSON, and the data structure is the same as `SegmentSet`. The file will be deleted upon the expiration time `SegmentSetFileUrlExpireTime`, instead of being stored permanently.
	ResultSetFileUrl *string `json:"ResultSetFileUrl,omitnil,omitempty" name:"ResultSetFileUrl"`

	// Expiration time of the URL to the file of the text keyword recognition result set, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	ResultSetFileUrlExpireTime *string `json:"ResultSetFileUrlExpireTime,omitnil,omitempty" name:"ResultSetFileUrlExpireTime"`
}

type AiRecognitionTaskOcrWordsSegmentItem struct {
	// Start time offset of recognized segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of recognition segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence of recognized segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Zone coordinates of recognition result. The array contains four elements: [x1,y1,x2,y2], i.e., the horizontal and vertical coordinates of the top-left and bottom-right corners.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`
}

type AiRecognitionTaskSegmentResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Video splitting task input.
	Input *AiRecognitionTaskSegmentResultInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video splitting task output information.
	Output *AiRecognitionTaskSegmentResultOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a video splitting task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the video detachment task started, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the video stripping task is completed is in [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type AiRecognitionTaskSegmentResultInput struct {
	// Video splitting template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiRecognitionTaskSegmentResultOutput struct {
	// List of split video segments
	// <font color=red>Note</font>: this list displays up to the first 100 results. You can get all the results from the file whose URL is `SegmentSetFileUrl`.
	SegmentSet []*AiRecognitionTaskSegmentSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file of the list for split video segments. The file format is JSON, and the data structure is the same as `SegmentSet`. The file will be deleted upon the expiration time `SegmentSetFileUrlExpireTime`, instead of being stored permanently.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file of the list for split video segments, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiRecognitionTaskSegmentSegmentItem struct {
	// File ID, which is valid only when a VOD file is processed and the subsegments generated through segmentation are also VOD files.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Split video segment URL.
	SegmentUrl *string `json:"SegmentUrl,omitnil,omitempty" name:"SegmentUrl"`

	// Confidence of split segment. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Start time offset of split segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of split segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Split cover image URL.
	CovImgUrl *string `json:"CovImgUrl,omitnil,omitempty" name:"CovImgUrl"`

	// Special field, which should be ignored.
	SpecialInfo *string `json:"SpecialInfo,omitnil,omitempty" name:"SpecialInfo"`
}

type AiReviewPoliticalAsrTaskInput struct {
	// ID of the template for recognition of politically sensitive content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewPoliticalAsrTaskOutput struct {
	// Confidence score for the ASR-detected politically sensitive content. Value range: 0-100
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the ASR-detected politically sensitive content. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of video segments that contain ASR-detected politically sensitive content
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewAsrTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain ASR-detected politically sensitive content. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain ASR-detected politically sensitive content, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewPoliticalOcrTaskInput struct {
	// ID of the template for recognition of politically sensitive content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewPoliticalOcrTaskOutput struct {
	// Confidence score for the OCR-detected politically sensitive content. Value range: 0-100
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the OCR-detected politically sensitive content. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of video segments that contain OCR-detected politically sensitive content
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewOcrTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain OCR-detected politically sensitive content. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain OCR-detected politically sensitive content, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewPoliticalTaskInput struct {
	// ID of the template for recognition of politically sensitive content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewPoliticalTaskOutput struct {
	// Confidence score for the detected politically sensitive content. Value range: 0-100
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the detected politically sensitive content
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Labels for the detected politically sensitive content. The relationship between the values of this parameter and those of the `LabelSet` parameter in [PoliticalImgReviewTemplateInfo](https://intl.cloud.tencent.com/document/api/266/31773?from_cn_redirect=1#PoliticalImgReviewTemplateInfo) is as follows:
	// violation_photo:
	// <li>`violation_photo`: banned images</li>
	// Other values (politician/entertainment/sport/entrepreneur/scholar/celebrity/military):
	// <li>`politician`: politically sensitive people</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// List of video segments that contain detected politically sensitive content
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewPoliticalSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain detected politically sensitive content. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain politically sensitive content, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewPornAsrTaskInput struct {
	// ID of the template for recognition of pornographic content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewPornAsrTaskOutput struct {
	// Confidence score for the ASR-detected pornographic content
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the ASR-detected pornographic content
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of video segments that contain ASR-detected pornographic content
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewAsrTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain ASR-detected pornographic content. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain ASR-detected pornographic content, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewPornOcrTaskInput struct {
	// ID of the template for recognition of pornographic content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewPornOcrTaskOutput struct {
	// Confidence score for the OCR-detected pornographic content
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the OCR-detected pornographic content
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of video segments that contain OCR-detected pornographic content
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewOcrTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain OCR-detected pornographic content. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain OCR-detected pornographic content, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewPornTaskInput struct {
	// ID of the template for recognition of pornographic content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewPornTaskOutput struct {
	// Confidence score for the detected pornographic content. Value range: 0-100
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the detected pornographic content. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Labels for the detected pornographic content. Valid values:
	// <li>porn</li>
	// <li>sexy</li>
	// <li>vulgar</li>
	// <li>intimacy</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// List of video segments that contain detected pornographic content
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain detected pornographic content. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain detected pornographic content, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewProhibitedAsrTaskInput struct {
	// Prohibited information detection template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewProhibitedAsrTaskOutput struct {
	// Score of ASR-detected prohibited information in speech between 0 and 100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Suggestion for ASR-detected prohibited information in speech. Valid values:
	// <li>pass.</li>
	// <li>review.</li>
	// <li>block.</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of video segments that contain ASR-detected prohibited information
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewAsrTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain ASR-detected prohibited information. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain ASR-detected prohibited information, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewProhibitedOcrTaskInput struct {
	// Prohibited information detection template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewProhibitedOcrTaskOutput struct {
	// Score of OCR-detected prohibited information in text between 0 and 100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Suggestion for OCR-detected prohibited information in text. Valid values:
	// <li>pass.</li>
	// <li>review.</li>
	// <li>block.</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of video segments that contain OCR-detected prohibited information
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewOcrTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain OCR-detected prohibited information. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL for video segments that contain OCR-detected prohibited information, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewTaskPoliticalAsrResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for ASR-based recognition of politically sensitive content
	Input *AiReviewPoliticalAsrTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output for ASR-based recognition of politically sensitive content
	Output *AiReviewPoliticalAsrTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an ASR-based moderation task (politically sensitive content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskPoliticalOcrResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for OCR-based recognition of politically sensitive content
	Input *AiReviewPoliticalOcrTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation Ocr text involves inappropriate information in task output.
	Output *AiReviewPoliticalOcrTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Audio and video review OCR text involves the task progress of inappropriate information, the value range is [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskPoliticalResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for intelligent recognition of politically sensitive content
	Input *AiReviewPoliticalTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation involves inappropriate information in task output.
	Output *AiReviewPoliticalTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a moderation task (politically sensitive content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskPornAsrResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for ASR-based recognition of pornographic content
	Input *AiReviewPornAsrTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation involves offensive content in Asr text task output.
	Output *AiReviewPornAsrTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an ASR-based moderation task (pornographic content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskPornOcrResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for OCR-based recognition of pornographic content
	Input *AiReviewPornOcrTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation Ocr text involves offensive content in task output.
	Output *AiReviewPornOcrTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an OCR-based moderation task (pornographic content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskPornResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for intelligent recognition of pornographic content
	Input *AiReviewPornTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation involves offensive content in task output.
	Output *AiReviewPornTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a moderation task (pornographic content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskProhibitedAsrResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for ASR-based recognition of banned content
	Input *AiReviewProhibitedAsrTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Audio/video moderation Asr text prohibited task output.
	Output *AiReviewProhibitedAsrTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an ASR-based moderation task (banned content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskProhibitedOcrResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for OCR-based recognition of banned content
	Input *AiReviewProhibitedOcrTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation Ocr text prohibited information recognition task output.
	Output *AiReviewProhibitedOcrTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an OCR-based moderation task (banned content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskTerrorismOcrResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for OCR-based recognition of terrorism content
	Input *AiReviewTerrorismOcrTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation Ocr text involves unsafe information in task output.
	Output *AiReviewTerrorismOcrTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an OCR-based moderation task (terrorist content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTaskTerrorismResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input for intelligent recognition of terrorism content
	Input *AiReviewTerrorismTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video moderation involves unsafe information in task output.
	Output *AiReviewTerrorismTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a moderation task (terrorist content). Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type AiReviewTerrorismOcrTaskInput struct {
	// ID of the template for recognition of terrorism content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewTerrorismOcrTaskOutput struct {
	// Confidence score for the OCR-detected terrorism content. Value range: 0-100
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the OCR-detected terrorism content
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of video segments that contain OCR-detected terrorism content
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewOcrTextSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain OCR-detected terrorism content. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain OCR-detected terrorism content, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiReviewTerrorismTaskInput struct {
	// ID of the template for recognition of terrorism content
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type AiReviewTerrorismTaskOutput struct {
	// Score of detected terrorism information in a video between 0 and 100.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Suggestion for detected terrorism information. Valid values:
	// <li>pass.</li>
	// <li>review.</li>
	// <li>block.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Tag of the detected terrorism information in a video. Valid values:
	// <li>`guns`: weapons and guns</li>
	// <li>`crowd`: crowds</li>
	// <li>`police`: police forces</li>
	// <li>`bloody`: bloody images</li>
	// <li>`banners`: terrorism flags</li>
	// <li>`militant`: militants</li>
	// <li>`explosion`: explosions and fires</li>
	// <li>`terrorists`: terrorists</li>
	// <li>`scenario`: terrorism images</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// List of video segments that contain terrorism information
	// <font color=red>Note</font>: This list displays the first 100 results at most. You can get all the results from the file at the URL specified by `SegmentSetFileUrl`.
	SegmentSet []*MediaContentReviewSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL to the file for video segments that contain terrorism information. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time specified by `SegmentSetFileUrlExpireTime`.
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the URL to the file for video segments that contain terrorism information, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type AiSampleFaceInfo struct {
	// Face image ID.
	FaceId *string `json:"FaceId,omitnil,omitempty" name:"FaceId"`

	// Face image address.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type AiSampleFaceOperation struct {
	// Operation type. Valid values: add, delete, reset. The `reset` operation will clear the existing face data of a figure and add `FaceContents` as the specified face data.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Face ID set, which is required if `Type` is `delete`.
	FaceIds []*string `json:"FaceIds,omitnil,omitempty" name:"FaceIds"`

	// Face image [Base64](https://tools.ietf.org/html/rfc4648) Encoded string collection, only supports jpeg and png image formats. 
	// <li>When Type is add or reset, this field is required;</li>
	// <li>Array length limit: 5 pictures. </li>
	// Note: The picture must be a clear frontal photo of a single person, with a pixel size of no less than 200*200.
	FaceContents []*string `json:"FaceContents,omitnil,omitempty" name:"FaceContents"`
}

type AiSampleFailFaceInfo struct {
	// It corresponds to incorrect image subscripts in the `FaceContents` input parameter, starting from 0.
	Index *uint64 `json:"Index,omitnil,omitempty" name:"Index"`

	// Error code. Valid values:
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`
}

type AiSamplePerson struct {
	// Figure ID.
	PersonId *string `json:"PersonId,omitnil,omitempty" name:"PersonId"`

	// Figure name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Figure description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Face information.
	FaceInfoSet []*AiSampleFaceInfo `json:"FaceInfoSet,omitnil,omitempty" name:"FaceInfoSet"`

	// Figure tag.
	TagSet []*string `json:"TagSet,omitnil,omitempty" name:"TagSet"`

	// Use case.
	UsageSet []*string `json:"UsageSet,omitnil,omitempty" name:"UsageSet"`

	// Creation time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AiSampleTagOperation struct {
	// Operation type. Valid values: add, delete, reset.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Tag. Length limit: 128 characters.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type AiSampleWord struct {
	// Keyword.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`

	// Keyword tag.
	TagSet []*string `json:"TagSet,omitnil,omitempty" name:"TagSet"`

	// Keyword use case.
	UsageSet []*string `json:"UsageSet,omitnil,omitempty" name:"UsageSet"`

	// Creation time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AiSampleWordInfo struct {
	// Keyword. Length limit: 20 characters.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`

	// Keyword tag
	// <li>Array length limit: 20 tags;</li>
	// <li>Tag length limit: 128 characters.</li>
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type AiTryOnConfig struct {
	// <p>Dress up model.</p><p>Enumeration value:</p><ul><li>WAND-tryon-1.0-lite: Lightweight tier, prioritizing speed.</li><li>WAND-tryon-1.0-flash: Balanced tier, taking into account effect and latency.</li><li>WAND-tryon-1.0-pro: High-quality tier, prioritizing effect.</li></ul>
	Model *string `json:"Model,omitnil,omitempty" name:"Model"`

	// <p>Input the image list of clothing that needs to be replaced. 1-4 images are supported.</p>
	ClothesFileInfos []*SceneAigcImageTaskInputFileInfo `json:"ClothesFileInfos,omitnil,omitempty" name:"ClothesFileInfos"`

	// <p>Dress up command Prompt.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`
}

type AigcAdvancedCustomElementInfo struct {
	// <p>Subject ID.</p>
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Subject name.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Voice ID.</p>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Subject description.</p>
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// <p>Subject creation time. Format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

type AigcAudioCloneInputFileInfo struct {
	// <p>Input video file type. Valid values: <li>File: On-demand media file;</li> <li>Url: Accessible URL;</li></p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Media file ID, the globally unique identifier of the file in VOD, is assigned by the VOD backend after successful upload. You can get this field in the <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>. This parameter is valid when Type value is File. Description: 1. Image less than 10M is recommended. 2. Image format values: jpeg, jpg, png.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Accessible file URL. This parameter is valid when Type value is Url. Description: 1. Recommended for use with images less than 10M; 2. Image format value: jpeg, jpg, png.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type AigcAudioOutputConfig struct {
	// <p>Storage mode</p><p>Enumeration value:</p><ul><li>Temporary: Temporary storage. The generated video file will not be stored in VOD. You can obtain the temporary access URL from the event notification, with a valid period of 7 days.</li><li>Permanent: Permanent storage. The generated video file will be stored in VOD. You can obtain the FileId from the event notification.</li></ul><p>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output filename, up to 64 characters. Default filename is specified by the system.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API.</p><li>Default value: 0, indicating other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. Files will be deleted longer than this time. Default is never expire, format according to ISO 8601. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Audio duration. Not filled in by default.</p><p>Value ranges from 0 to 60.</p>
	Duration *int64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// <p>Output audio format, not filled in by default</p>
	OutputAudioFormat *string `json:"OutputAudioFormat,omitnil,omitempty" name:"OutputAudioFormat"`
}

type AigcAudioReferenceAudioInfo struct {
	// <p>Accessible file URL. This parameter is valid when Type value is Url. Description: 1. Recommended image less than 7M; 2. Image format value: jpeg, jpg, png, webp.</p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>The media file ID of the audio file, which is the globally unique identifier of this file on VOD, is assigned by the VOD backend after a successful upload. You can retrieve this field in the <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>. This parameter is valid when the Type value is File.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Audio file URL, which must be external network accessible. This parameter is valid when the Type value is Url.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type AigcAudioReferenceVideoInfo struct {
	// <p>Input video file type. Valid values: <li>File: on-demand media file;</li> <li>Url: accessible Url;</li></p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>The media file ID of the video file, which is the globally unique identifier of the file in VOD, is assigned by the VOD backend after a successful upload. You can get this field in the <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>. This parameter is valid when the Type value is File.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Reference video URL must be external network accessible. This parameter is valid when Type value is Url.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type AigcAudioTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status. Valid values: <li>PROCESSING: Processing; </li><li>FINISH: Completed.</li></p>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. Returns a non-zero error code for source errors. For zero returns, please use the ErrCode of each specific task.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Error code extension. A null string indicates success, while other values indicate failure.</p>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, in the range of [0-100].</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Input info of the AIGC audio task.</p>
	Input *AigcAudioTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>AIGC audio task output information.</p>
	Output *AigcAudioTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`
}

type AigcAudioTaskInput struct {
	// <p>Model name.</p>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Model version.</p>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>Scenario type. Values as follows: <li>When ModelName is Kling, value motion_control means action control;</li> <li>Other ModelName not currently supported.</li></p>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p>Prompt for video generation. Supports a maximum of 1000 characters. This parameter is required when FileInfos is empty.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>To prevent the model from generating video prompt content. Supports a maximum of 1000 characters.</p>
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// <p>Whether to optimize Prompt content automatically. When Enabled, the passed in Prompt will be optimized automatically to enhance generation quality. Valid values: <li>Enabled: turn on;</li> <li>Disabled: turn off;</li></p>
	EnhancePrompt *bool `json:"EnhancePrompt,omitnil,omitempty" name:"EnhancePrompt"`

	// <p>Output file of the AIGC image generation result.</p>
	OutputConfig *AigcAudioOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Additional parameter</p>
	AdditionalParameters *string `json:"AdditionalParameters,omitnil,omitempty" name:"AdditionalParameters"`
}

type AigcAudioTaskOutput struct {
	// <p>Output audio content</p>
	AudioInfos []*AigcAudioTaskOutputFileInfo `json:"AudioInfos,omitnil,omitempty" name:"AudioInfos"`

	// <p>Output video information.</p>
	VideoInfos []*AigcAudioTaskOutputFileInfo `json:"VideoInfos,omitnil,omitempty" name:"VideoInfos"`
}

type AigcAudioTaskOutputFileInfo struct {
	// <p>Storage mode. Valid values: <li>Permanent: permanent storage;</li> <li>Temporary: temporary storage;</li><br>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output filename, up to 64 characters. Default filename is specified by the system. Valid when StorageMode is Permanent.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API. Valid when StorageMode is Permanent.</p>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. Files will be deleted longer than this time. Default is never expire, format according to ISO 8601. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>File type, such as mp4 or flv.</p>
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// <p>Media file playback address.</p>
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// <p>Media file ID. Valid when StorageMode is Permanent.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Output video meta information. Valid when StorageMode is Permanent.</p>
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// <p>Duration</p><p>Unit: second</p>
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`
}

type AigcFaceIdentityInfo struct {
	// Face ID in the video. The same human face is considered a different ID when the interval in the middle of the video exceeds 1s.
	FaceId *string `json:"FaceId,omitnil,omitempty" name:"FaceId"`

	// Schematic diagram of human face extracted from the video.
	FaceImage *string `json:"FaceImage,omitnil,omitempty" name:"FaceImage"`

	// The starting time of the lip-sync interval can be used as the best start time for lip-sync. Unit: ms.
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// The end time of the lip-sync interval for this face. Note: This result may have millisecond-level deviation and could be longer than the actual interval end. Unit: ms.
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type AigcFaceInfo struct {
	// Principal ID. Need to do it yourself to record the returned principal ID.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Face information list.
	FaceInfoList []*AigcFaceIdentityInfo `json:"FaceInfoList,omitnil,omitempty" name:"FaceInfoList"`
}

type AigcFaceInputFileInfo struct {
	// Input video file type. Valid values: <li>File: On-demand media file;</li> <li>Url: Accessible URL;</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Media file ID, the globally unique identifier of this file in VOD, is assigned by the VOD backend after successful upload. You can obtain this field in the [video upload completion event notification](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) or [VOD console](https://console.cloud.tencent.com/vod/media). This parameter is valid when Type value is File.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Accessible file URL. This parameter is valid when the Type value is Url.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type AigcImageOutputConfig struct {
	// <p>Storage mode</p><p>Enumeration value:</p><ul><li>Temporary: Temporary storage. The generated video file will not be stored in VOD. You can obtain the temporary access URL from event notification. The valid period is 7 days.</li><li>Permanent: Permanent storage. The generated video file will be stored in VOD. You can obtain the FileId from event notification.</li></ul><p>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output filename, up to 64 characters. Default filename is specified by the system.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API.</p><li>Default value: 0, indicate other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. The file will be deleted longer than this time. It defaults to no expiration, format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Image generation resolution. Available values for each model:</p><ul><li>OG: 1K, 2K, 4K, default 1K;</li><li>GG 2.5: 1K, 2K, 4K, default 1K;</li><li>GG 3.0: 1K, 2K, 4K, default 1K;</li><li>GG 3.1: 720P, 1K, 2K, 4K, default 1K;</li><li>Kling 2.1: 1k, 2k, default 1k;</li><li>Kling 3.0: 1k, 2k, default 1k;</li><li>Kling 3.0-Omni: 1k, 2k, 4k, default 1k;</li><li>Kling O1: 1k, 2k, 4k, default 1k;</li><li>SI 4.0: 1K, 2K, 4K, default 1K;</li><li>SI 4.5: 2K, 4K, default 2K;</li><li>SI 5.0-lite: 2K, 3K, default 2K;</li><li>Vidu q2: 1080p, 2K, 4K, default 1080p;</li><li>Hunyuan 3.0: This field is not currently supported. Use the <code>ExtInfo</code> field to set resolution;</li><li>Qwen 0925: This field is not currently supported. Use the <code>ExtInfo</code> field to set resolution;</li></ul>
	Resolution *string `json:"Resolution,omitnil,omitempty" name:"Resolution"`

	// <p>Specify the aspect ratio of the generated image.</p><ul><li>OG: 1:1, 3:2, 2:3, 3:4, 4:3, 16:9, 9:16, 21:9, 9:21;</li><li>GG 2.5: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9;</li><li>GG 3.0: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9;</li><li>GG 3.1: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9;</li><li>Kling 2.1: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9;</li><li>Kling 3.0: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9;</li><li>Kling 3.0-Omni: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9, auto;</li><li>Kling O1: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9, auto;</li><li>Vidu q2: 16:9, 9:16, 1:1, 3:4, 4:3, 21:9, 2:3, 3:2;</li><li>SI 4.0: <strong>unsupported</strong>. Use prompt to specify 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9;</li><li>SI 4.5: <strong>unsupported</strong>. Use prompt to specify 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9;</li><li>SI 5.0-lite: <strong>unsupported</strong>. Use prompt to specify 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9;</li><li>Hunyuan 3.0: unsupported;</li><li>Qwen 2.0: unsupported;</li><li>Qwen 0925: unsupported;</li></ul>
	AspectRatio *string `json:"AspectRatio,omitnil,omitempty" name:"AspectRatio"`

	// <p>Whether to allow figure or human face generation. Valid values: <li>AllowAdult: Allow adult generation;</li> <li>Disallowed: Forbid including figure or human face in the image;</li></p>
	PersonGeneration *string `json:"PersonGeneration,omitnil,omitempty" name:"PersonGeneration"`

	// <p>Whether to enable compliance check for input content. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	InputComplianceCheck *string `json:"InputComplianceCheck,omitnil,omitempty" name:"InputComplianceCheck"`

	// <p>Whether to enable compliance check for output content. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	OutputComplianceCheck *string `json:"OutputComplianceCheck,omitnil,omitempty" name:"OutputComplianceCheck"`

	// <p>Number of images generated. Available values for each model:</p><ul><li>Kling: value range 1-9;</li><li>OG: value range 1-8;</li></ul><p><strong>Other models are disabled.</strong></p>
	OutputImageCount *uint64 `json:"OutputImageCount,omitnil,omitempty" name:"OutputImageCount"`

	// <p>Specify the image format of the model output. If not specified, it follows the default value of the model. Available values:</p><ul><li>jpeg</li><li>png</li></ul>
	OutputFormat *string `json:"OutputFormat,omitnil,omitempty" name:"OutputFormat"`

	// <p>Indicates whether to enable the icon watermark. Default is Disabled. Valid values:</p><ul><li>Enabled: Enable;</li><li>Disabled: Disable;</li></ul>
	LogoAdd *string `json:"LogoAdd,omitnil,omitempty" name:"LogoAdd"`
}

type AigcImageSceneInfo struct {
	// <p>AI image generation scenario type, available values:</p><ul><li><code>ai_try_on</code>: AI dress up.</li><li><code>product_image</code>: AI product image.</li><li><code>outpainting</code>: AI outpainting.</li></ul><p>The following <code>Type</code> are abandoned and no longer updated subsequently:</p><ul><li><code>change_clothes</code></li><li><code>change_clothes_under</code></li><li><code>change_clothes_top_wear</code></li><li><code>change_clothes_bottom_wear</code></li><li><code>change_clothes_full_wear</code></li></ul>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Required when Type is ai_try_on. Represents AI dress up config.</p>
	AiTryOnConfig *AiTryOnConfig `json:"AiTryOnConfig,omitnil,omitempty" name:"AiTryOnConfig"`

	// <p><strong>Abandoned, please use AiTryOnConfig.</strong> When Type is one of the following column types, this item is required and represents AI try-on image generation configuration parameters:</p><ul><li>change_clothes</li><li>change_clothes_under</li></ul>
	ChangeClothesConfig *ChangeClothesConfig `json:"ChangeClothesConfig,omitnil,omitempty" name:"ChangeClothesConfig"`

	// <p>Required when Type is product_image. It represents the AI product image config.</p>
	ProductImageConfig *ProductImageConfig `json:"ProductImageConfig,omitnil,omitempty" name:"ProductImageConfig"`
}

type AigcImageTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status. Value: <li>PROCESSING: Processing;</li><li>FINISH: Completed.</li></p>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. A non-zero error code is returned back when a source error occurs. Please use the ErrCode of each specific task when 0 is returned.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Extended error codes. An empty string indicates success, other values indicate failure.</p><p>Enumeration values:</p><ul><li>RequestLimitExceeded: Model invocation exceeds the concurrency limit.</li><li>InvalidParameter.VoilationContent: The input prompt violates the Content Security Policy.</li><li>InvalidParameterValue: Parameter error.</li><li>FailedOperation: Model tasks accumulate.</li><li>InternalError: Internal error.</li></ul>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, with a value range of [0-100].</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Input of the AIGC image generation task.</p>
	Input *AigcImageTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Output information of the AIGC image generation task.</p>
	Output *AigcImageTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type AigcImageTaskInput struct {
	// <p>Model name.</p>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Model version.</p>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>File information for AIGC image generation task input.</p>
	FileInfos []*AigcImageTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Prompt content for image generation. This parameter is required when FileInfos is empty.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>To prevent the model from generating image prompts.</p>
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// <p>Whether to optimize Prompt content automatically. When Enabled, the passed in Prompt will be optimized automatically to enhance generation quality. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	EnhancePrompt *string `json:"EnhancePrompt,omitnil,omitempty" name:"EnhancePrompt"`

	// <p>Generation mode. Valid values: <li>Standard: standard mode;</li> <li>Professional: high-quality mode;</li></p>
	GenerationMode *string `json:"GenerationMode,omitnil,omitempty" name:"GenerationMode"`

	// <p>Output result file for AIGC image generation.</p>
	OutputConfig *AigcImageOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Random seed of the model.</p>
	Seed *int64 `json:"Seed,omitnil,omitempty" name:"Seed"`

	// <p>Scenario type. Values as follows: <li>When ModelName is Hunyuan: 3d_panorama means Panoramic View;</li> <li>Other ModelName is not currently supported.</li></p>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`
}

type AigcImageTaskInputFileInfo struct {
	// <p>Input file type. Valid values: <li>File: on-demand media file;</li> <li>Url: accessible Url;</li> <li>Base64: Base64 string of image or video conversion;</li></p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>The media file ID of the image file, which is the globally unique identifier of this file in VOD, is assigned by the VOD backend after successful upload. You can obtain this field in the <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>. This parameter is valid when the Type value is File.<br>Note:</p><ol><li>Images less than 7M are recommended;</li><li>The image format values are: jpeg, jpg, png, webp.</li></ol>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Accessible file URL. This parameter is valid when the Type value is URL.</p><ol><li>Images less than 7M are recommended.</li><li>Image format values: jpeg, jpg, png, webp.</li></ol>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Accessible file Base64. This parameter is valid when Type value is Base64. Description:</p><ol><li>Total size of all files must not exceed 7 MB to avoid exceeding the 10 MB size limit of the cloud API after converting to Base64;</li><li>Format should be jpeg, jpg, png, or webp;</li><li>Do not include prefixes such as data:image/jpeg;base64,.</li></ol>
	Base64 *string `json:"Base64,omitnil,omitempty" name:"Base64"`

	// <p>Description of the input image, used to help the model understand the image. Only valid for GEM 2.5 and GEM 3.0.</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p><strong>Valid only when ModelName is OG</strong>. Image type.</p><p>Enumeration value:</p><ul><li>mask: Image mask.</li></ul>
	ReferenceType *string `json:"ReferenceType,omitnil,omitempty" name:"ReferenceType"`
}

type AigcImageTaskOutput struct {
	// Output file information of the AIGC image generation task.
	FileInfos []*AigcImageTaskOutputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`
}

type AigcImageTaskOutputFileInfo struct {
	// <p>Storage mode. Valid values: <li>Permanent: permanent storage;</li> <li>Temporary: temporary storage;</li></p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output file name, up to 64 characters. Default filename is specified by the system. Valid when StorageMode is Permanent.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API. Valid at that time when StorageMode is Permanent.</p>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. The file will be deleted longer than this time. It defaults to no expiration, format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>File type, such as png or jpg.</p>
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// <p>Media file playback address.</p>
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// <p>Media file ID. Valid when StorageMode is Permanent.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Output image meta-information. Valid when StorageMode is Permanent.</p>
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`
}

type AigcQuotaItem struct {
	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Valid only when QuotaLimit=Text, used to select the ApiToken that needs quota limit</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`

	// <p>Number of task quotas</p><p>Unit:</p><ul><li>When QuotaLimit=Image, unit: piece</li><li>When QuotaLimit=Video, unit: seconds</li><li>When QuotaLimit=Text, unit: token</li></ul>
	QuotaLimit *uint64 `json:"QuotaLimit,omitnil,omitempty" name:"QuotaLimit"`

	// <p>Amount already used</p><p>Unit:</p><ul><li>When QuotaLimit=Image, unit: piece</li><li>When QuotaLimit=Video, unit: seconds</li><li>When QuotaLimit=Text, unit: token</li></ul>
	Usage *uint64 `json:"Usage,omitnil,omitempty" name:"Usage"`
}

type AigcTextDetail struct {
	// <p>Entries per page</p>
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// <p>The scroll_token returned in response on the previous page is used to turn to the next page</p>
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`

	// <p>Raw data details</p>
	Data []*AigcTextDetailData `json:"Data,omitnil,omitempty" name:"Data"`
}

type AigcTextDetailData struct {
	// <p>Request start time (RFC3339)</p>
	Timestamp *string `json:"Timestamp,omitnil,omitempty" name:"Timestamp"`

	// <p>Gateway layer request ID</p>
	ReqId *string `json:"ReqId,omitnil,omitempty" name:"ReqId"`

	// <p>Dialogue ID returned by the backend model</p>
	ChatId *string `json:"ChatId,omitnil,omitempty" name:"ChatId"`

	// <p>HTTP status code returned to client</p>
	StatusCode *uint64 `json:"StatusCode,omitnil,omitempty" name:"StatusCode"`

	// <p>Model name</p>
	Model *string `json:"Model,omitnil,omitempty" name:"Model"`

	// <p>Application ID</p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>api_key after masking: first 8 digits + **** (return without modification when length ≤ 8)</p>
	ApiKey *string `json:"ApiKey,omitnil,omitempty" name:"ApiKey"`

	// <p>Whether to return in streaming mode</p>
	Stream *bool `json:"Stream,omitnil,omitempty" name:"Stream"`

	// <p>Number of input tokens</p>
	InputTokens *int64 `json:"InputTokens,omitnil,omitempty" name:"InputTokens"`

	// <p>Number of output tokens</p>
	OutputTokens *int64 `json:"OutputTokens,omitnil,omitempty" name:"OutputTokens"`

	// <p>Number of tokens with prompt cache hit</p>
	CacheInputTokens *int64 `json:"CacheInputTokens,omitnil,omitempty" name:"CacheInputTokens"`

	// <p>Total tokens</p>
	TotalTokens *int64 `json:"TotalTokens,omitnil,omitempty" name:"TotalTokens"`

	// <p>tokens per second in the generation stage</p>
	TPS *float64 `json:"TPS,omitnil,omitempty" name:"TPS"`

	// <p>Time To First Token</p><p>Measurement unit: seconds</p>
	TTFT *float64 `json:"TTFT,omitnil,omitempty" name:"TTFT"`

	// <p>End-to-end total time</p><p>Unit: seconds</p>
	Total *float64 `json:"Total,omitnil,omitempty" name:"Total"`

	// <p>Entry protocol:completions / responses / anthropic</p>
	ApiType *string `json:"ApiType,omitnil,omitempty" name:"ApiType"`
}

type AigcUsageDataItem struct {
	// <p>AIGC specification.<br>Valid values:</p><li>Qwen2.0</li><li>Hunyuan3.0_1K</li><li>Hunyuan3.0_2K</li><li>Hunyuan3.0_4K</li><li>Mingmou1.0_1K</li><li>Mingmou1.0_2K</li><li>Mingmou1.0_4K</li><li>ViduQ2_T2i_1080P</li><li>ViduQ2_T2i_2K</li><li>ViduQ2_T2i_4K</li><li>ViduQ2_I2i_1080P</li><li>ViduQ2_I2i_2K</li><li>ViduQ2_I2i_4K</li><li>ViduQ2_Refer2i_1080P</li><li>ViduQ2_Refer2i_2K</li><li>ViduQ2_Refer2i_4K</li><li>Kling2.1_T2i_1K2K</li><li>Kling2.1_T2i_4K</li><li>Kling2.1_Refer2i_1K</li><li>Kling2.1_Refer2i_2K</li><li>Kling2.1_Refer2i_4K</li><li>Veo3.1Standard</li><li>Veo3.1Fast</li><li>Kling2.0&amp;2.1std_720P</li><li>Kling2.0&amp;2.1pro_1080P</li><li>Kling2.5pro_720P</li><li>Kling2.5pro_1080P</li><li>KlingO1_720P</li><li>KlingO1_1080P</li><li>KlingO1_NoVideo_720P</li><li>KlingO1_NoVideo_1080P</li><li>Kling2.6</li><li>Kling2.6Sound</li><li>Kling2.6MotionControl_720P</li><li>Kling2.6MotionControl_1080P</li><li>Kling3.0_720P</li><li>Kling3.0Sound_720P</li><li>Kling3.0CustomVoice_720P</li><li>Kling3.0_1080P</li><li>Kling3.0Sound_1080P</li><li>Kling3.0CustomVoice_1080P</li><li>Kling3.0CustomVoice_2K</li><li>Kling3.0CustomVoice_4K</li><li>Kling3.0MotionControl_720P</li><li>Kling3.0MotionControl_1080P</li><li>Kling3.0MotionControl_2K</li><li>Kling3.0MotionControl_4K</li><li>Kling_Avatar_I2v_720P</li><li>Kling_Avatar_I2v_1080P</li><li>Kling_Identifyface</li><li>Hailuo02&amp;2.3_768P</li><li>Hailuo02&amp;2.3_1080P</li><li>Hailuo2.3fast_768P</li><li>Hailuo2.3fast_1080P</li><li>ViduQ2_720P</li><li>ViduQ2_720P_OffPeak</li><li>ViduQ2_1080P</li><li>ViduQ2_1080P_OffPeak</li><li>ViduQ2_Refer_540P</li><li>ViduQ2_Refer_540P_OffPeak</li><li>ViduQ2_Refer_720P</li><li>ViduQ2_Refer_720P_OffPeak</li><li>ViduQ2_Refer_1080P</li><li>ViduQ2_Refer_1080P_OffPeak</li><li>ViduQ2pro_720P</li><li>ViduQ2pro_720P_OffPeak</li><li>ViduQ2pro_1080P</li><li>ViduQ2pro_1080P_OffPeak</li><li>ViduQ2pro_Refer_720P</li><li>ViduQ2pro_Refer_720P_OffPeak</li><li>ViduQ2pro_Refer_720P</li><li>ViduQ2pro_Refer_720P_OffPeak</li><li>ViduQ2pro_Refer_1080P</li><li>ViduQ2pro_Refer_1080P_OffPeak</li><li>ViduQ2turbo_720P</li><li>ViduQ2turbo_720P_OffPeak</li><li>ViduQ2turbo_1080P</li><li>ViduQ2turbo_1080P_OffPeak</li><li>ViduQ3_Refer_720P</li><li>ViduQ3_Refer_720P_OffPeak</li><li>ViduQ3_Refer_1080P</li><li>ViduQ3_Refer_1080P_OffPeak</li><li>ViduQ3_Refer_2K</li><li>ViduQ3_Refer_2K_OffPeak</li><li>ViduQ3_Refer_4K</li><li>ViduQ3_Refer_4K_OffPeak</li><li>ViduQ3pro_540P</li><li>ViduQ3pro_540P_OffPeak</li><li>ViduQ3pro_720P</li><li>ViduQ3pro_720P_OffPeak</li><li>ViduQ3pro_1080P</li><li>ViduQ3pro_1080P_OffPeak</li><li>ViduQ3turbo_540P</li><li>ViduQ3turbo_540P_OffPeak</li><li>ViduQ3turbo_720P</li><li>ViduQ3turbo_720P_OffPeak</li><li>ViduQ3turbo_1080P</li><li>ViduQ3turbo_1080P_OffPeak</li><li>ViduQ3turbo_2K</li><li>ViduQ3turbo_2K_OffPeak</li><li>ViduQ3turbo_4K</li><li>ViduQ3turbo_4K_OffPeak</li><li>Vidu_TemplateEffect</li><li>Hunyuan1.5_720P</li><li>Hunyuan1.5_1080P</li><li>Mingmou1.0_720P</li><li>Mingmou1.0_1080P</li><li>ImageProductImage</li><li>ImageChangeClothes</li><li>VideoProductShowcase</li><li>ImageOutPainting</li><li>FaceInfo</li><li>CustomVoice</li><li>Subject</li><li>unknown</li>
	Specification *string `json:"Specification,omitnil,omitempty" name:"Specification"`

	// <p>Usage data.</p>
	DataSet []*TaskStatDataItem `json:"DataSet,omitnil,omitempty" name:"DataSet"`
}

type AigcVideoOutputConfig struct {
	// <p>Storage mode</p><p>Enumeration value:</p><ul><li>Temporary: Temporary storage. The generated video file will not be stored in VOD. You can obtain the temporary access URL from event notification. The valid period is 7 days.</li><li>Permanent: Permanent storage. The generated video file will be stored in VOD. You can obtain the FileId from event notification.</li></ul><p>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output media file name, up to 64 characters. Default filename is specified by the system.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API.</p><li>Default value: 0, indicate other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. The file will be deleted longer than this time. It defaults to no expiration, format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Duration of the generated video, unit: seconds.</p><li>When ModelName is Kling, optional values are 3-15, default is 5.</li><li>When ModelName is Hailuo, optional values are 6 and 10, default is 6.</li><li>When ModelName is Vidu, specify 1-10.</li><li>When ModelName is GV, optional value is 8, default is 8.</li><li>When ModelName is OS, optional values are 4, 8, and 12, default is 8.</li><li>When ModelName is PixVerse, specify 1-15, default is 5.</li>
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// <p>Resolution of the generated video.</p><li>When ModelName is Kling, available values are 720P and 1080P, default is 720P;</li><li>When ModelName is Hailuo, available values are 768P and 1080P, default is 768P;</li><li>When ModelName is Vidu, available values are 720P and 1080P, default is 720P;</li><li>When ModelName is GV, available values are 720P and 1080P, default is 720P;</li><li>When ModelName is OS, available value is 720P;</li><li>When ModelName is PixVerse, available values are 540p, 720p, 1080p, 2k, and 4k, default is 720p;</li>
	Resolution *string `json:"Resolution,omitnil,omitempty" name:"Resolution"`

	// <p>Specify the aspect ratio of the generated video.</p><li>When ModelName is Kling, for text-to-video, the optional values are 16:9, 9:16, and 1:1, with a default value of 16:9.</li><li>When ModelName is Vidu, for text-to-video and reference image-to-video, the optional values are 16:9, 9:16, 4:3, 3:4, and 1:1. Only version q2 supports 4:3 and 3:4.</li><li>When ModelName is GV, the optional values are 16:9 and 9:16, with a default value of 16:9.</li><li>When ModelName is OS, for text-to-video, the optional values are 16:9 and 9:16, with a default value of 16:9.</li><li>When ModelName is Hailuo, this parameter is not currently supported.</li><li>When ModelName is PixVerse, the optional values are 16:9, 4:3, 1:1, 3:4, 9:16, 2:3, 3:2, and 21:9.</li>
	AspectRatio *string `json:"AspectRatio,omitnil,omitempty" name:"AspectRatio"`

	// <p>Whether to generate audio. Supported models include GV, OS, Vidu, Jimeng, and Kling.</p><p>Enumeration value:</p><ul><li>Enabled: Enable</li><li>Disabled: Disable</li></ul><p>Default value: Disabled</p>
	AudioGeneration *string `json:"AudioGeneration,omitnil,omitempty" name:"AudioGeneration"`

	// <p>Whether to allow figure or human face generation. Valid values: <li>AllowAdult: Allow adult generation;</li> <li>Disallowed: Forbid including figure or human face in the image;</li></p>
	PersonGeneration *string `json:"PersonGeneration,omitnil,omitempty" name:"PersonGeneration"`

	// <p>Whether to enable compliance check for input content. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	InputComplianceCheck *string `json:"InputComplianceCheck,omitnil,omitempty" name:"InputComplianceCheck"`

	// <p>Whether to enable compliance check for output content. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	OutputComplianceCheck *string `json:"OutputComplianceCheck,omitnil,omitempty" name:"OutputComplianceCheck"`

	// <p>Whether to enable video enhancement. Valid values: <li>Enabled: Turn on;</li> <li>Disabled: Turn off;</li><br>Description:</p><ol><li>For selected resolution exceeding the resolution the model can generate, enhancement is enabled by default.</li><li>For resolutions the model can directly output, you can also proactively select the model to directly output low-resolution and use enhancement to obtain the specified resolution.</li></ol>
	EnhanceSwitch *string `json:"EnhanceSwitch,omitnil,omitempty" name:"EnhanceSwitch"`

	// <p>Whether peak shaving is enabled. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	OffPeak *string `json:"OffPeak,omitnil,omitempty" name:"OffPeak"`

	// <p>Whether to enable vidu intelligent frame interpolation. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	FrameInterpolate *string `json:"FrameInterpolate,omitnil,omitempty" name:"FrameInterpolate"`

	// <p>Indicates whether to enable the icon watermark. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li><br>Currently supported models include Vidu. Other models are not supported.</p>
	LogoAdd *string `json:"LogoAdd,omitnil,omitempty" name:"LogoAdd"`

	// <p>Whether to add background music to the generated video.</p><p>Enumeration value:</p><ul><li>Enabled: The system will automatically select suitable music from the preset BGM library and add it.</li><li>Disabled: Do not add BGM.</li></ul><p>Default value: Disabled</p>
	EnableBGM *string `json:"EnableBGM,omitnil,omitempty" name:"EnableBGM"`
}

type AigcVideoRedrawOutputConfig struct {
	// <p>Storage mode. Valid values: <li>Permanent: permanent storage. The generated video file will be stored in VOD, and the FileId can be obtained in the event notification;</li> <li>Temporary: temporary storage. The generated video file will not be stored in VOD, and the URL for temporary access can be obtained in the event notification;</li>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output media filename, up to 64 characters. Default filename is specified by the system.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API.</p><li>Default value: 0, indicating other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. Files will be deleted longer than this time. Default is never expire, format according to ISO 8601. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p><p>Parameter format: 2025-12-28T00:35:00Z.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

type AigcVideoRedrawOutputFileInfo struct {
	// <p>Storage mode. Valid values: <li>Permanent: permanent storage;</li> <li>Temporary: temporary storage;</li>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output filename, up to 64 characters. Default filename is specified by the system. Valid when StorageMode is Permanent.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API. Valid when StorageMode is Permanent.</p>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. Files will be deleted longer than this time. Default is never expire, format according to ISO 8601. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>File type, such as mp4 or flv.</p>
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// <p>Media file playback address.</p>
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// <p>Media file ID. Valid when StorageMode is Permanent.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Output video meta information. Valid when StorageMode is Permanent.</p>
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`
}

type AigcVideoRedrawTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status. Valid values: <li>PROCESSING: Processing; </li><li>FINISH: Completed.</li></p>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. Returns a non-zero error code in case of source error. Please use the ErrCode of each specific task when 0 is returned.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Error code expansion.</p>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, value ranges from 0 to 100.</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Input information for AIGC video conversion task.</p>
	Input *AigcVideoRedrawTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Output information for AIGC video conversion task.</p>
	Output *AigcVideoRedrawTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type AigcVideoRedrawTaskInfo struct {
	// <p>For description of style. Limited to 50 characters.</p>
	Style *string `json:"Style,omitnil,omitempty" name:"Style"`
}

type AigcVideoRedrawTaskInput struct {
	// <p>Input info of the AIGC video conversion task.</p>
	FileInfo *AigcVideoRedrawTaskInputFileInfo `json:"FileInfo,omitnil,omitempty" name:"FileInfo"`

	// <p>AIGC video conversion task parameter information.</p>
	TaskInfo *AigcVideoRedrawTaskInfo `json:"TaskInfo,omitnil,omitempty" name:"TaskInfo"`

	// <p>AIGC video conversion output configuration.</p>
	OutputConfig *AigcVideoRedrawOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`
}

type AigcVideoRedrawTaskInputFileInfo struct {
	// <p>Input video file type. Valid values: <li>File: on-demand media file;</li> <li>Url: accessible Url;</li></p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Media file ID, the globally unique identifier of this file in VOD, is assigned by the VOD backend after a successful upload. You can obtain this field in the <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>. This parameter is valid when the Type value is File. Description: 1. Recommended image size is less than 10M. 2. Image format values: jpeg, jpg, png.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Accessible file URL. This parameter is valid when Type value is Url. Description: 1. Recommended image less than 10M; 2. Image format value is jpeg, jpg, png.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type AigcVideoRedrawTaskOutput struct {
	// <p>Output file information for AIGC video conversion task.</p>
	FileInfo *AigcVideoRedrawOutputFileInfo `json:"FileInfo,omitnil,omitempty" name:"FileInfo"`
}

type AigcVideoSceneInfo struct {
	// AI video scenario type. Optional values:
	// -product_showcase: Show the product in 360 degrees.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Product display parameter
	ProductShowcaseConfig *ProductShowcaseConfig `json:"ProductShowcaseConfig,omitnil,omitempty" name:"ProductShowcaseConfig"`
}

type AigcVideoTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status. Value: <li>PROCESSING: Processing;</li><li>FINISH: Completed.</li></p>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. A non-zero error code is returned back when a source error occurs. Please use the ErrCode of each specific task when 0 is returned.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Extended error codes.</p><p>Enumeration values:</p><ul><li>RequestLimitExceeded: API call exceeds the concurrency limit.</li><li>InvalidParameter.VoilationContent: User-submitted input prompt violates the Content Security Policy.</li><li>InvalidParameterValue: Parameter error.</li><li>FailedOperation: Model tasks accumulate.</li><li>InternalError: Internal error.</li></ul>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, with a value range of [0-100].</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Input of the AIGC video generation task.</p>
	Input *AigcVideoTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Output information of the AIGC video task.</p>
	Output *AigcVideoTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type AigcVideoTaskInput struct {
	// <p>Model name.</p>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Model version.</p>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>Input file information of the AIGC video generation task.</p>
	FileInfos []*AigcVideoTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Fixed entity input information for AIGC tasks.</p>
	SubjectInfos []*AigcVideoTaskInputSubjectInfo `json:"SubjectInfos,omitnil,omitempty" name:"SubjectInfos"`

	// <p>Media file ID used as the end frame to generate video. This file has a globally unique ID on VOD, assigned by the VOD backend after successful upload. You can get this field in the <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>.</p>
	LastFrameFileId *string `json:"LastFrameFileId,omitnil,omitempty" name:"LastFrameFileId"`

	// <p>Media file URL used as the tail frame to generate video. Description:</p><ol><li>Only support models GV, Kling, and Vidu. Other models are not currently supported. When ModelName is GV, if you specify this parameter, you must simultaneously specify FileInfos as the head frame for video generation. When ModelName is Kling, ModelVersion is 2.1, and output resolution Resolution is specified as 1080P, you can specify this parameter. When ModelName is Vidu and ModelVersion is q2-pro or q2-turbo, you can specify this parameter.</li><li>Image size must be less than 5M.</li><li><ol start="3"><li>Image format value: jpeg, jpg, png, webp.</li></ol></li></ol>
	LastFrameUrl *string `json:"LastFrameUrl,omitnil,omitempty" name:"LastFrameUrl"`

	// <p>Prompt for video generation. Supports a maximum of 1000 characters. This parameter is required when FileInfos is empty.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>To prevent the model from generating video prompts. Supports a maximum of 1000 characters.</p>
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// <p>Whether to optimize Prompt content automatically. When enabled, the passed in Prompt will be optimized automatically to enhance generation quality. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	EnhancePrompt *string `json:"EnhancePrompt,omitnil,omitempty" name:"EnhancePrompt"`

	// <p>Generation mode. Valid values: <li>Standard: standard mode;</li> <li>Professional: high-quality mode;</li></p>
	GenerationMode *string `json:"GenerationMode,omitnil,omitempty" name:"GenerationMode"`

	// <p>Output the result file of the AIGC image generation.</p>
	OutputConfig *AigcVideoOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Region information of the input file. When the file url is an overseas address, selectable Oversea. Default Mainland.</p>
	InputRegion *string `json:"InputRegion,omitnil,omitempty" name:"InputRegion"`

	// <p>Scenario type. Values as follows: <li>When ModelName is Kling, value motion_control means action control;</li><li>Other ModelName not currently supported.</li></p>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p>Random seed of the model.</p>
	Seed *int64 `json:"Seed,omitnil,omitempty" name:"Seed"`
}

type AigcVideoTaskInputFileInfo struct {
	// <p>Input video file type. Valid values: <li>File: on-demand media file;</li> <li>Url: accessible Url;</li> <li>Base64: Base64 string of image or video conversion;</li></p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>File category. Value is:</p><ul><li>Image: image. <strong>Note that the Usage field defines the image type.</strong></li><li>Video: video.</li></ul>
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// <p>Media file ID, the globally unique identifier of the file in VOD, is assigned by the VOD backend after successful upload. You can obtain this field in the <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>. This parameter is valid when the Type value is File. Description:</p><ol><li>Images less than 10M are recommended;</li><li>Image format values: jpeg, jpg, png.</li></ol>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Accessible file URL. This parameter is valid when the Type value is URL.<br>Description:</p><ol><li>Images less than 10M are recommended.</li><li>Image format values: jpeg, jpg, png.</li></ol>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Accessible file Base64. This parameter is valid when Type value is Base64. Description:</p><ol><li>The total size of all files must not exceed 7MB to avoid exceeding the 10MB upper limit of message size for cloud APIs after conversion to Base64.</li><li>Image format should be: jpeg, jpg, png, webp.</li><li>Video format should be: mp4, mov, avi.</li><li>Do not include prefixes like data:image/jpeg;base64.</li></ol>
	Base64 *string `json:"Base64,omitnil,omitempty" name:"Base64"`

	// <p>Reference Type, applicable to GV, Kling, and PixVerse models.<br>Note:<br>When using the GV model, it can be used as a reference method, available values: asset means material, style means style;<br>When using the Kling model and Category is Video, distinct reference video types can be identified, feature means feature reference video, base means video to be edited;<br>When using the PixVerse model, applicable to multi-image (subject) reference generation mode, available values: subject means subject, background means background;</p>
	ReferenceType *string `json:"ReferenceType,omitnil,omitempty" name:"ReferenceType"`

	// <p>Usage: Vidu subject Id.<br>Vidu subject Id: prompt can be used via @subject Id. Valid at that time when Category is Image.</p>
	ObjectId *string `json:"ObjectId,omitnil,omitempty" name:"ObjectId"`

	// <p>Suitable for the Vidu-q2 model.<br>When all images carry the subject Id, you can set the timbre Id targeting the subject. Valid when Category is Image. Supported timbre list: https://shengshu.feishu.cn/sheets/EgFvs6DShhiEBStmjzccr5gonOg</p>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Whether to retain the original sound of the video. Valid when Category is Video. Values are as follows:</p><li>Enabled: Retain</li><li>Disabled: Not retain</li>
	KeepOriginalSound *string `json:"KeepOriginalSound,omitnil,omitempty" name:"KeepOriginalSound"`

	// <p>Used to distinguish whether the input image is for <strong>first (last) frame to video</strong>, <strong>image to video</strong>, or <strong>reference to video</strong>. Available values:</p><ul><li>FirstFrame: Used for the first frame of first (last) frame to video or image to video.</li><li>Reference: Used for reference to video.</li><li>LastFrame: Used for the last frame of first (last) frame to video.</li></ul><p><strong>Note that FirstFrame is selected by default</strong></p>
	Usage *string `json:"Usage,omitnil,omitempty" name:"Usage"`

	// <p><strong>Only the multi-image (subject) reference mode of the PixVerse model takes effect</strong>. Specify a name for the image to achieve more precise results. Usage: When the field value is "kitten", use @kitten in the Prompt to accurately describe the scenario. There must be a space after @Text, for example, @kitten run. The name referenced in the Prompt must be the same as the field value.</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`
}

type AigcVideoTaskInputSubjectInfo struct {
	// <p>Fixed subject Id.</p><ul><li>Kling subject <strong>required</strong>;</li><li>Vidu subject selectable.</li></ul>
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Fixed name.</p><ul><li>Vidu subject is <strong>required</strong>, can be used by adding [@name] in prompt. For example, when name is Xiao Ming, describe it as [@Xiao Ming] in prompt.</li><li>Kling subject is selectable.</li></ul>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p><strong>Valid only for Vidu.</strong> Voice type ID is used to determine the sound timbre in the video. If left empty, the system will automatically recommend one.</p>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p><strong>Valid for Vidu only.</strong> Temporary subject images, up to 3 images<br>Note 1: Support passing image URL (ensure it is accessible);<br>Note 2: Images support png, jpeg, jpg, webp format;<br>Note 3: Image pixel cannot be less than 128*128, and the ratio must be less than 1:4 or 4:1.</p>
	ImageUrls []*string `json:"ImageUrls,omitnil,omitempty" name:"ImageUrls"`

	// <p><strong>Valid for Vidu only.</strong> Temporary subject video, a maximum of one 5-second video. Note 1: Only the viduq2-pro model supports the use of video subject; Note 2: Supports up to one 5-second video upload; Note 3: Video supports mp4, avi, mov format; Note 4: Video pixel cannot be less than 128*128, and the ratio must be less than 1:4 or 4:1.</p>
	VideoUrls []*string `json:"VideoUrls,omitnil,omitempty" name:"VideoUrls"`
}

type AigcVideoTaskOutput struct {
	// <p>Output file info of the AIGC video task.</p>
	FileInfos []*AigcVideoTaskOutputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>The task ID of the task type Procedure. If a task flow template (Procedure) is specified when initiating <a href="https://www.tencentcloud.com/document/product/266/126239?from_cn_redirect=1">AIGC video task creation</a>, the task is initiated when the task flow template specifies one or more of MediaProcessTask, AiAnalysisTask, or AiRecognitionTask.</p>
	ProcedureTaskIds []*string `json:"ProcedureTaskIds,omitnil,omitempty" name:"ProcedureTaskIds"`

	// <p>Usage information for AIGC video tasks.</p>
	Usage *AigcVideoTaskUsage `json:"Usage,omitnil,omitempty" name:"Usage"`
}

type AigcVideoTaskOutputFileInfo struct {
	// <p>Storage mode. Valid values: <li>Permanent: permanent storage;</li> <li>Temporary: temporary storage;</li><br>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output file name, up to 64 characters. Default filename is specified by the system. Valid when StorageMode is Permanent.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API. Valid at that time when StorageMode is Permanent.</p>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>The expiry date of the output file. The file will be deleted longer than this time. It defaults to no expiration, format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>File type, such as mp4 or flv.</p>
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// <p>Media file playback address.</p>
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// <p>File content. Return value is available when UsageType is position_info.</p>
	FileContent *string `json:"FileContent,omitnil,omitempty" name:"FileContent"`

	// <p>Media file ID. Valid when StorageMode is Permanent.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Output video meta-information. Valid when StorageMode is Permanent.</p>
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// <p>Purpose type of the file.</p><p>Enumeration value:</p><ul><li>scene_url: 3D scene file. The FileUrl field has a return value.</li><li>point_url: Point cloud file. The FileUrl field has a return value.</li><li>mesh_url: Original grid model file. The FileUrl field has a return value.</li><li>mesh_simplified_url: Simplified grid model file. The FileUrl field has a return value.</li><li>position_info: Spatial position info of the scenario. The FileContent field has a return value.</li><li>image_url: Generated image. The FileUrl field has a return value.</li></ul>
	UsageType *string `json:"UsageType,omitnil,omitempty" name:"UsageType"`
}

type AigcVideoTaskUsage struct {
	// <p>Manually input the number of tokens.</p>
	InputTokens *int64 `json:"InputTokens,omitnil,omitempty" name:"InputTokens"`

	// <p>Number of tokens generated by thinking.</p>
	ThoughtTokens *int64 `json:"ThoughtTokens,omitnil,omitempty" name:"ThoughtTokens"`
}

type AnimatedGraphicTaskInput struct {
	// Animated image generating template ID
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Start time offset of an animated image in the video, in seconds.
	// <li>If this parameter is left empty or set to 0, the animated image will start at the same time as the video.</li>
	// <li>If this parameter is set to a positive number (n for example), the animated image will start at the nth second of the video.</li>
	// <li>If this parameter is set to a negative number (-n for example), the animated image will start at the nth second before the end of the video.</li>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of an animated image in the video, in seconds.
	// <li>If this parameter is left empty or set to 0, the animated image will end at the same time as the video.</li>
	// <li>If this parameter is set to a positive number (n for example), the animated image will end at the nth second of the video.</li>
	// <li>If this parameter is set to a negative number (-n for example), the animated image will end at the nth second before the end of the video.</li>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

type AnimatedGraphicsTemplate struct {
	// Unique ID of an animated image generating template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Template type. Valid values:
	// <li>Preset: preset template;</li>
	// <li>Custom: custom template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Name of an animated image generating template.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description of an animated image generating template.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Maximum value of the width (or long side) of an animated image in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of the height (or short side) of an animated image in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaption. Valid values:
	// <li>open: enabled. In this case, `Width` represents the long side of a video, while `Height` the short side;</li>
	// <li>close: disabled. In this case, `Width` represents the width of a video, while `Height` the height.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Animated image format.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Frame rate.
	Fps *uint64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// Image quality.
	Quality *float64 `json:"Quality,omitnil,omitempty" name:"Quality"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

// Predefined struct for user
type ApplyUploadRequestParams struct {
	// <p>Media type. For the value range, refer to <a href="/document/product/266/9760#.E6.96.87.E4.BB.B6.E7.B1.BB.E5.9E.8B">upload capability summary</a>.</p>
	MediaType *string `json:"MediaType,omitnil,omitempty" name:"MediaType"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Media name.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Cover Type. For available values, refer to <a href="/document/product/266/9760#.E6.96.87.E4.BB.B6.E7.B1.BB.E5.9E.8B">upload capability summary</a>.</p>
	CoverType *string `json:"CoverType,omitnil,omitempty" name:"CoverType"`

	// <p>Subsequent media task processing operations allow automatic task initiation after media upload completion. The parameter value is the task flow template name. VOD supports <a href="/document/product/266/33819?from_cn_redirect=1">creating a task flow template</a> and template naming.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>The media file expiry time, format according to ISO 8601. For details, see <a href="/document/product/266/11732#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Designate the upload park, applicable only to the user with special requirement for upload target region.</p>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API.</p><li>Default value: 0, indicating other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Source context, used to pass through user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">callback on upload completion</a> will return the value of this field, up to 250 characters.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Session context, used to pass through user request information. When specifying the Procedure parameter, the <a href="/document/product/266/9636?from_cn_redirect=1">task flow status change callback</a> will return the value of this field, up to 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <p>Media storage path, starting with /. <br>Only sub-apps in <a href="https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1">FileID + Path mode</a> can specify the storage path.</p>
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`
}

type ApplyUploadRequest struct {
	*tchttp.BaseRequest
	
	// <p>Media type. For the value range, refer to <a href="/document/product/266/9760#.E6.96.87.E4.BB.B6.E7.B1.BB.E5.9E.8B">upload capability summary</a>.</p>
	MediaType *string `json:"MediaType,omitnil,omitempty" name:"MediaType"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Media name.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Cover Type. For available values, refer to <a href="/document/product/266/9760#.E6.96.87.E4.BB.B6.E7.B1.BB.E5.9E.8B">upload capability summary</a>.</p>
	CoverType *string `json:"CoverType,omitnil,omitempty" name:"CoverType"`

	// <p>Subsequent media task processing operations allow automatic task initiation after media upload completion. The parameter value is the task flow template name. VOD supports <a href="/document/product/266/33819?from_cn_redirect=1">creating a task flow template</a> and template naming.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>The media file expiry time, format according to ISO 8601. For details, see <a href="/document/product/266/11732#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Designate the upload park, applicable only to the user with special requirement for upload target region.</p>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API.</p><li>Default value: 0, indicating other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Source context, used to pass through user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">callback on upload completion</a> will return the value of this field, up to 250 characters.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Session context, used to pass through user request information. When specifying the Procedure parameter, the <a href="/document/product/266/9636?from_cn_redirect=1">task flow status change callback</a> will return the value of this field, up to 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <p>Media storage path, starting with /. <br>Only sub-apps in <a href="https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1">FileID + Path mode</a> can specify the storage path.</p>
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`
}

func (r *ApplyUploadRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ApplyUploadRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MediaType")
	delete(f, "SubAppId")
	delete(f, "MediaName")
	delete(f, "CoverType")
	delete(f, "Procedure")
	delete(f, "ExpireTime")
	delete(f, "StorageRegion")
	delete(f, "ClassId")
	delete(f, "SourceContext")
	delete(f, "SessionContext")
	delete(f, "ExtInfo")
	delete(f, "MediaStoragePath")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ApplyUploadRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ApplyUploadResponseParams struct {
	// <p>Bucket for uploading the API URL bucket_name.</p>
	StorageBucket *string `json:"StorageBucket,omitnil,omitempty" name:"StorageBucket"`

	// <p>Storage campus for uploading the Host Region of the port.</p>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p>VOD session for confirmation of API parameters VodSessionKey.</p>
	VodSessionKey *string `json:"VodSessionKey,omitnil,omitempty" name:"VodSessionKey"`

	// <p>Media storage path used for the object key (Key) of media stored by the upload API.</p>
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <p>Cover storage path for uploading the object Key of the cover via API.</p>
	CoverStoragePath *string `json:"CoverStoragePath,omitnil,omitempty" name:"CoverStoragePath"`

	// <p>Temporary credentials for uploading API access verification.</p>
	TempCertificate *TempCertificate `json:"TempCertificate,omitnil,omitempty" name:"TempCertificate"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ApplyUploadResponse struct {
	*tchttp.BaseResponse
	Response *ApplyUploadResponseParams `json:"Response"`
}

func (r *ApplyUploadResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ApplyUploadResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ArtifactRepairInfo struct {
	// Whether to enable artifact removal. Valid values:
	// <li>`ON`</li>
	// <li>`OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The artifact removal type. This parameter is valid only if `Switch` is `ON`. Valid values:
	// <li>`weak`</li>
	// <li>`strong`</li>
	// Default value: `weak`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type AsrFullTextConfigureInfo struct {
	// Voice full-text recognition task switch. Available values:
	// <li>ON: Enable intelligent voice full-text recognition task.</li>
	// <li>OFF: Disable the intelligent voice full-text recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Generated subtitle file format list. Leaving it as an empty array means no subtitle file will be generated. Available values:
	// <li>vtt: Generate a WebVTT subtitle file.</li>
	// <li>srt: Generate SRT subtitle file.</li><font color=red>Note:</font> VOD media asset information only supports adding vtt subtitles. When and only when SubtitleFormats includes vtt, VOD will be generated subtitles add to media assets.
	SubtitleFormats []*string `json:"SubtitleFormats,omitnil,omitempty" name:"SubtitleFormats"`

	// Generated subtitle file format. Leaving it as an empty string or not filling it means no subtitle file will be generated. Valid value:
	// <li>vtt: Generate a WebVTT subtitle file.</li>
	// <li>srt: Generate SRT subtitle file.</li>
	// <font color='red'>Note: This field is deprecated. Recommend using SubtitleFormats.</font>
	//
	// Deprecated: SubtitleFormat is deprecated.
	SubtitleFormat *string `json:"SubtitleFormat,omitnil,omitempty" name:"SubtitleFormat"`

	// Media source language. Valid values:
	// <li>zh: Mandarin;</li>
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>zh-ca: Cantonese.</li>
	// <font color=red>Note:</font> Fill in an empty string or leave the parameter blank for automatic recognition (effectiveness difficult to guarantee. Recommended to fill in the language corresponding to the original media to improve recognition accuracy).
	SrcLanguage *string `json:"SrcLanguage,omitnil,omitempty" name:"SrcLanguage"`

	// Specify subtitle name. Length limit: 64 characters. This value will be used for player display. If left blank, VOD will auto generate.
	// <font color=red>Note:</font> This field is valid only when SubtitleFormats contains vtt.
	SubtitleName *string `json:"SubtitleName,omitnil,omitempty" name:"SubtitleName"`
}

type AsrFullTextConfigureInfoForUpdate struct {
	// Voice full-text recognition task switch. Available values:
	// <li>ON: enable intelligent voice full-text recognition task.</li>
	// <li>OFF: disable intelligent voice full-text recognition task</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Subtitle format list operation information.
	SubtitleFormatsOperation *SubtitleFormatsOperation `json:"SubtitleFormatsOperation,omitnil,omitempty" name:"SubtitleFormatsOperation"`

	// Generated subtitle file format. <font color='red'>Fill in an empty string</font> to indicate no subtitle file generation. Available values:
	// <li>vtt: Generate a WebVTT subtitle file.</li>
	// <li>srt: Generate SRT subtitle file.</li>
	// <font color='red'>Note: This field is deprecated. Recommend using SubtitleFormatsOperation.</font>
	//
	// Deprecated: SubtitleFormat is deprecated.
	SubtitleFormat *string `json:"SubtitleFormat,omitnil,omitempty" name:"SubtitleFormat"`

	// Media source language. Valid values:
	// <li>zh: Mandarin;</li>
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>zh-ca: Cantonese.</li>
	SrcLanguage *string `json:"SrcLanguage,omitnil,omitempty" name:"SrcLanguage"`

	// Specify subtitle name. Length limit: 64 characters. This value will be used for player display.
	SubtitleName *string `json:"SubtitleName,omitnil,omitempty" name:"SubtitleName"`
}

type AsrTranslateConfigureInfo struct {
	// Voice translation recognition task switch. Available values:
	// <li>ON: enabled;</li>
	// <li>OFF: Disable.</li><font color=red>Note:</font> The speech translation recognition task itself will return ASR full-text recognition results. To avoid duplicate charges, it is forbidden to enable speech translation recognition and ASR full-text recognition functions simultaneously.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Media source language. This parameter is required when Switch is ON. Value ranges from...to...
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>vi: Vietnamese;</li>
	// <li>ms: Malay.</li>
	// <li>th: Thai;</li>
	// <li>pt: Portuguese;</li>
	// <li>tr: Turkish;</li>
	// <li>ar: Arabic;</li>
	// <li>es: Spanish;</li>
	// <li>hi: Hindi;</li>
	// <li>fr: French.</li>
	SrcLanguage *string `json:"SrcLanguage,omitnil,omitempty" name:"SrcLanguage"`

	// Translation target language. This parameter is valid when Switch is ON.
	// If this parameter is left empty or filled with an empty string, it means that only full speech recognition is performed, and no translation is performed (the billing item matches that of AsrFullTextConfigure full speech recognition).
	// Otherwise, the parameter value range is divided into the following cases:
	// When SrcLanguage is zh (Chinese), the value ranges from...to...
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian;</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese;</li>
	// <li>vi: Vietnamese;</li>
	// <li>id: Indonesian;</li>
	// <li>th: Thai;</li>
	// <li>ms: Malay.</li>
	// When SrcLanguage is en (English), the value ranges from...to...
	// <li>zh: Chinese;</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian;</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese;</li>
	// <li>vi: Vietnamese;</li>
	// <li>id: Indonesian;</li>
	// <li>th: Thai;</li>
	// <li>ms: Malay.</li>
	// <li>ar: Arabic;</li>
	// <li>hi: Hindi.</li>
	// When SrcLanguage is ja (Japanese), the value ranges from...to...
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>ko: Korean.</li>
	// When SrcLanguage is ko (Korean), the parameter value range is
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>ja: Japanese.</li>
	// When SrcLanguage is vi (Vietnamese), ms (Malay), or th (Thai), the parameter value range is
	// <li>zh: Chinese;</li>
	// <li>en: English.</li>
	// When SrcLanguage is pt (Portuguese), the value ranges from...to...
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian;</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian.</li>
	// When SrcLanguage is tr (Turkish), the value ranges from...to...
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian;</li>
	// <li>de: German;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese.</li>
	// When SrcLanguage is es (Spanish), the value ranges from...to...
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>fr: French;</li>
	// <li>it: Italian;</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese.</li>
	// When SrcLanguage is ar (Arabic) or hi (Hindi), the value ranges from...to...
	// <li>en: English.</li>
	// When SrcLanguage is fr (French), the value ranges from...to...
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian;</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese.</li>
	DstLanguage *string `json:"DstLanguage,omitnil,omitempty" name:"DstLanguage"`

	// Generated subtitle file format list. Leaving it as an empty array means no subtitle file will be generated. Available values:
	// <li>vtt: Generate a WebVTT subtitle file.</li>
	// <li>srt: Generate SRT subtitle file.</li><font color=red>Note:</font> VOD media asset information only supports adding vtt subtitles. When and only when SubtitleFormats includes vtt, VOD will add generated subtitles to media assets.
	SubtitleFormats []*string `json:"SubtitleFormats,omitnil,omitempty" name:"SubtitleFormats"`

	// Specify subtitle name. Length limit: 64 characters. This value will be used for player display. If left blank, VOD will auto generate.
	// <font color=red>Note:</font> This field is valid only when SubtitleFormats contains vtt.
	SubtitleName *string `json:"SubtitleName,omitnil,omitempty" name:"SubtitleName"`
}

type AsrTranslateConfigureInfoForUpdate struct {
	// Voice translation recognition task switch. Available values:
	// <li>ON: enabled;</li>
	// <li>OFF: Disabled.</li><font color=red>Note:</font> The speech translation recognition task itself will return ASR full text recognition results. To avoid duplicate charges, it is forbidden to enable both speech translation recognition and ASR full text recognition feature items simultaneously.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Media source language. Valid values:
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>vi: Vietnamese;</li>
	// <li>ms: Malay;</li>
	// <li>th: Thai;</li>
	// <li>pt: Portuguese;</li>
	// <li>tr: Turkish;</li>
	// <li>ar: Arabic;</li>
	// <li>es: Spanish;</li>
	// <li>hi: Hindi;</li>
	// <li>fr: French.</li>
	SrcLanguage *string `json:"SrcLanguage,omitnil,omitempty" name:"SrcLanguage"`

	// Target language.
	// If this parameter is filled in with an empty string, it means that only full speech recognition is performed without translation (the billing item is the same as AsrFullTextConfigure full speech recognition).
	// Otherwise, the parameter value range is divided into the following cases:
	// When SrcLanguage is zh (Chinese), the value ranges from...to...
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian.</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese;</li>
	// <li>vi: Vietnamese;</li>
	// <li>id: Indonesian;</li>
	// <li>th: Thai;</li>
	// <li>ms: Malay.</li>
	// When SrcLanguage is en (English), the value ranges from...to...
	// <li>zh: Chinese.</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian.</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese;</li>
	// <li>vi: Vietnamese;</li>
	// <li>id: Indonesian;</li>
	// <li>th: Thai;</li>
	// <li>ms: Malay;</li>
	// <li>ar: Arabic;</li>
	// <li>hi: Hindi.</li>
	// When SrcLanguage is ja (Japanese), the parameter value range is
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>ko: Korean.</li>
	// When SrcLanguage is ko (Korean), the value ranges from...to...
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>ja: Japanese.</li>
	// When SrcLanguage is vi (Vietnamese), ms (Malay), or th (Thai), the value ranges from...to...
	// <li>zh: Chinese.</li>
	// <li>en: English.</li>
	// When SrcLanguage is pt (Portuguese), the value ranges from...to...
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian.</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian.</li>
	// When SrcLanguage is tr (Turkish), the value ranges from...to...
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>fr: French;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian.</li>
	// <li>de: German;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese.</li>
	// When SrcLanguage is es (Spanish), the parameter value range is
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>fr: French;</li>
	// <li>it: Italian.</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese.</li>
	// When SrcLanguage is ar (Arabic) or hi (Hindi), the value ranges from...to...
	// <li>en: English.</li>
	// When SrcLanguage is fr (French), the value ranges from...to...
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>es: Spanish;</li>
	// <li>it: Italian.</li>
	// <li>de: German;</li>
	// <li>tr: Turkish;</li>
	// <li>ru: Russian;</li>
	// <li>pt: Portuguese.</li>
	DstLanguage *string `json:"DstLanguage,omitnil,omitempty" name:"DstLanguage"`

	// Subtitle format list operation information.
	SubtitleFormatsOperation *SubtitleFormatsOperation `json:"SubtitleFormatsOperation,omitnil,omitempty" name:"SubtitleFormatsOperation"`

	// Specify subtitle name. Length limit: 64 characters. This value will be used for player display.
	SubtitleName *string `json:"SubtitleName,omitnil,omitempty" name:"SubtitleName"`
}

type AsrWordsConfigureInfo struct {
	// Switch of speech keyword recognition task. Valid values:
	// <li>ON: enables speech keyword recognition task;</li>
	// <li>OFF: disables speech keyword recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Keyword filter tag, which specifies the keyword tag that needs to be returned. If this parameter is left empty, all results will be returned.
	// There can be up to 10 tags, each with a length limit of 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`
}

type AsrWordsConfigureInfoForUpdate struct {
	// Switch of speech keyword recognition task. Valid values:
	// <li>ON: enables speech keyword recognition task;</li>
	// <li>OFF: disables speech keyword recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Keyword filter tag, which specifies the keyword tag that needs to be returned. If this parameter is left empty or a blank value is entered, all results will be returned.
	// There can be up to 10 tags, each with a length limit of 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`
}

// Predefined struct for user
type AttachMediaSubtitlesRequestParams struct {
	// Unique identifier of a media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Operation. Values as follows:
	// <li>Attach: Associate subtitles.</li>
	// <li>Detach: Remove associated subtitles.</li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// [Adaptive bitrate streaming template ID](https://www.tencentcloud.com/document/product/266/34071?from_cn_redirect=1#zsy).
	AdaptiveDynamicStreamingDefinition *uint64 `json:"AdaptiveDynamicStreamingDefinition,omitnil,omitempty" name:"AdaptiveDynamicStreamingDefinition"`

	// Unique identifier of the subtitle.
	SubtitleIds []*string `json:"SubtitleIds,omitnil,omitempty" name:"SubtitleIds"`

	// Unique identifier for default subtitle. Leave empty to not set default subtitle.
	DefaultSubtitleId *string `json:"DefaultSubtitleId,omitnil,omitempty" name:"DefaultSubtitleId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type AttachMediaSubtitlesRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of a media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Operation. Values as follows:
	// <li>Attach: Associate subtitles.</li>
	// <li>Detach: Remove associated subtitles.</li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// [Adaptive bitrate streaming template ID](https://www.tencentcloud.com/document/product/266/34071?from_cn_redirect=1#zsy).
	AdaptiveDynamicStreamingDefinition *uint64 `json:"AdaptiveDynamicStreamingDefinition,omitnil,omitempty" name:"AdaptiveDynamicStreamingDefinition"`

	// Unique identifier of the subtitle.
	SubtitleIds []*string `json:"SubtitleIds,omitnil,omitempty" name:"SubtitleIds"`

	// Unique identifier for default subtitle. Leave empty to not set default subtitle.
	DefaultSubtitleId *string `json:"DefaultSubtitleId,omitnil,omitempty" name:"DefaultSubtitleId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *AttachMediaSubtitlesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AttachMediaSubtitlesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "Operation")
	delete(f, "AdaptiveDynamicStreamingDefinition")
	delete(f, "SubtitleIds")
	delete(f, "DefaultSubtitleId")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AttachMediaSubtitlesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AttachMediaSubtitlesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AttachMediaSubtitlesResponse struct {
	*tchttp.BaseResponse
	Response *AttachMediaSubtitlesResponseParams `json:"Response"`
}

func (r *AttachMediaSubtitlesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AttachMediaSubtitlesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type AudioBeautifyInfo struct {
	// Audio beautification control switch. Available values:
	// <li>ON: enable audio beautification</li>
	// <li>OFF: disable audio beautification</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Type. Multiple selections allowed. Valid values:
	// <li>declick: noise removal</li>
	// <li>deesser: de-ess</li>
	// Default value: declick.
	Types []*string `json:"Types,omitnil,omitempty" name:"Types"`
}

type AudioDenoiseInfo struct {
	// Whether to enable noise removal. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	// Default value: `OFF`.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Audio noise reduction type. Valid only when the audio noise reduction control switch is ON. Available values:
	// <li>normal: normal audio noise reduction.</li>
	// Default value: normal.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type AudioEnhanceConfig struct {
	// Audio noise reduction configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Denoise *AudioDenoiseInfo `json:"Denoise,omitnil,omitempty" name:"Denoise"`

	// Audio separation configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Separate *AudioSeparateInfo `json:"Separate,omitnil,omitempty" name:"Separate"`

	// Volume equalization configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VolumeBalance *AudioVolumeBalanceInfo `json:"VolumeBalance,omitnil,omitempty" name:"VolumeBalance"`

	// Volume beautification configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Beautify *AudioBeautifyInfo `json:"Beautify,omitnil,omitempty" name:"Beautify"`
}

type AudioSeparateInfo struct {
	// Audio separation control switch. Available values:
	// <li>ON: enable audio separation;</li>
	// <li>OFF: Disable audio separation.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Scenario type. Valid values:
	// <li>normal: Voice background sound scenario</li>
	// <li>music: Singing accompaniment scenario</li>
	// Default value: normal.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Output audio track. Available values:
	// <li>vocal: output voice</li>
	// <li>Background: Output background audio when the scenario is normal, and output accompaniment when the scenario is music.</li>
	// Default value: vocal.
	Track *string `json:"Track,omitnil,omitempty" name:"Track"`
}

type AudioTemplateInfo struct {
	// The audio codec.
	// If `Container` is `mp3`, the valid value is:
	// <li>`libmp3lame`</li>
	// If `Container` is `ogg` or `flac`, the valid value is:
	// <li>`flac`</li>
	// If `Container` is `m4a`, the valid values are:
	// <li>`libfdk_aac`</li>
	// <li>`libmp3lame`</li>
	// <li>`ac3`</li>
	// If `Container` is `mp4` or `flv`, the valid values are:
	// <li>`libfdk_aac` (Recommended for MP4)</li>
	// <li>`libmp3lame` (Recommended for FLV)</li>
	// <li>`mp2`</li>
	// If `Container` is `hls`, the valid value is:
	// <li>`libfdk_aac`</li>
	// If `Format` is `HLS` or `MPEG-DASH`, the valid value is:
	// <li>`libfdk_aac`</li>
	// If `Container` is `wav`, the valid value is:
	// <li>`pcm16`</li>
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// Bitrate of the audio stream, value ranges from 0 to [26, 256], measurement unit: kbps.
	// When the value is 0, it means VOD automatically sets the bitrate.
	Bitrate *uint64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// The audio sample rate. Valid values:
	// <li>`16000` (valid only if `Codec` is `pcm16`)</li>
	// <li>`32000`</li>
	// <li>`44100`</li>
	// <li>`48000`</li>
	// Unit: Hz.
	SampleRate *uint64 `json:"SampleRate,omitnil,omitempty" name:"SampleRate"`

	// Audio channel system. Valid values:
	// <li>1: mono-channel</li>
	// <li>2: dual-channel</li>
	// <li>6: stereo</li>
	// You cannot set the sound channel as stereo for media files in container formats for audios (FLAC, OGG, MP3, M4A).
	// Default value: 2
	AudioChannel *int64 `json:"AudioChannel,omitnil,omitempty" name:"AudioChannel"`
}

type AudioTemplateInfoForUpdate struct {
	// <p>Audio stream encoding format.<br>When the outer parameter Container is mp3, the valid value is:</p><li>libmp3lame.</li>When the outer parameter Container is ogg or flac, the valid value is:<li>flac.</li>When the outer parameter Container is m4a, the valid values are:<li>libfdk_aac;</li><li>libmp3lame;</li><li>ac3.</li>When the outer parameter Container is mp4 or flv, the valid values are:<li>libfdk_aac: suitable for mp4.</li><li>libmp3lame: suitable for flv.</li><li>mp2.</li>When the outer parameter Container is hls, the valid value is:<li>libfdk_aac.</li>When the outer parameter Format is HLS or MPEG-DASH, the valid value is:<li>libfdk_aac.</li>When the outer parameter Container is wav, the valid value is:<li>pcm16.</li>
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// <p>Audio stream bitrate, in kbps. Value range: 0 and [26, 256]. When the value is 0, it means the bitrate is set automatically by VOD.</p>
	Bitrate *uint64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// <p>Sampling rate of the audio stream. Available values:</p><li>16000. Available only when Codec is pcm16.</li><li>32000</li><li>44100</li><li>48000</li>Unit: Hz.
	SampleRate *uint64 `json:"SampleRate,omitnil,omitempty" name:"SampleRate"`

	// <p>Audio channel. Available values:</p><li>1: Single channel.</li><li>2: Two channels.</li><li>6: Stereo.</li><li>0: The number of audio channels remains the same as the original audio.</li>When the media container format is an audio format (flac, ogg, mp3, m4a), the number of audio channels cannot be set to stereo.
	AudioChannel *int64 `json:"AudioChannel,omitnil,omitempty" name:"AudioChannel"`

	// <p>Specifies the retained audio tracks for output. All source tracks are retained. </p><p>This parameter is valid only when specified in the OverrideParameter parameter and is disabled in other cases.</p>
	StreamSelects []*int64 `json:"StreamSelects,omitnil,omitempty" name:"StreamSelects"`
}

type AudioTrackItem struct {
	// Source of media material for audio segment, which can be:
	// <li>ID of VOD media files</li>
	// <li>Download URL of other media files</li>
	// Note: when a download URL of other media files is used as the material source and access control (such as hotlink protection) is enabled, the URL needs to carry access control parameters (such as hotlink protection signature).
	SourceMedia *string `json:"SourceMedia,omitnil,omitempty" name:"SourceMedia"`

	// Start time of audio segment in material file in seconds. Default value: 0, which means to start capturing from the beginning position of the material.
	SourceMediaStartTime *float64 `json:"SourceMediaStartTime,omitnil,omitempty" name:"SourceMediaStartTime"`

	// Audio segment duration in seconds. By default, the length of the material will be used, which means that the entire material will be captured.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// The target audio duration, in seconds.
	// <li>If `TargetDuration` is empty or `0`, the target duration is the same as `Duration`.</li>
	// <li>If `TargetDuration` is a value greater than 0, the playback speed will be changed to make the final audio duration the same as the value of `TargetDuration`.</li>
	TargetDuration *float64 `json:"TargetDuration,omitnil,omitempty" name:"TargetDuration"`

	// Operation on audio segment, such as volume adjustment.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AudioOperations []*AudioTransform `json:"AudioOperations,omitnil,omitempty" name:"AudioOperations"`
}

type AudioTransform struct {
	// Audio operation type. Valid values:
	// <li>Volume: volume adjustment.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Audio volume adjustment parameter. Valid when Type = Volume.
	VolumeParam *AudioVolumeParam `json:"VolumeParam,omitnil,omitempty" name:"VolumeParam"`
}

type AudioVolumeBalanceInfo struct {
	// Volume equalization control switch. Available values:
	// <li>ON: enable volume equalization;</li>
	// <li>OFF: Disable volume normalization.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Type, available values:
	// <li>loudNorm: Loudness normalization</li>
	// <li>gainControl: Reduce abrupt change</li>
	// Default value: loudNorm.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type AudioVolumeParam struct {
	// Whether to mute. Valid values: 0, 1.
	// <li>0: not muted.</li>
	// <li>1: muted.</li>
	// Default value: 0.
	Mute *int64 `json:"Mute,omitnil,omitempty" name:"Mute"`

	// Audio gain. Value range: 0-10.
	// <li>If the value is greater than 1, the volume will be increased.</li>
	// <li>If the value is smaller than 1, the volume will be decreased.</li>
	// <li>0 and 1: no change.</li>
	// Default value: 0.
	Gain *float64 `json:"Gain,omitnil,omitempty" name:"Gain"`
}

type Authentication struct {
	// Anti-hotlink configuration switch, value: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Configure timestamp hotlink protection mode A.
	TypeA *AuthenticationTypeA `json:"TypeA,omitnil,omitempty" name:"TypeA"`

	// Timestamp hotlink protection mode B configuration.
	TypeB *AuthenticationTypeB `json:"TypeB,omitnil,omitempty" name:"TypeB"`

	// Timestamp hotlink protection mode C configuration.
	TypeC *AuthenticationTypeC `json:"TypeC,omitnil,omitempty" name:"TypeC"`

	// Timestamp hotlink protection mode D configuration.
	TypeD *AuthenticationTypeD `json:"TypeD,omitnil,omitempty" name:"TypeD"`
}

type AuthenticationTypeA struct {
	// The key to calculate the signature; only uppercase and lowercase letters and numbers are allowed, with a length of 6~32 characters.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Signature parameter name setting; only uppercase and lowercase letters, numbers or underscores are allowed, the length is 1~100 characters, and it cannot start with a number.
	SignParam *string `json:"SignParam,omitnil,omitempty" name:"SignParam"`

	// Signature expiration time setting; the unit is seconds, and the maximum value can be set to 630720000.
	ExpireTime *uint64 `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// File extension list settings for authentication/non-authentication; if the character * is included, it means all files.
	FileExtensions []*string `json:"FileExtensions,omitnil,omitempty" name:"FileExtensions"`

	// whitelist: whitelist, indicating that all types except the FileExtensions list will be authenticated; blacklist: blacklist, indicating that only the types in FileExtensions will be authenticated.
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// Alternate key for calculating signature; only uppercase and lowercase letters and numbers are allowed, length 6~32 characters.
	BackupSecretKey *string `json:"BackupSecretKey,omitnil,omitempty" name:"BackupSecretKey"`
}

type AuthenticationTypeB struct {
	// The key to calculate the signature; only uppercase and lowercase letters and numbers are allowed, with a length of 6~32 characters.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Signature expiration time setting; the unit is seconds, and the maximum value can be set to 630720000.
	ExpireTime *uint64 `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// File extension list settings for authentication/non-authentication; if the character * is included, it means all files.
	FileExtensions []*string `json:"FileExtensions,omitnil,omitempty" name:"FileExtensions"`

	// whitelist: whitelist, indicating that all types except the FileExtensions list will be authenticated; blacklist: blacklist, indicating that only the types in FileExtensions will be authenticated.
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// Alternate key for calculating signature; only uppercase and lowercase letters and numbers are allowed, length 6~32 characters.
	BackupSecretKey *string `json:"BackupSecretKey,omitnil,omitempty" name:"BackupSecretKey"`
}

type AuthenticationTypeC struct {
	// The key to calculate the signature; only uppercase and lowercase letters and numbers are allowed, with a length of 6~32 characters.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Signature expiration time setting; the unit is seconds, and the maximum value can be set to 630720000.
	ExpireTime *uint64 `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// File extension list settings for authentication/non-authentication; if the character * is included, it means all files.
	FileExtensions []*string `json:"FileExtensions,omitnil,omitempty" name:"FileExtensions"`

	// whitelist: whitelist, indicating that all types except the FileExtensions list will be authenticated; blacklist: blacklist, indicating that only the types in FileExtensions will be authenticated.
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// Timestamp base setting: <li>dec: decimal</li> <li>hex: hexadecimal</li>
	TimeFormat *string `json:"TimeFormat,omitnil,omitempty" name:"TimeFormat"`

	// Alternate key for calculating signature; only uppercase and lowercase letters and numbers are allowed, length 6~32 characters.
	BackupSecretKey *string `json:"BackupSecretKey,omitnil,omitempty" name:"BackupSecretKey"`
}

type AuthenticationTypeD struct {
	// The key to calculate the signature; only uppercase and lowercase letters and numbers are allowed, with a length of 6~32 characters.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Signature expiration time setting; the unit is seconds, and the maximum value can be set to 630720000.
	ExpireTime *uint64 `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// File extension list settings for authentication/non-authentication; if the character * is included, it means all files.
	FileExtensions []*string `json:"FileExtensions,omitnil,omitempty" name:"FileExtensions"`

	// whitelist: whitelist, indicating that all types except the FileExtensions list will be authenticated; blacklist: blacklist, indicating that only the types in FileExtensions will be authenticated.
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// Signature parameter name setting; only uppercase and lowercase letters, numbers or underscores are allowed, the length is 1~100 characters, and it cannot start with a number.
	SignParam *string `json:"SignParam,omitnil,omitempty" name:"SignParam"`

	// Timestamp parameter name setting; only uppercase and lowercase letters, numbers or underscores are allowed, the length is 1~100 characters, and it cannot start with a number.
	TimeParam *string `json:"TimeParam,omitnil,omitempty" name:"TimeParam"`

	// Timestamp base setting: <li>dec: decimal</li> <li>hex: hexadecimal</li>
	TimeFormat *string `json:"TimeFormat,omitnil,omitempty" name:"TimeFormat"`

	// Alternate key for calculating signature; only uppercase and lowercase letters and numbers are allowed, length 6~32 characters.
	BackupSecretKey *string `json:"BackupSecretKey,omitnil,omitempty" name:"BackupSecretKey"`
}

type AwsPrivateAccess struct {
	// AWS S3 return-to-origin authentication configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Access ID.
	AccessKey *string `json:"AccessKey,omitnil,omitempty" name:"AccessKey"`

	// Key.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Region.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// BucketName.
	Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"`
}

type BeautyEffectItem struct {
	// <p>Whether to enable beauty effects.</p><p>Enumeration value:</p><ul><li>ON: On</li><li>OFF: Off</li></ul>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// <p>Beauty option.</p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Intensity of beauty effects.</p>
	Value *int64 `json:"Value,omitnil,omitempty" name:"Value"`

	// <p>Attach the resource path.</p>
	ResourcePath *string `json:"ResourcePath,omitnil,omitempty" name:"ResourcePath"`

	// <p>Additional information.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type BeautyFilterItem struct {
	// <p>Whether to enable filters.</p><p>Enumeration value:</p><ul><li>ON: On</li><li>OFF: Off</li></ul>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// <p>Filter item.</p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Filter strength.</p>
	Value *int64 `json:"Value,omitnil,omitempty" name:"Value"`
}

type BlackWhiteEdgeConfigureInfo struct {
	// Video screen black border, white border, black screen, white screen detection switch, optional values: 
	// <li>ON: turn on; </li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type BlackWhiteEdgeConfigureInfoForUpdate struct {
	// Video screen black border, white border, black screen, white screen detection switch, optional values: 
	// <li>ON: turn on; </li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type BlindWatermarkInput struct {
	// Digital watermark template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type BlindWatermarkTemplate struct {
	// Unique identifier of the digital watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-nagra: NAGRA forensics watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Digital watermark template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Text content of the digital watermark template. The length cannot exceed 64 characters.
	TextContent *string `json:"TextContent,omitnil,omitempty" name:"TextContent"`

	// Description information of the digital watermark template.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Creation time of the digital watermark template in [ISO date and time format](https://www.tencentcloud.com/document/product/862/37710?from_cn_redirect=1#52).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modification time of the digital watermark template in [ISO date and time format](https://www.tencentcloud.com/document/product/862/37710?from_cn_redirect=1#52).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type BlurConfigureInfo struct {
	// Video screen blur detection switch, optional values:
	// <li>ON: turn on;</li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type BlurConfigureInfoForUpdate struct {
	// Video screen blur detection switch, optional values:
	// <li>ON: turn on;</li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type CDNCertInfo struct {
	// The server certificate ID is automatically generated during certificate hosting by SSL Certificate Management.
	CertId *string `json:"CertId,omitnil,omitempty" name:"CertId"`

	// Server certificate information.
	Certificate *string `json:"Certificate,omitnil,omitempty" name:"Certificate"`

	// Server key information.
	PrivateKey *string `json:"PrivateKey,omitnil,omitempty" name:"PrivateKey"`

	// Certificate expiration time; no need to fill in when configured as an input parameter.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

type CDNDomainConfig struct {
	// Domain name acceleration areas: <li>mainland: acceleration within China; </li> <li>overseas: acceleration outside China; </li> <li>global: global acceleration. </li>
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Origin server configuration.
	Origin *Origin `json:"Origin,omitnil,omitempty" name:"Origin"`

	// IP allowlist/blocklist configuration.
	IpFilter *IpFilter `json:"IpFilter,omitnil,omitempty" name:"IpFilter"`

	// UA Blocklist/Allowlist Configuration.
	UserAgentFilter *UserAgentFilter `json:"UserAgentFilter,omitnil,omitempty" name:"UserAgentFilter"`

	// 301/302 origin follow configuration.
	FollowRedirect *FollowRedirect `json:"FollowRedirect,omitnil,omitempty" name:"FollowRedirect"`

	// Request header configuration.
	RequestHeader *RequestHeader `json:"RequestHeader,omitnil,omitempty" name:"RequestHeader"`

	// Response header configuration.
	ResponseHeader *ResponseHeader `json:"ResponseHeader,omitnil,omitempty" name:"ResponseHeader"`

	// Cache expiration time settings.
	Cache *Cache `json:"Cache,omitnil,omitempty" name:"Cache"`

	// Https configuration.
	Https *Https `json:"Https,omitnil,omitempty" name:"Https"`

	// Timestamp hotlink protection configuration.
	Authentication *Authentication `json:"Authentication,omitnil,omitempty" name:"Authentication"`

	// Access protocol force redirection configuration.
	ForceRedirect *ForceRedirect `json:"ForceRedirect,omitnil,omitempty" name:"ForceRedirect"`

	// Referer Anti-leech Configuration.
	Referer *Referer `json:"Referer,omitnil,omitempty" name:"Referer"`

	// Browser cache configuration.
	MaxAge *MaxAge `json:"MaxAge,omitnil,omitempty" name:"MaxAge"`

	// Ipv6 access configuration
	Ipv6Access *Ipv6Access `json:"Ipv6Access,omitnil,omitempty" name:"Ipv6Access"`

	// Quic access configuration.
	Quic *Quic `json:"Quic,omitnil,omitempty" name:"Quic"`

	// AWS S3 origin authentication configuration.
	AwsPrivateAccess *AwsPrivateAccess `json:"AwsPrivateAccess,omitnil,omitempty" name:"AwsPrivateAccess"`

	// Alibaba Cloud OSS authentication configuration.
	OssPrivateAccess *OssPrivateAccess `json:"OssPrivateAccess,omitnil,omitempty" name:"OssPrivateAccess"`

	// Huawei cloud object storage back-to-origin authentication configuration.
	HwPrivateAccess *HwPrivateAccess `json:"HwPrivateAccess,omitnil,omitempty" name:"HwPrivateAccess"`

	// Authentication configuration for cross-origin access to object storage of other vendors.
	OthersPrivateAccess *OthersPrivateAccess `json:"OthersPrivateAccess,omitnil,omitempty" name:"OthersPrivateAccess"`
}

type CDNDomainConfigForUpdate struct {
	// Domain name acceleration areas: <li>mainland: acceleration within China; </li> <li>overseas: acceleration outside China; </li> <li>global: global acceleration. </li>
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Origin Server Configuration.
	Origin *Origin `json:"Origin,omitnil,omitempty" name:"Origin"`

	// IP blocklist/allowlist configuration. This is disabled by default.
	IpFilter *IpFilter `json:"IpFilter,omitnil,omitempty" name:"IpFilter"`

	// UserAgent:blacklist/whitelist configuration.
	UserAgentFilter *UserAgentFilter `json:"UserAgentFilter,omitnil,omitempty" name:"UserAgentFilter"`

	// Back to the source 301/302 status code automatically follows the configuration, the default is off
	FollowRedirect *FollowRedirect `json:"FollowRedirect,omitnil,omitempty" name:"FollowRedirect"`

	// Custom request header configuration. This is disabled by default.
	RequestHeader *RequestHeader `json:"RequestHeader,omitnil,omitempty" name:"RequestHeader"`

	// Custom response header configuration. This is disabled by default.
	ResponseHeader *ResponseHeader `json:"ResponseHeader,omitnil,omitempty" name:"ResponseHeader"`

	// Node cache expiration time configuration.
	Cache *Cache `json:"Cache,omitnil,omitempty" name:"Cache"`

	// Domain name HTTPS acceleration configuration. This is disabled by default.
	Https *Https `json:"Https,omitnil,omitempty" name:"Https"`

	// Timestamp hotlink protection configuration.
	Authentication *Authentication `json:"Authentication,omitnil,omitempty" name:"Authentication"`

	// Access protocol forced redirect configuration. This is disabled by default.
	ForceRedirect *ForceRedirect `json:"ForceRedirect,omitnil,omitempty" name:"ForceRedirect"`

	// Referer blacklist/whitelist configuration. This is disabled by default.
	Referer *Referer `json:"Referer,omitnil,omitempty" name:"Referer"`

	// Browser cache rule configuration, which is used to set the default value of MaxAge and is disabled by default.
	MaxAge *MaxAge `json:"MaxAge,omitnil,omitempty" name:"MaxAge"`

	// IPv6 access configuration.
	Ipv6Access *Ipv6Access `json:"Ipv6Access,omitnil,omitempty" name:"Ipv6Access"`

	// QUIC configuration item.
	Quic *Quic `json:"Quic,omitnil,omitempty" name:"Quic"`

	// Origin access authentication for S3 bucket.
	AwsPrivateAccess *AwsPrivateAccess `json:"AwsPrivateAccess,omitnil,omitempty" name:"AwsPrivateAccess"`

	// Access authentication configuration for OSS origin.
	OssPrivateAccess *OssPrivateAccess `json:"OssPrivateAccess,omitnil,omitempty" name:"OssPrivateAccess"`

	// Access authentication for Huawei Cloud OBS origin
	HwPrivateAccess *HwPrivateAccess `json:"HwPrivateAccess,omitnil,omitempty" name:"HwPrivateAccess"`

	// Origin-pull authentication for other origins.
	OthersPrivateAccess *OthersPrivateAccess `json:"OthersPrivateAccess,omitnil,omitempty" name:"OthersPrivateAccess"`
}

type CDNDomainInfo struct {
	// Domain.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Deployment status.
	DeployStatus *string `json:"DeployStatus,omitnil,omitempty" name:"DeployStatus"`

	// Cname record.
	Cname *string `json:"Cname,omitnil,omitempty" name:"Cname"`

	// Create Time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// cdn domain configuration information.
	Config *CDNDomainConfig `json:"Config,omitnil,omitempty" name:"Config"`
}

type CLSLogsetInfo struct {

	LogsetId *string `json:"LogsetId,omitnil,omitempty" name:"LogsetId"`


	LogsetName *string `json:"LogsetName,omitnil,omitempty" name:"LogsetName"`
}

type CLSTopicInfo struct {
	// Log topic ID.
	TopicId *string `json:"TopicId,omitnil,omitempty" name:"TopicId"`

	// Log topic name.
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`

	// Log Set ID.
	LogsetId *string `json:"LogsetId,omitnil,omitempty" name:"LogsetId"`
}

type Cache struct {
	// Path cache configuration.
	RuleCache []*RuleCache `json:"RuleCache,omitnil,omitempty" name:"RuleCache"`
}

type CacheConfigCache struct {
	// Path cache configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Cache expiration time settings<li>Unit: second. The maximum value is 365 days.</li>
	CacheTime *uint64 `json:"CacheTime,omitnil,omitempty" name:"CacheTime"`

	// Advanced cache expiration configuration. When enabled, the max-age value returned by the origin site will be compared with the cache expiration time set in CacheRules, and the minimum value will be used to cache the node. Values: <li>on: enabled; </li> <li >off: off. </li>
	CompareMaxAge *string `json:"CompareMaxAge,omitnil,omitempty" name:"CompareMaxAge"`

	// Force caching, values: <li>on: on; </li> <li>off: off. </li>
	IgnoreCacheControl *string `json:"IgnoreCacheControl,omitnil,omitempty" name:"IgnoreCacheControl"`

	// When the origin site returns the Set-Cookie header, whether the node caches the header and body: <li>on: on, does not cache the header and body;</li> <li>off: off, follows user customization Node caching rules. </li>
	IgnoreSetCookie *string `json:"IgnoreSetCookie,omitnil,omitempty" name:"IgnoreSetCookie"`
}

type CacheConfigFollowOrigin struct {
	// The path cache follows the origin site configuration switch. The values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Heuristic cache configuration.
	HeuristicCache *HeuristicCache `json:"HeuristicCache,omitnil,omitempty" name:"HeuristicCache"`
}

type CacheConfigNoCache struct {
	// Path cache does not cache configuration configuration switch, value: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Always return to the origin site for verification, value: <li>on: on; </li> <li>off: off. </li>
	Revalidate *string `json:"Revalidate,omitnil,omitempty" name:"Revalidate"`
}

type Canvas struct {
	// Background color. Valid values:
	// <li>Black: black background</li>
	// <li>White: white background</li>
	// Default value: Black.
	Color *string `json:"Color,omitnil,omitempty" name:"Color"`

	// Canvas width, that is, the width of the output video, value range: 0~3840, unit: px. 
	// Default value: 0, which means the video width is the same as the first video clip of the first video track.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Canvas height, that is, the height (or long side) of the output video, value range: 0~3840, unit: px. 
	// Default value: 0, which means the video height is consistent with the first video clip of the first video track.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`
}

type CdnLogInfo struct {
	// <p>Date the log belongs to, format: yyyy-MM-dd, for example 2018-03-01.</p>
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`

	// <p>Log name, format: date hr-domain name<br>For example, example.com.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Log download link, valid for 24 hours.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Log start time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>Log end time. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type ChangeClothesConfig struct {
	// <p>Input the image list of <strong>clothing</strong> that need to be replaced. Maximum support for each kind:</p><ul><li>change_clothes: 4 images;</li><li>change_clothes_under: 1 image;</li><li>change_clothes_full_wear: 1 image;</li><li>change_clothes_top_wear: 1 image;</li><li>change_clothes_bottom_wear: 1 image;</li></ul>
	ClothesFileInfos []*SceneAigcImageTaskInputFileInfo `json:"ClothesFileInfos,omitnil,omitempty" name:"ClothesFileInfos"`

	// <p>Prompt for AI clothing change. <strong>Valid only when Type is change_clothes.</strong></p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`
}

type ClassificationConfigureInfo struct {
	// Switch of intelligent categorization task. Valid values:
	// <li>ON: enables intelligent categorization task;</li>
	// <li>OFF: disables intelligent categorization task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type ClassificationConfigureInfoForUpdate struct {
	// Switch of intelligent categorization task. Valid values:
	// <li>ON: enables intelligent categorization task;</li>
	// <li>OFF: disables intelligent categorization task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type ClipFileInfo2017 struct {
	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error description.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Output target file ID.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Output target file address.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Output target file type.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`
}

type ClipTask2017 struct {
	// Video clipping task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// ID of source file for video clipping task.
	SrcFileId *string `json:"SrcFileId,omitnil,omitempty" name:"SrcFileId"`

	// Information of file output by video clipping.
	FileInfo *ClipFileInfo2017 `json:"FileInfo,omitnil,omitempty" name:"FileInfo"`
}

// Predefined struct for user
type CloneCDNDomainRequestParams struct {
	// Domain
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// The cloned domain.
	ReferenceDomain *string `json:"ReferenceDomain,omitnil,omitempty" name:"ReferenceDomain"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CloneCDNDomainRequest struct {
	*tchttp.BaseRequest
	
	// Domain
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// The cloned domain.
	ReferenceDomain *string `json:"ReferenceDomain,omitnil,omitempty" name:"ReferenceDomain"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CloneCDNDomainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CloneCDNDomainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "ReferenceDomain")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CloneCDNDomainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CloneCDNDomainResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CloneCDNDomainResponse struct {
	*tchttp.BaseResponse
	Response *CloneCDNDomainResponseParams `json:"Response"`
}

func (r *CloneCDNDomainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CloneCDNDomainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ColorEnhanceInfo struct {
	// Whether to enable color enhancement. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The color enhancement type. This parameter is valid only if `Switch` is `ON`.
	// <li>`weak`</li>
	// <li>`normal`</li>
	// <li>`strong`</li>
	// Default value: `weak`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

// Predefined struct for user
type CommitUploadRequestParams struct {
	// <p>VOD session takes the returned value VodSessionKey from the upload request API.</p>
	VodSessionKey *string `json:"VodSessionKey,omitnil,omitempty" name:"VodSessionKey"`

	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CommitUploadRequest struct {
	*tchttp.BaseRequest
	
	// <p>VOD session takes the returned value VodSessionKey from the upload request API.</p>
	VodSessionKey *string `json:"VodSessionKey,omitnil,omitempty" name:"VodSessionKey"`

	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CommitUploadRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CommitUploadRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VodSessionKey")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CommitUploadRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CommitUploadResponseParams struct {
	// <p>Unique identifier of the media file.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Media playback address.</p>
	MediaUrl *string `json:"MediaUrl,omitnil,omitempty" name:"MediaUrl"`

	// <p>Media cover address.</p>
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CommitUploadResponse struct {
	*tchttp.BaseResponse
	Response *CommitUploadResponseParams `json:"Response"`
}

func (r *CommitUploadResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CommitUploadResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ComplexAdaptiveDynamicStreamingTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Valid values:
	// <li>PROCESSING: Processing;</li>
	// <li>FINISH: completed</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Task execution status and results of adaptive bitrate streaming. Each element corresponds to an adaptive bitrate template.
	ComplexAdaptiveDynamicStreamingTaskResultSet []*ComplexAdaptiveDynamicStreamingTaskResult `json:"ComplexAdaptiveDynamicStreamingTaskResultSet,omitnil,omitempty" name:"ComplexAdaptiveDynamicStreamingTaskResultSet"`
}

type ComplexAdaptiveDynamicStreamingTaskAudioInput struct {
	// <p>Media ID of the audio source. The first audio stream in the media source file is used by default. The video stream and other audio streams (if any) will be ignored.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Name of the audio stream in the output adaptive bitrate stream. Length limit is 16 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>The language of the audio stream in the output adaptive bitrate stream, with a length limit of 16 characters. It must comply with RFC5646.</p>
	Language *string `json:"Language,omitnil,omitempty" name:"Language"`

	// <p>Set as default audio for adaptive bitrate. Value:</p><li>YES: Set as default audio;</li><li>NO: Do not set as default audio (default value).</li>
	Default *string `json:"Default,omitnil,omitempty" name:"Default"`

	// <p>Audio track serial number, which means selecting the nth audio track in the audio source, counting begins from 0. Default value is 0, means selecting the audio track positioned towards the front.</p>
	AudioTrackIdx *uint64 `json:"AudioTrackIdx,omitnil,omitempty" name:"AudioTrackIdx"`
}

type ComplexAdaptiveDynamicStreamingTaskInput struct {
	// Adaptive Bitrate Parameters.
	StreamPara *ComplexAdaptiveDynamicStreamingTaskStreamPara `json:"StreamPara,omitnil,omitempty" name:"StreamPara"`
}

type ComplexAdaptiveDynamicStreamingTaskOutput struct {
	// Adaptive bitrate template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Adaptive bitrate stream packaging format. Optional values:
	// <li>HLS;</li>
	// <li>MPEG-DASH.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// DRM solution type. Available values:
	// <li>Empty string: Unencrypted.</li>
	// <li>SimpleAES;</li>
	// <li>Widevine;</li>
	// <li>FairPlay.</li>
	DrmType *string `json:"DrmType,omitnil,omitempty" name:"DrmType"`

	// Playback address of the adaptive bitrate stream.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type ComplexAdaptiveDynamicStreamingTaskResult struct {
	// Task status. Valid values:
	// <li>PROCESSING: Processing;</li>
	// <li>SUCCESS: Completed;</li>
	// <li>FAIL: Failed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates success, and additional values indicate failure. For values, see the video processing error code list (https://www.tencentcloud.com/document/product/266/50368?from_cn_redirect=1#.E8.A7.86.E9.A2.91.E5.A4.84.E7.90.86.E7.B1.BB.E9.94.99.E8.AF.AF.E7.A0.81).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Transcoding progress, with a value range of [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input of adaptive bitrate streaming.
	Input *ComplexAdaptiveDynamicStreamingTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of adaptive bitrate streaming.
	Output *ComplexAdaptiveDynamicStreamingTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`
}

type ComplexAdaptiveDynamicStreamingTaskStreamPara struct {
	// Adaptive bitrate template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type ComplexAdaptiveDynamicStreamingTaskSubtitleInput struct {
	// Subtitle ID. The subtitle must belong to the input main media of the adaptive bitrate task.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Set as the default subtitle for adaptive bitrate. Value:
	// <li>YES: Set as default subtitle;</li>
	// <li>NO: Not set as default subtitle (default value).</li>
	Default *string `json:"Default,omitnil,omitempty" name:"Default"`
}

type ComposeMediaOutput struct {
	// Filename of up to 64 characters.
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// Description, which can contain up to 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Category ID, which is used to categorize the media for management. A category can be created and its ID can be obtained by using the [category creating](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) API.
	// <li>Default value: 0, which means "Other".</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiration time of output media file in ISO 8601 format, after which the file will be deleted. Files will never expire by default. For more information, please see [Notes on ISO Date Format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// Container. Valid values: mp4, mp3. mp3 is for audio files.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Information of output video.
	// Note: this field may return null, indicating that no valid values can be obtained.
	VideoStream *OutputVideoStream `json:"VideoStream,omitnil,omitempty" name:"VideoStream"`

	// Information of output audio.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AudioStream *OutputAudioStream `json:"AudioStream,omitnil,omitempty" name:"AudioStream"`

	// Whether to remove video data. Valid values:
	// <li>0: retain</li>
	// <li>1: remove</li>
	// Default value: 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Whether to remove audio data. Valid values:
	// <li>0: retain</li>
	// <li>1: remove</li>
	// Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

// Predefined struct for user
type ComposeMediaRequestParams struct {
	// The input media track list includes multiple track information composed of materials such as video, audio, and images. Among them:<li>The input multiple tracks are aligned with the output media file timeline on the timeline.</li><li>Overlap materials on different tracks at the same time point on the timeline. Perform image overlay of videos or images in track order, with materials of higher track order overlaid on top. Mix audio materials.</li><li>Each type of track supports up to 10 video, audio, or image tracks.</li><li>The total number of media segments placed on all types of tracks supports up to 500.</li>
	Tracks []*MediaTrack `json:"Tracks,omitnil,omitempty" name:"Tracks"`

	// Output media file information.
	Output *ComposeMediaOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Canvas used when making video files.
	Canvas *Canvas `json:"Canvas,omitnil,omitempty" name:"Canvas"`

	// Identify source context. This is used to pass through user request information. The ComposeMediaComplete callback returns the value of this field. The maximum length is 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Identifier for task deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`
}

type ComposeMediaRequest struct {
	*tchttp.BaseRequest
	
	// The input media track list includes multiple track information composed of materials such as video, audio, and images. Among them:<li>The input multiple tracks are aligned with the output media file timeline on the timeline.</li><li>Overlap materials on different tracks at the same time point on the timeline. Perform image overlay of videos or images in track order, with materials of higher track order overlaid on top. Mix audio materials.</li><li>Each type of track supports up to 10 video, audio, or image tracks.</li><li>The total number of media segments placed on all types of tracks supports up to 500.</li>
	Tracks []*MediaTrack `json:"Tracks,omitnil,omitempty" name:"Tracks"`

	// Output media file information.
	Output *ComposeMediaOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Canvas used when making video files.
	Canvas *Canvas `json:"Canvas,omitnil,omitempty" name:"Canvas"`

	// Identify source context. This is used to pass through user request information. The ComposeMediaComplete callback returns the value of this field. The maximum length is 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Identifier for task deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`
}

func (r *ComposeMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ComposeMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Tracks")
	delete(f, "Output")
	delete(f, "SubAppId")
	delete(f, "Canvas")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ComposeMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ComposeMediaResponseParams struct {
	// Task ID for media file production. The state of the production task (task type is MakeMedia) can be queried through this ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ComposeMediaResponse struct {
	*tchttp.BaseResponse
	Response *ComposeMediaResponseParams `json:"Response"`
}

func (r *ComposeMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ComposeMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ComposeMediaTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task flow status. Valid values:
	// <li>PROCESSING: processing;</li>
	// <li>FINISH: completed.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Progress of a media file composing task. Value range: [0, 100]
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input of the media file creation task.
	Input *ComposeMediaTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of the media file creation task.
	Output *ComposeMediaTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The metadata of the output video.
	// Note: This field may return `null`, indicating that no valid value was found.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// ID used for deduplication. If there was a request with the same ID in the last seven days, the current request will return an error. The ID can contain up to 50 characters. If this parameter is not carried or is left empty, no deduplication will be performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The source context which is used to pass through the user request information. The task flow status change callback will return the value of this parameter. It can contain up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type ComposeMediaTaskInput struct {
	// List of input media tracks, i.e., information of multiple tracks composed of video, audio, image, and other materials.
	Tracks []*MediaTrack `json:"Tracks,omitnil,omitempty" name:"Tracks"`

	// Canvas used for composing video file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Canvas *Canvas `json:"Canvas,omitnil,omitempty" name:"Canvas"`

	// Information of output media file.
	Output *ComposeMediaOutput `json:"Output,omitnil,omitempty" name:"Output"`
}

type ComposeMediaTaskOutput struct {
	// File type, such as mp4 and mp3.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Media file playback address.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Filename of up to 64 characters.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Category ID, which is used to categorize the media for management. A category can be created and its ID can be obtained by using the [category creating](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) API.
	// <li>Default value: 0, which means "Other".</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiration time of output media file in ISO 8601 format, after which the file will be deleted. Files will never expire by default. For more information, please see [Notes on ISO Date Format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

type ConcatFileInfo2017 struct {
	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// ID of source file for video splicing.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Address of source file for video splicing.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Format of source file for video splicing.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`
}

type ConcatTask2017 struct {
	// Video splicing task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Information of source file for video splicing.
	FileInfoSet []*ConcatFileInfo2017 `json:"FileInfoSet,omitnil,omitempty" name:"FileInfoSet"`
}

// Predefined struct for user
type ConfirmEventsRequestParams struct {
	// Event handler, i.e., the EventSet.EventHandle field in the output parameter of the [event notification pull](https://www.tencentcloud.com/document/product/266/33433?from_cn_redirect=1) API.
	// Array length limit: 16.
	EventHandles []*string `json:"EventHandles,omitnil,omitempty" name:"EventHandles"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ConfirmEventsRequest struct {
	*tchttp.BaseRequest
	
	// Event handler, i.e., the EventSet.EventHandle field in the output parameter of the [event notification pull](https://www.tencentcloud.com/document/product/266/33433?from_cn_redirect=1) API.
	// Array length limit: 16.
	EventHandles []*string `json:"EventHandles,omitnil,omitempty" name:"EventHandles"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ConfirmEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ConfirmEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventHandles")
	delete(f, "ExtInfo")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ConfirmEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ConfirmEventsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ConfirmEventsResponse struct {
	*tchttp.BaseResponse
	Response *ConfirmEventsResponseParams `json:"Response"`
}

func (r *ConfirmEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ConfirmEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ContentReviewOcrResult struct {
	// The confidence score for the OCR-based moderation result. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// The suggestion for handling the suspicious content detected based on OCR. Valid values:
	// <li>pass/li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The list of suspicious keywords detected based on OCR.
	KeywordSet []*string `json:"KeywordSet,omitnil,omitempty" name:"KeywordSet"`

	// The coordinates (pixel) of the top-left and bottom-right corners of the frame where a suspicious keyword appears. Format: [x1, y1, x2, y2].
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`
}

type ContentReviewResult struct {
	// The result type. Valid values:
	// <li>Porn.Image: Pornographic content in the image</li>
	// <li>Terrorism.Image: Terrorist content in the image</li>
	// <li>Political.Image: Politically sensitive content in the image</li>
	// <li>Porn.Ocr: Pornographic content in the image based on OCR</li>
	// <li>Terrorism.Ocr: Terrorist content in the image based on OCR</li>
	// <li>Political.Ocr: Politically sensitive content in the image based on OCR</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The pornographic content detected in the image. This parameter is valid if `Type` is `Porn.Image`.
	// Note: This field may return `null`, indicating that no valid value was found.
	PornImageResult *PornImageResult `json:"PornImageResult,omitnil,omitempty" name:"PornImageResult"`

	// The terrorist content detected in the image. This parameter is valid if `Type` is `Terrorism.Image`.
	// Note: This field may return `null`, indicating that no valid value was found.
	TerrorismImageResult *TerrorismImageResult `json:"TerrorismImageResult,omitnil,omitempty" name:"TerrorismImageResult"`

	// The politically sensitive content detected in the image. This parameter is valid if `Type` is `Political.Image`.
	// Note: This field may return `null`, indicating that no valid value was found.
	PoliticalImageResult *PoliticalImageResult `json:"PoliticalImageResult,omitnil,omitempty" name:"PoliticalImageResult"`

	// The pornographic content detected in the image based on OCR. This parameter is valid if `Type` is `Porn.Ocr`.
	// Note: This field may return `null`, indicating that no valid value was found.
	PornOcrResult *ContentReviewOcrResult `json:"PornOcrResult,omitnil,omitempty" name:"PornOcrResult"`

	// The terrorist content detected in the image based on OCR. This parameter is valid if `Type` is `Terrorism.Ocr`.
	// Note: This field may return `null`, indicating that no valid value was found.
	TerrorismOcrResult *ContentReviewOcrResult `json:"TerrorismOcrResult,omitnil,omitempty" name:"TerrorismOcrResult"`

	// The politically sensitive content detected in the image based on OCR. This parameter is valid if `Type` is `Political.Ocr`.
	// Note: This field may return `null`, indicating that no valid value was found.
	PoliticalOcrResult *ContentReviewOcrResult `json:"PoliticalOcrResult,omitnil,omitempty" name:"PoliticalOcrResult"`
}

type ContentReviewTemplateItem struct {
	// Unique ID of an intelligent recognition template
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Name of an intelligent recognition template. Max 64 characters
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description of an intelligent recognition template. Max 256 characters
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Authentication involves control parameters for offensive information.
	PornConfigure *PornConfigureInfo `json:"PornConfigure,omitnil,omitempty" name:"PornConfigure"`

	// Authentication involves control parameters for unsafe information.
	TerrorismConfigure *TerrorismConfigureInfo `json:"TerrorismConfigure,omitnil,omitempty" name:"TerrorismConfigure"`

	// Authentication involves control parameters for inappropriate information.
	PoliticalConfigure *PoliticalConfigureInfo `json:"PoliticalConfigure,omitnil,omitempty" name:"PoliticalConfigure"`

	// Prohibited control parameters. Prohibited content includes:
	// <li>Abuse;</li>
	// <li>Drug-related illegal activities.</li>
	ProhibitedConfigure *ProhibitedConfigureInfo `json:"ProhibitedConfigure,omitnil,omitempty" name:"ProhibitedConfigure"`

	// Customize video moderation control parameters.
	UserDefineConfigure *UserDefineConfigureInfo `json:"UserDefineConfigure,omitnil,omitempty" name:"UserDefineConfigure"`

	// Whether to subject the recognition result to human review
	// <li>ON</li>
	// <li>OFF</li>
	ReviewWallSwitch *string `json:"ReviewWallSwitch,omitnil,omitempty" name:"ReviewWallSwitch"`

	// Frame capturing interval in seconds. If this parameter is left empty, 1 second will be used by default. Minimum value: 0.5 seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type CopyRightWatermarkInput struct {
	// Copyright information, maximum length is 200 characters.
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`
}

type CoverBySnapshotTaskInput struct {
	// Time point screencapturing template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Screencapturing mode. Valid values:
	// <li>Time: screencaptures by time point</li>
	// <li>Percent: screencaptures by percentage</li>
	PositionType *string `json:"PositionType,omitnil,omitempty" name:"PositionType"`

	// Screenshot position:
	// <li>For time point screencapturing, this means to take a screenshot at a specified time point (in seconds) and use it as the cover</li>
	// <li>For percentage screencapturing, this value means to take a screenshot at a specified percentage of the video duration and use it as the cover</li>
	PositionValue *float64 `json:"PositionValue,omitnil,omitempty" name:"PositionValue"`

	// List of up to 10 image or text watermarks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WatermarkSet []*WatermarkInput `json:"WatermarkSet,omitnil,omitempty" name:"WatermarkSet"`
}

type CoverBySnapshotTaskOutput struct {
	// Cover URL.
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`
}

type CoverConfigureInfo struct {
	// Switch of intelligent cover generating task. Valid values:
	// <li>ON: enables intelligent cover generating task;</li>
	// <li>OFF: disables intelligent cover generating task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type CoverConfigureInfoForUpdate struct {
	// Switch of intelligent cover generating task. Valid values:
	// <li>ON: enables intelligent cover generating task;</li>
	// <li>OFF: disables intelligent cover generating task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type CrashScreenConfigureInfo struct {
	// Video screen distortion detection switch, optional values:
	// <li>ON: turn on;</li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type CrashScreenConfigureInfoForUpdate struct {
	// Video screen distortion detection switch, optional values:
	// <li>ON: turn on;</li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

// Predefined struct for user
type CreateAIAnalysisTemplateRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content analysis template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content analysis template description. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Intelligent classification task control parameters.
	ClassificationConfigure *ClassificationConfigureInfo `json:"ClassificationConfigure,omitnil,omitempty" name:"ClassificationConfigure"`

	// Intelligent tag task control parameter.
	TagConfigure *TagConfigureInfo `json:"TagConfigure,omitnil,omitempty" name:"TagConfigure"`

	// Intelligent Cover Task Control Parameters.
	CoverConfigure *CoverConfigureInfo `json:"CoverConfigure,omitnil,omitempty" name:"CoverConfigure"`

	// Intelligent frame tagging task control parameter.
	FrameTagConfigure *FrameTagConfigureInfo `json:"FrameTagConfigure,omitnil,omitempty" name:"FrameTagConfigure"`

	// Intelligent Highlights Compilation Task Control Parameters.
	HighlightConfigure *HighlightsConfigureInfo `json:"HighlightConfigure,omitnil,omitempty" name:"HighlightConfigure"`
}

type CreateAIAnalysisTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content analysis template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content analysis template description. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Intelligent classification task control parameters.
	ClassificationConfigure *ClassificationConfigureInfo `json:"ClassificationConfigure,omitnil,omitempty" name:"ClassificationConfigure"`

	// Intelligent tag task control parameter.
	TagConfigure *TagConfigureInfo `json:"TagConfigure,omitnil,omitempty" name:"TagConfigure"`

	// Intelligent Cover Task Control Parameters.
	CoverConfigure *CoverConfigureInfo `json:"CoverConfigure,omitnil,omitempty" name:"CoverConfigure"`

	// Intelligent frame tagging task control parameter.
	FrameTagConfigure *FrameTagConfigureInfo `json:"FrameTagConfigure,omitnil,omitempty" name:"FrameTagConfigure"`

	// Intelligent Highlights Compilation Task Control Parameters.
	HighlightConfigure *HighlightsConfigureInfo `json:"HighlightConfigure,omitnil,omitempty" name:"HighlightConfigure"`
}

func (r *CreateAIAnalysisTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAIAnalysisTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "ClassificationConfigure")
	delete(f, "TagConfigure")
	delete(f, "CoverConfigure")
	delete(f, "FrameTagConfigure")
	delete(f, "HighlightConfigure")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAIAnalysisTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAIAnalysisTemplateResponseParams struct {
	// Unique identifier of an audio and video content analysis template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAIAnalysisTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateAIAnalysisTemplateResponseParams `json:"Response"`
}

func (r *CreateAIAnalysisTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAIAnalysisTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAIRecognitionTemplateRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content recognition template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content recognition template description. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Video opening and closing recognition control parameters.
	HeadTailConfigure *HeadTailConfigureInfo `json:"HeadTailConfigure,omitnil,omitempty" name:"HeadTailConfigure"`

	// Video split recognition control parameters.
	SegmentConfigure *SegmentConfigureInfo `json:"SegmentConfigure,omitnil,omitempty" name:"SegmentConfigure"`

	// Face recognition control parameter.
	FaceConfigure *FaceConfigureInfo `json:"FaceConfigure,omitnil,omitempty" name:"FaceConfigure"`

	// Text Full-text Recognition Control Parameters.
	OcrFullTextConfigure *OcrFullTextConfigureInfo `json:"OcrFullTextConfigure,omitnil,omitempty" name:"OcrFullTextConfigure"`

	// Text keyword recognition control parameters.
	OcrWordsConfigure *OcrWordsConfigureInfo `json:"OcrWordsConfigure,omitnil,omitempty" name:"OcrWordsConfigure"`

	// Voice full-text recognition control parameters.
	// <font color=red>Note: This parameter is no longer maintained. Use the AsrTranslateConfigure parameter to trigger voice translation recognition (when DstLanguage is left empty or filled with an empty string, no translation is performed, and the billing item matches that of full speech recognition).</font>
	AsrFullTextConfigure *AsrFullTextConfigureInfo `json:"AsrFullTextConfigure,omitnil,omitempty" name:"AsrFullTextConfigure"`

	// Voice keyword recognition control parameters.
	AsrWordsConfigure *AsrWordsConfigureInfo `json:"AsrWordsConfigure,omitnil,omitempty" name:"AsrWordsConfigure"`

	// Voice translation recognition control parameters.
	AsrTranslateConfigure *AsrTranslateConfigureInfo `json:"AsrTranslateConfigure,omitnil,omitempty" name:"AsrTranslateConfigure"`

	// Object recognition control parameters.
	ObjectConfigure *ObjectConfigureInfo `json:"ObjectConfigure,omitnil,omitempty" name:"ObjectConfigure"`

	// Frame interception interval in seconds. If left empty, the default frame interval is 1 second with a minimum value of 0.5 seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

type CreateAIRecognitionTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content recognition template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content recognition template description. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Video opening and closing recognition control parameters.
	HeadTailConfigure *HeadTailConfigureInfo `json:"HeadTailConfigure,omitnil,omitempty" name:"HeadTailConfigure"`

	// Video split recognition control parameters.
	SegmentConfigure *SegmentConfigureInfo `json:"SegmentConfigure,omitnil,omitempty" name:"SegmentConfigure"`

	// Face recognition control parameter.
	FaceConfigure *FaceConfigureInfo `json:"FaceConfigure,omitnil,omitempty" name:"FaceConfigure"`

	// Text Full-text Recognition Control Parameters.
	OcrFullTextConfigure *OcrFullTextConfigureInfo `json:"OcrFullTextConfigure,omitnil,omitempty" name:"OcrFullTextConfigure"`

	// Text keyword recognition control parameters.
	OcrWordsConfigure *OcrWordsConfigureInfo `json:"OcrWordsConfigure,omitnil,omitempty" name:"OcrWordsConfigure"`

	// Voice full-text recognition control parameters.
	// <font color=red>Note: This parameter is no longer maintained. Use the AsrTranslateConfigure parameter to trigger voice translation recognition (when DstLanguage is left empty or filled with an empty string, no translation is performed, and the billing item matches that of full speech recognition).</font>
	AsrFullTextConfigure *AsrFullTextConfigureInfo `json:"AsrFullTextConfigure,omitnil,omitempty" name:"AsrFullTextConfigure"`

	// Voice keyword recognition control parameters.
	AsrWordsConfigure *AsrWordsConfigureInfo `json:"AsrWordsConfigure,omitnil,omitempty" name:"AsrWordsConfigure"`

	// Voice translation recognition control parameters.
	AsrTranslateConfigure *AsrTranslateConfigureInfo `json:"AsrTranslateConfigure,omitnil,omitempty" name:"AsrTranslateConfigure"`

	// Object recognition control parameters.
	ObjectConfigure *ObjectConfigureInfo `json:"ObjectConfigure,omitnil,omitempty" name:"ObjectConfigure"`

	// Frame interception interval in seconds. If left empty, the default frame interval is 1 second with a minimum value of 0.5 seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

func (r *CreateAIRecognitionTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAIRecognitionTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "HeadTailConfigure")
	delete(f, "SegmentConfigure")
	delete(f, "FaceConfigure")
	delete(f, "OcrFullTextConfigure")
	delete(f, "OcrWordsConfigure")
	delete(f, "AsrFullTextConfigure")
	delete(f, "AsrWordsConfigure")
	delete(f, "AsrTranslateConfigure")
	delete(f, "ObjectConfigure")
	delete(f, "ScreenshotInterval")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAIRecognitionTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAIRecognitionTemplateResponseParams struct {
	// Unique identifier of the audio/video content recognition template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAIRecognitionTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateAIRecognitionTemplateResponseParams `json:"Response"`
}

func (r *CreateAIRecognitionTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAIRecognitionTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAdaptiveDynamicStreamingTemplateRequestParams struct {
	// <p>Adaptive Transcoding Format. Value ranges from:</p><li>HLS;</li><li>MPEG-DASH.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// <p>Adaptive Transcoding Output Substream Parameter Information. Up to 10 substreams.<br>Note: The frame rate of each substream must remain consistent. If inconsistent, use the frame rate of the first substream as the output frame rate.</p>
	StreamInfos []*AdaptiveStreamTemplate `json:"StreamInfos,omitnil,omitempty" name:"StreamInfos"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>DRM solution type. Value ranges from:</p><li>SimpleAES</li><li>Widevine</li><li>FairPlay</li><li>Widevine+FairPlay</li>The default value is an empty string. If the value is an empty string, it represents no DRM protection for the video.
	DrmType *string `json:"DrmType,omitnil,omitempty" name:"DrmType"`

	// <p>DRM key provider. Permissible range:</p><li>SDMC: SDMC;</li><li>VOD: video on demand.</li>Default value is VOD.<p>SDMC service will be gradually phased out subsequently. Please use VOD DRM encryption service.</p>
	DrmKeyProvider *string `json:"DrmKeyProvider,omitnil,omitempty" name:"DrmKeyProvider"`

	// <p>Encryption method. Available values:<br>cbcs: supported by Widevine, FairPlay, and WideVine+FairPlay;<br>cenc: supported by Widevine.</p><p>If left blank:<br>cbcs: default method of FairPlay;<br>cenc: default method of Widevine;<br>cbcs: default method of WideVine+FairPlay.</p>
	DrmEncryptType *string `json:"DrmEncryptType,omitnil,omitempty" name:"DrmEncryptType"`

	// <p>Whether to prohibit video low bitrate to high bitrate conversion. Value ranges from:</p><li>0: No,</li><li>1: Yes.</li>Default no.
	DisableHigherVideoBitrate *uint64 `json:"DisableHigherVideoBitrate,omitnil,omitempty" name:"DisableHigherVideoBitrate"`

	// <p>Whether to prohibit video resolution to high resolution conversion. Value ranges from:</p><li>0: No,</li><li>1: Yes.</li>Default no.
	DisableHigherVideoResolution *uint64 `json:"DisableHigherVideoResolution,omitnil,omitempty" name:"DisableHigherVideoResolution"`

	// <p>Template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Segment type, valid when Format is HLS. Available values:</p><li>ts: ts slicing;</li><li>fmp4: fmp4 slicing.</li>Default value: ts.
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`
}

type CreateAdaptiveDynamicStreamingTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <p>Adaptive Transcoding Format. Value ranges from:</p><li>HLS;</li><li>MPEG-DASH.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// <p>Adaptive Transcoding Output Substream Parameter Information. Up to 10 substreams.<br>Note: The frame rate of each substream must remain consistent. If inconsistent, use the frame rate of the first substream as the output frame rate.</p>
	StreamInfos []*AdaptiveStreamTemplate `json:"StreamInfos,omitnil,omitempty" name:"StreamInfos"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>DRM solution type. Value ranges from:</p><li>SimpleAES</li><li>Widevine</li><li>FairPlay</li><li>Widevine+FairPlay</li>The default value is an empty string. If the value is an empty string, it represents no DRM protection for the video.
	DrmType *string `json:"DrmType,omitnil,omitempty" name:"DrmType"`

	// <p>DRM key provider. Permissible range:</p><li>SDMC: SDMC;</li><li>VOD: video on demand.</li>Default value is VOD.<p>SDMC service will be gradually phased out subsequently. Please use VOD DRM encryption service.</p>
	DrmKeyProvider *string `json:"DrmKeyProvider,omitnil,omitempty" name:"DrmKeyProvider"`

	// <p>Encryption method. Available values:<br>cbcs: supported by Widevine, FairPlay, and WideVine+FairPlay;<br>cenc: supported by Widevine.</p><p>If left blank:<br>cbcs: default method of FairPlay;<br>cenc: default method of Widevine;<br>cbcs: default method of WideVine+FairPlay.</p>
	DrmEncryptType *string `json:"DrmEncryptType,omitnil,omitempty" name:"DrmEncryptType"`

	// <p>Whether to prohibit video low bitrate to high bitrate conversion. Value ranges from:</p><li>0: No,</li><li>1: Yes.</li>Default no.
	DisableHigherVideoBitrate *uint64 `json:"DisableHigherVideoBitrate,omitnil,omitempty" name:"DisableHigherVideoBitrate"`

	// <p>Whether to prohibit video resolution to high resolution conversion. Value ranges from:</p><li>0: No,</li><li>1: Yes.</li>Default no.
	DisableHigherVideoResolution *uint64 `json:"DisableHigherVideoResolution,omitnil,omitempty" name:"DisableHigherVideoResolution"`

	// <p>Template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Segment type, valid when Format is HLS. Available values:</p><li>ts: ts slicing;</li><li>fmp4: fmp4 slicing.</li>Default value: ts.
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`
}

func (r *CreateAdaptiveDynamicStreamingTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAdaptiveDynamicStreamingTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Format")
	delete(f, "StreamInfos")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "DrmType")
	delete(f, "DrmKeyProvider")
	delete(f, "DrmEncryptType")
	delete(f, "DisableHigherVideoBitrate")
	delete(f, "DisableHigherVideoResolution")
	delete(f, "Comment")
	delete(f, "SegmentType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAdaptiveDynamicStreamingTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAdaptiveDynamicStreamingTemplateResponseParams struct {
	// <p>Unique identifier of the adaptive transcoding template.</p>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAdaptiveDynamicStreamingTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateAdaptiveDynamicStreamingTemplateResponseParams `json:"Response"`
}

func (r *CreateAdaptiveDynamicStreamingTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAdaptiveDynamicStreamingTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcAdvancedCustomElementInput struct {
	// <p>Subject name.</p>
	ElementName *string `json:"ElementName,omitnil,omitempty" name:"ElementName"`

	// <p>Subject description.</p>
	ElementDescription *string `json:"ElementDescription,omitnil,omitempty" name:"ElementDescription"`

	// <p>Subject reference method.</p>
	ReferenceType *string `json:"ReferenceType,omitnil,omitempty" name:"ReferenceType"`

	// <p>Main voice type.</p>
	ElementVoiceId *string `json:"ElementVoiceId,omitnil,omitempty" name:"ElementVoiceId"`

	// <p>Reference video.</p>
	ElementVideoList *string `json:"ElementVideoList,omitnil,omitempty" name:"ElementVideoList"`

	// <p>Subject reference diagram.</p>
	ElementImageList *string `json:"ElementImageList,omitnil,omitempty" name:"ElementImageList"`

	// <p>Subject configuration tag.</p>
	TagList *string `json:"TagList,omitnil,omitempty" name:"TagList"`
}

type CreateAigcAdvancedCustomElementOutput struct {
	// <p>Custom subject list.</p>
	InfoList []*AdvancedElementInfo `json:"InfoList,omitnil,omitempty" name:"InfoList"`
}

// Predefined struct for user
type CreateAigcAdvancedCustomElementRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Subject name cannot exceed 20 characters.</p>
	ElementName *string `json:"ElementName,omitnil,omitempty" name:"ElementName"`

	// <p>Subject description, with a length limit of 100 characters.</p>
	ElementDescription *string `json:"ElementDescription,omitnil,omitempty" name:"ElementDescription"`

	// <p>Reference method for the subject. The availability area differs between subjects customized via video and those customized via images.</p><p>Enumeration value:</p><ul><li>video_refer: Video character subject. At this point, the subject appearance is defined by referring to element_video_list.</li><li>image_refer: Multi-image subject. At this point, the subject appearance is defined by referring to element_image_list.</li></ul>
	ReferenceType *string `json:"ReferenceType,omitnil,omitempty" name:"ReferenceType"`

	// <p>Voice type of the current entity. You can bind an existing timbre from the timbre library.</p><ul><li>When the current parameter is empty, the current entity is not bound to a timbre.</li><li>Only customized video entities support binding a timbre.</li></ul>
	ElementVoiceId *string `json:"ElementVoiceId,omitnil,omitempty" name:"ElementVoiceId"`

	// <p>Reference video for the entity. You can set the entity and its details through the video.</p><ul><li>You can upload a video with sound. If the video contains voice, it will trigger timbre customization (customization + adding to the timbre library + binding to the entity).</li><li>The current parameter is required when referencing a video and is invalid when referencing an image.</li><li>Use key:value pairs as follows:<br><pre><code>{  "refer_videos":[    {      "video_url":"video_url_1"    }  ]}</code></pre>● Only MP4/MOV video formats are supported.<br>● Only 1080p videos with a duration between 3s–8s and an aspect ratio of 16:9 or 9:16 are supported.<br>● Up to 1 video can be uploaded, with a video size of no more than 200MB.<br>● The video_url parameter value cannot be empty.</li></ul>
	ElementVideoList *string `json:"ElementVideoList,omitnil,omitempty" name:"ElementVideoList"`

	// <p>Reference images of the subject can be set with multiple images and its details.</p><ul><li>Including front reference images and other perspectives or close-up reference images. Among them:<ul><li>At least 1 front reference image is required, defined by the frontal_image parameter.</li><li>1–3 other reference images are required, with differences from the front reference image, defined by the image_url parameter.</li></ul></li><li>Use key:value to carry, as follows:<br><pre><code>{  &quot;frontal_image&quot;:&quot;image_url_0&quot;,  &quot;refer_images&quot;:[    {      &quot;image_url&quot;:&quot;image_url_1&quot;    },    {      &quot;image_url&quot;:&quot;image_url_2&quot;    },    {      &quot;image_url&quot;:&quot;image_url_3&quot;    }  ]}</code></pre></li></ul>
	ElementImageList *string `json:"ElementImageList,omitnil,omitempty" name:"ElementImageList"`

	// <p>Configure tags for a subject. A subject can be configured with multiple tags.</p><ul><li>Use key:value pairs to carry them. Details are given below:</li></ul><p><pre><code>[  {        "tag_id": "o_101"  }, {        "tag_id": "o_102"    }]</code></pre></p>
	TagList *string `json:"TagList,omitnil,omitempty" name:"TagList"`

	// <p>If the overseas custom subject library is enabled, you can input <code>True</code> to use it.</p><p>Enumeration value:</p><ul><li>True: Use the overseas custom subject library.</li><li>False: Non-use of the overseas custom subject library.</li></ul>
	DisableModeration *string `json:"DisableModeration,omitnil,omitempty" name:"DisableModeration"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The task complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

type CreateAigcAdvancedCustomElementRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Subject name cannot exceed 20 characters.</p>
	ElementName *string `json:"ElementName,omitnil,omitempty" name:"ElementName"`

	// <p>Subject description, with a length limit of 100 characters.</p>
	ElementDescription *string `json:"ElementDescription,omitnil,omitempty" name:"ElementDescription"`

	// <p>Reference method for the subject. The availability area differs between subjects customized via video and those customized via images.</p><p>Enumeration value:</p><ul><li>video_refer: Video character subject. At this point, the subject appearance is defined by referring to element_video_list.</li><li>image_refer: Multi-image subject. At this point, the subject appearance is defined by referring to element_image_list.</li></ul>
	ReferenceType *string `json:"ReferenceType,omitnil,omitempty" name:"ReferenceType"`

	// <p>Voice type of the current entity. You can bind an existing timbre from the timbre library.</p><ul><li>When the current parameter is empty, the current entity is not bound to a timbre.</li><li>Only customized video entities support binding a timbre.</li></ul>
	ElementVoiceId *string `json:"ElementVoiceId,omitnil,omitempty" name:"ElementVoiceId"`

	// <p>Reference video for the entity. You can set the entity and its details through the video.</p><ul><li>You can upload a video with sound. If the video contains voice, it will trigger timbre customization (customization + adding to the timbre library + binding to the entity).</li><li>The current parameter is required when referencing a video and is invalid when referencing an image.</li><li>Use key:value pairs as follows:<br><pre><code>{  "refer_videos":[    {      "video_url":"video_url_1"    }  ]}</code></pre>● Only MP4/MOV video formats are supported.<br>● Only 1080p videos with a duration between 3s–8s and an aspect ratio of 16:9 or 9:16 are supported.<br>● Up to 1 video can be uploaded, with a video size of no more than 200MB.<br>● The video_url parameter value cannot be empty.</li></ul>
	ElementVideoList *string `json:"ElementVideoList,omitnil,omitempty" name:"ElementVideoList"`

	// <p>Reference images of the subject can be set with multiple images and its details.</p><ul><li>Including front reference images and other perspectives or close-up reference images. Among them:<ul><li>At least 1 front reference image is required, defined by the frontal_image parameter.</li><li>1–3 other reference images are required, with differences from the front reference image, defined by the image_url parameter.</li></ul></li><li>Use key:value to carry, as follows:<br><pre><code>{  &quot;frontal_image&quot;:&quot;image_url_0&quot;,  &quot;refer_images&quot;:[    {      &quot;image_url&quot;:&quot;image_url_1&quot;    },    {      &quot;image_url&quot;:&quot;image_url_2&quot;    },    {      &quot;image_url&quot;:&quot;image_url_3&quot;    }  ]}</code></pre></li></ul>
	ElementImageList *string `json:"ElementImageList,omitnil,omitempty" name:"ElementImageList"`

	// <p>Configure tags for a subject. A subject can be configured with multiple tags.</p><ul><li>Use key:value pairs to carry them. Details are given below:</li></ul><p><pre><code>[  {        "tag_id": "o_101"  }, {        "tag_id": "o_102"    }]</code></pre></p>
	TagList *string `json:"TagList,omitnil,omitempty" name:"TagList"`

	// <p>If the overseas custom subject library is enabled, you can input <code>True</code> to use it.</p><p>Enumeration value:</p><ul><li>True: Use the overseas custom subject library.</li><li>False: Non-use of the overseas custom subject library.</li></ul>
	DisableModeration *string `json:"DisableModeration,omitnil,omitempty" name:"DisableModeration"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The task complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

func (r *CreateAigcAdvancedCustomElementRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcAdvancedCustomElementRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "ElementName")
	delete(f, "ElementDescription")
	delete(f, "ReferenceType")
	delete(f, "ElementVoiceId")
	delete(f, "ElementVideoList")
	delete(f, "ElementImageList")
	delete(f, "TagList")
	delete(f, "DisableModeration")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcAdvancedCustomElementRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcAdvancedCustomElementResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcAdvancedCustomElementResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcAdvancedCustomElementResponseParams `json:"Response"`
}

func (r *CreateAigcAdvancedCustomElementResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcAdvancedCustomElementResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcAdvancedCustomElementTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status.</p><p>Enumeration value:</p><ul><li>PROCESSING: Processing</li><li>FINISH: Completed</li></ul>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. A non-zero error code is returned back when a source error occurs. Please use the ErrCode of each specific task when 0 is returned.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Extended error code. A null string indicates success, other values indicate failure.</p>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, with a value range of [0-100].</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Input of the task to create a custom AIGC subject.</p>
	Input *CreateAigcAdvancedCustomElementInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Create custom AIGC task output information.</p>
	Output *CreateAigcAdvancedCustomElementOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

// Predefined struct for user
type CreateAigcApiTokenRequestParams struct {
	// <b>The VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. customers who activate on-demand services from december 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CreateAigcApiTokenRequest struct {
	*tchttp.BaseRequest
	
	// <b>The VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. customers who activate on-demand services from december 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CreateAigcApiTokenRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcApiTokenRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcApiTokenRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcApiTokenResponseParams struct {
	// API Token.
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcApiTokenResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcApiTokenResponseParams `json:"Response"`
}

func (r *CreateAigcApiTokenResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcApiTokenResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcAudioCloneInput struct {
	// <p>The original audio file. The model will clone the voice type based on the audio timbre passed in this parameter as an example.</p>
	AudioFileInfo *AigcAudioCloneInputFileInfo `json:"AudioFileInfo,omitnil,omitempty" name:"AudioFileInfo"`

	// <p>Custom voice ID.</p>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Clone audition parameters.</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p>Example audio for voice replication.</p>
	PromptAudioFileInfo *AigcAudioCloneInputFileInfo `json:"PromptAudioFileInfo,omitnil,omitempty" name:"PromptAudioFileInfo"`

	// <p>Text content of the sample audio.</p>
	PromptText *string `json:"PromptText,omitnil,omitempty" name:"PromptText"`

	// <p>Pass-through parameter.</p>
	Payload *string `json:"Payload,omitnil,omitempty" name:"Payload"`
}

type CreateAigcAudioCloneOutput struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Processing status.</p>
	State *string `json:"State,omitnil,omitempty" name:"State"`

	// <p>voice_id customized by users. Do not return if the task fails.</p>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>If the audition text is passed in the request body, this parameter returns the audio audition in link format, otherwise this parameter is empty.</p>
	DemoAudio *string `json:"DemoAudio,omitnil,omitempty" name:"DemoAudio"`

	// <p>Pass-through parameter passed in this call.</p>
	Payload *string `json:"Payload,omitnil,omitempty" name:"Payload"`

	// <p>Task creation time.</p>
	CreatedAt *string `json:"CreatedAt,omitnil,omitempty" name:"CreatedAt"`
}

// Predefined struct for user
type CreateAigcAudioCloneRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, this field must be filled with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>The original audio file (ensure it is accessible). The model will clone the voice type based on the audio timbre passed in this parameter as an example.</p><p>Input parameter limits: Note 1: Supported formats for audio: mp3, m4a, wav; Note 2: The duration of the uploaded audio should be no less than 10 seconds and not more than 5 minutes; Note 3: The audio file size should be no more than 20 MB; Note 4: The audio content must not involve copyright issues, otherwise it will be taken down or terminated.</p>
	AudioFileInfo *AigcAudioCloneInputFileInfo `json:"AudioFileInfo,omitnil,omitempty" name:"AudioFileInfo"`

	// <p>Custom voice ID, for example: "vidu01".</p><p>Input parameter limits:</p><ul><li>Custom voice_ID length range [8,256];</li><li>The first character must be an English letter;</li><li>Allow numbers, letters, hyphens, underscores;</li><li>The last character cannot be - or _;</li><li>voice_ID cannot duplicate existing IDs, otherwise an error will occur.</li></ul>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Clone audition parameters.</p><p>Parameter format: Character limit up to 1000. The model will read aloud the segment text content using the cloned voice type and return the audition audio link. Note: The text to speech fee will be charged based on the number of characters.</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p>Voice replication sample audio. Providing this parameter will help enhance the similarity and stability of text to speech voice type. If you use this parameter, upload a short sample audio at the same time.</p><p>Input parameter limitation: Note 1: Formats supported for audio: mp3, m4a, wav; Note 2: Duration of the uploaded audio should be less than 8 seconds; Note 3: Audio file size should be no more than 20mb.</p>
	PromptAudioFileInfo *AigcAudioCloneInputFileInfo `json:"PromptAudioFileInfo,omitnil,omitempty" name:"PromptAudioFileInfo"`

	// <p>The text content corresponding to the sample audio must match the audio content. Punctuation is required at the end of sentence.</p>
	PromptText *string `json:"PromptText,omitnil,omitempty" name:"PromptText"`

	// <p>Pass-through parameter. Input parameter limit: Without any processing, only data transmission. Note: Up to 1048576 characters.</p>
	Payload *string `json:"Payload,omitnil,omitempty" name:"Payload"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type CreateAigcAudioCloneRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, this field must be filled with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>The original audio file (ensure it is accessible). The model will clone the voice type based on the audio timbre passed in this parameter as an example.</p><p>Input parameter limits: Note 1: Supported formats for audio: mp3, m4a, wav; Note 2: The duration of the uploaded audio should be no less than 10 seconds and not more than 5 minutes; Note 3: The audio file size should be no more than 20 MB; Note 4: The audio content must not involve copyright issues, otherwise it will be taken down or terminated.</p>
	AudioFileInfo *AigcAudioCloneInputFileInfo `json:"AudioFileInfo,omitnil,omitempty" name:"AudioFileInfo"`

	// <p>Custom voice ID, for example: "vidu01".</p><p>Input parameter limits:</p><ul><li>Custom voice_ID length range [8,256];</li><li>The first character must be an English letter;</li><li>Allow numbers, letters, hyphens, underscores;</li><li>The last character cannot be - or _;</li><li>voice_ID cannot duplicate existing IDs, otherwise an error will occur.</li></ul>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Clone audition parameters.</p><p>Parameter format: Character limit up to 1000. The model will read aloud the segment text content using the cloned voice type and return the audition audio link. Note: The text to speech fee will be charged based on the number of characters.</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p>Voice replication sample audio. Providing this parameter will help enhance the similarity and stability of text to speech voice type. If you use this parameter, upload a short sample audio at the same time.</p><p>Input parameter limitation: Note 1: Formats supported for audio: mp3, m4a, wav; Note 2: Duration of the uploaded audio should be less than 8 seconds; Note 3: Audio file size should be no more than 20mb.</p>
	PromptAudioFileInfo *AigcAudioCloneInputFileInfo `json:"PromptAudioFileInfo,omitnil,omitempty" name:"PromptAudioFileInfo"`

	// <p>The text content corresponding to the sample audio must match the audio content. Punctuation is required at the end of sentence.</p>
	PromptText *string `json:"PromptText,omitnil,omitempty" name:"PromptText"`

	// <p>Pass-through parameter. Input parameter limit: Without any processing, only data transmission. Note: Up to 1048576 characters.</p>
	Payload *string `json:"Payload,omitnil,omitempty" name:"Payload"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *CreateAigcAudioCloneRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcAudioCloneRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "AudioFileInfo")
	delete(f, "VoiceId")
	delete(f, "Text")
	delete(f, "PromptAudioFileInfo")
	delete(f, "PromptText")
	delete(f, "Payload")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcAudioCloneRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcAudioCloneResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcAudioCloneResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcAudioCloneResponseParams `json:"Response"`
}

func (r *CreateAigcAudioCloneResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcAudioCloneResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcAudioCloneTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status. Valid values: <li>PROCESSING: Processing; </li><li>FINISH: Completed.</li></p>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. Returns a non-zero error code in case of a source error. Please use the ErrCode of each specific task when 0 is returned.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Error code expansion. A null string indicates success, while other values indicate failure.</p>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, value ranges from 0 to 100.</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Input information for the AIGC audio clone task.</p>
	Input *CreateAigcAudioCloneInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Output information for the AIGC audio clone task.</p>
	Output *CreateAigcAudioCloneOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

// Predefined struct for user
type CreateAigcAudioTaskRequestParams struct {
	// <p>VOD app ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).</p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Model name.</p>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Specify the model version number. By default, the system uses the supported stable version of the model.</p>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>Designated scenarios currently support sfx (sound effects) and music.</p>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p>Description of the generated audio</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>Reference video info</p>
	VideoInfos []*AigcAudioReferenceVideoInfo `json:"VideoInfos,omitnil,omitempty" name:"VideoInfos"`

	// <p>Input the reference audio content.</p><p>For example, input is required for music generation.</p>
	AudioInfos []*AigcAudioReferenceAudioInfo `json:"AudioInfos,omitnil,omitempty" name:"AudioInfos"`

	// <p>Output parameter</p>
	OutputConfig *AigcAudioOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Special scenario parameters required by the model, formatted as a JSON serialized string.<br>Example:<br>{"camera_control":{"type":"simple"}}.</p>
	AdditionalParameters *string `json:"AdditionalParameters,omitnil,omitempty" name:"AdditionalParameters"`
}

type CreateAigcAudioTaskRequest struct {
	*tchttp.BaseRequest
	
	// <p>VOD app ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).</p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Model name.</p>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Specify the model version number. By default, the system uses the supported stable version of the model.</p>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>Designated scenarios currently support sfx (sound effects) and music.</p>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p>Description of the generated audio</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>Reference video info</p>
	VideoInfos []*AigcAudioReferenceVideoInfo `json:"VideoInfos,omitnil,omitempty" name:"VideoInfos"`

	// <p>Input the reference audio content.</p><p>For example, input is required for music generation.</p>
	AudioInfos []*AigcAudioReferenceAudioInfo `json:"AudioInfos,omitnil,omitempty" name:"AudioInfos"`

	// <p>Output parameter</p>
	OutputConfig *AigcAudioOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Special scenario parameters required by the model, formatted as a JSON serialized string.<br>Example:<br>{"camera_control":{"type":"simple"}}.</p>
	AdditionalParameters *string `json:"AdditionalParameters,omitnil,omitempty" name:"AdditionalParameters"`
}

func (r *CreateAigcAudioTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcAudioTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "ModelName")
	delete(f, "ModelVersion")
	delete(f, "SceneType")
	delete(f, "Prompt")
	delete(f, "VideoInfos")
	delete(f, "AudioInfos")
	delete(f, "OutputConfig")
	delete(f, "AdditionalParameters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcAudioTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcAudioTaskResponseParams struct {
	// <p>Returned task ID after the task is created successfully.<br>The task progress and generation results can be obtained by calling the query API.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcAudioTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcAudioTaskResponseParams `json:"Response"`
}

func (r *CreateAigcAudioTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcAudioTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcCustomElementRequestParams struct {
	// Subject name cannot exceed 20 characters.
	ElementName *string `json:"ElementName,omitnil,omitempty" name:"ElementName"`

	// Subject description.
	// 
	// Up to 100 characters.
	ElementDescription *string `json:"ElementDescription,omitnil,omitempty" name:"ElementDescription"`

	// Front reference image of the subject.
	// Support input image URL (underwrite accessible).
	// Image format. Valid values: .jpg, .jpeg, and .png.
	// The image file size must not exceed 10MB, with image width and height not less than 300px and image aspect ratio between 1:2.5 and 2.5:1.
	ElementFrontalImage *string `json:"ElementFrontalImage,omitnil,omitempty" name:"ElementFrontalImage"`

	// Reference list of other subjects. Upload multiple subject reference images from different angles to define the subject appearance. Upload at least 1 reference image, up to 3 reference images.
	ElementReferList []*ElementReferInfo `json:"ElementReferList,omitnil,omitempty" name:"ElementReferList"`
}

type CreateAigcCustomElementRequest struct {
	*tchttp.BaseRequest
	
	// Subject name cannot exceed 20 characters.
	ElementName *string `json:"ElementName,omitnil,omitempty" name:"ElementName"`

	// Subject description.
	// 
	// Up to 100 characters.
	ElementDescription *string `json:"ElementDescription,omitnil,omitempty" name:"ElementDescription"`

	// Front reference image of the subject.
	// Support input image URL (underwrite accessible).
	// Image format. Valid values: .jpg, .jpeg, and .png.
	// The image file size must not exceed 10MB, with image width and height not less than 300px and image aspect ratio between 1:2.5 and 2.5:1.
	ElementFrontalImage *string `json:"ElementFrontalImage,omitnil,omitempty" name:"ElementFrontalImage"`

	// Reference list of other subjects. Upload multiple subject reference images from different angles to define the subject appearance. Upload at least 1 reference image, up to 3 reference images.
	ElementReferList []*ElementReferInfo `json:"ElementReferList,omitnil,omitempty" name:"ElementReferList"`
}

func (r *CreateAigcCustomElementRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcCustomElementRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ElementName")
	delete(f, "ElementDescription")
	delete(f, "ElementFrontalImage")
	delete(f, "ElementReferList")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcCustomElementRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcCustomElementResponseParams struct {
	// Subject ID. Need to record the returned subject ID yourself.
	ElementId *string `json:"ElementId,omitnil,omitempty" name:"ElementId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcCustomElementResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcCustomElementResponseParams `json:"Response"`
}

func (r *CreateAigcCustomElementResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcCustomElementResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcCustomVoiceInput struct {
	// <p>Timbre name.</p>
	VoiceName *string `json:"VoiceName,omitnil,omitempty" name:"VoiceName"`

	// <p>Access link for the voice type data file.</p>
	VoiceUrl *string `json:"VoiceUrl,omitnil,omitempty" name:"VoiceUrl"`

	// <p>History works ID. Audio material can be provided by referring to historic works.</p>
	VideoId *string `json:"VideoId,omitnil,omitempty" name:"VideoId"`
}

type CreateAigcCustomVoiceOutput struct {
	// <p>Custom timbre list.</p>
	InfoList []*CustomVoiceInfo `json:"InfoList,omitnil,omitempty" name:"InfoList"`
}

// Predefined struct for user
type CreateAigcCustomVoiceRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications, whether it is the default application or a newly created application.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Timbre name. The maximum length of the text content is 20 characters.</p>
	VoiceName *string `json:"VoiceName,omitnil,omitempty" name:"VoiceName"`

	// <p>Access link for the timbre data file. Supports audio/video files in .mp3 / .wav / .mp4 / .mov format. The voice in the audio should be clean and noiseless, with only one voice type. The duration should be no shorter than 5 seconds and no longer than 30 seconds.</p>
	VoiceUrl *string `json:"VoiceUrl,omitnil,omitempty" name:"VoiceUrl"`

	// <p>History works ID. Audio material can be provided by referring to history works.</p>
	VideoId *string `json:"VideoId,omitnil,omitempty" name:"VideoId"`

	// <p>If the overseas custom timbre library is enabled, you can input <code>True</code> to use it.</p><p>Enumeration value:</p><ul><li>True: Use the overseas custom timbre library.</li><li>False: Non-use of the overseas custom timbre library.</li></ul>
	DisableModeration *string `json:"DisableModeration,omitnil,omitempty" name:"DisableModeration"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The task complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

type CreateAigcCustomVoiceRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications, whether it is the default application or a newly created application.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Timbre name. The maximum length of the text content is 20 characters.</p>
	VoiceName *string `json:"VoiceName,omitnil,omitempty" name:"VoiceName"`

	// <p>Access link for the timbre data file. Supports audio/video files in .mp3 / .wav / .mp4 / .mov format. The voice in the audio should be clean and noiseless, with only one voice type. The duration should be no shorter than 5 seconds and no longer than 30 seconds.</p>
	VoiceUrl *string `json:"VoiceUrl,omitnil,omitempty" name:"VoiceUrl"`

	// <p>History works ID. Audio material can be provided by referring to history works.</p>
	VideoId *string `json:"VideoId,omitnil,omitempty" name:"VideoId"`

	// <p>If the overseas custom timbre library is enabled, you can input <code>True</code> to use it.</p><p>Enumeration value:</p><ul><li>True: Use the overseas custom timbre library.</li><li>False: Non-use of the overseas custom timbre library.</li></ul>
	DisableModeration *string `json:"DisableModeration,omitnil,omitempty" name:"DisableModeration"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The task complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

func (r *CreateAigcCustomVoiceRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcCustomVoiceRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "VoiceName")
	delete(f, "VoiceUrl")
	delete(f, "VideoId")
	delete(f, "DisableModeration")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcCustomVoiceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcCustomVoiceResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcCustomVoiceResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcCustomVoiceResponseParams `json:"Response"`
}

func (r *CreateAigcCustomVoiceResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcCustomVoiceResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcCustomVoiceTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status.</p><p>Enumeration value:</p><ul><li>PROCESSING: Processing</li><li>FINISH: Completed</li></ul>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. A non-zero error code is returned back when a source error occurs. Please use the ErrCode of each specific task when 0 is returned.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Extended error code. A null string indicates success, other values indicate failure.</p>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, with a value range of [0-100].</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Create AIGC custom timbre input.</p>
	Input *CreateAigcCustomVoiceInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Create custom voice type output message for AIGC.</p>
	Output *CreateAigcCustomVoiceOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

// Predefined struct for user
type CreateAigcImageTaskRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications, whether it is the default application or a newly created application.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Model name. Value:</p><li>OG</li><li>GG</li><li>SI</li><li>Qwen</li><li>Hunyuan</li><li>Vidu</li><li>Kling</li>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Model version. Parameter:</p><li>When ModelName is OG, available values are image2_low, image2_medium, image2_high;</li><li>When ModelName is GG, available values are 2.5, 3.0, 3.1;</li><li>When ModelName is Jimeng, available values are 4.0;</li><li>When ModelName is SI, available values are 4.0, 4.5, 5.0-lite;</li><li>When ModelName is Qwen, available values are 0925;</li><li>When ModelName is Hunyuan, available values are 3.0;</li><li>When ModelName is Vidu, available values are q2;</li><li>When ModelName is Kling, available values are 2.1, 3.0, 3.0-Omni, O1, scene;</li>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>File information of the input image for the AIGC image generation task. Maximum number of reference images supported by each model:</p><ul><li>GG 2.5: 3;</li><li>GG 3.0: 14;</li><li>GG 3.1: 14;</li><li>Kling 2.1: 4;</li><li>Kling 3.0: 1;</li><li>Kling 3.0-Omni: 10;</li><li>Kling O1: 10;</li><li>SI 4.0: 14;</li><li>SI 4.5: 14;</li><li>SI 5.0-lite: 14;</li><li>Vidu q2: 7;</li><li>Hunyuan 3.0: 3;</li><li>Qwen 0925: 1;</li><li>MJ v7: 3.</li></ul>
	FileInfos []*AigcImageTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Prompt for image generation. This parameter is required when FileInfos is empty.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>To prevent the model from generating image prompts.</p>
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// <p>Whether to optimize Prompt content automatically. When Enabled, the passed in Prompt will be optimized automatically to enhance generation quality. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	EnhancePrompt *string `json:"EnhancePrompt,omitnil,omitempty" name:"EnhancePrompt"`

	// <p>Output media file configuration for the image generation task.</p>
	OutputConfig *AigcImageOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Input region information. Available values:</p><ul><li>Mainland: Chinese mainland;</li><li>Oversea: overseas;</li><li>OverseaUSWest: overseas - western United States;</li></ul>
	InputRegion *string `json:"InputRegion,omitnil,omitempty" name:"InputRegion"`

	// <p>Scenario type. Values are as follows:</p><li>When ModelName is Hunyuan: 3d_panorama means panoramic view;</li><li>When ModelName is Kling: image_expand means image expansion;</li><li>Other ModelNames are not currently supported.</li>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p>Random seed of the model.</p>
	Seed *int64 `json:"Seed,omitnil,omitempty" name:"Seed"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used for special purpose.</p><ul><li><p>Hunyuan 3.0</p><ul><li>Supports freely setting resolution width and height, both within [512, 2048] pixels, with the product of width and height ≤ 1024x1024 pixels. Example: <code>{"AdditionalParameters": "{\"size\":\"728x1024\"}"}</code></li></ul></li><li><p>SI series</p><ul><li>Supports freely setting resolution width and height:<ul><li>SI 4.0: Valid total pixel range [1280x720=921600, 4096x4096=16777216]. Example: <code>{"AdditionalParameters": "{\"size\":\"728x1356\"}"}</code></li><li>SI 4.5: Valid total pixel range [2560x1440=3686400, 4096x4096=16777216]. Example: <code>{"AdditionalParameters": "{\"size\":\"2560x1440\"}"}</code></li><li>SI 5.0-lite: Valid total pixel range [2560x1440=3686400, 3072x3072x1.1025=10404496]. Example: <code>{"AdditionalParameters": "{\"size\":\"2560x1440\"}"}</code></li></ul></li><li>Can be used to enable output of multiple images. Example: <code>{"AdditionalParameters": "{\"sequential_image_generation\":\"auto\"}"}</code>. Besides, the number of images to output must be specified in the <code>Prompt</code>, such as "output 3 images".</li></ul></li><li><p>Qwen 0925</p><ul><li>Supports freely setting resolution width and height, with valid total pixel range [512x512=261632, 2048x2048=4194304]. Example: <code>{"AdditionalParameters": "{\"size\":\"728*1024\"}"}</code></li></ul></li><li><p>OG</p><ul><li>Supports freely setting resolution width and height:<ul><li>Pixel size must be divisible by 16.</li><li>Total pixels must be at least 655,360 and should not exceed 8,294,400.</li><li>Example: <code>{"AdditionalParameters": "{\"size\":\"728*1024\"}"}</code></li></ul></li><li>Supports setting transparent layer:<ul><li>Example: <code>{"AdditionalParameters": "{\"background\":\"transparent\"}"}</code></li></ul></li></ul></li><li><p>Kling</p><ul><li>Supports setting image expansion parameters. Example: <code>{AdditionalParameters":"{\"down_expansion_ratio\":0.2,\"left_expansion_ratio\":0.3,\"right_expansion_ratio\":0.4,\"up_expansion_ratio\":0.1}}</code><ul><li>Common constraints:<ul><li>Value range: [0, 2].</li><li>The overall area of the new image should not exceed 3 times that of the original image.</li><li>Forward prompts can be input through the <code>Prompt</code> field.</li><li>Example description:<ul><li>up_expansion_ratio: Upward expansion range, calculated based on a multiple of the original image height. If the original image height is 20 and the parameter value is 0.1, the distance from the top edge of the original image to the top edge of the new image is 20 × 0.1 = 2, which is the expansion range.</li><li>down_expansion_ratio: Downward expansion range, calculated based on a multiple of the original image height. If the original image height is 20 and the parameter value is 0.2, the distance from the bottom edge of the original image to the bottom edge of the new image is 20 × 0.2 = 4, which is the expansion range.</li><li>left_expansion_ratio: Leftward expansion range, calculated based on a multiple of the original image width. If the original image width is 30 and the parameter value is 0.3, the distance from the left edge of the original image to the left edge of the new image is 30 × 0.3 = 9, which is the expansion range.</li><li>right_expansion_ratio: Rightward expansion range, calculated based on a multiple of the original image width. If the original image width is 30 and the parameter value is 0.4, the distance from the right edge of the original image to the right edge of the new image is 30 × 0.4 = 12, which is the expansion range.</li></ul></li></ul></li></ul></li></ul></li></ul>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type CreateAigcImageTaskRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications, whether it is the default application or a newly created application.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Model name. Value:</p><li>OG</li><li>GG</li><li>SI</li><li>Qwen</li><li>Hunyuan</li><li>Vidu</li><li>Kling</li>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Model version. Parameter:</p><li>When ModelName is OG, available values are image2_low, image2_medium, image2_high;</li><li>When ModelName is GG, available values are 2.5, 3.0, 3.1;</li><li>When ModelName is Jimeng, available values are 4.0;</li><li>When ModelName is SI, available values are 4.0, 4.5, 5.0-lite;</li><li>When ModelName is Qwen, available values are 0925;</li><li>When ModelName is Hunyuan, available values are 3.0;</li><li>When ModelName is Vidu, available values are q2;</li><li>When ModelName is Kling, available values are 2.1, 3.0, 3.0-Omni, O1, scene;</li>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>File information of the input image for the AIGC image generation task. Maximum number of reference images supported by each model:</p><ul><li>GG 2.5: 3;</li><li>GG 3.0: 14;</li><li>GG 3.1: 14;</li><li>Kling 2.1: 4;</li><li>Kling 3.0: 1;</li><li>Kling 3.0-Omni: 10;</li><li>Kling O1: 10;</li><li>SI 4.0: 14;</li><li>SI 4.5: 14;</li><li>SI 5.0-lite: 14;</li><li>Vidu q2: 7;</li><li>Hunyuan 3.0: 3;</li><li>Qwen 0925: 1;</li><li>MJ v7: 3.</li></ul>
	FileInfos []*AigcImageTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Prompt for image generation. This parameter is required when FileInfos is empty.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>To prevent the model from generating image prompts.</p>
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// <p>Whether to optimize Prompt content automatically. When Enabled, the passed in Prompt will be optimized automatically to enhance generation quality. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	EnhancePrompt *string `json:"EnhancePrompt,omitnil,omitempty" name:"EnhancePrompt"`

	// <p>Output media file configuration for the image generation task.</p>
	OutputConfig *AigcImageOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Input region information. Available values:</p><ul><li>Mainland: Chinese mainland;</li><li>Oversea: overseas;</li><li>OverseaUSWest: overseas - western United States;</li></ul>
	InputRegion *string `json:"InputRegion,omitnil,omitempty" name:"InputRegion"`

	// <p>Scenario type. Values are as follows:</p><li>When ModelName is Hunyuan: 3d_panorama means panoramic view;</li><li>When ModelName is Kling: image_expand means image expansion;</li><li>Other ModelNames are not currently supported.</li>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p>Random seed of the model.</p>
	Seed *int64 `json:"Seed,omitnil,omitempty" name:"Seed"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used for special purpose.</p><ul><li><p>Hunyuan 3.0</p><ul><li>Supports freely setting resolution width and height, both within [512, 2048] pixels, with the product of width and height ≤ 1024x1024 pixels. Example: <code>{"AdditionalParameters": "{\"size\":\"728x1024\"}"}</code></li></ul></li><li><p>SI series</p><ul><li>Supports freely setting resolution width and height:<ul><li>SI 4.0: Valid total pixel range [1280x720=921600, 4096x4096=16777216]. Example: <code>{"AdditionalParameters": "{\"size\":\"728x1356\"}"}</code></li><li>SI 4.5: Valid total pixel range [2560x1440=3686400, 4096x4096=16777216]. Example: <code>{"AdditionalParameters": "{\"size\":\"2560x1440\"}"}</code></li><li>SI 5.0-lite: Valid total pixel range [2560x1440=3686400, 3072x3072x1.1025=10404496]. Example: <code>{"AdditionalParameters": "{\"size\":\"2560x1440\"}"}</code></li></ul></li><li>Can be used to enable output of multiple images. Example: <code>{"AdditionalParameters": "{\"sequential_image_generation\":\"auto\"}"}</code>. Besides, the number of images to output must be specified in the <code>Prompt</code>, such as "output 3 images".</li></ul></li><li><p>Qwen 0925</p><ul><li>Supports freely setting resolution width and height, with valid total pixel range [512x512=261632, 2048x2048=4194304]. Example: <code>{"AdditionalParameters": "{\"size\":\"728*1024\"}"}</code></li></ul></li><li><p>OG</p><ul><li>Supports freely setting resolution width and height:<ul><li>Pixel size must be divisible by 16.</li><li>Total pixels must be at least 655,360 and should not exceed 8,294,400.</li><li>Example: <code>{"AdditionalParameters": "{\"size\":\"728*1024\"}"}</code></li></ul></li><li>Supports setting transparent layer:<ul><li>Example: <code>{"AdditionalParameters": "{\"background\":\"transparent\"}"}</code></li></ul></li></ul></li><li><p>Kling</p><ul><li>Supports setting image expansion parameters. Example: <code>{AdditionalParameters":"{\"down_expansion_ratio\":0.2,\"left_expansion_ratio\":0.3,\"right_expansion_ratio\":0.4,\"up_expansion_ratio\":0.1}}</code><ul><li>Common constraints:<ul><li>Value range: [0, 2].</li><li>The overall area of the new image should not exceed 3 times that of the original image.</li><li>Forward prompts can be input through the <code>Prompt</code> field.</li><li>Example description:<ul><li>up_expansion_ratio: Upward expansion range, calculated based on a multiple of the original image height. If the original image height is 20 and the parameter value is 0.1, the distance from the top edge of the original image to the top edge of the new image is 20 × 0.1 = 2, which is the expansion range.</li><li>down_expansion_ratio: Downward expansion range, calculated based on a multiple of the original image height. If the original image height is 20 and the parameter value is 0.2, the distance from the bottom edge of the original image to the bottom edge of the new image is 20 × 0.2 = 4, which is the expansion range.</li><li>left_expansion_ratio: Leftward expansion range, calculated based on a multiple of the original image width. If the original image width is 30 and the parameter value is 0.3, the distance from the left edge of the original image to the left edge of the new image is 30 × 0.3 = 9, which is the expansion range.</li><li>right_expansion_ratio: Rightward expansion range, calculated based on a multiple of the original image width. If the original image width is 30 and the parameter value is 0.4, the distance from the right edge of the original image to the right edge of the new image is 30 × 0.4 = 12, which is the expansion range.</li></ul></li></ul></li></ul></li></ul></li></ul>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *CreateAigcImageTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcImageTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "ModelName")
	delete(f, "ModelVersion")
	delete(f, "FileInfos")
	delete(f, "Prompt")
	delete(f, "NegativePrompt")
	delete(f, "EnhancePrompt")
	delete(f, "OutputConfig")
	delete(f, "InputRegion")
	delete(f, "SceneType")
	delete(f, "Seed")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcImageTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcImageTaskResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcImageTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcImageTaskResponseParams `json:"Response"`
}

func (r *CreateAigcImageTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcImageTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcQuotaRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Number of task quotas</p><p>Unit:</p><ul><li>When QuotaLimit=Image, unit: piece</li><li>When QuotaLimit=Video, unit: seconds</li><li>When QuotaLimit=Text, unit: token</li></ul>
	QuotaLimit *uint64 `json:"QuotaLimit,omitnil,omitempty" name:"QuotaLimit"`

	// <p>Valid only when QuotaLimit=Text, used to select the ApiToken that needs quota limit</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

type CreateAigcQuotaRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Number of task quotas</p><p>Unit:</p><ul><li>When QuotaLimit=Image, unit: piece</li><li>When QuotaLimit=Video, unit: seconds</li><li>When QuotaLimit=Text, unit: token</li></ul>
	QuotaLimit *uint64 `json:"QuotaLimit,omitnil,omitempty" name:"QuotaLimit"`

	// <p>Valid only when QuotaLimit=Text, used to select the ApiToken that needs quota limit</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

func (r *CreateAigcQuotaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcQuotaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "QuotaType")
	delete(f, "QuotaLimit")
	delete(f, "ApiToken")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcQuotaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcQuotaResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcQuotaResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcQuotaResponseParams `json:"Response"`
}

func (r *CreateAigcQuotaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcQuotaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcSubjectInput struct {
	// <p>Subject name.</p>
	SubjectName *string `json:"SubjectName,omitnil,omitempty" name:"SubjectName"`

	// <p>Subject image.</p>
	SubjectImages []*string `json:"SubjectImages,omitnil,omitempty" name:"SubjectImages"`

	// <p>Main video.</p>
	SubjectVideos []*string `json:"SubjectVideos,omitnil,omitempty" name:"SubjectVideos"`

	// <p>Primary voice ID.</p>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`
}

type CreateAigcSubjectOutput struct {
	// <p>Subject ID.</p>
	SubjectId *string `json:"SubjectId,omitnil,omitempty" name:"SubjectId"`

	// <p>Entity information.</p>
	SubjectInfo *string `json:"SubjectInfo,omitnil,omitempty" name:"SubjectInfo"`
}

// Predefined struct for user
type CreateAigcSubjectRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, this field must be filled with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Subject name.</p>
	SubjectName *string `json:"SubjectName,omitnil,omitempty" name:"SubjectName"`

	// <p>Subject image. Upload at least 1 subject image. * Note 1: Support passing image URL (ensure it is accessible); * Note 2: Input limit of 3 images; * Note 3: Image format supports png, jpeg, jpg, webp; * Note 4: Image ratio must be less than 1:4 or 4:1; * Note 5: Image size no more than 50 MB;</p>
	SubjectImages []*string `json:"SubjectImages,omitnil,omitempty" name:"SubjectImages"`

	// <p>The video reference allows uploading 1 main video.</p><ul><li>Note 1: Only the reference viduq2-pro model supports using the video subject.</li><li>Note 2: A maximum of 1 video of 5 seconds is supported.</li><li>Note 3: The video supports mp4, avi, or mov format.</li><li>Note 4: The video pixel cannot be less than 128*128, the ratio must be less than 1:4 or 4:1, and the size must be no more than 100M.</li></ul>
	SubjectVideos []*string `json:"SubjectVideos,omitnil,omitempty" name:"SubjectVideos"`

	// <p>Voice type Id. This information is used when creating an audio and video direct output task.</p><ul><li>Note 1: If no voice type Id is provided when generating an audio and video direct output task, the system will automatically recommend a voice type.</li><li>Note 2: Voice type Id cannot be used in q2-pro.</li></ul>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The task complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

type CreateAigcSubjectRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, this field must be filled with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Subject name.</p>
	SubjectName *string `json:"SubjectName,omitnil,omitempty" name:"SubjectName"`

	// <p>Subject image. Upload at least 1 subject image. * Note 1: Support passing image URL (ensure it is accessible); * Note 2: Input limit of 3 images; * Note 3: Image format supports png, jpeg, jpg, webp; * Note 4: Image ratio must be less than 1:4 or 4:1; * Note 5: Image size no more than 50 MB;</p>
	SubjectImages []*string `json:"SubjectImages,omitnil,omitempty" name:"SubjectImages"`

	// <p>The video reference allows uploading 1 main video.</p><ul><li>Note 1: Only the reference viduq2-pro model supports using the video subject.</li><li>Note 2: A maximum of 1 video of 5 seconds is supported.</li><li>Note 3: The video supports mp4, avi, or mov format.</li><li>Note 4: The video pixel cannot be less than 128*128, the ratio must be less than 1:4 or 4:1, and the size must be no more than 100M.</li></ul>
	SubjectVideos []*string `json:"SubjectVideos,omitnil,omitempty" name:"SubjectVideos"`

	// <p>Voice type Id. This information is used when creating an audio and video direct output task.</p><ul><li>Note 1: If no voice type Id is provided when generating an audio and video direct output task, the system will automatically recommend a voice type.</li><li>Note 2: Voice type Id cannot be used in q2-pro.</li></ul>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The task complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

func (r *CreateAigcSubjectRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcSubjectRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "SubjectName")
	delete(f, "SubjectImages")
	delete(f, "SubjectVideos")
	delete(f, "VoiceId")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcSubjectRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcSubjectResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcSubjectResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcSubjectResponseParams `json:"Response"`
}

func (r *CreateAigcSubjectResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcSubjectResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateAigcSubjectTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status.</p><p>Enumeration value:</p><ul><li>PROCESSING: Processing</li><li>FINISH: Completed</li></ul>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. A non-zero error code is returned back when a source error occurs. Please use the ErrCode of each specific task when 0 is returned.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Extended error code. A null string indicates success, other values indicate failure.</p>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Input of the task to create an AIGC subject.</p>
	Input *CreateAigcSubjectInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Output of the task to create an AIGC subject.</p>
	Output *CreateAigcSubjectOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

// Predefined struct for user
type CreateAigcVideoRedrawTaskRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>File information of the input video for the AIGC video conversion task. The input video duration should be less than 90 seconds, and the size should be within 2GB.</p>
	FileInfo *AigcVideoRedrawTaskInputFileInfo `json:"FileInfo,omitnil,omitempty" name:"FileInfo"`

	// <p>Parameters for the AIGC video conversion task.</p>
	TaskInfo *AigcVideoRedrawTaskInfo `json:"TaskInfo,omitnil,omitempty" name:"TaskInfo"`

	// <p>Output media file configuration for the AIGC video conversion task.</p>
	OutputConfig *AigcVideoRedrawOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type CreateAigcVideoRedrawTaskRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>File information of the input video for the AIGC video conversion task. The input video duration should be less than 90 seconds, and the size should be within 2GB.</p>
	FileInfo *AigcVideoRedrawTaskInputFileInfo `json:"FileInfo,omitnil,omitempty" name:"FileInfo"`

	// <p>Parameters for the AIGC video conversion task.</p>
	TaskInfo *AigcVideoRedrawTaskInfo `json:"TaskInfo,omitnil,omitempty" name:"TaskInfo"`

	// <p>Output media file configuration for the AIGC video conversion task.</p>
	OutputConfig *AigcVideoRedrawOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *CreateAigcVideoRedrawTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcVideoRedrawTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "FileInfo")
	delete(f, "TaskInfo")
	delete(f, "OutputConfig")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcVideoRedrawTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcVideoRedrawTaskResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcVideoRedrawTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcVideoRedrawTaskResponseParams `json:"Response"`
}

func (r *CreateAigcVideoRedrawTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcVideoRedrawTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcVideoTaskRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Model name. Parameter Value:<br>Kling: Keling;<br>Vidu;<br>Hailuo: Hailuo;<br>Hunyuan: Hunyuan;<br>Mingmou: Mingmou;<br>GV;<br>OS;<br>PixVerse;</p>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Model version. Parameter value:<br>When ModelName is Hailuo, optional values are 02, 2.3, and 2.3-fast.<br>When ModelName is Kling, optional values are 1.6, 2.0, 2.1, 2.5, 2.6, O1, 3.0, and 3.0-Omni.<br>When ModelName is Vidu, optional values are q2, q2-pro, q2-turbo, q3, q3-pro, and q3-turbo.<br>When ModelName is GV, optional values are 3.1 and 3.1-fast.<br>When ModelName is OS, optional value is 2.0.<br>When ModelName is Hunyuan, optional value is 1.5.<br>When ModelName is Mingmou, optional value is 1.0.<br>When ModelName is PixVerse, optional values are v5.6, v6, and c1.</p>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>Describes the resource file to be used by the model for video generation, divided into <strong>first and last frame mode, reference image, video reference, video editing, and other modes</strong>.</p><p><strong>First and last frame video generation</strong>: The first frame supports only a <strong>single image</strong>, with the <strong>Usage field of the image set to FirstFrame</strong>. LastFrameFileId or LastFrameUrl represents the last frame. The first frame can be imported separately, but the last frame cannot. <strong>First and last frame generation refers to the image aspect ratio</strong>.<br><strong>Reference image generation</strong>: Allows input of a single image or multiple images, with the <strong>Usage field of the image set to Reference</strong>. Reference images can adjust the aspect ratio of the generated video.<br><strong>Video editing and video reference</strong>: Vidu and Kling can input a video as a reference or proceed with editing. Images can also be imported along with the video, with the <strong>Usage field of the image set to Reference</strong>.</p><p>Note:</p><ol><li>Image size should be no more than 10M.</li><li>Supported image formats: jpeg, jpg, png. x0b</li><li>To check whether a specific model version supports reference images, first and last frames, video editing, and other features, request the document from us or refer to the original document information.</li></ol>
	FileInfos []*AigcVideoTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Subject input information.</p>
	SubjectInfos []*AigcVideoTaskInputSubjectInfo `json:"SubjectInfos,omitnil,omitempty" name:"SubjectInfos"`

	// <p>Media file ID used as the last frame to generate video. This file's globally unique ID on VOD is assigned by the VOD backend after successful upload. You can retrieve this field in the <a href="https://www.tencentcloud.com/document/product/266/33950">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>.</p><ol><li>When specifying this parameter, you must simultaneously designate the first frame via FileInfos.</li><li>Image size must be less than 10M.</li><li>Image format value is: jpeg, jpg, png, webp.</li></ol>
	LastFrameFileId *string `json:"LastFrameFileId,omitnil,omitempty" name:"LastFrameFileId"`

	// <p>URL of the media file used as the last frame to generate video. Description:</p><ol><li>When you specify this parameter, you must also specify the first frame through FileInfos.</li><li>Image size must be less than 5M.</li><li>Image format value is: jpeg, jpg, png, webp.</li></ol>
	LastFrameUrl *string `json:"LastFrameUrl,omitnil,omitempty" name:"LastFrameUrl"`

	// <p>Prompt for video generation.<br>When no reference file is passed in, no usage scenario is specified, ExtInfo is not empty, Prompt is required.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>To prevent the model from generating video prompts.</p>
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// <p>Whether to optimize Prompt content automatically. When Enabled, the passed in Prompt will be optimized automatically to enhance generation quality. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	EnhancePrompt *string `json:"EnhancePrompt,omitnil,omitempty" name:"EnhancePrompt"`

	// <p>Output media file configuration for the video generation task.</p>
	OutputConfig *AigcVideoOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Region information of the input file. When the file url is an overseas address, selectable Oversea. Default Mainland.</p>
	InputRegion *string `json:"InputRegion,omitnil,omitempty" name:"InputRegion"`

	// <p>Scenario type. Values are as follows:</p><li>When ModelName is Kling: motion_control means action control; avatar_i2v means digital human; lip_sync means lip-sync;</li><li>When ModelName is Vidu: template_effect means special effect Template;</li><li>Other ModelNames are not currently supported.</li>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p><a href="https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81">Task flow name</a>. Fill in when you need to execute task flow for the generated new video.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Random seed of the model.</p>
	Seed *int64 `json:"Seed,omitnil,omitempty" name:"Seed"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.<br>Can be used to input special parameters and storyboard prompts to the model.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type CreateAigcVideoTaskRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Model name. Parameter Value:<br>Kling: Keling;<br>Vidu;<br>Hailuo: Hailuo;<br>Hunyuan: Hunyuan;<br>Mingmou: Mingmou;<br>GV;<br>OS;<br>PixVerse;</p>
	ModelName *string `json:"ModelName,omitnil,omitempty" name:"ModelName"`

	// <p>Model version. Parameter value:<br>When ModelName is Hailuo, optional values are 02, 2.3, and 2.3-fast.<br>When ModelName is Kling, optional values are 1.6, 2.0, 2.1, 2.5, 2.6, O1, 3.0, and 3.0-Omni.<br>When ModelName is Vidu, optional values are q2, q2-pro, q2-turbo, q3, q3-pro, and q3-turbo.<br>When ModelName is GV, optional values are 3.1 and 3.1-fast.<br>When ModelName is OS, optional value is 2.0.<br>When ModelName is Hunyuan, optional value is 1.5.<br>When ModelName is Mingmou, optional value is 1.0.<br>When ModelName is PixVerse, optional values are v5.6, v6, and c1.</p>
	ModelVersion *string `json:"ModelVersion,omitnil,omitempty" name:"ModelVersion"`

	// <p>Describes the resource file to be used by the model for video generation, divided into <strong>first and last frame mode, reference image, video reference, video editing, and other modes</strong>.</p><p><strong>First and last frame video generation</strong>: The first frame supports only a <strong>single image</strong>, with the <strong>Usage field of the image set to FirstFrame</strong>. LastFrameFileId or LastFrameUrl represents the last frame. The first frame can be imported separately, but the last frame cannot. <strong>First and last frame generation refers to the image aspect ratio</strong>.<br><strong>Reference image generation</strong>: Allows input of a single image or multiple images, with the <strong>Usage field of the image set to Reference</strong>. Reference images can adjust the aspect ratio of the generated video.<br><strong>Video editing and video reference</strong>: Vidu and Kling can input a video as a reference or proceed with editing. Images can also be imported along with the video, with the <strong>Usage field of the image set to Reference</strong>.</p><p>Note:</p><ol><li>Image size should be no more than 10M.</li><li>Supported image formats: jpeg, jpg, png. x0b</li><li>To check whether a specific model version supports reference images, first and last frames, video editing, and other features, request the document from us or refer to the original document information.</li></ol>
	FileInfos []*AigcVideoTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Subject input information.</p>
	SubjectInfos []*AigcVideoTaskInputSubjectInfo `json:"SubjectInfos,omitnil,omitempty" name:"SubjectInfos"`

	// <p>Media file ID used as the last frame to generate video. This file's globally unique ID on VOD is assigned by the VOD backend after successful upload. You can retrieve this field in the <a href="https://www.tencentcloud.com/document/product/266/33950">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>.</p><ol><li>When specifying this parameter, you must simultaneously designate the first frame via FileInfos.</li><li>Image size must be less than 10M.</li><li>Image format value is: jpeg, jpg, png, webp.</li></ol>
	LastFrameFileId *string `json:"LastFrameFileId,omitnil,omitempty" name:"LastFrameFileId"`

	// <p>URL of the media file used as the last frame to generate video. Description:</p><ol><li>When you specify this parameter, you must also specify the first frame through FileInfos.</li><li>Image size must be less than 5M.</li><li>Image format value is: jpeg, jpg, png, webp.</li></ol>
	LastFrameUrl *string `json:"LastFrameUrl,omitnil,omitempty" name:"LastFrameUrl"`

	// <p>Prompt for video generation.<br>When no reference file is passed in, no usage scenario is specified, ExtInfo is not empty, Prompt is required.</p>
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// <p>To prevent the model from generating video prompts.</p>
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// <p>Whether to optimize Prompt content automatically. When Enabled, the passed in Prompt will be optimized automatically to enhance generation quality. Valid values: <li>Enabled: Enable;</li> <li>Disabled: Disable;</li></p>
	EnhancePrompt *string `json:"EnhancePrompt,omitnil,omitempty" name:"EnhancePrompt"`

	// <p>Output media file configuration for the video generation task.</p>
	OutputConfig *AigcVideoOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Region information of the input file. When the file url is an overseas address, selectable Oversea. Default Mainland.</p>
	InputRegion *string `json:"InputRegion,omitnil,omitempty" name:"InputRegion"`

	// <p>Scenario type. Values are as follows:</p><li>When ModelName is Kling: motion_control means action control; avatar_i2v means digital human; lip_sync means lip-sync;</li><li>When ModelName is Vidu: template_effect means special effect Template;</li><li>Other ModelNames are not currently supported.</li>
	SceneType *string `json:"SceneType,omitnil,omitempty" name:"SceneType"`

	// <p><a href="https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81">Task flow name</a>. Fill in when you need to execute task flow for the generated new video.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Random seed of the model.</p>
	Seed *int64 `json:"Seed,omitnil,omitempty" name:"Seed"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.<br>Can be used to input special parameters and storyboard prompts to the model.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *CreateAigcVideoTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcVideoTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "ModelName")
	delete(f, "ModelVersion")
	delete(f, "FileInfos")
	delete(f, "SubjectInfos")
	delete(f, "LastFrameFileId")
	delete(f, "LastFrameUrl")
	delete(f, "Prompt")
	delete(f, "NegativePrompt")
	delete(f, "EnhancePrompt")
	delete(f, "OutputConfig")
	delete(f, "InputRegion")
	delete(f, "SceneType")
	delete(f, "Procedure")
	delete(f, "Seed")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAigcVideoTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAigcVideoTaskResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAigcVideoTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateAigcVideoTaskResponseParams `json:"Response"`
}

func (r *CreateAigcVideoTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAigcVideoTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAnimatedGraphicsTemplateRequestParams struct {
	// Frame rate. Value ranges from 1 to 30. Unit: Hz.
	Fps *uint64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Maximum value of the animated gif width (or long edge) in px. Value range: 0 and [128, 4096].
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of animated gif height (or short edge). Value ranges from 0 to [128, 4096]. Measurement unit: px.
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Animated image file format, value is gif and webp. Default is gif.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Image quality. Valid range: 1 - 100. Default value: 75.
	Quality *float64 `json:"Quality,omitnil,omitempty" name:"Quality"`

	// Rotating image template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type CreateAnimatedGraphicsTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Frame rate. Value ranges from 1 to 30. Unit: Hz.
	Fps *uint64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Maximum value of the animated gif width (or long edge) in px. Value range: 0 and [128, 4096].
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of animated gif height (or short edge). Value ranges from 0 to [128, 4096]. Measurement unit: px.
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Animated image file format, value is gif and webp. Default is gif.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Image quality. Valid range: 1 - 100. Default value: 75.
	Quality *float64 `json:"Quality,omitnil,omitempty" name:"Quality"`

	// Rotating image template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *CreateAnimatedGraphicsTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAnimatedGraphicsTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Fps")
	delete(f, "SubAppId")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "Format")
	delete(f, "Quality")
	delete(f, "Name")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAnimatedGraphicsTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateAnimatedGraphicsTemplateResponseParams struct {
	// Unique identifier of the rotation diagram template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateAnimatedGraphicsTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateAnimatedGraphicsTemplateResponseParams `json:"Response"`
}

func (r *CreateAnimatedGraphicsTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateAnimatedGraphicsTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateBlindWatermarkTemplateRequestParams struct {
	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-nagra: NAGRA watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Text content of the digital watermark. The length cannot exceed 64 characters. After NAGRA watermark templates are created, the text content cannot be modified.
	TextContent *string `json:"TextContent,omitnil,omitempty" name:"TextContent"`

	// VOD application ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (default application or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Digital watermark template name, which supports Chinese, English, digits, underscores (_), hyphens (-), and periods (.). The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description information of the digital watermark template. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type CreateBlindWatermarkTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-nagra: NAGRA watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Text content of the digital watermark. The length cannot exceed 64 characters. After NAGRA watermark templates are created, the text content cannot be modified.
	TextContent *string `json:"TextContent,omitnil,omitempty" name:"TextContent"`

	// VOD application ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (default application or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Digital watermark template name, which supports Chinese, English, digits, underscores (_), hyphens (-), and periods (.). The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description information of the digital watermark template. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *CreateBlindWatermarkTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBlindWatermarkTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Type")
	delete(f, "TextContent")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateBlindWatermarkTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateBlindWatermarkTemplateResponseParams struct {
	// Unique identifier of the digital watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateBlindWatermarkTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateBlindWatermarkTemplateResponseParams `json:"Response"`
}

func (r *CreateBlindWatermarkTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBlindWatermarkTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateCDNDomainRequestParams struct {
	// Domain
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Domain Config
	Config *CDNDomainConfig `json:"Config,omitnil,omitempty" name:"Config"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CreateCDNDomainRequest struct {
	*tchttp.BaseRequest
	
	// Domain
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Domain Config
	Config *CDNDomainConfig `json:"Config,omitnil,omitempty" name:"Config"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CreateCDNDomainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateCDNDomainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "Config")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateCDNDomainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateCDNDomainResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateCDNDomainResponse struct {
	*tchttp.BaseResponse
	Response *CreateCDNDomainResponseParams `json:"Response"`
}

func (r *CreateCDNDomainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateCDNDomainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateCLSLogsetRequestParams struct {
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`
}

type CreateCLSLogsetRequest struct {
	*tchttp.BaseRequest
	
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`
}

func (r *CreateCLSLogsetRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateCLSLogsetRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CLSRegion")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateCLSLogsetRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateCLSLogsetResponseParams struct {
	// Log Set ID.
	LogsetId *string `json:"LogsetId,omitnil,omitempty" name:"LogsetId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateCLSLogsetResponse struct {
	*tchttp.BaseResponse
	Response *CreateCLSLogsetResponseParams `json:"Response"`
}

func (r *CreateCLSLogsetResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateCLSLogsetResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateCLSTopicRequestParams struct {
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`

	// Log topic name.
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`

	// Log Set ID.
	LogsetId *string `json:"LogsetId,omitnil,omitempty" name:"LogsetId"`
}

type CreateCLSTopicRequest struct {
	*tchttp.BaseRequest
	
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`

	// Log topic name.
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`

	// Log Set ID.
	LogsetId *string `json:"LogsetId,omitnil,omitempty" name:"LogsetId"`
}

func (r *CreateCLSTopicRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateCLSTopicRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CLSRegion")
	delete(f, "TopicName")
	delete(f, "LogsetId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateCLSTopicRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateCLSTopicResponseParams struct {
	// Log topic ID.
	TopicId *string `json:"TopicId,omitnil,omitempty" name:"TopicId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateCLSTopicResponse struct {
	*tchttp.BaseResponse
	Response *CreateCLSTopicResponseParams `json:"Response"`
}

func (r *CreateCLSTopicResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateCLSTopicResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateClassRequestParams struct {
	// Parent category ID. Fill in -1 for the first-level category.
	ParentId *int64 `json:"ParentId,omitnil,omitempty" name:"ParentId"`

	// Category name. Length limit: 1-64 characters.
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CreateClassRequest struct {
	*tchttp.BaseRequest
	
	// Parent category ID. Fill in -1 for the first-level category.
	ParentId *int64 `json:"ParentId,omitnil,omitempty" name:"ParentId"`

	// Category name. Length limit: 1-64 characters.
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CreateClassRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateClassRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ParentId")
	delete(f, "ClassName")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateClassRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateClassResponseParams struct {
	// Category ID
	ClassId *uint64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateClassResponse struct {
	*tchttp.BaseResponse
	Response *CreateClassResponseParams `json:"Response"`
}

func (r *CreateClassResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateClassResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateComplexAdaptiveDynamicStreamingTaskRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Media ID of the main media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Adaptive Bitrate Parameters support a maximum of 8.
	StreamParaSet []*ComplexAdaptiveDynamicStreamingTaskStreamPara `json:"StreamParaSet,omitnil,omitempty" name:"StreamParaSet"`

	// Credits list, supports multiple opening and ending sequences, with a maximum of 4 supported. If this field is filled, the start time of the media specified in AudioSet and SubtitleSet will automatically adjust to keep synchronized with the main media.
	HeadTailSet []*HeadTailTaskInput `json:"HeadTailSet,omitnil,omitempty" name:"HeadTailSet"`

	// Multilingual audio stream parameters, supports a maximum of 16. Each array element corresponds to an audio stream in the adaptive bitrate stream. If you need to add the audio stream from the main media file to the output adaptive bitrate stream, you must specify it here. The order of elements in an array determines the order of audio streams in the adaptive bitrate stream. If the input media file contains both video and audio streams, the video stream will be ignored.
	AudioSet []*ComplexAdaptiveDynamicStreamingTaskAudioInput `json:"AudioSet,omitnil,omitempty" name:"AudioSet"`

	// Multilingual subtitle parameters, with a maximum of 16 supported. Each element in an array corresponds to a subtitle stream in the adaptive bitrate stream. The order of elements in an array determines the order of subtitle streams in the adaptive bitrate stream.
	SubtitleSet []*ComplexAdaptiveDynamicStreamingTaskSubtitleInput `json:"SubtitleSet,omitnil,omitempty" name:"SubtitleSet"`
}

type CreateComplexAdaptiveDynamicStreamingTaskRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Media ID of the main media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Adaptive Bitrate Parameters support a maximum of 8.
	StreamParaSet []*ComplexAdaptiveDynamicStreamingTaskStreamPara `json:"StreamParaSet,omitnil,omitempty" name:"StreamParaSet"`

	// Credits list, supports multiple opening and ending sequences, with a maximum of 4 supported. If this field is filled, the start time of the media specified in AudioSet and SubtitleSet will automatically adjust to keep synchronized with the main media.
	HeadTailSet []*HeadTailTaskInput `json:"HeadTailSet,omitnil,omitempty" name:"HeadTailSet"`

	// Multilingual audio stream parameters, supports a maximum of 16. Each array element corresponds to an audio stream in the adaptive bitrate stream. If you need to add the audio stream from the main media file to the output adaptive bitrate stream, you must specify it here. The order of elements in an array determines the order of audio streams in the adaptive bitrate stream. If the input media file contains both video and audio streams, the video stream will be ignored.
	AudioSet []*ComplexAdaptiveDynamicStreamingTaskAudioInput `json:"AudioSet,omitnil,omitempty" name:"AudioSet"`

	// Multilingual subtitle parameters, with a maximum of 16 supported. Each element in an array corresponds to a subtitle stream in the adaptive bitrate stream. The order of elements in an array determines the order of subtitle streams in the adaptive bitrate stream.
	SubtitleSet []*ComplexAdaptiveDynamicStreamingTaskSubtitleInput `json:"SubtitleSet,omitnil,omitempty" name:"SubtitleSet"`
}

func (r *CreateComplexAdaptiveDynamicStreamingTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateComplexAdaptiveDynamicStreamingTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "FileId")
	delete(f, "StreamParaSet")
	delete(f, "HeadTailSet")
	delete(f, "AudioSet")
	delete(f, "SubtitleSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateComplexAdaptiveDynamicStreamingTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateComplexAdaptiveDynamicStreamingTaskResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateComplexAdaptiveDynamicStreamingTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateComplexAdaptiveDynamicStreamingTaskResponseParams `json:"Response"`
}

func (r *CreateComplexAdaptiveDynamicStreamingTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateComplexAdaptiveDynamicStreamingTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateContentReviewTemplateRequestParams struct {
	// Switch for whether the audio/video moderation result enters the audio/video moderation wall (manual review of the recognition result).
	// <li>ON: yes</li>
	// <li>OFF: No.</li>
	ReviewWallSwitch *string `json:"ReviewWallSwitch,omitnil,omitempty" name:"ReviewWallSwitch"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Content review template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Content review template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Control parameters for offensive information.
	PornConfigure *PornConfigureInfo `json:"PornConfigure,omitnil,omitempty" name:"PornConfigure"`

	// Control parameters for unsafe information.
	TerrorismConfigure *TerrorismConfigureInfo `json:"TerrorismConfigure,omitnil,omitempty" name:"TerrorismConfigure"`

	// Uncomfortable control parameters.
	PoliticalConfigure *PoliticalConfigureInfo `json:"PoliticalConfigure,omitnil,omitempty" name:"PoliticalConfigure"`

	// Prohibited control parameters. Prohibited content includes:
	// <li>Abuse;</li>
	// <li>Drug-related violation.</li>
	ProhibitedConfigure *ProhibitedConfigureInfo `json:"ProhibitedConfigure,omitnil,omitempty" name:"ProhibitedConfigure"`

	// User-defined content review control parameters.
	UserDefineConfigure *UserDefineConfigureInfo `json:"UserDefineConfigure,omitnil,omitempty" name:"UserDefineConfigure"`

	// Frame interception interval in seconds. If left empty, the default frame interval is 1 second with a minimum value of 0.5 seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

type CreateContentReviewTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Switch for whether the audio/video moderation result enters the audio/video moderation wall (manual review of the recognition result).
	// <li>ON: yes</li>
	// <li>OFF: No.</li>
	ReviewWallSwitch *string `json:"ReviewWallSwitch,omitnil,omitempty" name:"ReviewWallSwitch"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Content review template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Content review template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Control parameters for offensive information.
	PornConfigure *PornConfigureInfo `json:"PornConfigure,omitnil,omitempty" name:"PornConfigure"`

	// Control parameters for unsafe information.
	TerrorismConfigure *TerrorismConfigureInfo `json:"TerrorismConfigure,omitnil,omitempty" name:"TerrorismConfigure"`

	// Uncomfortable control parameters.
	PoliticalConfigure *PoliticalConfigureInfo `json:"PoliticalConfigure,omitnil,omitempty" name:"PoliticalConfigure"`

	// Prohibited control parameters. Prohibited content includes:
	// <li>Abuse;</li>
	// <li>Drug-related violation.</li>
	ProhibitedConfigure *ProhibitedConfigureInfo `json:"ProhibitedConfigure,omitnil,omitempty" name:"ProhibitedConfigure"`

	// User-defined content review control parameters.
	UserDefineConfigure *UserDefineConfigureInfo `json:"UserDefineConfigure,omitnil,omitempty" name:"UserDefineConfigure"`

	// Frame interception interval in seconds. If left empty, the default frame interval is 1 second with a minimum value of 0.5 seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

func (r *CreateContentReviewTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateContentReviewTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ReviewWallSwitch")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "PornConfigure")
	delete(f, "TerrorismConfigure")
	delete(f, "PoliticalConfigure")
	delete(f, "ProhibitedConfigure")
	delete(f, "UserDefineConfigure")
	delete(f, "ScreenshotInterval")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateContentReviewTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateContentReviewTemplateResponseParams struct {
	// Unique identifier of an audio and video content review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateContentReviewTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateContentReviewTemplateResponseParams `json:"Response"`
}

func (r *CreateContentReviewTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateContentReviewTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateDomainVerifyRecordRequestParams struct {
	// Need to access the VOD acceleration domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD services after December 25, 2024, they must fill this field with the app ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>	
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CreateDomainVerifyRecordRequest struct {
	*tchttp.BaseRequest
	
	// Need to access the VOD acceleration domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD services after December 25, 2024, they must fill this field with the app ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>	
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CreateDomainVerifyRecordRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateDomainVerifyRecordRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDomainVerifyRecordRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateDomainVerifyRecordResponseParams struct {
	// DNS Verify Information
	DNSVerifyInfo *DNSVerifyInfo `json:"DNSVerifyInfo,omitnil,omitempty" name:"DNSVerifyInfo"`

	// File Verify Information
	FileVerifyInfo *FileVerifyInfo `json:"FileVerifyInfo,omitnil,omitempty" name:"FileVerifyInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateDomainVerifyRecordResponse struct {
	*tchttp.BaseResponse
	Response *CreateDomainVerifyRecordResponseParams `json:"Response"`
}

func (r *CreateDomainVerifyRecordResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateDomainVerifyRecordResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateEnhanceMediaTemplateRequestParams struct {
	// Container format. Valid values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template name, with a length limit of 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Audio-visual quality revival video control information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Audio-visual quality revival audio control information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

type CreateEnhanceMediaTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Container format. Valid values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template name, with a length limit of 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Audio-visual quality revival video control information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Audio-visual quality revival audio control information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

func (r *CreateEnhanceMediaTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateEnhanceMediaTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Container")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "RebuildVideoInfo")
	delete(f, "RebuildAudioInfo")
	delete(f, "TargetVideoInfo")
	delete(f, "TargetAudioInfo")
	delete(f, "RemoveVideo")
	delete(f, "RemoveAudio")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateEnhanceMediaTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateEnhanceMediaTemplateResponseParams struct {
	// Audio-visual quality rebirth template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateEnhanceMediaTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateEnhanceMediaTemplateResponseParams `json:"Response"`
}

func (r *CreateEnhanceMediaTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateEnhanceMediaTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateHeadTailTemplateRequestParams struct {
	// Template name, length limited to 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template description information. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Opening Credits Candidate List. Fill in the FileId of the video. During transcoding, a title candidate with the aspect ratio closest to the main content will be automatically selected (when identical, precedence is given to candidates positioned towards the front). Supports up to 5 title candidates.
	HeadCandidateSet []*string `json:"HeadCandidateSet,omitnil,omitempty" name:"HeadCandidateSet"`

	// Ending candidate list. Fill in the FileId of the video. During transcoding, the system will automatically select the ending with the closest aspect ratio to the main content (if identical, the candidate positioned towards the front takes precedence). Supports up to 5 ending candidates.
	TailCandidateSet []*string `json:"TailCandidateSet,omitnil,omitempty" name:"TailCandidateSet"`

	// Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be squashed or stretched.</li>
	// <li> gauss: Gaussian blur, maintain video aspect ratio, use Gaussian blur for the remaining edge part;</li>
	// <li>White: Leave blank, maintain video aspect ratio, edge remainder filled with white;</li>
	// <li> black: Keep black edges to maintain video aspect ratio, with edges filled with black.</li>
	// Default value: stretch.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type CreateHeadTailTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Template name, length limited to 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template description information. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Opening Credits Candidate List. Fill in the FileId of the video. During transcoding, a title candidate with the aspect ratio closest to the main content will be automatically selected (when identical, precedence is given to candidates positioned towards the front). Supports up to 5 title candidates.
	HeadCandidateSet []*string `json:"HeadCandidateSet,omitnil,omitempty" name:"HeadCandidateSet"`

	// Ending candidate list. Fill in the FileId of the video. During transcoding, the system will automatically select the ending with the closest aspect ratio to the main content (if identical, the candidate positioned towards the front takes precedence). Supports up to 5 ending candidates.
	TailCandidateSet []*string `json:"TailCandidateSet,omitnil,omitempty" name:"TailCandidateSet"`

	// Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be squashed or stretched.</li>
	// <li> gauss: Gaussian blur, maintain video aspect ratio, use Gaussian blur for the remaining edge part;</li>
	// <li>White: Leave blank, maintain video aspect ratio, edge remainder filled with white;</li>
	// <li> black: Keep black edges to maintain video aspect ratio, with edges filled with black.</li>
	// Default value: stretch.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

func (r *CreateHeadTailTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateHeadTailTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	delete(f, "Comment")
	delete(f, "HeadCandidateSet")
	delete(f, "TailCandidateSet")
	delete(f, "FillType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateHeadTailTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateHeadTailTemplateResponseParams struct {
	// Opening and ending template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateHeadTailTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateHeadTailTemplateResponseParams `json:"Response"`
}

func (r *CreateHeadTailTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateHeadTailTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateImageProcessingTemplateRequestParams struct {
	// Image processing operation array. Operations are performed in the order they appear in the array.
	// <li>Length limit: 10.</li>
	Operations []*ImageOperation `json:"Operations,omitnil,omitempty" name:"Operations"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image processing template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type CreateImageProcessingTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Image processing operation array. Operations are performed in the order they appear in the array.
	// <li>Length limit: 10.</li>
	Operations []*ImageOperation `json:"Operations,omitnil,omitempty" name:"Operations"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image processing template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *CreateImageProcessingTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateImageProcessingTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Operations")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateImageProcessingTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateImageProcessingTemplateResponseParams struct {
	// Unique identifier of the image processing template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateImageProcessingTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateImageProcessingTemplateResponseParams `json:"Response"`
}

func (r *CreateImageProcessingTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateImageProcessingTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateImageSpriteTask2017 struct {
	// Image sprite generating task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// ID of generated image sprite file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Image sprite specification. For more information, please see [Image Sprite Generating Template](https://intl.cloud.tencent.com/document/product/266/33480?from_cn_redirect=1#.E9.9B.AA.E7.A2.A7.E5.9B.BE.E6.A8.A1.E6.9D.BF).
	// Note: this field may return null, indicating that no valid values can be obtained.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Total number of subimages in image sprite.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Address of output image sprite.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageSpriteUrlSet []*string `json:"ImageSpriteUrlSet,omitnil,omitempty" name:"ImageSpriteUrlSet"`

	// Address of WebVtt file for the position-time relationship among subimages in an image sprite.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WebVttUrl *string `json:"WebVttUrl,omitnil,omitempty" name:"WebVttUrl"`
}

// Predefined struct for user
type CreateImageSpriteTemplateRequestParams struct {
	// Sampling type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Number of rows of small images in sprite image.
	// Note: The number of rows of subimages impacts the final height of the main image. The maximum height of the main image is 15000 pixels. The height of the main image is the product of the number of rows and the height of subimages.
	RowCount *uint64 `json:"RowCount,omitnil,omitempty" name:"RowCount"`

	// Number of columns of small images in sprite image.
	// Note: The columns of small images impact the final width of the large image. The maximum width of the large image is 15000 pixels. The width of the large image is the product of the columns and width of small images.
	ColumnCount *uint64 `json:"ColumnCount,omitnil,omitempty" name:"ColumnCount"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sprite image template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "filling". Optional filling mode:<li>stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li><li>black: Maintain video aspect ratio with edges filled with black.</li>Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// Maximum value of the width (or long edge) of small images in sprite image. Value ranges from 0 to [128, 4096]. Measurement unit: px.<li>When both Width and Height are 0, resolution is same as source.</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li><li>When both Width and Height are not 0, resolution is specified by user.</li>Default value: 0. Note: The width of small images will impact the final width of the large image. The maximum width of the large image is 15000 pixels, where the width of the large image is the product of the number of columns and the width of small images.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum height (or short side) of small images in sprite image. Value ranges from 0 to [128, 4096]. Measurement unit: px.<li>When both Width and Height are 0, resolution is same as source.</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li><li>When both Width and Height are not 0, resolution is specified by user.</li>Default value: 0. Note: The height of small images impacts the final height of the large image. The maximum height of the large image is 15000 pixels, where the height of the large image is the product of subimage rows and the height of small images.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: enable. At this point, Width represents the long side of the video, and Height indicates the short side.</li>
	// <li>close: Closed. At this point, Width represents the Width of the video, and Height indicates the Height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Valid values:
	// <li> jpg: JPG format;</li>
	// <li>png: png format.</li>
	// <li>WEBP: webp format.</li>
	// Default value: jpg.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`
}

type CreateImageSpriteTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Sampling type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Number of rows of small images in sprite image.
	// Note: The number of rows of subimages impacts the final height of the main image. The maximum height of the main image is 15000 pixels. The height of the main image is the product of the number of rows and the height of subimages.
	RowCount *uint64 `json:"RowCount,omitnil,omitempty" name:"RowCount"`

	// Number of columns of small images in sprite image.
	// Note: The columns of small images impact the final width of the large image. The maximum width of the large image is 15000 pixels. The width of the large image is the product of the columns and width of small images.
	ColumnCount *uint64 `json:"ColumnCount,omitnil,omitempty" name:"ColumnCount"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sprite image template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "filling". Optional filling mode:<li>stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li><li>black: Maintain video aspect ratio with edges filled with black.</li>Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// Maximum value of the width (or long edge) of small images in sprite image. Value ranges from 0 to [128, 4096]. Measurement unit: px.<li>When both Width and Height are 0, resolution is same as source.</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li><li>When both Width and Height are not 0, resolution is specified by user.</li>Default value: 0. Note: The width of small images will impact the final width of the large image. The maximum width of the large image is 15000 pixels, where the width of the large image is the product of the number of columns and the width of small images.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum height (or short side) of small images in sprite image. Value ranges from 0 to [128, 4096]. Measurement unit: px.<li>When both Width and Height are 0, resolution is same as source.</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li><li>When both Width and Height are not 0, resolution is specified by user.</li>Default value: 0. Note: The height of small images impacts the final height of the large image. The maximum height of the large image is 15000 pixels, where the height of the large image is the product of subimage rows and the height of small images.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: enable. At this point, Width represents the long side of the video, and Height indicates the short side.</li>
	// <li>close: Closed. At this point, Width represents the Width of the video, and Height indicates the Height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Valid values:
	// <li> jpg: JPG format;</li>
	// <li>png: png format.</li>
	// <li>WEBP: webp format.</li>
	// Default value: jpg.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`
}

func (r *CreateImageSpriteTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateImageSpriteTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SampleType")
	delete(f, "SampleInterval")
	delete(f, "RowCount")
	delete(f, "ColumnCount")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "FillType")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "Format")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateImageSpriteTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateImageSpriteTemplateResponseParams struct {
	// Unique identifier of a sprite template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateImageSpriteTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateImageSpriteTemplateResponseParams `json:"Response"`
}

func (r *CreateImageSpriteTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateImageSpriteTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateJustInTimeTranscodeTemplateRequestParams struct {
	// Template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Video parameter configuration.
	VideoConfigure *VideoConfigureInfo `json:"VideoConfigure,omitnil,omitempty" name:"VideoConfigure"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark parameter configuration.
	WatermarkConfigure *WatermarkConfigureInfo `json:"WatermarkConfigure,omitnil,omitempty" name:"WatermarkConfigure"`

	// Template description. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type CreateJustInTimeTranscodeTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Video parameter configuration.
	VideoConfigure *VideoConfigureInfo `json:"VideoConfigure,omitnil,omitempty" name:"VideoConfigure"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark parameter configuration.
	WatermarkConfigure *WatermarkConfigureInfo `json:"WatermarkConfigure,omitnil,omitempty" name:"WatermarkConfigure"`

	// Template description. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *CreateJustInTimeTranscodeTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateJustInTimeTranscodeTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "VideoConfigure")
	delete(f, "SubAppId")
	delete(f, "WatermarkConfigure")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateJustInTimeTranscodeTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateJustInTimeTranscodeTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateJustInTimeTranscodeTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateJustInTimeTranscodeTemplateResponseParams `json:"Response"`
}

func (r *CreateJustInTimeTranscodeTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateJustInTimeTranscodeTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateLLMComprehendTemplateRequestParams struct {
	// <p>Resolution level. Available values are:</p><ul><li>Audio: Audio-level comprehension</li><li>Video: Video-level comprehension</li></ul>
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Large model comprehend template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Large model comprehend template description information. The length cannot exceed 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Segment summary parsing configuration</p>
	Summary *LLMComprehendSummary `json:"Summary,omitnil,omitempty" name:"Summary"`

	// <p>Text transcription parsing configuration</p>
	Asr *LLMComprehendAsr `json:"Asr,omitnil,omitempty" name:"Asr"`

	// <p>Face identification configuration</p>
	FaceRecognition *LLMComprehendFaceRecognition `json:"FaceRecognition,omitnil,omitempty" name:"FaceRecognition"`
}

type CreateLLMComprehendTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <p>Resolution level. Available values are:</p><ul><li>Audio: Audio-level comprehension</li><li>Video: Video-level comprehension</li></ul>
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Large model comprehend template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Large model comprehend template description information. The length cannot exceed 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Segment summary parsing configuration</p>
	Summary *LLMComprehendSummary `json:"Summary,omitnil,omitempty" name:"Summary"`

	// <p>Text transcription parsing configuration</p>
	Asr *LLMComprehendAsr `json:"Asr,omitnil,omitempty" name:"Asr"`

	// <p>Face identification configuration</p>
	FaceRecognition *LLMComprehendFaceRecognition `json:"FaceRecognition,omitnil,omitempty" name:"FaceRecognition"`
}

func (r *CreateLLMComprehendTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateLLMComprehendTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Level")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "Summary")
	delete(f, "Asr")
	delete(f, "FaceRecognition")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateLLMComprehendTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateLLMComprehendTemplateResponseParams struct {
	// <p>Unique identifier of the Large Model Understanding Template</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateLLMComprehendTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateLLMComprehendTemplateResponseParams `json:"Response"`
}

func (r *CreateLLMComprehendTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateLLMComprehendTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateMPSTemplateRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Type of the MPS template to create. Value:</p><li>AIAnalysis: Create an intelligent analysis template.</li><li>SmartSubtitle: Create an intelligent subtitle template.</li><li>SmartErase: Create an intelligent erasure template.</li>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// <p>MPS template creation parameters. This parameter is used for transparent transmission to the media processing service (MPS) to create user-defined MPS task templates from the VOD side.<br>Currently only supports creating templates of the following task types through this method:</p><ol><li>AI analysis: only supports filling in the content of Name, Comment, ClassificationConfigure, TagConfigure, CoverConfigure, and FrameTagConfigure parameters in the "<a href="https://www.tencentcloud.com/document/api/862/40249?from_cn_redirect=1">create content analysis template</a>" API. Currently only supports configuring the above parameters in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Smart subtitling: only supports filling in the content of Name, Comment, TranslateSwitch, VideoSrcLanguage, SubtitleFormat, SubtitleType, AsrHotWordsConfigure, TranslateDstLanguage, and ProcessType parameters in the "<a href="https://www.tencentcloud.com/document/api/862/117004?from_cn_redirect=1">create intelligent caption template</a>" API. Currently only supports configuring the above parameters in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Intelligent erasure: only supports filling in the content of Name, Comment, EraseType, EraseSubtitleConfig, EraseWatermarkConfig, and ErasePrivacyConfig parameters in the "<a href="https://www.tencentcloud.com/document/api/862/123735?from_cn_redirect=1">create intelligent erasure template</a>" API. Currently only supports configuring the above parameters in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.</li></ol><p>Currently, only the above parameters can be configured in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them. The above pass-through parameters are represented in JSON format.</p>
	MPSCreateTemplateParams *string `json:"MPSCreateTemplateParams,omitnil,omitempty" name:"MPSCreateTemplateParams"`

	// <p>Intelligent analysis template parameter. Valid when MPSCreateTemplateParams is empty.</p>
	AIAnalysisTemplate *MPSAIAnalysisTemplate `json:"AIAnalysisTemplate,omitnil,omitempty" name:"AIAnalysisTemplate"`

	// <p>Parameter of the intelligent subtitle template. Valid when MPSCreateTemplateParams is empty.</p>
	SmartSubtitleTemplate *MPSSmartSubtitleTemplate `json:"SmartSubtitleTemplate,omitnil,omitempty" name:"SmartSubtitleTemplate"`

	// <p>Intelligent erasure template parameter. Valid when MPSCreateTemplateParams is empty.</p>
	SmartEraseTemplate *MPSSmartEraseTemplate `json:"SmartEraseTemplate,omitnil,omitempty" name:"SmartEraseTemplate"`
}

type CreateMPSTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Type of the MPS template to create. Value:</p><li>AIAnalysis: Create an intelligent analysis template.</li><li>SmartSubtitle: Create an intelligent subtitle template.</li><li>SmartErase: Create an intelligent erasure template.</li>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// <p>MPS template creation parameters. This parameter is used for transparent transmission to the media processing service (MPS) to create user-defined MPS task templates from the VOD side.<br>Currently only supports creating templates of the following task types through this method:</p><ol><li>AI analysis: only supports filling in the content of Name, Comment, ClassificationConfigure, TagConfigure, CoverConfigure, and FrameTagConfigure parameters in the "<a href="https://www.tencentcloud.com/document/api/862/40249?from_cn_redirect=1">create content analysis template</a>" API. Currently only supports configuring the above parameters in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Smart subtitling: only supports filling in the content of Name, Comment, TranslateSwitch, VideoSrcLanguage, SubtitleFormat, SubtitleType, AsrHotWordsConfigure, TranslateDstLanguage, and ProcessType parameters in the "<a href="https://www.tencentcloud.com/document/api/862/117004?from_cn_redirect=1">create intelligent caption template</a>" API. Currently only supports configuring the above parameters in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Intelligent erasure: only supports filling in the content of Name, Comment, EraseType, EraseSubtitleConfig, EraseWatermarkConfig, and ErasePrivacyConfig parameters in the "<a href="https://www.tencentcloud.com/document/api/862/123735?from_cn_redirect=1">create intelligent erasure template</a>" API. Currently only supports configuring the above parameters in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.</li></ol><p>Currently, only the above parameters can be configured in the template. Other parameters are not required. If other parameters are included, the system will automatically ignore them. The above pass-through parameters are represented in JSON format.</p>
	MPSCreateTemplateParams *string `json:"MPSCreateTemplateParams,omitnil,omitempty" name:"MPSCreateTemplateParams"`

	// <p>Intelligent analysis template parameter. Valid when MPSCreateTemplateParams is empty.</p>
	AIAnalysisTemplate *MPSAIAnalysisTemplate `json:"AIAnalysisTemplate,omitnil,omitempty" name:"AIAnalysisTemplate"`

	// <p>Parameter of the intelligent subtitle template. Valid when MPSCreateTemplateParams is empty.</p>
	SmartSubtitleTemplate *MPSSmartSubtitleTemplate `json:"SmartSubtitleTemplate,omitnil,omitempty" name:"SmartSubtitleTemplate"`

	// <p>Intelligent erasure template parameter. Valid when MPSCreateTemplateParams is empty.</p>
	SmartEraseTemplate *MPSSmartEraseTemplate `json:"SmartEraseTemplate,omitnil,omitempty" name:"SmartEraseTemplate"`
}

func (r *CreateMPSTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateMPSTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "TemplateType")
	delete(f, "MPSCreateTemplateParams")
	delete(f, "AIAnalysisTemplate")
	delete(f, "SmartSubtitleTemplate")
	delete(f, "SmartEraseTemplate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateMPSTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateMPSTemplateResponseParams struct {
	// <p>Unique identifier of the MPS task Template. This template is independent of those created directly in Media Processing Service (MPS).</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateMPSTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateMPSTemplateResponseParams `json:"Response"`
}

func (r *CreateMPSTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateMPSTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreatePersonSampleRequestParams struct {
	// Material name, length limited to 20 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Material application scenario. Available values:
	// 1. Recognition: Used for content recognition, equivalent to Recognition.Face.
	// 2. Review: For inappropriate content, equivalent to Review.Face.
	// 3. All: Include all of the above, equivalent to 1+2.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Material description, with a length limit of 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// The material image [Base64](https://tools.ietf.org/html/rfc4648) encoded string only supports jpeg and png image formats. Array length limit: 5 images.
	// Note: The image must be a single portrait with clear facial features and not less than 200×200 pixels.
	FaceContents []*string `json:"FaceContents,omitnil,omitempty" name:"FaceContents"`

	// material tag
	// <li>Array length limit: 20 tags;</li>
	// <li>Length limit for a single tag: 128 characters.</li>
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type CreatePersonSampleRequest struct {
	*tchttp.BaseRequest
	
	// Material name, length limited to 20 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Material application scenario. Available values:
	// 1. Recognition: Used for content recognition, equivalent to Recognition.Face.
	// 2. Review: For inappropriate content, equivalent to Review.Face.
	// 3. All: Include all of the above, equivalent to 1+2.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Material description, with a length limit of 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// The material image [Base64](https://tools.ietf.org/html/rfc4648) encoded string only supports jpeg and png image formats. Array length limit: 5 images.
	// Note: The image must be a single portrait with clear facial features and not less than 200×200 pixels.
	FaceContents []*string `json:"FaceContents,omitnil,omitempty" name:"FaceContents"`

	// material tag
	// <li>Array length limit: 20 tags;</li>
	// <li>Length limit for a single tag: 128 characters.</li>
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`
}

func (r *CreatePersonSampleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreatePersonSampleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Usages")
	delete(f, "SubAppId")
	delete(f, "Description")
	delete(f, "FaceContents")
	delete(f, "Tags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreatePersonSampleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreatePersonSampleResponseParams struct {
	// Material information.
	Person *AiSamplePerson `json:"Person,omitnil,omitempty" name:"Person"`

	// Failed processing of facial feature positioning information.
	FailFaceInfoSet []*AiSampleFailFaceInfo `json:"FailFaceInfoSet,omitnil,omitempty" name:"FailFaceInfoSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreatePersonSampleResponse struct {
	*tchttp.BaseResponse
	Response *CreatePersonSampleResponseParams `json:"Response"`
}

func (r *CreatePersonSampleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreatePersonSampleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateProcedureTemplateRequestParams struct {
	// Task flow name (support Chinese, up to 20 characters).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Parameters for the video processing type task.
	MediaProcessTask *MediaProcessTaskInput `json:"MediaProcessTask,omitnil,omitempty" name:"MediaProcessTask"`

	// Parameters for the AI content review task.
	// <font color=red>\*: This parameter is used for legacy review initiation, not recommended. It is recommended to use the ReviewAudioVideoTask parameter to initiate review.</font>
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// Parameters for the AI content analysis task.
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// Parameters for the AI content recognition task.
	AiRecognitionTaskSet []*AiRecognitionTaskInput `json:"AiRecognitionTaskSet,omitnil,omitempty" name:"AiRecognitionTaskSet"`

	// This is not recommended. Recommend using AiRecognitionTaskSet.
	//
	// Deprecated: AiRecognitionTask is deprecated.
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// Parameters for the audio and video moderation task.
	ReviewAudioVideoTask *ProcedureReviewAudioVideoTaskInput `json:"ReviewAudioVideoTask,omitnil,omitempty" name:"ReviewAudioVideoTask"`
}

type CreateProcedureTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Task flow name (support Chinese, up to 20 characters).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Parameters for the video processing type task.
	MediaProcessTask *MediaProcessTaskInput `json:"MediaProcessTask,omitnil,omitempty" name:"MediaProcessTask"`

	// Parameters for the AI content review task.
	// <font color=red>\*: This parameter is used for legacy review initiation, not recommended. It is recommended to use the ReviewAudioVideoTask parameter to initiate review.</font>
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// Parameters for the AI content analysis task.
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// Parameters for the AI content recognition task.
	AiRecognitionTaskSet []*AiRecognitionTaskInput `json:"AiRecognitionTaskSet,omitnil,omitempty" name:"AiRecognitionTaskSet"`

	// This is not recommended. Recommend using AiRecognitionTaskSet.
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// Parameters for the audio and video moderation task.
	ReviewAudioVideoTask *ProcedureReviewAudioVideoTaskInput `json:"ReviewAudioVideoTask,omitnil,omitempty" name:"ReviewAudioVideoTask"`
}

func (r *CreateProcedureTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateProcedureTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	delete(f, "Comment")
	delete(f, "MediaProcessTask")
	delete(f, "AiContentReviewTask")
	delete(f, "AiAnalysisTask")
	delete(f, "AiRecognitionTaskSet")
	delete(f, "AiRecognitionTask")
	delete(f, "ReviewAudioVideoTask")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateProcedureTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateProcedureTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateProcedureTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateProcedureTemplateResponseParams `json:"Response"`
}

func (r *CreateProcedureTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateProcedureTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateProcessImageAsyncTemplateRequestParams struct {
	// Image asynchronous task processing configuration.
	ProcessImageConfigure *ProcessImageAsyncTask `json:"ProcessImageConfigure,omitnil,omitempty" name:"ProcessImageConfigure"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image async processing template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description of the image asynchronous processing template. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type CreateProcessImageAsyncTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Image asynchronous task processing configuration.
	ProcessImageConfigure *ProcessImageAsyncTask `json:"ProcessImageConfigure,omitnil,omitempty" name:"ProcessImageConfigure"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image async processing template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description of the image asynchronous processing template. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *CreateProcessImageAsyncTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateProcessImageAsyncTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ProcessImageConfigure")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateProcessImageAsyncTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateProcessImageAsyncTemplateResponseParams struct {
	// Unique identifier of the image asynchronous processing template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateProcessImageAsyncTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateProcessImageAsyncTemplateResponseParams `json:"Response"`
}

func (r *CreateProcessImageAsyncTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateProcessImageAsyncTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateQualityInspectTemplateRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality inspection template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio and video quality inspection template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Frame interception interval, unit: seconds, minimum value 1. If left blank, the default frame interval is 1 second.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Control parameters for video frame jitter and ghosting detection.
	JitterConfigure *JitterConfigureInfo `json:"JitterConfigure,omitnil,omitempty" name:"JitterConfigure"`

	// Control parameters for video frame blur detection.
	BlurConfigure *BlurConfigureInfo `json:"BlurConfigure,omitnil,omitempty" name:"BlurConfigure"`

	// Control parameters for low-light and overexposure detection in video frames.
	AbnormalLightingConfigure *AbnormalLightingConfigureInfo `json:"AbnormalLightingConfigure,omitnil,omitempty" name:"AbnormalLightingConfigure"`

	// Control parameters for screen glitch detection in video footage.
	CrashScreenConfigure *CrashScreenConfigureInfo `json:"CrashScreenConfigure,omitnil,omitempty" name:"CrashScreenConfigure"`

	// Control parameters for video picture black edge, white edge, black screen, and white screen detection.
	BlackWhiteEdgeConfigure *BlackWhiteEdgeConfigureInfo `json:"BlackWhiteEdgeConfigure,omitnil,omitempty" name:"BlackWhiteEdgeConfigure"`

	// Control parameters for video frame noise detection.
	NoiseConfigure *NoiseConfigureInfo `json:"NoiseConfigure,omitnil,omitempty" name:"NoiseConfigure"`

	// Control parameters for video frame mosaic detection.
	MosaicConfigure *MosaicConfigureInfo `json:"MosaicConfigure,omitnil,omitempty" name:"MosaicConfigure"`

	// Control parameters for video frame QR code detection.
	QRCodeConfigure *QRCodeConfigureInfo `json:"QRCodeConfigure,omitnil,omitempty" name:"QRCodeConfigure"`

	// Audio (mute, bass, clipping) detection control parameters.
	VoiceConfigure *VoiceConfigureInfo `json:"VoiceConfigure,omitnil,omitempty" name:"VoiceConfigure"`

	// Control parameters for video frame quality evaluation.
	QualityEvaluationConfigure *QualityEvaluationConfigureInfo `json:"QualityEvaluationConfigure,omitnil,omitempty" name:"QualityEvaluationConfigure"`
}

type CreateQualityInspectTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality inspection template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio and video quality inspection template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Frame interception interval, unit: seconds, minimum value 1. If left blank, the default frame interval is 1 second.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Control parameters for video frame jitter and ghosting detection.
	JitterConfigure *JitterConfigureInfo `json:"JitterConfigure,omitnil,omitempty" name:"JitterConfigure"`

	// Control parameters for video frame blur detection.
	BlurConfigure *BlurConfigureInfo `json:"BlurConfigure,omitnil,omitempty" name:"BlurConfigure"`

	// Control parameters for low-light and overexposure detection in video frames.
	AbnormalLightingConfigure *AbnormalLightingConfigureInfo `json:"AbnormalLightingConfigure,omitnil,omitempty" name:"AbnormalLightingConfigure"`

	// Control parameters for screen glitch detection in video footage.
	CrashScreenConfigure *CrashScreenConfigureInfo `json:"CrashScreenConfigure,omitnil,omitempty" name:"CrashScreenConfigure"`

	// Control parameters for video picture black edge, white edge, black screen, and white screen detection.
	BlackWhiteEdgeConfigure *BlackWhiteEdgeConfigureInfo `json:"BlackWhiteEdgeConfigure,omitnil,omitempty" name:"BlackWhiteEdgeConfigure"`

	// Control parameters for video frame noise detection.
	NoiseConfigure *NoiseConfigureInfo `json:"NoiseConfigure,omitnil,omitempty" name:"NoiseConfigure"`

	// Control parameters for video frame mosaic detection.
	MosaicConfigure *MosaicConfigureInfo `json:"MosaicConfigure,omitnil,omitempty" name:"MosaicConfigure"`

	// Control parameters for video frame QR code detection.
	QRCodeConfigure *QRCodeConfigureInfo `json:"QRCodeConfigure,omitnil,omitempty" name:"QRCodeConfigure"`

	// Audio (mute, bass, clipping) detection control parameters.
	VoiceConfigure *VoiceConfigureInfo `json:"VoiceConfigure,omitnil,omitempty" name:"VoiceConfigure"`

	// Control parameters for video frame quality evaluation.
	QualityEvaluationConfigure *QualityEvaluationConfigureInfo `json:"QualityEvaluationConfigure,omitnil,omitempty" name:"QualityEvaluationConfigure"`
}

func (r *CreateQualityInspectTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateQualityInspectTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "ScreenshotInterval")
	delete(f, "JitterConfigure")
	delete(f, "BlurConfigure")
	delete(f, "AbnormalLightingConfigure")
	delete(f, "CrashScreenConfigure")
	delete(f, "BlackWhiteEdgeConfigure")
	delete(f, "NoiseConfigure")
	delete(f, "MosaicConfigure")
	delete(f, "QRCodeConfigure")
	delete(f, "VoiceConfigure")
	delete(f, "QualityEvaluationConfigure")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateQualityInspectTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateQualityInspectTemplateResponseParams struct {
	// Audio and video quality inspection template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateQualityInspectTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateQualityInspectTemplateResponseParams `json:"Response"`
}

func (r *CreateQualityInspectTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateQualityInspectTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRebuildMediaTemplateRequestParams struct {
	// Container format. Valid values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Audio-visual quality revival video control information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Audio-visual quality revival audio control information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// The default value is 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Value range:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// The default value is 0.
	RemoveAudio *string `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

type CreateRebuildMediaTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Container format. Valid values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Audio-visual quality revival video control information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Audio-visual quality revival audio control information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// The default value is 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Value range:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// The default value is 0.
	RemoveAudio *string `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

func (r *CreateRebuildMediaTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRebuildMediaTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Container")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "RebuildVideoInfo")
	delete(f, "RebuildAudioInfo")
	delete(f, "TargetVideoInfo")
	delete(f, "TargetAudioInfo")
	delete(f, "RemoveVideo")
	delete(f, "RemoveAudio")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRebuildMediaTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRebuildMediaTemplateResponseParams struct {
	// Video rebirth template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateRebuildMediaTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateRebuildMediaTemplateResponseParams `json:"Response"`
}

func (r *CreateRebuildMediaTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRebuildMediaTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateReviewTemplateRequestParams struct {
	// The violation labels to use. Valid values: <li>`Porn`: Pornographic content</li> <li>`Terror`: Terrorist content</li> <li>`Moan`: Moaning</li>
	Labels []*string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *string `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Review template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Review template description information, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type CreateReviewTemplateRequest struct {
	*tchttp.BaseRequest
	
	// The violation labels to use. Valid values: <li>`Porn`: Pornographic content</li> <li>`Terror`: Terrorist content</li> <li>`Moan`: Moaning</li>
	Labels []*string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *string `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Review template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Review template description information, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *CreateReviewTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateReviewTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Labels")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateReviewTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateReviewTemplateResponseParams struct {
	// Unique identifier of a review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateReviewTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateReviewTemplateResponseParams `json:"Response"`
}

func (r *CreateReviewTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateReviewTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRoundPlayRequestParams struct {
	// The playback start time, in [iso 8601 date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// The program list.
	// <Li>Array length limit: 100.</li>.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`

	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The playlist name (not longer than 64 characters).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The playlist description, length limit: 256 characters.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Play mode, optional values:.
	// <Li>Loop: loop the playlist;</li>.
	// <Li>Linear: single play, stop playback after the single play finishes.</li>.
	// Default value: loop.
	PlayBackMode *string `json:"PlayBackMode,omitnil,omitempty" name:"PlayBackMode"`

	// Playlist unique identifier id, with a length limit of 64 characters, only allowing uppercase and lowercase english letters (a-za-z), digits (0-9) and hyphens (-). if there is a playlist with the same roundplayid, return the error invalidparametervalue.roundplayalreadyexists. the default value is empty, which means it is system-assigned.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// Expiration time, in iso 8601 format. for details, see [iso date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format). the playlist will stop playing after expiration. "9999-12-31t23:59:59+08:00" means it does not expire. default value: 9999-12-31t23:59:59+08:00.
	ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
}

type CreateRoundPlayRequest struct {
	*tchttp.BaseRequest
	
	// The playback start time, in [iso 8601 date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// The program list.
	// <Li>Array length limit: 100.</li>.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`

	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The playlist name (not longer than 64 characters).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The playlist description, length limit: 256 characters.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Play mode, optional values:.
	// <Li>Loop: loop the playlist;</li>.
	// <Li>Linear: single play, stop playback after the single play finishes.</li>.
	// Default value: loop.
	PlayBackMode *string `json:"PlayBackMode,omitnil,omitempty" name:"PlayBackMode"`

	// Playlist unique identifier id, with a length limit of 64 characters, only allowing uppercase and lowercase english letters (a-za-z), digits (0-9) and hyphens (-). if there is a playlist with the same roundplayid, return the error invalidparametervalue.roundplayalreadyexists. the default value is empty, which means it is system-assigned.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// Expiration time, in iso 8601 format. for details, see [iso date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format). the playlist will stop playing after expiration. "9999-12-31t23:59:59+08:00" means it does not expire. default value: 9999-12-31t23:59:59+08:00.
	ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
}

func (r *CreateRoundPlayRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRoundPlayRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "RoundPlaylist")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Desc")
	delete(f, "PlayBackMode")
	delete(f, "RoundPlayId")
	delete(f, "ExpiredTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRoundPlayRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRoundPlayResponseParams struct {
	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// The playlist playback url.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateRoundPlayResponse struct {
	*tchttp.BaseResponse
	Response *CreateRoundPlayResponseParams `json:"Response"`
}

func (r *CreateRoundPlayResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRoundPlayResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSampleSnapshotTemplateRequestParams struct {
	// Sampling screenshot type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sample screenshot template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Maximum value of the screenshot width (or long edge) in px. Value range: 0 and [128, 4096].
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of screenshot height (or short side), value ranges from 0 to [128, 4096], measurement unit: px.
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Value can be jpg and png. Default is jpg.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, and use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type CreateSampleSnapshotTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Sampling screenshot type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sample screenshot template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Maximum value of the screenshot width (or long edge) in px. Value range: 0 and [128, 4096].
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of screenshot height (or short side), value ranges from 0 to [128, 4096], measurement unit: px.
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Value can be jpg and png. Default is jpg.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, and use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

func (r *CreateSampleSnapshotTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSampleSnapshotTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SampleType")
	delete(f, "SampleInterval")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "Format")
	delete(f, "Comment")
	delete(f, "FillType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSampleSnapshotTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSampleSnapshotTemplateResponseParams struct {
	// Unique identifier of the sampling screenshot template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSampleSnapshotTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateSampleSnapshotTemplateResponseParams `json:"Response"`
}

func (r *CreateSampleSnapshotTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSampleSnapshotTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSceneAigcImageTaskRequestParams struct {
	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Scenario-Based image generation parameter configuration.
	SceneInfo *AigcImageSceneInfo `json:"SceneInfo,omitnil,omitempty" name:"SceneInfo"`

	// Input image list. supported image formats: jpg, jpeg, png, webp. different scenarios require different input data.
	// 
	// - AI clothing change scenario: input only 1 model image.
	// - AI product image scenario: manually input 1-10 images of different angles per product.
	FileInfos []*SceneAigcImageTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// Specifies the output media file configuration for the scenario-based image task.
	OutputConfig *SceneAigcImageOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// An identifier for deduplication. if there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. the maximum length is 50 characters. leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used to pass through user request information. the audio and video quality revival complete callback will return the value of this field, up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. the higher the value, the higher the priority. the value range is from -10 to 10. if left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type CreateSceneAigcImageTaskRequest struct {
	*tchttp.BaseRequest
	
	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Scenario-Based image generation parameter configuration.
	SceneInfo *AigcImageSceneInfo `json:"SceneInfo,omitnil,omitempty" name:"SceneInfo"`

	// Input image list. supported image formats: jpg, jpeg, png, webp. different scenarios require different input data.
	// 
	// - AI clothing change scenario: input only 1 model image.
	// - AI product image scenario: manually input 1-10 images of different angles per product.
	FileInfos []*SceneAigcImageTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// Specifies the output media file configuration for the scenario-based image task.
	OutputConfig *SceneAigcImageOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// An identifier for deduplication. if there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. the maximum length is 50 characters. leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used to pass through user request information. the audio and video quality revival complete callback will return the value of this field, up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. the higher the value, the higher the priority. the value range is from -10 to 10. if left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *CreateSceneAigcImageTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSceneAigcImageTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "SceneInfo")
	delete(f, "FileInfos")
	delete(f, "OutputConfig")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSceneAigcImageTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSceneAigcImageTaskResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSceneAigcImageTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateSceneAigcImageTaskResponseParams `json:"Response"`
}

func (r *CreateSceneAigcImageTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSceneAigcImageTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSceneAigcVideoTaskRequestParams struct {
	// **VOD application ID.** Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Scenario-based video parameter configuration.
	SceneInfo *AigcVideoSceneInfo `json:"SceneInfo,omitnil,omitempty" name:"SceneInfo"`

	// Scenario-based output media file configuration for video tasks.
	OutputConfig *SceneAigcVideoOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// Input image list. Supported image formats: jpg, jpeg, png, webp.
	// 
	FileInfos []*SceneAigcVideoTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used for passing through user request information. The audio and video quality revival complete callback will return the value of this field, up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// Customize prompt
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`
}

type CreateSceneAigcVideoTaskRequest struct {
	*tchttp.BaseRequest
	
	// **VOD application ID.** Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Scenario-based video parameter configuration.
	SceneInfo *AigcVideoSceneInfo `json:"SceneInfo,omitnil,omitempty" name:"SceneInfo"`

	// Scenario-based output media file configuration for video tasks.
	OutputConfig *SceneAigcVideoOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// Input image list. Supported image formats: jpg, jpeg, png, webp.
	// 
	FileInfos []*SceneAigcVideoTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used for passing through user request information. The audio and video quality revival complete callback will return the value of this field, up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// Customize prompt
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`
}

func (r *CreateSceneAigcVideoTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSceneAigcVideoTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "SceneInfo")
	delete(f, "OutputConfig")
	delete(f, "FileInfos")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	delete(f, "Prompt")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSceneAigcVideoTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSceneAigcVideoTaskResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSceneAigcVideoTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateSceneAigcVideoTaskResponseParams `json:"Response"`
}

func (r *CreateSceneAigcVideoTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSceneAigcVideoTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSnapshotByTimeOffsetTemplateRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Screenshot template name at specified time point. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Maximum value of the screenshot width (or long edge) in px. Value range: 0 and [128, 4096].
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of screenshot height (or short side), value ranges from 0 to [128, 4096], measurement unit: px.
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Value can be jpg and png. Default is jpg.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, and use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type CreateSnapshotByTimeOffsetTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Screenshot template name at specified time point. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Maximum value of the screenshot width (or long edge) in px. Value range: 0 and [128, 4096].
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of screenshot height (or short side), value ranges from 0 to [128, 4096], measurement unit: px.
	// <li>If both Width and Height are 0, the resolution is the same as the source.</li>
	// <li>If Width is 0 but Height is not 0, the width will be proportionally scaled.</li>
	// <li>If Width is not 0 but Height is 0, the height will be proportionally scaled.</li>
	// <li>If both Width and Height are not 0, the resolution is as specified by the user.</li>
	// The default value is 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Value can be jpg and png. Default is jpg.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, and use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

func (r *CreateSnapshotByTimeOffsetTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSnapshotByTimeOffsetTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "Format")
	delete(f, "Comment")
	delete(f, "FillType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSnapshotByTimeOffsetTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSnapshotByTimeOffsetTemplateResponseParams struct {
	// Unique identifier of the time point screenshot template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSnapshotByTimeOffsetTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateSnapshotByTimeOffsetTemplateResponseParams `json:"Response"`
}

func (r *CreateSnapshotByTimeOffsetTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSnapshotByTimeOffsetTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStorageRegionRequestParams struct {
	// <p>The pending storage region must be a supported region.</p><p>For reference: <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1">Supported region list</a></p>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CreateStorageRegionRequest struct {
	*tchttp.BaseRequest
	
	// <p>The pending storage region must be a supported region.</p><p>For reference: <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1">Supported region list</a></p>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CreateStorageRegionRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStorageRegionRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StorageRegion")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateStorageRegionRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateStorageRegionResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateStorageRegionResponse struct {
	*tchttp.BaseResponse
	Response *CreateStorageRegionResponseParams `json:"Response"`
}

func (r *CreateStorageRegionResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateStorageRegionResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSubAppIdRequestParams struct {
	// <p>Application name, length limited to 40 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Application description, length limited to 300 characters. If left blank, the application description is empty by default.</p>
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// <p>App type. Valid values: <li>AllInOne: integrated;</li><li>Professional: pro edition.</li>Default value: AllInOne.</p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Mode of this application. Available values are:</p><ul><li>fileid: fileid mode only</li><li>fileid+path: fileid & path mode<br>Leave empty to select fileid mode by default</li></ul>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>When Mode is fileid only, it is used to set the default storage region and is selectable.<br>When Mode is fileid+path, it is used to specify the storage region and is required.</p><p>For reference: <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1">Supported region list</a></p>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p>tag that needs to be bound to this application</p>
	Tags []*ResourceTag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type CreateSubAppIdRequest struct {
	*tchttp.BaseRequest
	
	// <p>Application name, length limited to 40 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Application description, length limited to 300 characters. If left blank, the application description is empty by default.</p>
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// <p>App type. Valid values: <li>AllInOne: integrated;</li><li>Professional: pro edition.</li>Default value: AllInOne.</p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Mode of this application. Available values are:</p><ul><li>fileid: fileid mode only</li><li>fileid+path: fileid & path mode<br>Leave empty to select fileid mode by default</li></ul>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>When Mode is fileid only, it is used to set the default storage region and is selectable.<br>When Mode is fileid+path, it is used to specify the storage region and is required.</p><p>For reference: <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1">Supported region list</a></p>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p>tag that needs to be bound to this application</p>
	Tags []*ResourceTag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

func (r *CreateSubAppIdRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSubAppIdRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Description")
	delete(f, "Type")
	delete(f, "Mode")
	delete(f, "StorageRegion")
	delete(f, "Tags")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSubAppIdRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSubAppIdResponseParams struct {
	// <p>ID of the newly created application.</p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSubAppIdResponse struct {
	*tchttp.BaseResponse
	Response *CreateSubAppIdResponseParams `json:"Response"`
}

func (r *CreateSubAppIdResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSubAppIdResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSuperPlayerConfigRequestParams struct {
	// Player configuration name. Length limit: 64 characters. Only allowed to appear [0-9a-zA-Z] and _- characters (such as test_ABC-123). The name is unique for the same user.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Played audio and video type. Available values:
	// <li>AdaptiveDynamicStream: adaptive bitrate stream output;</li>
	// <li>Transcode: transcoding output;</li>
	// <li>Original: original audio/video.</li>
	// Default is AdaptiveDynamicStream.
	AudioVideoType *string `json:"AudioVideoType,omitnil,omitempty" name:"AudioVideoType"`

	// Switch for playing DRM-protected adaptive bitstream.
	// <li>ON: Enable, indicates only playback of DRM protected adaptive bitrate output;</li>
	// <li>OFF: Disable, indicates playback of unencrypted adaptive bitstream output.</li>
	// Default value: OFF.
	// This parameter is valid when AudioVideoType is AdaptiveDynamicStream.
	DrmSwitch *string `json:"DrmSwitch,omitnil,omitempty" name:"DrmSwitch"`

	// Allowed output of unencrypted adaptive bitstream template ID.
	// 
	// This parameter is required when AudioVideoType is AdaptiveDynamicStream and DrmSwitch is OFF.
	AdaptiveDynamicStreamingDefinition *uint64 `json:"AdaptiveDynamicStreamingDefinition,omitnil,omitempty" name:"AdaptiveDynamicStreamingDefinition"`

	// Allowed output of DRM adaptive bitstream template content.
	// 
	// This parameter is required when AudioVideoType is AdaptiveDynamicStream and DrmSwitch is ON.
	DrmStreamingsInfo *DrmStreamingsInfo `json:"DrmStreamingsInfo,omitnil,omitempty" name:"DrmStreamingsInfo"`

	// Allowed output transcoding template ID.
	// 
	// Required when AudioVideoType is Transcode.
	TranscodeDefinition *uint64 `json:"TranscodeDefinition,omitnil,omitempty" name:"TranscodeDefinition"`

	// Allowed output sprite template ID.
	ImageSpriteDefinition *uint64 `json:"ImageSpriteDefinition,omitnil,omitempty" name:"ImageSpriteDefinition"`

	// Player's display name for substreams of different resolutions. Use default configuration if not filled or empty array.
	// <li>MinEdgeLength: 240, Name: smooth;</li>
	// <li>MinEdgeLength: 480, Name: SD;</li>
	// <li>MinEdgeLength: 720, Name: high-definition;</li>
	// <li>MinEdgeLength: 1080, Name: full HD;</li>
	// <li>MinEdgeLength:1440,Name:2K;</li>
	// <li>MinEdgeLength:2160,Name:4K;</li>
	// <li>MinEdgeLength:4320,Name:8K.</li>
	ResolutionNames []*ResolutionNameInfo `json:"ResolutionNames,omitnil,omitempty" name:"ResolutionNames"`

	// Domain name used during playback. Leave it blank or enter Default to indicate usage of the domain name in the default distribution configuration (https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1).
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Scheme used during playback. Leave it blank or enter Default to indicate usage of the scheme in the default distribution configuration (https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1). Other optional values:
	// <li>HTTP;</li>
	// <li>HTTPS.</li>
	Scheme *string `json:"Scheme,omitnil,omitempty" name:"Scheme"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type CreateSuperPlayerConfigRequest struct {
	*tchttp.BaseRequest
	
	// Player configuration name. Length limit: 64 characters. Only allowed to appear [0-9a-zA-Z] and _- characters (such as test_ABC-123). The name is unique for the same user.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Played audio and video type. Available values:
	// <li>AdaptiveDynamicStream: adaptive bitrate stream output;</li>
	// <li>Transcode: transcoding output;</li>
	// <li>Original: original audio/video.</li>
	// Default is AdaptiveDynamicStream.
	AudioVideoType *string `json:"AudioVideoType,omitnil,omitempty" name:"AudioVideoType"`

	// Switch for playing DRM-protected adaptive bitstream.
	// <li>ON: Enable, indicates only playback of DRM protected adaptive bitrate output;</li>
	// <li>OFF: Disable, indicates playback of unencrypted adaptive bitstream output.</li>
	// Default value: OFF.
	// This parameter is valid when AudioVideoType is AdaptiveDynamicStream.
	DrmSwitch *string `json:"DrmSwitch,omitnil,omitempty" name:"DrmSwitch"`

	// Allowed output of unencrypted adaptive bitstream template ID.
	// 
	// This parameter is required when AudioVideoType is AdaptiveDynamicStream and DrmSwitch is OFF.
	AdaptiveDynamicStreamingDefinition *uint64 `json:"AdaptiveDynamicStreamingDefinition,omitnil,omitempty" name:"AdaptiveDynamicStreamingDefinition"`

	// Allowed output of DRM adaptive bitstream template content.
	// 
	// This parameter is required when AudioVideoType is AdaptiveDynamicStream and DrmSwitch is ON.
	DrmStreamingsInfo *DrmStreamingsInfo `json:"DrmStreamingsInfo,omitnil,omitempty" name:"DrmStreamingsInfo"`

	// Allowed output transcoding template ID.
	// 
	// Required when AudioVideoType is Transcode.
	TranscodeDefinition *uint64 `json:"TranscodeDefinition,omitnil,omitempty" name:"TranscodeDefinition"`

	// Allowed output sprite template ID.
	ImageSpriteDefinition *uint64 `json:"ImageSpriteDefinition,omitnil,omitempty" name:"ImageSpriteDefinition"`

	// Player's display name for substreams of different resolutions. Use default configuration if not filled or empty array.
	// <li>MinEdgeLength: 240, Name: smooth;</li>
	// <li>MinEdgeLength: 480, Name: SD;</li>
	// <li>MinEdgeLength: 720, Name: high-definition;</li>
	// <li>MinEdgeLength: 1080, Name: full HD;</li>
	// <li>MinEdgeLength:1440,Name:2K;</li>
	// <li>MinEdgeLength:2160,Name:4K;</li>
	// <li>MinEdgeLength:4320,Name:8K.</li>
	ResolutionNames []*ResolutionNameInfo `json:"ResolutionNames,omitnil,omitempty" name:"ResolutionNames"`

	// Domain name used during playback. Leave it blank or enter Default to indicate usage of the domain name in the default distribution configuration (https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1).
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Scheme used during playback. Leave it blank or enter Default to indicate usage of the scheme in the default distribution configuration (https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1). Other optional values:
	// <li>HTTP;</li>
	// <li>HTTPS.</li>
	Scheme *string `json:"Scheme,omitnil,omitempty" name:"Scheme"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *CreateSuperPlayerConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSuperPlayerConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	delete(f, "AudioVideoType")
	delete(f, "DrmSwitch")
	delete(f, "AdaptiveDynamicStreamingDefinition")
	delete(f, "DrmStreamingsInfo")
	delete(f, "TranscodeDefinition")
	delete(f, "ImageSpriteDefinition")
	delete(f, "ResolutionNames")
	delete(f, "Domain")
	delete(f, "Scheme")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSuperPlayerConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSuperPlayerConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSuperPlayerConfigResponse struct {
	*tchttp.BaseResponse
	Response *CreateSuperPlayerConfigResponseParams `json:"Response"`
}

func (r *CreateSuperPlayerConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSuperPlayerConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateTranscodeTemplateRequestParams struct {
	// <p>Container format. Valid values: mp4, flv, hls, mp3, flac, ogg, m4a, and wav. Among them, mp3, flac, ogg, m4a, and wav are for audio-only files.</p>
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Transcoding template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Whether to remove video data. Available values:</p><li>0: reserved</li><li>1: remove</li>Default value: 0.</p>
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// <p>Remove audio data. Available values:</p><li>0: Reserved</li><li>1: Remove</li>Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// <p>Video stream configuration parameters. This field is required when RemoveVideo is 0.</p>
	VideoTemplate *VideoTemplateInfo `json:"VideoTemplate,omitnil,omitempty" name:"VideoTemplate"`

	// <p>Audio stream configuration parameters. This field is required when RemoveAudio is 0.</p>
	AudioTemplate *AudioTemplateInfo `json:"AudioTemplate,omitnil,omitempty" name:"AudioTemplate"`

	// <p>TSC transcoding parameter.</p>
	TEHDConfig *TEHDConfig `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`

	// <p>Audio/Video enhancement configuration.</p>
	EnhanceConfig *EnhanceConfig `json:"EnhanceConfig,omitnil,omitempty" name:"EnhanceConfig"`

	// <p>Segment type, valid when Container is hls. Available values:</p><li>ts: ts slicing;</li><li>fmp4: fmp4 slicing.</li>Default value: ts.
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`

	// <p>Extended parameter.</p>
	StdExtInfo *string `json:"StdExtInfo,omitnil,omitempty" name:"StdExtInfo"`
}

type CreateTranscodeTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <p>Container format. Valid values: mp4, flv, hls, mp3, flac, ogg, m4a, and wav. Among them, mp3, flac, ogg, m4a, and wav are for audio-only files.</p>
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Transcoding template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Whether to remove video data. Available values:</p><li>0: reserved</li><li>1: remove</li>Default value: 0.</p>
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// <p>Remove audio data. Available values:</p><li>0: Reserved</li><li>1: Remove</li>Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// <p>Video stream configuration parameters. This field is required when RemoveVideo is 0.</p>
	VideoTemplate *VideoTemplateInfo `json:"VideoTemplate,omitnil,omitempty" name:"VideoTemplate"`

	// <p>Audio stream configuration parameters. This field is required when RemoveAudio is 0.</p>
	AudioTemplate *AudioTemplateInfo `json:"AudioTemplate,omitnil,omitempty" name:"AudioTemplate"`

	// <p>TSC transcoding parameter.</p>
	TEHDConfig *TEHDConfig `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`

	// <p>Audio/Video enhancement configuration.</p>
	EnhanceConfig *EnhanceConfig `json:"EnhanceConfig,omitnil,omitempty" name:"EnhanceConfig"`

	// <p>Segment type, valid when Container is hls. Available values:</p><li>ts: ts slicing;</li><li>fmp4: fmp4 slicing.</li>Default value: ts.
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`

	// <p>Extended parameter.</p>
	StdExtInfo *string `json:"StdExtInfo,omitnil,omitempty" name:"StdExtInfo"`
}

func (r *CreateTranscodeTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateTranscodeTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Container")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "RemoveVideo")
	delete(f, "RemoveAudio")
	delete(f, "VideoTemplate")
	delete(f, "AudioTemplate")
	delete(f, "TEHDConfig")
	delete(f, "EnhanceConfig")
	delete(f, "SegmentType")
	delete(f, "StdExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateTranscodeTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateTranscodeTemplateResponseParams struct {
	// <p>Unique identifier of the transcoding template.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateTranscodeTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateTranscodeTemplateResponseParams `json:"Response"`
}

func (r *CreateTranscodeTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateTranscodeTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateVodDomainRequestParams struct {
	// Domain name for on-demand acceleration. Note: Filling in wildcard domains is not supported.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Region to enable acceleration. Valid values:
	// <li>`Chinese Mainland`</li>
	// <li>`Outside Chinese Mainland`</li>
	// <li>`Global`</li>
	// If `AccelerateArea` is not specified, VOD will enable acceleration in or outside Chinese mainland based on the regional information a user has configured with Tencent Cloud.
	AccelerateArea *string `json:"AccelerateArea,omitnil,omitempty" name:"AccelerateArea"`

	// Domain type. Valid values: <li>VOD: domain name distributed by the VOD product;</li> <li>EdgeOne: domain name distributed by the EdgeOne product.</li> The default value is VOD.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type CreateVodDomainRequest struct {
	*tchttp.BaseRequest
	
	// Domain name for on-demand acceleration. Note: Filling in wildcard domains is not supported.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Region to enable acceleration. Valid values:
	// <li>`Chinese Mainland`</li>
	// <li>`Outside Chinese Mainland`</li>
	// <li>`Global`</li>
	// If `AccelerateArea` is not specified, VOD will enable acceleration in or outside Chinese mainland based on the regional information a user has configured with Tencent Cloud.
	AccelerateArea *string `json:"AccelerateArea,omitnil,omitempty" name:"AccelerateArea"`

	// Domain type. Valid values: <li>VOD: domain name distributed by the VOD product;</li> <li>EdgeOne: domain name distributed by the EdgeOne product.</li> The default value is VOD.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *CreateVodDomainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateVodDomainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "SubAppId")
	delete(f, "AccelerateArea")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateVodDomainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateVodDomainResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateVodDomainResponse struct {
	*tchttp.BaseResponse
	Response *CreateVodDomainResponseParams `json:"Response"`
}

func (r *CreateVodDomainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateVodDomainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateWatermarkTemplateRequestParams struct {
	// Watermark type. Valid values:
	// <li>image: image watermark.</li>
	// <li>Text: text watermark.</li>
	// <li>svg: SVG watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Origin position. Valid values:
	// <li>TopLeft: indicates that the coordinate origin is at the top left corner of the video image and the watermark origin is at the top left corner of the image or text.</li>
	// <li>TopRight: indicates that the coordinate origin is at the top right corner of the video image and the watermark origin is at the top right corner of the image or text.</li>
	// <li>BottomLeft: indicates that the coordinate origin is at the bottom left corner of the video image and the watermark origin is at the bottom left corner of the image or text.</li>
	// <li>BottomRight: indicates that the coordinate origin is at the bottom right corner of the video image and the watermark origin is at the bottom right corner of the image or text.</li>
	// Default value: TopLeft.
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`

	// The horizontal position of the watermark origin from the origin of coordinates of the video image. Support two formats: % and px.
	// <li>If a string ends with %, it indicates that the `XPos` of a watermark is a specified percentage of a video's width. For example, `10%` means that `XPos` is 10% of a video's width.</li>
	// <li>If a string ends with px, it means the watermark XPos is specified in pixels, for example, 100px means XPos is 100 pixels.</li>
	// Default value: 0px.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// The vertical position of the watermark origin from the origin of coordinates of the video image. Supports two formats: % and px.
	// <li>If a string ends with %, it indicates that the `YPos` of a watermark is a specified percentage of a video's height. For example, `10%` means that `YPos` is 10% of a video's height.</li>
	// <li>If a string ends with px, it means the watermark YPos is specified in pixels, for example, 100px means YPos is 100 pixels.</li>
	// Default value: 0px.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Image watermark template. This field is required when Type is image. Invalid field when Type is text.
	ImageTemplate *ImageWatermarkInput `json:"ImageTemplate,omitnil,omitempty" name:"ImageTemplate"`

	// Text watermarking template. This field is required when Type is text. Invalid field when Type is image.
	TextTemplate *TextWatermarkTemplateInput `json:"TextTemplate,omitnil,omitempty" name:"TextTemplate"`

	// SVG Watermark Template. This field is required when Type is svg. Invalid field when Type is image or text.
	SvgTemplate *SvgWatermarkInput `json:"SvgTemplate,omitnil,omitempty" name:"SvgTemplate"`
}

type CreateWatermarkTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Watermark type. Valid values:
	// <li>image: image watermark.</li>
	// <li>Text: text watermark.</li>
	// <li>svg: SVG watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Origin position. Valid values:
	// <li>TopLeft: indicates that the coordinate origin is at the top left corner of the video image and the watermark origin is at the top left corner of the image or text.</li>
	// <li>TopRight: indicates that the coordinate origin is at the top right corner of the video image and the watermark origin is at the top right corner of the image or text.</li>
	// <li>BottomLeft: indicates that the coordinate origin is at the bottom left corner of the video image and the watermark origin is at the bottom left corner of the image or text.</li>
	// <li>BottomRight: indicates that the coordinate origin is at the bottom right corner of the video image and the watermark origin is at the bottom right corner of the image or text.</li>
	// Default value: TopLeft.
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`

	// The horizontal position of the watermark origin from the origin of coordinates of the video image. Support two formats: % and px.
	// <li>If a string ends with %, it indicates that the `XPos` of a watermark is a specified percentage of a video's width. For example, `10%` means that `XPos` is 10% of a video's width.</li>
	// <li>If a string ends with px, it means the watermark XPos is specified in pixels, for example, 100px means XPos is 100 pixels.</li>
	// Default value: 0px.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// The vertical position of the watermark origin from the origin of coordinates of the video image. Supports two formats: % and px.
	// <li>If a string ends with %, it indicates that the `YPos` of a watermark is a specified percentage of a video's height. For example, `10%` means that `YPos` is 10% of a video's height.</li>
	// <li>If a string ends with px, it means the watermark YPos is specified in pixels, for example, 100px means YPos is 100 pixels.</li>
	// Default value: 0px.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Image watermark template. This field is required when Type is image. Invalid field when Type is text.
	ImageTemplate *ImageWatermarkInput `json:"ImageTemplate,omitnil,omitempty" name:"ImageTemplate"`

	// Text watermarking template. This field is required when Type is text. Invalid field when Type is image.
	TextTemplate *TextWatermarkTemplateInput `json:"TextTemplate,omitnil,omitempty" name:"TextTemplate"`

	// SVG Watermark Template. This field is required when Type is svg. Invalid field when Type is image or text.
	SvgTemplate *SvgWatermarkInput `json:"SvgTemplate,omitnil,omitempty" name:"SvgTemplate"`
}

func (r *CreateWatermarkTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateWatermarkTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Type")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "CoordinateOrigin")
	delete(f, "XPos")
	delete(f, "YPos")
	delete(f, "ImageTemplate")
	delete(f, "TextTemplate")
	delete(f, "SvgTemplate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateWatermarkTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateWatermarkTemplateResponseParams struct {
	// Unique identifier of the watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// URL of the image watermark. This field is valid only when Type is image.
	ImageUrl *string `json:"ImageUrl,omitnil,omitempty" name:"ImageUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateWatermarkTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateWatermarkTemplateResponseParams `json:"Response"`
}

func (r *CreateWatermarkTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateWatermarkTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateWordSamplesRequestParams struct {
	// <b>Keyword application scenario, available values: </b>
	// 1. Recognition.Ocr: Perform content recognition using OCR.
	// 2. Recognition.Asr: Perform content recognition using audio recognition technology.
	// 3. Review.Ocr: Perform inappropriate content recognition using OCR.
	// 4. Review.Asr: Perform inappropriate content recognition through audio recognition technology.
	// <b>Can be abbreviated as:</b>
	// 5. Recognition: Perform content recognition using OCR and audio recognition technology, equivalent to 1+2.
	// 6. Review: Perform inappropriate content recognition using OCR and audio recognition technology, equivalent to 3+4.
	// 7. All: Perform content recognition and inappropriate content recognition through OCR and audio recognition technology, equivalent to 1+2+3+4.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Keyword, array length limit: 100.
	Words []*AiSampleWordInfo `json:"Words,omitnil,omitempty" name:"Words"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type CreateWordSamplesRequest struct {
	*tchttp.BaseRequest
	
	// <b>Keyword application scenario, available values: </b>
	// 1. Recognition.Ocr: Perform content recognition using OCR.
	// 2. Recognition.Asr: Perform content recognition using audio recognition technology.
	// 3. Review.Ocr: Perform inappropriate content recognition using OCR.
	// 4. Review.Asr: Perform inappropriate content recognition through audio recognition technology.
	// <b>Can be abbreviated as:</b>
	// 5. Recognition: Perform content recognition using OCR and audio recognition technology, equivalent to 1+2.
	// 6. Review: Perform inappropriate content recognition using OCR and audio recognition technology, equivalent to 3+4.
	// 7. All: Perform content recognition and inappropriate content recognition through OCR and audio recognition technology, equivalent to 1+2+3+4.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Keyword, array length limit: 100.
	Words []*AiSampleWordInfo `json:"Words,omitnil,omitempty" name:"Words"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *CreateWordSamplesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateWordSamplesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Usages")
	delete(f, "Words")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateWordSamplesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateWordSamplesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateWordSamplesResponse struct {
	*tchttp.BaseResponse
	Response *CreateWordSamplesResponseParams `json:"Response"`
}

func (r *CreateWordSamplesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateWordSamplesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CustomVoiceInfo struct {
	// <p>Voice ID.</p>
	VoiceId *string `json:"VoiceId,omitnil,omitempty" name:"VoiceId"`

	// <p>Tone information.</p>
	VoiceInfo *string `json:"VoiceInfo,omitnil,omitempty" name:"VoiceInfo"`
}

type DNSVerifyInfo struct {
	// sub-parsing.
	SubDomain *string `json:"SubDomain,omitnil,omitempty" name:"SubDomain"`

	// parse value.
	Record *string `json:"Record,omitnil,omitempty" name:"Record"`

	// parsing type.
	RecordType *string `json:"RecordType,omitnil,omitempty" name:"RecordType"`
}

// Predefined struct for user
type DeleteAIAnalysisTemplateRequestParams struct {
	// Unique identifier of the audio and video content analysis template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteAIAnalysisTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the audio and video content analysis template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteAIAnalysisTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAIAnalysisTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAIAnalysisTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAIAnalysisTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAIAnalysisTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAIAnalysisTemplateResponseParams `json:"Response"`
}

func (r *DeleteAIAnalysisTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAIAnalysisTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAIRecognitionTemplateRequestParams struct {
	// Unique identifier of the audio/video content recognition template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteAIRecognitionTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the audio/video content recognition template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteAIRecognitionTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAIRecognitionTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAIRecognitionTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAIRecognitionTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAIRecognitionTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAIRecognitionTemplateResponseParams `json:"Response"`
}

func (r *DeleteAIRecognitionTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAIRecognitionTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAdaptiveDynamicStreamingTemplateRequestParams struct {
	// Unique identifier of the adaptive transcoding template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteAdaptiveDynamicStreamingTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the adaptive transcoding template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteAdaptiveDynamicStreamingTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAdaptiveDynamicStreamingTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAdaptiveDynamicStreamingTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAdaptiveDynamicStreamingTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAdaptiveDynamicStreamingTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAdaptiveDynamicStreamingTemplateResponseParams `json:"Response"`
}

func (r *DeleteAdaptiveDynamicStreamingTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAdaptiveDynamicStreamingTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAigcAdvancedCustomElementRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>ID of the AIGC advanced custom subject</p>
	ElementId *string `json:"ElementId,omitnil,omitempty" name:"ElementId"`
}

type DeleteAigcAdvancedCustomElementRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>ID of the AIGC advanced custom subject</p>
	ElementId *string `json:"ElementId,omitnil,omitempty" name:"ElementId"`
}

func (r *DeleteAigcAdvancedCustomElementRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAigcAdvancedCustomElementRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "ElementId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAigcAdvancedCustomElementRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAigcAdvancedCustomElementResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAigcAdvancedCustomElementResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAigcAdvancedCustomElementResponseParams `json:"Response"`
}

func (r *DeleteAigcAdvancedCustomElementResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAigcAdvancedCustomElementResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAigcApiTokenRequestParams struct {
	// <b>The VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. customers who activate vod services after december 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// API Token.
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

type DeleteAigcApiTokenRequest struct {
	*tchttp.BaseRequest
	
	// <b>The VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. customers who activate vod services after december 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// API Token.
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

func (r *DeleteAigcApiTokenRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAigcApiTokenRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "ApiToken")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAigcApiTokenRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAigcApiTokenResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAigcApiTokenResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAigcApiTokenResponseParams `json:"Response"`
}

func (r *DeleteAigcApiTokenResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAigcApiTokenResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAigcQuotaRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Valid only when QuotaLimit=Text, used to select ApiToken for quota limit.</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

type DeleteAigcQuotaRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Valid only when QuotaLimit=Text, used to select ApiToken for quota limit.</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

func (r *DeleteAigcQuotaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAigcQuotaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "QuotaType")
	delete(f, "ApiToken")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAigcQuotaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAigcQuotaResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAigcQuotaResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAigcQuotaResponseParams `json:"Response"`
}

func (r *DeleteAigcQuotaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAigcQuotaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAnimatedGraphicsTemplateRequestParams struct {
	// Unique identifier of the rotation diagram template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteAnimatedGraphicsTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the rotation diagram template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteAnimatedGraphicsTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAnimatedGraphicsTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAnimatedGraphicsTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAnimatedGraphicsTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAnimatedGraphicsTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAnimatedGraphicsTemplateResponseParams `json:"Response"`
}

func (r *DeleteAnimatedGraphicsTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAnimatedGraphicsTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBlindWatermarkTemplateRequestParams struct {
	// Unique identifier of the digital watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// VOD application ID. Starting from December 25, 2023, customers who activate on-demand services must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteBlindWatermarkTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the digital watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// VOD application ID. Starting from December 25, 2023, customers who activate on-demand services must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteBlindWatermarkTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBlindWatermarkTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBlindWatermarkTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBlindWatermarkTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBlindWatermarkTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBlindWatermarkTemplateResponseParams `json:"Response"`
}

func (r *DeleteBlindWatermarkTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBlindWatermarkTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteCDNDomainRequestParams struct {
	// Domain.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteCDNDomainRequest struct {
	*tchttp.BaseRequest
	
	// Domain.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteCDNDomainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteCDNDomainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteCDNDomainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteCDNDomainResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteCDNDomainResponse struct {
	*tchttp.BaseResponse
	Response *DeleteCDNDomainResponseParams `json:"Response"`
}

func (r *DeleteCDNDomainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteCDNDomainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteCLSTopicRequestParams struct {
	// The region to which the log set belongs, the values are: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> < li>ap-chongqing: Chongqing; </li> <li>ap-nanjing: Nanjing; </li> <li>ap-shanghai: Shanghai; </li> <li>ap-singapore: Singapore. </li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`

	// Log topic ID.
	TopicId *string `json:"TopicId,omitnil,omitempty" name:"TopicId"`
}

type DeleteCLSTopicRequest struct {
	*tchttp.BaseRequest
	
	// The region to which the log set belongs, the values are: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> < li>ap-chongqing: Chongqing; </li> <li>ap-nanjing: Nanjing; </li> <li>ap-shanghai: Shanghai; </li> <li>ap-singapore: Singapore. </li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`

	// Log topic ID.
	TopicId *string `json:"TopicId,omitnil,omitempty" name:"TopicId"`
}

func (r *DeleteCLSTopicRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteCLSTopicRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CLSRegion")
	delete(f, "TopicId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteCLSTopicRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteCLSTopicResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteCLSTopicResponse struct {
	*tchttp.BaseResponse
	Response *DeleteCLSTopicResponseParams `json:"Response"`
}

func (r *DeleteCLSTopicResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteCLSTopicResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteClassRequestParams struct {
	// Category ID
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteClassRequest struct {
	*tchttp.BaseRequest
	
	// Category ID
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteClassRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteClassRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClassId")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteClassRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteClassResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteClassResponse struct {
	*tchttp.BaseResponse
	Response *DeleteClassResponseParams `json:"Response"`
}

func (r *DeleteClassResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteClassResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteContentReviewTemplateRequestParams struct {
	// Unique identifier of the content review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteContentReviewTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the content review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteContentReviewTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteContentReviewTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteContentReviewTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteContentReviewTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteContentReviewTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteContentReviewTemplateResponseParams `json:"Response"`
}

func (r *DeleteContentReviewTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteContentReviewTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteEnhanceMediaTemplateRequestParams struct {
	// Audio and video quality rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteEnhanceMediaTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Audio and video quality rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteEnhanceMediaTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteEnhanceMediaTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteEnhanceMediaTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteEnhanceMediaTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteEnhanceMediaTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteEnhanceMediaTemplateResponseParams `json:"Response"`
}

func (r *DeleteEnhanceMediaTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteEnhanceMediaTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteHeadTailTemplateRequestParams struct {
	// Opening and ending template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteHeadTailTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Opening and ending template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteHeadTailTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteHeadTailTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteHeadTailTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteHeadTailTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteHeadTailTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteHeadTailTemplateResponseParams `json:"Response"`
}

func (r *DeleteHeadTailTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteHeadTailTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteImageProcessingTemplateRequestParams struct {
	// Unique identifier of the image processing template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteImageProcessingTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the image processing template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteImageProcessingTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteImageProcessingTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteImageProcessingTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteImageProcessingTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteImageProcessingTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteImageProcessingTemplateResponseParams `json:"Response"`
}

func (r *DeleteImageProcessingTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteImageProcessingTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteImageSpriteTemplateRequestParams struct {
	// Unique identifier of the sprite template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteImageSpriteTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the sprite template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteImageSpriteTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteImageSpriteTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteImageSpriteTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteImageSpriteTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteImageSpriteTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteImageSpriteTemplateResponseParams `json:"Response"`
}

func (r *DeleteImageSpriteTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteImageSpriteTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteJustInTimeTranscodeTemplateRequestParams struct {
	// Template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteJustInTimeTranscodeTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteJustInTimeTranscodeTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteJustInTimeTranscodeTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteJustInTimeTranscodeTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteJustInTimeTranscodeTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteJustInTimeTranscodeTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteJustInTimeTranscodeTemplateResponseParams `json:"Response"`
}

func (r *DeleteJustInTimeTranscodeTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteJustInTimeTranscodeTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLLMComprehendTemplateRequestParams struct {
	// Unique identifier of the Large Model Comprehend Template
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteLLMComprehendTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the Large Model Comprehend Template
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteLLMComprehendTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLLMComprehendTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteLLMComprehendTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLLMComprehendTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteLLMComprehendTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteLLMComprehendTemplateResponseParams `json:"Response"`
}

func (r *DeleteLLMComprehendTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLLMComprehendTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMPSTemplateRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Type of the MPS Template that needs to be deleted. Value:
	// <li>Transcode: delete transcoding template.</li>
	// <li>AIAnalysis: Create intelligent analysis template.</li>
	// <li>SmartSubtitle: Create an intelligent subtitle template.</li>
	// <li>SmartErase: Create an intelligent erasure template.</li>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// Template Unique Identifier of the MPS task.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type DeleteMPSTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Type of the MPS Template that needs to be deleted. Value:
	// <li>Transcode: delete transcoding template.</li>
	// <li>AIAnalysis: Create intelligent analysis template.</li>
	// <li>SmartSubtitle: Create an intelligent subtitle template.</li>
	// <li>SmartErase: Create an intelligent erasure template.</li>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// Template Unique Identifier of the MPS task.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

func (r *DeleteMPSTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMPSTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "TemplateType")
	delete(f, "Definition")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMPSTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMPSTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMPSTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMPSTemplateResponseParams `json:"Response"`
}

func (r *DeleteMPSTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMPSTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMediaRequestParams struct {
	// Unique identifier of the media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Specify the part that needs to be deleted this time. Default value is "[]", which means delete media and all its corresponding video processing files.
	DeleteParts []*MediaDeleteItem `json:"DeleteParts,omitnil,omitempty" name:"DeleteParts"`
}

type DeleteMediaRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Specify the part that needs to be deleted this time. Default value is "[]", which means delete media and all its corresponding video processing files.
	DeleteParts []*MediaDeleteItem `json:"DeleteParts,omitnil,omitempty" name:"DeleteParts"`
}

func (r *DeleteMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "SubAppId")
	delete(f, "DeleteParts")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMediaResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMediaResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMediaResponseParams `json:"Response"`
}

func (r *DeleteMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeletePersonSampleRequestParams struct {
	// Material ID.
	PersonId *string `json:"PersonId,omitnil,omitempty" name:"PersonId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeletePersonSampleRequest struct {
	*tchttp.BaseRequest
	
	// Material ID.
	PersonId *string `json:"PersonId,omitnil,omitempty" name:"PersonId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeletePersonSampleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeletePersonSampleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PersonId")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeletePersonSampleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeletePersonSampleResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeletePersonSampleResponse struct {
	*tchttp.BaseResponse
	Response *DeletePersonSampleResponseParams `json:"Response"`
}

func (r *DeletePersonSampleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeletePersonSampleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteProcedureTemplateRequestParams struct {
	// Task flow name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteProcedureTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Task flow name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteProcedureTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteProcedureTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteProcedureTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteProcedureTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteProcedureTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteProcedureTemplateResponseParams `json:"Response"`
}

func (r *DeleteProcedureTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteProcedureTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteProcessImageAsyncTemplateRequestParams struct {
	// Unique identifier of the image asynchronous processing template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteProcessImageAsyncTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the image asynchronous processing template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteProcessImageAsyncTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteProcessImageAsyncTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteProcessImageAsyncTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteProcessImageAsyncTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteProcessImageAsyncTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteProcessImageAsyncTemplateResponseParams `json:"Response"`
}

func (r *DeleteProcessImageAsyncTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteProcessImageAsyncTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteQualityInspectTemplateRequestParams struct {
	// Audio and video quality inspection template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteQualityInspectTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Audio and video quality inspection template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteQualityInspectTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteQualityInspectTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteQualityInspectTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteQualityInspectTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteQualityInspectTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteQualityInspectTemplateResponseParams `json:"Response"`
}

func (r *DeleteQualityInspectTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteQualityInspectTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRebuildMediaTemplateRequestParams struct {
	// Video rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteRebuildMediaTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Video rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteRebuildMediaTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRebuildMediaTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRebuildMediaTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRebuildMediaTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteRebuildMediaTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRebuildMediaTemplateResponseParams `json:"Response"`
}

func (r *DeleteRebuildMediaTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRebuildMediaTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteReviewTemplateRequestParams struct {
	// Unique identifier of a review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteReviewTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of a review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteReviewTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteReviewTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteReviewTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteReviewTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteReviewTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteReviewTemplateResponseParams `json:"Response"`
}

func (r *DeleteReviewTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteReviewTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRoundPlayRequestParams struct {
	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteRoundPlayRequest struct {
	*tchttp.BaseRequest
	
	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteRoundPlayRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRoundPlayRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RoundPlayId")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRoundPlayRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRoundPlayResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteRoundPlayResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRoundPlayResponseParams `json:"Response"`
}

func (r *DeleteRoundPlayResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRoundPlayResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSampleSnapshotTemplateRequestParams struct {
	// Unique identifier of the sampling screenshot template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteSampleSnapshotTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the sampling screenshot template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteSampleSnapshotTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSampleSnapshotTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSampleSnapshotTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSampleSnapshotTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteSampleSnapshotTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteSampleSnapshotTemplateResponseParams `json:"Response"`
}

func (r *DeleteSampleSnapshotTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSampleSnapshotTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSnapshotByTimeOffsetTemplateRequestParams struct {
	// Unique identifier of the screenshot template at specified time point.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteSnapshotByTimeOffsetTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the screenshot template at specified time point.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteSnapshotByTimeOffsetTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSnapshotByTimeOffsetTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSnapshotByTimeOffsetTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSnapshotByTimeOffsetTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteSnapshotByTimeOffsetTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteSnapshotByTimeOffsetTemplateResponseParams `json:"Response"`
}

func (r *DeleteSnapshotByTimeOffsetTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSnapshotByTimeOffsetTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSuperPlayerConfigRequestParams struct {
	// Player configuration name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteSuperPlayerConfigRequest struct {
	*tchttp.BaseRequest
	
	// Player configuration name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteSuperPlayerConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSuperPlayerConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSuperPlayerConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSuperPlayerConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteSuperPlayerConfigResponse struct {
	*tchttp.BaseResponse
	Response *DeleteSuperPlayerConfigResponseParams `json:"Response"`
}

func (r *DeleteSuperPlayerConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSuperPlayerConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteTranscodeTemplateRequestParams struct {
	// Unique identifier of the transcoding template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteTranscodeTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the transcoding template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteTranscodeTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteTranscodeTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteTranscodeTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteTranscodeTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteTranscodeTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteTranscodeTemplateResponseParams `json:"Response"`
}

func (r *DeleteTranscodeTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteTranscodeTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteVodDomainRequestParams struct {
	// Domain to be deleted for on-demand acceleration.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteVodDomainRequest struct {
	*tchttp.BaseRequest
	
	// Domain to be deleted for on-demand acceleration.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteVodDomainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteVodDomainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteVodDomainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteVodDomainResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteVodDomainResponse struct {
	*tchttp.BaseResponse
	Response *DeleteVodDomainResponseParams `json:"Response"`
}

func (r *DeleteVodDomainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteVodDomainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWatermarkTemplateRequestParams struct {
	// Unique identifier of the watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteWatermarkTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteWatermarkTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWatermarkTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteWatermarkTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWatermarkTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteWatermarkTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteWatermarkTemplateResponseParams `json:"Response"`
}

func (r *DeleteWatermarkTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWatermarkTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWordSamplesRequestParams struct {
	// Keyword, array length limit: 100 words.
	Keywords []*string `json:"Keywords,omitnil,omitempty" name:"Keywords"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DeleteWordSamplesRequest struct {
	*tchttp.BaseRequest
	
	// Keyword, array length limit: 100 words.
	Keywords []*string `json:"Keywords,omitnil,omitempty" name:"Keywords"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DeleteWordSamplesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWordSamplesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Keywords")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteWordSamplesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWordSamplesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteWordSamplesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteWordSamplesResponseParams `json:"Response"`
}

func (r *DeleteWordSamplesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWordSamplesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAIAnalysisTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the audio and video content analysis template. The maximum array length is 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAIAnalysisTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the audio and video content analysis template. The maximum array length is 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAIAnalysisTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAIAnalysisTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAIAnalysisTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAIAnalysisTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Audio and video content analysis template detail list.
	AIAnalysisTemplateSet []*AIAnalysisTemplateItem `json:"AIAnalysisTemplateSet,omitnil,omitempty" name:"AIAnalysisTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAIAnalysisTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAIAnalysisTemplatesResponseParams `json:"Response"`
}

func (r *DescribeAIAnalysisTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAIAnalysisTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAIRecognitionTemplatesRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the audio/video content recognition template. The array can contain up to 100 unique identifiers.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Filtering condition for the template type. Valid values:</li><li>Preset: system preset template;</li><li>Custom: user-defined template.</li>Leave blank by default, meaning no filtering on template type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAIRecognitionTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the audio/video content recognition template. The array can contain up to 100 unique identifiers.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Filtering condition for the template type. Valid values:</li><li>Preset: system preset template;</li><li>Custom: user-defined template.</li>Leave blank by default, meaning no filtering on template type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAIRecognitionTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAIRecognitionTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAIRecognitionTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAIRecognitionTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Audio/video content recognition template detail list.
	AIRecognitionTemplateSet []*AIRecognitionTemplateItem `json:"AIRecognitionTemplateSet,omitnil,omitempty" name:"AIRecognitionTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAIRecognitionTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAIRecognitionTemplatesResponseParams `json:"Response"`
}

func (r *DescribeAIRecognitionTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAIRecognitionTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAdaptiveDynamicStreamingTemplatesRequestParams struct {
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Unique id filter of transcoding to adaptive bitrate streaming templates. array length limit: 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. default value: 10. maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Template type filter. valid values:.
	// <Li>Preset: system preset template;</li>.
	// <Li>Custom: user-defined template.</li>.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeAdaptiveDynamicStreamingTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Unique id filter of transcoding to adaptive bitrate streaming templates. array length limit: 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. default value: 10. maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Template type filter. valid values:.
	// <Li>Preset: system preset template;</li>.
	// <Li>Custom: user-defined template.</li>.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeAdaptiveDynamicStreamingTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAdaptiveDynamicStreamingTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAdaptiveDynamicStreamingTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAdaptiveDynamicStreamingTemplatesResponseParams struct {
	// The total number of records matching the filter criteria.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of transcoding to adaptive bitrate streaming template details.
	AdaptiveDynamicStreamingTemplateSet []*AdaptiveDynamicStreamingTemplate `json:"AdaptiveDynamicStreamingTemplateSet,omitnil,omitempty" name:"AdaptiveDynamicStreamingTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAdaptiveDynamicStreamingTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAdaptiveDynamicStreamingTemplatesResponseParams `json:"Response"`
}

func (r *DescribeAdaptiveDynamicStreamingTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAdaptiveDynamicStreamingTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcAdvancedCustomElementsRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, this field must be filled with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Starting offset amount for pagination return. Returns entries from Offset to Offset+Limit-1.</p><p>Default value: 0</p><p>Offset must be a multiple of Limit.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Number of records returned in pages.</p><p>Value ranges from 1 to 300.</p><p>Default value: 10.</p><p>Offset must be a multiple of Limit.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAigcAdvancedCustomElementsRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, this field must be filled with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Starting offset amount for pagination return. Returns entries from Offset to Offset+Limit-1.</p><p>Default value: 0</p><p>Offset must be a multiple of Limit.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Number of records returned in pages.</p><p>Value ranges from 1 to 300.</p><p>Default value: 10.</p><p>Offset must be a multiple of Limit.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAigcAdvancedCustomElementsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcAdvancedCustomElementsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAigcAdvancedCustomElementsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcAdvancedCustomElementsResponseParams struct {
	// <p>Entity information of the AIGC advanced custom subject.</p>
	ElementSet []*AigcAdvancedCustomElementInfo `json:"ElementSet,omitnil,omitempty" name:"ElementSet"`

	// <p>Total number of records.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAigcAdvancedCustomElementsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAigcAdvancedCustomElementsResponseParams `json:"Response"`
}

func (r *DescribeAigcAdvancedCustomElementsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcAdvancedCustomElementsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcApiTokensRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, to access resources in on-demand applications (whether the default application or a newly created application), you must fill this <b>field</b> with the application ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeAigcApiTokensRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, to access resources in on-demand applications (whether the default application or a newly created application), you must fill this <b>field</b> with the application ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeAigcApiTokensRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcApiTokensRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAigcApiTokensRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcApiTokensResponseParams struct {
	// <p>API Token list</p>
	ApiTokens []*string `json:"ApiTokens,omitnil,omitempty" name:"ApiTokens"`

	// <p>ExtInfo info, which corresponds one-to-one to the API Token list</p>
	ExtInfos []*string `json:"ExtInfos,omitnil,omitempty" name:"ExtInfos"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAigcApiTokensResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAigcApiTokensResponseParams `json:"Response"`
}

func (r *DescribeAigcApiTokensResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcApiTokensResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DescribeAigcFaceInfoAsyncInput struct {
	// <p>Input video information that needs to get face information.</p>
	FileInfos []*AigcFaceInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`
}

type DescribeAigcFaceInfoAsyncOutput struct {
	// <p>Face information.</p>
	FaceInfoSet []*AigcFaceInfo `json:"FaceInfoSet,omitnil,omitempty" name:"FaceInfoSet"`
}

// Predefined struct for user
type DescribeAigcFaceInfoAsyncRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Input video information that needs to get face information. It can contain up to one file.</p>
	FileInfos []*AigcFaceInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

type DescribeAigcFaceInfoAsyncRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Input video information that needs to get face information. It can contain up to one file.</p>
	FileInfos []*AigcFaceInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

func (r *DescribeAigcFaceInfoAsyncRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcFaceInfoAsyncRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "FileInfos")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAigcFaceInfoAsyncRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcFaceInfoAsyncResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAigcFaceInfoAsyncResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAigcFaceInfoAsyncResponseParams `json:"Response"`
}

func (r *DescribeAigcFaceInfoAsyncResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcFaceInfoAsyncResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DescribeAigcFaceInfoAsyncTask struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p>Task status. Valid values: </p><li>PROCESSING: Processing; </li><li>FINISH: Completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Error code. It returns a non-zero error code in case of a source error. Please use the ErrCode of each specific task when it returns 0.</p>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// <p>Extended error codes.</p><p>Parameter format: extended error codes.</p><p>Enumeration values:</p><ul><li>RequestLimitExceeded: The call exceeds the concurrency limit.</li><li>InvalidParameterValue: Parameter error.</li><li>InternalError: Internal error.</li><li>FailedOperation: Operation failed.</li></ul>
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// <p>Error message.</p>
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// <p>Task progress, in the range of [0-100].</p>
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// <p>Input information to asynchronously fetch face information of the AIGC task.</p>
	Input *DescribeAigcFaceInfoAsyncInput `json:"Input,omitnil,omitempty" name:"Input"`

	// <p>Asynchronously fetch the output message of the human face information task for AIGC.</p>
	Output *DescribeAigcFaceInfoAsyncOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

// Predefined struct for user
type DescribeAigcFaceInfoRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Need to get the input video information for face information, containing at most one file.
	FileInfos []*AigcFaceInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`
}

type DescribeAigcFaceInfoRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Need to get the input video information for face information, containing at most one file.
	FileInfos []*AigcFaceInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`
}

func (r *DescribeAigcFaceInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcFaceInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "FileInfos")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAigcFaceInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcFaceInfoResponseParams struct {
	// Face information.
	FaceInfoSet []*AigcFaceInfo `json:"FaceInfoSet,omitnil,omitempty" name:"FaceInfoSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAigcFaceInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAigcFaceInfoResponseParams `json:"Response"`
}

func (r *DescribeAigcFaceInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcFaceInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcQuotasRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Valid only when QuotaLimit=Text, used to select the ApiToken that needs quota limit</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`

	// <p>Number of records returned in pages, displaying entries from Offset to Offset+Limit-1.</p><p>Value ranges from 1 to 100.</p><p>Default value: 10.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Starting offset amount for pagination return. Default value: 0. Returns entries from Offset to Offset + Limit - 1.</p><p>Default value: 0</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeAigcQuotasRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Valid only when QuotaLimit=Text, used to select the ApiToken that needs quota limit</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`

	// <p>Number of records returned in pages, displaying entries from Offset to Offset+Limit-1.</p><p>Value ranges from 1 to 100.</p><p>Default value: 10.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Starting offset amount for pagination return. Default value: 0. Returns entries from Offset to Offset + Limit - 1.</p><p>Default value: 0</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeAigcQuotasRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcQuotasRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "QuotaType")
	delete(f, "ApiToken")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAigcQuotasRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcQuotasResponseParams struct {
	// <p>Quota list</p>
	QuotaSet []*AigcQuotaItem `json:"QuotaSet,omitnil,omitempty" name:"QuotaSet"`

	// <p>Total quantity.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAigcQuotasResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAigcQuotasResponseParams `json:"Response"`
}

func (r *DescribeAigcQuotasResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcQuotasResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcUsageDataRequestParams struct {
	// <p>Start date. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52">ISO date format</a>.</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>End date, which must be greater than or equal to the start date. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52">ISO date format</a>.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>AIGC type.</p><p>Enumeration values:</p><ul><li>Video: Video</li><li>Image: Image</li><li>Text: Text</li><li>Audio: Audio</li><li>SceneAigcVideo: Scenario-based video processing</li><li>SceneAigcImage: Scenario-based image processing</li><li>SceneAigcTime: Scenario-based processing times</li><li>TextDetail: Text detailed record</li></ul>
	AigcType *string `json:"AigcType,omitnil,omitempty" name:"AigcType"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>API Key</p>
	APIKey *string `json:"APIKey,omitnil,omitempty" name:"APIKey"`

	// <p>API Key</p>
	APIKeys []*string `json:"APIKeys,omitnil,omitempty" name:"APIKeys"`

	// <p>Query cursor</p>
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`

	// <p>Size per page, maximum 200, it will be truncated to 200</p>
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// <p>RequestId of the raw text. Valid at that time when AigcType is TextDetail.</p>
	ReqId *string `json:"ReqId,omitnil,omitempty" name:"ReqId"`
}

type DescribeAigcUsageDataRequest struct {
	*tchttp.BaseRequest
	
	// <p>Start date. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52">ISO date format</a>.</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>End date, which must be greater than or equal to the start date. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52">ISO date format</a>.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>AIGC type.</p><p>Enumeration values:</p><ul><li>Video: Video</li><li>Image: Image</li><li>Text: Text</li><li>Audio: Audio</li><li>SceneAigcVideo: Scenario-based video processing</li><li>SceneAigcImage: Scenario-based image processing</li><li>SceneAigcTime: Scenario-based processing times</li><li>TextDetail: Text detailed record</li></ul>
	AigcType *string `json:"AigcType,omitnil,omitempty" name:"AigcType"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>API Key</p>
	APIKey *string `json:"APIKey,omitnil,omitempty" name:"APIKey"`

	// <p>API Key</p>
	APIKeys []*string `json:"APIKeys,omitnil,omitempty" name:"APIKeys"`

	// <p>Query cursor</p>
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`

	// <p>Size per page, maximum 200, it will be truncated to 200</p>
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// <p>RequestId of the raw text. Valid at that time when AigcType is TextDetail.</p>
	ReqId *string `json:"ReqId,omitnil,omitempty" name:"ReqId"`
}

func (r *DescribeAigcUsageDataRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcUsageDataRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "AigcType")
	delete(f, "SubAppId")
	delete(f, "APIKey")
	delete(f, "APIKeys")
	delete(f, "ScrollToken")
	delete(f, "PageSize")
	delete(f, "ReqId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAigcUsageDataRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAigcUsageDataResponseParams struct {
	// <p>AIGC stats.</p>
	AigcUsageDataSet []*AigcUsageDataItem `json:"AigcUsageDataSet,omitnil,omitempty" name:"AigcUsageDataSet"`

	// <p>Detailed log</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	AigcTextDetails *AigcTextDetail `json:"AigcTextDetails,omitnil,omitempty" name:"AigcTextDetails"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAigcUsageDataResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAigcUsageDataResponseParams `json:"Response"`
}

func (r *DescribeAigcUsageDataResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAigcUsageDataResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAllClassRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeAllClassRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeAllClassRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAllClassRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAllClassRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAllClassResponseParams struct {
	// Classification information collection
	ClassInfoSet []*MediaClassInfo `json:"ClassInfoSet,omitnil,omitempty" name:"ClassInfoSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAllClassResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAllClassResponseParams `json:"Response"`
}

func (r *DescribeAllClassResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAllClassResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAnimatedGraphicsTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the rotation diagram template. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeAnimatedGraphicsTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the rotation diagram template. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeAnimatedGraphicsTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAnimatedGraphicsTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAnimatedGraphicsTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAnimatedGraphicsTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Rotation diagram template details list.
	AnimatedGraphicsTemplateSet []*AnimatedGraphicsTemplate `json:"AnimatedGraphicsTemplateSet,omitnil,omitempty" name:"AnimatedGraphicsTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAnimatedGraphicsTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAnimatedGraphicsTemplatesResponseParams `json:"Response"`
}

func (r *DescribeAnimatedGraphicsTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAnimatedGraphicsTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBlindWatermarkTemplatesRequestParams struct {
	// VOD application ID. Starting from December 25, 2023, customers who activate on-demand services must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the digital watermark template. The array length cannot exceed 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-nagra: NAGRA forensics watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries
	// <li>Default value: 10.</li>
	// <li>Maximum value: 100.</li>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeBlindWatermarkTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// VOD application ID. Starting from December 25, 2023, customers who activate on-demand services must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the digital watermark template. The array length cannot exceed 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-nagra: NAGRA forensics watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries
	// <li>Default value: 10.</li>
	// <li>Maximum value: 100.</li>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeBlindWatermarkTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBlindWatermarkTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBlindWatermarkTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBlindWatermarkTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of digital watermark template details.
	BlindWatermarkTemplateSet []*BlindWatermarkTemplate `json:"BlindWatermarkTemplateSet,omitnil,omitempty" name:"BlindWatermarkTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBlindWatermarkTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBlindWatermarkTemplatesResponseParams `json:"Response"`
}

func (r *DescribeBlindWatermarkTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBlindWatermarkTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCDNDomainsRequestParams struct {
	// List of domain. If this field is left blank, all domain information will be listed by default.
	Domains []*string `json:"Domains,omitnil,omitempty" name:"Domains"`

	// The maximum number of returned results for pagination fetching. Default value: 20.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// The starting offset of paged pull. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeCDNDomainsRequest struct {
	*tchttp.BaseRequest
	
	// List of domain. If this field is left blank, all domain information will be listed by default.
	Domains []*string `json:"Domains,omitnil,omitempty" name:"Domains"`

	// The maximum number of returned results for pagination fetching. Default value: 20.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// The starting offset of paged pull. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeCDNDomainsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCDNDomainsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domains")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCDNDomainsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCDNDomainsResponseParams struct {
	// Domain information list.
	DomainSet []*CDNDomainInfo `json:"DomainSet,omitnil,omitempty" name:"DomainSet"`

	// The total number of CDN domains under the current application.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCDNDomainsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCDNDomainsResponseParams `json:"Response"`
}

func (r *DescribeCDNDomainsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCDNDomainsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCDNStatDetailsRequestParams struct {
	// Query metric. Valid values:
	// <li>Traffic: Total Traffic in bytes.</li>
	// <li>Bandwidth: bandwidth, in Bps.</li>
	// <li>Requests: Request count.</li>
	// <li>QUICRequests: Number of QUIC requests.</li>
	// <li>IpVisit: Number of IP visits.</li>
	Metric *string `json:"Metric,omitnil,omitempty" name:"Metric"`

	// Start time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Domain name list. Up to 20 domain names can be queried for data. Default returns the overlaid usage data of all domains.
	DomainNames []*string `json:"DomainNames,omitnil,omitempty" name:"DomainNames"`

	// Service area. Valid values:
	// <li>Chinese Mainland: Chinese mainland.</li>
	// <li>Asia Pacific Region 1: Asia Pacific zone 1, including Hong Kong (China), Macao (China), Singapore, Vietnam, and Thailand.</li>
	// <li>Asia Pacific Region 2: Asia Pacific zone 2, including Taiwan, Japan, Malaysia, Indonesia, Korea.</li>
	// <li>Asia Pacific Region 3: Asia Pacific zone 3, including Philippines, India, Australia and other countries and regions in Asia Pacific.</li>
	// <li>Middle East: Middle East.</li>
	// <li>Europe: Europe.</li>
	// <li>North America: North America.</li>
	// <li>South America: South America.</li>
	// <li>Africa: Africa.</li>
	// Default is Chinese mainland.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// When the user's located region is Chinese Mainland, value is the following region information. When Area has other values, ignore the Districts parameter.
	// <li>Beijing: Beijing.</li>
	// <li>Inner Mongolia: Inner Mongolia.</li>
	// <li>Shanxi: Shanxi.</li>
	// <li>Hebei: Hebei.</li>
	// <li>Tianjin: Tianjin.</li>
	// <li>Ningxia: Ningxia.</li>
	// <li>Shaanxi: Shaanxi.</li>
	// <li>Gansu: Gansu.</li>
	// <li>Qinghai: Qinghai.</li>
	// <li>Xinjiang: Xinjiang.</li>
	// <li>Heilongjiang: Heilongjiang.</li>
	// <li>Jilin: Jilin.</li>
	// <li>Liaoning: Liaoning.</li>
	// <li>Fujian: Fujian.</li>
	// <li>Jiangsu: Jiangsu.</li>
	// <li>Anhui: Anhui.</li>
	// <li>Shandong: Shandong.</li>
	// <li>Shanghai: Shanghai.</li>
	// <li>Zhejiang: Zhejiang.</li>
	// <li>Henan: Henan.</li>
	// <li>Hubei: Hubei.</li>
	// <li>Jiangxi: Jiangxi.</li>
	// <li>Hunan: Hu’nan.</li>
	// <li>Guizhou: Guizhou.</li>
	// <li>Yunnan: Yunnan.</li>
	// <li>Chongqing: Chongqing.</li>
	// <li>Sichuan: Sichuan.</li>
	// <li>Xizang: Tibet.</li>
	// <li>Guangdong: Guangdong.</li>
	// <li>Guangxi: Guangxi.</li>
	// <li>Hainan: Hainan.</li>
	// <li>Hong Kong, Macao and Taiwan: Hong Kong (China), Macao (China) and Taiwan (China).</li>
	// <li>Outside Chinese Mainland: overseas.</li>
	// <li>Other: other.</li>
	Districts []*string `json:"Districts,omitnil,omitempty" name:"Districts"`

	// User's Operator Information. When Area is Chinese Mainland, value is the following carrier information. When Area is other values, ignore the Isps parameter.
	// <li>China Telecom: CTCC. </li>
	// <li>China Unicom: CUCC. </li>
	// <li>CERNET: China Education Network.</li>
	// <li>Great Wall Broadband Network: Great Wall Broadband.</li>
	// <li>China Mobile: CMCC.</li>
	// <li>China Mobile Tietong: China Tietong.</li>
	// <li>ISPs outside Chinese Mainland: Overseas carriers.</li>
	// <li>Other ISPs: Other ISPs.</li>
	Isps []*string `json:"Isps,omitnil,omitempty" name:"Isps"`

	// Time granularity of each data entry. Unit: minute. Valid values:
	// <li>5: 5 minutes, return detailed data at a minute granularity for the specified query time.</li>
	// <li>1440: Day granularity. Returns the data of day granularity within the specified query time. The duration between start time and end time is more than 24 hours. Supports only day granularity data.</li>
	// When the duration between StartTime and EndTime is more than 24 hours, DataInterval defaults to 1440.
	DataInterval *uint64 `json:"DataInterval,omitnil,omitempty" name:"DataInterval"`
}

type DescribeCDNStatDetailsRequest struct {
	*tchttp.BaseRequest
	
	// Query metric. Valid values:
	// <li>Traffic: Total Traffic in bytes.</li>
	// <li>Bandwidth: bandwidth, in Bps.</li>
	// <li>Requests: Request count.</li>
	// <li>QUICRequests: Number of QUIC requests.</li>
	// <li>IpVisit: Number of IP visits.</li>
	Metric *string `json:"Metric,omitnil,omitempty" name:"Metric"`

	// Start time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Domain name list. Up to 20 domain names can be queried for data. Default returns the overlaid usage data of all domains.
	DomainNames []*string `json:"DomainNames,omitnil,omitempty" name:"DomainNames"`

	// Service area. Valid values:
	// <li>Chinese Mainland: Chinese mainland.</li>
	// <li>Asia Pacific Region 1: Asia Pacific zone 1, including Hong Kong (China), Macao (China), Singapore, Vietnam, and Thailand.</li>
	// <li>Asia Pacific Region 2: Asia Pacific zone 2, including Taiwan, Japan, Malaysia, Indonesia, Korea.</li>
	// <li>Asia Pacific Region 3: Asia Pacific zone 3, including Philippines, India, Australia and other countries and regions in Asia Pacific.</li>
	// <li>Middle East: Middle East.</li>
	// <li>Europe: Europe.</li>
	// <li>North America: North America.</li>
	// <li>South America: South America.</li>
	// <li>Africa: Africa.</li>
	// Default is Chinese mainland.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// When the user's located region is Chinese Mainland, value is the following region information. When Area has other values, ignore the Districts parameter.
	// <li>Beijing: Beijing.</li>
	// <li>Inner Mongolia: Inner Mongolia.</li>
	// <li>Shanxi: Shanxi.</li>
	// <li>Hebei: Hebei.</li>
	// <li>Tianjin: Tianjin.</li>
	// <li>Ningxia: Ningxia.</li>
	// <li>Shaanxi: Shaanxi.</li>
	// <li>Gansu: Gansu.</li>
	// <li>Qinghai: Qinghai.</li>
	// <li>Xinjiang: Xinjiang.</li>
	// <li>Heilongjiang: Heilongjiang.</li>
	// <li>Jilin: Jilin.</li>
	// <li>Liaoning: Liaoning.</li>
	// <li>Fujian: Fujian.</li>
	// <li>Jiangsu: Jiangsu.</li>
	// <li>Anhui: Anhui.</li>
	// <li>Shandong: Shandong.</li>
	// <li>Shanghai: Shanghai.</li>
	// <li>Zhejiang: Zhejiang.</li>
	// <li>Henan: Henan.</li>
	// <li>Hubei: Hubei.</li>
	// <li>Jiangxi: Jiangxi.</li>
	// <li>Hunan: Hu’nan.</li>
	// <li>Guizhou: Guizhou.</li>
	// <li>Yunnan: Yunnan.</li>
	// <li>Chongqing: Chongqing.</li>
	// <li>Sichuan: Sichuan.</li>
	// <li>Xizang: Tibet.</li>
	// <li>Guangdong: Guangdong.</li>
	// <li>Guangxi: Guangxi.</li>
	// <li>Hainan: Hainan.</li>
	// <li>Hong Kong, Macao and Taiwan: Hong Kong (China), Macao (China) and Taiwan (China).</li>
	// <li>Outside Chinese Mainland: overseas.</li>
	// <li>Other: other.</li>
	Districts []*string `json:"Districts,omitnil,omitempty" name:"Districts"`

	// User's Operator Information. When Area is Chinese Mainland, value is the following carrier information. When Area is other values, ignore the Isps parameter.
	// <li>China Telecom: CTCC. </li>
	// <li>China Unicom: CUCC. </li>
	// <li>CERNET: China Education Network.</li>
	// <li>Great Wall Broadband Network: Great Wall Broadband.</li>
	// <li>China Mobile: CMCC.</li>
	// <li>China Mobile Tietong: China Tietong.</li>
	// <li>ISPs outside Chinese Mainland: Overseas carriers.</li>
	// <li>Other ISPs: Other ISPs.</li>
	Isps []*string `json:"Isps,omitnil,omitempty" name:"Isps"`

	// Time granularity of each data entry. Unit: minute. Valid values:
	// <li>5: 5 minutes, return detailed data at a minute granularity for the specified query time.</li>
	// <li>1440: Day granularity. Returns the data of day granularity within the specified query time. The duration between start time and end time is more than 24 hours. Supports only day granularity data.</li>
	// When the duration between StartTime and EndTime is more than 24 hours, DataInterval defaults to 1440.
	DataInterval *uint64 `json:"DataInterval,omitnil,omitempty" name:"DataInterval"`
}

func (r *DescribeCDNStatDetailsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCDNStatDetailsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Metric")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	delete(f, "DomainNames")
	delete(f, "Area")
	delete(f, "Districts")
	delete(f, "Isps")
	delete(f, "DataInterval")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCDNStatDetailsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCDNStatDetailsResponseParams struct {
	// Time granularity of each data entry. Measurement unit: minute.
	DataInterval *uint64 `json:"DataInterval,omitnil,omitempty" name:"DataInterval"`

	// CDN usage data.
	Data []*StatDataItem `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCDNStatDetailsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCDNStatDetailsResponseParams `json:"Response"`
}

func (r *DescribeCDNStatDetailsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCDNStatDetailsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCDNUsageDataRequestParams struct {
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// CDN statistics data type. Valid value:
	// <li>Flux: Traffic volume, unit: byte.</li>
	// <li>Bandwidth: bandwidth, in bps.</li>
	DataType *string `json:"DataType,omitnil,omitempty" name:"DataType"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Time granularity of usage data, unit: minute. Valid values:
	// <li>5: 5 minutes, return detailed data at a minute granularity for the specified query time.</li>
	// <li>60: Hourly granularity. Returns the data of 1-hour granularity within the specified query time.</li>
	// <li>1440: Day granularity. Returns data with day granularity within the specified query time.</li>
	// The default value is 1440, which returns data with day granularity.
	DataInterval *uint64 `json:"DataInterval,omitnil,omitempty" name:"DataInterval"`

	// Domain name list. Up to 20 domain names can be queried for usage data. Multiple values can be specified to query the superimposed usage data of these domains. Default returns the overlaid usage data of all domains.
	DomainNames []*string `json:"DomainNames,omitnil,omitempty" name:"DomainNames"`
}

type DescribeCDNUsageDataRequest struct {
	*tchttp.BaseRequest
	
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// CDN statistics data type. Valid value:
	// <li>Flux: Traffic volume, unit: byte.</li>
	// <li>Bandwidth: bandwidth, in bps.</li>
	DataType *string `json:"DataType,omitnil,omitempty" name:"DataType"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Time granularity of usage data, unit: minute. Valid values:
	// <li>5: 5 minutes, return detailed data at a minute granularity for the specified query time.</li>
	// <li>60: Hourly granularity. Returns the data of 1-hour granularity within the specified query time.</li>
	// <li>1440: Day granularity. Returns data with day granularity within the specified query time.</li>
	// The default value is 1440, which returns data with day granularity.
	DataInterval *uint64 `json:"DataInterval,omitnil,omitempty" name:"DataInterval"`

	// Domain name list. Up to 20 domain names can be queried for usage data. Multiple values can be specified to query the superimposed usage data of these domains. Default returns the overlaid usage data of all domains.
	DomainNames []*string `json:"DomainNames,omitnil,omitempty" name:"DomainNames"`
}

func (r *DescribeCDNUsageDataRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCDNUsageDataRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "DataType")
	delete(f, "SubAppId")
	delete(f, "DataInterval")
	delete(f, "DomainNames")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCDNUsageDataRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCDNUsageDataResponseParams struct {
	// Time granularity, unit: minute.
	DataInterval *int64 `json:"DataInterval,omitnil,omitempty" name:"DataInterval"`

	// CDN statistics.
	Data []*StatDataItem `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCDNUsageDataResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCDNUsageDataResponseParams `json:"Response"`
}

func (r *DescribeCDNUsageDataResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCDNUsageDataResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCLSLogsetsRequestParams struct {
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`
}

type DescribeCLSLogsetsRequest struct {
	*tchttp.BaseRequest
	
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`
}

func (r *DescribeCLSLogsetsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCLSLogsetsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CLSRegion")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCLSLogsetsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCLSLogsetsResponseParams struct {
	// Queried logset list.
	Logsets []*CLSLogsetInfo `json:"Logsets,omitnil,omitempty" name:"Logsets"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCLSLogsetsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCLSLogsetsResponseParams `json:"Response"`
}

func (r *DescribeCLSLogsetsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCLSLogsetsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCLSTopicsRequestParams struct {
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`

	// Log Set ID of Log Topic.
	LogsetId *string `json:"LogsetId,omitnil,omitempty" name:"LogsetId"`

	// Log topic ID list. If left empty, means query all log topics.
	TopicIds []*string `json:"TopicIds,omitnil,omitempty" name:"TopicIds"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 20. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeCLSTopicsRequest struct {
	*tchttp.BaseRequest
	
	// Region of the logset belonging to. Valid values: <li>ap-guangzhou: Guangzhou;</li> <li>ap-beijing: Beijing;</li> <li>ap-chengdu: Chengdu;</li> <li>ap-chongqing: Chongqing;</li> <li>ap-nanjing: Nanjing;</li> <li>ap-shanghai: Shanghai;</li> <li>ap-singapore: Singapore.</li>
	CLSRegion *string `json:"CLSRegion,omitnil,omitempty" name:"CLSRegion"`

	// Log Set ID of Log Topic.
	LogsetId *string `json:"LogsetId,omitnil,omitempty" name:"LogsetId"`

	// Log topic ID list. If left empty, means query all log topics.
	TopicIds []*string `json:"TopicIds,omitnil,omitempty" name:"TopicIds"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 20. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeCLSTopicsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCLSTopicsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CLSRegion")
	delete(f, "LogsetId")
	delete(f, "TopicIds")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCLSTopicsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCLSTopicsResponseParams struct {
	// Total number of log topics.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Log topic list.
	Topics []*CLSTopicInfo `json:"Topics,omitnil,omitempty" name:"Topics"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCLSTopicsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCLSTopicsResponseParams `json:"Response"`
}

func (r *DescribeCLSTopicsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCLSTopicsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCdnLogsRequestParams struct {
	// <p>Domain name.</p>
	DomainName *string `json:"DomainName,omitnil,omitempty" name:"DomainName"`

	// <p>Get log start time point. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p><p>Parameter format: YYYY-MM-DDThh:mm:ssZ</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>End time must be greater than start time. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p><p>Parameter format: YYYY-MM-DDThh:mm:ssZ.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Maximum number of results returned for pagination pull. Default value: 100; maximum value: 1000.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Starting offset for pagination pull. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeCdnLogsRequest struct {
	*tchttp.BaseRequest
	
	// <p>Domain name.</p>
	DomainName *string `json:"DomainName,omitnil,omitempty" name:"DomainName"`

	// <p>Get log start time point. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p><p>Parameter format: YYYY-MM-DDThh:mm:ssZ</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>End time must be greater than start time. Use the <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p><p>Parameter format: YYYY-MM-DDThh:mm:ssZ.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Maximum number of results returned for pagination pull. Default value: 100; maximum value: 1000.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Starting offset for pagination pull. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeCdnLogsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCdnLogsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "DomainName")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCdnLogsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCdnLogsResponseParams struct {
	// <p>Total number of log download links.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>Log Download List of Overseas CDN Nodes. If overseas acceleration is not enabled for the domain name, ignore this parameter.</p>
	OverseaCdnLogs []*CdnLogInfo `json:"OverseaCdnLogs,omitnil,omitempty" name:"OverseaCdnLogs"`

	// <p>Log Download List of Domestic CDN Nodes.</p>
	DomesticCdnLogs []*CdnLogInfo `json:"DomesticCdnLogs,omitnil,omitempty" name:"DomesticCdnLogs"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCdnLogsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCdnLogsResponseParams `json:"Response"`
}

func (r *DescribeCdnLogsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCdnLogsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClientUploadAccelerationUsageDataRequestParams struct {
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Client upload acceleration type. Valid values:
	// <li>AccelerationWithHTTP: Upload acceleration with HTTP transfer method.</li>
	// <li>AccelerationWithQUIC: Upload acceleration with QUIC transmission method.</li>
	// Default query for all acceleration types amount.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeClientUploadAccelerationUsageDataRequest struct {
	*tchttp.BaseRequest
	
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Client upload acceleration type. Valid values:
	// <li>AccelerationWithHTTP: Upload acceleration with HTTP transfer method.</li>
	// <li>AccelerationWithQUIC: Upload acceleration with QUIC transmission method.</li>
	// Default query for all acceleration types amount.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeClientUploadAccelerationUsageDataRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClientUploadAccelerationUsageDataRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeClientUploadAccelerationUsageDataRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClientUploadAccelerationUsageDataResponseParams struct {
	// Client upload acceleration statistics data.
	ClientUploadAccelerationUsageDataSet []*StatDataItem `json:"ClientUploadAccelerationUsageDataSet,omitnil,omitempty" name:"ClientUploadAccelerationUsageDataSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeClientUploadAccelerationUsageDataResponse struct {
	*tchttp.BaseResponse
	Response *DescribeClientUploadAccelerationUsageDataResponseParams `json:"Response"`
}

func (r *DescribeClientUploadAccelerationUsageDataResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClientUploadAccelerationUsageDataResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeContentReviewTemplatesRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the content review template. The array can contain up to 100 unique identifiers.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeContentReviewTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the content review template. The array can contain up to 100 unique identifiers.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeContentReviewTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeContentReviewTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeContentReviewTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeContentReviewTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Review template detail list.
	ContentReviewTemplateSet []*ContentReviewTemplateItem `json:"ContentReviewTemplateSet,omitnil,omitempty" name:"ContentReviewTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeContentReviewTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeContentReviewTemplatesResponseParams `json:"Response"`
}

func (r *DescribeContentReviewTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeContentReviewTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCurrentPlaylistRequestParams struct {
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// The length of the returned playlist. maximum is 10, default value is 5.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeCurrentPlaylistRequest struct {
	*tchttp.BaseRequest
	
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// The length of the returned playlist. maximum is 10, default value is 5.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeCurrentPlaylistRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCurrentPlaylistRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "RoundPlayId")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCurrentPlaylistRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCurrentPlaylistResponseParams struct {
	// Current playlist information.
	CurrentPlaylist []*RoundPlayFilePlayInfo `json:"CurrentPlaylist,omitnil,omitempty" name:"CurrentPlaylist"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCurrentPlaylistResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCurrentPlaylistResponseParams `json:"Response"`
}

func (r *DescribeCurrentPlaylistResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCurrentPlaylistResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDailyPlayStatFileListRequestParams struct {
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeDailyPlayStatFileListRequest struct {
	*tchttp.BaseRequest
	
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeDailyPlayStatFileListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDailyPlayStatFileListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDailyPlayStatFileListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDailyPlayStatFileListResponseParams struct {
	// Playback statistics file list.
	PlayStatFileSet []*PlayStatFileInfo `json:"PlayStatFileSet,omitnil,omitempty" name:"PlayStatFileSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeDailyPlayStatFileListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeDailyPlayStatFileListResponseParams `json:"Response"`
}

func (r *DescribeDailyPlayStatFileListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDailyPlayStatFileListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDefaultDistributionConfigRequestParams struct {
	// <b>VOD [app](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who have enabled VOD since December 25, 2023, to access resources in an VOD application (whether it is a default application or a newly created application), this field must be filled in as the application ID. </b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeDefaultDistributionConfigRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [app](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who have enabled VOD since December 25, 2023, to access resources in an VOD application (whether it is a default application or a newly created application), this field must be filled in as the application ID. </b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeDefaultDistributionConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDefaultDistributionConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDefaultDistributionConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDefaultDistributionConfigResponseParams struct {
	// Distribute the configured domain name (abandoned).
	//
	// Deprecated: DomainName is deprecated.
	DomainName *string `json:"DomainName,omitnil,omitempty" name:"DomainName"`

	// Distribute the configured domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// The protocol of the distribution configuration is HTTP or HTTPS.
	Scheme *string `json:"Scheme,omitnil,omitempty" name:"Scheme"`

	// The playback key consists of uppercase and lowercase letters (a - Z) or numbers (0 - 9) with a length between 8 and 20 characters.
	PlayKey *string `json:"PlayKey,omitnil,omitempty" name:"PlayKey"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeDefaultDistributionConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeDefaultDistributionConfigResponseParams `json:"Response"`
}

func (r *DescribeDefaultDistributionConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDefaultDistributionConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDrmKeyProviderInfoRequestParams struct {
	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeDrmKeyProviderInfoRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeDrmKeyProviderInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDrmKeyProviderInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDrmKeyProviderInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDrmKeyProviderInfoResponseParams struct {
	// <p>DRM key provider information related to SDMC.</p><p>The SDMC service will be gradually phased out subsequently. Please use the VOD DRM encryption service.</p>
	SDMCInfo *SDMCDrmKeyProviderInfo `json:"SDMCInfo,omitnil,omitempty" name:"SDMCInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeDrmKeyProviderInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeDrmKeyProviderInfoResponseParams `json:"Response"`
}

func (r *DescribeDrmKeyProviderInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDrmKeyProviderInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEnhanceMediaTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template list. Length limit: 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeEnhanceMediaTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template list. Length limit: 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeEnhanceMediaTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEnhanceMediaTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEnhanceMediaTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEnhanceMediaTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Audio and video quality rebirth template detail list.
	RebuildMediaTemplateSet []*RebuildMediaTemplate `json:"RebuildMediaTemplateSet,omitnil,omitempty" name:"RebuildMediaTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEnhanceMediaTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEnhanceMediaTemplatesResponseParams `json:"Response"`
}

func (r *DescribeEnhanceMediaTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEnhanceMediaTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEventConfigRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeEventConfigRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeEventConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEventConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEventConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEventConfigResponseParams struct {
	// Method of receiving event notifications. "PUSH" is [normal callback](https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1#.E6.99.AE.E9.80.9A.E5.9B.9E.E8.B0.83), "PULL" is [reliable callback](https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1#.E5.8F.AF.E9.9D.A0.E5.9B.9E.E8.B0.83).
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Use the [normal callback](https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1#.E6.99.AE.E9.80.9A.E5.9B.9E.E8.B0.83) mode for domain names or IP addresses to receive V3 version event notifications.
	NotificationUrl *string `json:"NotificationUrl,omitnil,omitempty" name:"NotificationUrl"`

	// Whether to receive [video upload complete](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) event notification. "OFF" means the event notification is ignored, and "ON" means to receive event notifications.
	UploadMediaCompleteEventSwitch *string `json:"UploadMediaCompleteEventSwitch,omitnil,omitempty" name:"UploadMediaCompleteEventSwitch"`

	// Whether to receive [video deletion completion](https://www.tencentcloud.com/document/product/266/13434?from_cn_redirect=1) event notification. "OFF" means the event notification is ignored, and "ON" means to receive event notifications.
	DeleteMediaCompleteEventSwitch *string `json:"DeleteMediaCompleteEventSwitch,omitnil,omitempty" name:"DeleteMediaCompleteEventSwitch"`

	// Whether to receive event notifications for clip solidification completion. "OFF" means the event notification is ignored, "ON" means to receive event notifications.
	PersistenceCompleteEventSwitch *string `json:"PersistenceCompleteEventSwitch,omitnil,omitempty" name:"PersistenceCompleteEventSwitch"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEventConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEventConfigResponseParams `json:"Response"`
}

func (r *DescribeEventConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEventConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileAttributesRequestParams struct {
	// media file ID
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type DescribeFileAttributesRequest struct {
	*tchttp.BaseRequest
	
	// media file ID
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate on-demand services after December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value range is from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *DescribeFileAttributesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileAttributesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "SubAppId")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeFileAttributesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileAttributesResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeFileAttributesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeFileAttributesResponseParams `json:"Response"`
}

func (r *DescribeFileAttributesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileAttributesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DescribeFileAttributesTask struct {
	// The task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The error code. `0` indicates the task is successful. Other values indicate that the task failed.
	// <li>`40000`: Invalid input parameter.</li>
	// <li>`60000`: Source file error (e.g., video data is corrupted).</li>
	// <li>`70000`: Internal server error. Please try again.</li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// The error code. An empty string indicates the task is successful; other values indicate that the task failed. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// The error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The task progress. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The file ID
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The output of the task to get file attributes.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Output *DescribeFileAttributesTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The session ID, which is used for de-duplication. If there was a request with the same session ID in the last seven days, an error will be returned for the current request. The session ID can contain up to 50 characters. If you do not pass this parameter or pass in an empty string, duplicate sessions will not be identified.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The source context, which is used to pass through user request information. The `ProcedureStateChanged` callback will return the value of this parameter. It can contain up to 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type DescribeFileAttributesTaskOutput struct {
	// The MD5 hash of the file.
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// The Sha1 value of the media file.
	Sha1 *string `json:"Sha1,omitnil,omitempty" name:"Sha1"`
}

// Predefined struct for user
type DescribeHeadTailTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Opening and ending template ID. Array length limit: 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeHeadTailTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Opening and ending template ID. Array length limit: 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeHeadTailTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHeadTailTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHeadTailTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHeadTailTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Header and trailer template detail list.
	HeadTailTemplateSet []*HeadTailTemplate `json:"HeadTailTemplateSet,omitnil,omitempty" name:"HeadTailTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeHeadTailTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeHeadTailTemplatesResponseParams `json:"Response"`
}

func (r *DescribeHeadTailTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHeadTailTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageProcessingTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image processing template flag list. Length limit: 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeImageProcessingTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image processing template flag list. Length limit: 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeImageProcessingTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageProcessingTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeImageProcessingTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageProcessingTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of image processing template details.
	ImageProcessingTemplateSet []*ImageProcessingTemplate `json:"ImageProcessingTemplateSet,omitnil,omitempty" name:"ImageProcessingTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageProcessingTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageProcessingTemplatesResponseParams `json:"Response"`
}

func (r *DescribeImageProcessingTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageProcessingTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageReviewUsageDataRequestParams struct {
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeImageReviewUsageDataRequest struct {
	*tchttp.BaseRequest
	
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeImageReviewUsageDataRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageReviewUsageDataRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeImageReviewUsageDataRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageReviewUsageDataResponseParams struct {
	// Image moderation stats show overview data of the number of moderations within a specified time range.
	ImageReviewUsageDataSet []*ImageReviewUsageDataItem `json:"ImageReviewUsageDataSet,omitnil,omitempty" name:"ImageReviewUsageDataSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageReviewUsageDataResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageReviewUsageDataResponseParams `json:"Response"`
}

func (r *DescribeImageReviewUsageDataResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageReviewUsageDataResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageSpriteTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the sprite template unique identifier. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeImageSpriteTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the sprite template unique identifier. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeImageSpriteTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageSpriteTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeImageSpriteTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageSpriteTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Sprite template details list.
	ImageSpriteTemplateSet []*ImageSpriteTemplate `json:"ImageSpriteTemplateSet,omitnil,omitempty" name:"ImageSpriteTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageSpriteTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageSpriteTemplatesResponseParams `json:"Response"`
}

func (r *DescribeImageSpriteTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageSpriteTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJustInTimeTranscodeTemplatesRequestParams struct {
	// Filter condition for template name, with an array length limit of 100.
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset task flow template;</li>
	// <li>Custom: User-defined task flow template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeJustInTimeTranscodeTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// Filter condition for template name, with an array length limit of 100.
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset task flow template;</li>
	// <li>Custom: User-defined task flow template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeJustInTimeTranscodeTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJustInTimeTranscodeTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Names")
	delete(f, "SubAppId")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeJustInTimeTranscodeTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJustInTimeTranscodeTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Template detail list.
	JustInTimeTranscodeTemplateSet []*JustInTimeTranscodeTemplate `json:"JustInTimeTranscodeTemplateSet,omitnil,omitempty" name:"JustInTimeTranscodeTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeJustInTimeTranscodeTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeJustInTimeTranscodeTemplatesResponseParams `json:"Response"`
}

func (r *DescribeJustInTimeTranscodeTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJustInTimeTranscodeTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLLMComprehendTemplatesRequestParams struct {
	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Filter condition for the unique identifier of the large model parsing template. The maximum array length is 100.</p>
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// <p>Paging offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Number of returned entries. Default value: 10. Maximum value: 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeLLMComprehendTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Filter condition for the unique identifier of the large model parsing template. The maximum array length is 100.</p>
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// <p>Paging offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Number of returned entries. Default value: 10. Maximum value: 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeLLMComprehendTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLLMComprehendTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLLMComprehendTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLLMComprehendTemplatesResponseParams struct {
	// <p>Total number of records that meet filter conditions.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>Large model parses template details list.</p>
	LLMComprehendTemplateSet []*LLMComprehendTemplateItem `json:"LLMComprehendTemplateSet,omitnil,omitempty" name:"LLMComprehendTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLLMComprehendTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLLMComprehendTemplatesResponseParams `json:"Response"`
}

func (r *DescribeLLMComprehendTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLLMComprehendTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseUsageDataRequestParams struct {
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// License type, defaults to CommercialDRMLicense. Currently supports license types including:
	// <li> CommercialDRMLicense: enterprise-grade DRM License</li>
	LicenseType *string `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeLicenseUsageDataRequest struct {
	*tchttp.BaseRequest
	
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// License type, defaults to CommercialDRMLicense. Currently supports license types including:
	// <li> CommercialDRMLicense: enterprise-grade DRM License</li>
	LicenseType *string `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeLicenseUsageDataRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseUsageDataRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "LicenseType")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLicenseUsageDataRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseUsageDataResponseParams struct {
	// License query count stats show detailed data of the queried license.
	LicenseUsageDataSet []*LicenseUsageDataItem `json:"LicenseUsageDataSet,omitnil,omitempty" name:"LicenseUsageDataSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLicenseUsageDataResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLicenseUsageDataResponseParams `json:"Response"`
}

func (r *DescribeLicenseUsageDataResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseUsageDataResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMPSTemplatesRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// MPS template type. Filter results by the MPS template type you want to query. Value:
	// <li>Transcode: Query the transcoding template list.</li>
	// <li>AIAnalysis: Create intelligent analysis template.</li>
	// <li>SmartSubtitle: Create an intelligent subtitle template.</li>
	// <li>SmartErase: Create an intelligent erasure template.</li>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// MPS queries template parameters. This parameter is used for passing through to the media processing service (MPS) to query the MPS template list from the VOD side. Currently only support querying templates of the following task types via this method:
	// 1. Audio and video enhancement: Only support filling in the content of Definitions, Type, Name, Offset, and Limit parameters in the "retrieval transcoding template list" (https://www.tencentcloud.com/document/product/862/37593?from_cn_redirect=1) interface. Currently only support configuring the above parameters in template, other parameters not required. If other parameters are included, system will automatically ignore.
	// 2. Intelligent Analysis: Only support filling in the content of Definitions, Type, Name, Offset, and Limit parameters from the "Search Intelligent Analysis Template List" (https://www.tencentcloud.com/document/product/862/40247?from_cn_redirect=1) interface. Currently only support configuring the above parameters in the Template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.
	// 3. Smart subtitling: Only supports filling in the content of Definitions, Type, Name, Offset, and Limit parameters from the "Get Smart Subtitling Template List" (https://www.tencentcloud.com/document/product/862/117002?from_cn_redirect=1) interface. Currently only support configuring the above parameters in template, other parameters not required. If other parameters are included, system will automatically ignore.
	// 4. Intelligent erasure: Only supports filling in the content of Definitions, Type, Name, Offset, and Limit parameters in the "Search intelligent erasure template list" (https://www.tencentcloud.com/document/product/862/123733?from_cn_redirect=1) interface. Currently only support configuring the above parameters in template. Other parameters are not required. If other parameters are included, the system will automatically ignore.
	MPSDescribeTemplateParams *string `json:"MPSDescribeTemplateParams,omitnil,omitempty" name:"MPSDescribeTemplateParams"`
}

type DescribeMPSTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// MPS template type. Filter results by the MPS template type you want to query. Value:
	// <li>Transcode: Query the transcoding template list.</li>
	// <li>AIAnalysis: Create intelligent analysis template.</li>
	// <li>SmartSubtitle: Create an intelligent subtitle template.</li>
	// <li>SmartErase: Create an intelligent erasure template.</li>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// MPS queries template parameters. This parameter is used for passing through to the media processing service (MPS) to query the MPS template list from the VOD side. Currently only support querying templates of the following task types via this method:
	// 1. Audio and video enhancement: Only support filling in the content of Definitions, Type, Name, Offset, and Limit parameters in the "retrieval transcoding template list" (https://www.tencentcloud.com/document/product/862/37593?from_cn_redirect=1) interface. Currently only support configuring the above parameters in template, other parameters not required. If other parameters are included, system will automatically ignore.
	// 2. Intelligent Analysis: Only support filling in the content of Definitions, Type, Name, Offset, and Limit parameters from the "Search Intelligent Analysis Template List" (https://www.tencentcloud.com/document/product/862/40247?from_cn_redirect=1) interface. Currently only support configuring the above parameters in the Template. Other parameters are not required. If other parameters are included, the system will automatically ignore them.
	// 3. Smart subtitling: Only supports filling in the content of Definitions, Type, Name, Offset, and Limit parameters from the "Get Smart Subtitling Template List" (https://www.tencentcloud.com/document/product/862/117002?from_cn_redirect=1) interface. Currently only support configuring the above parameters in template, other parameters not required. If other parameters are included, system will automatically ignore.
	// 4. Intelligent erasure: Only supports filling in the content of Definitions, Type, Name, Offset, and Limit parameters in the "Search intelligent erasure template list" (https://www.tencentcloud.com/document/product/862/123733?from_cn_redirect=1) interface. Currently only support configuring the above parameters in template. Other parameters are not required. If other parameters are included, the system will automatically ignore.
	MPSDescribeTemplateParams *string `json:"MPSDescribeTemplateParams,omitnil,omitempty" name:"MPSDescribeTemplateParams"`
}

func (r *DescribeMPSTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMPSTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "TemplateType")
	delete(f, "MPSDescribeTemplateParams")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMPSTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMPSTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// MPS task template details list.
	MPSTemplateSet []*MPSTemplate `json:"MPSTemplateSet,omitnil,omitempty" name:"MPSTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMPSTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMPSTemplatesResponseParams `json:"Response"`
}

func (r *DescribeMPSTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMPSTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMediaInfosRequestParams struct {
	// <p>Media file ID list. N starts from 0 with a maximum of 19.</p>
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Information to be returned for all specified media files. Multiple information can be specified simultaneously, with N starting from 0. If this field is not filled in, default return all information. Options:</p><li>basicInfo (video basic information).</li><li>metaData (video metadata).</li><li>transcodeInfo (video transcoding result information).</li><li>animatedGraphicsInfo (video motion graphic result information).</li><li>imageSpriteInfo (video thumbnail information).</li><li>snapshotByTimeOffsetInfo (video screenshot by specified time point).</li><li>sampleSnapshotInfo (sampling screenshot information).</li><li>keyFrameDescInfo (Dotting Information).</li><li>adaptiveDynamicStreamingInfo (Adaptive Bitrate Streaming information).</li><li>miniProgramReviewInfo (miniProgramReviewInfo).</li><li>subtitleInfo (subtitle information).</li><li>reviewInfo (review information).</li><li>mpsAiMediaInfo (Intelligent Media Assets information).</li>
	Filters []*string `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeMediaInfosRequest struct {
	*tchttp.BaseRequest
	
	// <p>Media file ID list. N starts from 0 with a maximum of 19.</p>
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Information to be returned for all specified media files. Multiple information can be specified simultaneously, with N starting from 0. If this field is not filled in, default return all information. Options:</p><li>basicInfo (video basic information).</li><li>metaData (video metadata).</li><li>transcodeInfo (video transcoding result information).</li><li>animatedGraphicsInfo (video motion graphic result information).</li><li>imageSpriteInfo (video thumbnail information).</li><li>snapshotByTimeOffsetInfo (video screenshot by specified time point).</li><li>sampleSnapshotInfo (sampling screenshot information).</li><li>keyFrameDescInfo (Dotting Information).</li><li>adaptiveDynamicStreamingInfo (Adaptive Bitrate Streaming information).</li><li>miniProgramReviewInfo (miniProgramReviewInfo).</li><li>subtitleInfo (subtitle information).</li><li>reviewInfo (review information).</li><li>mpsAiMediaInfo (Intelligent Media Assets information).</li>
	Filters []*string `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeMediaInfosRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMediaInfosRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileIds")
	delete(f, "SubAppId")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMediaInfosRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMediaInfosResponseParams struct {
	// <p>Media file information list.</p>
	MediaInfoSet []*MediaInfo `json:"MediaInfoSet,omitnil,omitempty" name:"MediaInfoSet"`

	// <p>Non-existent file ID list.</p>
	NotExistFileIdSet []*string `json:"NotExistFileIdSet,omitnil,omitempty" name:"NotExistFileIdSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMediaInfosResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMediaInfosResponseParams `json:"Response"`
}

func (r *DescribeMediaInfosResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMediaInfosResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMediaPlayStatDetailsRequestParams struct {
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Start time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Statistical time granularity. Valid values:
	// <li>Hour: hourly granularity.</li>
	// <li>Day: By day.</li>
	// The default granularity is determined by the duration. If the duration is less than 1 day, the granularity is hour. If the duration is equal to or greater than 1 day, the granularity is day.
	Interval *string `json:"Interval,omitnil,omitempty" name:"Interval"`
}

type DescribeMediaPlayStatDetailsRequest struct {
	*tchttp.BaseRequest
	
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Start time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Statistical time granularity. Valid values:
	// <li>Hour: hourly granularity.</li>
	// <li>Day: By day.</li>
	// The default granularity is determined by the duration. If the duration is less than 1 day, the granularity is hour. If the duration is equal to or greater than 1 day, the granularity is day.
	Interval *string `json:"Interval,omitnil,omitempty" name:"Interval"`
}

func (r *DescribeMediaPlayStatDetailsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMediaPlayStatDetailsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	delete(f, "Interval")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMediaPlayStatDetailsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMediaPlayStatDetailsResponseParams struct {
	// Playback statistics.
	PlayStatInfoSet []*PlayStatInfo `json:"PlayStatInfoSet,omitnil,omitempty" name:"PlayStatInfoSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMediaPlayStatDetailsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMediaPlayStatDetailsResponseParams `json:"Response"`
}

func (r *DescribeMediaPlayStatDetailsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMediaPlayStatDetailsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMediaProcessUsageDataRequestParams struct {
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Query video processing task type. Currently supported task types include:
	// <li>Transcoding: standard transcoding.</li>
	// <li>Transcoding-TESHD: TSC transcoding</li>
	// <li>Editing: video editing</li>
	// <li>Editing-TESHD: Extremely fast high-definition video editing</li>
	// <li>AdaptiveBitrateStreaming: adaptive bitrate streaming</li>
	// <li>ContentAudit: content moderation</li>
	// <li>ContentRecognition: content recognition</li>
	// <li> RemoveWatermark: Remove watermark</li>
	// <li>ExtractTraceWatermark: extract watermark</li>
	// <li> AddTraceWatermark: Add watermark</li>
	// <li> RebuildMedia: Audio and video quality revival</li>
	// <li>QualityInspect: audio and video quality inspection</li>
	// <li>VideoHighlight: Video intelligent highlights</li>
	// <li>VideoTag: video intelligent tag</li>
	// <li>VideoClassification: video intelligent classification</li>
	// <li>VideoCover: video intelligent cover</li>
	// <li>VideoSegment: video intelligent splitting</li>
	// <li>VideoProduce: video production</li>
	// <li>MediaCast: media forwarding</li>
	// <li>Transcode: Transcode, including standard transcoding, top speed Codec, and video editing (This is not recommended)</li>
	// <li>VoiceTranslation: speech translation</li>
	// <li>JITTranscoding: JIT transcoding.</li>
	// <li>VideoSnapshot: video screenshot.</li>
	// <li>JITEncryption: Real-time encryption</li>
	// <li>MediaEnhancement: audio and video enhancement</li>
	// <li>ImageCompression: image compression</li>
	// <li>ImageEnhancement: image enhancement</li>
	// <li>ImageSuperResolution: image super resolution</li>
	// <li>ImageAdvanceCompression: image advanced compression</li>
	// <li>ImageUnderstanding: image understanding</li>
	// <li>AddTraceWatermark: Add a traceable watermark</li>
	// <li>AddBlindWatermark: Add blind watermark</li>
	// <li>AddNagraWatermark: Add NAGRA digital watermark</li>
	// <li>ExtractTraceWatermark: extract traceability watermark</li>
	// <li>ExtractBlindWatermark: extract a blind watermark</li>
	// <li>ExtractNagraWatermark: Extract NAGRA digital watermark</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeMediaProcessUsageDataRequest struct {
	*tchttp.BaseRequest
	
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than or equal to the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Query video processing task type. Currently supported task types include:
	// <li>Transcoding: standard transcoding.</li>
	// <li>Transcoding-TESHD: TSC transcoding</li>
	// <li>Editing: video editing</li>
	// <li>Editing-TESHD: Extremely fast high-definition video editing</li>
	// <li>AdaptiveBitrateStreaming: adaptive bitrate streaming</li>
	// <li>ContentAudit: content moderation</li>
	// <li>ContentRecognition: content recognition</li>
	// <li> RemoveWatermark: Remove watermark</li>
	// <li>ExtractTraceWatermark: extract watermark</li>
	// <li> AddTraceWatermark: Add watermark</li>
	// <li> RebuildMedia: Audio and video quality revival</li>
	// <li>QualityInspect: audio and video quality inspection</li>
	// <li>VideoHighlight: Video intelligent highlights</li>
	// <li>VideoTag: video intelligent tag</li>
	// <li>VideoClassification: video intelligent classification</li>
	// <li>VideoCover: video intelligent cover</li>
	// <li>VideoSegment: video intelligent splitting</li>
	// <li>VideoProduce: video production</li>
	// <li>MediaCast: media forwarding</li>
	// <li>Transcode: Transcode, including standard transcoding, top speed Codec, and video editing (This is not recommended)</li>
	// <li>VoiceTranslation: speech translation</li>
	// <li>JITTranscoding: JIT transcoding.</li>
	// <li>VideoSnapshot: video screenshot.</li>
	// <li>JITEncryption: Real-time encryption</li>
	// <li>MediaEnhancement: audio and video enhancement</li>
	// <li>ImageCompression: image compression</li>
	// <li>ImageEnhancement: image enhancement</li>
	// <li>ImageSuperResolution: image super resolution</li>
	// <li>ImageAdvanceCompression: image advanced compression</li>
	// <li>ImageUnderstanding: image understanding</li>
	// <li>AddTraceWatermark: Add a traceable watermark</li>
	// <li>AddBlindWatermark: Add blind watermark</li>
	// <li>AddNagraWatermark: Add NAGRA digital watermark</li>
	// <li>ExtractTraceWatermark: extract traceability watermark</li>
	// <li>ExtractBlindWatermark: extract a blind watermark</li>
	// <li>ExtractNagraWatermark: Extract NAGRA digital watermark</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeMediaProcessUsageDataRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMediaProcessUsageDataRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMediaProcessUsageDataRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMediaProcessUsageDataResponseParams struct {
	// Video processing statistics overview, which displays an overview and detailed data of the queried task.
	MediaProcessDataSet []*TaskStatData `json:"MediaProcessDataSet,omitnil,omitempty" name:"MediaProcessDataSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMediaProcessUsageDataResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMediaProcessUsageDataResponseParams `json:"Response"`
}

func (r *DescribeMediaProcessUsageDataResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMediaProcessUsageDataResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePersonSamplesRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Pulled material type. Valid values:
	// <li>UserDefine: User-customized material library;</li>
	// <li>Default: Default sample library.</li>
	// 
	// Default value: UserDefine, pull user-customized material library materials.
	// Description: If you pull the system default material library, you can only use the material name or material ID + material name via pull, and the facial features image returns only one.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Material ID, with an array length limit of 100.
	PersonIds []*string `json:"PersonIds,omitnil,omitempty" name:"PersonIds"`

	// Material name. Array length limit: 20.
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// Material tag. Array length limit: 20.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 100. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribePersonSamplesRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Pulled material type. Valid values:
	// <li>UserDefine: User-customized material library;</li>
	// <li>Default: Default sample library.</li>
	// 
	// Default value: UserDefine, pull user-customized material library materials.
	// Description: If you pull the system default material library, you can only use the material name or material ID + material name via pull, and the facial features image returns only one.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Material ID, with an array length limit of 100.
	PersonIds []*string `json:"PersonIds,omitnil,omitempty" name:"PersonIds"`

	// Material name. Array length limit: 20.
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// Material tag. Array length limit: 20.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 100. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribePersonSamplesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePersonSamplesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Type")
	delete(f, "PersonIds")
	delete(f, "Names")
	delete(f, "Tags")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePersonSamplesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePersonSamplesResponseParams struct {
	// Total number of qualified records.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Character information.
	PersonSet []*AiSamplePerson `json:"PersonSet,omitnil,omitempty" name:"PersonSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePersonSamplesResponse struct {
	*tchttp.BaseResponse
	Response *DescribePersonSamplesResponseParams `json:"Response"`
}

func (r *DescribePersonSamplesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePersonSamplesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProcedureTemplatesRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Task flow template name filter conditions. The array can contain up to 100 conditions.</p>
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// <p>Filtering condition for the task flow template type. Valid values:</p><li>Preset: system preset task flow template;</li><li>Custom: user-defined task flow template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Paging offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Number of returned entries. Default value: 10. Maximum value: 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Specify the field to sort the returned results in ascending or descending order. Sort.Field currently only supports CreateTime. Sort.Order can be desc (descending order) or asc (ascending order).</p><p>Input parameter limitation: Currently only the CreateTime field is supported for sorting.</p>
	SortBy []*SortBy `json:"SortBy,omitnil,omitempty" name:"SortBy"`
}

type DescribeProcedureTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Task flow template name filter conditions. The array can contain up to 100 conditions.</p>
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// <p>Filtering condition for the task flow template type. Valid values:</p><li>Preset: system preset task flow template;</li><li>Custom: user-defined task flow template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Paging offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Number of returned entries. Default value: 10. Maximum value: 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Specify the field to sort the returned results in ascending or descending order. Sort.Field currently only supports CreateTime. Sort.Order can be desc (descending order) or asc (ascending order).</p><p>Input parameter limitation: Currently only the CreateTime field is supported for sorting.</p>
	SortBy []*SortBy `json:"SortBy,omitnil,omitempty" name:"SortBy"`
}

func (r *DescribeProcedureTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProcedureTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Names")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "SortBy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProcedureTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProcedureTemplatesResponseParams struct {
	// <p>Total number of records that meet filter conditions.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>Task flow template detail list.</p>
	ProcedureTemplateSet []*ProcedureTemplate `json:"ProcedureTemplateSet,omitnil,omitempty" name:"ProcedureTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeProcedureTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeProcedureTemplatesResponseParams `json:"Response"`
}

func (r *DescribeProcedureTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProcedureTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProcessImageAsyncTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the image async processing template. The maximum array length is 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeProcessImageAsyncTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the image async processing template. The maximum array length is 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeProcessImageAsyncTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProcessImageAsyncTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProcessImageAsyncTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProcessImageAsyncTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of image asynchronous processing template details.
	ProcessImageAsyncTemplateSet []*ProcessImageAsyncTemplateItem `json:"ProcessImageAsyncTemplateSet,omitnil,omitempty" name:"ProcessImageAsyncTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeProcessImageAsyncTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeProcessImageAsyncTemplatesResponseParams `json:"Response"`
}

func (r *DescribeProcessImageAsyncTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProcessImageAsyncTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeQualityInspectTemplatesRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality detection template list. Length limit: 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeQualityInspectTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality detection template list. Length limit: 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeQualityInspectTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeQualityInspectTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeQualityInspectTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeQualityInspectTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Audio and video quality detection template details list.
	QualityInspectTemplateSet []*QualityInspectTemplateItem `json:"QualityInspectTemplateSet,omitnil,omitempty" name:"QualityInspectTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeQualityInspectTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeQualityInspectTemplatesResponseParams `json:"Response"`
}

func (r *DescribeQualityInspectTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeQualityInspectTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRebuildMediaTemplatesRequestParams struct {
	// Video rebirth template list.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeRebuildMediaTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// Video rebirth template list.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeRebuildMediaTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRebuildMediaTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definitions")
	delete(f, "SubAppId")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRebuildMediaTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRebuildMediaTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Video regeneration template detail list.
	RebuildMediaTemplateSet []*RebuildMediaTemplate `json:"RebuildMediaTemplateSet,omitnil,omitempty" name:"RebuildMediaTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRebuildMediaTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRebuildMediaTemplatesResponseParams `json:"Response"`
}

func (r *DescribeRebuildMediaTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRebuildMediaTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReviewDetailsRequestParams struct {
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeReviewDetailsRequest struct {
	*tchttp.BaseRequest
	
	// Start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End date, which must be greater than the start date. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeReviewDetailsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReviewDetailsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReviewDetailsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReviewDetailsResponseParams struct {
	// Trigger content intelligent identification count.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Content intelligent identification duration.
	TotalDuration *int64 `json:"TotalDuration,omitnil,omitempty" name:"TotalDuration"`

	// Content intelligent identification duration stats, one data point per day.
	Data []*StatDataItem `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReviewDetailsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReviewDetailsResponseParams `json:"Response"`
}

func (r *DescribeReviewDetailsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReviewDetailsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReviewTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the audit template unique identifier. The array length cannot exceed 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeReviewTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the audit template unique identifier. The array length cannot exceed 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeReviewTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReviewTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReviewTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReviewTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Review template detail list.
	ReviewTemplateSet []*ReviewTemplate `json:"ReviewTemplateSet,omitnil,omitempty" name:"ReviewTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReviewTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReviewTemplatesResponseParams `json:"Response"`
}

func (r *DescribeReviewTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReviewTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRoundPlaysRequestParams struct {
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter criteria: playlist identifier, array length limit: 100.
	RoundPlayIds []*string `json:"RoundPlayIds,omitnil,omitempty" name:"RoundPlayIds"`

	// Filter criteria: playlist status, optional values: <li>enabled: startup status;</li> <li>disabled: stopped status.</li>.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Filter criteria: playlist creation time.
	CreateTime *TimeRange `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Filter criteria: playlist update time.
	UpdateTime *TimeRange `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Scrolling identifier which is used for pulling in batches. if a single request cannot pull all the data entries, the API will return `scrolltoken`, and if the next request carries it, the next pull will start from the next entry.
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`

	// Pagination offset, default value: 0. this field is obsolete. please use the `scrolltoken` parameter for batch queries.
	//
	// Deprecated: Offset is deprecated.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. default value: 10. maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeRoundPlaysRequest struct {
	*tchttp.BaseRequest
	
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter criteria: playlist identifier, array length limit: 100.
	RoundPlayIds []*string `json:"RoundPlayIds,omitnil,omitempty" name:"RoundPlayIds"`

	// Filter criteria: playlist status, optional values: <li>enabled: startup status;</li> <li>disabled: stopped status.</li>.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Filter criteria: playlist creation time.
	CreateTime *TimeRange `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Filter criteria: playlist update time.
	UpdateTime *TimeRange `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Scrolling identifier which is used for pulling in batches. if a single request cannot pull all the data entries, the API will return `scrolltoken`, and if the next request carries it, the next pull will start from the next entry.
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`

	// Pagination offset, default value: 0. this field is obsolete. please use the `scrolltoken` parameter for batch queries.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. default value: 10. maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeRoundPlaysRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRoundPlaysRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "RoundPlayIds")
	delete(f, "Status")
	delete(f, "CreateTime")
	delete(f, "UpdateTime")
	delete(f, "ScrollToken")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRoundPlaysRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRoundPlaysResponseParams struct {
	// The total number of carousel broadcast playlists that meet the filter criteria. deprecated. for batch inquiries, please use the scrolltoken parameter.
	//
	// Deprecated: TotalCount is deprecated.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The details of the playlist.
	RoundPlaySet []*RoundPlayInfo `json:"RoundPlaySet,omitnil,omitempty" name:"RoundPlaySet"`

	// Scrolling identifier. if a request does not return all the data entries, this field indicates the id of the next entry. if this field is empty, there is no more data.
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRoundPlaysResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRoundPlaysResponseParams `json:"Response"`
}

func (r *DescribeRoundPlaysResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRoundPlaysResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSampleSnapshotTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the sampling screenshot template unique identifier. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeSampleSnapshotTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the sampling screenshot template unique identifier. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeSampleSnapshotTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSampleSnapshotTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSampleSnapshotTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSampleSnapshotTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Sampling screenshot template detail list.
	SampleSnapshotTemplateSet []*SampleSnapshotTemplate `json:"SampleSnapshotTemplateSet,omitnil,omitempty" name:"SampleSnapshotTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSampleSnapshotTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSampleSnapshotTemplatesResponseParams `json:"Response"`
}

func (r *DescribeSampleSnapshotTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSampleSnapshotTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSnapshotByTimeOffsetTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the screenshot template at specified time point. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeSnapshotByTimeOffsetTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filtering condition for the unique identifier of the screenshot template at specified time point. The array length cannot exceed 100.
	Definitions []*uint64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeSnapshotByTimeOffsetTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSnapshotByTimeOffsetTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSnapshotByTimeOffsetTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSnapshotByTimeOffsetTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Specified time point screenshot template detail list.
	SnapshotByTimeOffsetTemplateSet []*SnapshotByTimeOffsetTemplate `json:"SnapshotByTimeOffsetTemplateSet,omitnil,omitempty" name:"SnapshotByTimeOffsetTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSnapshotByTimeOffsetTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSnapshotByTimeOffsetTemplatesResponseParams `json:"Response"`
}

func (r *DescribeSnapshotByTimeOffsetTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSnapshotByTimeOffsetTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStorageDataRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeStorageDataRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeStorageDataRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStorageDataRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStorageDataRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStorageDataResponseParams struct {
	// Total current media volume.
	MediaCount *uint64 `json:"MediaCount,omitnil,omitempty" name:"MediaCount"`

	// Current total storage capacity, in bytes.
	TotalStorage *uint64 `json:"TotalStorage,omitnil,omitempty" name:"TotalStorage"`

	// Current standard storage capacity, in bytes.
	StandardStorage *uint64 `json:"StandardStorage,omitnil,omitempty" name:"StandardStorage"`

	// Current infrequent access storage capacity in bytes.
	InfrequentStorage *uint64 `json:"InfrequentStorage,omitnil,omitempty" name:"InfrequentStorage"`

	// Current archive storage capacity, in bytes.
	ArchiveStorage *uint64 `json:"ArchiveStorage,omitnil,omitempty" name:"ArchiveStorage"`

	// Current deep archive storage capacity, in bytes.
	DeepArchiveStorage *uint64 `json:"DeepArchiveStorage,omitnil,omitempty" name:"DeepArchiveStorage"`

	// Storage usage in billing regions.
	StorageStat []*StorageStatData `json:"StorageStat,omitnil,omitempty" name:"StorageStat"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStorageDataResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStorageDataResponseParams `json:"Response"`
}

func (r *DescribeStorageDataResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStorageDataResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStorageDetailsRequestParams struct {
	// Start time. Format according to ISO 8601. For details, see the [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time, which must be greater than the start date. Format according to ISO 8601. For details, see the [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Statistical time granularity. Valid values:
	// <li>Minute: 5 minutes.</li>
	// <li>Day: day.</li>
	// By default, the granularity is determined by the time span. It is 5 minutes for a duration of up to 1 day and day for over 1 day.
	Interval *string `json:"Interval,omitnil,omitempty" name:"Interval"`

	// Storage type for query. Valid values:
	// <li>TotalStorage: Total stored amount, sum of standard, infrequent, archive, and deep archive storage capacity, excluding early deletion amount.</li>
	// <li>StandardStorage: Standard storage.</li>
	// <li>InfrequentStorage: Infrequent storage.</li>
	// <li>ArchiveStorage: Archive storage.</li>
	// <li>DeepArchiveStorage: deep archive storage.</li>
	// <li>DeletedInfrequentStorage: Early deletion amount of infrequent storage.</li>
	// <li>DeletedArchiveStorage: Early deletion amount of archive.</li>
	// <li>DeletedDeepArchiveStorage: Early deletion amount of deep archive.</li>
	// <li>ArchiveStandardRetrieval: Standard retrieval volume of archive.</li>
	// <li>ArchiveExpeditedRetrieval: Quick retrieval volume of archive.</li>
	// <li>ArchiveBulkRetrieval: Archive batch retrieval amount.</li>
	// <li>DeepArchiveStandardRetrieval: Deep archive standard retrieval.</li>
	// <li>DeepArchiveBulkRetrieval: Deep archive batch retrieval amount.</li>
	// <li>InfrequentRetrieval: Retrieval volume of infrequent storage.</li>
	// Default value: TotalStorage.
	StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"`

	// Storage region for query. Valid value:
	// <li>Chinese Mainland: within the Chinese mainland (excluding Hong Kong (China), Macao (China) and Taiwan (China)).</li>
	// <li>Outside Chinese Mainland: outside the Chinese mainland.</li>
	// Default value is Chinese Mainland.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`
}

type DescribeStorageDetailsRequest struct {
	*tchttp.BaseRequest
	
	// Start time. Format according to ISO 8601. For details, see the [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time, which must be greater than the start date. Format according to ISO 8601. For details, see the [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Statistical time granularity. Valid values:
	// <li>Minute: 5 minutes.</li>
	// <li>Day: day.</li>
	// By default, the granularity is determined by the time span. It is 5 minutes for a duration of up to 1 day and day for over 1 day.
	Interval *string `json:"Interval,omitnil,omitempty" name:"Interval"`

	// Storage type for query. Valid values:
	// <li>TotalStorage: Total stored amount, sum of standard, infrequent, archive, and deep archive storage capacity, excluding early deletion amount.</li>
	// <li>StandardStorage: Standard storage.</li>
	// <li>InfrequentStorage: Infrequent storage.</li>
	// <li>ArchiveStorage: Archive storage.</li>
	// <li>DeepArchiveStorage: deep archive storage.</li>
	// <li>DeletedInfrequentStorage: Early deletion amount of infrequent storage.</li>
	// <li>DeletedArchiveStorage: Early deletion amount of archive.</li>
	// <li>DeletedDeepArchiveStorage: Early deletion amount of deep archive.</li>
	// <li>ArchiveStandardRetrieval: Standard retrieval volume of archive.</li>
	// <li>ArchiveExpeditedRetrieval: Quick retrieval volume of archive.</li>
	// <li>ArchiveBulkRetrieval: Archive batch retrieval amount.</li>
	// <li>DeepArchiveStandardRetrieval: Deep archive standard retrieval.</li>
	// <li>DeepArchiveBulkRetrieval: Deep archive batch retrieval amount.</li>
	// <li>InfrequentRetrieval: Retrieval volume of infrequent storage.</li>
	// Default value: TotalStorage.
	StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"`

	// Storage region for query. Valid value:
	// <li>Chinese Mainland: within the Chinese mainland (excluding Hong Kong (China), Macao (China) and Taiwan (China)).</li>
	// <li>Outside Chinese Mainland: outside the Chinese mainland.</li>
	// Default value is Chinese Mainland.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`
}

func (r *DescribeStorageDetailsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStorageDetailsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	delete(f, "Interval")
	delete(f, "StorageType")
	delete(f, "Area")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStorageDetailsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStorageDetailsResponseParams struct {
	// Storage statistics data, one record every 5 minutes or daily.
	Data []*StatDataItem `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStorageDetailsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStorageDetailsResponseParams `json:"Response"`
}

func (r *DescribeStorageDetailsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStorageDetailsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStorageRegionsRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeStorageRegionsRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeStorageRegionsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStorageRegionsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStorageRegionsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStorageRegionsResponseParams struct {
	// Storage region information list.
	StorageRegionInfos []*StorageRegionInfo `json:"StorageRegionInfos,omitnil,omitempty" name:"StorageRegionInfos"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStorageRegionsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStorageRegionsResponseParams `json:"Response"`
}

func (r *DescribeStorageRegionsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStorageRegionsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSubAppIdsRequestParams struct {
	// Subapplication name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Tag information. You can query the list of subapplications with specified tags.
	Tags []*ResourceTag `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Page number offset from the beginning of paginated queries. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum return results of pulling paginated queries. Default: 200; maximum: 200.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeSubAppIdsRequest struct {
	*tchttp.BaseRequest
	
	// Subapplication name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Tag information. You can query the list of subapplications with specified tags.
	Tags []*ResourceTag `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Page number offset from the beginning of paginated queries. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum return results of pulling paginated queries. Default: 200; maximum: 200.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeSubAppIdsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSubAppIdsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Tags")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSubAppIdsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSubAppIdsResponseParams struct {
	// Subapplication information set.
	SubAppIdInfoSet []*SubAppIdInfo `json:"SubAppIdInfoSet,omitnil,omitempty" name:"SubAppIdInfoSet"`

	// Total number of subapplications.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSubAppIdsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSubAppIdsResponseParams `json:"Response"`
}

func (r *DescribeSubAppIdsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSubAppIdsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSuperPlayerConfigsRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Player configuration name filter condition, with a maximum array length of 100.
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Player configuration type filter condition. Available values:
	// <li>Preset: system predefined configuration;</li>
	// <li>Custom: User-customized configuration.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeSuperPlayerConfigsRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Player configuration name filter condition, with a maximum array length of 100.
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Player configuration type filter condition. Available values:
	// <li>Preset: system predefined configuration;</li>
	// <li>Custom: User-customized configuration.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeSuperPlayerConfigsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSuperPlayerConfigsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Names")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSuperPlayerConfigsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSuperPlayerConfigsResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Player configuration array.
	PlayerConfigSet []*PlayerConfig `json:"PlayerConfigSet,omitnil,omitempty" name:"PlayerConfigSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSuperPlayerConfigsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSuperPlayerConfigsResponseParams `json:"Response"`
}

func (r *DescribeSuperPlayerConfigsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSuperPlayerConfigsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTaskDetailRequestParams struct {
	// <p>Video processing task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeTaskDetailRequest struct {
	*tchttp.BaseRequest
	
	// <p>Video processing task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeTaskDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTaskDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTaskDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTaskDetailResponseParams struct {
	// <p>Task type. Valid values: <li>Procedure: Video processing task;</li><li>EditMedia: Video editing task;</li><li>SplitMedia: Video splitting task;</li><li>ComposeMedia: Media file creation task;</li><li>WechatPublish: WeChat publishing task;</li><li>WechatMiniProgramPublish: WeChat Mini Program Video Publishing Task;</li><li>PullUpload: Pull and upload media files task;</li><li>FastClipMedia: Quick trimming task;</li><li>RemoveWatermarkTask: Intelligent watermark removal task;</li><li>DescribeFileAttributesTask: File attribute retrieval task;</li><li>RebuildMedia: Audio and video quality regeneration task (not recommended);</li><li>ReviewAudioVideo: Audio/video moderation task;</li><li>ExtractTraceWatermark: Source watermark extraction task;</li><li>ExtractCopyRightWatermark: Copyright Watermark Extraction Task;</li><li>QualityInspect: Audio and video quality inspection task;</li><li>QualityEnhance: Audio and video quality regeneration task;</li><li>ComplexAdaptiveDynamicStreaming: Complex adaptive bitstream task;</li><li>ProcessMediaByMPS: MPS video processing task;</li><li>AigcImageTask: AIGC image generation task;</li><li>SceneAigcImageTask: Scenario-based AIGC image generation task;</li><li>AigcVideoTask: AIGC video generation task;</li><li>ImportMediaKnowledge: Import media knowledge task.</li><li>SceneAigcVideoTask: Scenario-based AIGC video generation task;</li><li>ExtractBlindWatermark: Digital watermark extraction task.</li><li>ExtractBlindWatermark: Digital watermark extraction task.</li><li>CreateAigcAdvancedCustomElement: Create custom subject task</li><li>CreateAigcCustomVoice: Create custom voice type task</li><li>CreateAigcSubject: Create subject task</li><li>AigcVideoRedrawTask: AIGC video redraw task</li><li>CreateAigcAudioClone: AIGC voice clone task</li><li>DescribeAigcFaceInfoAsync: Asynchronously fetch AIGC face information task</li></p>
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// <p>Task status. Value:</p><li>WAITING: Waiting;</li><li>PROCESSING: Processing;</li><li>FINISH: Completed;</li><li>ABORTED: Terminated.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Task creation time in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Task execution start time in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO datetime format</a>.</p>
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// <p>Task execution completion time in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO datetime format</a>.</p>
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`

	// <p>Video processing task information. This field has a value only when TaskType is Procedure.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcedureTask *ProcedureTask `json:"ProcedureTask,omitnil,omitempty" name:"ProcedureTask"`

	// <p>Video editing task information. This field has a value only when TaskType is EditMedia.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	EditMediaTask *EditMediaTask `json:"EditMediaTask,omitnil,omitempty" name:"EditMediaTask"`

	// <p>WeChat publishing task information. This field has a value only when TaskType is WechatPublish.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	WechatPublishTask *WechatPublishTask `json:"WechatPublishTask,omitnil,omitempty" name:"WechatPublishTask"`

	// <p>Media file production task information. This field has a value only when TaskType is ComposeMedia.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ComposeMediaTask *ComposeMediaTask `json:"ComposeMediaTask,omitnil,omitempty" name:"ComposeMediaTask"`

	// <p>Video splitting task information. This field has a value only when TaskType is SplitMedia.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	SplitMediaTask *SplitMediaTask `json:"SplitMediaTask,omitnil,omitempty" name:"SplitMediaTask"`

	// <p>WeChat Mini Program publishing task information. This field has a value only when TaskType is WechatMiniProgramPublish.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	WechatMiniProgramPublishTask *WechatMiniProgramPublishTask `json:"WechatMiniProgramPublishTask,omitnil,omitempty" name:"WechatMiniProgramPublishTask"`

	// <p>Pull and upload media files task information. This field has a value only when TaskType is PullUpload.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	PullUploadTask *PullUploadTask `json:"PullUploadTask,omitnil,omitempty" name:"PullUploadTask"`

	// <p>Video transcoding task information. This field has a value only when TaskType is Transcode.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	TranscodeTask *TranscodeTask2017 `json:"TranscodeTask,omitnil,omitempty" name:"TranscodeTask"`

	// <p>Video splicing task information. This field has a value only when TaskType is Concat.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ConcatTask *ConcatTask2017 `json:"ConcatTask,omitnil,omitempty" name:"ConcatTask"`

	// <p>Video editing task information. This field has a value only when TaskType is Clip.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClipTask *ClipTask2017 `json:"ClipTask,omitnil,omitempty" name:"ClipTask"`

	// <p>Capturing sprite image task information. This field has a value only when TaskType is ImageSprite.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateImageSpriteTask *CreateImageSpriteTask2017 `json:"CreateImageSpriteTask,omitnil,omitempty" name:"CreateImageSpriteTask"`

	// <p>Video screenshot at specified time task information. This field has a value only when TaskType is SnapshotByTimeOffset.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotByTimeOffsetTask *SnapshotByTimeOffsetTask2017 `json:"SnapshotByTimeOffsetTask,omitnil,omitempty" name:"SnapshotByTimeOffsetTask"`

	// <p>Intelligent watermark removal task information. This field has a value only when TaskType is RemoveWatermark.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	RemoveWatermarkTask *RemoveWatermarkTask `json:"RemoveWatermarkTask,omitnil,omitempty" name:"RemoveWatermarkTask"`

	// <p>Audio and video quality revival task information. This field has a value only when TaskType is RebuildMedia.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	RebuildMediaTask *RebuildMediaTask `json:"RebuildMediaTask,omitnil,omitempty" name:"RebuildMediaTask"`

	// <p>Information about the traceability watermark extraction task. This field has a value only when TaskType is ExtractTraceWatermark.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExtractTraceWatermarkTask *ExtractTraceWatermarkTask `json:"ExtractTraceWatermarkTask,omitnil,omitempty" name:"ExtractTraceWatermarkTask"`

	// <p>Information about the copyright watermark extraction task. This field has a value only when TaskType is ExtractCopyRightWatermark.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExtractCopyRightWatermarkTask *ExtractCopyRightWatermarkTask `json:"ExtractCopyRightWatermarkTask,omitnil,omitempty" name:"ExtractCopyRightWatermarkTask"`

	// <p>Audio/video moderation task info. This field has a value only when TaskType is ReviewAudioVideo.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReviewAudioVideoTask *ReviewAudioVideoTask `json:"ReviewAudioVideoTask,omitnil,omitempty" name:"ReviewAudioVideoTask"`

	// <p>This field is invalid.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReduceMediaBitrateTask *ReduceMediaBitrateTask `json:"ReduceMediaBitrateTask,omitnil,omitempty" name:"ReduceMediaBitrateTask"`

	// <p>File attribute acquisition task information. This field has a value only when TaskType is DescribeFileAttributes.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	DescribeFileAttributesTask *DescribeFileAttributesTask `json:"DescribeFileAttributesTask,omitnil,omitempty" name:"DescribeFileAttributesTask"`

	// <p>Audio and video quality detection task information. This field has a value only when TaskType is QualityInspect.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	QualityInspectTask *QualityInspectTask `json:"QualityInspectTask,omitnil,omitempty" name:"QualityInspectTask"`

	// <p>Audio and video quality revival task information. This field has a value only when TaskType is QualityEnhance.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	QualityEnhanceTask *QualityEnhanceTask `json:"QualityEnhanceTask,omitnil,omitempty" name:"QualityEnhanceTask"`

	// <p>Complex adaptive bitrate task information. This field has a value only when TaskType is ComplexAdaptiveDynamicStreaming.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ComplexAdaptiveDynamicStreamingTask *ComplexAdaptiveDynamicStreamingTask `json:"ComplexAdaptiveDynamicStreamingTask,omitnil,omitempty" name:"ComplexAdaptiveDynamicStreamingTask"`

	// <p>MPS video processing task information. This field has a value only when TaskType is ProcessMediaByMPS.</p>
	ProcessMediaByMPSTask *ProcessMediaByMPS `json:"ProcessMediaByMPSTask,omitnil,omitempty" name:"ProcessMediaByMPSTask"`

	// <p>AIGC image generation task info. This field has a value only when TaskType is AigcImageTask.</p>
	AigcImageTask *AigcImageTask `json:"AigcImageTask,omitnil,omitempty" name:"AigcImageTask"`

	// <p>AIGC video task information. This field has a value only when TaskType is AigcVideoTask.</p>
	AigcVideoTask *AigcVideoTask `json:"AigcVideoTask,omitnil,omitempty" name:"AigcVideoTask"`

	// <p>Media import knowledge base task info. This field has a value only when TaskType is ImportMediaKnowledge.</p>
	ImportMediaKnowledge *ImportMediaKnowledgeTask `json:"ImportMediaKnowledge,omitnil,omitempty" name:"ImportMediaKnowledge"`

	// <p>Scenario-based AIGC image generation task info. This field has a value only when TaskType is SceneAigcImageTask.</p>
	SceneAigcImageTask *SceneAigcImageTask `json:"SceneAigcImageTask,omitnil,omitempty" name:"SceneAigcImageTask"`

	// <p>Scenario-based AIGC video task info. This field has a value only when TaskType is SceneAigcVideoTask.</p>
	SceneAigcVideoTask *SceneAigcVideoTask `json:"SceneAigcVideoTask,omitnil,omitempty" name:"SceneAigcVideoTask"`

	// <p>Asynchronous image processing task information. This field has a value only when TaskType is ProcessImageAsync.</p>
	ProcessImageAsyncTask *ProcessImageAsync `json:"ProcessImageAsyncTask,omitnil,omitempty" name:"ProcessImageAsyncTask"`

	// <p>Extract digital watermark task info. This field has a value only when TaskType is ExtractBlindWatermark.</p>
	ExtractBlindWatermarkTask *ExtractBlindWatermarkTask `json:"ExtractBlindWatermarkTask,omitnil,omitempty" name:"ExtractBlindWatermarkTask"`

	// <p>Create custom entity information. This field has a value only when TaskType is CreateAigcAdvancedCustomElement.</p>
	CreateAigcAdvancedCustomElementTask *CreateAigcAdvancedCustomElementTask `json:"CreateAigcAdvancedCustomElementTask,omitnil,omitempty" name:"CreateAigcAdvancedCustomElementTask"`

	// <p>Create custom tone information. This field has a value only when TaskType is CreateAigcCustomVoice.</p>
	CreateAigcCustomVoiceTask *CreateAigcCustomVoiceTask `json:"CreateAigcCustomVoiceTask,omitnil,omitempty" name:"CreateAigcCustomVoiceTask"`

	// <p>Create entity information. This field has a value only when TaskType is CreateAigcSubject.</p>
	CreateAigcSubjectTask *CreateAigcSubjectTask `json:"CreateAigcSubjectTask,omitnil,omitempty" name:"CreateAigcSubjectTask"`

	// <p>AIGC video redraw info, valid only when TaskType is AigcVideoRedrawTask and this field has a value.</p>
	AigcVideoRedrawTask *AigcVideoRedrawTask `json:"AigcVideoRedrawTask,omitnil,omitempty" name:"AigcVideoRedrawTask"`

	// <p>AIGC sound effect information. This field has a value only when TaskType is AigcAudioTask.</p>
	AigcAudioTask *AigcAudioTask `json:"AigcAudioTask,omitnil,omitempty" name:"AigcAudioTask"`

	// <p>AIGC voice clone info. This field has a value only when TaskType is CreateAigcAudioClone.</p>
	CreateAigcAudioCloneTask *CreateAigcAudioCloneTask `json:"CreateAigcAudioCloneTask,omitnil,omitempty" name:"CreateAigcAudioCloneTask"`

	// <p>Asynchronously fetch AIGC face information. This field has a value only when TaskType is DescribeAigcFaceInfoAsync.</p>
	DescribeAigcFaceInfoAsyncTask *DescribeAigcFaceInfoAsyncTask `json:"DescribeAigcFaceInfoAsyncTask,omitnil,omitempty" name:"DescribeAigcFaceInfoAsyncTask"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTaskDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTaskDetailResponseParams `json:"Response"`
}

func (r *DescribeTaskDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTaskDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTasksRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition: Task status. Available values: WAITING (Waiting), PROCESSING (Processing), FINISH (Completed).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Filter criteria: file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Filter condition: Task creation time.
	CreateTime *TimeRange `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Filter condition: Task end time.
	FinishTime *TimeRange `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`

	// Sorting method. Selectable fields for Sort.Field:
	// <li> CreateTime Task creation time.</li>
	// <li>FinishTime Task end time.</li>
	Sort *SortBy `json:"Sort,omitnil,omitempty" name:"Sort"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination identifier, used for batch pulling: When a single request cannot retrieve all data, the interface will return ScrollToken. Carry over in next request, will start obtaining from the next record.
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`
}

type DescribeTasksRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition: Task status. Available values: WAITING (Waiting), PROCESSING (Processing), FINISH (Completed).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Filter criteria: file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Filter condition: Task creation time.
	CreateTime *TimeRange `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Filter condition: Task end time.
	FinishTime *TimeRange `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`

	// Sorting method. Selectable fields for Sort.Field:
	// <li> CreateTime Task creation time.</li>
	// <li>FinishTime Task end time.</li>
	Sort *SortBy `json:"Sort,omitnil,omitempty" name:"Sort"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination identifier, used for batch pulling: When a single request cannot retrieve all data, the interface will return ScrollToken. Carry over in next request, will start obtaining from the next record.
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`
}

func (r *DescribeTasksRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTasksRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Status")
	delete(f, "FileId")
	delete(f, "CreateTime")
	delete(f, "FinishTime")
	delete(f, "Sort")
	delete(f, "Limit")
	delete(f, "ScrollToken")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTasksRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTasksResponseParams struct {
	// Task summary list.
	TaskSet []*TaskSimpleInfo `json:"TaskSet,omitnil,omitempty" name:"TaskSet"`

	// Pagination identifier. When the request did not return all data, this field represents the next record ID. When this field is empty, it indicates that there is no more data.
	ScrollToken *string `json:"ScrollToken,omitnil,omitempty" name:"ScrollToken"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTasksResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTasksResponseParams `json:"Response"`
}

func (r *DescribeTasksResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTasksResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTranscodeTemplatesRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the transcoding template. The array can contain up to 100 unique identifiers.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Muxing format filter condition. Available values:
	// <li>Video: Video format that contains both video stream and audio stream in a muxing format.</li>
	// <li>PureAudio: Pure audio format, a muxing format that can only contain audio streams.</li>
	ContainerType *string `json:"ContainerType,omitnil,omitempty" name:"ContainerType"`

	// Top Speed Codec filter conditions for filtering standard transcoding or TSC transcoding templates. Available values:
	// <li>Common: standard transcoding template.</li>
	// <li>TEHD: Ultra-HD template.</li>
	TEHDType *string `json:"TEHDType,omitnil,omitempty" name:"TEHDType"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Enhancement type. Valid values:
	// <li>VideoEnhance: video enhancement only.</li>
	// <li>AudioEnhance (audio enhancement only).</li>
	// <li>AudioVideoEnhance: audio and video enhancement included.</li>
	// <li>AnyEnhance (including video enhancement only, audio enhancement only, audio and video enhancement)</li>
	// <li>None (non-enhanced)</li>
	EnhanceType *string `json:"EnhanceType,omitnil,omitempty" name:"EnhanceType"`

	// Enhance scenario configuration. Available values: <li>common (general): general enhancement parameter, suitable for basic optimization parameters of various video types to improve overall video quality.</li> <li>AIGC: overall resolution enhancement. It uses AI technology to improve the overall video resolution and image clarity.</li> <li>short_play (mini-drama): enhances face and subtitle details, highlights facial expression details and subtitle clarity to improve viewing experience.</li> <li>short_video (short video): optimizes complex and diverse image quality issues, targets complex scenarios in short videos, improves video quality, and addresses multiple visual problems.</li> <li>game (gaming video): restores motion blur, enhances details, focuses on improving game detail clarity, restores motion blur areas, and makes the game screen content clearer and more vivid.</li> <li>HD_movie_series (UHD TV shows and movies): achieves ultra-high-definition smooth effects, targets the demand for UHD videos in broadcasting and OTT scenarios, and generates UHD standard videos in 4K 60fps HDR. Supports broadcasting scenario format standards.</li> <li>LQ_material (low-quality material/classic film restoration): improves overall resolution, specifically optimizes issues in old videos such as insufficient resolution, blur distortion, scratch damage, and color temperature due to their age.</li> <li>lecture (showroom/e-commerce/conference/lecture): beautifies and enhances face effects, specifically optimizes face regions, noise reduction, and burr processing for scenarios where figures are explained in showrooms, e-commerce, conferences, or lectures.</li>
	EnhanceScenarioType *string `json:"EnhanceScenarioType,omitnil,omitempty" name:"EnhanceScenarioType"`
}

type DescribeTranscodeTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Filter condition for the unique identifier of the transcoding template. The array can contain up to 100 unique identifiers.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Condition for filtering templates by type. Valid values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Muxing format filter condition. Available values:
	// <li>Video: Video format that contains both video stream and audio stream in a muxing format.</li>
	// <li>PureAudio: Pure audio format, a muxing format that can only contain audio streams.</li>
	ContainerType *string `json:"ContainerType,omitnil,omitempty" name:"ContainerType"`

	// Top Speed Codec filter conditions for filtering standard transcoding or TSC transcoding templates. Available values:
	// <li>Common: standard transcoding template.</li>
	// <li>TEHD: Ultra-HD template.</li>
	TEHDType *string `json:"TEHDType,omitnil,omitempty" name:"TEHDType"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Enhancement type. Valid values:
	// <li>VideoEnhance: video enhancement only.</li>
	// <li>AudioEnhance (audio enhancement only).</li>
	// <li>AudioVideoEnhance: audio and video enhancement included.</li>
	// <li>AnyEnhance (including video enhancement only, audio enhancement only, audio and video enhancement)</li>
	// <li>None (non-enhanced)</li>
	EnhanceType *string `json:"EnhanceType,omitnil,omitempty" name:"EnhanceType"`

	// Enhance scenario configuration. Available values: <li>common (general): general enhancement parameter, suitable for basic optimization parameters of various video types to improve overall video quality.</li> <li>AIGC: overall resolution enhancement. It uses AI technology to improve the overall video resolution and image clarity.</li> <li>short_play (mini-drama): enhances face and subtitle details, highlights facial expression details and subtitle clarity to improve viewing experience.</li> <li>short_video (short video): optimizes complex and diverse image quality issues, targets complex scenarios in short videos, improves video quality, and addresses multiple visual problems.</li> <li>game (gaming video): restores motion blur, enhances details, focuses on improving game detail clarity, restores motion blur areas, and makes the game screen content clearer and more vivid.</li> <li>HD_movie_series (UHD TV shows and movies): achieves ultra-high-definition smooth effects, targets the demand for UHD videos in broadcasting and OTT scenarios, and generates UHD standard videos in 4K 60fps HDR. Supports broadcasting scenario format standards.</li> <li>LQ_material (low-quality material/classic film restoration): improves overall resolution, specifically optimizes issues in old videos such as insufficient resolution, blur distortion, scratch damage, and color temperature due to their age.</li> <li>lecture (showroom/e-commerce/conference/lecture): beautifies and enhances face effects, specifically optimizes face regions, noise reduction, and burr processing for scenarios where figures are explained in showrooms, e-commerce, conferences, or lectures.</li>
	EnhanceScenarioType *string `json:"EnhanceScenarioType,omitnil,omitempty" name:"EnhanceScenarioType"`
}

func (r *DescribeTranscodeTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTranscodeTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Definitions")
	delete(f, "Type")
	delete(f, "ContainerType")
	delete(f, "TEHDType")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "EnhanceType")
	delete(f, "EnhanceScenarioType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTranscodeTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTranscodeTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Transcoding template detail list.
	TranscodeTemplateSet []*TranscodeTemplate `json:"TranscodeTemplateSet,omitnil,omitempty" name:"TranscodeTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTranscodeTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTranscodeTemplatesResponseParams `json:"Response"`
}

func (r *DescribeTranscodeTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTranscodeTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVodDomainsRequestParams struct {
	// Domain name list. When this field is left empty, list all domain information by default. The limits are as follows:
	// <li>The maximum number of domains is 20.</li>
	Domains []*string `json:"Domains,omitnil,omitempty" name:"Domains"`

	// Maximum number of results returned for pagination pull. Default value: 20.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Starting offset for pagination pull. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type DescribeVodDomainsRequest struct {
	*tchttp.BaseRequest
	
	// Domain name list. When this field is left empty, list all domain information by default. The limits are as follows:
	// <li>The maximum number of domains is 20.</li>
	Domains []*string `json:"Domains,omitnil,omitempty" name:"Domains"`

	// Maximum number of results returned for pagination pull. Default value: 20.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Starting offset for pagination pull. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *DescribeVodDomainsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVodDomainsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domains")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVodDomainsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVodDomainsResponseParams struct {
	// Total number of domains.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of domain names.
	DomainSet []*DomainDetailInfo `json:"DomainSet,omitnil,omitempty" name:"DomainSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVodDomainsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVodDomainsResponseParams `json:"Response"`
}

func (r *DescribeVodDomainsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVodDomainsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWatermarkTemplatesRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark type filter. Valid values:
	// <li>image: image watermark.</li>
	// <li>Text: text watermark.</li>
	// <li>svg: SVG watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter condition for the watermark template unique identifier. The array length cannot exceed 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Number of returned entries
	// <li>Default value: 10.</li>
	// <li>Maximum value: 100.</li>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeWatermarkTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark type filter. Valid values:
	// <li>image: image watermark.</li>
	// <li>Text: text watermark.</li>
	// <li>svg: SVG watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter condition for the watermark template unique identifier. The array length cannot exceed 100.
	Definitions []*int64 `json:"Definitions,omitnil,omitempty" name:"Definitions"`

	// Number of returned entries
	// <li>Default value: 10.</li>
	// <li>Maximum value: 100.</li>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeWatermarkTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWatermarkTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Type")
	delete(f, "Offset")
	delete(f, "Definitions")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWatermarkTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWatermarkTemplatesResponseParams struct {
	// Total number of records that meet the filtering conditions.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Watermark template details list.
	WatermarkTemplateSet []*WatermarkTemplate `json:"WatermarkTemplateSet,omitnil,omitempty" name:"WatermarkTemplateSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWatermarkTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWatermarkTemplatesResponseParams `json:"Response"`
}

func (r *DescribeWatermarkTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWatermarkTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWordSamplesRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <b>Keyword application scenario filtering conditions, available values:</b>
	// 1. Recognition.Ocr: Perform content recognition using OCR.
	// 2. Recognition.Asr: Perform content recognition using audio recognition technology.
	// 3. Review.Ocr: Perform inappropriate content recognition using OCR.
	// 4. Review.Asr: Perform inappropriate content recognition through audio recognition technology.
	// <b>Can be abbreviated as:</b>
	// 5. Recognition: Perform content recognition using OCR and audio recognition technology, equivalent to 1+2.
	// 6. Review: Perform inappropriate content recognition using OCR and audio recognition technology, equivalent to 3+4.
	// Multiple selections allowed. The relationship between elements is OR, meaning records where the keyword's application scenario includes any element in the field collection meet the condition.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Keyword filtering conditions. The array can contain up to 100 keywords.
	Keywords []*string `json:"Keywords,omitnil,omitempty" name:"Keywords"`

	// Tag filtering condition. Array length limit: 20 words.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 100. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeWordSamplesRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <b>Keyword application scenario filtering conditions, available values:</b>
	// 1. Recognition.Ocr: Perform content recognition using OCR.
	// 2. Recognition.Asr: Perform content recognition using audio recognition technology.
	// 3. Review.Ocr: Perform inappropriate content recognition using OCR.
	// 4. Review.Asr: Perform inappropriate content recognition through audio recognition technology.
	// <b>Can be abbreviated as:</b>
	// 5. Recognition: Perform content recognition using OCR and audio recognition technology, equivalent to 1+2.
	// 6. Review: Perform inappropriate content recognition using OCR and audio recognition technology, equivalent to 3+4.
	// Multiple selections allowed. The relationship between elements is OR, meaning records where the keyword's application scenario includes any element in the field collection meet the condition.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Keyword filtering conditions. The array can contain up to 100 keywords.
	Keywords []*string `json:"Keywords,omitnil,omitempty" name:"Keywords"`

	// Tag filtering condition. Array length limit: 20 words.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Pagination offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returned entries. Default value: 100. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeWordSamplesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWordSamplesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Usages")
	delete(f, "Keywords")
	delete(f, "Tags")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWordSamplesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWordSamplesResponseParams struct {
	// Total number of qualified records.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Keyword information.
	WordSet []*AiSampleWord `json:"WordSet,omitnil,omitempty" name:"WordSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWordSamplesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWordSamplesResponseParams `json:"Response"`
}

func (r *DescribeWordSamplesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWordSamplesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DiffusionEnhanceInfo struct {
	// Large model enhancement switch. Available values:
	// <li>ON: enabled</li>
	// <li>OFF: disabled</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Intensity type. Valid only when the large model enhancement control switch is ON. Value range:
	// <li>weak: weak;</li>
	// <li>NORMAL: The scaling group is normal.</li>
	// <li>strong: strong.</li>
	// Default value: normal.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DomainDetailInfo struct {
	// <p>Domain name.</p>
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <p>Acceleration region information.</p>
	AccelerateAreaInfos []*AccelerateAreaInfo `json:"AccelerateAreaInfos,omitnil,omitempty" name:"AccelerateAreaInfos"`

	// <p>Deployment state. Valid values:</p><li>Online: Goes live.</li><li>Deploying: Deployment in progress.</li><li>Locked: Locked. When this state occurs, unable to perform deployment change on that domain name.</li>
	DeployStatus *string `json:"DeployStatus,omitnil,omitempty" name:"DeployStatus"`

	// <p>HTTPS configuration message.</p>
	HTTPSConfig *DomainHTTPSConfig `json:"HTTPSConfig,omitnil,omitempty" name:"HTTPSConfig"`

	// <p><a href="https://www.tencentcloud.com/document/product/266/14047?from_cn_redirect=1">Key hotlink protection</a> configuration message.</p>
	UrlSignatureAuthPolicy *UrlSignatureAuthPolicy `json:"UrlSignatureAuthPolicy,omitnil,omitempty" name:"UrlSignatureAuthPolicy"`

	// <p><a href="https://www.tencentcloud.com/document/product/266/14046?from_cn_redirect=1">Referer hotlink protection</a> configuration message.</p>
	RefererAuthPolicy *RefererAuthPolicy `json:"RefererAuthPolicy,omitnil,omitempty" name:"RefererAuthPolicy"`

	// <p>The time when the domain name is added to the Tencent Cloud VOD system.</p><li>Format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</li>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Domain name QUIC configuration message.</p>
	QUICConfig *DomainQUICConfig `json:"QUICConfig,omitnil,omitempty" name:"QUICConfig"`

	// <p>IP access restriction configuration message.</p>
	IPFilterPolicy *IPFilterPolicy `json:"IPFilterPolicy,omitnil,omitempty" name:"IPFilterPolicy"`

	// <p>Domain type. Valid values: <li>VOD: Domain name distributed by using the VOD product;</li> <li>EdgeOne: Domain name distributed by using the EdgeOne product.</li></p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DomainHTTPSConfig struct {
	// <p>Certificate expiration time.<li>Format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</li></p><p>Parameter format: YYYY-MM-DDThh:mm:ss+08:00</p>
	CertExpireTime *string `json:"CertExpireTime,omitnil,omitempty" name:"CertExpireTime"`

	// <p>Certificate ID in Tencent Cloud SSL product.</p>
	CloudCertId *string `json:"CloudCertId,omitnil,omitempty" name:"CloudCertId"`
}

type DomainQUICConfig struct {
	// The QUIC status. Valid values:
	// <li>`Enabled`</li>
	// <li>`Disabled`</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`
}

type DrmStreamingsInfo struct {
	// ID of the adaptive bitrate streaming template whose protection type is SimpleAES.
	SimpleAesDefinition *uint64 `json:"SimpleAesDefinition,omitnil,omitempty" name:"SimpleAesDefinition"`

	// The ID of the adaptive bitrate streaming template that encrypts the streams by Widewine.
	WidevineDefinition *uint64 `json:"WidevineDefinition,omitnil,omitempty" name:"WidevineDefinition"`

	// The ID of the adaptive bitrate streaming template that encrypts the streams by FairPlay.
	FairPlayDefinition *uint64 `json:"FairPlayDefinition,omitnil,omitempty" name:"FairPlayDefinition"`
}

type DrmStreamingsInfoForUpdate struct {
	// ID of the adaptive bitrate streaming template whose protection type is SimpleAES.
	SimpleAesDefinition *uint64 `json:"SimpleAesDefinition,omitnil,omitempty" name:"SimpleAesDefinition"`

	// The ID of the adaptive bitrate streaming template that encrypts the streams by Widewine.
	WidevineDefinition *uint64 `json:"WidevineDefinition,omitnil,omitempty" name:"WidevineDefinition"`

	// The ID of the adaptive bitrate streaming template that encrypts the streams by FairPlay.
	FairPlayDefinition *uint64 `json:"FairPlayDefinition,omitnil,omitempty" name:"FairPlayDefinition"`
}

type DynamicRangeInfo struct {
	// The dynamic range information. Valid values:
	// <li>`SDR`: Standard Dynamic Range</li>
	// <li>`HDR`: High Dynamic Range</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The HDR type. This parameter is valid only if `Type` is `HDR`. Valid values:
	// <li>`hdr10`</li>
	// <li>`hlg`</li>
	HDRType *string `json:"HDRType,omitnil,omitempty" name:"HDRType"`
}

type EditMediaFileInfo struct {
	// Video ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Offset time of the start of the video clip, unit: seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// Offset time at the end of the video clip, unit: seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

type EditMediaOutputConfig struct {
	// Output file name, up to 64 characters. By default, the generated file name is specified by the system.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Output file format, optional values: mp4, hls. The default is mp4.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Classification ID is used to classify media. You can create a classification through the Create Classification interface to obtain the classification ID. 
	// <li>Default value: 0, indicating other categories. </li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// The expiration time of the output file. The file will be deleted after this time. The default is permanent and not expired. The format is expressed in accordance with the ISO 8601 standard. For details, see [ISO Date Format Description](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// Output video information.
	VideoStream *EditMediaVideoStream `json:"VideoStream,omitnil,omitempty" name:"VideoStream"`

	// TSC Transcoding Config.
	TEHDConfig *EditMediaTEHDConfig `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`
}

// Predefined struct for user
type EditMediaRequestParams struct {
	// Type of input video. Optional values: File, Stream.
	InputType *string `json:"InputType,omitnil,omitempty" name:"InputType"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Input video file information. Required when InputType is File.
	FileInfos []*EditMediaFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// Input stream information. Required when InputType is Stream.
	StreamInfos []*EditMediaStreamInfo `json:"StreamInfos,omitnil,omitempty" name:"StreamInfos"`

	// Edit template ID. Valid values: 10, 20. Leave empty to use template 10.
	// <li>10: During splicing, use the input with the highest resolution as the base;</li>
	// <li>20: During splicing, use the input with the highest bitrate as the base.</li>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// [Task flow](https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81) name. Fill in if you need to execute task flow on the generated new video.
	ProcedureName *string `json:"ProcedureName,omitnil,omitempty" name:"ProcedureName"`

	// File configuration generated after editing.
	OutputConfig *EditMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// Identify source context. This is used to pass through user request information. The EditMediaComplete callback and task flow status change callback return the value of this field. The maximum length is 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Priority of the task. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Identifier for task deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type EditMediaRequest struct {
	*tchttp.BaseRequest
	
	// Type of input video. Optional values: File, Stream.
	InputType *string `json:"InputType,omitnil,omitempty" name:"InputType"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Input video file information. Required when InputType is File.
	FileInfos []*EditMediaFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// Input stream information. Required when InputType is Stream.
	StreamInfos []*EditMediaStreamInfo `json:"StreamInfos,omitnil,omitempty" name:"StreamInfos"`

	// Edit template ID. Valid values: 10, 20. Leave empty to use template 10.
	// <li>10: During splicing, use the input with the highest resolution as the base;</li>
	// <li>20: During splicing, use the input with the highest bitrate as the base.</li>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// [Task flow](https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81) name. Fill in if you need to execute task flow on the generated new video.
	ProcedureName *string `json:"ProcedureName,omitnil,omitempty" name:"ProcedureName"`

	// File configuration generated after editing.
	OutputConfig *EditMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// Identify source context. This is used to pass through user request information. The EditMediaComplete callback and task flow status change callback return the value of this field. The maximum length is 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Priority of the task. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Identifier for task deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *EditMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "InputType")
	delete(f, "SubAppId")
	delete(f, "FileInfos")
	delete(f, "StreamInfos")
	delete(f, "Definition")
	delete(f, "ProcedureName")
	delete(f, "OutputConfig")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "SessionId")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EditMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditMediaResponseParams struct {
	// Video editing task ID. The status of the edit task (task type is EditMedia) can be queried through this ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type EditMediaResponse struct {
	*tchttp.BaseResponse
	Response *EditMediaResponseParams `json:"Response"`
}

func (r *EditMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type EditMediaStreamInfo struct {
	// ID of recorded stream
	StreamId *string `json:"StreamId,omitnil,omitempty" name:"StreamId"`

	// Start time of stream clipping in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	// Note: this field may return null, indicating that no valid values can be obtained.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time of stream clipping in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	// Note: this field may return null, indicating that no valid values can be obtained.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type EditMediaTEHDConfig struct {
	// TSC Transcoding type, optional values: <li>TEHD-100 means TSC Transcoding-definition-100;</li> <li>OFF means turning off TSC Transcoding-definition. </li>Leave it blank to indicate OFF.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Maximum video bitrate. Valid when Type is specified as top speed Codec.
	// Leave it blank or enter 0 to let VOD automatically set the bitrate cap.
	MaxVideoBitrate *uint64 `json:"MaxVideoBitrate,omitnil,omitempty" name:"MaxVideoBitrate"`
}

type EditMediaTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task flow status. Valid values:
	// <li>PROCESSING: processing;</li>
	// <li>FINISH: completed.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. 0: success; other values: failure.
	// <li>40000: invalid input parameter. Please check it;</li>
	// <li>60000: invalid source file (e.g., video data is corrupted). Please check whether the source file is normal;</li>
	// <li>70000: internal service error. Please try again.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Progress of a video editing task. Value range: [0, 100]
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Video editing task input.
	Input *EditMediaTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of the video editing task.
	Output *EditMediaTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The metadata of the output video.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// The task ID for the task type `Procedure`. If a task flow (`ProcedureName`) is specified by [EditMedia](https://intl.cloud.tencent.com/document/api/266/34783?from_cn_redirect=1), and the task flow includes one or more of `MediaProcessTask`, `AiAnalysisTask`, and `AiRecognitionTask`, the task specified by this parameter will be executed.
	ProcedureTaskId *string `json:"ProcedureTaskId,omitnil,omitempty" name:"ProcedureTaskId"`

	// The task ID for the task type `ReviewAudioVideo`. If a task flow (`ProcedureName`) is specified by [EditMedia](https://intl.cloud.tencent.com/document/api/266/34783?from_cn_redirect=1), and the task flow includes `ReviewAudioVideoTask`, the task specified by this parameter will be executed.
	ReviewAudioVideoTaskId *string `json:"ReviewAudioVideoTaskId,omitnil,omitempty" name:"ReviewAudioVideoTaskId"`

	// The ID used for deduplication. If there was a request with the same ID in the last seven days, the current request will return an error. The ID can contain up to 50 characters. If this parameter is left empty or a blank string is entered, no deduplication will be performed.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The source context which is used to pass through the user request information. The task flow status change callback will return the value of this field. It can contain up to 1,000 characters.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type EditMediaTaskInput struct {
	// Input video source type. Valid values: File, Stream.
	InputType *string `json:"InputType,omitnil,omitempty" name:"InputType"`

	// Information of input video file. This field has a value only when `InputType` is `File`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileInfoSet []*EditMediaFileInfo `json:"FileInfoSet,omitnil,omitempty" name:"FileInfoSet"`

	// Input stream information. This field has a value only when `InputType` is `Stream`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	StreamInfoSet []*EditMediaStreamInfo `json:"StreamInfoSet,omitnil,omitempty" name:"StreamInfoSet"`
}

type EditMediaTaskOutput struct {
	// File type, such as mp4 and flv.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Media file playback address.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Media file ID.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Output filename of up to 64 characters, which is generated by the system by default.
	// Note: this field may return null, indicating that no valid values can be obtained.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Category ID, which is used to categorize the media for management. A category can be created and its ID can be obtained by using the [category creating](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) API.
	// <li>Default value: 0, which means "Other".</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiration time of output media file in ISO 8601 format, after which the file will be deleted. Files will never expire by default. For more information, please see [Notes on ISO Date Format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	// Note: this field may return null, indicating that no valid values can be obtained.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

type EditMediaVideoStream struct {
	// The encoding format of the video stream, optional values:
	// <li>libx264: H.264 encoding;</li>
	// <li>libx265: H.265 encoding;</li>
	// <li>av1: AOMedia Video 1 encoding;</li>
	// <li>H.266: H.266 encoding. </li>
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// Bitrate of video stream, value ranges from 0 to [128, 100000], measurement unit: kbps.
	// When the value is 0 or left blank, VOD automatically sets the bitrate.
	Bitrate *uint64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// Resolution adaptive, optional values:
	// <li>open: open, at this time, Width represents the long side of the video, and Height represents the short side of the video;</li>
	// <li>close: closed, at this time , Width represents the width of the video, and Height represents the height of the video. </li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Resolution adaptive, optional values:
	// <li>open: open, at this time, Width represents the long side of the video, and Height represents the short side of the video;</li>
	// <li>close: closed, at this time , Width represents the width of the video, and Height represents the height of the video. </li>
	// Default value: open.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of the video stream height (or short side), value range: 0 and [128, 4096], unit: px. 
	// <li>When Width and Height are both 0, the resolution is based on the base resolution;</li>
	// <li>When Width is 0 and Height is non-0, Width is scaled according to the base resolution;</li> li>
	// <li>When Width is non-0 and Height is 0, the Height is scaled according to the base resolution; </li>
	// <li>When both Width and Height are non-0, the resolution is specified by the user. </li>
	// Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Video frame rate, value range: [0, 100], unit: Hz. 
	// When the value is 0, the frame rate will be automatically set for the video. 
	// The default value is 0.
	Fps *int64 `json:"Fps,omitnil,omitempty" name:"Fps"`
}

type ElementReferInfo struct {
	// Image URLs of subjects from different perspectives.
	// Image format. Valid values: .jpg, .jpeg, and .png.
	// The image file size must not exceed 10MB, with image width and height not less than 300px and image aspect ratio between 1:2.5 and 2.5:1.
	ImageUrl *string `json:"ImageUrl,omitnil,omitempty" name:"ImageUrl"`
}

type EmptyTrackItem struct {
	// Duration in seconds.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`
}

type EnhanceConfig struct {
	// Video enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VideoEnhance *VideoEnhanceConfig `json:"VideoEnhance,omitnil,omitempty" name:"VideoEnhance"`

	// Audio enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	AudioEnhance *AudioEnhanceConfig `json:"AudioEnhance,omitnil,omitempty" name:"AudioEnhance"`
}

type EnhanceConfigForUpdate struct {
	// Video enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VideoEnhance *VideoEnhanceConfig `json:"VideoEnhance,omitnil,omitempty" name:"VideoEnhance"`

	// Audio enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	AudioEnhance *AudioEnhanceConfig `json:"AudioEnhance,omitnil,omitempty" name:"AudioEnhance"`
}

// Predefined struct for user
type EnhanceMediaByTemplateRequestParams struct {
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Audio and video quality rebirth template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Start offset time, in seconds. Not filled indicates cutting from the beginning of the video.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End Offset Time, in seconds. Not filled indicates cutting to the end of the video.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// File configuration after audio and video quality rebirth.
	OutputConfig *RebuildMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type EnhanceMediaByTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Audio and video quality rebirth template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Start offset time, in seconds. Not filled indicates cutting from the beginning of the video.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End Offset Time, in seconds. Not filled indicates cutting to the end of the video.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// File configuration after audio and video quality rebirth.
	OutputConfig *RebuildMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *EnhanceMediaByTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EnhanceMediaByTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "StartTimeOffset")
	delete(f, "EndTimeOffset")
	delete(f, "OutputConfig")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EnhanceMediaByTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EnhanceMediaByTemplateResponseParams struct {
	// Task ID for Audio and Video Quality Regeneration. The state of the audio and video quality regeneration task can be queried through this ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type EnhanceMediaByTemplateResponse struct {
	*tchttp.BaseResponse
	Response *EnhanceMediaByTemplateResponseParams `json:"Response"`
}

func (r *EnhanceMediaByTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EnhanceMediaByTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type EnhanceMediaQualityOutputConfig struct {
	// Output file name, up to 64 characters. The system will specify the file name by default
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Category ID, used for media classification management, can be obtained by [creating a category](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) interface, create a category, get the category ID.
	// <li>Default value: 0, which means other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// The expiration time of the output file, the file will be deleted after this time, the default is never to expire, the format is in accordance with the ISO 8601 standard, see [ISO date format description](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

// Predefined struct for user
type EnhanceMediaQualityRequestParams struct {
	// Remaster template ID, please contact Tencent Cloud for details
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Media file ID, that is, the globally unique identifier of the file on VOD, which is assigned by the VOD backend after successful upload. This field can be obtained from [video upload completion event notification](https://intl.cloud.tencent.com/document/product/266/7830?from_cn_redirect=1) or [vod console](https://console.cloud.tencent.com/vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Media storage path.
	// Only sub-applications in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate task through MediaStoragePath.
	// FileId and MediaStoragePath must provide one of.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>VOD [Subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. If you want to access resources in the Subapplication, enter the Subapplication ID in this field; otherwise, you do not need to fill in this field.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Configuration of media files after Remaster
	OutputConfig *EnhanceMediaQualityOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// The identification code used for deduplication. If there has been a request with the same identification code within three days, this request will return an error. Up to 50 characters, without or with an empty string means no deduplication
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used to pass through user request information, Remaster completion callback will return this field value, up to 1000 characters
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// The priority of the task, the higher the value, the higher the priority, the range is -10 to 10, not filled in means 0
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

type EnhanceMediaQualityRequest struct {
	*tchttp.BaseRequest
	
	// Remaster template ID, please contact Tencent Cloud for details
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Media file ID, that is, the globally unique identifier of the file on VOD, which is assigned by the VOD backend after successful upload. This field can be obtained from [video upload completion event notification](https://intl.cloud.tencent.com/document/product/266/7830?from_cn_redirect=1) or [vod console](https://console.cloud.tencent.com/vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Media storage path.
	// Only sub-applications in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate task through MediaStoragePath.
	// FileId and MediaStoragePath must provide one of.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>VOD [Subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. If you want to access resources in the Subapplication, enter the Subapplication ID in this field; otherwise, you do not need to fill in this field.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Configuration of media files after Remaster
	OutputConfig *EnhanceMediaQualityOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// The identification code used for deduplication. If there has been a request with the same identification code within three days, this request will return an error. Up to 50 characters, without or with an empty string means no deduplication
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used to pass through user request information, Remaster completion callback will return this field value, up to 1000 characters
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// The priority of the task, the higher the value, the higher the priority, the range is -10 to 10, not filled in means 0
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

func (r *EnhanceMediaQualityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EnhanceMediaQualityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "FileId")
	delete(f, "MediaStoragePath")
	delete(f, "SubAppId")
	delete(f, "OutputConfig")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EnhanceMediaQualityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EnhanceMediaQualityResponseParams struct {
	// Remaster task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type EnhanceMediaQualityResponse struct {
	*tchttp.BaseResponse
	Response *EnhanceMediaQualityResponseParams `json:"Response"`
}

func (r *EnhanceMediaQualityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EnhanceMediaQualityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type EventContent struct {
	// <p>Event handler. The caller must call ConfirmEvents to acknowledge the message has been received. Confirmed Valid Time is 30 seconds. After expiration, the event can be retrieved again.</p>
	EventHandle *string `json:"EventHandle,omitnil,omitempty" name:"EventHandle"`

	// <p><b>Supported event types:</b></p><li>NewFileUpload: Video upload complete;</li><li>ProcedureStateChanged: Task flow status change;</li><li>FileDeleted: Video deletion completed;</li><li>RestoreMediaComplete: Video retrieval completion;</li><li>PullComplete: Video conversion completed;</li><li>EditMediaComplete: Video editing completed;</li><li>SplitMediaComplete: Video splitting completed;</li><li>ComposeMediaComplete: Media file creation completion;</li><li>WechatMiniProgramPublishComplete: WeChat Mini Program Publishing Completed.</li><li>RemoveWatermark: Intelligent watermark removal completion.</li><li>RebuildMediaComplete: Audio and video quality rebirth completion event (not recommended).</li><li>ReviewAudioVideoComplete: Audio/video moderation completed;</li><li>ExtractTraceWatermarkComplete: Traceability watermark extraction completed;</li><li>ExtractCopyRightWatermarkComplete: Extracting copyright watermark completion;</li><li>DescribeFileAttributesComplete: File attribute acquisition completion;</li><li>QualityInspectComplete: Audio and video quality inspection completed;</li><li>QualityEnhanceComplete: Audio and video quality rebirth task completion;</li><li>PersistenceComplete: Edit persistence completed;</li><li>ComplexAdaptiveDynamicStreamingComplete: Complex adaptive bitstream task completion.</li><li>ProcessMediaByMPSComplete: MPS video processing completed.</li><li>AigcImageTaskComplete: AIGC image generation task completed.</li><li>AigcVideoTaskComplete: AIGC video generation task completed.</li><li>DescribeAigcFaceInfoAsyncComplete: Asynchronously fetch AIGC human face information task completed.</li><b>Event types compatible with the 2017 version:</b><li>TranscodeComplete: Video transcoding completion;</li><li>ConcatComplete: Video splicing completion;</li><li>ClipComplete: Video editing completed;</li><li>CreateImageSpriteComplete: Video thumbnail capture completion;</li><li>CreateSnapshotByTimeOffsetComplete: Video screenshot by time point.</li>
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// <p>Video upload completion event. Valid when the event type is NewFileUpload.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileUploadEvent *FileUploadTask `json:"FileUploadEvent,omitnil,omitempty" name:"FileUploadEvent"`

	// <p>Task flow status change event. Valid when the event type is ProcedureStateChanged.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcedureStateChangeEvent *ProcedureTask `json:"ProcedureStateChangeEvent,omitnil,omitempty" name:"ProcedureStateChangeEvent"`

	// <p>File deletion event. Valid when the event type is FileDeleted.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileDeleteEvent *FileDeleteTask `json:"FileDeleteEvent,omitnil,omitempty" name:"FileDeleteEvent"`

	// <p>Video pull completion event. Valid when the event type is PullComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	PullCompleteEvent *PullUploadTask `json:"PullCompleteEvent,omitnil,omitempty" name:"PullCompleteEvent"`

	// <p>Video editing completion event. Valid when the event type is EditMediaComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	EditMediaCompleteEvent *EditMediaTask `json:"EditMediaCompleteEvent,omitnil,omitempty" name:"EditMediaCompleteEvent"`

	// <p>Video splitting completion event. Valid when the event type is SplitMediaComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	SplitMediaCompleteEvent *SplitMediaTask `json:"SplitMediaCompleteEvent,omitnil,omitempty" name:"SplitMediaCompleteEvent"`

	// <p>Media file creation task completion event. Valid when the event type is ComposeMediaComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ComposeMediaCompleteEvent *ComposeMediaTask `json:"ComposeMediaCompleteEvent,omitnil,omitempty" name:"ComposeMediaCompleteEvent"`

	// <p>Video editing completion event. Valid when the event type is ClipComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClipCompleteEvent *ClipTask2017 `json:"ClipCompleteEvent,omitnil,omitempty" name:"ClipCompleteEvent"`

	// <p>Video transcoding completion event. Valid when the event type is TranscodeComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	TranscodeCompleteEvent *TranscodeTask2017 `json:"TranscodeCompleteEvent,omitnil,omitempty" name:"TranscodeCompleteEvent"`

	// <p>Video thumbnail capture completion event. Valid when the event type is CreateImageSpriteComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateImageSpriteCompleteEvent *CreateImageSpriteTask2017 `json:"CreateImageSpriteCompleteEvent,omitnil,omitempty" name:"CreateImageSpriteCompleteEvent"`

	// <p>Video splicing completion event. Valid when the event type is ConcatComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ConcatCompleteEvent *ConcatTask2017 `json:"ConcatCompleteEvent,omitnil,omitempty" name:"ConcatCompleteEvent"`

	// <p>Video screenshot by time point completion event. Valid when the event type is CreateSnapshotByTimeOffsetComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotByTimeOffsetCompleteEvent *SnapshotByTimeOffsetTask2017 `json:"SnapshotByTimeOffsetCompleteEvent,omitnil,omitempty" name:"SnapshotByTimeOffsetCompleteEvent"`

	// <p>WeChat Publishing Completion Event. Valid when the event type is WechatPublishComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	WechatPublishCompleteEvent *WechatPublishTask `json:"WechatPublishCompleteEvent,omitnil,omitempty" name:"WechatPublishCompleteEvent"`

	// <p>WeChat Mini Program Publishing Task Completion Event. Valid when the event type is WechatMiniProgramPublishComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	WechatMiniProgramPublishCompleteEvent *WechatMiniProgramPublishTask `json:"WechatMiniProgramPublishCompleteEvent,omitnil,omitempty" name:"WechatMiniProgramPublishCompleteEvent"`

	// <p>Intelligent Watermark Removal Completion Event. Valid when the event type is RemoveWatermark.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	RemoveWatermarkCompleteEvent *RemoveWatermarkTask `json:"RemoveWatermarkCompleteEvent,omitnil,omitempty" name:"RemoveWatermarkCompleteEvent"`

	// <p>Video retrieval completion event. Valid when the event type is RestoreMediaComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	RestoreMediaCompleteEvent *RestoreMediaTask `json:"RestoreMediaCompleteEvent,omitnil,omitempty" name:"RestoreMediaCompleteEvent"`

	// <p>Audio and video quality rebirth completion event. Valid when the event type is RebuildMediaComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	RebuildMediaCompleteEvent *RebuildMediaTask `json:"RebuildMediaCompleteEvent,omitnil,omitempty" name:"RebuildMediaCompleteEvent"`

	// <p>Traceability watermark extraction completion event. Valid when the event type is ExtractTraceWatermarkComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExtractTraceWatermarkCompleteEvent *ExtractTraceWatermarkTask `json:"ExtractTraceWatermarkCompleteEvent,omitnil,omitempty" name:"ExtractTraceWatermarkCompleteEvent"`

	// <p>Copyright watermark extraction completion event. Valid when the event type is ExtractCopyRightWatermarkComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExtractCopyRightWatermarkCompleteEvent *ExtractCopyRightWatermarkTask `json:"ExtractCopyRightWatermarkCompleteEvent,omitnil,omitempty" name:"ExtractCopyRightWatermarkCompleteEvent"`

	// <p>Audio/video moderation completed event. Valid when the event type is ReviewAudioVideoComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReviewAudioVideoCompleteEvent *ReviewAudioVideoTask `json:"ReviewAudioVideoCompleteEvent,omitnil,omitempty" name:"ReviewAudioVideoCompleteEvent"`

	// <p>This field is invalid.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReduceMediaBitrateCompleteEvent *ReduceMediaBitrateTask `json:"ReduceMediaBitrateCompleteEvent,omitnil,omitempty" name:"ReduceMediaBitrateCompleteEvent"`

	// <p>File attribute acquisition completion event. Valid when the event type is DescribeFileAttributesComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	DescribeFileAttributesCompleteEvent *DescribeFileAttributesTask `json:"DescribeFileAttributesCompleteEvent,omitnil,omitempty" name:"DescribeFileAttributesCompleteEvent"`

	// <p>Audio and video quality detection completion event. Valid when the event type is QualityInspectComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	QualityInspectCompleteEvent *QualityInspectTask `json:"QualityInspectCompleteEvent,omitnil,omitempty" name:"QualityInspectCompleteEvent"`

	// <p>Audio and video quality rebirth completion event. Valid when the event type is QualityEnhanceComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	QualityEnhanceCompleteEvent *QualityEnhanceTask `json:"QualityEnhanceCompleteEvent,omitnil,omitempty" name:"QualityEnhanceCompleteEvent"`

	// <p>Media forwarding status change event. Valid when the event type is MediaCastStatusChanged.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	MediaCastStatusChangedEvent *MediaCastEvent `json:"MediaCastStatusChangedEvent,omitnil,omitempty" name:"MediaCastStatusChangedEvent"`

	// <p>Editing solidification completion event. Valid when the event type is PersistenceComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	PersistenceCompleteEvent *PersistenceCompleteTask `json:"PersistenceCompleteEvent,omitnil,omitempty" name:"PersistenceCompleteEvent"`

	// <p>Adaptive bitrate task information. Valid only when EventType is ComplexAdaptiveDynamicStreamingComplete.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ComplexAdaptiveDynamicStreamingCompleteEvent *ComplexAdaptiveDynamicStreamingTask `json:"ComplexAdaptiveDynamicStreamingCompleteEvent,omitnil,omitempty" name:"ComplexAdaptiveDynamicStreamingCompleteEvent"`

	// <p>MPS video processing task information. Valid only when EventType is ProcessMediaByMPSComplete.</p>
	ProcessMediaByMPSCompleteEvent *ProcessMediaByMPS `json:"ProcessMediaByMPSCompleteEvent,omitnil,omitempty" name:"ProcessMediaByMPSCompleteEvent"`

	// <p>AIGC image generation task info, valid only when EventType is AigcImageTaskComplete.</p>
	AigcImageCompleteEvent *AigcImageTask `json:"AigcImageCompleteEvent,omitnil,omitempty" name:"AigcImageCompleteEvent"`

	// <p>AIGC video task info, valid only when EventType is AigcVideoTaskComplete.</p>
	AigcVideoCompleteEvent *AigcVideoTask `json:"AigcVideoCompleteEvent,omitnil,omitempty" name:"AigcVideoCompleteEvent"`

	// <p>Extract digital watermark info, valid only when EventType is ExtractBlindWatermarkComplete.</p>
	ExtractBlindWatermarkComplete *ExtractBlindWatermarkTask `json:"ExtractBlindWatermarkComplete,omitnil,omitempty" name:"ExtractBlindWatermarkComplete"`

	// <p>Scenario-based AIGC image generation task info. Valid only when EventType is SceneAigcImageCompleteEvent.</p>
	SceneAigcImageCompleteEvent *SceneAigcImageTask `json:"SceneAigcImageCompleteEvent,omitnil,omitempty" name:"SceneAigcImageCompleteEvent"`

	// <p>Image asynchronous task processing information. Valid only when EventType is ProcessImageAsyncCompleteEvent.</p>
	ProcessImageAsyncCompleteEvent *ProcessImageAsyncTask `json:"ProcessImageAsyncCompleteEvent,omitnil,omitempty" name:"ProcessImageAsyncCompleteEvent"`

	// <p>AIGC custom entity information, valid only when EventType is CreateAigcAdvancedCustomElementCompleteEvent and this field has a value.</p>
	CreateAigcAdvancedCustomElementCompleteEvent *CreateAigcAdvancedCustomElementTask `json:"CreateAigcAdvancedCustomElementCompleteEvent,omitnil,omitempty" name:"CreateAigcAdvancedCustomElementCompleteEvent"`

	// <p>AIGC custom tone information. This field has a value only when EventType is CreateAigcCustomVoiceCompleteEvent.</p>
	CreateAigcCustomVoiceCompleteEvent *CreateAigcCustomVoiceTask `json:"CreateAigcCustomVoiceCompleteEvent,omitnil,omitempty" name:"CreateAigcCustomVoiceCompleteEvent"`

	// <p>Asynchronously fetch AIGC face information. This field has a value only when EventType is DescribeAigcFaceInfoAsyncComplete.</p>
	DescribeAigcFaceInfoAsyncCompleteEvent *DescribeAigcFaceInfoAsyncTask `json:"DescribeAigcFaceInfoAsyncCompleteEvent,omitnil,omitempty" name:"DescribeAigcFaceInfoAsyncCompleteEvent"`
}

// Predefined struct for user
type ExecuteFunctionRequestParams struct {
	// Backend interface name invoked.
	FunctionName *string `json:"FunctionName,omitnil,omitempty" name:"FunctionName"`

	// API parameter. Coordinate with the backend for specific parameter format during invocation.
	FunctionArg *string `json:"FunctionArg,omitnil,omitempty" name:"FunctionArg"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past seven days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using a null string indicates no deduplication is required.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type ExecuteFunctionRequest struct {
	*tchttp.BaseRequest
	
	// Backend interface name invoked.
	FunctionName *string `json:"FunctionName,omitnil,omitempty" name:"FunctionName"`

	// API parameter. Coordinate with the backend for specific parameter format during invocation.
	FunctionArg *string `json:"FunctionArg,omitnil,omitempty" name:"FunctionArg"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past seven days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using a null string indicates no deduplication is required.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *ExecuteFunctionRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExecuteFunctionRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FunctionName")
	delete(f, "FunctionArg")
	delete(f, "SubAppId")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExecuteFunctionRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExecuteFunctionResponseParams struct {
	// The string after packaging the processing result, specifically coordinated with the backend altogether.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExecuteFunctionResponse struct {
	*tchttp.BaseResponse
	Response *ExecuteFunctionResponseParams `json:"Response"`
}

func (r *ExecuteFunctionResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExecuteFunctionResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ExtractBlindWatermarkInputInfo struct {
	// Extract digital watermark input type, value range: <li>FILEID: File media asset ID;</li><li>URL: File URL;</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Media file ID to extract
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Video file url to extract
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

// Predefined struct for user
type ExtractBlindWatermarkRequestParams struct {
	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-trace: trace the source ab sequence watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// File input information for the Media Processing Service (MPS) task.
	InputInfo *ExtractBlindWatermarkInputInfo `json:"InputInfo,omitnil,omitempty" name:"InputInfo"`

	// VOD application ID for watermarking. Note that the SubAppId must be in line with the one used during watermarking to extract the watermark, whether importing FILEID or URL.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Configuration of the digital watermark extraction task.
	ExtractBlindWatermarkConfig *ExtractBlindWatermarkTaskConfig `json:"ExtractBlindWatermarkConfig,omitnil,omitempty" name:"ExtractBlindWatermarkConfig"`

	// Identify source context, used for passing through user request information. The value of this field will be returned in the ExtractBlindWatermarkComplete callback and task flow status change callback, with a maximum length of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identification code for task deduplication. If there has been a request with the same identification code within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

type ExtractBlindWatermarkRequest struct {
	*tchttp.BaseRequest
	
	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-trace: trace the source ab sequence watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// File input information for the Media Processing Service (MPS) task.
	InputInfo *ExtractBlindWatermarkInputInfo `json:"InputInfo,omitnil,omitempty" name:"InputInfo"`

	// VOD application ID for watermarking. Note that the SubAppId must be in line with the one used during watermarking to extract the watermark, whether importing FILEID or URL.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Configuration of the digital watermark extraction task.
	ExtractBlindWatermarkConfig *ExtractBlindWatermarkTaskConfig `json:"ExtractBlindWatermarkConfig,omitnil,omitempty" name:"ExtractBlindWatermarkConfig"`

	// Identify source context, used for passing through user request information. The value of this field will be returned in the ExtractBlindWatermarkComplete callback and task flow status change callback, with a maximum length of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identification code for task deduplication. If there has been a request with the same identification code within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

func (r *ExtractBlindWatermarkRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExtractBlindWatermarkRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Type")
	delete(f, "InputInfo")
	delete(f, "SubAppId")
	delete(f, "ExtractBlindWatermarkConfig")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "TasksPriority")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExtractBlindWatermarkRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExtractBlindWatermarkResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExtractBlindWatermarkResponse struct {
	*tchttp.BaseResponse
	Response *ExtractBlindWatermarkResponseParams `json:"Response"`
}

func (r *ExtractBlindWatermarkResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExtractBlindWatermarkResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ExtractBlindWatermarkTask struct {
	// Media processing task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task flow status. Valid values:
	// <li>WAITING: waiting.</li>
	// <li>PROCESSING: Processing;</li>
	// <li>FINISH: completed</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. 0 indicates success, other values indicate failure.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Extract digital watermark file input.
	InputInfo *ExtractBlindWatermarkInputInfo `json:"InputInfo,omitnil,omitempty" name:"InputInfo"`

	// Digital watermark type. Valid values: <li>blind-basic: basic copyright digital watermark;</li> <li>blind-ab: ab copyright digital watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Tag whether watermark is detected. If this parameter is true, the Result field will return the extraction Result. If this parameter is false, the Result field will not be returned.
	IsDetected *bool `json:"IsDetected,omitnil,omitempty" name:"IsDetected"`

	// The extracted watermark content. This field will not be returned if no detection.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

	// Player's ID fetched from the traceable watermark, represented in hexadecimal, 6 digits in total.
	ResultUV *string `json:"ResultUV,omitnil,omitempty" name:"ResultUV"`

	// Extract digital watermark configuration.
	ExtractBlindWatermarkConfig *ExtractBlindWatermarkTaskConfig `json:"ExtractBlindWatermarkConfig,omitnil,omitempty" name:"ExtractBlindWatermarkConfig"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`
}

type ExtractBlindWatermarkTaskConfig struct {
	// Valid when the watermark type is blind-abseq, used to specify the segment duration of the input video. Unit: ms.
	// If left blank, the segment duration is 5 seconds by default.
	SegmentDuration *int64 `json:"SegmentDuration,omitnil,omitempty" name:"SegmentDuration"`
}

// Predefined struct for user
type ExtractCopyRightWatermarkRequestParams struct {
	// URL of media requiring watermark extraction.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Identify source context, used to pass through user request information. The ExtractCopyRightWatermarkComplete callback and task flow status change callback will return the value of this field, with a maximum of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for task deduplication. If there has been a request with the same identification code within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type ExtractCopyRightWatermarkRequest struct {
	*tchttp.BaseRequest
	
	// URL of media requiring watermark extraction.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Identify source context, used to pass through user request information. The ExtractCopyRightWatermarkComplete callback and task flow status change callback will return the value of this field, with a maximum of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for task deduplication. If there has been a request with the same identification code within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *ExtractCopyRightWatermarkRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExtractCopyRightWatermarkRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Url")
	delete(f, "SubAppId")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExtractCopyRightWatermarkRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExtractCopyRightWatermarkResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExtractCopyRightWatermarkResponse struct {
	*tchttp.BaseResponse
	Response *ExtractCopyRightWatermarkResponseParams `json:"Response"`
}

func (r *ExtractCopyRightWatermarkResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExtractCopyRightWatermarkResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ExtractCopyRightWatermarkTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status, values:
	// <li>PROCESSING: Processing;</li>
	// <li>FINISH: Completed. </li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code, 0 means success, other values u200bu200bmean failure:
	// <li>40000: The input parameters are illegal, please check the input parameters;</li>
	// <li>60000: Source file error (such as video data damage), Please confirm whether the source file is normal;</li>
	// <li>70000: Internal service error, it is recommended to try again. </li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Error code. An empty string indicates success. Other values u200bu200bindicate failure. For values, please refer to [Video Processing Error Code](https://www.tencentcloud.com/document/product/266/39145) list.
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Input of the copyright watermark extraction task.
	Input *ExtractCopyRightWatermarkTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output message of the Copyright Watermark Extraction Task.
	Output *ExtractCopyRightWatermarkTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Identification code used for deduplication. If there is a request for the same identification code within seven days, this request will return an error. The maximum length is 50 characters, without or with an empty string to indicate no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used to transparently transmit user request information. The task flow status change callback will return the value of this field, which can be up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type ExtractCopyRightWatermarkTaskInput struct {
	// The media URL from which the watermark needs to be extracted.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type ExtractCopyRightWatermarkTaskOutput struct {
	// Copyright information
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`
}

// Predefined struct for user
type ExtractTraceWatermarkRequestParams struct {
	// URL of media requiring watermark extraction.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Media file ID. Original media file ID of the Url.
	// <li><font color=red>Note</font>: This field is required.</li>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Identify source context, used to pass through user request information. The ExtractTraceWatermarkComplete callback and task flow status change callback will return the value of this field, with a maximum of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for task deduplication. If there has been a request with the same identification code within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type ExtractTraceWatermarkRequest struct {
	*tchttp.BaseRequest
	
	// URL of media requiring watermark extraction.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Media file ID. Original media file ID of the Url.
	// <li><font color=red>Note</font>: This field is required.</li>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Identify source context, used to pass through user request information. The ExtractTraceWatermarkComplete callback and task flow status change callback will return the value of this field, with a maximum of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for task deduplication. If there has been a request with the same identification code within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *ExtractTraceWatermarkRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExtractTraceWatermarkRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Url")
	delete(f, "FileId")
	delete(f, "SubAppId")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExtractTraceWatermarkRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExtractTraceWatermarkResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExtractTraceWatermarkResponse struct {
	*tchttp.BaseResponse
	Response *ExtractTraceWatermarkResponseParams `json:"Response"`
}

func (r *ExtractTraceWatermarkResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExtractTraceWatermarkResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ExtractTraceWatermarkTask struct {
	// The task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The task status. Valid values:
	// <li>PROCESSING</li>
	// <li>FINISH</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The error code. `0` indicates the task is successful. Other values indicate that the task failed.
	// <li>40000: Invalid input parameter.</li>
	// <li>60000: Source file error (e.g., video data is corrupted).</li>
	// <li>70000: Internal server error. Please try again.</li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// The error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The error code. An empty string indicates the task is successful; other values indicate that the task failed. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// The information of a digital watermark extraction task.
	Input *ExtractTraceWatermarkTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// The output of a digital watermark extraction task.
	Output *ExtractTraceWatermarkTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The session ID, which is used for de-duplication. If there was a request with the same session ID in the last seven days, an error will be returned for the current request. The session ID can contain up to 50 characters. If you do not pass this parameter or pass in an empty string, duplicate sessions will not be identified.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The source context, which is used to pass through user request information. The `ProcedureStateChanged` callback will return the value of this parameter. It can contain up to 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type ExtractTraceWatermarkTaskInput struct {
	// The URL of the media on which digital watermark extraction is to be performed.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Media file ID. The original media file ID corresponding to the URL.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`
}

type ExtractTraceWatermarkTaskOutput struct {
	// Player's ID, represented in hexadecimal, 6 digits in total.
	Uv *string `json:"Uv,omitnil,omitempty" name:"Uv"`

	// This parameter has been deprecated.
	//
	// Deprecated: Uid is deprecated.
	Uid *string `json:"Uid,omitnil,omitempty" name:"Uid"`
}

type FaceConfigureInfo struct {
	// Switch of face recognition task. Valid values:
	// <li>ON: enables intelligent face recognition task;</li>
	// <li>OFF: disables intelligent face recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Face recognition filter score. If this score is reached or exceeded, a recognition result will be returned. Value range: 0–100. Default value: 95.
	Score *float64 `json:"Score,omitnil,omitempty" name:"Score"`

	// Default face filter labels, which specify the types of faces to return. If this parameter is left empty, the recognition results for all labels are returned. Valid values:
	// <li>`entertainment`: people in the entertainment industry</li>
	// <li>`sport`: sports celebrities</li>
	// <li>`politician`: politically sensitive people</li>
	DefaultLibraryLabelSet []*string `json:"DefaultLibraryLabelSet,omitnil,omitempty" name:"DefaultLibraryLabelSet"`

	// Custom face labels for filtering. After you specify a label, callbacks of face images without this label will be returned. If this parameter is not specified or left empty, callbacks of all face images will be returned.
	// You can specify up to 100 labels, with each containing up to 16 characters.
	UserDefineLibraryLabelSet []*string `json:"UserDefineLibraryLabelSet,omitnil,omitempty" name:"UserDefineLibraryLabelSet"`

	// Figure library. Valid values:
	// <li>Default: default figure library;</li>
	// <li>UserDefine: custom figure library.</li>
	// <li>All: both default and custom figure libraries will be used.</li>
	// Default value: All (both default and custom figure libraries will be used.)
	FaceLibrary *string `json:"FaceLibrary,omitnil,omitempty" name:"FaceLibrary"`
}

type FaceConfigureInfoForUpdate struct {
	// Switch of face recognition task. Valid values:
	// <li>ON: enables intelligent face recognition task;</li>
	// <li>OFF: disables intelligent face recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Face recognition filter score. If this score is reached or exceeded, a recognition result will be returned. Value range: 0–100.
	Score *float64 `json:"Score,omitnil,omitempty" name:"Score"`

	// Default face filter labels, which specify the types of faces to return. If this parameter is left empty or an empty value is entered, the recognition results for all labels are returned. Valid values:
	// <li>`entertainment`: people in the entertainment industry</li>
	// <li>`sport`: sports celebrities</li>
	// <li>`politician`: politically sensitive people</li>
	DefaultLibraryLabelSet []*string `json:"DefaultLibraryLabelSet,omitnil,omitempty" name:"DefaultLibraryLabelSet"`

	// Custom face labels for filtering. After you specify a label, callbacks of face images without this label will be returned. If this parameter is not specified or left empty, callbacks of all face images will be returned.
	// You can specify up to 100 labels, with each containing up to 16 characters.
	UserDefineLibraryLabelSet []*string `json:"UserDefineLibraryLabelSet,omitnil,omitempty" name:"UserDefineLibraryLabelSet"`

	// Figure library. Valid values:
	// <li>Default: default figure library;</li>
	// <li>UserDefine: custom figure library.</li>
	// <li>All: both default and custom figure libraries will be used.</li>
	FaceLibrary *string `json:"FaceLibrary,omitnil,omitempty" name:"FaceLibrary"`
}

type FaceEnhanceInfo struct {
	// Whether to enable face enhancement. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The face enhancement strength. This parameter is valid only if `Switch` is `ON`. Value range: 0.0 – 1.0.
	// Default value: `0.0`.
	Intensity *float64 `json:"Intensity,omitnil,omitempty" name:"Intensity"`
}

type FaceRecognitionInfo struct {
	// <p>Face recognition task list</p>
	FaceRecognitionTasks []*FaceRecognitionTask `json:"FaceRecognitionTasks,omitnil,omitempty" name:"FaceRecognitionTasks"`
}

type FaceRecognitionOutputFileInfo struct {
	// <p>Face recognition output file type</p><p>Enumeration value:</p><ul><li>Output: Result output of task generation. The file corresponds to the result in the face recognition task return and is generated in JSON format.</li></ul>
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// <p>File URL of face recognition output</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type FaceRecognitionTask struct {
	// <p>Face identification template No.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Output file information</p>
	OutputFile []*FaceRecognitionOutputFileInfo `json:"OutputFile,omitnil,omitempty" name:"OutputFile"`
}

type FastEditMediaFileInfo struct {
	// Media ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Audio and video type for operation. Valid values:
	// <li>Transcode: transcoding output;</li>
	// <li>Original: original audio/video.</li>
	// Note: The audio and video to operate must be in HLS format.
	AudioVideoType *string `json:"AudioVideoType,omitnil,omitempty" name:"AudioVideoType"`

	// Valid when AudioVideoType is Transcode. Represents the transcoding template ID for media operation.
	TranscodeDefinition *int64 `json:"TranscodeDefinition,omitnil,omitempty" name:"TranscodeDefinition"`

	// Start time offset of media editing, in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of media editing, in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

// Predefined struct for user
type FastEditMediaRequestParams struct {
	// Input media file information. Supports up to 100 incoming media.
	FileInfos []*FastEditMediaFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// ClipMode indicates whether to include a shard when the editing time point falls in the middle of a TS segment. There are two parameter values: <li>StartInclusiveEndInclusive: When both the start time point and end time point fall in the middle of a shard, the shard will be included;</li> <li>StartInclusiveEndExclusive: When the start time point falls in the middle of a shard, the shard will be included; when the end time point falls in the middle of a shard, the shard will not be included.</li> Default value: StartInclusiveEndInclusive.
	ClipMode *string `json:"ClipMode,omitnil,omitempty" name:"ClipMode"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type FastEditMediaRequest struct {
	*tchttp.BaseRequest
	
	// Input media file information. Supports up to 100 incoming media.
	FileInfos []*FastEditMediaFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// ClipMode indicates whether to include a shard when the editing time point falls in the middle of a TS segment. There are two parameter values: <li>StartInclusiveEndInclusive: When both the start time point and end time point fall in the middle of a shard, the shard will be included;</li> <li>StartInclusiveEndExclusive: When the start time point falls in the middle of a shard, the shard will be included; when the end time point falls in the middle of a shard, the shard will not be included.</li> Default value: StartInclusiveEndInclusive.
	ClipMode *string `json:"ClipMode,omitnil,omitempty" name:"ClipMode"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *FastEditMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *FastEditMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileInfos")
	delete(f, "ClipMode")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "FastEditMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type FastEditMediaResponseParams struct {
	// Unique identifier of the media file after quick editing.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Media playback address after quick editing.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type FastEditMediaResponse struct {
	*tchttp.BaseResponse
	Response *FastEditMediaResponseParams `json:"Response"`
}

func (r *FastEditMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *FastEditMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type FileContent struct {
	// Object key.
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Last modification time in ISO8601 format, such as 2019-05-24T10:56:40Z.
	LastModified *string `json:"LastModified,omitnil,omitempty" name:"LastModified"`

	// The Entity Tag of an object is an information Tag that identifies the object content when the object is created. It can be used to check whether the object content has changed.
	ETag *string `json:"ETag,omitnil,omitempty" name:"ETag"`

	// Object size in bytes.
	Size *int64 `json:"Size,omitnil,omitempty" name:"Size"`

	// For enumeration values, please refer to the storage type document (https://www.tencentcloud.com/document/product/436/33417?from_cn_redirect=1), such as STANDARD_IA and ARCHIVE.
	StorageClass *string `json:"StorageClass,omitnil,omitempty" name:"StorageClass"`

	// Unique identifier of the media file for this file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// File classification: <li>Video: video file</li> <li>Audio: audio file</li> <li>Image: image file</li> <li>Other: other files</li>
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Optional values:
	// -OriginalFiles: source file
	// -TranscodeFiles: transcoded file
	// -AdaptiveDynamicStreamingFiles: Convert to adaptive bitrate stream file.
	// -SubtitleFiles: Subtitle file
	// -SampleSnapshotFiles: sampled screenshot files.
	// -ImageSpriteFiles: Sprite image screenshot files
	// -SnapshotByTimeOffsetFiles: Time point screenshot files.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Video template ID. For template definition, please refer to transcoding template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Subtitle ID.
	// Only valid when FileType=SubtitleFiles.
	SubtitleID *string `json:"SubtitleID,omitnil,omitempty" name:"SubtitleID"`
}

type FileDeleteResultItem struct {
	// The ID of the file deleted.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Part of the file deleted this time.
	DeleteParts []*MediaDeleteItem `json:"DeleteParts,omitnil,omitempty" name:"DeleteParts"`
}

type FileDeleteTask struct {
	// List of IDs of deleted files.
	FileIdSet []*string `json:"FileIdSet,omitnil,omitempty" name:"FileIdSet"`

	// The information of the files deleted.
	FileDeleteResultInfo []*FileDeleteResultItem `json:"FileDeleteResultInfo,omitnil,omitempty" name:"FileDeleteResultInfo"`
}

type FileReviewInfo struct {
	// Audio/Video moderation details\*.
	// 
	// \* This parameter only contains the information of moderation tasks initiated by the [ReviewAudioVideo](https://intl.cloud.tencent.com/document/api/266/80283?from_cn_redirect=1) or [ReviewImage](https://intl.cloud.tencent.com/document/api/266/73217?from_cn_redirect=1) API.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MediaReviewInfo *ReviewInfo `json:"MediaReviewInfo,omitnil,omitempty" name:"MediaReviewInfo"`

	// Thumbnail moderation details\*.
	// 
	// \* This parameter only contains the information of moderation tasks initiated by the [ReviewAudioVideo](https://intl.cloud.tencent.com/document/api/266/80283?from_cn_redirect=1) or [ReviewImage](https://intl.cloud.tencent.com/document/api/266/73217?from_cn_redirect=1) API.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CoverReviewInfo *ReviewInfo `json:"CoverReviewInfo,omitnil,omitempty" name:"CoverReviewInfo"`
}

type FileUploadTask struct {
	// Unique file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Basic information of media file generated after upload is completed.
	MediaBasicInfo *MediaBasicInfo `json:"MediaBasicInfo,omitnil,omitempty" name:"MediaBasicInfo"`

	// The task ID for the task type `Procedure`. If a task flow is specified for [uploaded media](https://intl.cloud.tencent.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E5.8F.91.E8.B5.B7), and the task flow includes one or more of `MediaProcessTask`, `AiAnalysisTask`, and `AiRecognitionTask`, the task specified by this parameter will be executed.
	ProcedureTaskId *string `json:"ProcedureTaskId,omitnil,omitempty" name:"ProcedureTaskId"`

	// The task ID for the task type `ReviewAudioVideo`. If a task flow is specified for [uploaded media](https://intl.cloud.tencent.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E5.8F.91.E8.B5.B7), and the task flow includes `ReviewAudioVideoTask`, the task specified by this parameter will be executed.
	ReviewAudioVideoTaskId *string `json:"ReviewAudioVideoTaskId,omitnil,omitempty" name:"ReviewAudioVideoTaskId"`

	// Metadata, such as size, duration, video stream information, audio stream information, etc.
	// Note: this field may return null, indicating that no valid values can be obtained.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`
}

type FileVerifyInfo struct {
	// File verification URL guidance.
	FileVerifyUrl *string `json:"FileVerifyUrl,omitnil,omitempty" name:"FileVerifyUrl"`

	// File verification domain name list.
	FileVerifyDomains []*string `json:"FileVerifyDomains,omitnil,omitempty" name:"FileVerifyDomains"`

	// File verification file name.
	FileVerifyName *string `json:"FileVerifyName,omitnil,omitempty" name:"FileVerifyName"`
}

type FollowRedirect struct {
	// Back-to-origin follow configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

// Predefined struct for user
type ForbidMediaDistributionRequestParams struct {
	// Media file list, up to 20 entries are submittable each time.
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// forbid: block, recover: unblock.
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ForbidMediaDistributionRequest struct {
	*tchttp.BaseRequest
	
	// Media file list, up to 20 entries are submittable each time.
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// forbid: block, recover: unblock.
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ForbidMediaDistributionRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ForbidMediaDistributionRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileIds")
	delete(f, "Operation")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ForbidMediaDistributionRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ForbidMediaDistributionResponseParams struct {
	// Non-existent file ID list.
	NotExistFileIdSet []*string `json:"NotExistFileIdSet,omitnil,omitempty" name:"NotExistFileIdSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ForbidMediaDistributionResponse struct {
	*tchttp.BaseResponse
	Response *ForbidMediaDistributionResponseParams `json:"Response"`
}

func (r *ForbidMediaDistributionResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ForbidMediaDistributionResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ForceRedirect struct {
	// Access forced jump configuration switch, value: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Access forced jump type: <li>http: forced http jump</li> <li>https: forced https jump</li>
	RedirectType *string `json:"RedirectType,omitnil,omitempty" name:"RedirectType"`

	// Status code returned for forced redirect Supports 301, 302.
	RedirectStatusCode *uint64 `json:"RedirectStatusCode,omitnil,omitempty" name:"RedirectStatusCode"`

	// Whether to return the newly added header during force redirection.
	CarryHeaders *string `json:"CarryHeaders,omitnil,omitempty" name:"CarryHeaders"`
}

type FrameRateWithDenInfo struct {
	// Frame interpolation frame rate control switch. Available values:
	// <li>ON: enabled</li>
	// <li>OFF: disabled</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Frame rate numerator. Value range: non-negative number, which should be less than 100 when divided by the denominator, and in the unit of Hz. The default value is 0. Note: For transcoding, this parameter will override the Fps in the VideoTemplate.
	FpsNum *int64 `json:"FpsNum,omitnil,omitempty" name:"FpsNum"`

	// Frame rate denominator. Value range: numbers equal to or greater than 1. The default value is 1.
	FpsDen *int64 `json:"FpsDen,omitnil,omitempty" name:"FpsDen"`
}

type FrameTagConfigureInfo struct {
	// Switch of intelligent frame-specific tagging task. Valid values:
	// <li>ON: enables intelligent frame-specific tagging task;</li>
	// <li>OFF: disables intelligent frame-specific tagging task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Frame capturing interval in seconds. If this parameter is left empty, 1 second will be used by default. Minimum value: 0.5 seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

type FrameTagConfigureInfoForUpdate struct {
	// Switch of intelligent frame-specific tagging task. Valid values:
	// <li>ON: enables intelligent frame-specific tagging task;</li>
	// <li>OFF: disables intelligent frame-specific tagging task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Frame capturing interval in seconds. Minimum value: 0.5 seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

type HDRInfo struct {
	// Whether to enable HDR. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	// Default value: `OFF`.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// High dynamic range type. Valid values:
	// <li>hdr10: means the hdr10 standard;</li>
	// <li>hlg: refers to the hlg standard.</li>
	// 
	// Note:
	// <li>Valid only when the high dynamic range type control switch is ON.</li>
	// <li>Valid when the video stream encoding format Codec of the video output parameter specified in the target parameter is libx264 or libx265.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

// Predefined struct for user
type HandleCurrentPlaylistRequestParams struct {
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// Operation type. Valid values: <li>Insert: Insert a program into the current playlist. The inserted program remains valid in subsequent loop banner processes.</li> <li>InsertTemporary: Temporarily insert a program into the current playlist. Temporarily inserted programs are only effective during this loop banner process.</li><li>Delete: Delete a program from the playback list. Cannot delete currently playing programs.</li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// Playlist program ID. <li>When Operation is Insert, this field is required, indicating the program list to be inserted is located after this program.</li> <li>When Operation is InsertTemporary, this field is optional. If left blank, the program will be inserted at the latest insertion point. If this field is filled and SegmentIndex is also provided, the program will be inserted behind the fragment corresponding to SegmentIndex of the program specified by ItemId; otherwise, it will be inserted after the program.</li> <li>When Operation is Delete, this field is required, indicating the program to be deleted. Cannot delete currently playing programs.</li>
	ItemId *string `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// Segment index of the M3U8 file shard. The first shard of the M3U8 file has a SegmentIndex of 0. This parameter is valid when Operation is InsertTemporary and ItemId has a value.
	SegmentIndex *int64 `json:"SegmentIndex,omitnil,omitempty" name:"SegmentIndex"`

	// Program list. required when operation is insert, inserttemporary, delete, indicating the list of programs to be operated on. the list length can be up to a maximum of 10.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`
}

type HandleCurrentPlaylistRequest struct {
	*tchttp.BaseRequest
	
	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// Operation type. Valid values: <li>Insert: Insert a program into the current playlist. The inserted program remains valid in subsequent loop banner processes.</li> <li>InsertTemporary: Temporarily insert a program into the current playlist. Temporarily inserted programs are only effective during this loop banner process.</li><li>Delete: Delete a program from the playback list. Cannot delete currently playing programs.</li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// Playlist program ID. <li>When Operation is Insert, this field is required, indicating the program list to be inserted is located after this program.</li> <li>When Operation is InsertTemporary, this field is optional. If left blank, the program will be inserted at the latest insertion point. If this field is filled and SegmentIndex is also provided, the program will be inserted behind the fragment corresponding to SegmentIndex of the program specified by ItemId; otherwise, it will be inserted after the program.</li> <li>When Operation is Delete, this field is required, indicating the program to be deleted. Cannot delete currently playing programs.</li>
	ItemId *string `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// Segment index of the M3U8 file shard. The first shard of the M3U8 file has a SegmentIndex of 0. This parameter is valid when Operation is InsertTemporary and ItemId has a value.
	SegmentIndex *int64 `json:"SegmentIndex,omitnil,omitempty" name:"SegmentIndex"`

	// Program list. required when operation is insert, inserttemporary, delete, indicating the list of programs to be operated on. the list length can be up to a maximum of 10.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`
}

func (r *HandleCurrentPlaylistRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *HandleCurrentPlaylistRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "RoundPlayId")
	delete(f, "Operation")
	delete(f, "ItemId")
	delete(f, "SegmentIndex")
	delete(f, "RoundPlaylist")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "HandleCurrentPlaylistRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type HandleCurrentPlaylistResponseParams struct {
	// List of successfully operated programs.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type HandleCurrentPlaylistResponse struct {
	*tchttp.BaseResponse
	Response *HandleCurrentPlaylistResponseParams `json:"Response"`
}

func (r *HandleCurrentPlaylistResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *HandleCurrentPlaylistResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type HeadTailConfigureInfo struct {
	// Switch of video opening and ending credits recognition task. Valid values:
	// <li>ON: enables video opening and ending credits recognition task;</li>
	// <li>OFF: disables video opening and ending credits recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type HeadTailConfigureInfoForUpdate struct {
	// Switch of video opening and ending credits recognition task. Valid values:
	// <li>ON: enables video opening and ending credits recognition task;</li>
	// <li>OFF: disables video opening and ending credits recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type HeadTailTaskInput struct {
	// Video opening/closing credits configuration template ID
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type HeadTailTemplate struct {
	// Head Tail Template Number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Template name, supports up to 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, up to 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Title candidate list. When using it, the one closest to the resolution of the feature film will be selected. When the same candidate exists, the first one will be selected. A maximum of 5 are supported.
	HeadCandidateSet []*string `json:"HeadCandidateSet,omitnil,omitempty" name:"HeadCandidateSet"`

	// Ending candidate list. When using it, the one closest to the resolution of the feature film will be selected. When the same candidate exists, the first one will be selected. A maximum of 5 are supported.
	TailCandidateSet []*string `json:"TailCandidateSet,omitnil,omitempty" name:"TailCandidateSet"`

	// Padding method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the transcoding processing method is "padding". Optional filling method:
	// <li> stretch: stretch, stretch each frame to fill the entire screen, which may cause the transcoded video to be "squashed" or "stretched";</li> 
	// <li> gauss: Gaussian blur, keep the video aspect ratio unchanged, use Gaussian blur for the remaining edges; </li>
	// <li> white: leave blank, keep the video aspect ratio unchanged, use the remaining edges for the edge Use white filling; </li>
	// <li> black: Leave black, keep the video aspect ratio unchanged, and fill the remaining edges with black. </li>
	// Default value: stretch.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// Template creation time, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// The last modification time of the template, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type HeuristicCache struct {
	// Heuristic cache configuration switch, the values u200bu200bare: 
	// <li>on: on; </li>
	// <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Custom heuristic cache time configuration.
	CacheConfig *HeuristicCacheConfig `json:"CacheConfig,omitnil,omitempty" name:"CacheConfig"`
}

type HeuristicCacheConfig struct {
	// Heuristic custom time cache configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	HeuristicCacheTimeSwitch *string `json:"HeuristicCacheTimeSwitch,omitnil,omitempty" name:"HeuristicCacheTimeSwitch"`

	// Unit: seconds.
	HeuristicCacheTime *uint64 `json:"HeuristicCacheTime,omitnil,omitempty" name:"HeuristicCacheTime"`
}

type HighlightSegmentItem struct {
	// <p>Confidence degree.</p>
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// <p>Segment start time offset.</p><p>Measurement unit: seconds.</p>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// <p>Segment end time offset.</p><p>Unit: seconds</p>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

type HighlightsConfigureInfo struct {
	// Switch of an intelligent highlight generating task. Valid values:
	// <li>ON: enable an intelligent highlight generating task;</li>
	// <li>OFF: disable an intelligent highlight generating task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type HighlightsConfigureInfoForUpdate struct {
	// Switch of an intelligent highlight generating task. Valid values:
	// <li>ON: enable an intelligent highlight generating task;</li>
	// <li>OFF: disable an intelligent highlight generating task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type HttpHeaderPathRule struct {
	// http header setting method: <li>set: setting. Change the value of the specified header parameter to the set value; if the set header does not exist, the header will be added; if there are multiple duplicate header parameters, all will be changed and merged into one header. ;</li> <li>del: delete. Delete the specified header parameter;</li> <li>add: add. Add the specified header parameters. By default, repeated addition is allowed, that is, the same header is added repeatedly (note: repeated addition may affect the browser response, please use the set operation first). </li>
	HeaderMode *string `json:"HeaderMode,omitnil,omitempty" name:"HeaderMode"`

	// HTTP header name. Up to 100 characters can be set.
	HeaderName *string `json:"HeaderName,omitnil,omitempty" name:"HeaderName"`

	// http header value, up to 1000 characters can be set; optional when Mode is del; required when Mode is add/set.
	HeaderValue *string `json:"HeaderValue,omitnil,omitempty" name:"HeaderValue"`

	// Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li>
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Matching content under the corresponding type of RuleType: <li>Fill in * when all is used;</li> <li>Fill in suffix name when file is used, such as jpg, txt;</li> <li>Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li>
	RulePaths []*string `json:"RulePaths,omitnil,omitempty" name:"RulePaths"`
}

type Https struct {
	// https configuration switch, value: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// http2 configuration switch, value: <li>on: on; </li> <li>off: off. </li>
	Http2 *string `json:"Http2,omitnil,omitempty" name:"Http2"`

	// Cert configuration message.
	CertInfo *CDNCertInfo `json:"CertInfo,omitnil,omitempty" name:"CertInfo"`
}

type HwPrivateAccess struct {
	// Huawei Cloud Object Storage back-to-origin authentication configuration switch, the value is: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Access ID
	AccessKey *string `json:"AccessKey,omitnil,omitempty" name:"AccessKey"`

	// Key
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// BucketName
	Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"`
}

type IPFilterPolicy struct {
	// IP access restriction status. Available values:
	// <li>Enabled: enabled;</li>
	// <li>Disabled: Disabled.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// IP access restriction Type: <li>Black: blocklist method verification. Only IP requests that come from IPList in the list be intercepted.</li>
	// <li>White: Whitelist method verification. Only IP requests from the IPList are allowed.</li>When the Status value is Enabled, the FilterType must be assigned a value.
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// IP list, supports IPV4 addresses in X.X.X.X format, IPV6 addresses in X:X:X:X:X:X:X:X format, or ranges in /N format (IPV4:1≤N≤32; IPV6:1≤N≤128). Up to 200 IPs or ranges can be filled. When Status value is Enabled, IPList must assign value.
	IPList []*string `json:"IPList,omitnil,omitempty" name:"IPList"`
}

type ImageBeautyConfig struct {
	// <p>Beauty effect item.</p>
	BeautyEffectItems []*BeautyEffectItem `json:"BeautyEffectItems,omitnil,omitempty" name:"BeautyEffectItems"`

	// <p>Beauty filter item.</p>
	BeautyFilterItems []*BeautyFilterItem `json:"BeautyFilterItems,omitnil,omitempty" name:"BeautyFilterItems"`
}

type ImageBlur struct {
	// The blur type. Valid values:
	// <li>`Gaussian`</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The radius of the blur. Value range: 1-50. This parameter is valid if `Type` is `Gaussian`.
	Radius *int64 `json:"Radius,omitnil,omitempty" name:"Radius"`

	// The standard deviation of the Gaussian distribution, which must be greater than 0. This parameter is valid if `Type` is `Gaussian`.
	Sigma *int64 `json:"Sigma,omitnil,omitempty" name:"Sigma"`
}

type ImageCenterCut struct {
	// The cropping type. Valid values:
	// <li>Circle: Cropping to circle. `Radius` specifies the radius of the output image.</li>
	// <li>Rectangle: Cropping to rectangle. `Width` and `Height` specify the width and height of the output image.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The width (pixels) of the output image. This parameter is valid if `Type` is `Rectangle`.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The height (pixels) of the output image. This parameter is valid if `Type` is `Rectangle`.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// The radius of the output image. This parameter is valid if `Type` is `Circle`.
	Radius *int64 `json:"Radius,omitnil,omitempty" name:"Radius"`
}

type ImageDenoiseConfig struct {
	// Capability configuration switch. Valid values:
	// <li>ON: enabled;</li>
	// <li>OFF: Disabled.</li>
	// Default value: ON.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Type, available values:
	// <li>weak</li>
	// <li>strong</li>
	// Default value: weak.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type ImageEncodeConfig struct {
	// Image format. Valid values: JPEG, PNG, BMP, and WebP. Defaults to the original image format. Animation is not supported.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Relative image quality. Value ranges from 1 to 100. The numeric value is based on the original image quality and defaults to the original image quality.
	Quality *int64 `json:"Quality,omitnil,omitempty" name:"Quality"`
}

type ImageEnhanceConfig struct {
	// Super-resolution configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuperResolution *SuperResolutionInfo `json:"SuperResolution,omitnil,omitempty" name:"SuperResolution"`

	// Advanced super-resolution configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	AdvancedSuperResolution *AdvancedSuperResolutionConfig `json:"AdvancedSuperResolution,omitnil,omitempty" name:"AdvancedSuperResolution"`

	// Denoising configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Denoise *ImageDenoiseConfig `json:"Denoise,omitnil,omitempty" name:"Denoise"`

	// Comprehensive enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageQualityEnhance *ImageQualityEnhanceInfo `json:"ImageQualityEnhance,omitnil,omitempty" name:"ImageQualityEnhance"`

	// Color enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ColorEnhance *ColorEnhanceInfo `json:"ColorEnhance,omitnil,omitempty" name:"ColorEnhance"`

	// Detail enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SharpEnhance *SharpEnhanceInfo `json:"SharpEnhance,omitnil,omitempty" name:"SharpEnhance"`

	// Face enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FaceEnhance *FaceEnhanceInfo `json:"FaceEnhance,omitnil,omitempty" name:"FaceEnhance"`

	// Low-light enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	LowLightEnhance *LowLightEnhanceInfo `json:"LowLightEnhance,omitnil,omitempty" name:"LowLightEnhance"`
}

type ImageOperation struct {
	// Image processing type. Optional types are:
	// <li>Scale: image thumbnail processing;</li>
	// <li>CenterCut: image cropping processing;</li>
	// <li>Blur: image blur processing. </li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The scaling details. This parameter is valid only if `Type` is `Scale`.
	Scale *ImageScale `json:"Scale,omitnil,omitempty" name:"Scale"`

	// The cropping details. This parameter is valid only if `Type` is `CenterCut`.
	CenterCut *ImageCenterCut `json:"CenterCut,omitnil,omitempty" name:"CenterCut"`

	// Image blurring. This parameter is valid only if `Type` is `Blur`.
	Blur *ImageBlur `json:"Blur,omitnil,omitempty" name:"Blur"`
}

type ImageProcessingTemplate struct {
	// The template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The template type. Valid values:
	// <li>Preset</li>
	// <li>Custom</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// An array of image processing operations. The operations will be performed in the specified order.
	// <li>Length limit: 3.</li>
	Operations []*ImageOperation `json:"Operations,omitnil,omitempty" name:"Operations"`

	// The template creation time in [ISO date format](https://www.tencentcloud.com/document/product/266/11732?lang=en&pg=#iso-date-format).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

type ImageQualityEnhanceInfo struct {
	// Comprehensive enhancement control switch. Valid values:
	// <li>ON: enable comprehensive enhancement</li>
	// <li>OFF: disable comprehensive enhancement</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Comprehensive enhancement type. Valid only when the control switch is ON. Available values:
	// <li>weak: light comprehensive enhancement.</li>
	// <li>NORMAL: Comprehensive enhancement is normal.</li>
	// <li>strong: comprehensive enhancement.</li>
	// Default value: weak.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type ImageReviewUsageDataItem struct {
	// The start time (in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)) of the data returned. For example, if the granularity is a day, `2018-12-01T00:00:00+08:00` indicates that the data is for the whole day of December 1, 2018.
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// The number of times the image recognition feature is used.
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`
}

type ImageScale struct {
	// The scaling type. Valid values:
	// <li>`WidthFirst`: Specify the width and proportionally scale the height.</li>
	// <li>`HeightFirst`: Specify the height and proportionally scale the width.</li>
	// <li>`LongEdgeFirst`: Specify the long side (`LongEdge`) and proportionally scale the short side.</li>
	// <li>`ShortEdgeFirst`: Specify the short side (`ShortEdge`) and proportionally scale the long side.</li>
	// <li>Force: Specify both the height and width. The output image may be distorted.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The image height (pixels). This parameter is valid only if `Type` is `HeightFirst` or `Force`.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// The image width (pixels). This parameter is valid only if `Type` is `WidthFirst` or `Force`.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The long side of the output image (pixels). This parameter is valid only if `Type` is `LongEdgeFirst`.
	LongEdge *uint64 `json:"LongEdge,omitnil,omitempty" name:"LongEdge"`

	// The short side of the output image (pixels). This parameter is valid only if `Type` is `ShortEdgeFirst`.
	ShortEdge *uint64 `json:"ShortEdge,omitnil,omitempty" name:"ShortEdge"`
}

type ImageSceneAigcEncodeConfig struct {
	// Image format. Valid values: JPEG and PNG. Defaults to the original image format. Animation is not supported.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Relative image quality. Value ranges from 1 to 100. The numeric value is based on the original image quality and defaults to the original image quality.
	Quality *int64 `json:"Quality,omitnil,omitempty" name:"Quality"`
}

type ImageSpriteTaskInput struct {
	// Image sprite generating template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type ImageSpriteTemplate struct {
	// Unique ID of an image sprite generating template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Template type. Valid values:
	// <li>Preset: preset template;</li>
	// <li>Custom: custom template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Name of an image sprite generating template.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Maximum value of the width (or long side) of a subimage in an image sprite in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of the height (or short side) of a subimage in an image sprite in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaption. Valid values:
	// <li>open: enabled. In this case, `Width` represents the long side of a video, while `Height` the short side;</li>
	// <li>close: disabled. In this case, `Width` represents the width of a video, while `Height` the height.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Sampling type.
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Subimage row count of an image sprite.
	RowCount *uint64 `json:"RowCount,omitnil,omitempty" name:"RowCount"`

	// Subimage column count of an image sprite.
	ColumnCount *uint64 `json:"ColumnCount,omitnil,omitempty" name:"ColumnCount"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Fill type. "Fill" refers to the way of processing a screenshot when its aspect ratio is different from that of the source video. The following fill types are supported:
	// <li> stretch: stretch. The screenshot will be stretched frame by frame to match the aspect ratio of the source video, which may make the screenshot "shorter" or "longer";</li>
	// <li>black: fill with black. This option retains the aspect ratio of the source video for the screenshot and fills the unmatched area with black color blocks.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// The image format.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`
}

type ImageTransform struct {
	// Type. Valid values:
	// <li> Rotate: image rotation.</li>
	// <li> Flip: image flipping.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Rotation angle of image with its center point as origin. Value range: 0-360. This parameter is valid if `Type` is `Rotate`.
	RotateAngle *float64 `json:"RotateAngle,omitnil,omitempty" name:"RotateAngle"`

	// Image flipping action. Valid values:
	// <li>Horizental: horizontal flipping, i.e., horizontally mirrored.</li>
	// <li>Vertical: vertical flipping, i.e., vertically mirrored.</li>
	// This is valid if `Type` is `Flip`.
	Flip *string `json:"Flip,omitnil,omitempty" name:"Flip"`
}

type ImageUnderstandingInfo struct {
	// Image understanding collection.
	ImageUnderstandingSet []*ImageUnderstandingItem `json:"ImageUnderstandingSet,omitnil,omitempty" name:"ImageUnderstandingSet"`
}

type ImageUnderstandingItem struct {
	// Template id.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Task output file.
	OutputFile []*MPSOutputFileInfo `json:"OutputFile,omitnil,omitempty" name:"OutputFile"`
}

type ImageWatermarkInput struct {
	// The [Base64](https://tools.ietf.org/html/rfc4648) encoded string of a watermark image. Only JPEG, PNG, and GIF images are supported.
	ImageContent *string `json:"ImageContent,omitnil,omitempty" name:"ImageContent"`

	// Watermark width. % and px formats are supported:
	// <li>If the string ends in %, the `Width` of the watermark will be the specified percentage of the video width. For example, `10%` means that `Width` is 10% of the video width;</li>
	// <li>If the string ends in px, the `Width` of the watermark will be in pixels. For example, `100px` means that `Width` is 100 pixels. Value range: [8, 4096].</li>
	// Default value: 10%.
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Watermark height. % and px formats are supported:
	// <li>If the string ends in %, the `Height` of the watermark will be the specified percentage of the video height; for example, `10%` means that `Height` is 10% of the video height;</li>
	// <li>If the string ends in px, the `Height` of the watermark will be in px; for example, `100px` means that `Height` is 100 px. Valid values: 0 or [8,4096].</li>
	// Default value: 0 px, which means that `Height` will be proportionally scaled according to the aspect ratio of the original watermark image.
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// Repeat type of an animated watermark. Valid values:
	// <li>once: no longer appears after watermark playback ends.</li>
	// <li>repeat_last_frame: stays on the last frame after watermark playback ends.</li>
	// <li>repeat (default): repeats the playback until the video ends.</li>
	RepeatType *string `json:"RepeatType,omitnil,omitempty" name:"RepeatType"`


	Transparency *int64 `json:"Transparency,omitnil,omitempty" name:"Transparency"`
}

type ImageWatermarkInputForUpdate struct {
	// String generated by [Base64-encoding](https://tools.ietf.org/html/rfc4648) a watermark image. JPEG and PNG images are supported.
	ImageContent *string `json:"ImageContent,omitnil,omitempty" name:"ImageContent"`

	// Watermark width. % and px formats are supported:
	// <li>If the string ends in %, the `Width` of the watermark will be the specified percentage of the video width. For example, `10%` means that `Width` is 10% of the video width;</li>
	// <li>If the string ends in px, the `Width` of the watermark will be in pixels. For example, `100px` means that `Width` is 100 pixels. Value range: [8, 4096].</li>
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Watermark height. % and px formats are supported:
	// <li>If the string ends in %, the `Height` of the watermark will be the specified percentage of the video height; for example, `10%` means that `Height` is 10% of the video height;</li>
	// <li>If the string ends in px, the `Height` of the watermark will be in px; for example, `100px` means that `Height` is 100 px. Valid values: 0 or [8,4096].</li>
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// Repeat type of an animated watermark. Valid values:
	// <li>once: no longer appears after watermark playback ends.</li>
	// <li>repeat_last_frame: stays on the last frame after watermark playback ends.</li>
	// <li>repeat (default): repeats the playback until the video ends.</li>
	RepeatType *string `json:"RepeatType,omitnil,omitempty" name:"RepeatType"`


	Transparency *int64 `json:"Transparency,omitnil,omitempty" name:"Transparency"`
}

type ImageWatermarkTemplate struct {
	// Watermark image address.
	ImageUrl *string `json:"ImageUrl,omitnil,omitempty" name:"ImageUrl"`

	// Watermark width. % and px formats are supported:
	// <li>If the string ends in %, the `Width` of the watermark will be the specified percentage of the video width; for example, `10%` means that `Width` is 10% of the video width;</li>
	// <li>If the string ends in px, the `Width` of the watermark will be in px; for example, `100px` means that `Width` is 100 px.</li>
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Watermark height. % and px formats are supported:
	// <li>If the string ends in %, the `Height` of the watermark will be the specified percentage of the video height; for example, `10%` means that `Height` is 10% of the video height;</li>
	// <li>If the string ends in px, the `Height` of the watermark will be in px; for example, `100px` means that `Height` is 100 px;</li>
	// `0px` means that `Height` will be proportionally scaled according to the video width.
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// Repeat type of an animated watermark. Valid values:
	// <li>once: no longer appears after watermark playback ends.</li>
	// <li>repeat_last_frame: stays on the last frame after watermark playback ends.</li>
	// <li>repeat (default): repeats the playback until the video ends.</li>
	RepeatType *string `json:"RepeatType,omitnil,omitempty" name:"RepeatType"`


	Transparency *int64 `json:"Transparency,omitnil,omitempty" name:"Transparency"`
}

// Predefined struct for user
type ImportMediaKnowledgeRequestParams struct {
	// <b>Specifies the VOD application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// media file ID, the globally unique identifier of the file in vod, is assigned by the vod backend after successful upload. can be obtained from the [video upload completion event notification](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) or [vod console](https://console.tencentcloud.com//vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Unique identifier of the Large Model Comprehend Template
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Specifies the task type for importing the knowledge base. valid values:.
	// - AiAnalysis.DescriptionTask
	// - SmartSubtitle.AsrFullTextTask
	//
	// Deprecated: ImportTasks is deprecated.
	ImportTasks []*string `json:"ImportTasks,omitnil,omitempty" name:"ImportTasks"`
}

type ImportMediaKnowledgeRequest struct {
	*tchttp.BaseRequest
	
	// <b>Specifies the VOD application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// media file ID, the globally unique identifier of the file in vod, is assigned by the vod backend after successful upload. can be obtained from the [video upload completion event notification](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) or [vod console](https://console.tencentcloud.com//vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Unique identifier of the Large Model Comprehend Template
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Specifies the task type for importing the knowledge base. valid values:.
	// - AiAnalysis.DescriptionTask
	// - SmartSubtitle.AsrFullTextTask
	ImportTasks []*string `json:"ImportTasks,omitnil,omitempty" name:"ImportTasks"`
}

func (r *ImportMediaKnowledgeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ImportMediaKnowledgeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "FileId")
	delete(f, "Definition")
	delete(f, "ImportTasks")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ImportMediaKnowledgeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ImportMediaKnowledgeResponseParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ImportMediaKnowledgeResponse struct {
	*tchttp.BaseResponse
	Response *ImportMediaKnowledgeResponseParams `json:"Response"`
}

func (r *ImportMediaKnowledgeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ImportMediaKnowledgeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ImportMediaKnowledgeTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Value: <li>PROCESSING: Processing;</li><li>FINISH: Completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. 0 indicates success, other values indicate failure.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`
}

// Predefined struct for user
type InspectMediaQualityRequestParams struct {
	// Media file ID, the globally unique identifier of the file in VOD, is assigned by the VOD backend after successful upload. You can retrieve this field in the [video upload completion event notification](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) or [VOD console](https://console.cloud.tencent.com/vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Audio and video quality inspection template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Source context, used to pass through user request information. The audio and video quality detection completion callback will return the value of this field, with a maximum of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type InspectMediaQualityRequest struct {
	*tchttp.BaseRequest
	
	// Media file ID, the globally unique identifier of the file in VOD, is assigned by the VOD backend after successful upload. You can retrieve this field in the [video upload completion event notification](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) or [VOD console](https://console.cloud.tencent.com/vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Audio and video quality inspection template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Source context, used to pass through user request information. The audio and video quality detection completion callback will return the value of this field, with a maximum of 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or with empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *InspectMediaQualityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *InspectMediaQualityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "TasksPriority")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InspectMediaQualityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type InspectMediaQualityResponseParams struct {
	// Audio and video quality inspection task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type InspectMediaQualityResponse struct {
	*tchttp.BaseResponse
	Response *InspectMediaQualityResponseParams `json:"Response"`
}

func (r *InspectMediaQualityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *InspectMediaQualityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type IpFilter struct {
	// IP black and white list configuration switch, value: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// IP blacklist and whitelist types: <li>whitelist: whitelist;</li> <li>blacklist: blacklist. </li>
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// IP black and white list, supports: IP in the form of X.X.X.X, or network segment in the form of /8, /16, /24; Can populate up to 50 whitelists or 50 blacklists.
	Filters []*string `json:"Filters,omitnil,omitempty" name:"Filters"`

	// IP blocklist/allowlist path-based configuration. This feature is only available to selected beta customers.
	FilterRules []*IpFilterPathRule `json:"FilterRules,omitnil,omitempty" name:"FilterRules"`
}

type IpFilterPathRule struct {
	// IP blacklist and whitelist types: <li>whitelist: whitelist;</li> <li>blacklist: blacklist. </li>
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// IP black and white list, supports: IP in the form of X.X.X.X, or network segment in the form of /8, /16, /24; Can populate up to 50 whitelists or 50 blacklists.
	Filters []*string `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li>
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Matching content under the corresponding type of RuleType: <li>Fill in * when all is used;</li> <li>Fill in suffix name when file is used, such as jpg, txt;</li> <li>Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li>
	RulePaths []*string `json:"RulePaths,omitnil,omitempty" name:"RulePaths"`
}

type Ipv6Access struct {
	// Domain name enables ipv6 access configuration switch. The value is: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type JitterConfigureInfo struct {
	// Video shake and ghost detection switch, optional values:
	// <li>ON: turn on;</li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type JitterConfigureInfoForUpdate struct {
	// Video shake and ghost detection switch, optional values:
	// <li>ON: turn on;</li>
	// <li>OFF: turn off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type JustInTimeTranscodeTemplate struct {
	// Template type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Video parameter configuration.
	VideoConfigure *VideoConfigureInfo `json:"VideoConfigure,omitnil,omitempty" name:"VideoConfigure"`

	// Watermark parameter configuration.
	WatermarkConfigure *WatermarkConfigureData `json:"WatermarkConfigure,omitnil,omitempty" name:"WatermarkConfigure"`
}

type KnowledgeAnalysisInfo struct {
	// <p>Large model parsing template ID</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Parsing result of large model</p>
	AnalysisResults []*KnowledgeAnalysisResult `json:"AnalysisResults,omitnil,omitempty" name:"AnalysisResults"`
}

type KnowledgeAnalysisResult struct {
	// <p>Process task type</p><p>Enumeration value:</p><ul><li>AiAnalysis.DescriptionTask: Intelligent summary task</li><li>AiAnalysis.VideoComprehensionTask: Video understanding task</li><li>SmartSubtitle.AsrFullTextTask: Intelligent speech full-text recognition task</li></ul>
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// <p>Task output file collection</p>
	File *MPSOutputFileInfo `json:"File,omitnil,omitempty" name:"File"`
}

type KnowledgeBasesInfo struct {
	// <p>Current library list of media assets to import</p>
	Bases []*string `json:"Bases,omitnil,omitempty" name:"Bases"`

	// <p>Media analysis information in the knowledge base</p>
	KnowledgeAnalysisInfos []*KnowledgeAnalysisInfo `json:"KnowledgeAnalysisInfos,omitnil,omitempty" name:"KnowledgeAnalysisInfos"`
}

type LLMComprehendAsr struct {
	// Text transcription task switch. Available values:
	// -ON: Enable the transcription task.
	// -OFF: Disable text transcription task.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type LLMComprehendAsrForUpdate struct {
	// Text transcription task switch. Available values:
	// -ON: Enable the transcription task.
	// -OFF: Disable text transcription task.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type LLMComprehendFaceRecognition struct {
	// <p>Face recognition task switch</p><p>Enumeration value:</p><ul><li>ON: Enable intelligent face recognition task</li><li>OFF: Disable intelligent face recognition task</li></ul><p>Default value: OFF</p>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// <p>Face recognition filter score. The recognition result is returned when it reaches or exceeds this score.</p><p>Value ranges from 0 to 100.</p><p>Default value: 95.</p>
	Score *float64 `json:"Score,omitnil,omitempty" name:"Score"`

	// <p>Default character filter tag. Specifies the tag of the default character to return. If left blank or empty, all default character results are returned.</p><p>Enumeration value:</p><ul><li>entertainment: entertainment star</li><li>sport: sports celebrity</li><li>politician: political figure</li></ul>
	DefaultLibraryLabelSet []*string `json:"DefaultLibraryLabelSet,omitnil,omitempty" name:"DefaultLibraryLabelSet"`

	// <p>User-defined character filter tag specifies the tags of user-defined characters to return. If left blank or empty, all customized figure results are returned.</p><p>Input limit: The number of tags is limited to 100, and each tag is limited to 16 characters in length.</p>
	UserDefineLibraryLabelSet []*string `json:"UserDefineLibraryLabelSet,omitnil,omitempty" name:"UserDefineLibraryLabelSet"`

	// <p>Figure library selection</p><p>Enumeration value:</p><ul><li>Default: Use default figure library</li><li>UserDefine: Use user-defined figure library</li><li>All: Use default and user-defined figure libraries simultaneously</li></ul><p>Default value: All</p>
	FaceLibrary *string `json:"FaceLibrary,omitnil,omitempty" name:"FaceLibrary"`
}

type LLMComprehendFaceRecognitionForUpdate struct {
	// <p>Face recognition task switch</p><p>Enumeration value:</p><ul><li>ON: Enable intelligent face recognition task</li><li>OFF: Disable intelligent face recognition task</li></ul><p>Default value: OFF</p>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// <p>Face recognition filter score. The recognition result is returned when it reaches or exceeds this score.</p><p>Value ranges from 0 to 100.</p>
	Score *float64 `json:"Score,omitnil,omitempty" name:"Score"`

	// <p>Default character filter tag. Specifies the tag of the default character to return. If left blank or empty, all default character results are returned.</p><p>Enumeration value:</p><ul><li>entertainment: entertainment star</li><li>sport: sports celebrity</li><li>politician: political figure</li></ul>
	DefaultLibraryLabelSet []*string `json:"DefaultLibraryLabelSet,omitnil,omitempty" name:"DefaultLibraryLabelSet"`

	// <p>User-defined character filter tag specifies the tags of user-defined characters to return. If left blank or empty, all customized figure results are returned.</p><p>Input limit: The number of tags is limited to 100, and each tag is limited to 16 characters in length.</p>
	UserDefineLibraryLabelSet []*string `json:"UserDefineLibraryLabelSet,omitnil,omitempty" name:"UserDefineLibraryLabelSet"`

	// <p>Figure library selection</p><p>Enumeration value:</p><ul><li>Default: Use default figure library</li><li>UserDefine: Use user-defined figure library</li><li>All: Use default and user-defined figure libraries simultaneously</li></ul><p>Default value: All</p>
	FaceLibrary *string `json:"FaceLibrary,omitnil,omitempty" name:"FaceLibrary"`
}

type LLMComprehendSummary struct {
	// Segment summary task switch, available values:
	// -ON: Enable segment summary task.
	// -OFF: Disable segment summary.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Extended parameter, which is a serialized json string. See [Extended Parameter description](https://www.tencentcloud.com/document/product/862/104493?from_cn_redirect=1#note).
	ExtendedParameter *string `json:"ExtendedParameter,omitnil,omitempty" name:"ExtendedParameter"`
}

type LLMComprehendSummaryForUpdate struct {
	// Segment summary task switch, available values:
	// -ON: Enable segment summary task.
	// -OFF: Disable segment summary.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Extended parameter, which is a serialized json string. See [Extended Parameter description](https://www.tencentcloud.com/document/product/862/104493?from_cn_redirect=1#note).
	ExtendedParameter *string `json:"ExtendedParameter,omitnil,omitempty" name:"ExtendedParameter"`
}

type LLMComprehendTemplateItem struct {
	// <p>Unique identifier of the image asynchronous processing template.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Image asynchronous processing template name.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Description information of the image asynchronous processing template.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Resolution level, optional values:</p><ul><li>Audio: Audio-level resolution</li><li>Video: Video-level resolution</li></ul>
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// <p>Segment summary parse configuration</p>
	Summary *LLMComprehendSummary `json:"Summary,omitnil,omitempty" name:"Summary"`

	// <p>Text transcription parse configuration</p>
	Asr *LLMComprehendAsr `json:"Asr,omitnil,omitempty" name:"Asr"`

	// <p>Face recognition parse configuration</p>
	FaceRecognition *LLMComprehendFaceRecognition `json:"FaceRecognition,omitnil,omitempty" name:"FaceRecognition"`

	// <p>Template creation time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Last template modification time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type LicenseUsageDataItem struct {
	// The start time (in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format)) of the data returned. For example, if the granularity is a day, `2018-12-01T00:00:00+08:00` indicates that the data is for the whole day of December 1, 2018.
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// The number of license requests.
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`
}

// Predefined struct for user
type ListFilesRequestParams struct {
	// VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Object key prefix matching, limited to object keys whose names contain the specified prefix in response.
	Prefix *string `json:"Prefix,omitnil,omitempty" name:"Prefix"`

	// A character separator used for grouping object keys. All object keys with the same part between the prefix or the start (if no prefix is specified) and the first delimiter are grouped as a prefix node under CommonPrefixes. Grouped object keys no longer appear in the subsequent object list.
	Delimiter *string `json:"Delimiter,omitnil,omitempty" name:"Delimiter"`

	// ys  Maximum number of entries returned at a time. Default value: 100. Minimum: 1. Maximum: 100.
	MaxKeys *int64 `json:"MaxKeys,omitnil,omitempty" name:"MaxKeys"`

	// Starting object key marker
	Marker *string `json:"Marker,omitnil,omitempty" name:"Marker"`

	// File type. Match any element in the collection: <li>Video: video file</li> <li>Audio: audio file</li> <li>Image: image file</li>
	Categories []*string `json:"Categories,omitnil,omitempty" name:"Categories"`
}

type ListFilesRequest struct {
	*tchttp.BaseRequest
	
	// VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Object key prefix matching, limited to object keys whose names contain the specified prefix in response.
	Prefix *string `json:"Prefix,omitnil,omitempty" name:"Prefix"`

	// A character separator used for grouping object keys. All object keys with the same part between the prefix or the start (if no prefix is specified) and the first delimiter are grouped as a prefix node under CommonPrefixes. Grouped object keys no longer appear in the subsequent object list.
	Delimiter *string `json:"Delimiter,omitnil,omitempty" name:"Delimiter"`

	// ys  Maximum number of entries returned at a time. Default value: 100. Minimum: 1. Maximum: 100.
	MaxKeys *int64 `json:"MaxKeys,omitnil,omitempty" name:"MaxKeys"`

	// Starting object key marker
	Marker *string `json:"Marker,omitnil,omitempty" name:"Marker"`

	// File type. Match any element in the collection: <li>Video: video file</li> <li>Audio: audio file</li> <li>Image: image file</li>
	Categories []*string `json:"Categories,omitnil,omitempty" name:"Categories"`
}

func (r *ListFilesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListFilesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Prefix")
	delete(f, "Delimiter")
	delete(f, "MaxKeys")
	delete(f, "Marker")
	delete(f, "Categories")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListFilesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ListFilesResponseParams struct {
	// Whether the response entry is truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// This node will be returned only when the response entries are truncated (IsTruncated is true). Its value is the last object key in the current response entries. When follow-up entries are required, input the value of this node as the marker parameter in the next request.
	NextMarker *string `json:"NextMarker,omitnil,omitempty" name:"NextMarker"`

	// The same part between the prefix or the start (if not specified) and the first delimiter is defined as Common Prefix. The node may return only if the delimiter parameter is specified in the request.
	CommonPrefixes []*string `json:"CommonPrefixes,omitnil,omitempty" name:"CommonPrefixes"`

	// Object entry.
	Contents []*FileContent `json:"Contents,omitnil,omitempty" name:"Contents"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ListFilesResponse struct {
	*tchttp.BaseResponse
	Response *ListFilesResponseParams `json:"Response"`
}

func (r *ListFilesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ListFilesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type LiveRealTimeClipMediaSegmentInfo struct {
	// Segment start time. Format reference [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Segment end time. Format reference [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

// Predefined struct for user
type LiveRealTimeClipRequestParams struct {
	// <p>Push stream live code.</p>
	StreamId *string `json:"StreamId,omitnil,omitempty" name:"StreamId"`

	// <p>Start time of stream clipping. Format reference: <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>The end time of stream clipping. Format reference <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Whether solidified. 0 for default non-permanent, 1 for solidified. Default non-permanent.</p>
	IsPersistence *int64 `json:"IsPersistence,omitnil,omitempty" name:"IsPersistence"`

	// <p>Video storage expiry time after editing solidification. Format reference <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>. Enter "9999-12-31T23:59:59Z" to indicate the video never expires. After expiry, the media file and its related resources (transcoding result, sprites) will be permanently deleted. Valid at that time only when IsPersistence is 1. The default video editing never expires.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Post-editing Solidified Video On-demand Task Flow Processing. For details, see <a href="https://www.tencentcloud.com/document/product/266/9759?from_cn_redirect=1">upload specified task flow</a>. Valid when IsPersistence is 1.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/31772?from_cn_redirect=1">Create Category</a> API.</p><li>Default value: 0, indicating other categories.</li>Valid at that time only when IsPersistence is 1.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Source context. This is used to pass user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">upload completion callback</a> returns the value of this field. The maximum length is 250 characters. Valid only when IsPersistence is 1.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Session context. This is used to pass through user request information. When specifying the Procedure parameter, the <a href="/document/product/266/9636?from_cn_redirect=1">task flow status change callback</a> returns the value of this field. The maximum length is 1000 characters. Valid only when IsPersistence is 1.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Whether to return edited video metadata. 0: not required, 1: required. By default, does not need.</p>
	MetaDataRequired *uint64 `json:"MetaDataRequired,omitnil,omitempty" name:"MetaDataRequired"`

	// <p>The domain name added in VOD for time-shifting playback must have <a href="https://www.tencentcloud.com/document/product/266/52220?from_cn_redirect=1#.E6.AD.A5.E9.AA.A43.EF.BC.9A.E5.85.B3.E8.81.94.E5.BD.95.E5.88.B6.E6.A8.A1.E6.9D.BF.3Ca-id.3D.22step3.22.3E.3C.2Fa.3E">recording template binding and time-shift service enabled</a> in Cloud Streaming Services. <strong>If the first call time of this interface is after 2021-01-01T00:00:00Z, this field is a required field.</strong></p>
	Host *string `json:"Host,omitnil,omitempty" name:"Host"`

	// <p>Live stream information for editing:</p><li>Edit the original stream by default.</li><li>When the Type specified in StreamInfo is Transcoding, edit the live streaming transcoding corresponding to TemplateId.</li>
	StreamInfo *LiveRealTimeClipStreamInfo `json:"StreamInfo,omitnil,omitempty" name:"StreamInfo"`

	// <p>System reserved field. Do not fill in.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type LiveRealTimeClipRequest struct {
	*tchttp.BaseRequest
	
	// <p>Push stream live code.</p>
	StreamId *string `json:"StreamId,omitnil,omitempty" name:"StreamId"`

	// <p>Start time of stream clipping. Format reference: <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>The end time of stream clipping. Format reference <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Whether solidified. 0 for default non-permanent, 1 for solidified. Default non-permanent.</p>
	IsPersistence *int64 `json:"IsPersistence,omitnil,omitempty" name:"IsPersistence"`

	// <p>Video storage expiry time after editing solidification. Format reference <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>. Enter "9999-12-31T23:59:59Z" to indicate the video never expires. After expiry, the media file and its related resources (transcoding result, sprites) will be permanently deleted. Valid at that time only when IsPersistence is 1. The default video editing never expires.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Post-editing Solidified Video On-demand Task Flow Processing. For details, see <a href="https://www.tencentcloud.com/document/product/266/9759?from_cn_redirect=1">upload specified task flow</a>. Valid when IsPersistence is 1.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/31772?from_cn_redirect=1">Create Category</a> API.</p><li>Default value: 0, indicating other categories.</li>Valid at that time only when IsPersistence is 1.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Source context. This is used to pass user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">upload completion callback</a> returns the value of this field. The maximum length is 250 characters. Valid only when IsPersistence is 1.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Session context. This is used to pass through user request information. When specifying the Procedure parameter, the <a href="/document/product/266/9636?from_cn_redirect=1">task flow status change callback</a> returns the value of this field. The maximum length is 1000 characters. Valid only when IsPersistence is 1.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Whether to return edited video metadata. 0: not required, 1: required. By default, does not need.</p>
	MetaDataRequired *uint64 `json:"MetaDataRequired,omitnil,omitempty" name:"MetaDataRequired"`

	// <p>The domain name added in VOD for time-shifting playback must have <a href="https://www.tencentcloud.com/document/product/266/52220?from_cn_redirect=1#.E6.AD.A5.E9.AA.A43.EF.BC.9A.E5.85.B3.E8.81.94.E5.BD.95.E5.88.B6.E6.A8.A1.E6.9D.BF.3Ca-id.3D.22step3.22.3E.3C.2Fa.3E">recording template binding and time-shift service enabled</a> in Cloud Streaming Services. <strong>If the first call time of this interface is after 2021-01-01T00:00:00Z, this field is a required field.</strong></p>
	Host *string `json:"Host,omitnil,omitempty" name:"Host"`

	// <p>Live stream information for editing:</p><li>Edit the original stream by default.</li><li>When the Type specified in StreamInfo is Transcoding, edit the live streaming transcoding corresponding to TemplateId.</li>
	StreamInfo *LiveRealTimeClipStreamInfo `json:"StreamInfo,omitnil,omitempty" name:"StreamInfo"`

	// <p>System reserved field. Do not fill in.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *LiveRealTimeClipRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *LiveRealTimeClipRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StreamId")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "SubAppId")
	delete(f, "IsPersistence")
	delete(f, "ExpireTime")
	delete(f, "Procedure")
	delete(f, "ClassId")
	delete(f, "SourceContext")
	delete(f, "SessionContext")
	delete(f, "MetaDataRequired")
	delete(f, "Host")
	delete(f, "StreamInfo")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "LiveRealTimeClipRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type LiveRealTimeClipResponseParams struct {
	// <p>Edited Video Playback URL.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Unique identifier of media file for post-editing solidified video.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>ID of the edited video task flow after solidification.</p>
	VodTaskId *string `json:"VodTaskId,omitnil,omitempty" name:"VodTaskId"`

	// <p>Edited video metadata.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// <p><span id="p_segmentset">Edited video clip information.</span></p>
	SegmentSet []*LiveRealTimeClipMediaSegmentInfo `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type LiveRealTimeClipResponse struct {
	*tchttp.BaseResponse
	Response *LiveRealTimeClipResponseParams `json:"Response"`
}

func (r *LiveRealTimeClipResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *LiveRealTimeClipResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type LiveRealTimeClipStreamInfo struct {
	// The type of live stream to clip. Valid values:
	// <li>Original (<b>default</b>)</li>
	// <li>Transcoding</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The transcoding template ID.
	// <b>This is required if `Type` is `Transcoding`.</b>
	TemplateId *uint64 `json:"TemplateId,omitnil,omitempty" name:"TemplateId"`
}

type LiveRecordInfo struct {
	// <p>Live streaming Recording domain name</p>
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <p>Live streaming Recording Path</p>
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// <p>Live recording stream ID.</p>
	StreamId *string `json:"StreamId,omitnil,omitempty" name:"StreamId"`

	// <p>Recording start time in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO datetime format</a>.</p>
	RecordStartTime *string `json:"RecordStartTime,omitnil,omitempty" name:"RecordStartTime"`

	// <p>Recording end time, using <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	RecordEndTime *string `json:"RecordEndTime,omitnil,omitempty" name:"RecordEndTime"`
}

type LowLightEnhanceInfo struct {
	// Whether to enable low-light enhancement. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The low-light enhancement type. This parameter is valid only if `Switch` is `ON`.
	// <li>`normal`</li>
	// Default value: `normal`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type MPSAIAnalysisConfigureInfo struct {
	// <p>Task switch for intelligent classification. Available values: <li>ON: Enable intelligent classification task;</li> <li>OFF: Disable intelligent classification task.</li></p>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type MPSAIAnalysisTemplate struct {
	// <p>Video analysis template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Video analysis template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Parameters for the intelligent classification task.</p>
	ClassificationConfigure *MPSAIAnalysisConfigureInfo `json:"ClassificationConfigure,omitnil,omitempty" name:"ClassificationConfigure"`

	// <p>Control parameters for the intelligent tag task.</p>
	TagConfigure *MPSAIAnalysisConfigureInfo `json:"TagConfigure,omitnil,omitempty" name:"TagConfigure"`

	// <p>Intelligent Cover Task Control Parameters.</p>
	CoverConfigure *MPSAIAnalysisConfigureInfo `json:"CoverConfigure,omitnil,omitempty" name:"CoverConfigure"`

	// <p>Control parameters for the intelligent frame-specific tagging task.</p>
	FrameTagConfigure *MPSAIAnalysisConfigureInfo `json:"FrameTagConfigure,omitnil,omitempty" name:"FrameTagConfigure"`

	// <p>Task control parameters for video splitting.</p>
	SplitConfigure *MPSAIAnalysisConfigureInfo `json:"SplitConfigure,omitnil,omitempty" name:"SplitConfigure"`

	// <p>Control parameters for the intelligent highlights task.</p>
	HighlightConfigure *MPSAIAnalysisConfigureInfo `json:"HighlightConfigure,omitnil,omitempty" name:"HighlightConfigure"`

	// <p>Intelligent Opening and Closing Credits Task Control Parameters.</p>
	OpeningAndEndingConfigure *MPSAIAnalysisConfigureInfo `json:"OpeningAndEndingConfigure,omitnil,omitempty" name:"OpeningAndEndingConfigure"`
}

type MPSAIAnalysisTemplateForUpdate struct {
	// <p>Unique identifier of a video analysis template.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Video analysis template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Video analysis template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Intelligent Classification Task Control Parameters.</p>
	ClassificationConfigure *MPSAIAnalysisConfigureInfo `json:"ClassificationConfigure,omitnil,omitempty" name:"ClassificationConfigure"`

	// <p>Intelligent tag task control parameter.</p>
	TagConfigure *MPSAIAnalysisConfigureInfo `json:"TagConfigure,omitnil,omitempty" name:"TagConfigure"`

	// <p>Parameters for the intelligent cover task.</p>
	CoverConfigure *MPSAIAnalysisConfigureInfo `json:"CoverConfigure,omitnil,omitempty" name:"CoverConfigure"`

	// <p>Task control parameters for intelligent frame tagging.</p>
	FrameTagConfigure *MPSAIAnalysisConfigureInfo `json:"FrameTagConfigure,omitnil,omitempty" name:"FrameTagConfigure"`

	// <p>Task control parameter for intelligent splitting.</p>
	SplitConfigure *MPSAIAnalysisConfigureInfo `json:"SplitConfigure,omitnil,omitempty" name:"SplitConfigure"`

	// <p>Intelligent highlights task control parameter.</p>
	HighlightConfigure *MPSAIAnalysisConfigureInfo `json:"HighlightConfigure,omitnil,omitempty" name:"HighlightConfigure"`

	// <p>Parameters for the intelligent video opening/closing credits task.</p>
	OpeningAndEndingConfigure *MPSAIAnalysisConfigureInfo `json:"OpeningAndEndingConfigure,omitnil,omitempty" name:"OpeningAndEndingConfigure"`
}

type MPSAiAnalysisTaskInput struct {
	// <p>ID of the video analysis template.</p>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Additional parameters, whose value is a serialized json string. Note: This parameter is for customization requirements. See the following: <a href="https://www.tencentcloud.com/document/product/862/101530?from_cn_redirect=1">Intelligent Erasure</a><a href="https://www.tencentcloud.com/document/product/862/112098?from_cn_redirect=1">Intelligent Splitting</a><a href="https://www.tencentcloud.com/document/product/862/107280?from_cn_redirect=1">Highlight</a><a href="https://www.tencentcloud.com/document/product/862/112112?from_cn_redirect=1">Intelligent Landscape-to-Portrait</a></p>
	ExtendedParameter *string `json:"ExtendedParameter,omitnil,omitempty" name:"ExtendedParameter"`
}

type MPSAiMediaInfo struct {
	// List of intelligent media information processed by MPS
	AiMediaList []*MPSAiMediaItem `json:"AiMediaList,omitnil,omitempty" name:"AiMediaList"`
}

type MPSAiMediaItem struct {
	// MPS intelligent processing task type. Valid values:
	// <li>AiAnalysis.ClassificationTask: intelligent classification task.</li>
	// <li>AiAnalysis.CoverTask: intelligent thumbnail generating.</li>
	// <li>AiAnalysis.TagTask: intelligent tag task.</li>
	// <li>AiAnalysis.FrameTagTask: intelligent frame-by-frame tagging task.</li>
	// <li>AiAnalysis.HighlightTask: Intelligent highlight task.</li>
	// <li>AiAnalysis.SegmentTask: Intelligent video splitting task.</li>
	// <li>AiAnalysis.HeadTailTask: Intelligent opening and closing credits task.</li>
	// <li>AiAnalysis.DescriptionTask: Intelligent summary task.</li>
	// <li>AiAnalysis.HorizontalToVerticalTask: Intelligent Landscape to Portrait Task.</li>
	// <li>AiAnalysis.DubbingTask: Intelligent dubbing task.</li>
	// <li>AiAnalysis.VideoRemakeTask: Intelligent deduplication task.</li>
	// <li>AiAnalysis.VideoComprehensionTask: Video understanding task.</li>
	// <li>SmartSubtitle.AsrFullTextTask: Intelligent speech full-text recognition task.</li>
	// <li>SmartSubtitle.TransTextTask: Translation result.</li>
	// <li>SmartSubtitle.PureSubtitleTransTask: Returns the pure subtitle file translation result.</li>
	// <li>SmartSubtitle.OcrFullTextTask: Intelligent text extraction subtitle task.</li>
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// MPS intelligent processing task result set
	AiMediaTasks []*MPSAiMediaTask `json:"AiMediaTasks,omitnil,omitempty" name:"AiMediaTasks"`
}

type MPSAiMediaTask struct {
	// MPS intelligent task template ID
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// MPS intelligent task output file collection
	OutputFile []*MPSOutputFileInfo `json:"OutputFile,omitnil,omitempty" name:"OutputFile"`

	// The returned result of the MPS intelligent task. This field corresponds to the Output result in the MPS task return and is returned in JSON format.
	// Different MPS task output results have different structures. For the specific return content, see the MPS task output struct.
	// [Intelligent classification result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskClassificationOutput)
	// [Intelligent cover result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskCoverOutput)
	// [Intelligent Tag Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskTagOutput)
	// [Intelligent frame tagging classification result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskFrameTagOutput)
	// [Intelligent Highlight Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHighlightOutput)
	// [Video Splitting Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskSegmentOutput)
	// [Intelligent video opening/closing credits result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHeadTailOutput)
	// [Intelligent summary result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskDescriptionOutput)
	// [Horizontal-to-Vertical Video Transformation Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHorizontalToVerticalOutput)
	// [Intelligent dubbing result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskDubbingOutput)
	// [Intelligent video understanding result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskVideoComprehensionOutput)
	// [Intelligent caption full speech recognition result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskAsrFullTextResultOutput)
	// [Intelligent caption translation result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskTransTextResultOutput)
	// [Intelligent caption pure srt translation result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#PureSubtitleTransResultOutput)
	// [Smart subtitling text extraction result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskTextResultOutput)
	// 
	OutputText *string `json:"OutputText,omitnil,omitempty" name:"OutputText"`
}

type MPSEraseArea struct {
	// <p>Top-left X-axis coordinate of the region. When Unit is set to 1 (using percentage unit), 0.05 means the horizontal distance from the top-left corner of the region to the top-left corner of the entire image is 5% of the image width.</p>
	LeftTopX *float64 `json:"LeftTopX,omitnil,omitempty" name:"LeftTopX"`

	// <p>Y-axis coordinate of the top-left corner. For example, when Unit is set to 1 (using percentage), 0.1 means the vertical distance from the top-left corner of the region to the top-left corner of the entire frame is 10% of the screen height.</p>
	LeftTopY *float64 `json:"LeftTopY,omitnil,omitempty" name:"LeftTopY"`

	// <p>X coordinate of the bottom-right corner of the region. For example, when Unit is 1 (using percentage as the measurement unit), 0.75 means the horizontal distance from the bottom-right corner of the region to the top-left corner of the entire frame is 75% of the frame width.</p>
	RightBottomX *float64 `json:"RightBottomX,omitnil,omitempty" name:"RightBottomX"`

	// <p>Y-axis coordinate of the bottom-right corner. For example, when Unit is 1 (using percentage), 0.9 means the vertical distance from the top-left corner to the bottom-right corner is 90% of the screen height.</p>
	RightBottomY *float64 `json:"RightBottomY,omitnil,omitempty" name:"RightBottomY"`

	// <p>Coordinate unit - 1 percentage - 2 pixel value</p>
	Unit *uint64 `json:"Unit,omitnil,omitempty" name:"Unit"`
}

type MPSEraseTimeArea struct {
	// <p>Start time, unit: ms</p>
	BeginMs *uint64 `json:"BeginMs,omitnil,omitempty" name:"BeginMs"`

	// <p>End time, unit: ms</p>
	EndMs *uint64 `json:"EndMs,omitnil,omitempty" name:"EndMs"`

	// <p>Domain list for erasure within the period</p>
	Areas []*MPSEraseArea `json:"Areas,omitnil,omitempty" name:"Areas"`
}

type MPSOutputFile struct {
	// File type. Used to identify specific return files in the execution result of an MPS video processing task.
	// Value: <li>AiAnalysis.DeLogo.Video: The erased video file generated in the intelligent erasure task, stored in the original file type by default;</li> <li>AiAnalysis.DeLogo.OriginSubtitle: The subtitle file extracted from video in the intelligent erasure task;</li> <li>AiAnalysis.DeLogo.TranslateSubtitle: The translation file of subtitles extracted from video in the intelligent erasure task.</li> <li>MediaProcess.Transcode.Video: The enhanced audio and video file in the audio and video enhancement task, stored in the transcoded file type by default.</li>
	// <li>AiAnalysis.HorizontalToVerticalTask.Video: The generated video file in the horizontal to vertical task is stored as an intelligent media type by default.</li>
	// <li>AiAnalysis.VideoRemakeTaskk.Video: The generated video file in the intelligent deduplication task, stored as an intelligent media type by default.</li>
	// <li>AiAnalysis.SegmentTask.Video: Generated video file in the intelligent video splitting task, stored as intelligent media type by default.</li>
	// <li>SmartErase.Video: Generated video file in the intelligent erasure task, stored as intelligent media type by default.</li>
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Storage format. To represent the storage format of the result file. Valid values: <li>Permanent: permanent storage;</li> <li>Temporary: temporary storage.</li>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// Media file ID. Valid when Type is Permanent, indicating that the result file is stored as a media asset on the VOD platform, with the field value being the FileId of the media asset.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Downloadable Url of the result file.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Transcoding specification ID. Valid when FileType equals MediaProcess.Transcode.Video. A value of 0 means the original file.
	Definition *string `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Expiration time. Valid when StorageMode is Temporary, indicates the expiry date of the Url, in seconds.
	ExpiredTime *uint64 `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
}

type MPSOutputFileInfo struct {
	// MPS output file type. Valid values:
	// <li>Video: the generated video file of the task.</li>
	// <li>Cover: cover file generated by task generation.</li>
	// <li>Audio: audio file generated by task generation.</li>
	// <li>Output: The result output of task generation. The file corresponds to the Output result in the MPS task response and is generated in JSON format.</li>
	// 
	// Output file. Different MPS tasks have different output results. For specific return content, refer to the MPS task output struct. The struct is JSON-serialized to generate the Output file.
	// [Intelligent classification result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskClassificationOutput)
	// [Intelligent cover result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskCoverOutput)
	// [Intelligent Tag Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskTagOutput)
	// [Intelligent frame tagging classification result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskFrameTagOutput)
	// [Intelligent Highlight Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHighlightOutput)
	// [Video Splitting Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskSegmentOutput)
	// [Intelligent video opening/closing credits result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHeadTailOutput)
	// [Intelligent summary result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskDescriptionOutput)
	// [Horizontal-to-Vertical Video Transformation Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHorizontalToVerticalOutput)
	// [Intelligent dubbing result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskDubbingOutput)
	// [Intelligent video understanding result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskVideoComprehensionOutput)
	// [Intelligent caption full speech recognition result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskAsrFullTextResultOutput)
	// [Intelligent caption translation result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskTransTextResultOutput)
	// [Intelligent caption pure srt translation result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#PureSubtitleTransResultOutput)
	// [Smart subtitling text extraction result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskTextResultOutput)
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// MPS output file URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type MPSOverrideEraseParameter struct {
	// <p>Removal Type</p><ul><li>subtitle removal</li><li>watermark removal</li><li>privacy protection</li></ul>
	EraseType *string `json:"EraseType,omitnil,omitempty" name:"EraseType"`

	// <p>Subtitle erasing configuration;<br>This field is required when the value of EraseType is set to subtitle.</p>
	EraseSubtitleConfig *MPSUpdateSmartEraseSubtitleConfig `json:"EraseSubtitleConfig,omitnil,omitempty" name:"EraseSubtitleConfig"`

	// <p>Watermark erasing configuration.<br>This field is required when the value of EraseType is set to watermark.</p>
	EraseWatermarkConfig *MPSUpdateSmartEraseWatermarkConfig `json:"EraseWatermarkConfig,omitnil,omitempty" name:"EraseWatermarkConfig"`

	// <p>Privacy protection configuration.<br>This field is required when the value of EraseType is privacy.</p>
	ErasePrivacyConfig *MPSSmartErasePrivacyConfig `json:"ErasePrivacyConfig,omitnil,omitempty" name:"ErasePrivacyConfig"`

	// <p>id of the subtitle removal suppression template.</p>
	SubtitleEmbedId *int64 `json:"SubtitleEmbedId,omitnil,omitempty" name:"SubtitleEmbedId"`
}

type MPSRawSmartEraseParameter struct {
	// <p>Removal Type</p><ul><li>subtitle removal</li><li>watermark removal</li><li>privacy protection</li></ul>
	EraseType *string `json:"EraseType,omitnil,omitempty" name:"EraseType"`

	// <p>Subtitle erasing configuration;<br>This field is required when the value of EraseType is set to subtitle.</p>
	EraseSubtitleConfig *MPSSmartEraseSubtitleConfig `json:"EraseSubtitleConfig,omitnil,omitempty" name:"EraseSubtitleConfig"`

	// <p>Watermark erasing configuration.<br>This field is required when the value of EraseType is set to watermark.</p>
	EraseWatermarkConfig *MPSSmartEraseWatermarkConfig `json:"EraseWatermarkConfig,omitnil,omitempty" name:"EraseWatermarkConfig"`

	// <p>Privacy protection configuration.<br>This field is required when the value of EraseType is privacy.</p>
	ErasePrivacyConfig *MPSSmartErasePrivacyConfig `json:"ErasePrivacyConfig,omitnil,omitempty" name:"ErasePrivacyConfig"`

	// <p>id of the subtitle removal suppression template.</p>
	SubtitleEmbedId *int64 `json:"SubtitleEmbedId,omitnil,omitempty" name:"SubtitleEmbedId"`

	// <p>Suppression configuration, enabled by default, moves subtitles back to the original subtitle position.</p>
	UseOriginalPos *int64 `json:"UseOriginalPos,omitnil,omitempty" name:"UseOriginalPos"`

	// <p>Suppression configuration, enabled by default. When enabled, use the original subtitle font size.</p>
	UseOriginalSize *int64 `json:"UseOriginalSize,omitnil,omitempty" name:"UseOriginalSize"`
}

type MPSRawSmartSubtitleParameter struct {
	// <p>Intelligent caption subtitle language type.</p><p>Enumeration value:</p><ul><li>0: Source language</li><li>1: Target language</li><li>2: Source language + target language</li></ul><p>Only 0 is supported when TranslateSwitch is OFF. Only 1 or 2 is supported when TranslateSwitch is ON.</p>
	SubtitleType *int64 `json:"SubtitleType,omitnil,omitempty" name:"SubtitleType"`

	// <p>Smart subtitling video source language<br>OCR recognition supports the following languages:<br><code>zh_en</code>: Chinese-English<br><code>multi</code>: Other<br>ASR recognition and pure caption translation currently support the following languages:<br><code>auto</code>: Auto-identification<br><code>zh</code>: Simplified Chinese<br><code>en</code>: English<br><code>ja</code>: Japanese<br><code>ko</code>: Korean<br><code>zh-PY</code>: Chinese-English-Cantonese<br><code>zh_medical</code>: Chinese health care<br><code>vi</code>: Vietnamese<br><code>ms</code>: Malay<br><code>id</code>: Indonesian<br><code>fil</code>: Filipino<br><code>th</code>: Thai<br><code>pt</code>: Portuguese<br><code>tr</code>: Turkish<br><code>ar</code>: Arabic<br><code>es</code>: Spanish<br><code>hi</code>: Hindi<br><code>fr</code>: French<br><code>de</code>: German<br><code>it</code>: Italian<br><code>zh_dialect</code>: Chinese dialect<br><code>zh_en</code>: Chinese-English<br><code>yue</code>: Cantonese<br><code>ru</code>: Russian<br><code>prime_zh</code>: Chinese-English dialect<br><code>af-ZA</code>: Afrikaans (South Africa)<br><code>sq-AL</code>: Albanian (Albania)<br><code>am-ET</code>: Amharic (Ethiopia)<br><code>ar-DZ</code>: Arabic (Algeria)<br><code>ar-BH</code>: Arabic (Bahrain)<br><code>ar-EG</code>: Arabic (Egypt)<br><code>ar-IQ</code>: Arabic (Iraq)<br><code>ar-IL</code>: Arabic (Israel)<br><code>ar-JO</code>: Arabic (Jordan)<br><code>ar-KW</code>: Arabic (Kuwait)<br><code>ar-LB</code>: Arabic (Lebanon)<br><code>ar-MR</code>: Arabic (Mauritania)<br><code>ar-MA</code>: Arabic (Morocco)<br><code>ar-OM</code>: Arabic (Oman)<br><code>ar-QA</code>: Arabic (Qatar)<br><code>ar-SA</code>: Arabic (Saudi Arabia)<br><code>ar-PS</code>: Arabic (State of Palestine)<br><code>ar-SY</code>: Arabic (Syria)<br><code>ar-TN</code>: Arabic (Tunisia)<br><code>ar-AE</code>: Arabic (United Arab Emirates)<br><code>ar-YE</code>: Arabic (Yemen)<br><code>hy-AM</code>: Armenian (Armenia)<br><code>az-AZ</code>: Azerbaijani (Azerbaijan)<br><code>eu-ES</code>: Basque (Spain)<br><code>bn-BD</code>: Bengali (Bangladesh)<br><code>bn-IN</code>: Bengali (India)<br><code>bs-BA</code>: Bosnian (Bosnia and Herzegovina)<br><code>bg-BG</code>: Bulgarian (Bulgaria)<br><code>my-MM</code>: Burmese (Myanmar)<br><code>ca-ES</code>: Catalan (Spain)<br><code>hr-HR</code>: Croatian (Croatia)<br><code>cs-CZ</code>: Czech (Czech Republic)<br><code>da-DK</code>: Danish (Denmark)<br><code>nl-BE</code>: Dutch (Belgium)<br><code>nl-NL</code>: Dutch (Netherlands)<br><code>en-AU</code>: English (Australia)<br><code>en-CA</code>: English (Canada)<br><code>en-GH</code>: English (Ghana)<br><code>en-HK</code>: English (Hong Kong (China))<br><code>en-IN</code>: English (India)<br><code>en-IE</code>: English (Ireland)<br><code>en-KE</code>: English (Kenya)<br><code>en-NZ</code>: English (New Zealand)<br><code>en-NG</code>: English (Nigeria)<br><code>en-PK</code>: English (Pakistan)<br><code>en-PH</code>: English (Philippines)<br><code>en-SG</code>: English (Singapore)<br><code>en-ZA</code>: English (South Africa)<br><code>en-TZ</code>: English (Tanzania)<br><code>en-GB</code>: English (UK)<br><code>en-US</code>: English (United States)<br><code>et-EE</code>: Estonian (Estonia)<br><code>fil-PH</code>: Filipino (Philippines)<br><code>fi-FI</code>: Finnish (Finland)<br><code>fr-BE</code>: French (Belgium)<br><code>fr-CA</code>: French (Canada)<br><code>fr-FR</code>: French (France)<br><code>fr-CH</code>: French (Switzerland)<br><code>gl-ES</code>: Galician (Spain)<br><code>ka-GE</code>: Georgian (Georgia)<br><code>el-GR</code>: Greek (Greece)<br><code>gu-IN</code>: Gujarati (India)<br><code>iw-IL</code>: Hebrew (Israel)<br><code>hi-IN</code>: Hindi (India)<br><code>hu-HU</code>: Hungarian (Hungary)<br><code>is-IS</code>: Icelandic (Iceland)<br><code>id-ID</code>: Indonesian (Indonesia)<br><code>it-IT</code>: Italian (Italy)<br><code>it-CH</code>: Italian (Switzerland)<br><code>ja-JP</code>: Japanese (Japan)<br><code>jv-ID</code>: Javanese (Indonesia)<br><code>kn-IN</code>: Kannada (India)<br><code>kk-KZ</code>: Kazakh (Kazakhstan)<br><code>km-KH</code>: Khmer (Cambodia)<br><code>rw-RW</code>: Kinyarwanda (Rwanda)<br><code>ko-KR</code>: Korean (South Korea)<br><code>lo-LA</code>: Lao (Laos)<br><code>lv-LV</code>: Latvian (Latvia)<br><code>lt-LT</code>: Lithuanian (Lithuania)<br><code>mk-MK</code>: Macedonian (North Macedonia)<br><code>ms-MY</code>: Malay (Malaysia)<br><code>ml-IN</code>: Malayalam (India)<br><code>mr-IN</code>: Marathi (India)<br><code>mn-MN</code>: Mongolian (Mongolia)<br><code>ne-NP</code>: Nepali (Nepal)<br><code>no-NO</code>: Norwegian Bokmål (Norway)<br><code>fa-IR</code>: Persian (Iran)<br><code>pl-PL</code>: Polish (Poland)<br><code>pt-BR</code>: Portuguese (Brazil)<br><code>pt-PT</code>: Portuguese (Portugal)<br><code>ro-RO</code>: Romanian (Romania)<br><code>ru-RU</code>: Russian (Russia)<br><code>sr-RS</code>: Serbian (Serbia)<br><code>si-LK</code>: Sinhalese (Sri Lanka)<br><code>sk-SK</code>: Slovak (Slovakia)<br><code>sl-SI</code>: Slovenian (Slovenia)<br><code>st-ZA</code>: Southern Sotho (South Africa)<br><code>es-AR</code>: Spanish (Argentina)<br><code>es-BO</code>: Spanish (Bolivia)<br><code>es-CL</code>: Spanish (Chile)<br><code>es-CO</code>: Spanish (Colombia)<br><code>es-CR</code>: Spanish (Costa Rica)<br><code>es-DO</code>: Spanish (Dominican Republic)<br><code>es-EC</code>: Spanish (Ecuador)<br><code>es-SV</code>: Spanish (El Salvador)<br><code>es-GT</code>: Spanish (Guatemala)<br><code>es-HN</code>: Spanish (Honduras)<br><code>es-MX</code>: Spanish (Mexico)<br><code>es-NI</code>: Spanish (Nicaragua)<br><code>es-PA</code>: Spanish (Panama)<br><code>es-PY</code>: Spanish (Paraguay)<br><code>es-PE</code>: Spanish (Peru)<br><code>es-PR</code>: Spanish (Puerto Rico)<br><code>es-ES</code>: Spanish (Spain)<br><code>es-US</code>: Spanish (United States)<br><code>es-UY</code>: Spanish (Uruguay)<br><code>es-VE</code>: Spanish (Venezuela)<br><code>su-ID</code>: Sundanese (Indonesia)<br><code>sw-KE</code>: Swahili (Kenya)<br><code>sw-TZ</code>: Swahili (Tanzania)<br><code>sv-SE</code>: Swedish (Sweden)<br><code>ta-IN</code>: Tamil (India)<br><code>ta-MY</code>: Tamil (Malaysia)<br><code>ta-SG</code>: Tamil (Singapore)<br><code>ta-LK</code>: Tamil (Sri Lanka)<br><code>te-IN</code>: Telugu (India)<br><code>th-TH</code>: Thai (Thailand)<br><code>ts-ZA</code>: Tsonga (South Africa)<br><code>tr-TR</code>: Turkish (Türkiye)<br><code>uk-UA</code>: Ukrainian (Ukraine)<br><code>ur-IN</code>: Urdu (India)<br><code>ur-PK</code>: Urdu (Pakistan)<br><code>uz-UZ</code>: Uzbek (Uzbekistan)<br><code>ve-ZA</code>: Venda (South Africa)<code>vi-VN</code>: Vietnamese (Vietnam)<br><code>xh-ZA</code>: Xhosa (South Africa)<br><code>zu-ZA</code>: Zulu (South Africa)</p>
	VideoSrcLanguage *string `json:"VideoSrcLanguage,omitnil,omitempty" name:"VideoSrcLanguage"`

	// <p>Intelligent subtitle file format:</p><ul><li>For ASR recognition translation processing type:<ul><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li><li>Blank or fill in the blank: no subtitle file generated</li></ul></li><li>For pure caption translation processing type:<ul><li>original: consistent with the source file</li><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li></ul></li><li>For OCR recognition translation processing type:<ul><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li></ul></li></ul><p><strong>Note</strong>:</p><ul><li>For ASR recognition method, passing blank or unspecified is not allowed when translating at least 2 languages.</li><li>For pure caption translation and OCR recognition translation methods, passing blank or unspecified is not allowed.</li><li>For OCR type tasks, passing blank or unspecified is allowed when suppression is enabled.</li></ul>
	SubtitleFormat *string `json:"SubtitleFormat,omitnil,omitempty" name:"SubtitleFormat"`

	// <p>Subtitle translation switch<br><code>ON</code>: Enable translation<br><code>OFF</code>: Disable translation</p><p><strong>Note</strong>: For pure subtitle translation mode, the default value is enabled if the field is unspecified. The field cannot be left blank or set to <code>OFF</code>.</p>
	TranslateSwitch *string `json:"TranslateSwitch,omitnil,omitempty" name:"TranslateSwitch"`

	// <p>Subtitle target language<br>Take effect when TranslateSwitch is ON. Translation language list:<br><code>ab</code>: Abkhaz<br><code>ace</code>: Acehnese<br><code>ach</code>: Acholi<br><code>af</code>: Afrikaans<br><code>ak</code>: Akan<br><code>am</code>: Amharic<br><code>ar</code>: Arabic<br><code>as</code>: Assamese<br><code>ay</code>: Aymara<br><code>az</code>: Azerbaijani<br><code>ba</code>: Bashkir<br><code>ban</code>: Balinese<br><code>bbc</code>: Batak Toba<br><code>bem</code>: Bemba<br><code>bew</code>: Betawi<br><code>bg</code>: Bulgarian<br><code>bho</code>: Bhojpuri<br><code>bik</code>: Bikol<br><code>bm</code>: Bambara<br><code>bn</code>: Bengali<br><code>br</code>: Breton<br><code>bs</code>: Bosnian<br><code>btx</code>: Batak Karo<br><code>bts</code>: Batak Simalungun<br><code>bua</code>: Buryat<br><code>ca</code>: Catalan<br><code>ceb</code>: Cebuano<br><code>cgg</code>: Kiga<br><code>chm</code>: Meadow Mari<br><code>ckb</code>: Kurdish (Sorani)<br><code>cnh</code>: Hakha Chin<br><code>co</code>: Corsican<br><code>crh</code>: Crimean Tatar<br><code>crs</code>: Seychellois Creole<br><code>cs</code>: Czech<br><code>cv</code>: Chuvash<br><code>cy</code>: Welsh<br><code>da</code>: Danish<br><code>de</code>: German<br><code>din</code>: Dinka<br><code>doi</code>: Dogri<br><code>dov</code>: Dombe<br><code>dv</code>: Dhivehi<br><code>dz</code>: Dzongkha<br><code>ee</code>: Ewe<br><code>el</code>: Greek<br><code>en</code>: English<br><code>eo</code>: Esperanto<br><code>es</code>: Spanish<br><code>et</code>: Estonian<br><code>eu</code>: Basque<br><code>fa</code>: Persian<br><code>ff</code>: Fula<br><code>fi</code>: Finnish<br><code>fil</code>: Filipino (Tagalog)<br><code>fj</code>: Fijian<br><code>fr</code>: French<br><code>fr-CA</code>: French (Canada)<br><code>fr-FR</code>: French (France)<br><code>fy</code>: Frisian<br><code>ga</code>: Irish<br><code>gaa</code>: Ga Language<br><code>gd</code>: Scottish Gaelic<br><code>gl</code>: Galician<br><code>gn</code>: Guarani<br><code>gom</code>: Konkani<br><code>gu</code>: Gujarati<br><code>gv</code>: Manx<br><code>ha</code>: Hausa<br><code>haw</code>: Hawaiian<br><code>he</code>: Hebrew<br><code>hi</code>: Hindi<br><code>hil</code>: Hiligaynon<br><code>hmn</code>: Hmong<br><code>hr</code>: Croatian<br><code>hrx</code>: Hunsrik<br><code>ht</code>: Haitian Creole<br><code>hu</code>: Hungarian<br><code>hy</code>: Armenian<br><code>id</code>: Indonesian<br><code>ig</code>: Igbo<br><code>ilo</code>: Ilocano<br><code>is</code>: Icelandic<br><code>it</code>: Italian<br><code>iw</code>: Hebrew<br><code>ja</code>: Japanese<br><code>jv</code>: Javanese<br><code>ka</code>: Georgian<br><code>kk</code>: Kazakh<br><code>km</code>: Khmer<br><code>kn</code>: Kannada<br><code>ko</code>: Korean<br><code>kri</code>: Krio<br><code>ku</code>: Kurdish (Kurmanji)<br><code>ktu</code>: Kituba<br><code>ky</code>: Kyrgyz<br><code>la</code>: Latin<br><code>lb</code>: Luxembourgish<br><code>lg</code>: Ganda (Luganda)<br><code>li</code>: Limburgish<br><code>lij</code>: Ligurian<br><code>lmo</code>: Lombard<br><code>ln</code>: Lingala<br><code>lo</code>: Lao<br><code>lt</code>: Lithuanian<br><code>ltg</code>: Latgalian<br><code>luo</code>: Luo<br><code>lus</code>: Mizo<br><code>lv</code>: Latvian<br><code>mai</code>: Maithili<br><code>mak</code>: Makassar<br><code>mg</code>: Malagasy<br><code>mi</code>: Maori<br><code>min</code>: Minangkabau<br><code>mk</code>: Macedonian<br><code>ml</code>: Malayalam<br><code>mn</code>: Mongolian<br><code>mr</code>: Marathi<br><code>ms</code>: Malay<br><code>mt</code>: Maltese<br><code>my</code>: Burmese<br><code>ne</code>: Nepali<br><code>new</code>: Newari<br><code>nl</code>: Dutch<br><code>no</code>: Norwegian<br><code>nr</code>: Southern Ndebele<br><code>nso</code>: Northern Sotho (Sepedi)<br><code>nus</code>: Nuer<br><code>ny</code>: Chichewa (Nyanja)<br><code>oc</code>: Occitan<br><code>om</code>: Oromo<br><code>or</code>: Odia<br><code>pa</code>: Punjabi<br><code>pag</code>: Pangasinan<br><code>pam</code>: Kapampangan<br><code>pap</code>: Papiamento<br><code>pl</code>: Polish<br><code>ps</code>: Pashto<br><code>pt</code>: Portuguese<br><code>pt-BR</code>: Portuguese (Brazil)<br><code>pt-PT</code>: Portuguese (Portugal)<br><code>qu</code>: Quechua<br><code>ro</code>: Romanian<br><code>rom</code>: Romani<br><code>rn</code>: Rundi<br><code>ru</code>: Russian<br><code>rw</code>: Kinyarwanda<br><code>sa</code>: Sanskrit<br><code>scn</code>: Sicilian<br><code>sd</code>: Sindhi<br><code>sg</code>: Sango<br><code>shn</code>: Shan<br><code>si</code>: Sinhalese<br><code>sk</code>: Slovak<br><code>sl</code>: Slovenian<br><code>sm</code>: Samoan<br><code>sn</code>: Shona<br><code>so</code>: Somali<br><code>sq</code>: Albanian<br><code>sr</code>: Serbian<br><code>ss</code>: Swati<br><code>st</code>: Sesotho<br><code>su</code>: Sundanese<br><code>sv</code>: Swedish<br><code>sw</code>: Swahili<br><code>szl</code>: Silesian<br><code>ta</code>: Tamil<br><code>te</code>: Telugu<br><code>tet</code>: Tetum<br><code>tg</code>: Tajik<br><code>th</code>: Thai<br><code>ti</code>: Tigrinya<br><code>tk</code>: Turkmen<br><code>tn</code>: Tswana<br><code>tr</code>: Turkish<br><code>ts</code>: Tsonga<br><code>tt</code>: Tatar<br><code>ug</code>: Uyghur<br><code>uk</code>: Ukrainian<br><code>ur</code>: Urdu<br><code>uz</code>: Uzbek<br><code>vi</code>: Vietnamese<br><code>xh</code>: Xhosa<br><code>yi</code>: Yiddish<br><code>yo</code>: Yoruba<br><code>yua</code>: Yucatec Maya<br><code>yue</code>: Cantonese<br><code>zh</code>: Simplified Chinese<br><code>zh-TW</code>: Traditional Chinese<br><code>zu</code>: Zulu</p><p><strong>Note</strong>: Use the multilingual method. <code>/</code> to separate, such as <code>en/ja</code>, which indicates English and Japanese.</p>
	TranslateDstLanguage *string `json:"TranslateDstLanguage,omitnil,omitempty" name:"TranslateDstLanguage"`

	// <p>Custom parameter</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <p>Subtitle processing type:</p><ul><li>0: ASR recognition subtitle</li><li>1: Pure caption translation</li><li>2: OCR recognition subtitle</li></ul><p><strong>Note</strong>: The default type is ASR recognition subtitle if the field is unspecified.</p>
	ProcessType *uint64 `json:"ProcessType,omitnil,omitempty" name:"ProcessType"`
}

type MPSSelectingSubtitleAreasConfig struct {
	// <p>Automatically select a custom region. For the selected areas, the AI model is used to automatically detect and extract the target content.</p>
	AutoAreas []*MPSEraseArea `json:"AutoAreas,omitnil,omitempty" name:"AutoAreas"`

	// <p>Width of the sample video or image, in pixels.</p>
	SampleWidth *uint64 `json:"SampleWidth,omitnil,omitempty" name:"SampleWidth"`

	// <p>Height of the sample video or image, in pixels.</p>
	SampleHeight *uint64 `json:"SampleHeight,omitnil,omitempty" name:"SampleHeight"`
}

type MPSSmartErasePrivacyConfig struct {
	// <p>Privacy protection removal method.</p><p>Enumeration value:</p><ul><li>blur: Blurry</li><li>mosaic: Mosaic</li></ul>
	PrivacyModel *string `json:"PrivacyModel,omitnil,omitempty" name:"PrivacyModel"`

	// <p>Privacy protection objective (no need to input an array when in use on API Explorer, just add the corresponding item and fill in the value).</p><p>Enumeration value:</p><ul><li>face: human face</li><li>plate: license plate</li></ul>
	PrivacyTargets []*string `json:"PrivacyTargets,omitnil,omitempty" name:"PrivacyTargets"`
}

type MPSSmartEraseSubtitleConfig struct {
	// <p>Subtitle erasure method.<br><strong>Automatic erasing:</strong> Video subtitles are automatically recognized using an AI model and are erased without traces to generate a new video. However, missed or incorrect erasing may occur due to image interference and special subtitle styles. In this case, you can specify the erasing area.<br>When using automatic erasing, if you do not specify AutoAreas, the default region (lower middle part of the frame) will be erased automatically. If AutoAreas is specified, the designated region will be erased instead.<br><strong>Specified area erasure:</strong> If your subtitle position is fixed, it is recommended to directly specify the erasure area to minimize missed erasures.<br>When choosing specified area erasure, please input at least one designated region in CustomAreas.</p><ul><li>auto: Automatic erasing</li><li>custom: Specified area erasure</li></ul>
	SubtitleEraseMethod *string `json:"SubtitleEraseMethod,omitnil,omitempty" name:"SubtitleEraseMethod"`

	// <p>Subtitle erasure model.<br><strong>Standard version (recommended):</strong> If your subtitles have a standard style, it is usually recommended to select this version for better effectiveness in seamless detail removal.<br><strong>Area edition:</strong> If the subtitles have special styles, such as calligraphy, shadow, or motion effects, you are recommended to select this edition to ensure a larger erasing area. However, the erasing effect in the details is not as good as the standard edition.</p><ul><li>standard Standard model</li><li>area Regional model</li></ul>
	SubtitleModel *string `json:"SubtitleModel,omitnil,omitempty" name:"SubtitleModel"`

	// <p>Whether OCR subtitle extraction is enabled. The default value is OFF.<br>OCR subtitle extraction is supported if and only if SubtitleEraseMethod is set to auto. When enabled, it identifies the text region that appears most persistently and stably within the automatic erasing area as the subtitle area. The text within the subtitle area is extracted and erased.</p><ul><li>ON Enable</li><li>OFF Disable</li></ul>
	OcrSwitch *string `json:"OcrSwitch,omitnil,omitempty" name:"OcrSwitch"`

	// <p>Subtitle language, used to guide OCR recognition, default value is zh_en. This parameter is valid only when OcrSwitch is "ON".</p><ul><li>zh_en Chinese and English</li><li>multi Other<br>Other supported recognition languages are as follows:<br>Chinese, English, Japanese, Korean, Spanish, French, German, Portuguese, Vietnamese, Malay, Russian, Italian, Dutch, Swedish, Finnish, Danish, Norwegian, Hungarian, Thai, Hindi, Arabic, India-Bengali, India-Gujarati, India-Kannada, India-Malayalam, India-Tamil, India-Telugu, Slovenian, Polish, Catalonia, Bosnia, Czech, Estonian, Croatian, Punjabi, Marathi, Azerbaijan, Indonesian, Luxembourg, Lithuanian, Latvian, Malta, Slovak, Turkish, Kazakh, Greek, Irish, Belarus, Khmer, Tagalog, Pashto, Persian, Tajikistan</li></ul>
	SubtitleLang *string `json:"SubtitleLang,omitnil,omitempty" name:"SubtitleLang"`

	// <p>Subtitle file format. Default value is vtt. This parameter is valid only when OcrSwitch takes value "ON".</p><ul><li>srt srt format</li><li>vtt WebVTT format</li><li>When SubtitleEmbedId is filled, empty string can be taken to indicate no output subtitles.</li></ul>
	SubtitleFormat *string `json:"SubtitleFormat,omitnil,omitempty" name:"SubtitleFormat"`

	// <p>Whether caption translation is enabled or not. The default value is OFF. This parameter is valid only when OcrSwitch is set to "ON".</p><ul><li>ON Enable</li><li>OFF Disable</li></ul>
	TransSwitch *string `json:"TransSwitch,omitnil,omitempty" name:"TransSwitch"`

	// <p>The target language for subtitles, default value is en; this parameter is valid only when TransSwitch is set to "ON".<br>Currently support the following languages:<br>zh: Simplified Chinese<br>en: English<br>ja: Japanese<br>ko: Korean<br>fr: French<br>es: Spanish<br>it: Italian<br>de: German<br>tr: Turkish<br>ru: Russian<br>pt: Portuguese<br>vi: Vietnamese<br>id: Indonesian<br>ms: Malay<br>th: Thai<br>ar: Arabic<br>hi: Hindi</p>
	TransDstLang *string `json:"TransDstLang,omitnil,omitempty" name:"TransDstLang"`

	// <p>Automatically erase custom regions.<br>For selected regions, use the AI model to automatically detect and erase existing targets.<br>Note: When the erase method is set to custom, this parameter will not take effect. To modify the template, input [] for region cleanup. If not provided, the template region information remains unchanged.</p>
	AutoAreas []*MPSEraseArea `json:"AutoAreas,omitnil,omitempty" name:"AutoAreas"`

	// <p>Designate the removal of custom regions.<br>For specified regions, directly perform erasure without detection and recognition within a selected time range.<br>Note: When modifying the template, import [] to clear regions. The template region information remains unchanged if not imported.</p>
	CustomAreas []*MPSEraseTimeArea `json:"CustomAreas,omitnil,omitempty" name:"CustomAreas"`

	// <p>Suppression configuration, enabled by default, compresses subtitles back to their original position. It can be filled only when OCR translation is turned on. A value of 0 indicates disabled suppression.</p>
	UseOriginalPos *int64 `json:"UseOriginalPos,omitnil,omitempty" name:"UseOriginalPos"`

	// <p>Suppression configuration, enabled by default. After being turned on, the original subtitle font size is used. It can only be filled when OCR translation is enabled. Setting it to 0 means non-use of the original font size.</p>
	UseOriginalSize *int64 `json:"UseOriginalSize,omitnil,omitempty" name:"UseOriginalSize"`
}

type MPSSmartEraseTaskInput struct {
	// <p>id of the intelligent erasing template.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Custom parameters for intelligent erasure. Valid when Definition is set to 0. This parameter is used in highly customized scenarios. It is recommended to prioritize using Definition to specify intelligent erasure parameters.</p>
	RawParameter *MPSRawSmartEraseParameter `json:"RawParameter,omitnil,omitempty" name:"RawParameter"`

	// <p>Custom parameters for smart erasing. When the value of Definition is not 0, this parameter is valid. When certain erasing parameters in this structure are specified, the specified parameters will be used to overwrite those in the smart erasing template. This parameter is used in highly customized scenarios. It is recommended to use only Definition to specify smart erasing parameters.</p>
	OverrideParameter *MPSOverrideEraseParameter `json:"OverrideParameter,omitnil,omitempty" name:"OverrideParameter"`
}

type MPSSmartEraseTemplate struct {
	// <p>Length limit for the smart erasing template name: 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Removal Type</p><ul><li>subtitle removal</li><li>watermark removal</li><li>privacy protection</li></ul>
	EraseType *string `json:"EraseType,omitnil,omitempty" name:"EraseType"`

	// <p>Length limit for the description information of the smart erasing template: 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Subtitle erasing configuration. This parameter is required and valid only when the value of EraseType is set to subtitle.</p>
	EraseSubtitleConfig *MPSSmartEraseSubtitleConfig `json:"EraseSubtitleConfig,omitnil,omitempty" name:"EraseSubtitleConfig"`

	// <p>Watermark erasing configuration. This parameter is required and valid only when the value of EraseType is set to watermark.</p>
	EraseWatermarkConfig *MPSSmartEraseWatermarkConfig `json:"EraseWatermarkConfig,omitnil,omitempty" name:"EraseWatermarkConfig"`

	// <p>Privacy protection configuration. This parameter is required and valid only when the value of EraseType is set to privacy.</p>
	ErasePrivacyConfig *MPSSmartErasePrivacyConfig `json:"ErasePrivacyConfig,omitnil,omitempty" name:"ErasePrivacyConfig"`

	// <p>Width of the sample video or image, in pixels.</p>
	SampleWidth *uint64 `json:"SampleWidth,omitnil,omitempty" name:"SampleWidth"`

	// <p>Height of the sample video or image, in pixels.</p>
	SampleHeight *uint64 `json:"SampleHeight,omitnil,omitempty" name:"SampleHeight"`
}

type MPSSmartEraseTemplateForUpdate struct {
	// <p>Unique identifier of the intelligent erasure template</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Length limit for the smart erasing template name: 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Removal Type</p><ul><li>subtitle removal</li><li>watermark removal</li><li>privacy protection</li></ul>
	EraseType *string `json:"EraseType,omitnil,omitempty" name:"EraseType"`

	// <p>Length limit for the description information of the smart erasing template: 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Subtitle erasing configuration. It takes effect when the value of EraseType is set to subtitle, or when the value of EraseType is left unspecified but the original EraseType value of the modified template is subtitle.</p>
	EraseSubtitleConfig *MPSSmartEraseSubtitleConfig `json:"EraseSubtitleConfig,omitnil,omitempty" name:"EraseSubtitleConfig"`

	// <p>Watermark erasing configuration. The value of EraseType can be set to watermark or left unspecified. This parameter is valid only when the value of EraseType of the corresponding template is set to watermark.</p>
	EraseWatermarkConfig *MPSSmartEraseWatermarkConfig `json:"EraseWatermarkConfig,omitnil,omitempty" name:"EraseWatermarkConfig"`

	// <p>Privacy protection configuration. The value of EraseType can be set to privacy or left unspecified. This parameter is valid only when the value of EraseType of the corresponding template is set to privacy.</p>
	ErasePrivacyConfig *MPSSmartErasePrivacyConfig `json:"ErasePrivacyConfig,omitnil,omitempty" name:"ErasePrivacyConfig"`

	// <p>Width of the sample video or image, in pixels.</p>
	SampleWidth *uint64 `json:"SampleWidth,omitnil,omitempty" name:"SampleWidth"`

	// <p>Height of the sample video or image, in pixels.</p>
	SampleHeight *uint64 `json:"SampleHeight,omitnil,omitempty" name:"SampleHeight"`
}

type MPSSmartEraseWatermarkConfig struct {
	// <p>Watermark removal method. <strong>Auto erasure:</strong> Automatically identify watermarks in the video through Model A and generate a new video after removal. Suitable for dynamic watermarks. When using auto erasure, if you do not specify AutoAreas, the system will perform full-screen auto erasure on the video; if AutoAreas are specified, it will change to auto erasure on your designated regions. <strong>Specified area erasure:</strong> For static watermarks with fixed positions, it is recommended to directly specify the removal area. When you choose specified area erasure, import at least one designated region. - auto Auto erasure - custom Specified area erasure</p>
	WatermarkEraseMethod *string `json:"WatermarkEraseMethod,omitnil,omitempty" name:"WatermarkEraseMethod"`

	// <p>Watermark removal model. basic Edition: provides average effects and high cost performance. It applies to animations or videos with clean backgrounds. advanced Edition: offers better effectiveness and is suitable for mini-dramas or reality-style videos. - basic Edition - advanced Edition</p>
	WatermarkModel *string `json:"WatermarkModel,omitnil,omitempty" name:"WatermarkModel"`

	// <p>Automatically erase custom regions. For selected regions, use the AI model to automatically detect and erase existing targets. Note: When the erase method is set to custom, this parameter will not take effect. To clear regions, input []. If not provided, the template region information remains unchanged.</p>
	AutoAreas []*MPSEraseArea `json:"AutoAreas,omitnil,omitempty" name:"AutoAreas"`

	// <p>Specify the removal of custom regions. For specified regions, directly perform erasure without detection and recognition within a selected time range. Note: Import [] to clear regions. The template region information remains unchanged if not imported.</p>
	CustomAreas []*MPSEraseTimeArea `json:"CustomAreas,omitnil,omitempty" name:"CustomAreas"`
}

type MPSSmartSubtitleTemplate struct {
	// <p>Intelligent subtitle template name<br>Length limit: 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Intelligent caption template description information<br>Length limit: 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Smart subtitle language type.<br>0: source language.<br>1: target language.<br>2: source language and target language.<br>Only 0 is supported when TranslateSwitch is OFF.<br>Only 1 or 2 is supported when TranslateSwitch is ON.</p>
	SubtitleType *int64 `json:"SubtitleType,omitnil,omitempty" name:"SubtitleType"`

	// <p>Smart subtitling video source language<br>OCR recognition supports the following languages:<br><code>zh_en</code>: Chinese-English<br><code>multi</code>: Other<br>ASR recognition and pure caption translation currently support the following languages:<br><code>auto</code>: Auto-identification<br><code>zh</code>: Simplified Chinese<br><code>en</code>: English<br><code>ja</code>: Japanese<br><code>ko</code>: Korean<br><code>zh-PY</code>: Chinese-English-Cantonese<br><code>zh_medical</code>: Chinese health care<br><code>vi</code>: Vietnamese<br><code>ms</code>: Malay<br><code>id</code>: Indonesian<br><code>fil</code>: Filipino<br><code>th</code>: Thai<br><code>pt</code>: Portuguese<br><code>tr</code>: Turkish<br><code>ar</code>: Arabic<br><code>es</code>: Spanish<br><code>hi</code>: Hindi<br><code>fr</code>: French<br><code>de</code>: German<br><code>it</code>: Italian<br><code>zh_dialect</code>: Chinese dialect<br><code>zh_en</code>: Chinese-English<br><code>yue</code>: Cantonese<br><code>ru</code>: Russian<br><code>prime_zh</code>: Chinese-English dialect<br><code>af-ZA</code>: Afrikaans (South Africa)<br><code>sq-AL</code>: Albanian (Albania)<br><code>am-ET</code>: Amharic (Ethiopia)<br><code>ar-DZ</code>: Arabic (Algeria)<br><code>ar-BH</code>: Arabic (Bahrain)<br><code>ar-EG</code>: Arabic (Egypt)<br><code>ar-IQ</code>: Arabic (Iraq)<br><code>ar-IL</code>: Arabic (Israel)<br><code>ar-JO</code>: Arabic (Jordan)<br><code>ar-KW</code>: Arabic (Kuwait)<br><code>ar-LB</code>: Arabic (Lebanon)<br><code>ar-MR</code>: Arabic (Mauritania)<br><code>ar-MA</code>: Arabic (Morocco)<br><code>ar-OM</code>: Arabic (Oman)<br><code>ar-QA</code>: Arabic (Qatar)<br><code>ar-SA</code>: Arabic (Saudi Arabia)<br><code>ar-PS</code>: Arabic (State of Palestine)<br><code>ar-SY</code>: Arabic (Syria)<br><code>ar-TN</code>: Arabic (Tunisia)<br><code>ar-AE</code>: Arabic (United Arab Emirates)<br><code>ar-YE</code>: Arabic (Yemen)<br><code>hy-AM</code>: Armenian (Armenia)<br><code>az-AZ</code>: Azerbaijani (Azerbaijan)<br><code>eu-ES</code>: Basque (Spain)<br><code>bn-BD</code>: Bengali (Bangladesh)<br><code>bn-IN</code>: Bengali (India)<br><code>bs-BA</code>: Bosnian (Bosnia and Herzegovina)<br><code>bg-BG</code>: Bulgarian (Bulgaria)<br><code>my-MM</code>: Burmese (Myanmar)<br><code>ca-ES</code>: Catalan (Spain)<br><code>hr-HR</code>: Croatian (Croatia)<br><code>cs-CZ</code>: Czech (Czech Republic)<br><code>da-DK</code>: Danish (Denmark)<br><code>nl-BE</code>: Dutch (Belgium)<br><code>nl-NL</code>: Dutch (Netherlands)<br><code>en-AU</code>: English (Australia)<br><code>en-CA</code>: English (Canada)<br><code>en-GH</code>: English (Ghana)<br><code>en-HK</code>: English (Hong Kong (China))<br><code>en-IN</code>: English (India)<br><code>en-IE</code>: English (Ireland)<br><code>en-KE</code>: English (Kenya)<br><code>en-NZ</code>: English (New Zealand)<br><code>en-NG</code>: English (Nigeria)<br><code>en-PK</code>: English (Pakistan)<br><code>en-PH</code>: English (Philippines)<br><code>en-SG</code>: English (Singapore)<br><code>en-ZA</code>: English (South Africa)<br><code>en-TZ</code>: English (Tanzania)<br><code>en-GB</code>: English (UK)<br><code>en-US</code>: English (United States)<br><code>et-EE</code>: Estonian (Estonia)<br><code>fil-PH</code>: Filipino (Philippines)<br><code>fi-FI</code>: Finnish (Finland)<br><code>fr-BE</code>: French (Belgium)<br><code>fr-CA</code>: French (Canada)<br><code>fr-FR</code>: French (France)<br><code>fr-CH</code>: French (Switzerland)<br><code>gl-ES</code>: Galician (Spain)<br><code>ka-GE</code>: Georgian (Georgia)<br><code>el-GR</code>: Greek (Greece)<br><code>gu-IN</code>: Gujarati (India)<br><code>iw-IL</code>: Hebrew (Israel)<br><code>hi-IN</code>: Hindi (India)<br><code>hu-HU</code>: Hungarian (Hungary)<br><code>is-IS</code>: Icelandic (Iceland)<br><code>id-ID</code>: Indonesian (Indonesia)<br><code>it-IT</code>: Italian (Italy)<br><code>it-CH</code>: Italian (Switzerland)<br><code>ja-JP</code>: Japanese (Japan)<br><code>jv-ID</code>: Javanese (Indonesia)<br><code>kn-IN</code>: Kannada (India)<br><code>kk-KZ</code>: Kazakh (Kazakhstan)<br><code>km-KH</code>: Khmer (Cambodia)<br><code>rw-RW</code>: Kinyarwanda (Rwanda)<br><code>ko-KR</code>: Korean (South Korea)<br><code>lo-LA</code>: Lao (Laos)<br><code>lv-LV</code>: Latvian (Latvia)<br><code>lt-LT</code>: Lithuanian (Lithuania)<br><code>mk-MK</code>: Macedonian (North Macedonia)<br><code>ms-MY</code>: Malay (Malaysia)<br><code>ml-IN</code>: Malayalam (India)<br><code>mr-IN</code>: Marathi (India)<br><code>mn-MN</code>: Mongolian (Mongolia)<br><code>ne-NP</code>: Nepali (Nepal)<br><code>no-NO</code>: Norwegian Bokmål (Norway)<br><code>fa-IR</code>: Persian (Iran)<br><code>pl-PL</code>: Polish (Poland)<br><code>pt-BR</code>: Portuguese (Brazil)<br><code>pt-PT</code>: Portuguese (Portugal)<br><code>ro-RO</code>: Romanian (Romania)<br><code>ru-RU</code>: Russian (Russia)<br><code>sr-RS</code>: Serbian (Serbia)<br><code>si-LK</code>: Sinhalese (Sri Lanka)<br><code>sk-SK</code>: Slovak (Slovakia)<br><code>sl-SI</code>: Slovenian (Slovenia)<br><code>st-ZA</code>: Southern Sotho (South Africa)<br><code>es-AR</code>: Spanish (Argentina)<br><code>es-BO</code>: Spanish (Bolivia)<br><code>es-CL</code>: Spanish (Chile)<br><code>es-CO</code>: Spanish (Colombia)<br><code>es-CR</code>: Spanish (Costa Rica)<br><code>es-DO</code>: Spanish (Dominican Republic)<br><code>es-EC</code>: Spanish (Ecuador)<br><code>es-SV</code>: Spanish (El Salvador)<br><code>es-GT</code>: Spanish (Guatemala)<br><code>es-HN</code>: Spanish (Honduras)<br><code>es-MX</code>: Spanish (Mexico)<br><code>es-NI</code>: Spanish (Nicaragua)<br><code>es-PA</code>: Spanish (Panama)<br><code>es-PY</code>: Spanish (Paraguay)<br><code>es-PE</code>: Spanish (Peru)<br><code>es-PR</code>: Spanish (Puerto Rico)<br><code>es-ES</code>: Spanish (Spain)<br><code>es-US</code>: Spanish (United States)<br><code>es-UY</code>: Spanish (Uruguay)<br><code>es-VE</code>: Spanish (Venezuela)<br><code>su-ID</code>: Sundanese (Indonesia)<br><code>sw-KE</code>: Swahili (Kenya)<br><code>sw-TZ</code>: Swahili (Tanzania)<br><code>sv-SE</code>: Swedish (Sweden)<br><code>ta-IN</code>: Tamil (India)<br><code>ta-MY</code>: Tamil (Malaysia)<br><code>ta-SG</code>: Tamil (Singapore)<br><code>ta-LK</code>: Tamil (Sri Lanka)<br><code>te-IN</code>: Telugu (India)<br><code>th-TH</code>: Thai (Thailand)<br><code>ts-ZA</code>: Tsonga (South Africa)<br><code>tr-TR</code>: Turkish (Türkiye)<br><code>uk-UA</code>: Ukrainian (Ukraine)<br><code>ur-IN</code>: Urdu (India)<br><code>ur-PK</code>: Urdu (Pakistan)<br><code>uz-UZ</code>: Uzbek (Uzbekistan)<br><code>ve-ZA</code>: Venda (South Africa)<code>vi-VN</code>: Vietnamese (Vietnam)<br><code>xh-ZA</code>: Xhosa (South Africa)<br><code>zu-ZA</code>: Zulu (South Africa)</p>
	VideoSrcLanguage *string `json:"VideoSrcLanguage,omitnil,omitempty" name:"VideoSrcLanguage"`

	// <p>Intelligent subtitle file format:</p><ul><li>For ASR recognition translation processing type:<ul><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li><li>Leave blank or fill in the blank: no subtitle file generated</li></ul></li><li>For pure subtitle translation processing type:<ul><li>original: consistent with the source file</li><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li></ul></li><li>For OCR recognition translation processing type:<ul><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li></ul></li></ul><p><strong>Note</strong>:</p><ul><li>For ASR recognition method, do not leave blank or not pass when translating 2 or more languages.</li><li>For pure subtitle translation method, do not leave blank or not pass.</li><li>For OCR tasks, it is allowed to leave blank or not pass when suppression is enabled.</li></ul>
	SubtitleFormat *string `json:"SubtitleFormat,omitnil,omitempty" name:"SubtitleFormat"`

	// <p>Subtitle translation switch<br><code>ON</code>: Enable translation<br><code>OFF</code>: Disable translation</p><p><strong>Note</strong>: For pure subtitle translation mode, the default value is enabled if the field is unspecified. The field cannot be left blank or set to <code>OFF</code>.</p>
	TranslateSwitch *string `json:"TranslateSwitch,omitnil,omitempty" name:"TranslateSwitch"`

	// <p>Subtitle target language<br>Take effect when TranslateSwitch is ON. Translation language list:<br><code>ab</code>: Abkhaz<br><code>ace</code>: Acehnese<br><code>ach</code>: Acholi<br><code>af</code>: Afrikaans<br><code>ak</code>: Akan<br><code>am</code>: Amharic<br><code>ar</code>: Arabic<br><code>as</code>: Assamese<br><code>ay</code>: Aymara<br><code>az</code>: Azerbaijani<br><code>ba</code>: Bashkir<br><code>ban</code>: Balinese<br><code>bbc</code>: Batak Toba<br><code>bem</code>: Bemba<br><code>bew</code>: Betawi<br><code>bg</code>: Bulgarian<br><code>bho</code>: Bhojpuri<br><code>bik</code>: Bikol<br><code>bm</code>: Bambara<br><code>bn</code>: Bengali<br><code>br</code>: Breton<br><code>bs</code>: Bosnian<br><code>btx</code>: Batak Karo<br><code>bts</code>: Batak Simalungun<br><code>bua</code>: Buryat<br><code>ca</code>: Catalan<br><code>ceb</code>: Cebuano<br><code>cgg</code>: Kiga<br><code>chm</code>: Meadow Mari<br><code>ckb</code>: Kurdish (Sorani)<br><code>cnh</code>: Hakha Chin<br><code>co</code>: Corsican<br><code>crh</code>: Crimean Tatar<br><code>crs</code>: Seychellois Creole<br><code>cs</code>: Czech<br><code>cv</code>: Chuvash<br><code>cy</code>: Welsh<br><code>da</code>: Danish<br><code>de</code>: German<br><code>din</code>: Dinka<br><code>doi</code>: Dogri<br><code>dov</code>: Dombe<br><code>dv</code>: Dhivehi<br><code>dz</code>: Dzongkha<br><code>ee</code>: Ewe<br><code>el</code>: Greek<br><code>en</code>: English<br><code>eo</code>: Esperanto<br><code>es</code>: Spanish<br><code>et</code>: Estonian<br><code>eu</code>: Basque<br><code>fa</code>: Persian<br><code>ff</code>: Fula<br><code>fi</code>: Finnish<br><code>fil</code>: Filipino (Tagalog)<br><code>fj</code>: Fijian<br><code>fr</code>: French<br><code>fr-CA</code>: French (Canada)<br><code>fr-FR</code>: French (France)<br><code>fy</code>: Frisian<br><code>ga</code>: Irish<br><code>gaa</code>: Ga Language<br><code>gd</code>: Scottish Gaelic<br><code>gl</code>: Galician<br><code>gn</code>: Guarani<br><code>gom</code>: Konkani<br><code>gu</code>: Gujarati<br><code>gv</code>: Manx<br><code>ha</code>: Hausa<br><code>haw</code>: Hawaiian<br><code>he</code>: Hebrew<br><code>hi</code>: Hindi<br><code>hil</code>: Hiligaynon<br><code>hmn</code>: Hmong<br><code>hr</code>: Croatian<br><code>hrx</code>: Hunsrik<br><code>ht</code>: Haitian Creole<br><code>hu</code>: Hungarian<br><code>hy</code>: Armenian<br><code>id</code>: Indonesian<br><code>ig</code>: Igbo<br><code>ilo</code>: Ilocano<br><code>is</code>: Icelandic<br><code>it</code>: Italian<br><code>iw</code>: Hebrew<br><code>ja</code>: Japanese<br><code>jv</code>: Javanese<br><code>ka</code>: Georgian<br><code>kk</code>: Kazakh<br><code>km</code>: Khmer<br><code>kn</code>: Kannada<br><code>ko</code>: Korean<br><code>kri</code>: Krio<br><code>ku</code>: Kurdish (Kurmanji)<br><code>ktu</code>: Kituba<br><code>ky</code>: Kyrgyz<br><code>la</code>: Latin<br><code>lb</code>: Luxembourgish<br><code>lg</code>: Ganda (Luganda)<br><code>li</code>: Limburgish<br><code>lij</code>: Ligurian<br><code>lmo</code>: Lombard<br><code>ln</code>: Lingala<br><code>lo</code>: Lao<br><code>lt</code>: Lithuanian<br><code>ltg</code>: Latgalian<br><code>luo</code>: Luo<br><code>lus</code>: Mizo<br><code>lv</code>: Latvian<br><code>mai</code>: Maithili<br><code>mak</code>: Makassar<br><code>mg</code>: Malagasy<br><code>mi</code>: Maori<br><code>min</code>: Minangkabau<br><code>mk</code>: Macedonian<br><code>ml</code>: Malayalam<br><code>mn</code>: Mongolian<br><code>mr</code>: Marathi<br><code>ms</code>: Malay<br><code>mt</code>: Maltese<br><code>my</code>: Burmese<br><code>ne</code>: Nepali<br><code>new</code>: Newari<br><code>nl</code>: Dutch<br><code>no</code>: Norwegian<br><code>nr</code>: Southern Ndebele<br><code>nso</code>: Northern Sotho (Sepedi)<br><code>nus</code>: Nuer<br><code>ny</code>: Chichewa (Nyanja)<br><code>oc</code>: Occitan<br><code>om</code>: Oromo<br><code>or</code>: Odia<br><code>pa</code>: Punjabi<br><code>pag</code>: Pangasinan<br><code>pam</code>: Kapampangan<br><code>pap</code>: Papiamento<br><code>pl</code>: Polish<br><code>ps</code>: Pashto<br><code>pt</code>: Portuguese<br><code>pt-BR</code>: Portuguese (Brazil)<br><code>pt-PT</code>: Portuguese (Portugal)<br><code>qu</code>: Quechua<br><code>ro</code>: Romanian<br><code>rom</code>: Romani<br><code>rn</code>: Rundi<br><code>ru</code>: Russian<br><code>rw</code>: Kinyarwanda<br><code>sa</code>: Sanskrit<br><code>scn</code>: Sicilian<br><code>sd</code>: Sindhi<br><code>sg</code>: Sango<br><code>shn</code>: Shan<br><code>si</code>: Sinhalese<br><code>sk</code>: Slovak<br><code>sl</code>: Slovenian<br><code>sm</code>: Samoan<br><code>sn</code>: Shona<br><code>so</code>: Somali<br><code>sq</code>: Albanian<br><code>sr</code>: Serbian<br><code>ss</code>: Swati<br><code>st</code>: Sesotho<br><code>su</code>: Sundanese<br><code>sv</code>: Swedish<br><code>sw</code>: Swahili<br><code>szl</code>: Silesian<br><code>ta</code>: Tamil<br><code>te</code>: Telugu<br><code>tet</code>: Tetum<br><code>tg</code>: Tajik<br><code>th</code>: Thai<br><code>ti</code>: Tigrinya<br><code>tk</code>: Turkmen<br><code>tn</code>: Tswana<br><code>tr</code>: Turkish<br><code>ts</code>: Tsonga<br><code>tt</code>: Tatar<br><code>ug</code>: Uyghur<br><code>uk</code>: Ukrainian<br><code>ur</code>: Urdu<br><code>uz</code>: Uzbek<br><code>vi</code>: Vietnamese<br><code>xh</code>: Xhosa<br><code>yi</code>: Yiddish<br><code>yo</code>: Yoruba<br><code>yua</code>: Yucatec Maya<br><code>yue</code>: Cantonese<br><code>zh</code>: Simplified Chinese<br><code>zh-TW</code>: Traditional Chinese<br><code>zu</code>: Zulu</p><p><strong>Note</strong>: Use the multilingual method. <code>/</code> to separate, such as <code>en/ja</code>, which indicates English and Japanese.</p>
	TranslateDstLanguage *string `json:"TranslateDstLanguage,omitnil,omitempty" name:"TranslateDstLanguage"`

	// <p>Subtitle processing type:</p><ul><li>0: ASR recognition subtitle</li><li>1: Pure caption translation</li><li>2: OCR recognition subtitle</li></ul><p><strong>Note</strong>: The default type is ASR recognition subtitle if the field is unspecified.</p>
	ProcessType *uint64 `json:"ProcessType,omitnil,omitempty" name:"ProcessType"`

	// <p>Area configurations for the subtitle OCR extraction box</p>
	SelectingSubtitleAreasConfig *MPSSelectingSubtitleAreasConfig `json:"SelectingSubtitleAreasConfig,omitnil,omitempty" name:"SelectingSubtitleAreasConfig"`

	// <p>Speaker identification switch. Valid values:<br>0: Speaker identification is disabled.<br>1: Speaker identification is enabled.<br>By default, speaker identification is disabled.</p>
	SpeakerMode *int64 `json:"SpeakerMode,omitnil,omitempty" name:"SpeakerMode"`

	// <p>Indicates whether to output the identified speaker to the subtitle file. Valid values:<br>0: The speaker is not output to the subtitle file.<br>1: The speaker is output to the VTT subtitle file.<br>Note: To use this parameter, the value of SpeakerMode cannot be 0.<br>By default, the speaker is not output to the subtitle file.</p>
	SpeakerLabel *int64 `json:"SpeakerLabel,omitnil,omitempty" name:"SpeakerLabel"`
}

type MPSSmartSubtitleTemplateForUpdate struct {
	// <p>Unique identifier of the smart subtitle template.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Intelligent subtitle template name<br>Length limit: 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Intelligent caption template description information<br>Length limit: 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Smart subtitle language type.<br>0: source language.<br>1: target language.<br>2: source language and target language.<br>Only 0 is supported when TranslateSwitch is OFF.<br>Only 1 or 2 is supported when TranslateSwitch is ON.</p>
	SubtitleType *int64 `json:"SubtitleType,omitnil,omitempty" name:"SubtitleType"`

	// <p>Smart subtitling video source language<br>OCR recognition supports the following languages:<br><code>zh_en</code>: Chinese-English<br><code>multi</code>: Other<br>ASR recognition and pure caption translation currently support the following languages:<br><code>auto</code>: Auto-identification<br><code>zh</code>: Simplified Chinese<br><code>en</code>: English<br><code>ja</code>: Japanese<br><code>ko</code>: Korean<br><code>zh-PY</code>: Chinese-English-Cantonese<br><code>zh_medical</code>: Chinese health care<br><code>vi</code>: Vietnamese<br><code>ms</code>: Malay<br><code>id</code>: Indonesian<br><code>fil</code>: Filipino<br><code>th</code>: Thai<br><code>pt</code>: Portuguese<br><code>tr</code>: Turkish<br><code>ar</code>: Arabic<br><code>es</code>: Spanish<br><code>hi</code>: Hindi<br><code>fr</code>: French<br><code>de</code>: German<br><code>it</code>: Italian<br><code>zh_dialect</code>: Chinese dialect<br><code>zh_en</code>: Chinese-English<br><code>yue</code>: Cantonese<br><code>ru</code>: Russian<br><code>prime_zh</code>: Chinese-English dialect<br><code>af-ZA</code>: Afrikaans (South Africa)<br><code>sq-AL</code>: Albanian (Albania)<br><code>am-ET</code>: Amharic (Ethiopia)<br><code>ar-DZ</code>: Arabic (Algeria)<br><code>ar-BH</code>: Arabic (Bahrain)<br><code>ar-EG</code>: Arabic (Egypt)<br><code>ar-IQ</code>: Arabic (Iraq)<br><code>ar-IL</code>: Arabic (Israel)<br><code>ar-JO</code>: Arabic (Jordan)<br><code>ar-KW</code>: Arabic (Kuwait)<br><code>ar-LB</code>: Arabic (Lebanon)<br><code>ar-MR</code>: Arabic (Mauritania)<br><code>ar-MA</code>: Arabic (Morocco)<br><code>ar-OM</code>: Arabic (Oman)<br><code>ar-QA</code>: Arabic (Qatar)<br><code>ar-SA</code>: Arabic (Saudi Arabia)<br><code>ar-PS</code>: Arabic (State of Palestine)<br><code>ar-SY</code>: Arabic (Syria)<br><code>ar-TN</code>: Arabic (Tunisia)<br><code>ar-AE</code>: Arabic (United Arab Emirates)<br><code>ar-YE</code>: Arabic (Yemen)<br><code>hy-AM</code>: Armenian (Armenia)<br><code>az-AZ</code>: Azerbaijani (Azerbaijan)<br><code>eu-ES</code>: Basque (Spain)<br><code>bn-BD</code>: Bengali (Bangladesh)<br><code>bn-IN</code>: Bengali (India)<br><code>bs-BA</code>: Bosnian (Bosnia and Herzegovina)<br><code>bg-BG</code>: Bulgarian (Bulgaria)<br><code>my-MM</code>: Burmese (Myanmar)<br><code>ca-ES</code>: Catalan (Spain)<br><code>hr-HR</code>: Croatian (Croatia)<br><code>cs-CZ</code>: Czech (Czech Republic)<br><code>da-DK</code>: Danish (Denmark)<br><code>nl-BE</code>: Dutch (Belgium)<br><code>nl-NL</code>: Dutch (Netherlands)<br><code>en-AU</code>: English (Australia)<br><code>en-CA</code>: English (Canada)<br><code>en-GH</code>: English (Ghana)<br><code>en-HK</code>: English (Hong Kong (China))<br><code>en-IN</code>: English (India)<br><code>en-IE</code>: English (Ireland)<br><code>en-KE</code>: English (Kenya)<br><code>en-NZ</code>: English (New Zealand)<br><code>en-NG</code>: English (Nigeria)<br><code>en-PK</code>: English (Pakistan)<br><code>en-PH</code>: English (Philippines)<br><code>en-SG</code>: English (Singapore)<br><code>en-ZA</code>: English (South Africa)<br><code>en-TZ</code>: English (Tanzania)<br><code>en-GB</code>: English (UK)<br><code>en-US</code>: English (United States)<br><code>et-EE</code>: Estonian (Estonia)<br><code>fil-PH</code>: Filipino (Philippines)<br><code>fi-FI</code>: Finnish (Finland)<br><code>fr-BE</code>: French (Belgium)<br><code>fr-CA</code>: French (Canada)<br><code>fr-FR</code>: French (France)<br><code>fr-CH</code>: French (Switzerland)<br><code>gl-ES</code>: Galician (Spain)<br><code>ka-GE</code>: Georgian (Georgia)<br><code>el-GR</code>: Greek (Greece)<br><code>gu-IN</code>: Gujarati (India)<br><code>iw-IL</code>: Hebrew (Israel)<br><code>hi-IN</code>: Hindi (India)<br><code>hu-HU</code>: Hungarian (Hungary)<br><code>is-IS</code>: Icelandic (Iceland)<br><code>id-ID</code>: Indonesian (Indonesia)<br><code>it-IT</code>: Italian (Italy)<br><code>it-CH</code>: Italian (Switzerland)<br><code>ja-JP</code>: Japanese (Japan)<br><code>jv-ID</code>: Javanese (Indonesia)<br><code>kn-IN</code>: Kannada (India)<br><code>kk-KZ</code>: Kazakh (Kazakhstan)<br><code>km-KH</code>: Khmer (Cambodia)<br><code>rw-RW</code>: Kinyarwanda (Rwanda)<br><code>ko-KR</code>: Korean (South Korea)<br><code>lo-LA</code>: Lao (Laos)<br><code>lv-LV</code>: Latvian (Latvia)<br><code>lt-LT</code>: Lithuanian (Lithuania)<br><code>mk-MK</code>: Macedonian (North Macedonia)<br><code>ms-MY</code>: Malay (Malaysia)<br><code>ml-IN</code>: Malayalam (India)<br><code>mr-IN</code>: Marathi (India)<br><code>mn-MN</code>: Mongolian (Mongolia)<br><code>ne-NP</code>: Nepali (Nepal)<br><code>no-NO</code>: Norwegian Bokmål (Norway)<br><code>fa-IR</code>: Persian (Iran)<br><code>pl-PL</code>: Polish (Poland)<br><code>pt-BR</code>: Portuguese (Brazil)<br><code>pt-PT</code>: Portuguese (Portugal)<br><code>ro-RO</code>: Romanian (Romania)<br><code>ru-RU</code>: Russian (Russia)<br><code>sr-RS</code>: Serbian (Serbia)<br><code>si-LK</code>: Sinhalese (Sri Lanka)<br><code>sk-SK</code>: Slovak (Slovakia)<br><code>sl-SI</code>: Slovenian (Slovenia)<br><code>st-ZA</code>: Southern Sotho (South Africa)<br><code>es-AR</code>: Spanish (Argentina)<br><code>es-BO</code>: Spanish (Bolivia)<br><code>es-CL</code>: Spanish (Chile)<br><code>es-CO</code>: Spanish (Colombia)<br><code>es-CR</code>: Spanish (Costa Rica)<br><code>es-DO</code>: Spanish (Dominican Republic)<br><code>es-EC</code>: Spanish (Ecuador)<br><code>es-SV</code>: Spanish (El Salvador)<br><code>es-GT</code>: Spanish (Guatemala)<br><code>es-HN</code>: Spanish (Honduras)<br><code>es-MX</code>: Spanish (Mexico)<br><code>es-NI</code>: Spanish (Nicaragua)<br><code>es-PA</code>: Spanish (Panama)<br><code>es-PY</code>: Spanish (Paraguay)<br><code>es-PE</code>: Spanish (Peru)<br><code>es-PR</code>: Spanish (Puerto Rico)<br><code>es-ES</code>: Spanish (Spain)<br><code>es-US</code>: Spanish (United States)<br><code>es-UY</code>: Spanish (Uruguay)<br><code>es-VE</code>: Spanish (Venezuela)<br><code>su-ID</code>: Sundanese (Indonesia)<br><code>sw-KE</code>: Swahili (Kenya)<br><code>sw-TZ</code>: Swahili (Tanzania)<br><code>sv-SE</code>: Swedish (Sweden)<br><code>ta-IN</code>: Tamil (India)<br><code>ta-MY</code>: Tamil (Malaysia)<br><code>ta-SG</code>: Tamil (Singapore)<br><code>ta-LK</code>: Tamil (Sri Lanka)<br><code>te-IN</code>: Telugu (India)<br><code>th-TH</code>: Thai (Thailand)<br><code>ts-ZA</code>: Tsonga (South Africa)<br><code>tr-TR</code>: Turkish (Türkiye)<br><code>uk-UA</code>: Ukrainian (Ukraine)<br><code>ur-IN</code>: Urdu (India)<br><code>ur-PK</code>: Urdu (Pakistan)<br><code>uz-UZ</code>: Uzbek (Uzbekistan)<br><code>ve-ZA</code>: Venda (South Africa)<code>vi-VN</code>: Vietnamese (Vietnam)<br><code>xh-ZA</code>: Xhosa (South Africa)<br><code>zu-ZA</code>: Zulu (South Africa)</p>
	VideoSrcLanguage *string `json:"VideoSrcLanguage,omitnil,omitempty" name:"VideoSrcLanguage"`

	// <p>Intelligent subtitle file format:</p><ul><li>For ASR recognition translation processing type:<ul><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li><li>Leave blank or fill in the blank: no subtitle file generated</li></ul></li><li>For pure subtitle translation processing type:<ul><li>original: consistent with the source file</li><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li></ul></li><li>For OCR recognition translation processing type:<ul><li>vtt: WebVTT format subtitle</li><li>srt: SRT format subtitle</li></ul></li></ul><p><strong>Note</strong>:</p><ul><li>For ASR recognition method, do not leave blank or not pass when translating 2 or more languages.</li><li>For pure subtitle translation method, do not leave blank or not pass.</li><li>For OCR tasks, it is allowed to leave blank or not pass when suppression is enabled.</li></ul>
	SubtitleFormat *string `json:"SubtitleFormat,omitnil,omitempty" name:"SubtitleFormat"`

	// <p>Subtitle translation switch<br><code>ON</code>: Enable translation<br><code>OFF</code>: Disable translation</p><p><strong>Note</strong>: For pure subtitle translation mode, the default value is enabled if the field is unspecified. The field cannot be left blank or set to <code>OFF</code>.</p>
	TranslateSwitch *string `json:"TranslateSwitch,omitnil,omitempty" name:"TranslateSwitch"`

	// <p>Subtitle target language<br>Take effect when TranslateSwitch is ON. Translation language list:<br><code>ab</code>: Abkhaz<br><code>ace</code>: Acehnese<br><code>ach</code>: Acholi<br><code>af</code>: Afrikaans<br><code>ak</code>: Akan<br><code>am</code>: Amharic<br><code>ar</code>: Arabic<br><code>as</code>: Assamese<br><code>ay</code>: Aymara<br><code>az</code>: Azerbaijani<br><code>ba</code>: Bashkir<br><code>ban</code>: Balinese<br><code>bbc</code>: Batak Toba<br><code>bem</code>: Bemba<br><code>bew</code>: Betawi<br><code>bg</code>: Bulgarian<br><code>bho</code>: Bhojpuri<br><code>bik</code>: Bikol<br><code>bm</code>: Bambara<br><code>bn</code>: Bengali<br><code>br</code>: Breton<br><code>bs</code>: Bosnian<br><code>btx</code>: Batak Karo<br><code>bts</code>: Batak Simalungun<br><code>bua</code>: Buryat<br><code>ca</code>: Catalan<br><code>ceb</code>: Cebuano<br><code>cgg</code>: Kiga<br><code>chm</code>: Meadow Mari<br><code>ckb</code>: Kurdish (Sorani)<br><code>cnh</code>: Hakha Chin<br><code>co</code>: Corsican<br><code>crh</code>: Crimean Tatar<br><code>crs</code>: Seychellois Creole<br><code>cs</code>: Czech<br><code>cv</code>: Chuvash<br><code>cy</code>: Welsh<br><code>da</code>: Danish<br><code>de</code>: German<br><code>din</code>: Dinka<br><code>doi</code>: Dogri<br><code>dov</code>: Dombe<br><code>dv</code>: Dhivehi<br><code>dz</code>: Dzongkha<br><code>ee</code>: Ewe<br><code>el</code>: Greek<br><code>en</code>: English<br><code>eo</code>: Esperanto<br><code>es</code>: Spanish<br><code>et</code>: Estonian<br><code>eu</code>: Basque<br><code>fa</code>: Persian<br><code>ff</code>: Fula<br><code>fi</code>: Finnish<br><code>fil</code>: Filipino (Tagalog)<br><code>fj</code>: Fijian<br><code>fr</code>: French<br><code>fr-CA</code>: French (Canada)<br><code>fr-FR</code>: French (France)<br><code>fy</code>: Frisian<br><code>ga</code>: Irish<br><code>gaa</code>: Ga Language<br><code>gd</code>: Scottish Gaelic<br><code>gl</code>: Galician<br><code>gn</code>: Guarani<br><code>gom</code>: Konkani<br><code>gu</code>: Gujarati<br><code>gv</code>: Manx<br><code>ha</code>: Hausa<br><code>haw</code>: Hawaiian<br><code>he</code>: Hebrew<br><code>hi</code>: Hindi<br><code>hil</code>: Hiligaynon<br><code>hmn</code>: Hmong<br><code>hr</code>: Croatian<br><code>hrx</code>: Hunsrik<br><code>ht</code>: Haitian Creole<br><code>hu</code>: Hungarian<br><code>hy</code>: Armenian<br><code>id</code>: Indonesian<br><code>ig</code>: Igbo<br><code>ilo</code>: Ilocano<br><code>is</code>: Icelandic<br><code>it</code>: Italian<br><code>iw</code>: Hebrew<br><code>ja</code>: Japanese<br><code>jv</code>: Javanese<br><code>ka</code>: Georgian<br><code>kk</code>: Kazakh<br><code>km</code>: Khmer<br><code>kn</code>: Kannada<br><code>ko</code>: Korean<br><code>kri</code>: Krio<br><code>ku</code>: Kurdish (Kurmanji)<br><code>ktu</code>: Kituba<br><code>ky</code>: Kyrgyz<br><code>la</code>: Latin<br><code>lb</code>: Luxembourgish<br><code>lg</code>: Ganda (Luganda)<br><code>li</code>: Limburgish<br><code>lij</code>: Ligurian<br><code>lmo</code>: Lombard<br><code>ln</code>: Lingala<br><code>lo</code>: Lao<br><code>lt</code>: Lithuanian<br><code>ltg</code>: Latgalian<br><code>luo</code>: Luo<br><code>lus</code>: Mizo<br><code>lv</code>: Latvian<br><code>mai</code>: Maithili<br><code>mak</code>: Makassar<br><code>mg</code>: Malagasy<br><code>mi</code>: Maori<br><code>min</code>: Minangkabau<br><code>mk</code>: Macedonian<br><code>ml</code>: Malayalam<br><code>mn</code>: Mongolian<br><code>mr</code>: Marathi<br><code>ms</code>: Malay<br><code>mt</code>: Maltese<br><code>my</code>: Burmese<br><code>ne</code>: Nepali<br><code>new</code>: Newari<br><code>nl</code>: Dutch<br><code>no</code>: Norwegian<br><code>nr</code>: Southern Ndebele<br><code>nso</code>: Northern Sotho (Sepedi)<br><code>nus</code>: Nuer<br><code>ny</code>: Chichewa (Nyanja)<br><code>oc</code>: Occitan<br><code>om</code>: Oromo<br><code>or</code>: Odia<br><code>pa</code>: Punjabi<br><code>pag</code>: Pangasinan<br><code>pam</code>: Kapampangan<br><code>pap</code>: Papiamento<br><code>pl</code>: Polish<br><code>ps</code>: Pashto<br><code>pt</code>: Portuguese<br><code>pt-BR</code>: Portuguese (Brazil)<br><code>pt-PT</code>: Portuguese (Portugal)<br><code>qu</code>: Quechua<br><code>ro</code>: Romanian<br><code>rom</code>: Romani<br><code>rn</code>: Rundi<br><code>ru</code>: Russian<br><code>rw</code>: Kinyarwanda<br><code>sa</code>: Sanskrit<br><code>scn</code>: Sicilian<br><code>sd</code>: Sindhi<br><code>sg</code>: Sango<br><code>shn</code>: Shan<br><code>si</code>: Sinhalese<br><code>sk</code>: Slovak<br><code>sl</code>: Slovenian<br><code>sm</code>: Samoan<br><code>sn</code>: Shona<br><code>so</code>: Somali<br><code>sq</code>: Albanian<br><code>sr</code>: Serbian<br><code>ss</code>: Swati<br><code>st</code>: Sesotho<br><code>su</code>: Sundanese<br><code>sv</code>: Swedish<br><code>sw</code>: Swahili<br><code>szl</code>: Silesian<br><code>ta</code>: Tamil<br><code>te</code>: Telugu<br><code>tet</code>: Tetum<br><code>tg</code>: Tajik<br><code>th</code>: Thai<br><code>ti</code>: Tigrinya<br><code>tk</code>: Turkmen<br><code>tn</code>: Tswana<br><code>tr</code>: Turkish<br><code>ts</code>: Tsonga<br><code>tt</code>: Tatar<br><code>ug</code>: Uyghur<br><code>uk</code>: Ukrainian<br><code>ur</code>: Urdu<br><code>uz</code>: Uzbek<br><code>vi</code>: Vietnamese<br><code>xh</code>: Xhosa<br><code>yi</code>: Yiddish<br><code>yo</code>: Yoruba<br><code>yua</code>: Yucatec Maya<br><code>yue</code>: Cantonese<br><code>zh</code>: Simplified Chinese<br><code>zh-TW</code>: Traditional Chinese<br><code>zu</code>: Zulu</p><p><strong>Note</strong>: Use the multilingual method. <code>/</code> to separate, such as <code>en/ja</code>, which indicates English and Japanese.</p>
	TranslateDstLanguage *string `json:"TranslateDstLanguage,omitnil,omitempty" name:"TranslateDstLanguage"`

	// <p>Subtitle processing type:</p><ul><li>0: ASR recognition subtitle</li><li>1: Pure caption translation</li><li>2: OCR recognition subtitle</li></ul><p><strong>Note</strong>: ASR is selected by default if the field is unspecified.</p>
	ProcessType *uint64 `json:"ProcessType,omitnil,omitempty" name:"ProcessType"`

	// <p>Area configurations for the subtitle OCR extraction box</p>
	SelectingSubtitleAreasConfig *MPSSelectingSubtitleAreasConfig `json:"SelectingSubtitleAreasConfig,omitnil,omitempty" name:"SelectingSubtitleAreasConfig"`

	// <p>Speaker identification switch. Valid values:<br>0: Speaker identification is disabled.<br>1: Speaker identification is enabled.</p>
	SpeakerMode *int64 `json:"SpeakerMode,omitnil,omitempty" name:"SpeakerMode"`

	// <p>Indicates whether to output the identified speaker to the subtitle file. Valid values:<br>0: The speaker is not output to the subtitle file.<br>1: The speaker is output to the VTT subtitle file.<br>Note: To use this parameter, the value of SpeakerMode cannot be 0.</p>
	SpeakerLabel *int64 `json:"SpeakerLabel,omitnil,omitempty" name:"SpeakerLabel"`
}

type MPSSmartSubtitlesTaskInput struct {
	// <p>Smart subtitle template ID.</p>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Custom smart subtitle parameter. It takes effect when Definition is set to 0. This parameter is used in high customization scenarios. It is recommended that you preferentially use Definition to specify smart subtitle parameters.</p>
	RawParameter *MPSRawSmartSubtitleParameter `json:"RawParameter,omitnil,omitempty" name:"RawParameter"`
}

type MPSSubTaskResult struct {
	// Task type. Specific subtask type in the MPS WorkflowTask structure. Value:
	// <li>MediaProcess.Transcode: audio and video transcoding task.</li>
	// <li>AiAnalysis.DeLogo: intelligent erasure task.</li>
	// <li>AiAnalysis.ClassificationTask: intelligent classification task.</li>
	// <li>AiAnalysis.CoverTask: intelligent thumbnail generating.</li>
	// <li>AiAnalysis.TagTask: intelligent tag task.</li>
	// <li>AiAnalysis.FrameTagTask: intelligent frame-by-frame tagging task.</li>
	// <li>AiAnalysis.HighlightTask: Intelligent highlight task.</li>
	// <li>AiAnalysis.SegmentTask: Intelligent video splitting task.</li>
	// <li>AiAnalysis.HeadTailTask: Intelligent opening and closing credits task.</li>
	// <li>AiAnalysis.DescriptionTask: Intelligent summary task.</li>
	// <li>AiAnalysis.HorizontalToVerticalTask: Intelligent Landscape to Portrait Task.</li>
	// <li>AiAnalysis.DubbingTask: Intelligent dubbing task.</li>
	// <li>AiAnalysis.VideoRemakeTask: Intelligent deduplication task.</li>
	// <li>AiAnalysis.VideoComprehensionTask: Video understanding task.</li>
	// <li>SmartSubtitle.AsrFullTextTask: intelligent speech full-text recognition task.</li>
	// <li>SmartSubtitle.TransTextTask: Translation result.</li>
	// <li>SmartSubtitle.PureSubtitleTransTask: Returns the translation result of the pure subtitle file.</li>
	// <li>SmartSubtitle.OcrFullTextTask: Intelligent text extraction subtitle task.</li>
	// <li>SmartErase: intelligent erasure task.</li>
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Task status, including PROCESSING, SUCCESS, and FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. 0 indicates success, others indicate failure.
	ErrCode *string `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// MPS video processing task input. This field corresponds to the Input result returned by the MPS task in JSON format.
	Input *string `json:"Input,omitnil,omitempty" name:"Input"`

	// MPS video processing task output.
	Output *MPSTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`
}

type MPSTaskOutput struct {
	// File type result in the returned result. For example, in intelligent erasure, the video file after removal will be stored in the media asset and the FileId will be provided in this field. The file Url of the subtitle extracted from video will be provided in this field.
	OutputFiles []*MPSOutputFile `json:"OutputFiles,omitnil,omitempty" name:"OutputFiles"`

	// Result returned by the task. This field corresponds to the Output result returned by the MPS task in JSON format.
	// Different MPS task output results have different structures. For specific return content, see the MPS task output struct.
	// [Intelligent Classification Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskClassificationOutput)
	// [Intelligent Cover Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskCoverOutput)
	// [Intelligent tag result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskTagOutput)
	// [Intelligent frame tagging classification result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskFrameTagOutput)
	// [Intelligent Highlight Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHighlightOutput)
	// [Video Splitting Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskSegmentOutput)
	// [Intelligent video opening/closing credits result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHeadTailOutput)
	// [Intelligent summary result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskDescriptionOutput)
	// [Horizontal-to-Vertical Video Transformation Result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskHorizontalToVerticalOutput)
	// [Intelligent dubbing result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskDubbingOutput)
	// [Intelligent video understanding result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#AiAnalysisTaskVideoComprehensionOutput)
	// [Smart subtitling full text recognition result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskAsrFullTextResultOutput)
	// [Intelligent caption translation result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskTransTextResultOutput)
	// [Intelligent caption pure subtitle file translation result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#PureSubtitleTransResultOutput)
	// [Smart subtitling text extraction result](https://www.tencentcloud.com/document/product/862/37615?from_cn_redirect=1#SmartSubtitleTaskTextResultOutput)
	// 
	OutputText *string `json:"OutputText,omitnil,omitempty" name:"OutputText"`
}

type MPSTemplate struct {
	// MPS template type. Valid values:
	// <li>Transcode: transcoding template.</li>
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// MPS task template detail.
	MPSTemplateInfo *string `json:"MPSTemplateInfo,omitnil,omitempty" name:"MPSTemplateInfo"`
}

type MPSUpdateSmartEraseSubtitleConfig struct {
	// <p>Subtitle erasure method.<br><strong>Automatic erasing:</strong> Video subtitles are automatically recognized using an AI model and are erased without traces to generate a new video. However, missed or incorrect erasing may occur due to image interference and special subtitle styles. In this case, you can specify the erasing area.<br>When using automatic erasing, if you do not specify AutoAreas, the default region (lower middle part of the frame) will be erased automatically. If AutoAreas is specified, the designated region will be erased instead.<br><strong>Specified area erasure:</strong> If your subtitle position is fixed, it is recommended to directly specify the erasure area to minimize missed erasures.<br>When choosing specified area erasure, please input at least one designated region in CustomAreas.</p><ul><li>auto: Automatic erasing</li><li>custom: Specified area erasure</li></ul>
	SubtitleEraseMethod *string `json:"SubtitleEraseMethod,omitnil,omitempty" name:"SubtitleEraseMethod"`

	// <p>Subtitle erasure model. <strong>Standard version (recommended):</strong> If your subtitles have a standard style, it is usually recommended to select this version for better effectiveness in seamless detail removal. <strong>Area edition:</strong> If the subtitles have special styles, such as calligraphy, shadow, or motion effects, you are recommended to select this edition to ensure a larger erasing area. However, the erasing effect in the details is not as good as the standard edition. - standard Standard model - area Regional model</p>
	SubtitleModel *string `json:"SubtitleModel,omitnil,omitempty" name:"SubtitleModel"`

	// <p>Whether OCR subtitle extraction is enabled. The default value is OFF.<br>OCR subtitle extraction is supported if and only if SubtitleEraseMethod is set to auto. When enabled, it identifies the text region that appears most persistently and stably within the automatic erasing area as the subtitle area. The text within the subtitle area is extracted and erased.</p><ul><li>ON Enable</li><li>OFF Disable</li></ul>
	OcrSwitch *string `json:"OcrSwitch,omitnil,omitempty" name:"OcrSwitch"`

	// <p>Subtitle language, used to guide OCR recognition, default value is zh_en.<br>This parameter is valid only when OcrSwitch is "ON".</p><ul><li>zh_en Chinese and English</li><li>multi Other. Specifically support the following languages: Chinese, English, Japanese, Korean, Spanish, French, German, Portuguese, Vietnamese, Malay, Russian, Italian, Dutch, Swedish, Finnish, Danish, Norwegian, Hungarian, Thai, Hindi, Arabic, India-Bengali, India-Gujarati, India-Kannada, India-Malayalam, India-Tamil, India-Telugu, Slovenian, Polish, Catalonia, Bosnia, Czech, Estonian, Croatian, Punjabi, Marathi, Azerbaijan, Indonesian, Luxembourg, Lithuanian, Latvian, Malta, Slovak, Turkish, Kazakh, Greek, Irish, Belarus, Khmer, Tagalog, Pashto, Persian, Tajikistan</li></ul>
	SubtitleLang *string `json:"SubtitleLang,omitnil,omitempty" name:"SubtitleLang"`

	// <p>Subtitle file format. Default value: vtt. This parameter is valid only when OcrSwitch is "ON".</p><ul><li>srt srt format</li><li>vtt WebVTT format</li></ul>
	SubtitleFormat *string `json:"SubtitleFormat,omitnil,omitempty" name:"SubtitleFormat"`

	// <p>Whether to enable subtitle translation. Default value: OFF. This parameter is valid only when OcrSwitch is set to "ON".</p><ul><li>ON: Enable</li><li>OFF: Disable</li></ul>
	TransSwitch *string `json:"TransSwitch,omitnil,omitempty" name:"TransSwitch"`

	// <p>The target language for subtitle translation defaults to en. This parameter is valid only when TransSwitch is set to "ON". Currently support the following languages:<br>zh: Simplified Chinese<br>en: English<br>ja: Japanese<br>ko: Korean<br>fr: French<br>es: Spanish<br>it: Italian<br>de: German<br>tr: Turkish<br>ru: Russian<br>pt: Portuguese<br>vi: Vietnamese<br>id: Indonesian<br>ms: Malay<br>th: Thai<br>ar: Arabic<br>hi: Hindi</p>
	TransDstLang *string `json:"TransDstLang,omitnil,omitempty" name:"TransDstLang"`

	// <p>Automatically erase custom regions. For selected regions, use the AI model to automatically detect and erase existing targets.<br>Note: When the erase method is set to custom, this parameter will not take effect. To modify the template, input [] for region cleanup. The template region information remains unchanged if not provided.</p>
	AutoAreas []*MPSEraseArea `json:"AutoAreas,omitnil,omitempty" name:"AutoAreas"`

	// <p>Specify the removal of custom regions. For specified regions, directly perform erasure without detection and recognition within a selected time range. Note: When modifying the template, import [] to clear regions. The template region information remains unchanged if not imported.</p>
	CustomAreas []*MPSEraseTimeArea `json:"CustomAreas,omitnil,omitempty" name:"CustomAreas"`
}

type MPSUpdateSmartEraseWatermarkConfig struct {
	// <p>Watermark removal method.<br> <strong>Auto removal:</strong> Automatically recognize watermarks in videos through Model A and generate new videos after removal. Suitable for dynamic watermarks. When using auto removal, if you do not specify AutoAreas, it will perform auto removal on the full-screen video; if you specify AutoAreas, it will change to auto removal on your designated regions.<br><strong>Specified area removal:</strong> For static watermarks with fixed positions, it is recommended to directly specify the removal area. When you choose specified area removal, import at least one designated region. - auto Auto removal - custom Specified area removal</p>
	WatermarkEraseMethod *string `json:"WatermarkEraseMethod,omitnil,omitempty" name:"WatermarkEraseMethod"`

	// <p>Watermark removal model. basic Edition: provides average effects and high cost performance. It applies to animations or videos with clean backgrounds. advanced Edition: offers better effectiveness and is suitable for mini-dramas or reality-style videos.</p><ul><li>basic Edition</li><li>advanced Edition</li></ul>
	WatermarkModel *string `json:"WatermarkModel,omitnil,omitempty" name:"WatermarkModel"`

	// <p>Automatically erase custom regions. For selected regions, use the AI model to automatically detect and erase existing targets. Note: When the erase method is set to custom, this parameter will not take effect. To clear regions, input []. If not provided, the template region information remains unchanged.</p>
	AutoAreas []*MPSEraseArea `json:"AutoAreas,omitnil,omitempty" name:"AutoAreas"`

	// <p>Specify the removal of custom regions. For specified regions, directly perform erasure without detection and recognition within a selected time range. Note: Import [] to clear regions. The template region information remains unchanged if not imported.</p>
	CustomAreas []*MPSEraseTimeArea `json:"CustomAreas,omitnil,omitempty" name:"CustomAreas"`
}

// Predefined struct for user
type ManageTaskRequestParams struct {
	// Task ID of the video processing task.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Operation type. Value ranges from...to...
	// <li>Abort: Terminate task. Only terminate initiated and pending tasks (WAITING).</li>
	OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ManageTaskRequest struct {
	*tchttp.BaseRequest
	
	// Task ID of the video processing task.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Operation type. Value ranges from...to...
	// <li>Abort: Terminate task. Only terminate initiated and pending tasks (WAITING).</li>
	OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ManageTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ManageTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	delete(f, "OperationType")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ManageTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ManageTaskResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ManageTaskResponse struct {
	*tchttp.BaseResponse
	Response *ManageTaskResponseParams `json:"Response"`
}

func (r *ManageTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ManageTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type MaxAge struct {
	// MaxAge rule
	MaxAgeRules []*MaxAgeRule `json:"MaxAgeRules,omitnil,omitempty" name:"MaxAgeRules"`
}

type MaxAgeRule struct {
	// Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li>
	MaxAgeType *string `json:"MaxAgeType,omitnil,omitempty" name:"MaxAgeType"`

	// Matching content under the corresponding type of MaxAgeType: <li>Fill in * when all is used; </li> <li> Fill in suffix name when file is used, such as jpg, txt; </li> <li> Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li> <b>Note: all rules cannot be deleted. They follow the origin site by default and can be modified. </b>
	MaxAgeContents []*string `json:"MaxAgeContents,omitnil,omitempty" name:"MaxAgeContents"`

	// MaxAge time setting, unit second; <b>Note: The time is 0, which means no caching. </b>
	MaxAgeTime *uint64 `json:"MaxAgeTime,omitnil,omitempty" name:"MaxAgeTime"`

	// Whether to follow the origin server. Valid values: on and off. If it's on, MaxAgeTime is ignored.
	FollowOrigin *string `json:"FollowOrigin,omitnil,omitempty" name:"FollowOrigin"`
}

type MediaAdaptiveDynamicStreamingInfo struct {
	// Information array of adaptive bitrate streaming.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AdaptiveDynamicStreamingSet []*AdaptiveDynamicStreamingInfoItem `json:"AdaptiveDynamicStreamingSet,omitnil,omitempty" name:"AdaptiveDynamicStreamingSet"`
}

type MediaAiAnalysisClassificationItem struct {
	// Name of intelligently generated category.
	Classification *string `json:"Classification,omitnil,omitempty" name:"Classification"`

	// Confidence of intelligently generated category between 0 and 100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`
}

type MediaAiAnalysisCoverItem struct {
	// Address of intelligently generated cover.
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`

	// Confidence of intelligently generated cover between 0 and 100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`
}

type MediaAiAnalysisFrameTagItem struct {
	// Frame-specific tag name.
	Tag *string `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Category list of frame-specific tag names. `CategorySet.N` indicates the N+1-level category.
	// For example, if the `Tag` is "tower", and `CategorySet` contains two elements (`CategorySet.0` is "scene", and `CategorySet.1` is "architecture"), then the frame-specific tag is "tower", the first-level category is "scene", and the second-level category is "architecture".
	CategorySet []*string `json:"CategorySet,omitnil,omitempty" name:"CategorySet"`

	// Confidence of intelligently generated frame-specific tag between 0 and 100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`
}

type MediaAiAnalysisFrameTagSegmentItem struct {
	// <p>Offset time for frame tagging start.</p><p>Unit: second</p>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// <p>End time offset of frame tagging.</p><p>Unit: seconds</p>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// <p>Tag list in the time segment.</p>
	TagSet []*MediaAiAnalysisFrameTagItem `json:"TagSet,omitnil,omitempty" name:"TagSet"`
}

type MediaAiAnalysisHighlightItem struct {
	// <p>Intelligent highlight address.</p>
	HighlightUrl *string `json:"HighlightUrl,omitnil,omitempty" name:"HighlightUrl"`

	// <p>Intelligent highlight cover address.</p>
	CovImgUrl *string `json:"CovImgUrl,omitnil,omitempty" name:"CovImgUrl"`

	// <p>Reliability of the intelligent highlight collection, with a value range from 0 to 100.</p>
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// <p>Intelligent highlight duration.</p><p>Unit: second</p>
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// <p>Intelligent highlight sub-clip list. The highlight collection is generated by concatenation of these sub-segments.</p>
	SegmentSet []*HighlightSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`
}

type MediaAiAnalysisTagItem struct {
	// Tag name.
	Tag *string `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Confidence of tag between 0 and 100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`
}

type MediaAnimatedGraphicsInfo struct {
	// Result information of animated image generating task
	// Note: this field may return null, indicating that no valid values can be obtained.
	AnimatedGraphicsSet []*MediaAnimatedGraphicsItem `json:"AnimatedGraphicsSet,omitnil,omitempty" name:"AnimatedGraphicsSet"`
}

type MediaAnimatedGraphicsItem struct {
	// Address of generated animated image.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Animated image generating template ID. For more information, please see [Animated Image Generating Parameter Template](https://intl.cloud.tencent.com/document/product/266/33481?from_cn_redirect=1#.3Cspan-id-.3D-.22zdt.22.3E.3C.2Fspan.3E.E8.BD.AC.E5.8A.A8.E5.9B.BE.E6.A8.A1.E6.9D.BF).
	// Note: this field may return null, indicating that no valid values can be obtained.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Animated image format, such as gif.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Height of animated image in px.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Width of animated image in px.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Bitrate of animated image in bps.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// Size of animated image in bytes.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Size *int64 `json:"Size,omitnil,omitempty" name:"Size"`

	// MD5 value of an animated image.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Start time offset of animated image in video in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of animated image in video in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

type MediaAudioStreamItem struct {
	// <p>Bitrate of the audio stream. Measurement unit: bps.</p>
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// <p>Sampling rate of the audio stream, unit: hz.</p>
	SamplingRate *int64 `json:"SamplingRate,omitnil,omitempty" name:"SamplingRate"`

	// <p>Audio stream encoding format, such as aac.</p>
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`
}

type MediaBasicInfo struct {
	// Media filename.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Media file description.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Creation time of media file in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	// Note: this field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last update time of media file (by an operation that triggers updating of media file information such as modifying video attributes or initiating video processing) in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	// Note: this field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Expiration time of media file in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I). After the expiration, the media file and its related resources (such as transcoding results and image sprites) will be permanently deleted. `9999-12-31T23:59:59Z` means "never expire".
	// Note: this field may return null, indicating that no valid values can be obtained.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// Category ID of media file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Category name of media file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// Category path to media file separated by "-", such as "new first-level category - new second-level category".
	// Note: this field may return null, indicating that no valid values can be obtained.
	ClassPath *string `json:"ClassPath,omitnil,omitempty" name:"ClassPath"`

	// Cover image address of media file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`

	// Media file container, such as mp4 and flv.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// URL of source media file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	MediaUrl *string `json:"MediaUrl,omitnil,omitempty" name:"MediaUrl"`

	// Source information of media file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SourceInfo *MediaSourceData `json:"SourceInfo,omitnil,omitempty" name:"SourceInfo"`

	// Regions where media files are stored, such as `ap-chongqing`. For more regions, see [Storage Region](https://intl.cloud.tencent.com/document/product/266/9760).
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// Media storage path.
	StoragePath *string `json:"StoragePath,omitnil,omitempty" name:"StoragePath"`

	// Tag information of media file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TagSet []*string `json:"TagSet,omitnil,omitempty" name:"TagSet"`

	// Unique ID of an LVB recording file.
	Vid *string `json:"Vid,omitnil,omitempty" name:"Vid"`

	// File type:
	// <li>Video: video file</li>
	// <li>Audio: audio file</li>
	// <li>Image: image file</li>
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// File status: Normal: normal, Forbidden: banned.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Storage class of a media file:
	// <li>STANDARD</li>
	// <li>STANDARD_IA</li>
	// <li>ARCHIVE</li>
	// <li>DEEP_ARCHIVE</li>
	StorageClass *string `json:"StorageClass,omitnil,omitempty" name:"StorageClass"`
}

type MediaCastEvent struct {

	CastId *string `json:"CastId,omitnil,omitempty" name:"CastId"`

	// Retweet status. Valid values:
	// <li>Working: running.</li>
	// <li>Scheduled: start up after reaching the scheduled time;</li>
	// <li>Stopped: relay has been stopped;</li>
	// <li>Idle: idle.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`
}

type MediaClassInfo struct {
	// The category ID.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Parent category ID, which is -1 for a first-level category.
	ParentId *int64 `json:"ParentId,omitnil,omitempty" name:"ParentId"`

	// The category name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Category level. 0 for first-level category, up to 3, i.e., up to 4 levels of categories are allowed.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// The IDs of the immediate subcategories of the current category.
	SubClassIdSet []*int64 `json:"SubClassIdSet,omitnil,omitempty" name:"SubClassIdSet"`

	// The category name. This parameter is not recommended. Please use `Name` instead.
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`
}

type MediaContentReviewAsrTextSegmentItem struct {
	// Start time offset of suspected segment in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of suspected segment in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence of suspected segment.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the detected suspicious content. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of suspected keywords.
	// Note: this field may return null, indicating that no valid values can be obtained.
	KeywordSet []*string `json:"KeywordSet,omitnil,omitempty" name:"KeywordSet"`
}

type MediaContentReviewOcrTextSegmentItem struct {
	// Start time offset of suspected segment in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of suspected segment in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence of suspected segment.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the detected suspicious content. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// List of suspected keywords.
	// Note: this field may return null, indicating that no valid values can be obtained.
	KeywordSet []*string `json:"KeywordSet,omitnil,omitempty" name:"KeywordSet"`

	// Zone coordinates (at the pixel level) of suspected text: [x1, y1, x2, y2], i.e., the coordinates of the top-left and bottom-right corners.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`

	// URL of a suspected image (which will not be permanently stored
	// and will be deleted after `PicUrlExpireTime`).
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Expiration time of suspected image URL in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	PicUrlExpireTime *string `json:"PicUrlExpireTime,omitnil,omitempty" name:"PicUrlExpireTime"`
}

type MediaContentReviewPoliticalSegmentItem struct {
	// Start time offset of a suspected segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of a suspected segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence score for the detected politically sensitive content
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Processing suggestion for the detected politically sensitive content. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Name of the politically sensitive content or banned images
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Labels for the detected politically sensitive content. The relationship between the values of this parameter and those of the `LabelSet` parameter in [PoliticalImgReviewTemplateInfo](https://intl.cloud.tencent.com/document/api/266/31773?from_cn_redirect=1#PoliticalImgReviewTemplateInfo) is as follows:
	// violation_photo:
	// <li>`violation_photo`: banned images</li>
	// politician:
	// <li>`nation_politician`: state leader of China</li>
	// <li>`province_politician`: provincial officials</li>
	// <li>`bureau_politician`: bureau-level officials</li>
	// <li>`county_politician`: county-level officials</li>
	// <li>`rural_politician`: township-level officials</li>
	// <li>`sensitive_politician`: politically sensitive people</li>
	// <li>`foreign_politician`: state leaders of other countries</li>
	// entertainment:
	// <li>`sensitive_entertainment`: banned people in the entertainment industry</li>
	// sport:
	// <li>`sensitive_sport`: banned sports celebrities</li>
	// entrepreneur:
	// <li>`sensitive_entrepreneur`: banned businesspeople</li>
	// scholar:
	// <li>sensitive_scholar: banned scholars</li>
	// celebrity:
	// <li>sensitive_celebrity: banned celebrities</li>
	// <li>historical_celebrity: banned historical figures</li>
	// military:
	// <li>sensitive_military: banned people in military</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// URL of a suspected image (which will not be permanently stored
	//  and will be deleted after `PicUrlExpireTime`).
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Coordinates (pixel) of the detected politically sensitive content or banned icons. The format is [x1, y1, x2, y2], which indicates the coordinates of the top-left and bottom-right corners.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`

	// This field has been disused. Please use `PicUrlExpireTime`.
	//
	// Deprecated: PicUrlExpireTimeStamp is deprecated.
	PicUrlExpireTimeStamp *int64 `json:"PicUrlExpireTimeStamp,omitnil,omitempty" name:"PicUrlExpireTimeStamp"`

	// Expiration time of suspected image URL in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	PicUrlExpireTime *string `json:"PicUrlExpireTime,omitnil,omitempty" name:"PicUrlExpireTime"`
}

type MediaContentReviewSegmentItem struct {
	// Start time offset of a suspected segment in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of a suspected segment in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Confidence score for the detected pornographic content
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Label for the detected pornographic content
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// Processing suggestion for the detected pornographic content. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// URL of a suspected image (which will not be permanently stored
	//  and will be deleted after `PicUrlExpireTime`).
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// This field has been disused. Please use `PicUrlExpireTime`.
	//
	// Deprecated: PicUrlExpireTimeStamp is deprecated.
	PicUrlExpireTimeStamp *int64 `json:"PicUrlExpireTimeStamp,omitnil,omitempty" name:"PicUrlExpireTimeStamp"`

	// Expiration time of suspected image URL in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	PicUrlExpireTime *string `json:"PicUrlExpireTime,omitnil,omitempty" name:"PicUrlExpireTime"`
}

type MediaDeleteItem struct {
	// The specified portion to be deleted. The parameter is invalid if this field is not filled in. Optional values u200bare:
	// <li>OriginalFiles (Delete the original file. After deletion, video processing operations such as transcoding cannot be initiated);</li>
	// <li>TranscodeFiles (delete transcoded files);</li>
	// <li>AdaptiveDynamicStreamingFiles (Delete the adaptive bitrate streaming files);</li>
	// <font color=red>Notice:</font> <li>When the value is OriginalFiles, the cover file carried when uploading the file will be deleted;</li>
	// <li>When the value is TranscodeFiles, cover files generated by media processing will be deleted.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// ID of the template for which to delete the videos of the type specified by the `Type` parameter. For the template definition, please see [Transcoding Template](https://intl.cloud.tencent.com/document/product/266/33478?from_cn_redirect=1#.3Cspan-id-.3D-.22zm.22-.3E.3C.2Fspan.3E.E8.BD.AC.E7.A0.81.E6.A8.A1.E6.9D.BF).
	// Default value: 0, which indicates to delete all videos of the type specified by the `Type` parameter.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type MediaImageSpriteInfo struct {
	// Information set of image sprites with specified specifications. Each element represents a set of image sprites with the same specification.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageSpriteSet []*MediaImageSpriteItem `json:"ImageSpriteSet,omitnil,omitempty" name:"ImageSpriteSet"`
}

type MediaImageSpriteItem struct {
	// <p>Sprite sheet specification. Please refer to <a href="https://www.tencentcloud.com/document/product/266/33480?from_cn_redirect=1#.E9.9B.AA.E7.A2.A7.E5.9B.BE.E6.A8.A1.E6.9D.BF">sprite sheet parameter template</a>.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Height of the sprite sheet.</p>
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// <p>Width of the sprite sheet.</p>
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// <p>The number of small images in each sprite sheet.</p>
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>The domain names or IP addresses of each sprite sheet.</p>
	ImageUrlSet []*string `json:"ImageUrlSet,omitnil,omitempty" name:"ImageUrlSet"`

	// Address of WebVtt file for the position-time relationship among subimages in an image sprite. The WebVtt file indicates the corresponding time points of each subimage and their coordinates in the image sprite, which is typically used by the player for implementing preview.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WebVttUrl *string `json:"WebVttUrl,omitnil,omitempty" name:"WebVttUrl"`
}

type MediaInfo struct {
	// <p>Basic information. Include video name, category, playback address, cover image.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	BasicInfo *MediaBasicInfo `json:"BasicInfo,omitnil,omitempty" name:"BasicInfo"`

	// <p>Meta information, including size, duration, video stream information, and audio stream information.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// <p>Transcoding result information, including domain names or IP addresses, specifications, bitrates, and resolutions of various types of videos generated by video transcoding.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	TranscodeInfo *MediaTranscodeInfo `json:"TranscodeInfo,omitnil,omitempty" name:"TranscodeInfo"`

	// <p>AnimatedGraphicsInfo. Information related to the animated graphics (such as gif) after video-to-gif conversion.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	AnimatedGraphicsInfo *MediaAnimatedGraphicsInfo `json:"AnimatedGraphicsInfo,omitnil,omitempty" name:"AnimatedGraphicsInfo"`

	// <p>Sampling screenshot information. Screenshot information related to the video after sampling screenshot taking.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	SampleSnapshotInfo *MediaSampleSnapshotInfo `json:"SampleSnapshotInfo,omitnil,omitempty" name:"SampleSnapshotInfo"`

	// <p>Sprite image information. Relevant information of the sprite after capturing CSS sprites from the video.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageSpriteInfo *MediaImageSpriteInfo `json:"ImageSpriteInfo,omitnil,omitempty" name:"ImageSpriteInfo"`

	// <p>Screenshot information at the specified time point. Information of each screenshot after capturing the video at the specified time point.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotByTimeOffsetInfo *MediaSnapshotByTimeOffsetInfo `json:"SnapshotByTimeOffsetInfo,omitnil,omitempty" name:"SnapshotByTimeOffsetInfo"`

	// <p>Video timestamp information. Each dotting information set for the video.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	KeyFrameDescInfo *MediaKeyFrameDescInfo `json:"KeyFrameDescInfo,omitnil,omitempty" name:"KeyFrameDescInfo"`

	// <p>Adaptive Bitrate Streaming information. Includes specification, encryption type, packaging format and information related to.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	AdaptiveDynamicStreamingInfo *MediaAdaptiveDynamicStreamingInfo `json:"AdaptiveDynamicStreamingInfo,omitnil,omitempty" name:"AdaptiveDynamicStreamingInfo"`

	// <p>miniProgramReviewInfo</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	MiniProgramReviewInfo *MediaMiniProgramReviewInfo `json:"MiniProgramReviewInfo,omitnil,omitempty" name:"MiniProgramReviewInfo"`

	// <p>Subtitle information.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	SubtitleInfo *MediaSubtitleInfo `json:"SubtitleInfo,omitnil,omitempty" name:"SubtitleInfo"`

	// <p>Media file unique identifier ID.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Verification information.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReviewInfo *FileReviewInfo `json:"ReviewInfo,omitnil,omitempty" name:"ReviewInfo"`

	// <p>MPS intelligent media asset information</p>
	MPSAiMediaInfo *MPSAiMediaInfo `json:"MPSAiMediaInfo,omitnil,omitempty" name:"MPSAiMediaInfo"`

	// <p>Image understanding information.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageUnderstandingInfo *ImageUnderstandingInfo `json:"ImageUnderstandingInfo,omitnil,omitempty" name:"ImageUnderstandingInfo"`

	// <p>Intelligent library information.</p>
	KnowledgeBasesInfo *KnowledgeBasesInfo `json:"KnowledgeBasesInfo,omitnil,omitempty" name:"KnowledgeBasesInfo"`

	// <p>Facial recognition information.</p>
	FaceRecognitionInfo *FaceRecognitionInfo `json:"FaceRecognitionInfo,omitnil,omitempty" name:"FaceRecognitionInfo"`
}

type MediaInputInfo struct {
	// Video URL.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Video name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Custom video ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type MediaKeyFrameDescInfo struct {
	// Information array of video timestamps.
	// Note: this field may return null, indicating that no valid values can be obtained.
	KeyFrameDescSet []*MediaKeyFrameDescItem `json:"KeyFrameDescSet,omitnil,omitempty" name:"KeyFrameDescSet"`
}

type MediaKeyFrameDescItem struct {
	// Offset time of video timestamp in seconds.
	TimeOffset *float64 `json:"TimeOffset,omitnil,omitempty" name:"TimeOffset"`

	// Content string of timestamp containing 1-128 characters.
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`
}

type MediaMetaData struct {
	// Size of uploaded media file in bytes (which is the sum of size of m3u8 and ts files if the video is in HLS format).
	// Note: this field may return null, indicating that no valid values can be obtained.
	Size *int64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Container, such as m4a and mp4.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Sum of the average bitrate of a video stream and that of an audio stream in bps.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// Maximum value of the height of a video stream in px.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Maximum value of the width of a video stream in px.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Video duration in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// Selected angle during video recording in degrees.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Rotate *int64 `json:"Rotate,omitnil,omitempty" name:"Rotate"`

	// Video stream information.
	// Note: this field may return null, indicating that no valid values can be obtained.
	VideoStreamSet []*MediaVideoStreamItem `json:"VideoStreamSet,omitnil,omitempty" name:"VideoStreamSet"`

	// Audio stream information.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AudioStreamSet []*MediaAudioStreamItem `json:"AudioStreamSet,omitnil,omitempty" name:"AudioStreamSet"`

	// Video duration in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	VideoDuration *float64 `json:"VideoDuration,omitnil,omitempty" name:"VideoDuration"`

	// Audio duration in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AudioDuration *float64 `json:"AudioDuration,omitnil,omitempty" name:"AudioDuration"`

	// The MD5 hash of the file.
	// <li><font color=red>Note</font>: To get the MD5 hash of a file, call the `DescribeFileAttributes` API. The information will be returned after the task is completed.</li>
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`
}

type MediaMiniProgramReviewElem struct {
	// Audit type. 
	// <li>Porn: porn image,</li>
	// <li>Porn.Ocr: porn text,</li>
	// <li>Porn.Asr: porn speech,</li>
	// <li>Terrorism: terrorism image,</li>
	// <li>Political: politically sensitive image,</li>
	// <li>Political.Ocr: politically sensitive text</li>
	// <li>Political.Asr: politically sensitive speech</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Audit suggestion.
	// <li>pass: normal,</li>
	// <li>block: violating,</li>
	// <li>review: suspected of violation.</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Confidence of audit result between 0 and 100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`
}

type MediaMiniProgramReviewInfo struct {
	// Audit information list.
	MiniProgramReviewList []*MediaMiniProgramReviewInfoItem `json:"MiniProgramReviewList,omitnil,omitempty" name:"MiniProgramReviewList"`
}

type MediaMiniProgramReviewInfoItem struct {
	// Template ID, which is the ID of the transcoding template corresponding to the video published on WeChat Mini Program. 0 represents the source video.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Video metadata.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// Video playback address for WeChat Mini Program audit
	// Note: this field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Status of video release on WeChat Mini Program
	// <li>Pass: succeeded.</li>
	// <li>Rejected: rejected.</li>
	ReviewResult *string `json:"ReviewResult,omitnil,omitempty" name:"ReviewResult"`

	// WeChat Mini Program audit element.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ReviewSummary []*MediaMiniProgramReviewElem `json:"ReviewSummary,omitnil,omitempty" name:"ReviewSummary"`
}

type MediaOutputInfo struct {
	// Region of the bucket where an output file is stored, such as ap-guangzhou.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Bucket of output file.
	Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"`

	// Path to output file, which must end in "/".
	Dir *string `json:"Dir,omitnil,omitempty" name:"Dir"`
}

type MediaProcessTaskAdaptiveDynamicStreamingResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The progress of the adaptive bitrate task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input of adaptive bitrate streaming task.
	Input *AdaptiveDynamicStreamingTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of adaptive bitrate streaming task.
	Output *AdaptiveDynamicStreamingInfoItem `json:"Output,omitnil,omitempty" name:"Output"`

	// The time when the conversion to adaptive code stream task starts, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the adaptive code stream conversion task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type MediaProcessTaskAnimatedGraphicResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of animated image generating task.
	Input *AnimatedGraphicTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of animated image generating task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Output *MediaAnimatedGraphicsItem `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an animated image generation task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the rotation graph task started to execute, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the rotation graph task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type MediaProcessTaskCoverBySnapshotResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of cover generating task.
	Input *CoverBySnapshotTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of cover generating task.
	Output *CoverBySnapshotTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a video screenshot (thumbnail) task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the screenshot making cover task started, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// Screenshot the time when the cover task was completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type MediaProcessTaskImageSpriteResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of image sprite generating task.
	Input *ImageSpriteTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of image sprite generating task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Output *MediaImageSpriteItem `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of an image sprite generation task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the sprite cut task started to be executed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the sprite cut task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type MediaProcessTaskInput struct {
	// List of transcoding tasks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TranscodeTaskSet []*TranscodeTaskInput `json:"TranscodeTaskSet,omitnil,omitempty" name:"TranscodeTaskSet"`

	// List of animated image generating tasks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AnimatedGraphicTaskSet []*AnimatedGraphicTaskInput `json:"AnimatedGraphicTaskSet,omitnil,omitempty" name:"AnimatedGraphicTaskSet"`

	// List of time point screencapturing tasks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SnapshotByTimeOffsetTaskSet []*SnapshotByTimeOffsetTaskInput `json:"SnapshotByTimeOffsetTaskSet,omitnil,omitempty" name:"SnapshotByTimeOffsetTaskSet"`

	// List of sampled screencapturing tasks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SampleSnapshotTaskSet []*SampleSnapshotTaskInput `json:"SampleSnapshotTaskSet,omitnil,omitempty" name:"SampleSnapshotTaskSet"`

	// List of image sprite generating tasks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageSpriteTaskSet []*ImageSpriteTaskInput `json:"ImageSpriteTaskSet,omitnil,omitempty" name:"ImageSpriteTaskSet"`

	// List of cover generating tasks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	CoverBySnapshotTaskSet []*CoverBySnapshotTaskInput `json:"CoverBySnapshotTaskSet,omitnil,omitempty" name:"CoverBySnapshotTaskSet"`

	// List of adaptive bitrate streaming tasks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AdaptiveDynamicStreamingTaskSet []*AdaptiveDynamicStreamingTaskInput `json:"AdaptiveDynamicStreamingTaskSet,omitnil,omitempty" name:"AdaptiveDynamicStreamingTaskSet"`
}

type MediaProcessTaskResult struct {
	// Task type. Valid values:
	// <li>Transcode: transcoding</li>
	// <li>AnimatedGraphics: animated image generating</li>
	// <li>SnapshotByTimeOffset: time point screencapturing</li>
	// <li>SampleSnapshot: sampled screencapturing</li>
	// <li>ImageSprites: image sprite generating</li>
	// <li>CoverBySnapshot: Screencapturing for cover image</li>
	// <li>AdaptiveDynamicStreaming: adaptive bitrate streaming</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Query result of transcoding task, which is valid when task type is `Transcode`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TranscodeTask *MediaProcessTaskTranscodeResult `json:"TranscodeTask,omitnil,omitempty" name:"TranscodeTask"`

	// Query result of animated image generating task, which is valid when task type is `AnimatedGraphics`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AnimatedGraphicTask *MediaProcessTaskAnimatedGraphicResult `json:"AnimatedGraphicTask,omitnil,omitempty" name:"AnimatedGraphicTask"`

	// Query result of time point screencapturing task, which is valid when task type is `SnapshotByTimeOffset`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SnapshotByTimeOffsetTask *MediaProcessTaskSnapshotByTimeOffsetResult `json:"SnapshotByTimeOffsetTask,omitnil,omitempty" name:"SnapshotByTimeOffsetTask"`

	// Query result of sampled screencapturing task, which is valid when task type is `SampleSnapshot`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SampleSnapshotTask *MediaProcessTaskSampleSnapshotResult `json:"SampleSnapshotTask,omitnil,omitempty" name:"SampleSnapshotTask"`

	// Query result of image sprite generating task, which is valid when task type is `ImageSprite`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageSpriteTask *MediaProcessTaskImageSpriteResult `json:"ImageSpriteTask,omitnil,omitempty" name:"ImageSpriteTask"`

	// Query result of cover generating task, which is valid if task type is `CoverBySnapshot`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	CoverBySnapshotTask *MediaProcessTaskCoverBySnapshotResult `json:"CoverBySnapshotTask,omitnil,omitempty" name:"CoverBySnapshotTask"`

	// Query result of adaptive bitrate streaming, which is valid if task type is `AdaptiveDynamicStreaming`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AdaptiveDynamicStreamingTask *MediaProcessTaskAdaptiveDynamicStreamingResult `json:"AdaptiveDynamicStreamingTask,omitnil,omitempty" name:"AdaptiveDynamicStreamingTask"`
}

type MediaProcessTaskSampleSnapshotResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of sampled screencapturing task.
	Input *SampleSnapshotTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of sampled screencapturing task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Output *MediaSampleSnapshotItem `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a sampled screenshot task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the sampling screenshot task starts execution is in [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the sampling screenshot task is completed uses [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type MediaProcessTaskSnapshotByTimeOffsetResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of time point screencapturing task.
	Input *SnapshotByTimeOffsetTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of time point screencapturing task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Output *MediaSnapshotByTimeOffsetItem `json:"Output,omitnil,omitempty" name:"Output"`

	// The progress of a time point screenshot task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The time when the point-in-time screenshot task started to be executed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The time when the point-in-time screenshot task is completed, using [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type MediaProcessTaskTranscodeResult struct {
	// Task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of transcoding task.
	Input *TranscodeTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of transcoding task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Output *MediaTranscodeItem `json:"Output,omitnil,omitempty" name:"Output"`

	// Transcoding progress. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Transcoding task start time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// Transcoding task end time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732)
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type MediaSampleSnapshotInfo struct {
	// Information set of sampled screenshots with the specified specifications. Each element represents a set of sampled screenshots with the same specification.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SampleSnapshotSet []*MediaSampleSnapshotItem `json:"SampleSnapshotSet,omitnil,omitempty" name:"SampleSnapshotSet"`
}

type MediaSampleSnapshotItem struct {
	// Sampled screenshot specification ID. For more information, please see [Sampled Screencapturing Parameter Template](https://intl.cloud.tencent.com/document/product/266/33480?from_cn_redirect=1#.E9.87.87.E6.A0.B7.E6.88.AA.E5.9B.BE.E6.A8.A1.E6.9D.BF).
	// Note: this field may return null, indicating that no valid values can be obtained.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Sample type. Valid values:
	// <li>Percent: samples at a specified percentage interval.</li>
	// <li>Time: samples at a specified time interval.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval
	// <li>If `SampleType` is `Percent`, this value means taking a screenshot at an interval of the specified percentage.</li>
	// <li>If `SampleType` is `Time`, this value means taking a screenshot at an interval of the specified time (in seconds). The first screenshot is always the first video frame.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	Interval *int64 `json:"Interval,omitnil,omitempty" name:"Interval"`

	// List of URLs of generated screenshots.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageUrlSet []*string `json:"ImageUrlSet,omitnil,omitempty" name:"ImageUrlSet"`

	// List of watermarking template IDs if the screenshots are watermarked.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WaterMarkDefinition []*int64 `json:"WaterMarkDefinition,omitnil,omitempty" name:"WaterMarkDefinition"`
}

type MediaSnapshotByTimeOffsetInfo struct {
	// Information set of time point screenshots with a specified specification. Currently, there can be only one set of screenshots for each specification.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SnapshotByTimeOffsetSet []*MediaSnapshotByTimeOffsetItem `json:"SnapshotByTimeOffsetSet,omitnil,omitempty" name:"SnapshotByTimeOffsetSet"`
}

type MediaSnapshotByTimeOffsetItem struct {
	// Specification of a time point screenshot. For more information, please see [Parameter Template for Time Point Screencapturing](https://intl.cloud.tencent.com/document/product/266/33480?from_cn_redirect=1#.E6.97.B6.E9.97.B4.E7.82.B9.E6.88.AA.E5.9B.BE.E6.A8.A1.E6.9D.BF).
	// Note: this field may return null, indicating that no valid values can be obtained.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Information set of screenshots of the same specification. Each element represents a screenshot.
	// Note: this field may return null, indicating that no valid values can be obtained.
	PicInfoSet []*MediaSnapshotByTimePicInfoItem `json:"PicInfoSet,omitnil,omitempty" name:"PicInfoSet"`
}

type MediaSnapshotByTimePicInfoItem struct {
	// Time offset corresponding to the screenshot in the video in <font color=red>milliseconds</font>.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TimeOffset *float64 `json:"TimeOffset,omitnil,omitempty" name:"TimeOffset"`

	// Screenshot URL.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// List of watermarking template IDs if the screenshots are watermarked.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WaterMarkDefinition []*int64 `json:"WaterMarkDefinition,omitnil,omitempty" name:"WaterMarkDefinition"`
}

type MediaSourceData struct {
	// Media file source category:
	// <li>Record: comes from recording, such as live recording, live streaming time shift recording.</li>
	// <li>Upload: Comes from upload, such as pull upload, server-side upload, and client UGC upload.</li>
	// <li>VideoProcessing: comes from video processing, such as video splicing, video editing.</li>
	// <li>TrtcRecord: Comes from TRTC simultaneous recording.</li>
	// <li>WebPageRecord: comes from panoramic recording.</li>
	// <li>Unknown: Unknown source.</li>
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// Field passed through when the user creates a file.
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// Live recording information is valid when file source is Record.
	// Note: This field may return null, indicating that no valid values can be obtained.
	LiveRecordInfo *LiveRecordInfo `json:"LiveRecordInfo,omitnil,omitempty" name:"LiveRecordInfo"`

	// TRTC Companion Recording Information. Valid at that time when the file source is TrtcRecord.
	// Note: This field may return null, indicating that no valid values can be obtained.
	TrtcRecordInfo *TrtcRecordInfo `json:"TrtcRecordInfo,omitnil,omitempty" name:"TrtcRecordInfo"`

	// Panoramic recording information. Valid when the file source is WebPageRecord.
	// Note: This field may return null, indicating that no valid values can be obtained.
	WebPageRecordInfo *WebPageRecordInfo `json:"WebPageRecordInfo,omitnil,omitempty" name:"WebPageRecordInfo"`
}

type MediaSubStreamInfoItem struct {
	// The stream type. Valid values:
	// <li>`audio`: Audio only</li>
	// <li>`video`: Video (may include audio)</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The video width (px) if `Type` is `video`.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The video height (px) if `Type` is `video`.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// The file size (bytes).
	// <font color=red>Note:</font>For adaptive bitrate streaming files generated before 2023-02-09T16:00:00Z, the value of this parameter is `0`.
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`
}

type MediaSubtitleInfo struct {
	// Subtitle information list
	SubtitleSet []*MediaSubtitleItem `json:"SubtitleSet,omitnil,omitempty" name:"SubtitleSet"`
}

type MediaSubtitleInput struct {
	// Subtitle name. Length limit: 64 characters
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Subtitle language. Common values are as follows:
	// <li>zh: Chinese.</li>
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>vi: Vietnamese;</li>
	// <li>ms: Malay;</li>
	// <li>th: Thai;</li>
	// <li>pt: Portuguese;</li>
	// <li>tr: Turkish;</li>
	// <li>ar: Arabic;</li>
	// <li>es: Spanish;</li>
	// <li>hi: Hindi;</li>
	// <li>fr: French.</li>
	// For other values, see [RFC5646](https://tools.ietf.org/html/rfc5646)
	Language *string `json:"Language,omitnil,omitempty" name:"Language"`

	// Subtitle format. Valid value:
	// <li>vtt</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Subtitle content, which is [Base64-encoded](https://tools.ietf.org/html/rfc4648) strings
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// The subtitle ID. It can be up to 16 characters long, can contain letters, numbers, underscores (_), and hyphens (-), and cannot be identical to an existing subtitle ID.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type MediaSubtitleItem struct {
	// Unique subtitle ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Subtitle name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Subtitle language. Common values are as follows:
	// <li>zh: Chinese;</li>
	// <li>en: English;</li>
	// <li>ja: Japanese;</li>
	// <li>ko: Korean;</li>
	// <li>vi: Vietnamese.</li>
	// <li>ms: Malay;</li>
	// <li>th: Thai;</li>
	// <li>pt: Portuguese;</li>
	// <li>tr: Turkish;</li>
	// <li>ar: Arabic;</li>
	// <li>es: Spanish;</li>
	// <li>hi: Hindi;</li>
	// <li>fr: French.</li>
	// For other values, see [RFC5646](https://tools.ietf.org/html/rfc5646)
	Language *string `json:"Language,omitnil,omitempty" name:"Language"`

	// Subtitle format. Valid value:
	// <li>vtt</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Subtitle URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Subtitle source. Value ranges from...to...
	// <li>UserUploaded: User upload.</li>
	// <li>AIRecognition: AI recognition, generated through speech recognition or speech translation generation.</li>
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`
}

type MediaTrack struct {
	// Track type. Valid values:
	// <ul>
	// <li>Video: video track, which is composed of the following items: <ul><li>VideoTrackItem</li><li>MediaTransitionItem</li> <li>EmptyTrackItem</li></ul> </li>
	// <li>Audio: audio track, which is composed of the following items: <ul><li>AudioTrackItem</li><li>MediaTransitionItem</li><li>EmptyTrackItem</li></ul></li>
	// <li>Sticker: sticker track, which is composed of the following items: <ul><li> StickerTrackItem</li><li>EmptyTrackItem</li></ul></li>	
	// </ul>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// List of media segments on track.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TrackItems []*MediaTrackItem `json:"TrackItems,omitnil,omitempty" name:"TrackItems"`
}

type MediaTrackItem struct {
	// Segment type. Valid values:
	// <li>Video: video segment.</li>
	// <li>Audio: audio segment.</li>
	// <li>Sticker: sticker segment.</li>
	// <li>Transition: transition.</li>
	// <li>Empty: empty segment.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Video segment, which is valid if `Type` is `Video`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	VideoItem *VideoTrackItem `json:"VideoItem,omitnil,omitempty" name:"VideoItem"`

	// Audio segment, which is valid if `Type` is `Audio`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AudioItem *AudioTrackItem `json:"AudioItem,omitnil,omitempty" name:"AudioItem"`

	// Sticker segment, which is valid if `Type` is `Sticker`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	StickerItem *StickerTrackItem `json:"StickerItem,omitnil,omitempty" name:"StickerItem"`

	// Transition, which is valid if `Type` is `Transition`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TransitionItem *MediaTransitionItem `json:"TransitionItem,omitnil,omitempty" name:"TransitionItem"`

	// Empty segment, which is valid if `Type` is `Empty`. It is used as placeholder on time axis. <li>If you want a period of silence between two audio segments, you can use `EmptyTrackItem` to hold the place.</li>
	// <li>Use `EmptyTrackItem` as a placeholder to locate an item.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	EmptyItem *EmptyTrackItem `json:"EmptyItem,omitnil,omitempty" name:"EmptyItem"`
}

type MediaTranscodeInfo struct {
	// Information set of transcoding with each specification. Each element represents a result of transcoding with a specification.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TranscodeSet []*MediaTranscodeItem `json:"TranscodeSet,omitnil,omitempty" name:"TranscodeSet"`
}

type MediaTranscodeItem struct {
	// <p>File URL of the transcoded video.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Transcoding specification ID. Please refer to <a href="https://www.tencentcloud.com/document/product/266/33476?from_cn_redirect=1">transcoding parameter template</a>.<br><font color="red">Note: A value of 0 means the raw file.</font></p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Sum of the mean bitrate of a stream and the mean audio stream bit rate, unit: bps.</p>
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// <p>Maximum value of video stream height. Unit: px.</p>
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// <p>Maximum value of video stream width. Unit: px.</p>
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// <p>Total size of media files, measurement unit: byte.</p><li>When the media file is HLS, the size is the sum of m3u8 and ts file sizes.</li>
	Size *int64 `json:"Size,omitnil,omitempty" name:"Size"`

	// <p>Video duration, in seconds.</p>
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// <p>md5 value of the video.</p>
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// <p>Container type, such as m4a, mp4.</p>
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <p>Video stream information.</p>
	VideoStreamSet []*MediaVideoStreamItem `json:"VideoStreamSet,omitnil,omitempty" name:"VideoStreamSet"`

	// <p>Audio stream information.</p>
	AudioStreamSet []*MediaAudioStreamItem `json:"AudioStreamSet,omitnil,omitempty" name:"AudioStreamSet"`

	// <p>Digital watermark type. Available values:</p><li>Trace means transit watermark processing;</li><li>CopyRight means copyright watermark processing;</li><li>None means no digital watermark processing.</li>
	DigitalWatermarkType *string `json:"DigitalWatermarkType,omitnil,omitempty" name:"DigitalWatermarkType"`

	// <p>Copyright information.</p>
	CopyRightWatermarkText *string `json:"CopyRightWatermarkText,omitnil,omitempty" name:"CopyRightWatermarkText"`

	// <p>Digital watermark template id.</p>
	BlindWatermarkDefinition *int64 `json:"BlindWatermarkDefinition,omitnil,omitempty" name:"BlindWatermarkDefinition"`

	// <p>Generated new FileId for transcoding. Valid when requesting to enable independence media output.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`
}

type MediaTransitionItem struct {
	// Transition duration in seconds. For two media segments that use a transition, the start time of the second segment on the track will be automatically set to the end time of the first segment minus the transition duration.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// List of transition operations. Up to one video image or audio transition operation is supported.
	// Note: this field may return null, indicating that no valid values can be obtained.
	//
	// Deprecated: Transitions is deprecated.
	Transitions []*TransitionOpertion `json:"Transitions,omitnil,omitempty" name:"Transitions"`

	// Transition operation list. Image transition operations and audio transition operations support at most one each.
	MediaTransitions []*TransitionOperation `json:"MediaTransitions,omitnil,omitempty" name:"MediaTransitions"`
}

type MediaVideoStreamItem struct {
	// Bitrate of video stream in bps.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// Height of video stream in px.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Width of video stream in px.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Video stream encoder, such as h264.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// Frame rate in Hz.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Fps *int64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// The codec tag. This parameter is valid only if `Codec` is `hevc`.
	CodecTag *string `json:"CodecTag,omitnil,omitempty" name:"CodecTag"`

	// Dynamic range information.
	// <li><font color=red>Note</font>: This parameter is valid for transcoding files generated after 2023-01-10T00:00:00Z.</li>
	DynamicRangeInfo *DynamicRangeInfo `json:"DynamicRangeInfo,omitnil,omitempty" name:"DynamicRangeInfo"`
}

// Predefined struct for user
type ModifyAIAnalysisTemplateRequestParams struct {
	// Unique identifier of an audio and video content analysis template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content analysis template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content analysis template description. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Intelligent classification task control parameters.
	ClassificationConfigure *ClassificationConfigureInfoForUpdate `json:"ClassificationConfigure,omitnil,omitempty" name:"ClassificationConfigure"`

	// Intelligent tag task control parameter.
	TagConfigure *TagConfigureInfoForUpdate `json:"TagConfigure,omitnil,omitempty" name:"TagConfigure"`

	// Intelligent Cover Task Control Parameters.
	CoverConfigure *CoverConfigureInfoForUpdate `json:"CoverConfigure,omitnil,omitempty" name:"CoverConfigure"`

	// Intelligent frame tagging task control parameter.
	FrameTagConfigure *FrameTagConfigureInfoForUpdate `json:"FrameTagConfigure,omitnil,omitempty" name:"FrameTagConfigure"`

	// Intelligent Highlights Compilation Task Control Parameters.
	HighlightConfigure *HighlightsConfigureInfoForUpdate `json:"HighlightConfigure,omitnil,omitempty" name:"HighlightConfigure"`
}

type ModifyAIAnalysisTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of an audio and video content analysis template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content analysis template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content analysis template description. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Intelligent classification task control parameters.
	ClassificationConfigure *ClassificationConfigureInfoForUpdate `json:"ClassificationConfigure,omitnil,omitempty" name:"ClassificationConfigure"`

	// Intelligent tag task control parameter.
	TagConfigure *TagConfigureInfoForUpdate `json:"TagConfigure,omitnil,omitempty" name:"TagConfigure"`

	// Intelligent Cover Task Control Parameters.
	CoverConfigure *CoverConfigureInfoForUpdate `json:"CoverConfigure,omitnil,omitempty" name:"CoverConfigure"`

	// Intelligent frame tagging task control parameter.
	FrameTagConfigure *FrameTagConfigureInfoForUpdate `json:"FrameTagConfigure,omitnil,omitempty" name:"FrameTagConfigure"`

	// Intelligent Highlights Compilation Task Control Parameters.
	HighlightConfigure *HighlightsConfigureInfoForUpdate `json:"HighlightConfigure,omitnil,omitempty" name:"HighlightConfigure"`
}

func (r *ModifyAIAnalysisTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAIAnalysisTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "ClassificationConfigure")
	delete(f, "TagConfigure")
	delete(f, "CoverConfigure")
	delete(f, "FrameTagConfigure")
	delete(f, "HighlightConfigure")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAIAnalysisTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAIAnalysisTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyAIAnalysisTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAIAnalysisTemplateResponseParams `json:"Response"`
}

func (r *ModifyAIAnalysisTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAIAnalysisTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAIRecognitionTemplateRequestParams struct {
	// Unique identifier of the audio/video content recognition template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content recognition template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content recognition template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Video opening and closing recognition control parameters.
	HeadTailConfigure *HeadTailConfigureInfoForUpdate `json:"HeadTailConfigure,omitnil,omitempty" name:"HeadTailConfigure"`

	// Video split recognition control parameters.
	SegmentConfigure *SegmentConfigureInfoForUpdate `json:"SegmentConfigure,omitnil,omitempty" name:"SegmentConfigure"`

	// Face recognition control parameter.
	FaceConfigure *FaceConfigureInfoForUpdate `json:"FaceConfigure,omitnil,omitempty" name:"FaceConfigure"`

	// Text Full-text Recognition Control Parameters.
	OcrFullTextConfigure *OcrFullTextConfigureInfoForUpdate `json:"OcrFullTextConfigure,omitnil,omitempty" name:"OcrFullTextConfigure"`

	// Text keyword recognition control parameters.
	OcrWordsConfigure *OcrWordsConfigureInfoForUpdate `json:"OcrWordsConfigure,omitnil,omitempty" name:"OcrWordsConfigure"`

	// Voice full-text recognition control parameters.
	// <font color=red>Note: This parameter is no longer maintained. It is recommended to use the AsrTranslateConfigure parameter to trigger voice translation recognition (when DstLanguage is left blank or filled with an empty string, no translation will be performed, and the billing item will match full text recognition).</font>
	AsrFullTextConfigure *AsrFullTextConfigureInfoForUpdate `json:"AsrFullTextConfigure,omitnil,omitempty" name:"AsrFullTextConfigure"`

	// Voice keyword recognition control parameters.
	AsrWordsConfigure *AsrWordsConfigureInfoForUpdate `json:"AsrWordsConfigure,omitnil,omitempty" name:"AsrWordsConfigure"`

	// Voice translation recognition control parameters.
	AsrTranslateConfigure *AsrTranslateConfigureInfoForUpdate `json:"AsrTranslateConfigure,omitnil,omitempty" name:"AsrTranslateConfigure"`

	// Object recognition control parameters.
	ObjectConfigure *ObjectConfigureInfoForUpdate `json:"ObjectConfigure,omitnil,omitempty" name:"ObjectConfigure"`

	// Frame interception interval, unit: seconds, minimum value 0.5.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

type ModifyAIRecognitionTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the audio/video content recognition template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video content recognition template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Audio/video content recognition template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Video opening and closing recognition control parameters.
	HeadTailConfigure *HeadTailConfigureInfoForUpdate `json:"HeadTailConfigure,omitnil,omitempty" name:"HeadTailConfigure"`

	// Video split recognition control parameters.
	SegmentConfigure *SegmentConfigureInfoForUpdate `json:"SegmentConfigure,omitnil,omitempty" name:"SegmentConfigure"`

	// Face recognition control parameter.
	FaceConfigure *FaceConfigureInfoForUpdate `json:"FaceConfigure,omitnil,omitempty" name:"FaceConfigure"`

	// Text Full-text Recognition Control Parameters.
	OcrFullTextConfigure *OcrFullTextConfigureInfoForUpdate `json:"OcrFullTextConfigure,omitnil,omitempty" name:"OcrFullTextConfigure"`

	// Text keyword recognition control parameters.
	OcrWordsConfigure *OcrWordsConfigureInfoForUpdate `json:"OcrWordsConfigure,omitnil,omitempty" name:"OcrWordsConfigure"`

	// Voice full-text recognition control parameters.
	// <font color=red>Note: This parameter is no longer maintained. It is recommended to use the AsrTranslateConfigure parameter to trigger voice translation recognition (when DstLanguage is left blank or filled with an empty string, no translation will be performed, and the billing item will match full text recognition).</font>
	AsrFullTextConfigure *AsrFullTextConfigureInfoForUpdate `json:"AsrFullTextConfigure,omitnil,omitempty" name:"AsrFullTextConfigure"`

	// Voice keyword recognition control parameters.
	AsrWordsConfigure *AsrWordsConfigureInfoForUpdate `json:"AsrWordsConfigure,omitnil,omitempty" name:"AsrWordsConfigure"`

	// Voice translation recognition control parameters.
	AsrTranslateConfigure *AsrTranslateConfigureInfoForUpdate `json:"AsrTranslateConfigure,omitnil,omitempty" name:"AsrTranslateConfigure"`

	// Object recognition control parameters.
	ObjectConfigure *ObjectConfigureInfoForUpdate `json:"ObjectConfigure,omitnil,omitempty" name:"ObjectConfigure"`

	// Frame interception interval, unit: seconds, minimum value 0.5.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`
}

func (r *ModifyAIRecognitionTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAIRecognitionTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "HeadTailConfigure")
	delete(f, "SegmentConfigure")
	delete(f, "FaceConfigure")
	delete(f, "OcrFullTextConfigure")
	delete(f, "OcrWordsConfigure")
	delete(f, "AsrFullTextConfigure")
	delete(f, "AsrWordsConfigure")
	delete(f, "AsrTranslateConfigure")
	delete(f, "ObjectConfigure")
	delete(f, "ScreenshotInterval")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAIRecognitionTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAIRecognitionTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyAIRecognitionTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAIRecognitionTemplateResponseParams `json:"Response"`
}

func (r *ModifyAIRecognitionTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAIRecognitionTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAdaptiveDynamicStreamingTemplateRequestParams struct {
	// Unique identifier of the adaptive transcoding template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Adaptive Transcoding Format, with a value range of
	// <li>HLS;</li>
	// <li>MPEG-DASH.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Whether to prohibit video low bitrate to high bitrate conversion, value ranges from...to...
	// <li>`0`: no,</li>
	// <li>1: Yes.</li>
	DisableHigherVideoBitrate *uint64 `json:"DisableHigherVideoBitrate,omitnil,omitempty" name:"DisableHigherVideoBitrate"`

	// Whether to prohibit video resolution to high resolution conversion. Value ranges from...to...
	// <li>`0`: no,</li>
	// <li>1: Yes.</li>
	DisableHigherVideoResolution *uint64 `json:"DisableHigherVideoResolution,omitnil,omitempty" name:"DisableHigherVideoResolution"`

	// Adaptive Transcoding Input Stream Parameter Information, up to 10 entries.
	// Note: The frame rate of each stream must remain consistent. If inconsistent, use the frame rate of the first stream as the output frame rate.
	StreamInfos []*AdaptiveStreamTemplate `json:"StreamInfos,omitnil,omitempty" name:"StreamInfos"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Segment type, valid when Format is HLS. Value range:
	// <li>ts: ts slicing;</li>
	// <li>fmp4: fmp4 segment.</li>
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`
}

type ModifyAdaptiveDynamicStreamingTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the adaptive transcoding template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Adaptive Transcoding Format, with a value range of
	// <li>HLS;</li>
	// <li>MPEG-DASH.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Whether to prohibit video low bitrate to high bitrate conversion, value ranges from...to...
	// <li>`0`: no,</li>
	// <li>1: Yes.</li>
	DisableHigherVideoBitrate *uint64 `json:"DisableHigherVideoBitrate,omitnil,omitempty" name:"DisableHigherVideoBitrate"`

	// Whether to prohibit video resolution to high resolution conversion. Value ranges from...to...
	// <li>`0`: no,</li>
	// <li>1: Yes.</li>
	DisableHigherVideoResolution *uint64 `json:"DisableHigherVideoResolution,omitnil,omitempty" name:"DisableHigherVideoResolution"`

	// Adaptive Transcoding Input Stream Parameter Information, up to 10 entries.
	// Note: The frame rate of each stream must remain consistent. If inconsistent, use the frame rate of the first stream as the output frame rate.
	StreamInfos []*AdaptiveStreamTemplate `json:"StreamInfos,omitnil,omitempty" name:"StreamInfos"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Segment type, valid when Format is HLS. Value range:
	// <li>ts: ts slicing;</li>
	// <li>fmp4: fmp4 segment.</li>
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`
}

func (r *ModifyAdaptiveDynamicStreamingTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAdaptiveDynamicStreamingTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Format")
	delete(f, "DisableHigherVideoBitrate")
	delete(f, "DisableHigherVideoResolution")
	delete(f, "StreamInfos")
	delete(f, "Comment")
	delete(f, "SegmentType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAdaptiveDynamicStreamingTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAdaptiveDynamicStreamingTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyAdaptiveDynamicStreamingTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAdaptiveDynamicStreamingTemplateResponseParams `json:"Response"`
}

func (r *ModifyAdaptiveDynamicStreamingTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAdaptiveDynamicStreamingTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAigcQuotaRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Task quota quantity</p><p>Unit:</p><ul><li>When QuotaLimit=Image, unit: sheets</li><li>When QuotaLimit=Video, unit: seconds</li><li>When QuotaLimit=Text, unit: tokens</li></ul>
	QuotaLimit *uint64 `json:"QuotaLimit,omitnil,omitempty" name:"QuotaLimit"`

	// <p>Valid only when QuotaLimit=Text, used to select the ApiToken that needs quota limit</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

type ModifyAigcQuotaRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Quota type</p><p>Enumeration value:</p><ul><li>Image: AIGC image generation task</li><li>Video: AIGC video generation task</li><li>Text: AIGC text generation task</li></ul>
	QuotaType *string `json:"QuotaType,omitnil,omitempty" name:"QuotaType"`

	// <p>Task quota quantity</p><p>Unit:</p><ul><li>When QuotaLimit=Image, unit: sheets</li><li>When QuotaLimit=Video, unit: seconds</li><li>When QuotaLimit=Text, unit: tokens</li></ul>
	QuotaLimit *uint64 `json:"QuotaLimit,omitnil,omitempty" name:"QuotaLimit"`

	// <p>Valid only when QuotaLimit=Text, used to select the ApiToken that needs quota limit</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`
}

func (r *ModifyAigcQuotaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAigcQuotaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "QuotaType")
	delete(f, "QuotaLimit")
	delete(f, "ApiToken")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAigcQuotaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAigcQuotaResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyAigcQuotaResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAigcQuotaResponseParams `json:"Response"`
}

func (r *ModifyAigcQuotaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAigcQuotaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAnimatedGraphicsTemplateRequestParams struct {
	// Unique identifier of the rotation diagram template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Rotating image template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Maximum value of animated gif width (or long side), value ranges from 0 to [32, 4096], unit: px.<li>When Width and Height are 0, Same Resolution Source;</li><li>When Width is 0 and Height is not 0, proportionally scale Width;</li><li>When Width is not 0 and Height is 0, proportionally scale Height;</li><li>When Width and Height are not 0, resolution specified by user.</li>Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of animated gif height (or short side), value ranges from 0 to [32, 4096], unit: px. <li>When both Width and Height are 0, the resolution is Same Resolution Source;</li> <li>When Width is 0 and Height is not 0, Width is proportionally scaled;</li> <li>When Width is not 0 and Height is 0, Height is proportionally scaled;</li> <li>When both Width and Height are not 0, the resolution is specified by user.</li> Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Animated image file format, value is gif and webp.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Frame rate. Value ranges from 1 to 30. Unit: Hz.
	Fps *uint64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// Image quality. Valid range: 1 - 100. Default value: 75.
	Quality *float64 `json:"Quality,omitnil,omitempty" name:"Quality"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type ModifyAnimatedGraphicsTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the rotation diagram template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Rotating image template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Maximum value of animated gif width (or long side), value ranges from 0 to [32, 4096], unit: px.<li>When Width and Height are 0, Same Resolution Source;</li><li>When Width is 0 and Height is not 0, proportionally scale Width;</li><li>When Width is not 0 and Height is 0, proportionally scale Height;</li><li>When Width and Height are not 0, resolution specified by user.</li>Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of animated gif height (or short side), value ranges from 0 to [32, 4096], unit: px. <li>When both Width and Height are 0, the resolution is Same Resolution Source;</li> <li>When Width is 0 and Height is not 0, Width is proportionally scaled;</li> <li>When Width is not 0 and Height is 0, Height is proportionally scaled;</li> <li>When both Width and Height are not 0, the resolution is specified by user.</li> Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Animated image file format, value is gif and webp.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Frame rate. Value ranges from 1 to 30. Unit: Hz.
	Fps *uint64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// Image quality. Valid range: 1 - 100. Default value: 75.
	Quality *float64 `json:"Quality,omitnil,omitempty" name:"Quality"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *ModifyAnimatedGraphicsTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAnimatedGraphicsTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "Format")
	delete(f, "Fps")
	delete(f, "Quality")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAnimatedGraphicsTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAnimatedGraphicsTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyAnimatedGraphicsTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAnimatedGraphicsTemplateResponseParams `json:"Response"`
}

func (r *ModifyAnimatedGraphicsTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAnimatedGraphicsTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBlindWatermarkTemplateRequestParams struct {
	// Unique identifier of the digital watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// VOD application ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (default application or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Digital watermark template name, which supports Chinese, English, digits, underscores (_), hyphens (-), and periods (.). The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description information of the digital watermark template. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Text content of the digital watermark. The length cannot exceed 64 characters. The text content cannot be modified for NAGRA watermark templates.
	TextContent *string `json:"TextContent,omitnil,omitempty" name:"TextContent"`
}

type ModifyBlindWatermarkTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the digital watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// VOD application ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (default application or newly created application).
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Digital watermark template name, which supports Chinese, English, digits, underscores (_), hyphens (-), and periods (.). The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description information of the digital watermark template. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Text content of the digital watermark. The length cannot exceed 64 characters. The text content cannot be modified for NAGRA watermark templates.
	TextContent *string `json:"TextContent,omitnil,omitempty" name:"TextContent"`
}

func (r *ModifyBlindWatermarkTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBlindWatermarkTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "TextContent")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBlindWatermarkTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBlindWatermarkTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBlindWatermarkTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBlindWatermarkTemplateResponseParams `json:"Response"`
}

func (r *ModifyBlindWatermarkTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBlindWatermarkTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyCDNDomainConfigRequestParams struct {
	// Domain.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Domain Config.
	Config *CDNDomainConfigForUpdate `json:"Config,omitnil,omitempty" name:"Config"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ModifyCDNDomainConfigRequest struct {
	*tchttp.BaseRequest
	
	// Domain.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Domain Config.
	Config *CDNDomainConfigForUpdate `json:"Config,omitnil,omitempty" name:"Config"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ModifyCDNDomainConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyCDNDomainConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "Config")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyCDNDomainConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyCDNDomainConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyCDNDomainConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyCDNDomainConfigResponseParams `json:"Response"`
}

func (r *ModifyCDNDomainConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyCDNDomainConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyClassRequestParams struct {
	// Category ID
	ClassId *uint64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Category name. Length limit: 1-64 characters.
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ModifyClassRequest struct {
	*tchttp.BaseRequest
	
	// Category ID
	ClassId *uint64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Category name. Length limit: 1-64 characters.
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ModifyClassRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyClassRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClassId")
	delete(f, "ClassName")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyClassRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyClassResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyClassResponse struct {
	*tchttp.BaseResponse
	Response *ModifyClassResponseParams `json:"Response"`
}

func (r *ModifyClassResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyClassResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyContentReviewTemplateRequestParams struct {
	// Unique identifier of a content review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Content review template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Content review template description information, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Control parameters for unsafe information.
	TerrorismConfigure *TerrorismConfigureInfoForUpdate `json:"TerrorismConfigure,omitnil,omitempty" name:"TerrorismConfigure"`

	// Control parameters for offensive information.
	PornConfigure *PornConfigureInfoForUpdate `json:"PornConfigure,omitnil,omitempty" name:"PornConfigure"`

	// Control parameter for inappropriate information.
	PoliticalConfigure *PoliticalConfigureInfoForUpdate `json:"PoliticalConfigure,omitnil,omitempty" name:"PoliticalConfigure"`

	// Prohibited control parameters. Prohibited content includes:
	// <li>Abuse;</li>
	// <li>Drug-related violation.</li>
	ProhibitedConfigure *ProhibitedConfigureInfoForUpdate `json:"ProhibitedConfigure,omitnil,omitempty" name:"ProhibitedConfigure"`

	// User-defined content review control parameters.
	UserDefineConfigure *UserDefineConfigureInfoForUpdate `json:"UserDefineConfigure,omitnil,omitempty" name:"UserDefineConfigure"`

	// Frame interception interval, unit: seconds, minimum value 0.5.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Switch for whether the review result enters the review wall (manual recognition performed on the review result).
	// <li>ON: yes</li>
	// <li>OFF: No.</li>
	ReviewWallSwitch *string `json:"ReviewWallSwitch,omitnil,omitempty" name:"ReviewWallSwitch"`
}

type ModifyContentReviewTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of a content review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Content review template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Content review template description information, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Control parameters for unsafe information.
	TerrorismConfigure *TerrorismConfigureInfoForUpdate `json:"TerrorismConfigure,omitnil,omitempty" name:"TerrorismConfigure"`

	// Control parameters for offensive information.
	PornConfigure *PornConfigureInfoForUpdate `json:"PornConfigure,omitnil,omitempty" name:"PornConfigure"`

	// Control parameter for inappropriate information.
	PoliticalConfigure *PoliticalConfigureInfoForUpdate `json:"PoliticalConfigure,omitnil,omitempty" name:"PoliticalConfigure"`

	// Prohibited control parameters. Prohibited content includes:
	// <li>Abuse;</li>
	// <li>Drug-related violation.</li>
	ProhibitedConfigure *ProhibitedConfigureInfoForUpdate `json:"ProhibitedConfigure,omitnil,omitempty" name:"ProhibitedConfigure"`

	// User-defined content review control parameters.
	UserDefineConfigure *UserDefineConfigureInfoForUpdate `json:"UserDefineConfigure,omitnil,omitempty" name:"UserDefineConfigure"`

	// Frame interception interval, unit: seconds, minimum value 0.5.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Switch for whether the review result enters the review wall (manual recognition performed on the review result).
	// <li>ON: yes</li>
	// <li>OFF: No.</li>
	ReviewWallSwitch *string `json:"ReviewWallSwitch,omitnil,omitempty" name:"ReviewWallSwitch"`
}

func (r *ModifyContentReviewTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyContentReviewTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "TerrorismConfigure")
	delete(f, "PornConfigure")
	delete(f, "PoliticalConfigure")
	delete(f, "ProhibitedConfigure")
	delete(f, "UserDefineConfigure")
	delete(f, "ScreenshotInterval")
	delete(f, "ReviewWallSwitch")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyContentReviewTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyContentReviewTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyContentReviewTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyContentReviewTemplateResponseParams `json:"Response"`
}

func (r *ModifyContentReviewTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyContentReviewTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyDefaultStorageRegionRequestParams struct {
	// The default storage region must be an opened region (query via the DescribeStorageRegions API).
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ModifyDefaultStorageRegionRequest struct {
	*tchttp.BaseRequest
	
	// The default storage region must be an opened region (query via the DescribeStorageRegions API).
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ModifyDefaultStorageRegionRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyDefaultStorageRegionRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StorageRegion")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDefaultStorageRegionRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyDefaultStorageRegionResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyDefaultStorageRegionResponse struct {
	*tchttp.BaseResponse
	Response *ModifyDefaultStorageRegionResponseParams `json:"Response"`
}

func (r *ModifyDefaultStorageRegionResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyDefaultStorageRegionResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEnhanceMediaTemplateRequestParams struct {
	// Audio and video quality rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template name, with a length limit of 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Audio-Visual Quality Revival Video Control Information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Audio-Visual Quality Revival Audio Control Information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Container format. Available values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

type ModifyEnhanceMediaTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Audio and video quality rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Audio and video quality rebirth template name, with a length limit of 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Audio-Visual Quality Revival Video Control Information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Audio-Visual Quality Revival Audio Control Information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Container format. Available values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	// Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

func (r *ModifyEnhanceMediaTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEnhanceMediaTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "RebuildVideoInfo")
	delete(f, "RebuildAudioInfo")
	delete(f, "TargetVideoInfo")
	delete(f, "TargetAudioInfo")
	delete(f, "Container")
	delete(f, "RemoveVideo")
	delete(f, "RemoveAudio")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyEnhanceMediaTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEnhanceMediaTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyEnhanceMediaTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyEnhanceMediaTemplateResponseParams `json:"Response"`
}

func (r *ModifyEnhanceMediaTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEnhanceMediaTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEventConfigRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Method of receiving event notifications.</p><li>PUSH: [HTTP callback notification](https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1);</li><li>PULL: [Reliable Notification Based on Message Queue](https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1).</li>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>When using the <a href="https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1">HTTP callback notification</a> reception method, this is the address for receiving format callback 3.0.<br>Note: If the NotificationUrl parameter is included with an empty string, the format callback 3.0 address will be cleared.</p>
	NotificationUrl *string `json:"NotificationUrl,omitnil,omitempty" name:"NotificationUrl"`

	// <p>Whether to receive <a href="https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1">video upload complete</a> event notifications. The default "OFF" means the event notification is ignored, and "ON" means to receive event notifications.</p>
	UploadMediaCompleteEventSwitch *string `json:"UploadMediaCompleteEventSwitch,omitnil,omitempty" name:"UploadMediaCompleteEventSwitch"`

	// <p>Whether to receive <a href="https://www.tencentcloud.com/document/product/266/13434?from_cn_redirect=1">video deletion completion</a> event notification. Default "OFF" means the event notification is ignored, "ON" means receive event notifications.</p>
	DeleteMediaCompleteEventSwitch *string `json:"DeleteMediaCompleteEventSwitch,omitnil,omitempty" name:"DeleteMediaCompleteEventSwitch"`

	// <p>Whether to receive event notifications for clip solidification completion. Default is "OFF" to ignore the event notification, and "ON" to receive event notifications.</p>
	PersistenceCompleteEventSwitch *string `json:"PersistenceCompleteEventSwitch,omitnil,omitempty" name:"PersistenceCompleteEventSwitch"`

	// <p>Callback key, consisting of upper- and lower-case letters and numbers, with a maximum length of 32 characters. After configuration, the <code>Sign</code> and <code>T</code> fields will be sent in callbacks for authentication.</p><ul><li><code>Sign</code>: string type. Event notification security signature Sign = MD5(SignKey + T). Description: Tencent Cloud calculates the Sign value by concatenating the encrypted SignKey and T and performing MD5 encryption, then places it in the notification message. Your backend server can verify whether the Sign is correct upon receiving the notification message using the same algorithm, thereby confirming whether the message is indeed from the Tencent Cloud backend.</li><li><code>T</code>: int64 type. Expiration time, the UNIX timestamp when the event notification signature expires. Notifications from Tencent Cloud default to an expiration time of 10 minutes. If the time specified by the t value in a notification message has expired, the notification can be deemed invalid, preventing network replay attacks. The format of T is a decimal UNIX timestamp, representing the seconds elapsed since January 1, 1970 (midnight UTC/GMT).</li></ul>
	SignKey *string `json:"SignKey,omitnil,omitempty" name:"SignKey"`
}

type ModifyEventConfigRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Method of receiving event notifications.</p><li>PUSH: [HTTP callback notification](https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1);</li><li>PULL: [Reliable Notification Based on Message Queue](https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1).</li>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>When using the <a href="https://www.tencentcloud.com/document/product/266/33779?from_cn_redirect=1">HTTP callback notification</a> reception method, this is the address for receiving format callback 3.0.<br>Note: If the NotificationUrl parameter is included with an empty string, the format callback 3.0 address will be cleared.</p>
	NotificationUrl *string `json:"NotificationUrl,omitnil,omitempty" name:"NotificationUrl"`

	// <p>Whether to receive <a href="https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1">video upload complete</a> event notifications. The default "OFF" means the event notification is ignored, and "ON" means to receive event notifications.</p>
	UploadMediaCompleteEventSwitch *string `json:"UploadMediaCompleteEventSwitch,omitnil,omitempty" name:"UploadMediaCompleteEventSwitch"`

	// <p>Whether to receive <a href="https://www.tencentcloud.com/document/product/266/13434?from_cn_redirect=1">video deletion completion</a> event notification. Default "OFF" means the event notification is ignored, "ON" means receive event notifications.</p>
	DeleteMediaCompleteEventSwitch *string `json:"DeleteMediaCompleteEventSwitch,omitnil,omitempty" name:"DeleteMediaCompleteEventSwitch"`

	// <p>Whether to receive event notifications for clip solidification completion. Default is "OFF" to ignore the event notification, and "ON" to receive event notifications.</p>
	PersistenceCompleteEventSwitch *string `json:"PersistenceCompleteEventSwitch,omitnil,omitempty" name:"PersistenceCompleteEventSwitch"`

	// <p>Callback key, consisting of upper- and lower-case letters and numbers, with a maximum length of 32 characters. After configuration, the <code>Sign</code> and <code>T</code> fields will be sent in callbacks for authentication.</p><ul><li><code>Sign</code>: string type. Event notification security signature Sign = MD5(SignKey + T). Description: Tencent Cloud calculates the Sign value by concatenating the encrypted SignKey and T and performing MD5 encryption, then places it in the notification message. Your backend server can verify whether the Sign is correct upon receiving the notification message using the same algorithm, thereby confirming whether the message is indeed from the Tencent Cloud backend.</li><li><code>T</code>: int64 type. Expiration time, the UNIX timestamp when the event notification signature expires. Notifications from Tencent Cloud default to an expiration time of 10 minutes. If the time specified by the t value in a notification message has expired, the notification can be deemed invalid, preventing network replay attacks. The format of T is a decimal UNIX timestamp, representing the seconds elapsed since January 1, 1970 (midnight UTC/GMT).</li></ul>
	SignKey *string `json:"SignKey,omitnil,omitempty" name:"SignKey"`
}

func (r *ModifyEventConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEventConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Mode")
	delete(f, "NotificationUrl")
	delete(f, "UploadMediaCompleteEventSwitch")
	delete(f, "DeleteMediaCompleteEventSwitch")
	delete(f, "PersistenceCompleteEventSwitch")
	delete(f, "SignKey")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyEventConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEventConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyEventConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyEventConfigResponseParams `json:"Response"`
}

func (r *ModifyEventConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEventConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyHeadTailTemplateRequestParams struct {
	// Opening and ending template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template name. Length limit: 64 characters. Leave it empty to skip modification.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters. Not passing it means no modification, while passing an empty value means clearing it.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Opening Credits Candidate List. Fill in the FileId of the video. During transcoding, the opening scene with the closest aspect ratio to the main content will be automatically selected (identical aspect ratio gives precedence to candidates positioned towards the front). Supports up to 5 title candidates. Not passing represents no modification, passing an empty array represents clearing.
	HeadCandidateSet []*string `json:"HeadCandidateSet,omitnil,omitempty" name:"HeadCandidateSet"`

	// Ending candidate list. Fill in the FileId of the video. During transcoding, the system will automatically select the ending with the aspect ratio closest to the main content (if identical, the candidate positioned towards the front takes precedence). Supports up to 5 title candidates. Omission means no modification, while an empty array means clearing.
	TailCandidateSet []*string `json:"TailCandidateSet,omitnil,omitempty" name:"TailCandidateSet"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li> gauss: Gaussian blur, maintain video aspect ratio, use Gaussian blur for the remaining edge part;</li>
	// <li> white: Leave blank, maintain video aspect ratio, edge remainder filled with white;</li>
	// <li>Black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// The default value is no modification.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type ModifyHeadTailTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Opening and ending template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template name. Length limit: 64 characters. Leave it empty to skip modification.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters. Not passing it means no modification, while passing an empty value means clearing it.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Opening Credits Candidate List. Fill in the FileId of the video. During transcoding, the opening scene with the closest aspect ratio to the main content will be automatically selected (identical aspect ratio gives precedence to candidates positioned towards the front). Supports up to 5 title candidates. Not passing represents no modification, passing an empty array represents clearing.
	HeadCandidateSet []*string `json:"HeadCandidateSet,omitnil,omitempty" name:"HeadCandidateSet"`

	// Ending candidate list. Fill in the FileId of the video. During transcoding, the system will automatically select the ending with the aspect ratio closest to the main content (if identical, the candidate positioned towards the front takes precedence). Supports up to 5 title candidates. Omission means no modification, while an empty array means clearing.
	TailCandidateSet []*string `json:"TailCandidateSet,omitnil,omitempty" name:"TailCandidateSet"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li> gauss: Gaussian blur, maintain video aspect ratio, use Gaussian blur for the remaining edge part;</li>
	// <li> white: Leave blank, maintain video aspect ratio, edge remainder filled with white;</li>
	// <li>Black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// The default value is no modification.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

func (r *ModifyHeadTailTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyHeadTailTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "HeadCandidateSet")
	delete(f, "TailCandidateSet")
	delete(f, "FillType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyHeadTailTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyHeadTailTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyHeadTailTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyHeadTailTemplateResponseParams `json:"Response"`
}

func (r *ModifyHeadTailTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyHeadTailTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyImageSpriteTemplateRequestParams struct {
	// Unique identifier of the sprite template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sprite image template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Width of small images in sprite image, in the range of [32, 4096], unit: px.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Height of small images in sprite image, in the range of [32, 4096], unit: px.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Sampling type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Number of rows of small images in sprite image.
	RowCount *uint64 `json:"RowCount,omitnil,omitempty" name:"RowCount"`

	// Number of columns of small images in sprite image.
	ColumnCount *uint64 `json:"ColumnCount,omitnil,omitempty" name:"ColumnCount"`

	// Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "fill". Optional filling modes: <li>stretch: stretch each frame to fill the entire screen, possibly causing the transcoded video to be squashed or stretched;</li><li>black: maintain video aspect ratio, remaining edge part filled with black;</li><li>white: maintain video aspect ratio, remaining edge part filled with white;</li><li>gauss: maintain video aspect ratio, remaining edge part filled with Gaussian blur.</li>Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Image format. Value:
	// <li> jpg: jpg format;</li>
	// <li>png: png format.</li>
	// <li>WEBP: webp format.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`
}

type ModifyImageSpriteTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the sprite template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sprite image template name. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Width of small images in sprite image, in the range of [32, 4096], unit: px.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Height of small images in sprite image, in the range of [32, 4096], unit: px.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Sampling type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Number of rows of small images in sprite image.
	RowCount *uint64 `json:"RowCount,omitnil,omitempty" name:"RowCount"`

	// Number of columns of small images in sprite image.
	ColumnCount *uint64 `json:"ColumnCount,omitnil,omitempty" name:"ColumnCount"`

	// Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "fill". Optional filling modes: <li>stretch: stretch each frame to fill the entire screen, possibly causing the transcoded video to be squashed or stretched;</li><li>black: maintain video aspect ratio, remaining edge part filled with black;</li><li>white: maintain video aspect ratio, remaining edge part filled with white;</li><li>gauss: maintain video aspect ratio, remaining edge part filled with Gaussian blur.</li>Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Image format. Value:
	// <li> jpg: jpg format;</li>
	// <li>png: png format.</li>
	// <li>WEBP: webp format.</li>
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`
}

func (r *ModifyImageSpriteTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyImageSpriteTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "SampleType")
	delete(f, "SampleInterval")
	delete(f, "RowCount")
	delete(f, "ColumnCount")
	delete(f, "FillType")
	delete(f, "Comment")
	delete(f, "Format")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyImageSpriteTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyImageSpriteTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyImageSpriteTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyImageSpriteTemplateResponseParams `json:"Response"`
}

func (r *ModifyImageSpriteTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyImageSpriteTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyJustInTimeTranscodeTemplateRequestParams struct {
	// Template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Video parameter configuration.
	VideoConfigure *VideoConfigureInfoForUpdate `json:"VideoConfigure,omitnil,omitempty" name:"VideoConfigure"`

	// Watermark parameter configuration.
	WatermarkConfigure *WatermarkConfigureInfoForUpdate `json:"WatermarkConfigure,omitnil,omitempty" name:"WatermarkConfigure"`

	// Template description. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type ModifyJustInTimeTranscodeTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *int64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Video parameter configuration.
	VideoConfigure *VideoConfigureInfoForUpdate `json:"VideoConfigure,omitnil,omitempty" name:"VideoConfigure"`

	// Watermark parameter configuration.
	WatermarkConfigure *WatermarkConfigureInfoForUpdate `json:"WatermarkConfigure,omitnil,omitempty" name:"WatermarkConfigure"`

	// Template description. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *ModifyJustInTimeTranscodeTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyJustInTimeTranscodeTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	delete(f, "VideoConfigure")
	delete(f, "WatermarkConfigure")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyJustInTimeTranscodeTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyJustInTimeTranscodeTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyJustInTimeTranscodeTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyJustInTimeTranscodeTemplateResponseParams `json:"Response"`
}

func (r *ModifyJustInTimeTranscodeTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyJustInTimeTranscodeTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLLMComprehendTemplateRequestParams struct {
	// <p>Unique identifier of the Large Model Understanding Template</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Large model parsing template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Large model parses template description information. The length cannot exceed 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Parse model. Optional values:</p><ul><li>Basic: Base Model</li><li>Pro: Optimization Model</li></ul>
	Model *string `json:"Model,omitnil,omitempty" name:"Model"`

	// <p>Segment summary parsing configuration</p>
	Summary *LLMComprehendSummaryForUpdate `json:"Summary,omitnil,omitempty" name:"Summary"`

	// <p>Text transcription parsing configuration</p>
	Asr *LLMComprehendAsrForUpdate `json:"Asr,omitnil,omitempty" name:"Asr"`

	// <p>Face identification configuration</p>
	FaceRecognition *LLMComprehendFaceRecognitionForUpdate `json:"FaceRecognition,omitnil,omitempty" name:"FaceRecognition"`
}

type ModifyLLMComprehendTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <p>Unique identifier of the Large Model Understanding Template</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Large model parsing template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Large model parses template description information. The length cannot exceed 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Parse model. Optional values:</p><ul><li>Basic: Base Model</li><li>Pro: Optimization Model</li></ul>
	Model *string `json:"Model,omitnil,omitempty" name:"Model"`

	// <p>Segment summary parsing configuration</p>
	Summary *LLMComprehendSummaryForUpdate `json:"Summary,omitnil,omitempty" name:"Summary"`

	// <p>Text transcription parsing configuration</p>
	Asr *LLMComprehendAsrForUpdate `json:"Asr,omitnil,omitempty" name:"Asr"`

	// <p>Face identification configuration</p>
	FaceRecognition *LLMComprehendFaceRecognitionForUpdate `json:"FaceRecognition,omitnil,omitempty" name:"FaceRecognition"`
}

func (r *ModifyLLMComprehendTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLLMComprehendTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "Model")
	delete(f, "Summary")
	delete(f, "Asr")
	delete(f, "FaceRecognition")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLLMComprehendTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLLMComprehendTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLLMComprehendTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLLMComprehendTemplateResponseParams `json:"Response"`
}

func (r *ModifyLLMComprehendTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLLMComprehendTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMPSTemplateRequestParams struct {
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Type of the MPS template that needs to be modified.</p><p>Enumeration value:</p><ul><li>AIAnalysis: Intelligent analysis template</li><li>SmartSubtitle: Intelligent subtitle template</li><li>SmartErase: Intelligent erasure template</li></ul>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// <p>MPS modifies template parameters. This parameter is used for passing through to the media processing service (MPS) to modify user-defined MPS task templates from the VOD side.<br> Currently only support modifying templates of the following task types in this way:</p><ol><li>Audio and video enhancement: Only support filling in the content of Name, Comment, RemoveVideo, RemoveAudio, VideoTemplate, AudioTemplate, and EnhanceConfig parameters in the "<a href="https://www.tencentcloud.com/document/api/862/37578?from_cn_redirect=1">modify transcoding template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>AI analysis: Only support filling in the content of Name, Comment, ClassificationConfigure, TagConfigure, CoverConfigure, and FrameTagConfigure parameters in the "<a href="https://www.tencentcloud.com/document/api/862/40246?from_cn_redirect=1">modify content analysis template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Intelligent caption: Only support filling in the content of Name, Comment, TranslateSwitch, VideoSrcLanguage, SubtitleFormat, SubtitleType, AsrHotWordsConfigure, TranslateDstLanguage, and ProcessType parameters in the "<a href="https://www.tencentcloud.com/document/api/862/117001?from_cn_redirect=1">modify intelligent caption template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Intelligent erasure: Only support filling in the content of Name, Comment, EraseType, EraseSubtitleConfig, EraseWatermarkConfig, and ErasePrivacyConfig parameters in the "<a href="https://www.tencentcloud.com/document/api/862/123732?from_cn_redirect=1">modify intelligent erasure template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li></ol>
	MPSModifyTemplateParams *string `json:"MPSModifyTemplateParams,omitnil,omitempty" name:"MPSModifyTemplateParams"`

	// <p>Intelligent analysis template parameter. Valid when MPSModifyTemplateParams is empty.</p>
	AIAnalysisTemplate *MPSAIAnalysisTemplateForUpdate `json:"AIAnalysisTemplate,omitnil,omitempty" name:"AIAnalysisTemplate"`

	// <p>Intelligent subtitle template parameter. Valid when MPSModifyTemplateParams is empty.</p>
	SmartSubtitleTemplate *MPSSmartSubtitleTemplateForUpdate `json:"SmartSubtitleTemplate,omitnil,omitempty" name:"SmartSubtitleTemplate"`

	// <p>Intelligent erasure template parameter. Valid when MPSModifyTemplateParams is empty.</p>
	SmartEraseTemplate *MPSSmartEraseTemplateForUpdate `json:"SmartEraseTemplate,omitnil,omitempty" name:"SmartEraseTemplate"`
}

type ModifyMPSTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Type of the MPS template that needs to be modified.</p><p>Enumeration value:</p><ul><li>AIAnalysis: Intelligent analysis template</li><li>SmartSubtitle: Intelligent subtitle template</li><li>SmartErase: Intelligent erasure template</li></ul>
	TemplateType *string `json:"TemplateType,omitnil,omitempty" name:"TemplateType"`

	// <p>MPS modifies template parameters. This parameter is used for passing through to the media processing service (MPS) to modify user-defined MPS task templates from the VOD side.<br> Currently only support modifying templates of the following task types in this way:</p><ol><li>Audio and video enhancement: Only support filling in the content of Name, Comment, RemoveVideo, RemoveAudio, VideoTemplate, AudioTemplate, and EnhanceConfig parameters in the "<a href="https://www.tencentcloud.com/document/api/862/37578?from_cn_redirect=1">modify transcoding template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>AI analysis: Only support filling in the content of Name, Comment, ClassificationConfigure, TagConfigure, CoverConfigure, and FrameTagConfigure parameters in the "<a href="https://www.tencentcloud.com/document/api/862/40246?from_cn_redirect=1">modify content analysis template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Intelligent caption: Only support filling in the content of Name, Comment, TranslateSwitch, VideoSrcLanguage, SubtitleFormat, SubtitleType, AsrHotWordsConfigure, TranslateDstLanguage, and ProcessType parameters in the "<a href="https://www.tencentcloud.com/document/api/862/117001?from_cn_redirect=1">modify intelligent caption template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li><li>Intelligent erasure: Only support filling in the content of Name, Comment, EraseType, EraseSubtitleConfig, EraseWatermarkConfig, and ErasePrivacyConfig parameters in the "<a href="https://www.tencentcloud.com/document/api/862/123732?from_cn_redirect=1">modify intelligent erasure template</a>" interface. Currently only support configuring the above parameters in the template, other parameters are not required. If other parameters are included, the system will automatically ignore them.</li></ol>
	MPSModifyTemplateParams *string `json:"MPSModifyTemplateParams,omitnil,omitempty" name:"MPSModifyTemplateParams"`

	// <p>Intelligent analysis template parameter. Valid when MPSModifyTemplateParams is empty.</p>
	AIAnalysisTemplate *MPSAIAnalysisTemplateForUpdate `json:"AIAnalysisTemplate,omitnil,omitempty" name:"AIAnalysisTemplate"`

	// <p>Intelligent subtitle template parameter. Valid when MPSModifyTemplateParams is empty.</p>
	SmartSubtitleTemplate *MPSSmartSubtitleTemplateForUpdate `json:"SmartSubtitleTemplate,omitnil,omitempty" name:"SmartSubtitleTemplate"`

	// <p>Intelligent erasure template parameter. Valid when MPSModifyTemplateParams is empty.</p>
	SmartEraseTemplate *MPSSmartEraseTemplateForUpdate `json:"SmartEraseTemplate,omitnil,omitempty" name:"SmartEraseTemplate"`
}

func (r *ModifyMPSTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMPSTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "TemplateType")
	delete(f, "MPSModifyTemplateParams")
	delete(f, "AIAnalysisTemplate")
	delete(f, "SmartSubtitleTemplate")
	delete(f, "SmartEraseTemplate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMPSTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMPSTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyMPSTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyMPSTemplateResponseParams `json:"Response"`
}

func (r *ModifyMPSTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMPSTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMediaInfoRequestParams struct {
	// Unique identifier of a media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Media filename, with a maximum length of 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Media file description, longest 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Media File Category ID.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Media file expiry time uses [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I). Enter "9999-12-31T23:59:59Z" to indicate no expiry. After expiry, the media file and its related resources (transcoding result, sprites) will be permanently deleted.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// The video cover image file (such as jpeg, png) is an encoded string in [Base64](https://tools.ietf.org/html/rfc4648). Only three image formats (gif, jpeg, png) are supported.
	CoverData *string `json:"CoverData,omitnil,omitempty" name:"CoverData"`

	// Newly added set of video timestamp information. If timestamp already exists at a certain offset, perform overlay operation. Maximum for a single media file is 100 Dotting Information. In the same request, time offset parameter of AddKeyFrameDescs must be all different from DeleteKeyFrameDescs.
	AddKeyFrameDescs []*MediaKeyFrameDescItem `json:"AddKeyFrameDescs,omitnil,omitempty" name:"AddKeyFrameDescs"`

	// Time offset of the video timestamp information set to be deleted, unit: second. In the same request, the time offset parameter of AddKeyFrameDescs must be consistent with all different DeleteKeyFrameDescs.
	DeleteKeyFrameDescs []*float64 `json:"DeleteKeyFrameDescs,omitnil,omitempty" name:"DeleteKeyFrameDescs"`

	// Value 1 indicates clearing video dotting information. Other values meaningless.
	// In the same request, ClearKeyFrameDescs and AddKeyFrameDescs cannot appear simultaneously.
	ClearKeyFrameDescs *int64 `json:"ClearKeyFrameDescs,omitnil,omitempty" name:"ClearKeyFrameDescs"`

	// A group of newly-added tags. Maximum for a single media file is 16 tags. Maximum for a single tag is 32 characters. In the same request, the AddTags parameter must be consistent with DeleteTags.
	AddTags []*string `json:"AddTags,omitnil,omitempty" name:"AddTags"`

	// A group of tags to delete. In the same request, the AddTags parameter must be different from DeleteTags.
	DeleteTags []*string `json:"DeleteTags,omitnil,omitempty" name:"DeleteTags"`

	// Value 1 means clear all media files, other values meaningless.
	// In the same request, ClearTags and AddTags cannot appear simultaneously.
	ClearTags *int64 `json:"ClearTags,omitnil,omitempty" name:"ClearTags"`

	// Add a set of subtitles. Maximum for a single media file is 16 subtitles. In the same request, the specified subtitle ID in AddSubtitles must be all different from those in DeleteSubtitleIds.
	AddSubtitles []*MediaSubtitleInput `json:"AddSubtitles,omitnil,omitempty" name:"AddSubtitles"`

	// Unique identifier of subtitle to be deleted. In the same request, the specified subtitle id in AddSubtitles must be consistent with all different in DeleteSubtitleIds.
	DeleteSubtitleIds []*string `json:"DeleteSubtitleIds,omitnil,omitempty" name:"DeleteSubtitleIds"`

	// Value 1 means clear all subtitle information of the media file. Other values meaningless.
	// In the same request, ClearSubtitles and AddSubtitles cannot appear simultaneously.
	ClearSubtitles *int64 `json:"ClearSubtitles,omitnil,omitempty" name:"ClearSubtitles"`
}

type ModifyMediaInfoRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of a media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Media filename, with a maximum length of 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Media file description, longest 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Media File Category ID.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Media file expiry time uses [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I). Enter "9999-12-31T23:59:59Z" to indicate no expiry. After expiry, the media file and its related resources (transcoding result, sprites) will be permanently deleted.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// The video cover image file (such as jpeg, png) is an encoded string in [Base64](https://tools.ietf.org/html/rfc4648). Only three image formats (gif, jpeg, png) are supported.
	CoverData *string `json:"CoverData,omitnil,omitempty" name:"CoverData"`

	// Newly added set of video timestamp information. If timestamp already exists at a certain offset, perform overlay operation. Maximum for a single media file is 100 Dotting Information. In the same request, time offset parameter of AddKeyFrameDescs must be all different from DeleteKeyFrameDescs.
	AddKeyFrameDescs []*MediaKeyFrameDescItem `json:"AddKeyFrameDescs,omitnil,omitempty" name:"AddKeyFrameDescs"`

	// Time offset of the video timestamp information set to be deleted, unit: second. In the same request, the time offset parameter of AddKeyFrameDescs must be consistent with all different DeleteKeyFrameDescs.
	DeleteKeyFrameDescs []*float64 `json:"DeleteKeyFrameDescs,omitnil,omitempty" name:"DeleteKeyFrameDescs"`

	// Value 1 indicates clearing video dotting information. Other values meaningless.
	// In the same request, ClearKeyFrameDescs and AddKeyFrameDescs cannot appear simultaneously.
	ClearKeyFrameDescs *int64 `json:"ClearKeyFrameDescs,omitnil,omitempty" name:"ClearKeyFrameDescs"`

	// A group of newly-added tags. Maximum for a single media file is 16 tags. Maximum for a single tag is 32 characters. In the same request, the AddTags parameter must be consistent with DeleteTags.
	AddTags []*string `json:"AddTags,omitnil,omitempty" name:"AddTags"`

	// A group of tags to delete. In the same request, the AddTags parameter must be different from DeleteTags.
	DeleteTags []*string `json:"DeleteTags,omitnil,omitempty" name:"DeleteTags"`

	// Value 1 means clear all media files, other values meaningless.
	// In the same request, ClearTags and AddTags cannot appear simultaneously.
	ClearTags *int64 `json:"ClearTags,omitnil,omitempty" name:"ClearTags"`

	// Add a set of subtitles. Maximum for a single media file is 16 subtitles. In the same request, the specified subtitle ID in AddSubtitles must be all different from those in DeleteSubtitleIds.
	AddSubtitles []*MediaSubtitleInput `json:"AddSubtitles,omitnil,omitempty" name:"AddSubtitles"`

	// Unique identifier of subtitle to be deleted. In the same request, the specified subtitle id in AddSubtitles must be consistent with all different in DeleteSubtitleIds.
	DeleteSubtitleIds []*string `json:"DeleteSubtitleIds,omitnil,omitempty" name:"DeleteSubtitleIds"`

	// Value 1 means clear all subtitle information of the media file. Other values meaningless.
	// In the same request, ClearSubtitles and AddSubtitles cannot appear simultaneously.
	ClearSubtitles *int64 `json:"ClearSubtitles,omitnil,omitempty" name:"ClearSubtitles"`
}

func (r *ModifyMediaInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMediaInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Description")
	delete(f, "ClassId")
	delete(f, "ExpireTime")
	delete(f, "CoverData")
	delete(f, "AddKeyFrameDescs")
	delete(f, "DeleteKeyFrameDescs")
	delete(f, "ClearKeyFrameDescs")
	delete(f, "AddTags")
	delete(f, "DeleteTags")
	delete(f, "ClearTags")
	delete(f, "AddSubtitles")
	delete(f, "DeleteSubtitleIds")
	delete(f, "ClearSubtitles")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMediaInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMediaInfoResponseParams struct {
	// New video cover URL.
	// * Note: This return value is valid only when the request carries CoverData. *
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`

	// New subtitle information.
	AddedSubtitleSet []*MediaSubtitleItem `json:"AddedSubtitleSet,omitnil,omitempty" name:"AddedSubtitleSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyMediaInfoResponse struct {
	*tchttp.BaseResponse
	Response *ModifyMediaInfoResponseParams `json:"Response"`
}

func (r *ModifyMediaInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMediaInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMediaStorageClassRequestParams struct {
	// Unique identifier list of media files. Maximum length: 100.
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// Target storage type. Valid values:
	// <li> STANDARD: Standard storage.</li>
	// <li> STANDARD_IA: Infrequent storage.</li>
	// <li>ARCHIVE: Archive storage.</li>
	// <li> DEEP_ARCHIVE: Deep archive storage.</li>
	StorageClass *string `json:"StorageClass,omitnil,omitempty" name:"StorageClass"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Retrieval mode. When converting the file storage type from archive or deep archive to standard storage, you need to specify the mode for the retrieval (also known as unfreeze) operation. For details, refer to [Data retrieval and retrieval mode](https://www.tencentcloud.com/document/product/266/56196?from_cn_redirect=1#retake).
	// When the current storage type of a media file is archive storage, the following values are available:
	// <li>Expedited: Speed mode.</li>
	// <li>Standard: Standard mode.</li>
	// <li>Bulk: batch mode.</li>
	// When the current storage type of the media file is DEEP_ARCHIVE, the following values are available:
	// <li>Standard: Standard mode.</li>
	// <li>Bulk: Batch mode.</li>
	RestoreTier *string `json:"RestoreTier,omitnil,omitempty" name:"RestoreTier"`
}

type ModifyMediaStorageClassRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier list of media files. Maximum length: 100.
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// Target storage type. Valid values:
	// <li> STANDARD: Standard storage.</li>
	// <li> STANDARD_IA: Infrequent storage.</li>
	// <li>ARCHIVE: Archive storage.</li>
	// <li> DEEP_ARCHIVE: Deep archive storage.</li>
	StorageClass *string `json:"StorageClass,omitnil,omitempty" name:"StorageClass"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Retrieval mode. When converting the file storage type from archive or deep archive to standard storage, you need to specify the mode for the retrieval (also known as unfreeze) operation. For details, refer to [Data retrieval and retrieval mode](https://www.tencentcloud.com/document/product/266/56196?from_cn_redirect=1#retake).
	// When the current storage type of a media file is archive storage, the following values are available:
	// <li>Expedited: Speed mode.</li>
	// <li>Standard: Standard mode.</li>
	// <li>Bulk: batch mode.</li>
	// When the current storage type of the media file is DEEP_ARCHIVE, the following values are available:
	// <li>Standard: Standard mode.</li>
	// <li>Bulk: Batch mode.</li>
	RestoreTier *string `json:"RestoreTier,omitnil,omitempty" name:"RestoreTier"`
}

func (r *ModifyMediaStorageClassRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMediaStorageClassRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileIds")
	delete(f, "StorageClass")
	delete(f, "SubAppId")
	delete(f, "RestoreTier")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMediaStorageClassRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMediaStorageClassResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyMediaStorageClassResponse struct {
	*tchttp.BaseResponse
	Response *ModifyMediaStorageClassResponseParams `json:"Response"`
}

func (r *ModifyMediaStorageClassResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMediaStorageClassResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyPersonSampleRequestParams struct {
	// Material ID.
	PersonId *string `json:"PersonId,omitnil,omitempty" name:"PersonId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Name. Length limit: 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description. Length limit: 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Material application scenario. Available values:
	// 1. Recognition: Used for content recognition, equivalent to Recognition.Face.
	// 2. Review: Used for inappropriate content recognition, equivalent to Review.Face.
	// 3. All: Used for content recognition and inappropriate content recognition, equivalent to 1+2.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Facial operation information.
	FaceOperationInfo *AiSampleFaceOperation `json:"FaceOperationInfo,omitnil,omitempty" name:"FaceOperationInfo"`

	// Tag operation information.
	TagOperationInfo *AiSampleTagOperation `json:"TagOperationInfo,omitnil,omitempty" name:"TagOperationInfo"`
}

type ModifyPersonSampleRequest struct {
	*tchttp.BaseRequest
	
	// Material ID.
	PersonId *string `json:"PersonId,omitnil,omitempty" name:"PersonId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Name. Length limit: 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description. Length limit: 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Material application scenario. Available values:
	// 1. Recognition: Used for content recognition, equivalent to Recognition.Face.
	// 2. Review: Used for inappropriate content recognition, equivalent to Review.Face.
	// 3. All: Used for content recognition and inappropriate content recognition, equivalent to 1+2.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Facial operation information.
	FaceOperationInfo *AiSampleFaceOperation `json:"FaceOperationInfo,omitnil,omitempty" name:"FaceOperationInfo"`

	// Tag operation information.
	TagOperationInfo *AiSampleTagOperation `json:"TagOperationInfo,omitnil,omitempty" name:"TagOperationInfo"`
}

func (r *ModifyPersonSampleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyPersonSampleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PersonId")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Description")
	delete(f, "Usages")
	delete(f, "FaceOperationInfo")
	delete(f, "TagOperationInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyPersonSampleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyPersonSampleResponseParams struct {
	// Material information.
	Person *AiSamplePerson `json:"Person,omitnil,omitempty" name:"Person"`

	// Failed processing of facial features.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FailFaceInfoSet []*AiSampleFailFaceInfo `json:"FailFaceInfoSet,omitnil,omitempty" name:"FailFaceInfoSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyPersonSampleResponse struct {
	*tchttp.BaseResponse
	Response *ModifyPersonSampleResponseParams `json:"Response"`
}

func (r *ModifyPersonSampleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyPersonSampleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyProcessImageAsyncTemplateRequestParams struct {
	// Unique identifier of the image asynchronous processing template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image async processing template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description information of the image asynchronous processing template. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Image asynchronous processing configuration.
	ProcessImageConfigure *ProcessImageAsyncTask `json:"ProcessImageConfigure,omitnil,omitempty" name:"ProcessImageConfigure"`
}

type ModifyProcessImageAsyncTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the image asynchronous processing template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Image async processing template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description information of the image asynchronous processing template. The length cannot exceed 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Image asynchronous processing configuration.
	ProcessImageConfigure *ProcessImageAsyncTask `json:"ProcessImageConfigure,omitnil,omitempty" name:"ProcessImageConfigure"`
}

func (r *ModifyProcessImageAsyncTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyProcessImageAsyncTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "ProcessImageConfigure")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyProcessImageAsyncTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyProcessImageAsyncTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyProcessImageAsyncTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyProcessImageAsyncTemplateResponseParams `json:"Response"`
}

func (r *ModifyProcessImageAsyncTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyProcessImageAsyncTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyQualityInspectTemplateRequestParams struct {
	// Template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Frame interception interval, unit: seconds, minimum value 1.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Control parameters for video frame jitter and ghosting detection.
	JitterConfigure *JitterConfigureInfoForUpdate `json:"JitterConfigure,omitnil,omitempty" name:"JitterConfigure"`

	// Control parameters for video frame blur detection.
	BlurConfigure *BlurConfigureInfoForUpdate `json:"BlurConfigure,omitnil,omitempty" name:"BlurConfigure"`

	// Control parameters for low-light and overexposure detection in video frames.
	AbnormalLightingConfigure *AbnormalLightingConfigureInfoForUpdate `json:"AbnormalLightingConfigure,omitnil,omitempty" name:"AbnormalLightingConfigure"`

	// Control parameters for screen glitch detection in video footage.
	CrashScreenConfigure *CrashScreenConfigureInfoForUpdate `json:"CrashScreenConfigure,omitnil,omitempty" name:"CrashScreenConfigure"`

	// Control parameters for video picture black edge, white edge, black screen, and white screen detection.
	BlackWhiteEdgeConfigure *BlackWhiteEdgeConfigureInfoForUpdate `json:"BlackWhiteEdgeConfigure,omitnil,omitempty" name:"BlackWhiteEdgeConfigure"`

	// Control parameters for video frame noise detection.
	NoiseConfigure *NoiseConfigureInfoForUpdate `json:"NoiseConfigure,omitnil,omitempty" name:"NoiseConfigure"`

	// Control parameters for video frame mosaic detection.
	MosaicConfigure *MosaicConfigureInfoForUpdate `json:"MosaicConfigure,omitnil,omitempty" name:"MosaicConfigure"`

	// Control parameters for video frame QR code detection.
	QRCodeConfigure *QRCodeConfigureInfoForUpdate `json:"QRCodeConfigure,omitnil,omitempty" name:"QRCodeConfigure"`

	// Audio (mute, bass, clipping) detection control parameters.
	VoiceConfigure *VoiceConfigureInfoForUpdate `json:"VoiceConfigure,omitnil,omitempty" name:"VoiceConfigure"`

	// Control parameters for video frame quality evaluation.
	QualityEvaluationConfigure *QualityEvaluationConfigureInfoForUpdate `json:"QualityEvaluationConfigure,omitnil,omitempty" name:"QualityEvaluationConfigure"`
}

type ModifyQualityInspectTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Frame interception interval, unit: seconds, minimum value 1.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Control parameters for video frame jitter and ghosting detection.
	JitterConfigure *JitterConfigureInfoForUpdate `json:"JitterConfigure,omitnil,omitempty" name:"JitterConfigure"`

	// Control parameters for video frame blur detection.
	BlurConfigure *BlurConfigureInfoForUpdate `json:"BlurConfigure,omitnil,omitempty" name:"BlurConfigure"`

	// Control parameters for low-light and overexposure detection in video frames.
	AbnormalLightingConfigure *AbnormalLightingConfigureInfoForUpdate `json:"AbnormalLightingConfigure,omitnil,omitempty" name:"AbnormalLightingConfigure"`

	// Control parameters for screen glitch detection in video footage.
	CrashScreenConfigure *CrashScreenConfigureInfoForUpdate `json:"CrashScreenConfigure,omitnil,omitempty" name:"CrashScreenConfigure"`

	// Control parameters for video picture black edge, white edge, black screen, and white screen detection.
	BlackWhiteEdgeConfigure *BlackWhiteEdgeConfigureInfoForUpdate `json:"BlackWhiteEdgeConfigure,omitnil,omitempty" name:"BlackWhiteEdgeConfigure"`

	// Control parameters for video frame noise detection.
	NoiseConfigure *NoiseConfigureInfoForUpdate `json:"NoiseConfigure,omitnil,omitempty" name:"NoiseConfigure"`

	// Control parameters for video frame mosaic detection.
	MosaicConfigure *MosaicConfigureInfoForUpdate `json:"MosaicConfigure,omitnil,omitempty" name:"MosaicConfigure"`

	// Control parameters for video frame QR code detection.
	QRCodeConfigure *QRCodeConfigureInfoForUpdate `json:"QRCodeConfigure,omitnil,omitempty" name:"QRCodeConfigure"`

	// Audio (mute, bass, clipping) detection control parameters.
	VoiceConfigure *VoiceConfigureInfoForUpdate `json:"VoiceConfigure,omitnil,omitempty" name:"VoiceConfigure"`

	// Control parameters for video frame quality evaluation.
	QualityEvaluationConfigure *QualityEvaluationConfigureInfoForUpdate `json:"QualityEvaluationConfigure,omitnil,omitempty" name:"QualityEvaluationConfigure"`
}

func (r *ModifyQualityInspectTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyQualityInspectTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "ScreenshotInterval")
	delete(f, "JitterConfigure")
	delete(f, "BlurConfigure")
	delete(f, "AbnormalLightingConfigure")
	delete(f, "CrashScreenConfigure")
	delete(f, "BlackWhiteEdgeConfigure")
	delete(f, "NoiseConfigure")
	delete(f, "MosaicConfigure")
	delete(f, "QRCodeConfigure")
	delete(f, "VoiceConfigure")
	delete(f, "QualityEvaluationConfigure")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyQualityInspectTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyQualityInspectTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyQualityInspectTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyQualityInspectTemplateResponseParams `json:"Response"`
}

func (r *ModifyQualityInspectTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyQualityInspectTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRebuildMediaTemplateRequestParams struct {
	// Video rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *string `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Video rebirth template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Video rebirth template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Video Rebirth Video Control Information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Video Rebirth Audio Control Information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Container format. Available values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

type ModifyRebuildMediaTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Video rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *string `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Video rebirth template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Video rebirth template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Video Rebirth Video Control Information.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Video Rebirth Audio Control Information.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output target video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output target audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// Container format. Available values: mp4, flv, and hls.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Whether to remove video data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Remove audio data. Available values:
	// <li>`0`: reserved</li>
	// <li>1: Remove</li>
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

func (r *ModifyRebuildMediaTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRebuildMediaTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "RebuildVideoInfo")
	delete(f, "RebuildAudioInfo")
	delete(f, "TargetVideoInfo")
	delete(f, "TargetAudioInfo")
	delete(f, "Container")
	delete(f, "RemoveVideo")
	delete(f, "RemoveAudio")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRebuildMediaTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRebuildMediaTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRebuildMediaTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRebuildMediaTemplateResponseParams `json:"Response"`
}

func (r *ModifyRebuildMediaTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRebuildMediaTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyReviewTemplateRequestParams struct {
	// Unique identifier of a review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Review template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Review template description information, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// The violation labels to use. Valid values: <li>`Porn`: Pornographic content</li> <li>`Terror`: Terrorist content</li> <li>`Moan`: Moaning</li>
	Labels []*string `json:"Labels,omitnil,omitempty" name:"Labels"`
}

type ModifyReviewTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of a review template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Review template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Review template description information, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// The violation labels to use. Valid values: <li>`Porn`: Pornographic content</li> <li>`Terror`: Terrorist content</li> <li>`Moan`: Moaning</li>
	Labels []*string `json:"Labels,omitnil,omitempty" name:"Labels"`
}

func (r *ModifyReviewTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyReviewTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "Labels")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyReviewTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyReviewTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyReviewTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyReviewTemplateResponseParams `json:"Response"`
}

func (r *ModifyReviewTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyReviewTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRoundPlayRequestParams struct {
	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, for customers who enable vod, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The playback start time, in [iso 8601 date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// The program list.
	// <Li>Array length limit: 100.</li>.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`

	// The playlist name (not longer than 64 characters).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The playlist description (not longer than 256 characters).
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Playback status, optional values:<li>disabled: stop playback.</li><li>enabled: start playback after the duration has elapsed.</li>.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Play mode, optional values:.
	// <Li>Loop: loop the playlist;</li>.
	// <Li>Linear: single play, stop playback after the playlist finishes.</li>.
	PlayBackMode *string `json:"PlayBackMode,omitnil,omitempty" name:"PlayBackMode"`

	// Expiration time, in iso 8601 format. for details, see [iso date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format). the playback will stop after expiration. "9999-12-31t23:59:59+08:00" means no expiration.
	ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
}

type ModifyRoundPlayRequest struct {
	*tchttp.BaseRequest
	
	// The unique identifier of the playlist.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, for customers who enable vod, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The playback start time, in [iso 8601 date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// The program list.
	// <Li>Array length limit: 100.</li>.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`

	// The playlist name (not longer than 64 characters).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The playlist description (not longer than 256 characters).
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Playback status, optional values:<li>disabled: stop playback.</li><li>enabled: start playback after the duration has elapsed.</li>.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Play mode, optional values:.
	// <Li>Loop: loop the playlist;</li>.
	// <Li>Linear: single play, stop playback after the playlist finishes.</li>.
	PlayBackMode *string `json:"PlayBackMode,omitnil,omitempty" name:"PlayBackMode"`

	// Expiration time, in iso 8601 format. for details, see [iso date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format). the playback will stop after expiration. "9999-12-31t23:59:59+08:00" means no expiration.
	ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
}

func (r *ModifyRoundPlayRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRoundPlayRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RoundPlayId")
	delete(f, "SubAppId")
	delete(f, "StartTime")
	delete(f, "RoundPlaylist")
	delete(f, "Name")
	delete(f, "Desc")
	delete(f, "Status")
	delete(f, "PlayBackMode")
	delete(f, "ExpiredTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRoundPlayRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRoundPlayResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRoundPlayResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRoundPlayResponseParams `json:"Response"`
}

func (r *ModifyRoundPlayResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRoundPlayResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySampleSnapshotTemplateRequestParams struct {
	// Unique identifier of the sampling screenshot template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sample screenshot template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The maximum value of screenshot width (or long side), value ranges from 0 to [32, 4096], measurement unit: px.<li>When both Width and Height are 0, the resolution is the same as the source.</li><li>When Width is 0 and Height is not 0, Width is scaled proportionally.</li><li>When Width is not 0 and Height is 0, Height is scaled proportionally.</li><li>When both Width and Height are not 0, the resolution is specified by user.</li>Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of screenshot height (or short edge), value ranges from 0 to [32, 4096], unit: px.<li>When both Width and Height are 0, the resolution is the same as the source;</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled;</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled;</li><li>When both Width and Height are not 0, the resolution is specified by user.</li>Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: enable. At this point, Width represents the long side of the video, and Height indicates the short side.</li>
	// <li>close: Closed. At this point, Width represents the Width of the video, and Height indicates the Height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Sampling screenshot type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Image format. Valid values: jpg and png.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be squashed or stretched.</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type ModifySampleSnapshotTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the sampling screenshot template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Sample screenshot template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The maximum value of screenshot width (or long side), value ranges from 0 to [32, 4096], measurement unit: px.<li>When both Width and Height are 0, the resolution is the same as the source.</li><li>When Width is 0 and Height is not 0, Width is scaled proportionally.</li><li>When Width is not 0 and Height is 0, Height is scaled proportionally.</li><li>When both Width and Height are not 0, the resolution is specified by user.</li>Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of screenshot height (or short edge), value ranges from 0 to [32, 4096], unit: px.<li>When both Width and Height are 0, the resolution is the same as the source;</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled;</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled;</li><li>When both Width and Height are not 0, the resolution is specified by user.</li>Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: enable. At this point, Width represents the long side of the video, and Height indicates the short side.</li>
	// <li>close: Closed. At this point, Width represents the Width of the video, and Height indicates the Height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Sampling screenshot type, Valid value:
	// <li>Percent: by percent.</li>
	// <li>Time: By time interval.</li>
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	// <li>When SampleType is Percent, specify the percentage of the sampling interval.</li>
	// <li>When SampleType is Time, specify the sampling interval in seconds.</li>
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Image format. Valid values: jpg and png.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be squashed or stretched.</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

func (r *ModifySampleSnapshotTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySampleSnapshotTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "SampleType")
	delete(f, "SampleInterval")
	delete(f, "Format")
	delete(f, "Comment")
	delete(f, "FillType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySampleSnapshotTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySampleSnapshotTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifySampleSnapshotTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifySampleSnapshotTemplateResponseParams `json:"Response"`
}

func (r *ModifySampleSnapshotTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySampleSnapshotTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySnapshotByTimeOffsetTemplateRequestParams struct {
	// Unique identifier of the screenshot template at specified time point.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Screenshot template name at specified time point. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The maximum screenshot width (or long edge), value ranges from 0 to [32, 4096], measurement unit: px.<li>When both Width and Height are 0, the resolution is Same Resolution Source.</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li><li>When both Width and Height are not 0, the resolution is specified by user.</li>Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of screenshot height (or short edge), value ranges from 0 to [32, 4096], measurement unit: px. <li>When both Width and Height are 0, resolution is Same Resolution Source.</li> <li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li> <li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li> <li>When both Width and Height are not 0, resolution is specified by user.</li> Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Value can be jpg and png.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, and use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type ModifySnapshotByTimeOffsetTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the screenshot template at specified time point.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Screenshot template name at specified time point. Length limit: 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The maximum screenshot width (or long edge), value ranges from 0 to [32, 4096], measurement unit: px.<li>When both Width and Height are 0, the resolution is Same Resolution Source.</li><li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li><li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li><li>When both Width and Height are not 0, the resolution is specified by user.</li>Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of screenshot height (or short edge), value ranges from 0 to [32, 4096], measurement unit: px. <li>When both Width and Height are 0, resolution is Same Resolution Source.</li> <li>When Width is 0 and Height is not 0, Width is proportionally scaled.</li> <li>When Width is not 0 and Height is 0, Height is proportionally scaled.</li> <li>When both Width and Height are not 0, resolution is specified by user.</li> Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptation, available values:
	// <li>open: start. At this point, Width represents the long side of the video, and Height indicates the short side of the video;</li>
	// <li>close: Close. At this point, Width represents the width of the video, and Height indicates the height of the video.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format. Value can be jpg and png.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Filling method. When the video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "padding". Optional filling mode:
	// <li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched";</li>
	// <li>black: Keep black, maintain video aspect ratio, edges filled with black.</li>
	// <li>white: Leave blank, maintain video aspect ratio, edge remainder filled with white.</li>
	// <li>gauss: Gaussian blur, maintain video aspect ratio, and use Gaussian blur for the remaining edge part.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

func (r *ModifySnapshotByTimeOffsetTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySnapshotByTimeOffsetTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Width")
	delete(f, "Height")
	delete(f, "ResolutionAdaptive")
	delete(f, "Format")
	delete(f, "Comment")
	delete(f, "FillType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySnapshotByTimeOffsetTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySnapshotByTimeOffsetTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifySnapshotByTimeOffsetTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifySnapshotByTimeOffsetTemplateResponseParams `json:"Response"`
}

func (r *ModifySnapshotByTimeOffsetTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySnapshotByTimeOffsetTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySubAppIdInfoRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Application name, length limited to 40 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Application description, length limited to 300 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type ModifySubAppIdInfoRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Application name, length limited to 40 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Application description, length limited to 300 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *ModifySubAppIdInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySubAppIdInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySubAppIdInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySubAppIdInfoResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifySubAppIdInfoResponse struct {
	*tchttp.BaseResponse
	Response *ModifySubAppIdInfoResponseParams `json:"Response"`
}

func (r *ModifySubAppIdInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySubAppIdInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySubAppIdStatusRequestParams struct {
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Application status. Valid values:
	// <li>On: enabled.</li>
	// <li>Off: Disabled.</li>
	// <li>Destroyed: Terminate.</li>
	// If the current status is Destroying, the enable operation is not allowed. You have to wait until the destruction is completed to re-enable it.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`
}

type ModifySubAppIdStatusRequest struct {
	*tchttp.BaseRequest
	
	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Application status. Valid values:
	// <li>On: enabled.</li>
	// <li>Off: Disabled.</li>
	// <li>Destroyed: Terminate.</li>
	// If the current status is Destroying, the enable operation is not allowed. You have to wait until the destruction is completed to re-enable it.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *ModifySubAppIdStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySubAppIdStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySubAppIdStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySubAppIdStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifySubAppIdStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifySubAppIdStatusResponseParams `json:"Response"`
}

func (r *ModifySubAppIdStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySubAppIdStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySuperPlayerConfigRequestParams struct {
	// Player configuration name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Played audio and video type. Valid values:
	// <li>AdaptiveDynamicStream: adaptive bitrate stream output;</li>
	// <li>Transcode: transcoding output;</li>
	// <li>Original: original audio/video.</li>
	AudioVideoType *string `json:"AudioVideoType,omitnil,omitempty" name:"AudioVideoType"`

	// Switch for playing DRM-protected adaptive bitstream.
	// <li>ON: Enable, indicates only playback of protected adaptive bitrate output.</li>
	// <li>OFF: Disable. Indicates playback of unencrypted adaptive bitstream output.</li>
	DrmSwitch *string `json:"DrmSwitch,omitnil,omitempty" name:"DrmSwitch"`

	// Allowed output of unencrypted adaptive bitstream template ID.
	AdaptiveDynamicStreamingDefinition *uint64 `json:"AdaptiveDynamicStreamingDefinition,omitnil,omitempty" name:"AdaptiveDynamicStreamingDefinition"`

	// Allowed output of DRM adaptive bitstream template content.
	DrmStreamingsInfo *DrmStreamingsInfoForUpdate `json:"DrmStreamingsInfo,omitnil,omitempty" name:"DrmStreamingsInfo"`

	// Allowed output transcoding template ID.
	TranscodeDefinition *uint64 `json:"TranscodeDefinition,omitnil,omitempty" name:"TranscodeDefinition"`

	// Allowed output sprite template ID.
	ImageSpriteDefinition *uint64 `json:"ImageSpriteDefinition,omitnil,omitempty" name:"ImageSpriteDefinition"`

	// Player's display name for substreams of different resolutions.
	ResolutionNames []*ResolutionNameInfo `json:"ResolutionNames,omitnil,omitempty" name:"ResolutionNames"`

	// Domain name used during playback. Enter Default to indicate usage of the domain name in the default distribution configuration (https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1).
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Scheme used during playback. Valid values:
	// <li>Default: Use the Scheme in the [default distribution configuration](https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1);</li>
	// <li>HTTP;</li>
	// <li>HTTPS.</li>
	Scheme *string `json:"Scheme,omitnil,omitempty" name:"Scheme"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type ModifySuperPlayerConfigRequest struct {
	*tchttp.BaseRequest
	
	// Player configuration name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Played audio and video type. Valid values:
	// <li>AdaptiveDynamicStream: adaptive bitrate stream output;</li>
	// <li>Transcode: transcoding output;</li>
	// <li>Original: original audio/video.</li>
	AudioVideoType *string `json:"AudioVideoType,omitnil,omitempty" name:"AudioVideoType"`

	// Switch for playing DRM-protected adaptive bitstream.
	// <li>ON: Enable, indicates only playback of protected adaptive bitrate output.</li>
	// <li>OFF: Disable. Indicates playback of unencrypted adaptive bitstream output.</li>
	DrmSwitch *string `json:"DrmSwitch,omitnil,omitempty" name:"DrmSwitch"`

	// Allowed output of unencrypted adaptive bitstream template ID.
	AdaptiveDynamicStreamingDefinition *uint64 `json:"AdaptiveDynamicStreamingDefinition,omitnil,omitempty" name:"AdaptiveDynamicStreamingDefinition"`

	// Allowed output of DRM adaptive bitstream template content.
	DrmStreamingsInfo *DrmStreamingsInfoForUpdate `json:"DrmStreamingsInfo,omitnil,omitempty" name:"DrmStreamingsInfo"`

	// Allowed output transcoding template ID.
	TranscodeDefinition *uint64 `json:"TranscodeDefinition,omitnil,omitempty" name:"TranscodeDefinition"`

	// Allowed output sprite template ID.
	ImageSpriteDefinition *uint64 `json:"ImageSpriteDefinition,omitnil,omitempty" name:"ImageSpriteDefinition"`

	// Player's display name for substreams of different resolutions.
	ResolutionNames []*ResolutionNameInfo `json:"ResolutionNames,omitnil,omitempty" name:"ResolutionNames"`

	// Domain name used during playback. Enter Default to indicate usage of the domain name in the default distribution configuration (https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1).
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Scheme used during playback. Valid values:
	// <li>Default: Use the Scheme in the [default distribution configuration](https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1);</li>
	// <li>HTTP;</li>
	// <li>HTTPS.</li>
	Scheme *string `json:"Scheme,omitnil,omitempty" name:"Scheme"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

func (r *ModifySuperPlayerConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySuperPlayerConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	delete(f, "AudioVideoType")
	delete(f, "DrmSwitch")
	delete(f, "AdaptiveDynamicStreamingDefinition")
	delete(f, "DrmStreamingsInfo")
	delete(f, "TranscodeDefinition")
	delete(f, "ImageSpriteDefinition")
	delete(f, "ResolutionNames")
	delete(f, "Domain")
	delete(f, "Scheme")
	delete(f, "Comment")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySuperPlayerConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySuperPlayerConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifySuperPlayerConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifySuperPlayerConfigResponseParams `json:"Response"`
}

func (r *ModifySuperPlayerConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySuperPlayerConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyTranscodeTemplateRequestParams struct {
	// <p>Unique ID of the transcoding template.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Container format. Valid values: mp4, flv, hls, mp3, flac, ogg, m4a, and wav. Among them, mp3, flac, ogg, m4a, and wav are for audio-only files.</p>
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <p>Transcoding template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Whether to remove video data. Available values:</p><li>0: reserved</li><li>1: remove</li>
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// <p>Remove audio data. Available values:</p><li>0: Reserved</li><li>1: Remove</li>
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// <p>Video stream configuration parameters.</p>
	VideoTemplate *VideoTemplateInfoForUpdate `json:"VideoTemplate,omitnil,omitempty" name:"VideoTemplate"`

	// <p>Audio stream configuration parameters.</p>
	AudioTemplate *AudioTemplateInfoForUpdate `json:"AudioTemplate,omitnil,omitempty" name:"AudioTemplate"`

	// <p>TSC transcoding parameter.</p>
	TEHDConfig *TEHDConfigForUpdate `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`

	// <p>Audio/Video enhancement configuration.</p>
	EnhanceConfig *EnhanceConfigForUpdate `json:"EnhanceConfig,omitnil,omitempty" name:"EnhanceConfig"`

	// <p>Segment type, valid when Container is hls. Available values:</p><li>ts: ts slicing;</li><li>fmp4: fmp4 slicing.</li>
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`

	// <p>Extended parameter.</p>
	StdExtInfo *string `json:"StdExtInfo,omitnil,omitempty" name:"StdExtInfo"`
}

type ModifyTranscodeTemplateRequest struct {
	*tchttp.BaseRequest
	
	// <p>Unique ID of the transcoding template.</p>
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Container format. Valid values: mp4, flv, hls, mp3, flac, ogg, m4a, and wav. Among them, mp3, flac, ogg, m4a, and wav are for audio-only files.</p>
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <p>Transcoding template name. The length cannot exceed 64 characters.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Template description, with a length limit of 256 characters.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Whether to remove video data. Available values:</p><li>0: reserved</li><li>1: remove</li>
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// <p>Remove audio data. Available values:</p><li>0: Reserved</li><li>1: Remove</li>
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// <p>Video stream configuration parameters.</p>
	VideoTemplate *VideoTemplateInfoForUpdate `json:"VideoTemplate,omitnil,omitempty" name:"VideoTemplate"`

	// <p>Audio stream configuration parameters.</p>
	AudioTemplate *AudioTemplateInfoForUpdate `json:"AudioTemplate,omitnil,omitempty" name:"AudioTemplate"`

	// <p>TSC transcoding parameter.</p>
	TEHDConfig *TEHDConfigForUpdate `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`

	// <p>Audio/Video enhancement configuration.</p>
	EnhanceConfig *EnhanceConfigForUpdate `json:"EnhanceConfig,omitnil,omitempty" name:"EnhanceConfig"`

	// <p>Segment type, valid when Container is hls. Available values:</p><li>ts: ts slicing;</li><li>fmp4: fmp4 slicing.</li>
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`

	// <p>Extended parameter.</p>
	StdExtInfo *string `json:"StdExtInfo,omitnil,omitempty" name:"StdExtInfo"`
}

func (r *ModifyTranscodeTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyTranscodeTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Container")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "RemoveVideo")
	delete(f, "RemoveAudio")
	delete(f, "VideoTemplate")
	delete(f, "AudioTemplate")
	delete(f, "TEHDConfig")
	delete(f, "EnhanceConfig")
	delete(f, "SegmentType")
	delete(f, "StdExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyTranscodeTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyTranscodeTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyTranscodeTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyTranscodeTemplateResponseParams `json:"Response"`
}

func (r *ModifyTranscodeTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyTranscodeTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVodDomainAccelerateConfigRequestParams struct {
	// Domains requiring acceleration configuration.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Region, optional value:
	// <li>Chinese Mainland: within the Chinese mainland (excluding Hong Kong (China), Macao (China), and Taiwan (China)).</li>
	// <li>Outside Chinese Mainland: outside the Chinese mainland.</li>
	// <li>Global: global.</li>
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Whether to enable or disable domain name acceleration for the selected region. Valid values:
	// <li>`Enabled`: enable</li>
	// <li>`Disabled`: disable</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ModifyVodDomainAccelerateConfigRequest struct {
	*tchttp.BaseRequest
	
	// Domains requiring acceleration configuration.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Region, optional value:
	// <li>Chinese Mainland: within the Chinese mainland (excluding Hong Kong (China), Macao (China), and Taiwan (China)).</li>
	// <li>Outside Chinese Mainland: outside the Chinese mainland.</li>
	// <li>Global: global.</li>
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Whether to enable or disable domain name acceleration for the selected region. Valid values:
	// <li>`Enabled`: enable</li>
	// <li>`Disabled`: disable</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ModifyVodDomainAccelerateConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVodDomainAccelerateConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "Area")
	delete(f, "Status")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVodDomainAccelerateConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVodDomainAccelerateConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyVodDomainAccelerateConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVodDomainAccelerateConfigResponseParams `json:"Response"`
}

func (r *ModifyVodDomainAccelerateConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVodDomainAccelerateConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVodDomainConfigRequestParams struct {
	// Domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// [Referer hotlink protection](https://www.tencentcloud.com/document/product/266/14046?from_cn_redirect=1) rule.
	RefererAuthPolicy *RefererAuthPolicy `json:"RefererAuthPolicy,omitnil,omitempty" name:"RefererAuthPolicy"`

	// [Key hotlink protection](https://www.tencentcloud.com/document/product/266/14047?from_cn_redirect=1) rule.
	UrlSignatureAuthPolicy *UrlSignatureAuthPolicy `json:"UrlSignatureAuthPolicy,omitnil,omitempty" name:"UrlSignatureAuthPolicy"`

	// QUIC configuration.
	QUICConfig *DomainQUICConfig `json:"QUICConfig,omitnil,omitempty" name:"QUICConfig"`

	// IP access restriction rule.
	IPFilterPolicy *IPFilterPolicy `json:"IPFilterPolicy,omitnil,omitempty" name:"IPFilterPolicy"`
}

type ModifyVodDomainConfigRequest struct {
	*tchttp.BaseRequest
	
	// Domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// [Referer hotlink protection](https://www.tencentcloud.com/document/product/266/14046?from_cn_redirect=1) rule.
	RefererAuthPolicy *RefererAuthPolicy `json:"RefererAuthPolicy,omitnil,omitempty" name:"RefererAuthPolicy"`

	// [Key hotlink protection](https://www.tencentcloud.com/document/product/266/14047?from_cn_redirect=1) rule.
	UrlSignatureAuthPolicy *UrlSignatureAuthPolicy `json:"UrlSignatureAuthPolicy,omitnil,omitempty" name:"UrlSignatureAuthPolicy"`

	// QUIC configuration.
	QUICConfig *DomainQUICConfig `json:"QUICConfig,omitnil,omitempty" name:"QUICConfig"`

	// IP access restriction rule.
	IPFilterPolicy *IPFilterPolicy `json:"IPFilterPolicy,omitnil,omitempty" name:"IPFilterPolicy"`
}

func (r *ModifyVodDomainConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVodDomainConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "SubAppId")
	delete(f, "RefererAuthPolicy")
	delete(f, "UrlSignatureAuthPolicy")
	delete(f, "QUICConfig")
	delete(f, "IPFilterPolicy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVodDomainConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVodDomainConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyVodDomainConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVodDomainConfigResponseParams `json:"Response"`
}

func (r *ModifyVodDomainConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVodDomainConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWatermarkTemplateRequestParams struct {
	// Unique identifier of the watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Origin position. Valid values:
	// <li>TopLeft: indicates that the coordinate origin is at the top left corner of the video image and the watermark origin is at the top left corner of the image or text.</li>
	// <li>TopRight: indicates that the coordinate origin is at the top right corner of the video image and the watermark origin is at the top right corner of the image or text.</li>
	// <li>BottomLeft: indicates that the coordinate origin is at the bottom left corner of the video image and the watermark origin is at the bottom left corner of the image or text.</li>
	// <li>BottomRight: indicates that the coordinate origin is at the bottom right corner of the video image and the watermark origin is at the bottom right corner of the image or text.</li>
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`

	// The horizontal position of the watermark origin from the origin of coordinates of the video image. Support two formats: % and px.
	// <li>If a string ends with %, it indicates that the `XPos` of a watermark is a specified percentage of a video's width. For example, `10%` means that `XPos` is 10% of a video's width.</li>
	// <li>If a string ends with px, it means the watermark XPos is specified in pixels, for example, 100px means the XPos is 100 pixels.</li>
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// Vertical position of the watermark origin from the origin of coordinates of the video image. Support two formats: % and px.
	// <li>If a string ends with %, it indicates that the `YPos` of a watermark is a specified percentage of a video's height. For example, `10%` means that `YPos` is 10% of a video's height.</li>
	// <li>If a string ends with px, it means the watermark YPos is specified in pixels, for example, 100px means YPos is 100 pixels.</li>
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Image watermark template. This field is only applicable to image watermark templates.
	ImageTemplate *ImageWatermarkInputForUpdate `json:"ImageTemplate,omitnil,omitempty" name:"ImageTemplate"`

	// Text watermarking template. This field is only applicable to text watermarking templates.
	TextTemplate *TextWatermarkTemplateInputForUpdate `json:"TextTemplate,omitnil,omitempty" name:"TextTemplate"`

	// SVG watermark template. This field is only applicable to SVG watermark templates.
	SvgTemplate *SvgWatermarkInputForUpdate `json:"SvgTemplate,omitnil,omitempty" name:"SvgTemplate"`
}

type ModifyWatermarkTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier of the watermark template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Watermark template name. The length cannot exceed 64 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Origin position. Valid values:
	// <li>TopLeft: indicates that the coordinate origin is at the top left corner of the video image and the watermark origin is at the top left corner of the image or text.</li>
	// <li>TopRight: indicates that the coordinate origin is at the top right corner of the video image and the watermark origin is at the top right corner of the image or text.</li>
	// <li>BottomLeft: indicates that the coordinate origin is at the bottom left corner of the video image and the watermark origin is at the bottom left corner of the image or text.</li>
	// <li>BottomRight: indicates that the coordinate origin is at the bottom right corner of the video image and the watermark origin is at the bottom right corner of the image or text.</li>
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`

	// The horizontal position of the watermark origin from the origin of coordinates of the video image. Support two formats: % and px.
	// <li>If a string ends with %, it indicates that the `XPos` of a watermark is a specified percentage of a video's width. For example, `10%` means that `XPos` is 10% of a video's width.</li>
	// <li>If a string ends with px, it means the watermark XPos is specified in pixels, for example, 100px means the XPos is 100 pixels.</li>
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// Vertical position of the watermark origin from the origin of coordinates of the video image. Support two formats: % and px.
	// <li>If a string ends with %, it indicates that the `YPos` of a watermark is a specified percentage of a video's height. For example, `10%` means that `YPos` is 10% of a video's height.</li>
	// <li>If a string ends with px, it means the watermark YPos is specified in pixels, for example, 100px means YPos is 100 pixels.</li>
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Image watermark template. This field is only applicable to image watermark templates.
	ImageTemplate *ImageWatermarkInputForUpdate `json:"ImageTemplate,omitnil,omitempty" name:"ImageTemplate"`

	// Text watermarking template. This field is only applicable to text watermarking templates.
	TextTemplate *TextWatermarkTemplateInputForUpdate `json:"TextTemplate,omitnil,omitempty" name:"TextTemplate"`

	// SVG watermark template. This field is only applicable to SVG watermark templates.
	SvgTemplate *SvgWatermarkInputForUpdate `json:"SvgTemplate,omitnil,omitempty" name:"SvgTemplate"`
}

func (r *ModifyWatermarkTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWatermarkTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "Name")
	delete(f, "Comment")
	delete(f, "CoordinateOrigin")
	delete(f, "XPos")
	delete(f, "YPos")
	delete(f, "ImageTemplate")
	delete(f, "TextTemplate")
	delete(f, "SvgTemplate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWatermarkTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWatermarkTemplateResponseParams struct {
	// Image watermark address. This field has a value only when ImageTemplate.ImageContent is not empty.
	ImageUrl *string `json:"ImageUrl,omitnil,omitempty" name:"ImageUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWatermarkTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWatermarkTemplateResponseParams `json:"Response"`
}

func (r *ModifyWatermarkTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWatermarkTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWordSampleRequestParams struct {
	// Keyword, length limit: 128 characters.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <b>Keyword application scenario, available values: </b>
	// 1. Recognition.Ocr: Perform content recognition using OCR.
	// 2. Recognition.Asr: Perform content recognition using audio recognition technology.
	// 3. Review.Ocr: Perform inappropriate content recognition using OCR.
	// 4. Review.Asr: Perform inappropriate content recognition using audio recognition technology.
	// <b>Can be abbreviated as:</b>
	// 5. Recognition: Perform content recognition using OCR and audio recognition technology, equivalent to 1+2.
	// 6. Review: Perform inappropriate content recognition using OCR and audio recognition technology, equivalent to 3+4.
	// 7. All: Include all of the above, equivalent to 1+2+3+4.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Tag operation information.
	TagOperationInfo *AiSampleTagOperation `json:"TagOperationInfo,omitnil,omitempty" name:"TagOperationInfo"`
}

type ModifyWordSampleRequest struct {
	*tchttp.BaseRequest
	
	// Keyword, length limit: 128 characters.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <b>Keyword application scenario, available values: </b>
	// 1. Recognition.Ocr: Perform content recognition using OCR.
	// 2. Recognition.Asr: Perform content recognition using audio recognition technology.
	// 3. Review.Ocr: Perform inappropriate content recognition using OCR.
	// 4. Review.Asr: Perform inappropriate content recognition using audio recognition technology.
	// <b>Can be abbreviated as:</b>
	// 5. Recognition: Perform content recognition using OCR and audio recognition technology, equivalent to 1+2.
	// 6. Review: Perform inappropriate content recognition using OCR and audio recognition technology, equivalent to 3+4.
	// 7. All: Include all of the above, equivalent to 1+2+3+4.
	Usages []*string `json:"Usages,omitnil,omitempty" name:"Usages"`

	// Tag operation information.
	TagOperationInfo *AiSampleTagOperation `json:"TagOperationInfo,omitnil,omitempty" name:"TagOperationInfo"`
}

func (r *ModifyWordSampleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWordSampleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Keyword")
	delete(f, "SubAppId")
	delete(f, "Usages")
	delete(f, "TagOperationInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWordSampleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWordSampleResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWordSampleResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWordSampleResponseParams `json:"Response"`
}

func (r *ModifyWordSampleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWordSampleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type MosaicConfigureInfo struct {
	// Video mosaic inspection switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type MosaicConfigureInfoForUpdate struct {
	// Video mosaic inspection switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type MosaicInput struct {
	// Origin position, which currently can only be:
	// <li>TopLeft: the origin of coordinates is in the top-left corner of the video, and the origin of the blur is in the top-left corner of the image or text.</li>
	// Default value: TopLeft.
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`

	// The horizontal position of the origin of the blur relative to the origin of coordinates of the video. % and px formats are supported:
	// <li>If the string ends in %, the `XPos` of the blur will be the specified percentage of the video width; for example, `10%` means that `XPos` is 10% of the video width;</li>
	// <li>If the string ends in px, the `XPos` of the blur will be the specified px; for example, `100px` means that `XPos` is 100 px.</li>
	// Default value: 0 px.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// Vertical position of the origin of blur relative to the origin of coordinates of video. % and px formats are supported:
	// <li>If the string ends in %, the `YPos` of the blur will be the specified percentage of the video height; for example, `10%` means that `YPos` is 10% of the video height;</li>
	// <li>If the string ends in px, the `YPos` of the blur will be the specified px; for example, `100px` means that `YPos` is 100 px.</li>
	// Default value: 0 px.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Blur width. % and px formats are supported:
	// <li>If the string ends in %, the `Width` of the blur will be the specified percentage of the video width; for example, `10%` means that `Width` is 10% of the video width;</li>
	// <li>If the string ends in px, the `Width` of the blur will be in px; for example, `100px` means that `Width` is 100 px.</li>
	// Default value: 10%.
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Blur height. % and px formats are supported:
	// <li>If the string ends in %, the `Height` of the blur will be the specified percentage of the video height; for example, `10%` means that `Height` is 10% of the video height;</li>
	// <li>If the string ends in px, the `Height` of the blur will be in px; for example, `100px` means that `Height` is 100 px.</li>
	// Default value: 10%.
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// Start time offset of blur in seconds. If this parameter is left empty or 0 is entered, the blur will appear upon the first video frame.
	// <li>If this parameter is left empty or 0 is entered, the blur will appear upon the first video frame;</li>
	// <li>If this value is greater than 0 (e.g., n), the blur will appear at second n after the first video frame;</li>
	// <li>If this value is smaller than 0 (e.g., -n), the blur will appear at second n before the last video frame.</li>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of blur in seconds.
	// <li>If this parameter is left empty or 0 is entered, the blur will exist till the last video frame;</li>
	// <li>If this value is greater than 0 (e.g., n), the blur will exist till second n;</li>
	// <li>If this value is smaller than 0 (e.g., -n), the blur will exist till second n before the last video frame.</li>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

type NoiseConfigureInfo struct {
	// Video noise inspection switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type NoiseConfigureInfoForUpdate struct {
	// Video noise inspection switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type ObjectConfigureInfo struct {
	// Switch of object recognition task. Valid values:
	// <li>ON: enables intelligent object recognition task;</li>
	// <li>OFF: disables intelligent object recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Object library. Valid values:
	// <li>Default: default object library;</li>
	// <li>UserDefine: custom object library.</li>
	// <li>All: both default and custom object libraries will be used.</li>
	// Default value: All, i.e., both default and custom object libraries will be used.
	ObjectLibrary *string `json:"ObjectLibrary,omitnil,omitempty" name:"ObjectLibrary"`
}

type ObjectConfigureInfoForUpdate struct {
	// Switch of object recognition task. Valid values:
	// <li>ON: enables intelligent object recognition task;</li>
	// <li>OFF: disables intelligent object recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Object library. Valid values:
	// <li>Default: default object library;</li>
	// <li>UserDefine: custom object library.</li>
	// <li>All: both default and custom object libraries will be used.</li>
	ObjectLibrary *string `json:"ObjectLibrary,omitnil,omitempty" name:"ObjectLibrary"`
}

type OcrFullTextConfigureInfo struct {
	// Switch of full text recognition task. Valid values:
	// <li>ON: enables intelligent full text recognition task;</li>
	// <li>OFF: disables intelligent full text recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type OcrFullTextConfigureInfoForUpdate struct {
	// Switch of full text recognition task. Valid values:
	// <li>ON: enables intelligent full text recognition task;</li>
	// <li>OFF: disables intelligent full text recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type OcrWordsConfigureInfo struct {
	// Switch of text keyword recognition task. Valid values:
	// <li>ON: enables text keyword recognition task;</li>
	// <li>OFF: disables text keyword recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Keyword filter tag, which specifies the keyword tag that needs to be returned. If this parameter is left empty, all results will be returned.
	// There can be up to 10 tags, each with a length limit of 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`
}

type OcrWordsConfigureInfoForUpdate struct {
	// Switch of text keyword recognition task. Valid values:
	// <li>ON: enables text keyword recognition task;</li>
	// <li>OFF: disables text keyword recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Keyword filter tag, which specifies the keyword tag that needs to be returned. If this parameter is left empty or a blank value is entered, all results will be returned.
	// There can be up to 10 tags, each with a length limit of 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`
}

type Origin struct {
	// List of main origin sites. When modifying the main origin site, the corresponding OriginType needs to be filled in at the same time.
	Origins []*string `json:"Origins,omitnil,omitempty" name:"Origins"`

	// Main origin site type, input parameters support the following types: <li>domain: domain name type;</li> <li>ip: IP list as the origin site;</li> <li>third_party: third-party storage origin site . </li>
	OriginType *string `json:"OriginType,omitnil,omitempty" name:"OriginType"`

	// When returning to the main origin server, the Host header will default to the accelerated domain name if it is not filled in. When the origin server type is object storage, the ServerName field is required.
	ServerName *string `json:"ServerName,omitnil,omitempty" name:"ServerName"`

	// Back-to-origin protocol configuration: <li>http: Forces HTTP back-to-origin;</li> <li>follow: The protocol follows back-to-origin;</li> <li>https: Forces https back-to-origin, and https back-to-origin only supports origin. Station port 443. </li>
	OriginPullProtocol *string `json:"OriginPullProtocol,omitnil,omitempty" name:"OriginPullProtocol"`

	// Backup source site list. When modifying the backup origin site, the corresponding OriginType needs to be filled in at the same time.
	BackupOrigins []*string `json:"BackupOrigins,omitnil,omitempty" name:"BackupOrigins"`

	// Backup origin site type, input parameters support the following types: <li>domain: domain name type;</li> <li>ip: IP list as the origin site;</li> <li>third_party: third-party storage origin site . </li>
	BackupOriginType *string `json:"BackupOriginType,omitnil,omitempty" name:"BackupOriginType"`

	// Host header used when accessing the backup origin server. If it is left empty, the ServerName of primary origin server will be used by default. Note: This field may return null, indicating that no valid value can be obtained.
	BackupServerName *string `json:"BackupServerName,omitnil,omitempty" name:"BackupServerName"`

	// Object storage back to the origin vendor. Required when the origin site type is a third-party storage origin site (third_party). Optional values u200bu200binclude the following: <li>aws_s3: AWS S3;</li> <li>ali_oss: Alibaba Cloud OSS; </li> <li>hw_obs: Huawei OBS;</li> <li>others: object storage from other manufacturers, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud COS. </li>
	OriginCompany *string `json:"OriginCompany,omitnil,omitempty" name:"OriginCompany"`
}

type OssPrivateAccess struct {
	// Alibaba Cloud OSS return-to-origin authentication configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Access ID.
	AccessKey *string `json:"AccessKey,omitnil,omitempty" name:"AccessKey"`

	// Key.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Region.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// BucketName.
	Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"`
}

type OthersPrivateAccess struct {
	// Other manufacturers' object storage back-to-origin authentication configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Access ID.
	AccessKey *string `json:"AccessKey,omitnil,omitempty" name:"AccessKey"`

	// Key.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Region.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Bucket name
	Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"`
}

type OutputAudioStream struct {
	// Audio stream encoder. Valid values:
	// <li>libfdk_aac: suitable for mp4 files.</li>
	// Default value: libfdk_aac.
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// Audio stream sample rate. Valid values:
	// <li>16,000</li>
	// <li>32,000</li>
	// <li>44,100</li>
	// <li>48,000</li>
	// In Hz.
	// Default value: 16,000.
	SampleRate *int64 `json:"SampleRate,omitnil,omitempty" name:"SampleRate"`

	// Number of sound channels. Valid values:
	// <li>1: mono.</li>
	// <li>2: dual</li>
	// Default value: 2.
	AudioChannel *int64 `json:"AudioChannel,omitnil,omitempty" name:"AudioChannel"`

	// The bit rate of the audio stream, value range: 0 and [26, 256], unit: kbps. 
	// When the value is 0, the audio bitrate will be automatically set.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`
}

type OutputVideoStream struct {
	// Video stream encoder. Valid values:
	// <li>libx264: H.264</li>
	// Default value: libx264.
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// Video frame rate in Hz. Value range: [0, 60].
	// Default value: 0, which means that the value is the same as the video frame rate of the first video segment in the first video track.
	Fps *int64 `json:"Fps,omitnil,omitempty" name:"Fps"`
}

type OverrideTranscodeParameter struct {
	// Container format. Valid values: mp4, flv, hls, mp3, flac, ogg, m4a, and wav. Among them, mp3, flac, ogg, m4a, and wav are for audio-only files.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Indicates whether to remove video data. Valid values:
	// <li>`0`: reserved;</li>
	// <li>1: Remove.</li>
	RemoveVideo *uint64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Indicates whether to remove audio data. Valid values:
	// <li>`0`: reserved;</li>
	// <li>1: Remove.</li>
	RemoveAudio *uint64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// Video stream configuration parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VideoTemplate *VideoTemplateInfoForUpdate `json:"VideoTemplate,omitnil,omitempty" name:"VideoTemplate"`

	// Audio stream configuration parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	AudioTemplate *AudioTemplateInfoForUpdate `json:"AudioTemplate,omitnil,omitempty" name:"AudioTemplate"`

	// Top Speed Codec transcoding configuration parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	TEHDConfig *TEHDConfigForUpdate `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`
}

// Predefined struct for user
type ParseStreamingManifestRequestParams struct {
	// Index file content to be parsed.
	MediaManifestContent *string `json:"MediaManifestContent,omitnil,omitempty" name:"MediaManifestContent"`

	// Video index file format, which is `m3u8` by default.
	// <li>m3u8</li>
	// <li>mpd</li>
	ManifestType *string `json:"ManifestType,omitnil,omitempty" name:"ManifestType"`
}

type ParseStreamingManifestRequest struct {
	*tchttp.BaseRequest
	
	// Index file content to be parsed.
	MediaManifestContent *string `json:"MediaManifestContent,omitnil,omitempty" name:"MediaManifestContent"`

	// Video index file format, which is `m3u8` by default.
	// <li>m3u8</li>
	// <li>mpd</li>
	ManifestType *string `json:"ManifestType,omitnil,omitempty" name:"ManifestType"`
}

func (r *ParseStreamingManifestRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ParseStreamingManifestRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MediaManifestContent")
	delete(f, "ManifestType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ParseStreamingManifestRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ParseStreamingManifestResponseParams struct {
	// Segment file list.
	MediaSegmentSet []*string `json:"MediaSegmentSet,omitnil,omitempty" name:"MediaSegmentSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ParseStreamingManifestResponse struct {
	*tchttp.BaseResponse
	Response *ParseStreamingManifestResponseParams `json:"Response"`
}

func (r *ParseStreamingManifestResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ParseStreamingManifestResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type PersistenceCompleteTask struct {
	// Consolidate the generated Media ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The source of clipping solidification has the following three types.
	// <li>SimpleHlsClip: Comes from simple HLS edit;</li>
	// <li>FastEditMedia: Comes from quick media editing;</li>
	// <li>LiveRealTimeClip: comes from live stream clipping.</li>
	PersistenceSource *string `json:"PersistenceSource,omitnil,omitempty" name:"PersistenceSource"`
}

type PlayStatFileInfo struct {
	// Date of playback statistics in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?lang=en&pg=).
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`

	// URL of a playback statistics file, including the following contents:
	// <li> date: playback date</li>
	// <li> file_id: video file ID</li>
	// <li> ip_count: number of client IPs after deduplication</li>
	// <li> flux: playback traffic in bytes</li>
	// <li> play_times: total playback times</li>
	// <li> pc_play_times: playback times on PC clients</li>
	// <li> mobile_play_times: playback times on mobile clients</li>
	// <li> iphone_play_times: playback times on iPhone</li>
	// <li> android_play_times: playback times on Android</li>
	// <li> host_name: domain name</li>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type PlayStatInfo struct {
	// The start time (in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I)) of the data returned. For example, if the granularity is a day, `2018-12-01T00:00:00+08:00` indicates that the data is for the period between December 1, 2018 (inclusive) and December 2, 2018 (exclusive).
	// <li>If the granularity is an hour, `2019-08-22T00:00:00+08:00` indicates the data is for the period between 00:00 and 01:00 AM on August 22, 2019.</li>
	// <li>If the granularity is a day, `2019-08-22T00:00:00+08:00` indicates the data is for August 22, 2019.</li>
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// The ID of the media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The playback times.
	PlayTimes *uint64 `json:"PlayTimes,omitnil,omitempty" name:"PlayTimes"`

	// The traffic (in bytes) consumed for playback.
	Traffic *uint64 `json:"Traffic,omitnil,omitempty" name:"Traffic"`
}

type PlayerConfig struct {
	// <p>Player configuration name.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Player configuration type. Valid values:</p><li>Preset: system predefined configuration.</li><li>Custom: user-customized configuration.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Played Audio and Video Type. Optional values:</p><li>AdaptiveDynamicStream: adaptive bitrate stream output;</li><li>Transcode: transcoding output;</li><li>Original: original audio/video.</li>
	AudioVideoType *string `json:"AudioVideoType,omitnil,omitempty" name:"AudioVideoType"`

	// <p>Switch for playing DRM-protected adaptive bitstream:</p><li>ON: Enable, indicates only playback of protected adaptive bitrate output;</li><li>OFF: Disable, indicates playback of unencrypted adaptive bitstream output.</li>
	DrmSwitch *string `json:"DrmSwitch,omitnil,omitempty" name:"DrmSwitch"`

	// <p>Allowed output of unencrypted adaptive bitstream template ID.</p>
	AdaptiveDynamicStreamingDefinition *uint64 `json:"AdaptiveDynamicStreamingDefinition,omitnil,omitempty" name:"AdaptiveDynamicStreamingDefinition"`

	// <p>Allowed output of DRM adaptive bitstream template content.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	DrmStreamingsInfo *DrmStreamingsInfo `json:"DrmStreamingsInfo,omitnil,omitempty" name:"DrmStreamingsInfo"`

	// <p>Allowed output transcoding template ID.</p>
	TranscodeDefinition *uint64 `json:"TranscodeDefinition,omitnil,omitempty" name:"TranscodeDefinition"`

	// <p>Allowed output sprite template ID.</p>
	ImageSpriteDefinition *uint64 `json:"ImageSpriteDefinition,omitnil,omitempty" name:"ImageSpriteDefinition"`

	// <p>The player displays names for substreams of different resolution.</p>
	ResolutionNameSet []*ResolutionNameInfo `json:"ResolutionNameSet,omitnil,omitempty" name:"ResolutionNameSet"`

	// <p>Player configuration creation time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Last player configuration modification time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// <p>Domain name used during playback. A value of Default indicates usage of the domain name in the <a href="https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1">default distribution configuration</a>.</p>
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <p>Scheme used during playback. Value ranges from:</p><li>Default: Use the scheme in the [default distribution configuration](https://www.tencentcloud.com/document/product/266/33373?from_cn_redirect=1);</li><li>HTTP;</li><li>HTTPS.</li>
	Scheme *string `json:"Scheme,omitnil,omitempty" name:"Scheme"`

	// <p>Template description information.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`
}

type PoliticalAsrReviewTemplateInfo struct {
	// Whether to enable ASR-based recognition of politically sensitive content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`
}

type PoliticalAsrReviewTemplateInfoForUpdate struct {
	// Whether to enable ASR-based recognition of politically sensitive content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PoliticalConfigureInfo struct {
	// Image recognition involves control parameters for inappropriate information.
	ImgReviewInfo *PoliticalImgReviewTemplateInfo `json:"ImgReviewInfo,omitnil,omitempty" name:"ImgReviewInfo"`

	// ASR-based recognition involves control parameters for inappropriate information.
	AsrReviewInfo *PoliticalAsrReviewTemplateInfo `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// Text recognition involves control parameters for inappropriate information.
	OcrReviewInfo *PoliticalOcrReviewTemplateInfo `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type PoliticalConfigureInfoForUpdate struct {
	// Parameters for recognition of politically sensitive content in images
	ImgReviewInfo *PoliticalImgReviewTemplateInfoForUpdate `json:"ImgReviewInfo,omitnil,omitempty" name:"ImgReviewInfo"`

	// Parameters for ASR-based recognition of politically sensitive content
	AsrReviewInfo *PoliticalAsrReviewTemplateInfoForUpdate `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// Parameters for OCR-based recognition of politically sensitive content
	OcrReviewInfo *PoliticalOcrReviewTemplateInfoForUpdate `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type PoliticalImageResult struct {
	// The confidence score for the moderation result. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// The suggestion for handling the detected politically sensitive content. Valid values:
	// <li>pass/li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The name of the politically sensitive content or banned icon detected.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The coordinates (pixel) of the top-left and bottom-right corners of the frame where the politically sensitive content or banned icon appears. Format: [x1, y1, x2, y2].
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`
}

type PoliticalImgReviewTemplateInfo struct {
	// Whether to enable recognition of politically sensitive content in images. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for recognition of politically sensitive content in images. Results containing the specified labels are returned. If no labels are specified, all results are returned. Valid values:
	// <li>`violation_photo`: banned images</li>
	// <li>`politician`: politically sensitive people</li>
	// <li>`entertainment`: people in the entertainment industry</li>
	// <li>`sport`: sportspeople</li>
	// <li>`entrepreneur`: businesspeople</li>
	// <li>`scholar`: scholars</li>
	// <li>`celebrity`: celebrities</li>
	// <li>`military`: people in military</li>
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `97` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `95` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PoliticalImgReviewTemplateInfoForUpdate struct {
	// Whether to enable recognition of politically sensitive content in images. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for recognition of politically sensitive content in images. Results containing the specified labels are returned. If no labels are specified, all results are returned. Valid values:
	// <li>`violation_photo`: banned images</li>
	// <li>`politician`: politically sensitive people</li>
	// <li>`entertainment`: people in the entertainment industry</li>
	// <li>`sport`: sportspeople</li>
	// <li>`entrepreneur`: businesspeople</li>
	// <li>`scholar`: scholars</li>
	// <li>`celebrity`: celebrities</li>
	// <li>`military`: people in military</li>
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PoliticalOcrReviewTemplateInfo struct {
	// Whether to enable OCR-based recognition of politically sensitive content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PoliticalOcrReviewTemplateInfoForUpdate struct {
	// Whether to enable OCR-based recognition of politically sensitive content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PornAsrReviewTemplateInfo struct {
	// Whether to enable ASR-based recognition of pornographic content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PornAsrReviewTemplateInfoForUpdate struct {
	// Whether to enable ASR-based recognition of pornographic content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PornConfigureInfo struct {
	// Image recognition involves control parameters for offensive information.
	ImgReviewInfo *PornImgReviewTemplateInfo `json:"ImgReviewInfo,omitnil,omitempty" name:"ImgReviewInfo"`

	// ASR-based recognition involves control parameters for offensive information.
	AsrReviewInfo *PornAsrReviewTemplateInfo `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// Text recognition involves control parameters for offensive information.
	OcrReviewInfo *PornOcrReviewTemplateInfo `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type PornConfigureInfoForUpdate struct {
	// Parameters for recognition of pornographic content in images
	ImgReviewInfo *PornImgReviewTemplateInfoForUpdate `json:"ImgReviewInfo,omitnil,omitempty" name:"ImgReviewInfo"`

	// Parameters for ASR-based recognition of pornographic content
	AsrReviewInfo *PornAsrReviewTemplateInfoForUpdate `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// Parameters for OCR-based recognition of pornographic content
	OcrReviewInfo *PornOcrReviewTemplateInfoForUpdate `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type PornImageResult struct {
	// The confidence score for the moderation result. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// The suggestion for handling the detected pornographic content. Valid values:
	// <li>pass/li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The label for the detected pornographic content. Valid values:
	// <li>porn</li>
	// <li>sexy</li>
	// <li>vulgar</li>
	// <li>intimacy</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`
}

type PornImgReviewTemplateInfo struct {
	// Whether to enable recognition of pornographic content in images. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for recognition of pornographic content in images. Results containing the specified labels are returned. If no labels are specified, all results are returned. Valid values:
	// <li>porn</li>
	// <li>vulgar</li>
	// <li>intimacy</li>
	// <li>sexy</li>
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `90` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `0` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PornImgReviewTemplateInfoForUpdate struct {
	// Whether to enable recognition of pornographic content in images. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for recognition of pornographic content in images. Results containing the specified labels are returned. If no labels are specified, all results are returned. Valid values:
	// <li>porn</li>
	// <li>vulgar</li>
	// <li>intimacy</li>
	// <li>sexy</li>
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PornOcrReviewTemplateInfo struct {
	// Whether to enable OCR-based recognition of pornographic content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type PornOcrReviewTemplateInfoForUpdate struct {
	// Whether to enable OCR-based recognition of pornographic content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Threshold score for violation. If this score is reached or exceeded during intelligent audit, it will be deemed that a suspected violation has occurred. Value range: 0–100.
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Threshold score for human audit. If this score is reached or exceeded during intelligent audit, human audit will be considered necessary. Value range: 0–100.
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type ProcedureReviewAudioVideoTaskInput struct {
	// The moderation template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The type of moderated content. Valid values:
	// <li>`Media`: The original audio/video.</li>
	// <li>`Cover`: Thumbnails.</li>
	// If this parameter is not specified or an empty array is passed in, `Media` will be used.
	ReviewContents []*string `json:"ReviewContents,omitnil,omitempty" name:"ReviewContents"`
}

type ProcedureTask struct {
	// Video processing task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task flow status. Valid values:
	// <li>PROCESSING: processing;</li>
	// <li>FINISH: completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Disused. Please use `ErrCode` of each specific task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	//
	// Deprecated: ErrCode is deprecated.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Disused. Please use `Message` of each specific task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	//
	// Deprecated: Message is deprecated.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Media file ID.
	// <li>If the task flow is initiated by [ProcessMedia](https://cloud.tencent.com/document/product/266/33427), this field means the `FileId` in [MediaInfo](https://cloud.tencent.com/document/product/266/31773#MediaInfo);</li>
	// <li>If the task flow is initiated by [ProcessMediaByUrl](https://cloud.tencent.com/document/product/266/33426), this field means the `Id` in [MediaInputInfo](https://cloud.tencent.com/document/product/266/31773#MediaInputInfo).</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Media filename
	// <li>If the task flow is initiated by [ProcessMedia](https://cloud.tencent.com/document/product/266/33427), this field means the `BasicInfo.Name` in [MediaInfo](https://cloud.tencent.com/document/product/266/31773#MediaInfo);</li>
	// <li>If the task flow is initiated by [ProcessMediaByUrl](https://cloud.tencent.com/document/product/266/33426), this field means the `Name` in [MediaInputInfo](https://cloud.tencent.com/document/product/266/31773#MediaInputInfo).</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// Media file address
	// <li>If the task flow is initiated by [ProcessMedia](https://cloud.tencent.com/document/product/266/33427), this field means the `BasicInfo.MediaUrl` in [MediaInfo](https://cloud.tencent.com/document/product/266/31773#MediaInfo);</li>
	// <li>If the task flow is initiated by [ProcessMediaByUrl](https://cloud.tencent.com/document/product/266/33426), this field means the `Url` in [MediaInputInfo](https://cloud.tencent.com/document/product/266/31773#MediaInputInfo).</li>
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Source video metadata.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// Execution status and result of video processing task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	MediaProcessResultSet []*MediaProcessTaskResult `json:"MediaProcessResultSet,omitnil,omitempty" name:"MediaProcessResultSet"`

	// Status and result of an intelligent recognition task
	AiContentReviewResultSet []*AiContentReviewResult `json:"AiContentReviewResultSet,omitnil,omitempty" name:"AiContentReviewResultSet"`

	// Execution status and result of video content analysis task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AiAnalysisResultSet []*AiAnalysisResult `json:"AiAnalysisResultSet,omitnil,omitempty" name:"AiAnalysisResultSet"`

	// Execution status and result of video content recognition task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AiRecognitionResultSet []*AiRecognitionResult `json:"AiRecognitionResultSet,omitnil,omitempty" name:"AiRecognitionResultSet"`

	// Task flow priority. Value range: [-10, 10].
	// Note: this field may return null, indicating that no valid values can be obtained.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Notification mode for change in task flow status.
	// <li>Finish: an event notification will be initiated only after the task flow is completely executed;</li>
	// <li>Change: an event notification will be initiated as soon as the status of a subtask in the task flow changes; </li>
	// <li>None: no callback for the task flow will be accepted.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// The source context which is used to pass through the user request information. The task flow status change callback will return the value of this field. It can contain up to 1,000 characters.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// The ID used for deduplication. If there was a request with the same ID in the last seven days, the current request will return an error. The ID can contain up to 50 characters. If this parameter is left empty or a blank string is entered, no deduplication will be performed.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The operator. Valid values:
	// <li>`SYSTEM`: The task is triggered by the system.</li>
	Operator *string `json:"Operator,omitnil,omitempty" name:"Operator"`

	// The operation type. Valid values:
	// <li>`TSC`: TSC-based smart bitrate reduction</li>
	OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"`
}

type ProcedureTemplate struct {
	// Task flow name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Type of a task flow template. Valid values:
	// <li>Preset: preset task flow template;</li>
	// <li>Custom: custom task flow template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Template description. Length limit: 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Parameter of video processing task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	MediaProcessTask *MediaProcessTaskInput `json:"MediaProcessTask,omitnil,omitempty" name:"MediaProcessTask"`

	// The information of the intelligent moderation task\*.
	// <font color=red>\*: This parameter is used by our old moderation templates and is not recommended. Please use `ReviewAudioVideoTask` instead.</font> 
	// Note: This field may return null, indicating that no valid values can be obtained.
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// Parameter of AI-based content analysis task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// Parameters for the AI content recognition task.
	AiRecognitionTaskSet []*AiRecognitionTaskInput `json:"AiRecognitionTaskSet,omitnil,omitempty" name:"AiRecognitionTaskSet"`

	// This parameter is not recommended. Recommend using AiRecognitionTaskSet.
	// Note: This field may return null, indicating that no valid values can be obtained.
	//
	// Deprecated: AiRecognitionTask is deprecated.
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// Parameter of a release on WeChat Mini Program task.
	// Note: this field may return null, indicating that no valid values can be obtained.
	MiniProgramPublishTask *WechatMiniProgramPublishTaskInput `json:"MiniProgramPublishTask,omitnil,omitempty" name:"MiniProgramPublishTask"`

	// The information of the moderation task.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReviewAudioVideoTask *ProcedureReviewAudioVideoTaskInput `json:"ReviewAudioVideoTask,omitnil,omitempty" name:"ReviewAudioVideoTask"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type ProcessImageAsync struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Value: <li>PROCESSING: Processing;</li><li>FINISH: Completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. Returns a non-zero error code for source error. For 0, please use the ErrCode of each specific task.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Task progress, with a value range of [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input information for asynchronous task processing of images.
	Input *ProcessImageAsyncInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output information of asynchronous image processing tasks.
	Output *ProcessImageAsyncOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type ProcessImageAsyncInput struct {
	// <p>FileId of image processing.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Image URL.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Image processing parameter.</p>
	ImageTaskInput *ProcessImageAsyncTaskInput `json:"ImageTaskInput,omitnil,omitempty" name:"ImageTaskInput"`

	// <p>Output media file configuration for the image processing task.</p>
	OutputConfig *ProcessImageAsyncOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`
}

type ProcessImageAsyncInputExtendedParameter struct {
	// Prompt for model input.
	Prompts []*string `json:"Prompts,omitnil,omitempty" name:"Prompts"`
}

type ProcessImageAsyncOutput struct {
	// Output file information of asynchronous image processing tasks.
	FileInfo *ProcessImageAsyncOutputFileInfo `json:"FileInfo,omitnil,omitempty" name:"FileInfo"`

	// Image understanding result.
	OutputText *string `json:"OutputText,omitnil,omitempty" name:"OutputText"`
}

type ProcessImageAsyncOutputConfig struct {
	// Output filename, up to 64 characters. Default filename is specified generation by system.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the [create category](https://www.tencentcloud.com/document/product/266/7812?from_cn_redirect=1) API.
	// <li>Default value: 0, indicating other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiry date of the output file. Files will be deleted longer than this time. Default is no expiration. Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

type ProcessImageAsyncOutputFileInfo struct {
	// Output filename, up to 64 characters. Default filename is specified generation by system.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Category ID, used to categorize and manage media. You can create a category and obtain the category ID through the [create category](https://www.tencentcloud.com/document/product/266/7812?from_cn_redirect=1) API. Valid when StorageMode is Permanent.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiry date of the output file. Files will be deleted longer than this time. Default is no expiration. Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// File type, such as mp4, flv.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Media file playback address.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Media file ID. Valid when StorageMode is Permanent.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Output video meta information. Valid when StorageMode is Permanent.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`
}

// Predefined struct for user
type ProcessImageAsyncRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>FileId that needs image processing. Cannot be used with Url simultaneously.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Url for image processing. Cannot be used with FileId.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>The Base64 that needs image processing requires the image file to be less than 4MB. When using Base64, do not add any prefix such as <code>data:image/png;base64,</code>, just provide the Base64 encoded string itself.</p>
	Base64 *string `json:"Base64,omitnil,omitempty" name:"Base64"`

	// <p>Image processing parameter.</p>
	ImageTaskInput *ProcessImageAsyncTaskInput `json:"ImageTaskInput,omitnil,omitempty" name:"ImageTaskInput"`

	// <p>Output media file configuration for the image processing task.</p>
	OutputConfig *ProcessImageAsyncOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type ProcessImageAsyncRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>FileId that needs image processing. Cannot be used with Url simultaneously.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Url for image processing. Cannot be used with FileId.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>The Base64 that needs image processing requires the image file to be less than 4MB. When using Base64, do not add any prefix such as <code>data:image/png;base64,</code>, just provide the Base64 encoded string itself.</p>
	Base64 *string `json:"Base64,omitnil,omitempty" name:"Base64"`

	// <p>Image processing parameter.</p>
	ImageTaskInput *ProcessImageAsyncTaskInput `json:"ImageTaskInput,omitnil,omitempty" name:"ImageTaskInput"`

	// <p>Output media file configuration for the image processing task.</p>
	OutputConfig *ProcessImageAsyncOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Source context. This is used to pass through user request information. The audio and video quality revival complete callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *ProcessImageAsyncRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessImageAsyncRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "FileId")
	delete(f, "Url")
	delete(f, "Base64")
	delete(f, "ImageTaskInput")
	delete(f, "OutputConfig")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ProcessImageAsyncRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessImageAsyncResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ProcessImageAsyncResponse struct {
	*tchttp.BaseResponse
	Response *ProcessImageAsyncResponseParams `json:"Response"`
}

func (r *ProcessImageAsyncResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessImageAsyncResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ProcessImageAsyncTask struct {
	// <p>Image transcoding output configuration.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	EncodeConfig *ImageEncodeConfig `json:"EncodeConfig,omitnil,omitempty" name:"EncodeConfig"`

	// <p>Image enhancement configuration.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	EnhanceConfig *ImageEnhanceConfig `json:"EnhanceConfig,omitnil,omitempty" name:"EnhanceConfig"`

	// <p>Image beauty effect configuration.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	BeautyConfig *ImageBeautyConfig `json:"BeautyConfig,omitnil,omitempty" name:"BeautyConfig"`
}

type ProcessImageAsyncTaskInput struct {
	// Image asynchronous processing template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Extended parameters for asynchronous image processing.
	ExtendedParameter *ProcessImageAsyncInputExtendedParameter `json:"ExtendedParameter,omitnil,omitempty" name:"ExtendedParameter"`
}

type ProcessImageAsyncTemplateItem struct {
	// Unique identifier of the image asynchronous processing template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Template type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Image asynchronous processing template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description information of the image asynchronous processing template.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Template creation time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Last template modification time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Image asynchronous processing template configuration.
	ProcessImageConfigure *ProcessImageAsyncTask `json:"ProcessImageConfigure,omitnil,omitempty" name:"ProcessImageConfigure"`
}

type ProcessMediaByMPS struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Value: <li>PROCESSING: Processing;</li><li>FINISH: Completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. Returns a non-zero error code for source error. For 0, please use the ErrCode of each specific task.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error information. Return the corresponding exception Message in case of source error, otherwise please use each specific task Message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// MPS video processing task.
	SubTaskSet []*MPSSubTaskResult `json:"SubTaskSet,omitnil,omitempty" name:"SubTaskSet"`
}

// Predefined struct for user
type ProcessMediaByMPSRequestParams struct {
	// <p>Media file ID, the globally unique ID of the file in VOD, is assigned by the VOD backend after successful upload. You can get this field in <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Optional parameter. This parameter is used for passing through to the media processing service (MPS) to trigger MPS video processing tasks from VOD.
	MPSProcessMediaParams *string `json:"MPSProcessMediaParams,omitnil,omitempty" name:"MPSProcessMediaParams"`

	// <p>Parameters for the video content analysis task. Valid when MPSProcessMediaParams is empty.</p>
	AiAnalysisTask *MPSAiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// <p>Parameters for the smart subtitle task of type kind. Valid when MPSProcessMediaParams is empty.</p>
	SmartSubtitlesTask *MPSSmartSubtitlesTaskInput `json:"SmartSubtitlesTask,omitnil,omitempty" name:"SmartSubtitlesTask"`

	// <p>Parameters for the intelligent erasure task of type kind. Valid when MPSProcessMediaParams is empty.</p>
	SmartEraseTask *MPSSmartEraseTaskInput `json:"SmartEraseTask,omitnil,omitempty" name:"SmartEraseTask"`

	// <p>Reserved field. Used for special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type ProcessMediaByMPSRequest struct {
	*tchttp.BaseRequest
	
	// <p>Media file ID, the globally unique ID of the file in VOD, is assigned by the VOD backend after successful upload. You can get this field in <a href="/document/product/266/7830?from_cn_redirect=1">video upload completion event notification</a> or <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p><b>VOD <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Optional parameter. This parameter is used for passing through to the media processing service (MPS) to trigger MPS video processing tasks from VOD.
	MPSProcessMediaParams *string `json:"MPSProcessMediaParams,omitnil,omitempty" name:"MPSProcessMediaParams"`

	// <p>Parameters for the video content analysis task. Valid when MPSProcessMediaParams is empty.</p>
	AiAnalysisTask *MPSAiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// <p>Parameters for the smart subtitle task of type kind. Valid when MPSProcessMediaParams is empty.</p>
	SmartSubtitlesTask *MPSSmartSubtitlesTaskInput `json:"SmartSubtitlesTask,omitnil,omitempty" name:"SmartSubtitlesTask"`

	// <p>Parameters for the intelligent erasure task of type kind. Valid when MPSProcessMediaParams is empty.</p>
	SmartEraseTask *MPSSmartEraseTaskInput `json:"SmartEraseTask,omitnil,omitempty" name:"SmartEraseTask"`

	// <p>Reserved field. Used for special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *ProcessMediaByMPSRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaByMPSRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "SubAppId")
	delete(f, "MPSProcessMediaParams")
	delete(f, "AiAnalysisTask")
	delete(f, "SmartSubtitlesTask")
	delete(f, "SmartEraseTask")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ProcessMediaByMPSRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessMediaByMPSResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ProcessMediaByMPSResponse struct {
	*tchttp.BaseResponse
	Response *ProcessMediaByMPSResponseParams `json:"Response"`
}

func (r *ProcessMediaByMPSResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaByMPSResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessMediaByProcedureRequestParams struct {
	// [Task flow](https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81) name.
	ProcedureName *string `json:"ProcedureName,omitnil,omitempty" name:"ProcedureName"`

	// Media file ID.
	// FileId or MediaStoragePath must be provided.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Storage path of the media.
	// Only sub-apps in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate tasks through MediaStoragePath.
	// FileId or MediaStoragePath must be provided.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Task flow status change notification mode. Valid values: Finish, Change, and None. If left empty, it represents Finish.
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 7 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type ProcessMediaByProcedureRequest struct {
	*tchttp.BaseRequest
	
	// [Task flow](https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81) name.
	ProcedureName *string `json:"ProcedureName,omitnil,omitempty" name:"ProcedureName"`

	// Media file ID.
	// FileId or MediaStoragePath must be provided.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Storage path of the media.
	// Only sub-apps in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate tasks through MediaStoragePath.
	// FileId or MediaStoragePath must be provided.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Task flow status change notification mode. Valid values: Finish, Change, and None. If left empty, it represents Finish.
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 7 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *ProcessMediaByProcedureRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaByProcedureRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ProcedureName")
	delete(f, "FileId")
	delete(f, "MediaStoragePath")
	delete(f, "SubAppId")
	delete(f, "TasksPriority")
	delete(f, "TasksNotifyMode")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ProcessMediaByProcedureRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessMediaByProcedureResponseParams struct {
	// Task ID of the task type Procedure. Initiate the task when the task flow template specification corresponding to the input parameter ProcedureName includes one or more of MediaProcessTask, AiAnalysisTask, or AiRecognitionTask.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task ID of the task with the ReviewAudioVideo task type. The task is initiated when the task flow template specified by the ProcedureName input parameter includes the ReviewAudioVideoTask.
	ReviewAudioVideoTaskId *string `json:"ReviewAudioVideoTaskId,omitnil,omitempty" name:"ReviewAudioVideoTaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ProcessMediaByProcedureResponse struct {
	*tchttp.BaseResponse
	Response *ProcessMediaByProcedureResponseParams `json:"Response"`
}

func (r *ProcessMediaByProcedureResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaByProcedureResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessMediaByUrlRequestParams struct {
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The API is <font color='red'>no longer maintained</font>. Refer to the API description for the recommended alternative API.
	InputInfo *MediaInputInfo `json:"InputInfo,omitnil,omitempty" name:"InputInfo"`

	// Output file COS path information.
	OutputInfo *MediaOutputInfo `json:"OutputInfo,omitnil,omitempty" name:"OutputInfo"`

	// Parameters for the video content review task.
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// Parameters for the video content analysis task.
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// Parameters for the video content recognition task.
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Task flow status change notification mode. Valid values are Finish, Change, and None. If this is not specified, the default value is Finish.
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`
}

type ProcessMediaByUrlRequest struct {
	*tchttp.BaseRequest
	
	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The API is <font color='red'>no longer maintained</font>. Refer to the API description for the recommended alternative API.
	InputInfo *MediaInputInfo `json:"InputInfo,omitnil,omitempty" name:"InputInfo"`

	// Output file COS path information.
	OutputInfo *MediaOutputInfo `json:"OutputInfo,omitnil,omitempty" name:"OutputInfo"`

	// Parameters for the video content review task.
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// Parameters for the video content analysis task.
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// Parameters for the video content recognition task.
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Task flow status change notification mode. Valid values are Finish, Change, and None. If this is not specified, the default value is Finish.
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`
}

func (r *ProcessMediaByUrlRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaByUrlRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "InputInfo")
	delete(f, "OutputInfo")
	delete(f, "AiContentReviewTask")
	delete(f, "AiAnalysisTask")
	delete(f, "AiRecognitionTask")
	delete(f, "TasksPriority")
	delete(f, "TasksNotifyMode")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ProcessMediaByUrlRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessMediaByUrlResponseParams struct {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ProcessMediaByUrlResponse struct {
	*tchttp.BaseResponse
	Response *ProcessMediaByUrlResponseParams `json:"Response"`
}

func (r *ProcessMediaByUrlResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaByUrlResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessMediaRequestParams struct {
	// <p>Media file ID, the globally unique identifier of the file in VOD, is assigned by the VOD backend after a successful upload. You can get this field in the <a href="https://www.tencentcloud.com/document/product/266/33950">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>.<br>You must provide one of FileId and MediaStoragePath.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Storage path of the media.<br>Only sub-applications in <a href="https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1">FileID + Path mode</a> can initiate task through MediaStoragePath.<br>Either FileId or MediaStoragePath must be provided.</p>
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Parameters for the video processing type task.</p>
	MediaProcessTask *MediaProcessTaskInput `json:"MediaProcessTask,omitnil,omitempty" name:"MediaProcessTask"`

	// <p>Audio and video content review type task parameters.<br><font color="red">* Not recommended for use</font>. It is recommended to use <a href="https://www.tencentcloud.com/document/api/266/80283?from_cn_redirect=1">ReviewAudioVideo</a> or <a href="https://www.tencentcloud.com/document/api/266/73217?from_cn_redirect=1">ReviewImage</a>.</p>
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// <p>Parameters for the audio and video content analysis task.</p>
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// <p>Parameters for the audio/video content recognition task.</p>
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// <p>Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Task flow status change notification mode. Valid values are Finish, Change, and None. If this is not specified, the default value is Finish.</p>
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <p>Valid when FileID is empty. Pull the Url to generate new media assets and generate a new FileID. The media processing product will be affiliated with the new media assets.</p><p>Note: Storage fees will occur for new media assets.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>The media processing transcoding result is output as standalone media assets. Enabling this option will output the product as standalone media assets and generate a brand-new FileID. Currently only support outputting TranscodeTask transcoding tasks as standalone media assets.</p><p>Enumeration value:</p><ul><li>ON: Enable</li><li>OFF: Disable</li></ul><p>Default value: OFF</p><p>Note: New media assets will incur storage fees. This option does not currently support enabling for video opening/closing credits and traceable watermarks in transcoding tasks.</p>
	OutputAsIndependentMedia *string `json:"OutputAsIndependentMedia,omitnil,omitempty" name:"OutputAsIndependentMedia"`
}

type ProcessMediaRequest struct {
	*tchttp.BaseRequest
	
	// <p>Media file ID, the globally unique identifier of the file in VOD, is assigned by the VOD backend after a successful upload. You can get this field in the <a href="https://www.tencentcloud.com/document/product/266/33950">video upload completion event notification</a> or the <a href="https://console.cloud.tencent.com/vod/media">VOD console</a>.<br>You must provide one of FileId and MediaStoragePath.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>Storage path of the media.<br>Only sub-applications in <a href="https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1">FileID + Path mode</a> can initiate task through MediaStoragePath.<br>Either FileId or MediaStoragePath must be provided.</p>
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <p><b>Video-on-demand (VOD) <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID to access resources in on-demand applications (whether default or newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Parameters for the video processing type task.</p>
	MediaProcessTask *MediaProcessTaskInput `json:"MediaProcessTask,omitnil,omitempty" name:"MediaProcessTask"`

	// <p>Audio and video content review type task parameters.<br><font color="red">* Not recommended for use</font>. It is recommended to use <a href="https://www.tencentcloud.com/document/api/266/80283?from_cn_redirect=1">ReviewAudioVideo</a> or <a href="https://www.tencentcloud.com/document/api/266/73217?from_cn_redirect=1">ReviewImage</a>.</p>
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// <p>Parameters for the audio and video content analysis task.</p>
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// <p>Parameters for the audio/video content recognition task.</p>
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// <p>Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, it represents 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Task flow status change notification mode. Valid values are Finish, Change, and None. If this is not specified, the default value is Finish.</p>
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// <p>Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Reserved field, used when special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <p>Valid when FileID is empty. Pull the Url to generate new media assets and generate a new FileID. The media processing product will be affiliated with the new media assets.</p><p>Note: Storage fees will occur for new media assets.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>The media processing transcoding result is output as standalone media assets. Enabling this option will output the product as standalone media assets and generate a brand-new FileID. Currently only support outputting TranscodeTask transcoding tasks as standalone media assets.</p><p>Enumeration value:</p><ul><li>ON: Enable</li><li>OFF: Disable</li></ul><p>Default value: OFF</p><p>Note: New media assets will incur storage fees. This option does not currently support enabling for video opening/closing credits and traceable watermarks in transcoding tasks.</p>
	OutputAsIndependentMedia *string `json:"OutputAsIndependentMedia,omitnil,omitempty" name:"OutputAsIndependentMedia"`
}

func (r *ProcessMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "MediaStoragePath")
	delete(f, "SubAppId")
	delete(f, "MediaProcessTask")
	delete(f, "AiContentReviewTask")
	delete(f, "AiAnalysisTask")
	delete(f, "AiRecognitionTask")
	delete(f, "TasksPriority")
	delete(f, "TasksNotifyMode")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "ExtInfo")
	delete(f, "Url")
	delete(f, "OutputAsIndependentMedia")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ProcessMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ProcessMediaResponseParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ProcessMediaResponse struct {
	*tchttp.BaseResponse
	Response *ProcessMediaResponseParams `json:"Response"`
}

func (r *ProcessMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ProcessMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ProductImageConfig struct {
	// Prompt content for image generation background. if this field is default, inspiration is automatically generated internally.
	Prompt *string `json:"Prompt,omitnil,omitempty" name:"Prompt"`

	// Prevent the model from generating image prompts.
	NegativePrompt *string `json:"NegativePrompt,omitnil,omitempty" name:"NegativePrompt"`

	// Product description describes in detail, helping generate images that meet requirements.
	ProductDesc *string `json:"ProductDesc,omitnil,omitempty" name:"ProductDesc"`

	// Special requirements. if any, import them through this field.
	MoreRequirement *string `json:"MoreRequirement,omitnil,omitempty" name:"MoreRequirement"`

	// Specifies the number of images to generate. defaults to 1 if left empty. valid value: 10.
	OutputImageCount *uint64 `json:"OutputImageCount,omitnil,omitempty" name:"OutputImageCount"`
}

type ProductShowcaseConfig struct {
	// Camera movement method. Supported values: AutoMatch, ZoomIn, ZoomOut, GlideRight, GlideLeft, CraneDown.
	CameraMovement *string `json:"CameraMovement,omitnil,omitempty" name:"CameraMovement"`
}

type ProhibitedAsrReviewTemplateInfo struct {
	// Switch of prohibited information detection in speech task. Valid values:
	// <li>ON: enables prohibited information detection in speech task;</li>
	// <li>OFF: disables prohibited information detection in speech task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type ProhibitedAsrReviewTemplateInfoForUpdate struct {
	// Switch of prohibited information detection in speech task. Valid values:
	// <li>ON: enables prohibited information detection in speech task;</li>
	// <li>OFF: disables prohibited information detection in speech task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type ProhibitedConfigureInfo struct {
	// Voice prohibition control parameter.
	AsrReviewInfo *ProhibitedAsrReviewTemplateInfo `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// Text prohibited control parameters.
	OcrReviewInfo *ProhibitedOcrReviewTemplateInfo `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type ProhibitedConfigureInfoForUpdate struct {
	// Control parameter of prohibited information detection in speech.
	AsrReviewInfo *ProhibitedAsrReviewTemplateInfoForUpdate `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// Control parameter of prohibited information detection in text.
	OcrReviewInfo *ProhibitedOcrReviewTemplateInfoForUpdate `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type ProhibitedOcrReviewTemplateInfo struct {
	// Switch of prohibited information detection in text task. Valid values:
	// <li>ON: enables prohibited information detection in text task;</li>
	// <li>OFF: disables prohibited information detection in text task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type ProhibitedOcrReviewTemplateInfoForUpdate struct {
	// Switch of prohibited information detection in text task. Valid values:
	// <li>ON: enables prohibited information detection in text task;</li>
	// <li>OFF: disables prohibited information detection in text task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

// Predefined struct for user
type PullEventsRequestParams struct {
	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created applications).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type PullEventsRequest struct {
	*tchttp.BaseRequest
	
	// Reserved field, used for special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created applications).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *PullEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *PullEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExtInfo")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "PullEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type PullEventsResponseParams struct {
	// event list
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventSet []*EventContent `json:"EventSet,omitnil,omitempty" name:"EventSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type PullEventsResponse struct {
	*tchttp.BaseResponse
	Response *PullEventsResponseParams `json:"Response"`
}

func (r *PullEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *PullEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type PullUploadRequestParams struct {
	// <p>Media URL to be pulled. Dash format is not currently supported (HLS is supported).<br>For supported extensions, see <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1#.E5.AA.92.E4.BD.93.E7.B1.BB.E5.9E.8B">media type</a>. Please ensure the media URL can be accessed.</p>
	MediaUrl *string `json:"MediaUrl,omitnil,omitempty" name:"MediaUrl"`

	// <p>Media type (extension). For supported types, see <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1#.E5.AA.92.E4.BD.93.E7.B1.BB.E5.9E.8B">media type</a>.<br>If MediaType is not specified or set to an empty string, the file type will be obtained automatically based on MediaUrl.</p>
	MediaType *string `json:"MediaType,omitnil,omitempty" name:"MediaType"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services after December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Media name.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Video cover URL to pull. Supported file formats: gif, jpeg (jpg), png.</p>
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`

	// <p>For media subsequent task operation, see <a href="https://www.tencentcloud.com/document/product/266/9759?from_cn_redirect=1">upload specified task flow</a>.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Media file expiry time, format according to ISO 8601 standard representation. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Designated upload park, applicable only to the user with special requirement for upload target region:</p><li>By default if left blank, upload to your [default region](https://www.tencentcloud.com/document/product/266/14059?from=11329?from_cn_redirect=1#.E5.AD.98.E5.82.A8.E5.9C.B0.E5.9F.9F.E6.AD.A5.E9.AA.A4).</li><li>If you designate an upload park, please confirm the [upload storage settings](https://www.tencentcloud.com/document/product/266/14059?from=11329?from_cn_redirect=1#.E5.AD.98.E5.82.A8.E5.9C.B0.E5.9F.9F.E6.AD.A5.E9.AA.A4) have already enabled corresponding storage regions.</li>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="https://www.tencentcloud.com/document/product/266/31772?from_cn_redirect=1">Create Category</a> API.</p>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Source context. This is used to pass through user request information. When specifying a Procedure task, the task flow status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Reserved field, used for special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <p>Source context. This is used to pass through user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">upload completion callback</a> returns the value of this field. The maximum length is 250 characters.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Media storage path, starting with /. <br>Only sub-apps in <a href="https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1">FileID + Path mode</a> can specify the storage path.</p>
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`
}

type PullUploadRequest struct {
	*tchttp.BaseRequest
	
	// <p>Media URL to be pulled. Dash format is not currently supported (HLS is supported).<br>For supported extensions, see <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1#.E5.AA.92.E4.BD.93.E7.B1.BB.E5.9E.8B">media type</a>. Please ensure the media URL can be accessed.</p>
	MediaUrl *string `json:"MediaUrl,omitnil,omitempty" name:"MediaUrl"`

	// <p>Media type (extension). For supported types, see <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1#.E5.AA.92.E4.BD.93.E7.B1.BB.E5.9E.8B">media type</a>.<br>If MediaType is not specified or set to an empty string, the file type will be obtained automatically based on MediaUrl.</p>
	MediaType *string `json:"MediaType,omitnil,omitempty" name:"MediaType"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services after December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Media name.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Video cover URL to pull. Supported file formats: gif, jpeg (jpg), png.</p>
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`

	// <p>For media subsequent task operation, see <a href="https://www.tencentcloud.com/document/product/266/9759?from_cn_redirect=1">upload specified task flow</a>.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Media file expiry time, format according to ISO 8601 standard representation. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Designated upload park, applicable only to the user with special requirement for upload target region:</p><li>By default if left blank, upload to your [default region](https://www.tencentcloud.com/document/product/266/14059?from=11329?from_cn_redirect=1#.E5.AD.98.E5.82.A8.E5.9C.B0.E5.9F.9F.E6.AD.A5.E9.AA.A4).</li><li>If you designate an upload park, please confirm the [upload storage settings](https://www.tencentcloud.com/document/product/266/14059?from=11329?from_cn_redirect=1#.E5.AD.98.E5.82.A8.E5.9C.B0.E5.9F.9F.E6.AD.A5.E9.AA.A4) have already enabled corresponding storage regions.</li>
	StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="https://www.tencentcloud.com/document/product/266/31772?from_cn_redirect=1">Create Category</a> API.</p>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If this is not specified, the default value is 0.</p>
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// <p>Source context. This is used to pass through user request information. When specifying a Procedure task, the task flow status change callback returns the value of this field. The maximum length is 1000 characters.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.</p>
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// <p>Reserved field, used for special purpose.</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`

	// <p>Source context. This is used to pass through user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">upload completion callback</a> returns the value of this field. The maximum length is 250 characters.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Media storage path, starting with /. <br>Only sub-apps in <a href="https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1">FileID + Path mode</a> can specify the storage path.</p>
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`
}

func (r *PullUploadRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *PullUploadRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MediaUrl")
	delete(f, "MediaType")
	delete(f, "SubAppId")
	delete(f, "MediaName")
	delete(f, "CoverUrl")
	delete(f, "Procedure")
	delete(f, "ExpireTime")
	delete(f, "StorageRegion")
	delete(f, "ClassId")
	delete(f, "TasksPriority")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "ExtInfo")
	delete(f, "SourceContext")
	delete(f, "MediaStoragePath")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "PullUploadRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type PullUploadResponseParams struct {
	// <p>Pull upload video task ID. This can be used to query the task status.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type PullUploadResponse struct {
	*tchttp.BaseResponse
	Response *PullUploadResponseParams `json:"Response"`
}

func (r *PullUploadResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *PullUploadResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type PullUploadTask struct {
	// The task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task flow status. Valid values:
	// <li>PROCESSING: processing;</li>
	// <li>FINISH: completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. 0: success; other values: failure.
	// <li>40000: invalid input parameter. Please check it;</li>
	// <li>60000: invalid source file (e.g., video data is corrupted). Please check whether the source file is normal;</li>
	// <li>70000: internal service error. Please try again.</li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The ID of the uploaded file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The basic information of the uploaded file.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MediaBasicInfo *MediaBasicInfo `json:"MediaBasicInfo,omitnil,omitempty" name:"MediaBasicInfo"`

	// The metadata of the output video.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// The playback address of the uploaded file.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// The task ID for the task type `Procedure`. If a task flow is specified by [PullUpload](https://intl.cloud.tencent.com/document/api/266/35575?from_cn_redirect=1), and the task flow includes one or more of `MediaProcessTask`, `AiAnalysisTask`, and `AiRecognitionTask`, the task specified by this parameter will be executed.
	ProcedureTaskId *string `json:"ProcedureTaskId,omitnil,omitempty" name:"ProcedureTaskId"`

	// The task ID for the task type `ReviewAudioVideo`. If a task flow is specified by [PullUpload](https://intl.cloud.tencent.com/document/api/266/35575?from_cn_redirect=1), and the task flow includes `ReviewAudioVideoTask`, the task specified by this parameter will be executed.
	ReviewAudioVideoTaskId *string `json:"ReviewAudioVideoTaskId,omitnil,omitempty" name:"ReviewAudioVideoTaskId"`

	// The source context, which is used to pass through user request information. The [PullComplete](https://intl.cloud.tencent.com/document/product/266/7831?from_cn_redirect=1) callback will return the value of this parameter. It can contain up to 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// The ID used for deduplication. If there was a request with the same ID in the last seven days, the current request will return an error. The ID can contain up to 50 characters. If this parameter is left empty or a blank string is entered, no deduplication will be performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The progress of the pull and upload task. Value range: 1-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

// Predefined struct for user
type PushUrlCacheRequestParams struct {
	// Preheated URL list. You can specify up to 20 URLs at a time.
	Urls []*string `json:"Urls,omitnil,omitempty" name:"Urls"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type PushUrlCacheRequest struct {
	*tchttp.BaseRequest
	
	// Preheated URL list. You can specify up to 20 URLs at a time.
	Urls []*string `json:"Urls,omitnil,omitempty" name:"Urls"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *PushUrlCacheRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *PushUrlCacheRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Urls")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "PushUrlCacheRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type PushUrlCacheResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type PushUrlCacheResponse struct {
	*tchttp.BaseResponse
	Response *PushUrlCacheResponseParams `json:"Response"`
}

func (r *PushUrlCacheResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *PushUrlCacheResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type QRCodeConfigureInfo struct {
	// QR code inspection switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type QRCodeConfigureInfoForUpdate struct {
	// QR code inspection switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type QualityEnhanceTask struct {
	// Task Id.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task flow status, values:
	// <li>PROCESSING: Processing;</li>
	// <li>FINISH: Completed. </li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code, 0 means success, other values u200bu200bmean failure:
	// <li>40000: The input parameters are illegal, please check the input parameters;</li>
	// <li>60000: Source file error (such as video data damage), Please confirm whether the source file is normal;</li>
	// <li>70000: Internal service error, it is recommended to try again. </li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Error code. An empty string indicates success. Other values u200bu200bindicate failure. For values, please refer to [Video Processing Error Code](https://www.tencentcloud.com/document/product/266/39145) list.
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Media quality enhance task progress, value range [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input of the audio and video quality regeneration task.
	Input *QualityEnhanceTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of the audio and video quality regeneration task.
	Output *QualityEnhanceTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Metadata of the output video after audio and video quality revival.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// Identification code used for deduplication. If there is a request for the same identification code within seven days, this request will return an error. The maximum length is 50 characters, without or with an empty string to indicate no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, used to transparently transmit user request information. The task flow status change callback will return the value of this field, which can be up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type QualityEnhanceTaskInput struct {
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Media quality enhance template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type QualityEnhanceTaskOutput struct {
	// File types such as mp4, flv, etc.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Media file playback address.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Output file name, up to 64 characters. By default, the generated file name is specified by the system.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Classification ID is used to classify media. You can create a classification through the [Create Classification](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) interface to obtain the classification ID. 
	// <li>Default value: 0, indicating other categories. </li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// The expiration time of the output file. The file will be deleted after this time. The default is permanent and not expired. The format is expressed in accordance with the ISO 8601 standard. For details, see [ISO Date Format Description](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

type QualityEvaluationConfigureInfo struct {
	// Video quality evaluation switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Video quality evaluation filter threshold, the result only returns the time periods lower than this value, the default value is 60.
	Score *int64 `json:"Score,omitnil,omitempty" name:"Score"`
}

type QualityEvaluationConfigureInfoForUpdate struct {
	// Video quality evaluation switch, optional values:
	// <li>ON: enabled;</li>
	// <li>OFF: disabled.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Video quality evaluation filter threshold, the result only returns the time periods lower than this value, the default value is 60.
	Score *int64 `json:"Score,omitnil,omitempty" name:"Score"`
}

type QualityInspectItem struct {
	// Offset time of abnormal segment start, in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of an abnormal fragment, in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Detected abnormal area coordinates. The array contains 4 elements [x1,y1,x2,y2], sequentially representing the horizontal and vertical coordinates of the top-left corner and bottom-right point.
	// <font color=red>Note:</font> This field is valid only when the Type value is one of the following:
	// <li>BlackWhiteEdge: black and white edges.</li>
	// <li>Mosaic: mosaic.</li>
	// <li>QRCode: QR code.</li>
	// <li>AppletCode: mini program code.</li>
	// <li>BarCode: barcode.</li>
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`

	// Confidence degree, value ranges from 0 to 100.
	// <font color=red>Note:</font> This field is valid only when the Type value is one of the following:
	// <li>Mosaic: mosaic.</li>
	// <li>QRCode: QR code.</li>
	// <li>AppletCode: mini program code.</li>
	// <li>BarCode: barcode.</li>
	Confidence *uint64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`
}

type QualityInspectResultItem struct {
	// Exception type. Valid values:
	// <li>Jitter: jitter.</li>
	// <li>Blur: blurry;</li>
	// <li>LowLighting: low light;</li>
	// <li>HighLighting: overexposure.</li>
	// <li>CrashScreen: screen glitch;</li>
	// <li>BlackWhiteEdge: black and white edges.</li>
	// <li>SolidColorScreen: solid color screen.</li>
	// <li>Noise: noise.</li>
	// <li>Mosaic: mosaic.</li>
	// <li>QRCode: QR code.</li>
	// <li>AppletCode: mini program code.</li>
	// <li>BarCode: barcode;</li>
	// <li>LowVoice: bass;</li>
	// <li>HighVoice: high voice;</li>
	// <li>NoVoice: mute;</li>
	// <li>LowEvaluation: no-reference scoring below threshold.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Abnormal fragment list.
	// <font color=red>Note:</font> The list only displays the first 100 elements. To obtain the complete result, refer to the corresponding file in SegmentSetFileUrl.
	SegmentSet []*QualityInspectItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL of Abnormal Fragment List File. The content of the file is JSON, consistent with the fields of SegmentSet. (The file will not be retained permanently and will be deleted when reaching SegmentSetFileUrlExpireTime.)
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// Expiration time of the Segment List File URL for anomalies, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type QualityInspectTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Valid values:
	// <li>PROCESSING: Processing;</li>
	// <li>FINISH: completed</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates success, and additional values indicate failure. For values, see the video processing error code list (https://www.tencentcloud.com/document/product/266/50368?from_cn_redirect=1#.E8.A7.86.E9.A2.91.E5.A4.84.E7.90.86.E7.B1.BB.E9.94.99.E8.AF.AF.E7.A0.81).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Metadata of audio and video for quality inspection input.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// Audio and video quality inspection task input.
	Input *QualityInspectTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Audio and video quality inspection task output.
	Output *QualityInspectTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context. This is used to pass through user request information. The audio and video quality detection completion callback returns the value of this field. The maximum length is 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type QualityInspectTaskInput struct {
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Audio and video quality inspection template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type QualityInspectTaskOutput struct {
	// Whether there is no audio track in the media file. Value ranges from...to...
	// <li>0: No, have audio tracks;</li>
	// <li>1: Yes, no audio track.</li>
	NoAudio *int64 `json:"NoAudio,omitnil,omitempty" name:"NoAudio"`

	// Whether there is no video track in the media file. Value ranges from...to...
	// <li>0: No, meaning there is a video track;</li>
	// <li>1: Yes, no video track.</li>
	NoVideo *int64 `json:"NoVideo,omitnil,omitempty" name:"NoVideo"`

	// Video picture quality score, value ranges from 0 to 100.
	QualityEvaluationScore *uint64 `json:"QualityEvaluationScore,omitnil,omitempty" name:"QualityEvaluationScore"`

	// List of abnormalities detected in audio and video quality.
	QualityInspectResultSet []*QualityInspectResultItem `json:"QualityInspectResultSet,omitnil,omitempty" name:"QualityInspectResultSet"`
}

type QualityInspectTemplateItem struct {
	// Template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Template type. Available values:
	// <li>Preset: system preset template;</li>
	// <li>Custom: User-defined template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Template Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Frame interception interval in seconds.
	ScreenshotInterval *float64 `json:"ScreenshotInterval,omitnil,omitempty" name:"ScreenshotInterval"`

	// Control parameters for video frame jitter and ghosting detection.
	JitterConfigure *JitterConfigureInfo `json:"JitterConfigure,omitnil,omitempty" name:"JitterConfigure"`

	// Control parameters for video frame blur detection.
	BlurConfigure *BlurConfigureInfo `json:"BlurConfigure,omitnil,omitempty" name:"BlurConfigure"`

	// Control parameters for low-light and overexposure detection in video frames.
	AbnormalLightingConfigure *AbnormalLightingConfigureInfo `json:"AbnormalLightingConfigure,omitnil,omitempty" name:"AbnormalLightingConfigure"`

	// Control parameters for screen glitch detection in video footage.
	CrashScreenConfigure *CrashScreenConfigureInfo `json:"CrashScreenConfigure,omitnil,omitempty" name:"CrashScreenConfigure"`

	// Control parameters for video picture black edge, white edge, black screen, and white screen detection.
	BlackWhiteEdgeConfigure *BlackWhiteEdgeConfigureInfo `json:"BlackWhiteEdgeConfigure,omitnil,omitempty" name:"BlackWhiteEdgeConfigure"`

	// Control parameters for video frame noise detection.
	NoiseConfigure *NoiseConfigureInfo `json:"NoiseConfigure,omitnil,omitempty" name:"NoiseConfigure"`

	// Control parameters for video frame mosaic detection.
	MosaicConfigure *MosaicConfigureInfo `json:"MosaicConfigure,omitnil,omitempty" name:"MosaicConfigure"`

	// Control parameters for video frame QR code detection.
	QRCodeConfigure *QRCodeConfigureInfo `json:"QRCodeConfigure,omitnil,omitempty" name:"QRCodeConfigure"`

	// Control parameters for video frame quality evaluation.
	QualityEvaluationConfigure *QualityEvaluationConfigureInfo `json:"QualityEvaluationConfigure,omitnil,omitempty" name:"QualityEvaluationConfigure"`

	// Control parameters for audio (mute, bass, clipping) detection.
	VoiceConfigure *VoiceConfigureInfo `json:"VoiceConfigure,omitnil,omitempty" name:"VoiceConfigure"`

	// Template creation time. Use the [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Template last modified time, use [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type Quic struct {
	// Quic function configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type RebuildAudioInfo struct {
	// Audio noise reduction control parameters.
	AudioDenoiseInfo *AudioDenoiseInfo `json:"AudioDenoiseInfo,omitnil,omitempty" name:"AudioDenoiseInfo"`
}

// Predefined struct for user
type RebuildMediaByTemplateRequestParams struct {
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Video rebirth template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *string `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Start offset time, in seconds. Not filled indicates cutting from the beginning of the video.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End offset time, in seconds. Not filled indicates cutting to the end of the video.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// File configuration after video rebirth.
	OutputConfig *RebuildMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type RebuildMediaByTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Video rebirth template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *string `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Start offset time, in seconds. Not filled indicates cutting from the beginning of the video.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End offset time, in seconds. Not filled indicates cutting to the end of the video.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// File configuration after video rebirth.
	OutputConfig *RebuildMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *RebuildMediaByTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RebuildMediaByTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "Definition")
	delete(f, "SubAppId")
	delete(f, "StartTimeOffset")
	delete(f, "EndTimeOffset")
	delete(f, "OutputConfig")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RebuildMediaByTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RebuildMediaByTemplateResponseParams struct {
	// Video Rebirth Task ID. The status of the video re-creation task can be queried through this ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RebuildMediaByTemplateResponse struct {
	*tchttp.BaseResponse
	Response *RebuildMediaByTemplateResponseParams `json:"Response"`
}

func (r *RebuildMediaByTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RebuildMediaByTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RebuildMediaOutputConfig struct {
	// The filename. This parameter can contain up to 64 characters, and will be generated by the system if it is left empty.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// The ID of the file's category. You can use the [CreateClass](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) API to create a category and get the category ID.
	// <li>The default value is `0`, which means the "Other" category.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// The expiration time of the output file, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732?lang=en&pg=). The file will be deleted after the specified expiration time. By default, the file will never expire.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

// Predefined struct for user
type RebuildMediaRequestParams struct {
	// Media File ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Start offset time, in seconds. Not filled indicates cutting from the beginning of the video.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End Offset Time, in seconds. Not filled indicates cutting to the end of the video.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Image quality restoration control parameters.
	RepairInfo *RepairInfo `json:"RepairInfo,omitnil,omitempty" name:"RepairInfo"`

	// Intelligent Frame Interpolation Control Parameters.
	VideoFrameInterpolationInfo *VideoFrameInterpolationInfo `json:"VideoFrameInterpolationInfo,omitnil,omitempty" name:"VideoFrameInterpolationInfo"`

	// Image super-resolution control parameters.
	SuperResolutionInfo *SuperResolutionInfo `json:"SuperResolutionInfo,omitnil,omitempty" name:"SuperResolutionInfo"`

	// High dynamic range type control parameter.
	HDRInfo *HDRInfo `json:"HDRInfo,omitnil,omitempty" name:"HDRInfo"`

	// Video noise reduction control parameters.
	VideoDenoiseInfo *VideoDenoiseInfo `json:"VideoDenoiseInfo,omitnil,omitempty" name:"VideoDenoiseInfo"`

	// Audio noise reduction control parameters.
	AudioDenoiseInfo *AudioDenoiseInfo `json:"AudioDenoiseInfo,omitnil,omitempty" name:"AudioDenoiseInfo"`

	// Color enhancement control parameters.
	ColorInfo *ColorEnhanceInfo `json:"ColorInfo,omitnil,omitempty" name:"ColorInfo"`

	// Detail enhancement control parameters.
	SharpInfo *SharpEnhanceInfo `json:"SharpInfo,omitnil,omitempty" name:"SharpInfo"`

	// Face enhancement control parameters.
	FaceInfo *FaceEnhanceInfo `json:"FaceInfo,omitnil,omitempty" name:"FaceInfo"`

	// Low-light control parameters.
	LowLightInfo *LowLightEnhanceInfo `json:"LowLightInfo,omitnil,omitempty" name:"LowLightInfo"`

	// Scratch removal control parameter.
	ScratchRepairInfo *ScratchRepairInfo `json:"ScratchRepairInfo,omitnil,omitempty" name:"ScratchRepairInfo"`

	// Deburring control parameter.
	ArtifactRepairInfo *ArtifactRepairInfo `json:"ArtifactRepairInfo,omitnil,omitempty" name:"ArtifactRepairInfo"`

	// Audio-Visual Quality Rebirth Output Target Parameters.
	TargetInfo *RebuildMediaTargetInfo `json:"TargetInfo,omitnil,omitempty" name:"TargetInfo"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Priority of the task. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type RebuildMediaRequest struct {
	*tchttp.BaseRequest
	
	// Media File ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Start offset time, in seconds. Not filled indicates cutting from the beginning of the video.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End Offset Time, in seconds. Not filled indicates cutting to the end of the video.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Image quality restoration control parameters.
	RepairInfo *RepairInfo `json:"RepairInfo,omitnil,omitempty" name:"RepairInfo"`

	// Intelligent Frame Interpolation Control Parameters.
	VideoFrameInterpolationInfo *VideoFrameInterpolationInfo `json:"VideoFrameInterpolationInfo,omitnil,omitempty" name:"VideoFrameInterpolationInfo"`

	// Image super-resolution control parameters.
	SuperResolutionInfo *SuperResolutionInfo `json:"SuperResolutionInfo,omitnil,omitempty" name:"SuperResolutionInfo"`

	// High dynamic range type control parameter.
	HDRInfo *HDRInfo `json:"HDRInfo,omitnil,omitempty" name:"HDRInfo"`

	// Video noise reduction control parameters.
	VideoDenoiseInfo *VideoDenoiseInfo `json:"VideoDenoiseInfo,omitnil,omitempty" name:"VideoDenoiseInfo"`

	// Audio noise reduction control parameters.
	AudioDenoiseInfo *AudioDenoiseInfo `json:"AudioDenoiseInfo,omitnil,omitempty" name:"AudioDenoiseInfo"`

	// Color enhancement control parameters.
	ColorInfo *ColorEnhanceInfo `json:"ColorInfo,omitnil,omitempty" name:"ColorInfo"`

	// Detail enhancement control parameters.
	SharpInfo *SharpEnhanceInfo `json:"SharpInfo,omitnil,omitempty" name:"SharpInfo"`

	// Face enhancement control parameters.
	FaceInfo *FaceEnhanceInfo `json:"FaceInfo,omitnil,omitempty" name:"FaceInfo"`

	// Low-light control parameters.
	LowLightInfo *LowLightEnhanceInfo `json:"LowLightInfo,omitnil,omitempty" name:"LowLightInfo"`

	// Scratch removal control parameter.
	ScratchRepairInfo *ScratchRepairInfo `json:"ScratchRepairInfo,omitnil,omitempty" name:"ScratchRepairInfo"`

	// Deburring control parameter.
	ArtifactRepairInfo *ArtifactRepairInfo `json:"ArtifactRepairInfo,omitnil,omitempty" name:"ArtifactRepairInfo"`

	// Audio-Visual Quality Rebirth Output Target Parameters.
	TargetInfo *RebuildMediaTargetInfo `json:"TargetInfo,omitnil,omitempty" name:"TargetInfo"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Priority of the task. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *RebuildMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RebuildMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "SubAppId")
	delete(f, "StartTimeOffset")
	delete(f, "EndTimeOffset")
	delete(f, "RepairInfo")
	delete(f, "VideoFrameInterpolationInfo")
	delete(f, "SuperResolutionInfo")
	delete(f, "HDRInfo")
	delete(f, "VideoDenoiseInfo")
	delete(f, "AudioDenoiseInfo")
	delete(f, "ColorInfo")
	delete(f, "SharpInfo")
	delete(f, "FaceInfo")
	delete(f, "LowLightInfo")
	delete(f, "ScratchRepairInfo")
	delete(f, "ArtifactRepairInfo")
	delete(f, "TargetInfo")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RebuildMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RebuildMediaResponseParams struct {
	// Task ID for Audio and Video Quality Regeneration. The state of the audio and video quality regeneration task can be queried through this ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RebuildMediaResponse struct {
	*tchttp.BaseResponse
	Response *RebuildMediaResponseParams `json:"Response"`
}

func (r *RebuildMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RebuildMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RebuildMediaTargetAudioStream struct {
	// The audio codec.
	// If `Container` is `mp3`, the valid value is:
	// <li>`libmp3lame`</li>
	// If `Container` is `ogg` or `flac`, the valid value is:
	// <li>`flac`</li>
	// If `Container` is `m4a`, the valid values are:
	// <li>`libfdk_aac`</li>
	// <li>`libmp3lame`</li>
	// <li>`ac3`</li>
	// If `Container` is `mp4` or `flv`, the valid values are:
	// <li>`libfdk_aac` (Recommended for MP4)</li>
	// <li>`libmp3lame` (Recommended for FLV)</li>
	// <li>`mp2`</li>
	// If `Container` is `hls`, the valid value is:
	// <li>`libfdk_aac`</li>
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// Bitrate of the audio stream, value ranges from 0 to [26, 256], measurement unit: kbps.
	// When the value is 0, it means VOD automatically sets the bitrate.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// The audio sample rate. Valid values:
	// <li>`32000`</li>
	// <li>`44100`</li>
	// <li>`48000`</li>
	// 
	// Unit: Hz.
	SampleRate *int64 `json:"SampleRate,omitnil,omitempty" name:"SampleRate"`

	// The audio channels. Valid values:
	// <li>`1`: Mono-channel</li>
	// <li>`2`: Dual-channel</li>
	// <li>`6`: Stereo</li>
	// 
	// You cannot set this parameter to `6` if the container format is an audio format (FLAC, OGG, MP3, M4A).
	// Default value: `2`.
	AudioChannel *int64 `json:"AudioChannel,omitnil,omitempty" name:"AudioChannel"`
}

type RebuildMediaTargetInfo struct {
	// The filename. This parameter can contain up to 64 characters, and will be generated by the system if it is left empty.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// The description (up to 128 characters). If you do not specify this, the description will be empty.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// The ID of the file’s category. You can use the [CreateClass](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) API to create a category and get the category ID.
	// <li>The default value is `0`, which means the “Other” category.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// The expiration time of the output file, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?lang=en&pg=). The file will be deleted after the specified expiration time. By default, the file will never expire.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// The output container format. Valid values: `mp4` (default), `flv`, `hls`.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// The output video parameters.
	VideoStream *RebuildMediaTargetVideoStream `json:"VideoStream,omitnil,omitempty" name:"VideoStream"`

	// The output audio parameters.
	AudioStream *RebuildMediaTargetAudioStream `json:"AudioStream,omitnil,omitempty" name:"AudioStream"`

	// Whether to remove video data. Valid values:
	// <li>`0`: No</li>
	// <li>`1`: Yes</li>
	// 
	// Default value: `0`.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Whether to remove audio data. Valid values:
	// <li>`0`: No</li>
	// <li>`1`: Yes</li>
	// 
	// Default value: `0`.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`
}

type RebuildMediaTargetVideoStream struct {
	// The video codec. Valid values:
	// <li>`libx264`: H.264</li>
	// <li>`libx265`: H.265</li>
	// <li>`av1`: AOMedia Video 1</li>
	// The default codec is H.264.
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// Bitrate of video stream, value ranges from 0 to [128, 35000], measurement unit: kbps.
	// When the value is 0, VOD automatically sets the bitrate.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// The video frame rate (Hz). Value range: 0-100. If the value is `0`, the original video frame rate will be used.
	Fps *int64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// Resolution adaption. Valid values:
	// <li>`open`: Enable. When resolution adaption is enabled, `Width` indicates the long side of a video, while `Height` indicates the short side.</li>
	// <li>`close`: Disable. When resolution adaption is disabled, `Width` indicates the width of a video, while `Height` indicates the height.</li>
	// 
	// Default value: `open`.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// The maximum video width (or long side) in pixels. Value range: 0 and 128-4096.
	// <li>If both `Width` and `Height` are `0`, the original resolution will be used.</li>
	// <li>If `Width` is 0 and `Height` is not, the video width will be proportionally scaled.</li>
	// <li>If `Width` is not 0 and `Height` is, the video height will be proportionally scaled.</li>
	// <li>If neither `Width` nor `Height` is 0, the specified width and height will be used.</li>
	// 
	// Default value: `0`.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum video width (or short side) in pixels. Value range: 0 and [128, 4096].
	// <li>If both `Width` and `Height` are `0`, the original resolution will be used.</li>
	// <li>If `Width` is 0 and `Height` is not, the video width will be proportionally scaled.</li>
	// <li>If `Width` is not 0 and `Height` is, the video height will be proportionally scaled.</li>
	// <li>If neither `Width` nor `Height` is 0, the specified width and height will be used.</li>
	// 
	// Default value: `0`.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// The fill mode, which indicates how a video is resized when the video’s original aspect ratio is different from the target aspect ratio. Valid values:
	// <li>`stretch`: Stretch the image frame by frame to fill the entire screen. The video image may become "squashed" or "stretched" after transcoding.</li>
	// <li>`black`: Keep the image's original aspect ratio and fill the blank space with black bars.</li>
	// 
	// Default value: `stretch`.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// The number of frames between two I-frames. Valid values: 0 and 1-100000.
	// If this parameter is `0` or left empty, the interval will be determined by the system.
	Gop *int64 `json:"Gop,omitnil,omitempty" name:"Gop"`
}

type RebuildMediaTask struct {
	// The task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The task flow status. Valid values:
	// <li>`PROCESSING`</li>
	// <li>`FINISH`</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The error code. `0` indicates the task is successful. Other values indicate that the task failed.
	// <li>`40000`: Invalid input parameter.</li>
	// <li>`60000`: Source file error (e.g., video data is corrupted).</li>
	// <li>`70000`: Internal server error. Please try again.</li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// The error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The error code. An empty string indicates the task is successful; other values indicate that the task failed. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// The task progress. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input of the audio and video quality regeneration task.
	Input *RebuildMediaTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output of the audio and video quality regeneration task.
	Output *RebuildMediaTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Metadata of the output video after audio and video quality revival.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// The session ID, which is used for de-duplication. If there was a request with the same session ID in the last seven days, an error will be returned for the current request. The session ID can contain up to 50 characters. If you do not pass this parameter or pass in an empty string, duplicate sessions will not be identified.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The source context, which is used to pass through user request information. The `ProcedureStateChanged` callback will return the value of this parameter. It can contain up to 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type RebuildMediaTaskInput struct {
	// The file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The start offset (seconds). If you do not specify this, the segment will start from the beginning of the video.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// The end offset (seconds). If you do not specify this, the segment will end at the end of the video.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// Audio and video quality rebirth template number.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The video quality remastering parameters.
	RepairInfo *RepairInfo `json:"RepairInfo,omitnil,omitempty" name:"RepairInfo"`

	// The smart frame interpolation parameters.
	VideoFrameInterpolationInfo *VideoFrameInterpolationInfo `json:"VideoFrameInterpolationInfo,omitnil,omitempty" name:"VideoFrameInterpolationInfo"`

	// The super resolution parameters.
	SuperResolutionInfo *SuperResolutionInfo `json:"SuperResolutionInfo,omitnil,omitempty" name:"SuperResolutionInfo"`

	// The high dynamic range (HDR) parameters.
	HDRInfo *HDRInfo `json:"HDRInfo,omitnil,omitempty" name:"HDRInfo"`

	// The image noise removal parameters.
	VideoDenoiseInfo *VideoDenoiseInfo `json:"VideoDenoiseInfo,omitnil,omitempty" name:"VideoDenoiseInfo"`

	// The noise removal parameters.
	AudioDenoiseInfo *AudioDenoiseInfo `json:"AudioDenoiseInfo,omitnil,omitempty" name:"AudioDenoiseInfo"`

	// The color enhancement parameters.
	ColorInfo *ColorEnhanceInfo `json:"ColorInfo,omitnil,omitempty" name:"ColorInfo"`

	// The detail enhancement parameters.
	SharpInfo *SharpEnhanceInfo `json:"SharpInfo,omitnil,omitempty" name:"SharpInfo"`

	// The face enhancement parameters.
	FaceInfo *FaceEnhanceInfo `json:"FaceInfo,omitnil,omitempty" name:"FaceInfo"`

	// The low-light enhancement parameters.
	LowLightInfo *LowLightEnhanceInfo `json:"LowLightInfo,omitnil,omitempty" name:"LowLightInfo"`

	// The banding removal parameters.
	ScratchRepairInfo *ScratchRepairInfo `json:"ScratchRepairInfo,omitnil,omitempty" name:"ScratchRepairInfo"`

	// The artifact removal (smoothing) parameters.
	ArtifactRepairInfo *ArtifactRepairInfo `json:"ArtifactRepairInfo,omitnil,omitempty" name:"ArtifactRepairInfo"`

	// The output parameters of the file.
	TargetInfo *RebuildMediaTargetInfo `json:"TargetInfo,omitnil,omitempty" name:"TargetInfo"`
}

type RebuildMediaTaskOutput struct {
	// The file type, such as MP4 and FLV.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// The playback URL of the output file.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// The file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The filename. This parameter can contain up to 64 characters, and will be generated by the system if it is left empty.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// The ID of the file’s category. You can use the [CreateClass](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) API to create a category and get the category ID.
	// <li>The default value is `0`, which means the “Other” category.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// The expiration time of the output file, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?lang=en&pg=). The file will be deleted after the specified expiration time. By default, the file will never expire.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

type RebuildMediaTemplate struct {
	// The remaster template ID.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The template type. Valid values:
	// <li>`Preset`</li>
	// <li>`Custom`</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The remaster template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Audio-visual quality revival video control info.
	RebuildVideoInfo *RebuildVideoInfo `json:"RebuildVideoInfo,omitnil,omitempty" name:"RebuildVideoInfo"`

	// Audio-visual quality revival audio control info.
	RebuildAudioInfo *RebuildAudioInfo `json:"RebuildAudioInfo,omitnil,omitempty" name:"RebuildAudioInfo"`

	// Output video control information.
	TargetVideoInfo *RebuildMediaTargetVideoStream `json:"TargetVideoInfo,omitnil,omitempty" name:"TargetVideoInfo"`

	// Output audio control information.
	TargetAudioInfo *RebuildMediaTargetAudioStream `json:"TargetAudioInfo,omitnil,omitempty" name:"TargetAudioInfo"`

	// The output file format. Valid values: `mp4` (default), `hls`.
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// Whether to remove video data. Valid values:
	// <li>`0`: No</li>
	// <li>`1`: Yes</li>
	// Default value: 0.
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// Whether to remove audio data. Valid values:
	// <li>`0`: No</li>
	// <li>`1`: Yes</li>
	// Default value: 0.
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// The template creation time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// The last updated time of the template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type RebuildVideoInfo struct {
	// The image restoration parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RepairInfo *RepairInfo `json:"RepairInfo,omitnil,omitempty" name:"RepairInfo"`

	// The smart frame interpolation parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VideoFrameInterpolationInfo *VideoFrameInterpolationInfo `json:"VideoFrameInterpolationInfo,omitnil,omitempty" name:"VideoFrameInterpolationInfo"`

	// The super resolution parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuperResolutionInfo *SuperResolutionInfo `json:"SuperResolutionInfo,omitnil,omitempty" name:"SuperResolutionInfo"`

	// The high dynamic range (HDR) configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	HDRInfo *HDRInfo `json:"HDRInfo,omitnil,omitempty" name:"HDRInfo"`

	// The image noise removal parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VideoDenoiseInfo *VideoDenoiseInfo `json:"VideoDenoiseInfo,omitnil,omitempty" name:"VideoDenoiseInfo"`

	// The color enhancement parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ColorInfo *ColorEnhanceInfo `json:"ColorInfo,omitnil,omitempty" name:"ColorInfo"`

	// The detail enhancement parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SharpInfo *SharpEnhanceInfo `json:"SharpInfo,omitnil,omitempty" name:"SharpInfo"`

	// The face enhancement parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FaceInfo *FaceEnhanceInfo `json:"FaceInfo,omitnil,omitempty" name:"FaceInfo"`

	// The low-light enhancement parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	LowLightInfo *LowLightEnhanceInfo `json:"LowLightInfo,omitnil,omitempty" name:"LowLightInfo"`

	// The banding removal parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScratchRepairInfo *ScratchRepairInfo `json:"ScratchRepairInfo,omitnil,omitempty" name:"ScratchRepairInfo"`

	// The artifact removal parameters.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ArtifactRepairInfo *ArtifactRepairInfo `json:"ArtifactRepairInfo,omitnil,omitempty" name:"ArtifactRepairInfo"`
}

type ReduceMediaBitrateAdaptiveDynamicStreamingResult struct {
	// The task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The error code. An empty string indicates the task is successful; other values indicate that the task failed. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// The error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The input of an adaptive bitrate task.
	Input *AdaptiveDynamicStreamingTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// The output of an adaptive bitrate task.
	Output *AdaptiveDynamicStreamingInfoItem `json:"Output,omitnil,omitempty" name:"Output"`
}

type ReduceMediaBitrateMediaProcessTaskResult struct {
	// The task type. Valid values:
	// <li>Transcode</li>
	// <li>AdaptiveDynamicStreaming</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Query result of video transcoding task in bitrate reduction, valid when task type is Transcode.
	TranscodeTask *ReduceMediaBitrateTranscodeResult `json:"TranscodeTask,omitnil,omitempty" name:"TranscodeTask"`

	// Query result of the video to adaptive streaming task in bitrate reduction tasks. Valid when the task type is AdaptiveDynamicStreaming.
	AdaptiveDynamicStreamingTask *ReduceMediaBitrateAdaptiveDynamicStreamingResult `json:"AdaptiveDynamicStreamingTask,omitnil,omitempty" name:"AdaptiveDynamicStreamingTask"`
}

type ReduceMediaBitrateTask struct {
	// The task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The task flow status. Valid values:
	// <li>PROCESSING</li>
	// <li>FINISH</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The ID of the media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The name of the media file.
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// The address of the media file.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Metadata of the original video.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// The execution status and result of the bitrate reduction task.
	MediaProcessResultSet []*ReduceMediaBitrateMediaProcessTaskResult `json:"MediaProcessResultSet,omitnil,omitempty" name:"MediaProcessResultSet"`

	// The task priority, which can be a value from -10 to 10.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// The notification mode for the change of task status. Valid values:
	// <li>Finish: Send a notification after the task is completed.</li>
	// <li>None: Do not send status change notifications for this task.</li>
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`

	// The source context, which is used to pass through user request information. The `ProcedureStateChanged` callback will return the value of this parameter. It can contain up to 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// The session ID, which is used for de-duplication. If there was a request with the same session ID in the last seven days, an error will be returned for the current request. The session ID can contain up to 50 characters. If you do not pass this parameter or pass in an empty string, duplicate sessions will not be identified.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`
}

type ReduceMediaBitrateTranscodeResult struct {
	// The task status. Valid values: PROCESSING, SUCCESS, FAIL.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The error code. An empty string indicates the task is successful; other values indicate that the task failed. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// The error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The input of a transcoding task.
	Input *TranscodeTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Transcoding task output.
	Output *MediaTranscodeItem `json:"Output,omitnil,omitempty" name:"Output"`

	// The transcoding progress. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// The start time of the transcoding task, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// The end time of the transcoding task, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732#iso-date-format).
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`
}

type Referer struct {
	// referer Blacklist and whitelist configuration switch, value: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Referer blacklist/whitelist configuration rule
	RefererRules []*RefererRule `json:"RefererRules,omitnil,omitempty" name:"RefererRules"`
}

type RefererAuthPolicy struct {
	// [Referer hotlink protection](https://intl.cloud.tencent.com/document/product/266/33985) status. Valid values:
	// <li>Enabled</li>
	// <li>Disabled</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Referer authentication method. Valid values:
	// <li>`Black`: blocklist. Any HTTP request carrying a referer in the `Referers` list will be rejected. </li>
	// <li>`White`: allowlist. Only HTTP requests carrying referers in the `Referers` list will be accepted.</li>
	// When `Status` is set to `Enabled`, `AuthType` must be specified.
	AuthType *string `json:"AuthType,omitnil,omitempty" name:"AuthType"`

	// Referer list used for verification, supports a maximum of 400 Referers. When Status value is Enabled, Referers cannot be empty array. Referer format follows reference domain format.
	Referers []*string `json:"Referers,omitnil,omitempty" name:"Referers"`

	// Whether to allow requests with empty referer to access this domain name. Valid values:
	// <li>`Yes`</li>
	// <li>`No`</li>
	// When `Status` is set to `Enabled`, `BlankRefererAllowed` must be specified.
	BlankRefererAllowed *string `json:"BlankRefererAllowed,omitnil,omitempty" name:"BlankRefererAllowed"`
}

type RefererRule struct {
	// Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li>
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Matching content under the corresponding type of RuleType: <li>Fill in * when all is used;</li> <li>Fill in suffix name when file is used, such as jpg, txt;</li> <li>Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li>
	RulePaths []*string `json:"RulePaths,omitnil,omitempty" name:"RulePaths"`

	// rferer configuration type, value: <li>whitelist: whitelist;</li> <li>blacklist: blacklist. </li>
	RefererType *string `json:"RefererType,omitnil,omitempty" name:"RefererType"`

	// Referer content list
	Referers []*string `json:"Referers,omitnil,omitempty" name:"Referers"`

	// Whether to allow empty referers: When the anti-hotlinking type is whitelist, true means that empty referers are allowed, false means that empty referers are not allowed; when the anti-hotlinking type is blacklist, true means that empty referers are rejected, and false means that empty referers are not rejected.
	AllowEmpty *bool `json:"AllowEmpty,omitnil,omitempty" name:"AllowEmpty"`
}

// Predefined struct for user
type RefreshUrlCacheRequestParams struct {
	// Refreshed URL list. You can specify up to 20 URLs at a time.
	Urls []*string `json:"Urls,omitnil,omitempty" name:"Urls"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type RefreshUrlCacheRequest struct {
	*tchttp.BaseRequest
	
	// Refreshed URL list. You can specify up to 20 URLs at a time.
	Urls []*string `json:"Urls,omitnil,omitempty" name:"Urls"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *RefreshUrlCacheRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RefreshUrlCacheRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Urls")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RefreshUrlCacheRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RefreshUrlCacheResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RefreshUrlCacheResponse struct {
	*tchttp.BaseResponse
	Response *RefreshUrlCacheResponseParams `json:"Response"`
}

func (r *RefreshUrlCacheResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RefreshUrlCacheResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RemoveWaterMarkTaskInput struct {
	// The ID of the media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`
}

type RemoveWaterMarkTaskOutput struct {
	// The file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The file type, such as MP4 or MP3.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// The playback URL of the output file.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// The filename, which can be up to 64 characters long.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// The metadata of the video, including size, duration, video stream information, and audio stream information.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`
}

// Predefined struct for user
type RemoveWatermarkRequestParams struct {
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past seven days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using a null string indicates no deduplication is required.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// This field is invalid.
	//
	// Deprecated: TasksNotifyMode is deprecated.
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`
}

type RemoveWatermarkRequest struct {
	*tchttp.BaseRequest
	
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past seven days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using a null string indicates no deduplication is required.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Priority of the task flow. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, it represents 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// This field is invalid.
	TasksNotifyMode *string `json:"TasksNotifyMode,omitnil,omitempty" name:"TasksNotifyMode"`
}

func (r *RemoveWatermarkRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveWatermarkRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "SubAppId")
	delete(f, "SessionId")
	delete(f, "SessionContext")
	delete(f, "TasksPriority")
	delete(f, "TasksNotifyMode")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemoveWatermarkRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveWatermarkResponseParams struct {
	// Run ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RemoveWatermarkResponse struct {
	*tchttp.BaseResponse
	Response *RemoveWatermarkResponseParams `json:"Response"`
}

func (r *RemoveWatermarkResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveWatermarkResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RemoveWatermarkTask struct {
	// The task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The task flow status. Valid values:
	// <li>PROCESSING</li>
	// <li>FINISH</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0: Successful; other values: Failed.
	// <li>40000: Invalid input parameter.</li>
	// <li>60000: Source file error (e.g., video data is corrupted).</li>
	// <li>70000: Internal server error. Please try again.</li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// The error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Input of the intelligent watermark removal task.
	Input *RemoveWaterMarkTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// The output of a watermark removal task.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Output *RemoveWaterMarkTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The session ID, which is used for de-duplication. If there was a request with the same session ID in the last seven days, an error will be returned for the current request. The session ID can contain up to 50 characters. If you do not pass this parameter or pass in an empty string, duplicate sessions will not be identified.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The source context, which is used to pass through user request information. The `ProcedureStateChanged` callback will return the value of this parameter. It can contain up to 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type RepairInfo struct {
	// Whether to enable video quality remastering. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The video quality remastering type. This parameter is valid only if `Switch` is `ON`.
	// <li>`weak`</li>
	// <li>`normal`</li>
	// <li>`strong`</li>
	// Default value: `weak`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type RequestHeader struct {
	// Custom request header configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Custom request header configuration rules
	HeaderRules []*HttpHeaderPathRule `json:"HeaderRules,omitnil,omitempty" name:"HeaderRules"`
}

// Predefined struct for user
type ResetProcedureTemplateRequestParams struct {
	// Task flow name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Parameters for the video processing task.
	MediaProcessTask *MediaProcessTaskInput `json:"MediaProcessTask,omitnil,omitempty" name:"MediaProcessTask"`

	// Parameters for the AI intelligent content moderation task.
	// <font color=red>\*: This parameter is used to trigger legacy review and is not recommended. Use the ReviewAudioVideoTask parameter to initiate review.</font>
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// Parameters for the AI intelligent content analysis task.
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// Parameters for the AI content recognition task.
	AiRecognitionTaskSet []*AiRecognitionTaskInput `json:"AiRecognitionTaskSet,omitnil,omitempty" name:"AiRecognitionTaskSet"`

	// This parameter is not recommended. Recommend using AiRecognitionTaskSet.
	//
	// Deprecated: AiRecognitionTask is deprecated.
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// Parameters for the audio and video moderation task.
	ReviewAudioVideoTask *ProcedureReviewAudioVideoTaskInput `json:"ReviewAudioVideoTask,omitnil,omitempty" name:"ReviewAudioVideoTask"`
}

type ResetProcedureTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Task flow name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Template description, with a length limit of 256 characters.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Parameters for the video processing task.
	MediaProcessTask *MediaProcessTaskInput `json:"MediaProcessTask,omitnil,omitempty" name:"MediaProcessTask"`

	// Parameters for the AI intelligent content moderation task.
	// <font color=red>\*: This parameter is used to trigger legacy review and is not recommended. Use the ReviewAudioVideoTask parameter to initiate review.</font>
	AiContentReviewTask *AiContentReviewTaskInput `json:"AiContentReviewTask,omitnil,omitempty" name:"AiContentReviewTask"`

	// Parameters for the AI intelligent content analysis task.
	AiAnalysisTask *AiAnalysisTaskInput `json:"AiAnalysisTask,omitnil,omitempty" name:"AiAnalysisTask"`

	// Parameters for the AI content recognition task.
	AiRecognitionTaskSet []*AiRecognitionTaskInput `json:"AiRecognitionTaskSet,omitnil,omitempty" name:"AiRecognitionTaskSet"`

	// This parameter is not recommended. Recommend using AiRecognitionTaskSet.
	AiRecognitionTask *AiRecognitionTaskInput `json:"AiRecognitionTask,omitnil,omitempty" name:"AiRecognitionTask"`

	// Parameters for the audio and video moderation task.
	ReviewAudioVideoTask *ProcedureReviewAudioVideoTaskInput `json:"ReviewAudioVideoTask,omitnil,omitempty" name:"ReviewAudioVideoTask"`
}

func (r *ResetProcedureTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ResetProcedureTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "SubAppId")
	delete(f, "Comment")
	delete(f, "MediaProcessTask")
	delete(f, "AiContentReviewTask")
	delete(f, "AiAnalysisTask")
	delete(f, "AiRecognitionTaskSet")
	delete(f, "AiRecognitionTask")
	delete(f, "ReviewAudioVideoTask")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ResetProcedureTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ResetProcedureTemplateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ResetProcedureTemplateResponse struct {
	*tchttp.BaseResponse
	Response *ResetProcedureTemplateResponseParams `json:"Response"`
}

func (r *ResetProcedureTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ResetProcedureTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ResolutionNameInfo struct {
	// Length of video short side in px.
	MinEdgeLength *uint64 `json:"MinEdgeLength,omitnil,omitempty" name:"MinEdgeLength"`

	// Display name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type ResourceTag struct {
	// Tag key.
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`

	// Tag value.
	TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"`
}

type ResponseHeader struct {
	// Custom response header configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Custom response header rules
	HeaderRules []*HttpHeaderPathRule `json:"HeaderRules,omitnil,omitempty" name:"HeaderRules"`
}

// Predefined struct for user
type RestoreMediaRequestParams struct {
	// Unique identifier list of media files. Maximum length: 100.
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// Accessible duration of thawed temporary media files must be greater than 0. Unit: day.
	RestoreDay *uint64 `json:"RestoreDay,omitnil,omitempty" name:"RestoreDay"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Thawing mode. When the current storage type of a media file is archive storage, it takes the following values:
	// <li>Speed mode: Expedited. The unfreeze task will be completed in 5 minutes.</li>
	// <li>Standard mode: Standard. The unfreeze task will be completed in 5 hours.</li>
	// <li>Batch mode: Bulk. The unfreeze task will be completed in 12 hours.</li>
	// When the file storage type of the media file is DEEP_ARCHIVE, the following values are available:
	// <li>Standard mode: Standard. The unfreeze task will be completed in 24 hours.</li>
	// <li>Batch mode: Bulk. The unfreeze task will be completed after 48 hours.</li>
	RestoreTier *string `json:"RestoreTier,omitnil,omitempty" name:"RestoreTier"`
}

type RestoreMediaRequest struct {
	*tchttp.BaseRequest
	
	// Unique identifier list of media files. Maximum length: 100.
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// Accessible duration of thawed temporary media files must be greater than 0. Unit: day.
	RestoreDay *uint64 `json:"RestoreDay,omitnil,omitempty" name:"RestoreDay"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate VOD services after December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Thawing mode. When the current storage type of a media file is archive storage, it takes the following values:
	// <li>Speed mode: Expedited. The unfreeze task will be completed in 5 minutes.</li>
	// <li>Standard mode: Standard. The unfreeze task will be completed in 5 hours.</li>
	// <li>Batch mode: Bulk. The unfreeze task will be completed in 12 hours.</li>
	// When the file storage type of the media file is DEEP_ARCHIVE, the following values are available:
	// <li>Standard mode: Standard. The unfreeze task will be completed in 24 hours.</li>
	// <li>Batch mode: Bulk. The unfreeze task will be completed after 48 hours.</li>
	RestoreTier *string `json:"RestoreTier,omitnil,omitempty" name:"RestoreTier"`
}

func (r *RestoreMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RestoreMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileIds")
	delete(f, "RestoreDay")
	delete(f, "SubAppId")
	delete(f, "RestoreTier")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RestoreMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RestoreMediaResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RestoreMediaResponse struct {
	*tchttp.BaseResponse
	Response *RestoreMediaResponseParams `json:"Response"`
}

func (r *RestoreMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RestoreMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RestoreMediaTask struct {
	// File ID
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Original storage class
	OriginalStorageClass *string `json:"OriginalStorageClass,omitnil,omitempty" name:"OriginalStorageClass"`

	// Target storage class. For temporary retrieval, the target storage class is the same as the original.
	TargetStorageClass *string `json:"TargetStorageClass,omitnil,omitempty" name:"TargetStorageClass"`

	// Retrieval mode. Valid values:
	// <li>Expedited</li>
	// <li>Standard</li>
	// <li>Bulk</li>
	RestoreTier *string `json:"RestoreTier,omitnil,omitempty" name:"RestoreTier"`

	// Validity period (days) for a temporary copy. `0` indicates permanent retrieval.
	RestoreDay *int64 `json:"RestoreDay,omitnil,omitempty" name:"RestoreDay"`

	// This field has been disused.
	//
	// Deprecated: Status is deprecated.
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// This field has been disused.
	//
	// Deprecated: Message is deprecated.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`
}

// Predefined struct for user
type ReviewAudioVideoRequestParams struct {
	// The media file ID, which is assigned after upload and uniquely identifies a file in VOD. You can view the ID of a file in the [NewFileUpload](https://www.tencentcloud.com/document/product/266/33950) callback or in the [VOD console](https://console.tencentcloud.com/vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Storage path of the media.
	// Only sub-apps in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate tasks through MediaStoragePath.
	// FileId or MediaStoragePath must be provided.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Content to review. Optional values:
	// <li>Media: Original audio/video;</li>
	// <li>Cover: cover.</li>
	// When left empty or filled with an empty array, it defaults to review Media.
	ReviewContents []*string `json:"ReviewContents,omitnil,omitempty" name:"ReviewContents"`

	// The moderation template ID. Valid values: <li>10 (default): The preset template, whose violation labels are `Porn` and `Terror`.</li>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Priority of the task flow. The higher the value, the higher the priority. The value range is from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Source context, used for passing through user request information. The audio/video moderation completed callback will return the value of this field, up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type ReviewAudioVideoRequest struct {
	*tchttp.BaseRequest
	
	// The media file ID, which is assigned after upload and uniquely identifies a file in VOD. You can view the ID of a file in the [NewFileUpload](https://www.tencentcloud.com/document/product/266/33950) callback or in the [VOD console](https://console.tencentcloud.com/vod/media).
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Storage path of the media.
	// Only sub-apps in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate tasks through MediaStoragePath.
	// FileId or MediaStoragePath must be provided.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Content to review. Optional values:
	// <li>Media: Original audio/video;</li>
	// <li>Cover: cover.</li>
	// When left empty or filled with an empty array, it defaults to review Media.
	ReviewContents []*string `json:"ReviewContents,omitnil,omitempty" name:"ReviewContents"`

	// The moderation template ID. Valid values: <li>10 (default): The preset template, whose violation labels are `Porn` and `Terror`.</li>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Priority of the task flow. The higher the value, the higher the priority. The value range is from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`

	// Source context, used for passing through user request information. The audio/video moderation completed callback will return the value of this field, up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// An identifier for deduplication. If there has been a request with the same identifier within the past 3 days, an error will be returned for the current request. The maximum length is 50 characters. Leaving it blank or using an empty string indicates no deduplication.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Reserved field, used when special purpose.
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *ReviewAudioVideoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ReviewAudioVideoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "MediaStoragePath")
	delete(f, "SubAppId")
	delete(f, "ReviewContents")
	delete(f, "Definition")
	delete(f, "TasksPriority")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ReviewAudioVideoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ReviewAudioVideoResponseParams struct {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ReviewAudioVideoResponse struct {
	*tchttp.BaseResponse
	Response *ReviewAudioVideoResponseParams `json:"Response"`
}

func (r *ReviewAudioVideoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ReviewAudioVideoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ReviewAudioVideoSegmentItem struct {
	// The start time offset (seconds) of the segment.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// The end time offset (seconds) of the segment.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// The confidence score of the segment.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// The processing suggestion for the segment. Valid values:
	// <li>review: The content may be non-compliant. Please review it.</li>
	// <li>block: The content is non-compliant. We recommend you block it.</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The most likely label for the segment. Valid values:
	// <li>Porn</li>
	// <li>Terrorism</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// The sublabel for the segment. This parameter is valid only if `Form` is `Image` or `Voice`.
	// Valid values when `Form` is `Image` and `Label` is `Porn`:
	// <li>porn</li>
	// <li>vulgar</li>
	// 
	// Valid values when `Form` is `Image` and `Label` is `Terrorism`:
	// <li>guns</li>
	// <li>bloody</li>
	// <li>banners</li>
	// <li>scenario (terrorist scenes)</li>
	// <li>explosion</li>
	// 
	// Valid values when `Form` is `Voice` and `Label` is `Porn`:
	// <li>moan</li>
	SubLabel *string `json:"SubLabel,omitnil,omitempty" name:"SubLabel"`

	// The format of the suspicious segment detected. Valid values:
	// <li>Image</li>
	// <li>OCR</li>
	// <li>ASR</li>
	// <li>Voice</li>
	Form *string `json:"Form,omitnil,omitempty" name:"Form"`

	// The pixel coordinates ([x1, y1, x2, y2]) of the top-left corner and bottom-right corner of the suspicious text. This parameter is valid only if `Form` is `OCR`.
	// <font color=red>Note</font>: This parameter is not supported currently.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`

	// The content of the suspicious text detected. This parameter is valid only if `Form` is `OCR` or `ASR`.
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// The keywords that match the suspicious text. This parameter is valid only if `Form` is `OCR` or `ASR`.
	KeywordSet []*string `json:"KeywordSet,omitnil,omitempty" name:"KeywordSet"`

	// The URL of a suspected image (which will be deleted
	//  after `PicUrlExpireTime`).
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// The expiration time of the suspected image URL in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	PicUrlExpireTime *string `json:"PicUrlExpireTime,omitnil,omitempty" name:"PicUrlExpireTime"`
}

type ReviewAudioVideoTask struct {
	// The task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The task status. Valid values:
	// <li>PROCESSING</li>
	// <li>FINISH</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The error code. An empty string indicates the task is successful; other values indicate that the task failed. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// The error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Audio/video moderation task input.
	Input *ReviewAudioVideoTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Audio/video moderation task output.
	Output *ReviewAudioVideoTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// The session ID, which is used for de-duplication. If there was a request with the same session ID in the last seven days, an error will be returned for the current request. The session ID can contain up to 50 characters. If you do not pass this parameter or pass in an empty string, duplicate sessions will not be identified.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The source context, which is used to pass through user request information. The `ReviewAudioVideoComplete` callback will return the value of this parameter. It can contain up to 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type ReviewAudioVideoTaskInput struct {
	// The ID of the media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The moderation template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The type of moderated content. Valid values:
	// <li>`Media`: The original audio/video.</li>
	// <li>`Cover`: Thumbnails.</li>
	ReviewContents []*string `json:"ReviewContents,omitnil,omitempty" name:"ReviewContents"`
}

type ReviewAudioVideoTaskOutput struct {
	// The handling suggestion. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The most likely label for the suspicious content. This parameter is valid only if `Suggestion` is `review` or `block`.
	// <li>Porn</li>
	// <li>Terrorism</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// The most likely format of the suspicious content. This parameter is valid only if `Suggestion` is `review` or `block`.
	// <li>Image</li>
	// <li>OCR</li>
	// <li>ASR</li>
	// <li>Voice</li>
	Form *string `json:"Form,omitnil,omitempty" name:"Form"`

	// A list of the suspicious segments detected.
	// <font color=red>Note</font>: Only the first 10 results will be returned at most. You can get all the results from the file specified by `SegmentSetFileUrl`.
	SegmentSet []*ReviewAudioVideoSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// The URL of the file that contains suspicious segments. The file is in JSON format and has the same data structure as `SegmentSet`. Instead of being saved permanently, the file is deleted upon the expiration time (`SegmentSetFileUrlExpireTime`).
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// The expiration time of the file that contains suspicious segments, in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format).
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`

	// The thumbnail moderation result.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CoverReviewResult *ReviewImageResult `json:"CoverReviewResult,omitnil,omitempty" name:"CoverReviewResult"`
}

// Predefined struct for user
type ReviewImageRequestParams struct {
	// The image moderation template ID. Valid values: <li>10: The preset template, whose violation labels are `Porn` and `Terror`.</li>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique ID of the media file. For this API to work, the file must be an image.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Storage path of the media.
	// Only sub-apps in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate tasks through MediaStoragePath.
	// FileId or MediaStoragePath must be provided.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type ReviewImageRequest struct {
	*tchttp.BaseRequest
	
	// The image moderation template ID. Valid values: <li>10: The preset template, whose violation labels are `Porn` and `Terror`.</li>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The unique ID of the media file. For this API to work, the file must be an image.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Storage path of the media.
	// Only sub-apps in [FileID + Path mode](https://www.tencentcloud.com/document/product/266/126825?from_cn_redirect=1) can initiate tasks through MediaStoragePath.
	// FileId or MediaStoragePath must be provided.
	MediaStoragePath *string `json:"MediaStoragePath,omitnil,omitempty" name:"MediaStoragePath"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *ReviewImageRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ReviewImageRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Definition")
	delete(f, "FileId")
	delete(f, "MediaStoragePath")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ReviewImageRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ReviewImageResponseParams struct {
	// The image moderation result. <font color=red>Note: This parameter is no longer used. Please use `MediaReviewResult` instead.</font>
	//
	// Deprecated: ReviewResultSet is deprecated.
	ReviewResultSet []*ContentReviewResult `json:"ReviewResultSet,omitnil,omitempty" name:"ReviewResultSet"`

	// The image moderation result.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MediaReviewResult *ReviewImageResult `json:"MediaReviewResult,omitnil,omitempty" name:"MediaReviewResult"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ReviewImageResponse struct {
	*tchttp.BaseResponse
	Response *ReviewImageResponseParams `json:"Response"`
}

func (r *ReviewImageResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ReviewImageResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ReviewImageResult struct {
	// Image review result suggestion. Value ranges from...to...
	// <li>pass: it is recommended to pass;</li>
	// <li>review: suggest re-examination;</li>
	// <li>block: Suggest banning.</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The most likely label for the suspicious content. This parameter is valid if `Suggestion` is `review` or `block`. Valid values: <li>`Porn`</li> <li>`Terror`</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// Valid when Suggestion is review or block, indicating the most likely prohibited forms. Value ranges from...to...
	// <li>Image: The figure or icon on the screen;</li>
	// <li>OCR: Text on the screen.</li>
	Form *string `json:"Form,omitnil,omitempty" name:"Form"`

	// Video clips suspected of containing violation information.
	// <font color=red>Note</font>: The list only displays the first 10 elements. To obtain the complete result, refer to the corresponding file in SegmentSetFileUrl.
	SegmentSet []*ReviewImageSegmentItem `json:"SegmentSet,omitnil,omitempty" name:"SegmentSet"`

	// URL of video clip list file involved in suspicion of violation information. The content of the file is JSON, consistent with the fields of SegmentSet. (The file will not be retained permanently and will be deleted when reaching SegmentSetFileUrlExpireTime.)
	SegmentSetFileUrl *string `json:"SegmentSetFileUrl,omitnil,omitempty" name:"SegmentSetFileUrl"`

	// URL expiry time of the list of video clips suspected of involving violation information, in [ISO date format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	SegmentSetFileUrlExpireTime *string `json:"SegmentSetFileUrlExpireTime,omitnil,omitempty" name:"SegmentSetFileUrlExpireTime"`
}

type ReviewImageSegmentItem struct {
	// Score of offensive information involved in suspected clips.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// Result suggestions for identifying violations in suspected clips. Value ranges from...to...
	// <li>review: suspected violation, suggest re-examination;</li>
	// <li>block: Confirmed violation. Suggest banning.</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The most likely label for the suspicious content. Valid values: <li>`Porn`</li> <li>`Terror`</li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// Rule violation subtag.
	SubLabel *string `json:"SubLabel,omitnil,omitempty" name:"SubLabel"`

	// Suspected segment is prohibited in the form of, value ranges from...to...
	// <li>Image: The figure or icon on the screen;</li>
	// <li>OCR: Text on screen.</li>
	Form *string `json:"Form,omitnil,omitempty" name:"Form"`

	// Coordinates of the area where suspicious figures, icons, or text appear (pixel level), [x1, y1, x2, y2], i.e., coordinates of the top-left corner and coordinate of the bottom-right corner.
	AreaCoordSet []*int64 `json:"AreaCoordSet,omitnil,omitempty" name:"AreaCoordSet"`

	// Valid when Form is OCR, means the OCR Text Content that comes out.
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// Valid when Form is OCR, means the list of violation keywords hit by suspicious fragments.
	KeywordSet []*string `json:"KeywordSet,omitnil,omitempty" name:"KeywordSet"`
}

type ReviewInfo struct {
	// The moderation template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The suggestion. Valid values:
	// <li>pass</li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The moderation type in the format of `Form.Label`. This parameter is valid if `Suggestion` is `review` or `block`.
	// `Form` indicates the type of inappropriate content detected. Valid values:
	// <li>`Image` (people or icons in images)</li>
	// <li>`OCR` (text in images)</li>
	// <li>`ASR` (speech)</li>
	// <li>`Voice`</li>
	// `Label` indicates the violation label. Valid values:
	// <li>`Porn` (pornographic content)</li>
	// <li>`Terror` (terrorist content)</li>
	// <li>`Polity` (politically sensitive content)</li>
	// <li>`Ad` (advertisement)</li>
	// <li>`Illegal` (illegal content)</li>
	// <li>`Abuse`</li>
	// <li>`Moan`</li>
	TypeSet []*string `json:"TypeSet,omitnil,omitempty" name:"TypeSet"`

	// The moderation time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	ReviewTime *string `json:"ReviewTime,omitnil,omitempty" name:"ReviewTime"`
}

type ReviewTemplate struct {
	// Unique tag of the moderation template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The template name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// The template type. Valid values:
	// <li>Preset</li>
	// <li>Custom</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The violation labels used.
	Labels []*string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// The template creation time in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// The last updated time of the template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type RoundPlayFilePlayInfo struct {
	// Playlist program id, assigned by the system.
	ItemId *string `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// The media file id.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The playback start time, in [iso 8601 date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format).
	StartPlayTime *string `json:"StartPlayTime,omitnil,omitempty" name:"StartPlayTime"`

	// Playback duration, in seconds.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// Playback progress, in seconds.
	Progress *float64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type RoundPlayInfo struct {
	// The playlist ID.
	RoundPlayId *string `json:"RoundPlayId,omitnil,omitempty" name:"RoundPlayId"`

	// The playback start time, in [ISO 8601 date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format).
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// The files on the list.
	RoundPlaylist []*RoundPlayListItemInfo `json:"RoundPlaylist,omitnil,omitempty" name:"RoundPlaylist"`

	// The playlist name (not longer than 64 characters).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The playlist description (not longer than 256 characters).
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Playback status, optional values:
	// <li>Enabled: startup status;</li>
	// <li>Disabled: stop status. </li>
	// Default value: Enabled.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Play mode, optional values:
	// <li>Loop: Play the playlist in a loop;</li>
	// <li>Linear: Play once, stop playing after the playlist is played. </li>
	// Default value: Loop.
	PlayBackMode *string `json:"PlayBackMode,omitnil,omitempty" name:"PlayBackMode"`

	// Carousel playback address.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Creation time in [ISO 8601 format](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time, format according to ISO 8601. See [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#52).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Expiration time, in iso 8601 format. for details, see [iso date format](https://www.tencentcloud.com/document/product/266/11732?has_map=2#iso-date-format). the playback of the playlist will stop after expiration. "9999-12-31t23:59:59+08:00" means never expire.
	ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
}

type RoundPlayListItemInfo struct {
	// The file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The type of the media played. Valid values:
	// <li>`Transcode`: A transcoding output. Because a file may be bound to multiple transcoding templates, you need to specify `Definition` if the type is `Transcode`.</li>
	// <li>`Original`: The original file.</li>
	// The file must be in HLS format.
	AudioVideoType *string `json:"AudioVideoType,omitnil,omitempty" name:"AudioVideoType"`

	// ID of the program to be played, assigned by the system.
	ItemId *string `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// The transcoding template to be played is specified. this parameter is required if `audiovideotype` is `transcode`.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type RuleCache struct {
	// Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li>
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Matching content under the corresponding type of RuleType: <li>Fill in * when all is used;</li> <li>Fill in suffix name when file is used, such as jpg, txt;</li> <li>Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li>
	RulePaths []*string `json:"RulePaths,omitnil,omitempty" name:"RulePaths"`

	// Cache configuration.
	CacheConfig *RuleCacheConfig `json:"CacheConfig,omitnil,omitempty" name:"CacheConfig"`
}

type RuleCacheConfig struct {
	// Cache configuration.
	Cache *CacheConfigCache `json:"Cache,omitnil,omitempty" name:"Cache"`

	// No cache configuration.
	NoCache *CacheConfigNoCache `json:"NoCache,omitnil,omitempty" name:"NoCache"`

	// Follow the origin site.
	FollowOrigin *CacheConfigFollowOrigin `json:"FollowOrigin,omitnil,omitempty" name:"FollowOrigin"`
}

type SDMCDrmKeyProviderInfo struct {
	// The user ID assigned by SDMC, which can contain up to 128 characters.
	Uid *string `json:"Uid,omitnil,omitempty" name:"Uid"`

	// The secret ID assigned by SDMC, which can contain up to 128 characters.
	SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"`

	// The secret key assigned by SDMC, which can contain up to 128 characters.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// The URL of the FairPlay certificate issued by SDMC. It must be an HTTPS address and can contain up to 1,024 characters.
	FairPlayCertificateUrl *string `json:"FairPlayCertificateUrl,omitnil,omitempty" name:"FairPlayCertificateUrl"`
}

type SPEKEDrm struct {
	// <p>Resource tagging. This field content is user-customized. It supports 1-128 characters, including numbers, letters, underscores (_), and hyphens (-). This field corresponds to the cid field in the Speke request. Note: Different DRM manufacturers have differences in limitations for this field (for example: Huawei Xloud does not support underscores (_) in this field). For specific rules, contact the DRM manufacturer for confirmation.</p>
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// <p>DRM manufacturer access address. The field content is obtained from the DRM manufacturer. Note: Different DRM manufacturers have different limits on the number of substreams. For example, PallyCon limits the number to a maximum of 5 substreams, while DRMtoday only supports up to 9 substream encryptions.</p>
	KeyServerUrl *string `json:"KeyServerUrl,omitnil,omitempty" name:"KeyServerUrl"`

	// <p>Initialization vector (32-byte hexadecimal string) for encryption. The field content is user-customized.</p>
	Vector *string `json:"Vector,omitnil,omitempty" name:"Vector"`

	// <p>Encryption method. Available values:<br>cbcs: supports PlayReady, Widevine, FairPlay, Widevine+FairPlay, Widevine+PlayReady, PlayReady+FairPlay, Widevine+PlayReady+FairPlay;<br>cenc: supports PlayReady, Widevine, Widevine+PlayReady;<br>If left blank, FairPlay defaults to cbcs;<br>PlayReady and Widevine default to cenc;<br>Widevine+FairPlay, PlayReady+FairPlay, and Widevine+PlayReady+FairPlay default to cbcs;<br>Widevine+PlayReady defaults to cenc;</p>
	EncryptionMethod *string `json:"EncryptionMethod,omitnil,omitempty" name:"EncryptionMethod"`

	// <p>Substream encryption rules, default preset 0<br>preset 0: use the same key to encrypt all substreams;<br>preset 1: use different keys to encrypt each substream;</p>
	EncryptionPreset *string `json:"EncryptionPreset,omitnil,omitempty" name:"EncryptionPreset"`

	// <p>DRM manufacturer request method.</p><p>Enumeration value:</p><ul><li>POST: Most DRM manufacturers use the POST method.</li><li>GET: Partial DRM manufacturers support the GET method. At the time of request using this method, the KeyServerUrl field needs to include all request information.</li></ul><p>Default value: POST</p>
	KeyAcquireMode *string `json:"KeyAcquireMode,omitnil,omitempty" name:"KeyAcquireMode"`
}

type SampleSnapshotTaskInput struct {
	// Sampled screencapturing template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// List of up to 10 image or text watermarks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WatermarkSet []*WatermarkInput `json:"WatermarkSet,omitnil,omitempty" name:"WatermarkSet"`
}

type SampleSnapshotTemplate struct {
	// Unique ID of a sampled screencapturing template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Template type. Valid values:
	// <li>Preset: preset template;</li>
	// <li>Custom: custom template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Name of a sampled screencapturing template.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Maximum value of the width (or long side) of a screenshot in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of the height (or short side) of a screenshot in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaption. Valid values:
	// <li>open: enabled. In this case, `Width` represents the long side of a video, while `Height` the short side;</li>
	// <li>close: disabled. In this case, `Width` represents the width of a video, while `Height` the height.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Sampled screencapturing type.
	SampleType *string `json:"SampleType,omitnil,omitempty" name:"SampleType"`

	// Sampling interval.
	SampleInterval *uint64 `json:"SampleInterval,omitnil,omitempty" name:"SampleInterval"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// The fill mode, or the way of processing a screenshot when the configured aspect ratio is different from that of the source video. Valid values:
	// <li>stretch: Stretch the image frame by frame to fill the entire screen. The video image may become "squashed" or "stretched" after transcoding.</li>
	// <li>black: Keep the image's original aspect ratio and fill the blank space with black bars.</li>
	// <li>white: Keep the image’s original aspect ratio and fill the blank space with white bars.</li>
	// <li>gauss: Keep the image’s original aspect ratio and apply Gaussian blur to the blank space.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type SceneAigcImageOutputConfig struct {
	// <p>Storage mode</p><p>Enumeration value:</p><ul><li>Temporary: Temporary storage. The generated video file will not be stored in VOD. You can obtain the temporary access URL from the event notification, with a valid period of 7 days.</li><li>Permanent: Permanent storage. The generated video file will be stored in VOD. You can obtain the FileId from the event notification.</li></ul><p>Default value: Temporary</p>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// <p>Output filename, up to 64 characters. Default filename is specified by the system.</p>
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/7812">create category</a> API.</p><li>Default value: 0, indicating other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Expiry date of the output file. Files will be deleted longer than this time. Default is no expiration. Format according to ISO 8601 standard. For details, see <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format description</a>.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Specify the aspect ratio of the generated image. The input format is W:H.<br>This field is valid in the following scenarios:</p><ul><li>Product image generation scenario. Available values are: 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 16:9, 9:16, 21:9.</li><li>AI image expansion scenario. Available values are: 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9. It can be used in conjunction with ImageWidth and ImageHeight. The rules are as follows: <ol><li>When only AspectRatio is specified, adaptively adjust based on the original image input.</li><li>When AspectRatio and ImageWidth are specified, ImageHeight is calculated based on both, and vice versa.</li><li>When AspectRatio, ImageWidth, and ImageHeight are specified simultaneously, prioritize using ImageWidth and ImageHeight.</li></ol></li></ul>
	AspectRatio *string `json:"AspectRatio,omitnil,omitempty" name:"AspectRatio"`

	// <p>Output image encoding format parameters.</p>
	EncodeConfig *ImageSceneAigcEncodeConfig `json:"EncodeConfig,omitnil,omitempty" name:"EncodeConfig"`

	// <p>Output image width. <strong>Valid only for AI image expansion scenarios.</strong></p>
	ImageWidth *uint64 `json:"ImageWidth,omitnil,omitempty" name:"ImageWidth"`

	// <p>Output image height, <strong>valid only for AI image expansion scenarios</strong>.</p>
	ImageHeight *uint64 `json:"ImageHeight,omitnil,omitempty" name:"ImageHeight"`

	// <p>Output resolution. Only valid for <code>ai_try_on</code> scenarios. Value range: 1K, 2K, 4K.</p>
	Resolution *string `json:"Resolution,omitnil,omitempty" name:"Resolution"`
}

type SceneAigcImageTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Value: <li>PROCESSING: Processing;</li><li>FINISH: Completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. Returns a non-zero error code for source error. For 0, please use the ErrCode of each specific task.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Task progress, with a value range of [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input of the AIGC image generation task.
	Input *SceneAigcImageTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output information of the AIGC image generation task.
	Output *SceneAigcImageTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type SceneAigcImageTaskInput struct {
	// Scenario-based image generation parameter configuration.
	SceneInfo *AigcImageSceneInfo `json:"SceneInfo,omitnil,omitempty" name:"SceneInfo"`

	// Input image list.
	FileInfos []*SceneAigcImageTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// Output media file configuration for scenario-based image generation tasks.
	OutputConfig *SceneAigcImageOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`
}

type SceneAigcImageTaskInputFileInfo struct {
	// Input video File type. valid values: <li>File: on-demand media File;</li> <li>Url: accessible Url;</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The media File ID of the image File, which is the globally unique identifier of the File in vod, is assigned by the vod backend after successful upload. you can obtain this field in the [video upload completion event notification](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) or [vod console](https://console.cloud.tencent.com/vod/media). this parameter is valid when the Type value is File.
	// Note:
	// 1. recommended for use with images less than 7 mb.
	// 2. image format value is jpeg, jpg, png, webp.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Accessible file URL. this parameter is valid when Type value is Url.
	// Note:
	// 1. recommended for use with images less than 7 MB.
	// 2. image format value is jpeg, jpg, png, webp.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type SceneAigcImageTaskOutput struct {
	// Output file information of the AIGC image generation task.
	FileInfos []*SceneAigcImageTaskOutputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`
}

type SceneAigcImageTaskOutputFileInfo struct {
	// Storage mode. Valid values: <li>Permanent: retained permanently;</li> <li>Temporary: temporary storage;</li>
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// Output filename, up to 64 characters. Default filename is specified generation by system. Valid when StorageMode is Permanent.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Category ID, used to categorize and manage media. You can create a category and obtain the category ID through the [create category](https://www.tencentcloud.com/document/product/266/7812?from_cn_redirect=1) API. Valid when StorageMode is Permanent.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiry date of the output file. Files will be deleted longer than this time. Default is no expiration. Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// File type, such as mp4, flv.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Media file playback address.
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// Media file ID. Valid when StorageMode is Permanent.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Output video meta information. Valid when StorageMode is Permanent.
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`
}

type SceneAigcVideoOutputConfig struct {
	// Storage mode. Valid values: <li>Permanent: Permanent storage. The generated image file will be stored in VOD, and the FileId can be obtained in the event notification.</li> <li>Temporary: Temporary storage. The generated image file will not be stored in VOD, and the URL for temporary access can be obtained in the event notification.</li>
	// Default value: Temporary
	StorageMode *string `json:"StorageMode,omitnil,omitempty" name:"StorageMode"`

	// Output filename, up to 64 characters. Default filename is specified generation by system.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the [create category](https://www.tencentcloud.com/document/product/266/7812?from_cn_redirect=1) API.
	// <li>Default value: 0, indicating other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiry date of the output file. Files will be deleted longer than this time. Default is no expiration. Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// Specify the aspect ratio of the generated video. Input format is W:H. Valid only for product image scenarios. Options: 16:9, 9:16.
	AspectRatio *string `json:"AspectRatio,omitnil,omitempty" name:"AspectRatio"`

	// Generate video duration. Available values: 4, 6, 8 seconds.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`
}

type SceneAigcVideoTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Value: <li>PROCESSING: Processing;</li><li>FINISH: Completed.</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. Returns a non-zero error code for source error. For 0, please use the ErrCode of each specific task.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Task progress, with a value range of [0-100].
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Input of the AIGC video generation task.
	Input *SceneAigcVideoTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Output information of the AIGC video task.
	Output *SceneAigcVideoTaskOutput `json:"Output,omitnil,omitempty" name:"Output"`

	// Identifier for deduplication. If a request with the same identifier has been sent within the past seven days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information. The callback for task flow status changes will return the value of this field. The maximum length is 1,000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type SceneAigcVideoTaskInput struct {
	// Scenario-based image generation parameter configuration.
	SceneInfo *AigcVideoSceneInfo `json:"SceneInfo,omitnil,omitempty" name:"SceneInfo"`

	// Input image list.
	FileInfos []*SceneAigcVideoTaskInputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`

	// Output media file configuration for scenario-based image generation tasks.
	OutputConfig *SceneAigcVideoOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`
}

type SceneAigcVideoTaskInputFileInfo struct {
	// Input video file type. Valid values: <li>File: on-demand media file;</li> <li>Url: accessible URL;</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Media file ID of the image file, which is the globally unique ID of the file in VOD, is assigned by the VOD backend after successful upload. You can get this field in the [video upload completion event notification](https://www.tencentcloud.com/document/product/266/7830?from_cn_redirect=1) or [VOD console](https://console.cloud.tencent.com/vod/media). This parameter is valid when the Type value is File.
	// Description:
	// 1. Use images less than 7M.
	// Image format. Valid values: jpeg, jpg, png, and webp.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Accessible file URL. This parameter is valid when the Type value is Url.
	// Description:
	// 1. Use images less than 7M.
	// Image format. Valid values: jpeg, jpg, png, and webp.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type SceneAigcVideoTaskOutput struct {
	// Output file information of the AIGC video task.
	FileInfos []*SceneAigcImageTaskOutputFileInfo `json:"FileInfos,omitnil,omitempty" name:"FileInfos"`
}

type ScratchRepairInfo struct {
	// Whether to enable banding removal. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	// Default value: `OFF`.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The banding removal strength. Value range: 0.0 - 1.0. This parameter is valid only if `Switch` is `ON`.
	// Default value: `0.0`.
	Intensity *float64 `json:"Intensity,omitnil,omitempty" name:"Intensity"`

	// The banding removal type. This parameter is valid only if `Switch` is `ON`. Valid values:
	// <li>`normal`</li>
	// Default value: `normal`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

// Predefined struct for user
type SearchMediaBySemanticsRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Search content</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p>Number of returned records. The default value is 20.</p><p>Value ranges from 1 to 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>File type. Match any element in the collection: <li>Video: video file</li> <li>Audio: audio file</li> <li>Image: image file</li></p>
	Categories []*string `json:"Categories,omitnil,omitempty" name:"Categories"`

	// <p>Tag set, match any element in the collection.</p><p>Input parameter limit: single tag length limited to 32 characters. Array length limit: 16.</p>
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// <p>Figure collection, matching video clips where all imported figures appear.</p><p>Input limit: Array length limit: 16.</p>
	Persons []*string `json:"Persons,omitnil,omitempty" name:"Persons"`

	// <p>Task type to search. Optional values: </p><ul><li>AiAnalysis.DescriptionTask </li><li>SmartSubtitle.AsrFullTextTask</li></ul>
	TaskTypes []*string `json:"TaskTypes,omitnil,omitempty" name:"TaskTypes"`
}

type SearchMediaBySemanticsRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the application ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Search content</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p>Number of returned records. The default value is 20.</p><p>Value ranges from 1 to 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>File type. Match any element in the collection: <li>Video: video file</li> <li>Audio: audio file</li> <li>Image: image file</li></p>
	Categories []*string `json:"Categories,omitnil,omitempty" name:"Categories"`

	// <p>Tag set, match any element in the collection.</p><p>Input parameter limit: single tag length limited to 32 characters. Array length limit: 16.</p>
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// <p>Figure collection, matching video clips where all imported figures appear.</p><p>Input limit: Array length limit: 16.</p>
	Persons []*string `json:"Persons,omitnil,omitempty" name:"Persons"`

	// <p>Task type to search. Optional values: </p><ul><li>AiAnalysis.DescriptionTask </li><li>SmartSubtitle.AsrFullTextTask</li></ul>
	TaskTypes []*string `json:"TaskTypes,omitnil,omitempty" name:"TaskTypes"`
}

func (r *SearchMediaBySemanticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SearchMediaBySemanticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "Text")
	delete(f, "Limit")
	delete(f, "Categories")
	delete(f, "Tags")
	delete(f, "Persons")
	delete(f, "TaskTypes")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SearchMediaBySemanticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SearchMediaBySemanticsResponseParams struct {
	// <p>Media list.</p>
	SearchResults []*SemanticsSearchResult `json:"SearchResults,omitnil,omitempty" name:"SearchResults"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SearchMediaBySemanticsResponse struct {
	*tchttp.BaseResponse
	Response *SearchMediaBySemanticsResponseParams `json:"Response"`
}

func (r *SearchMediaBySemanticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SearchMediaBySemanticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SearchMediaRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/33987">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the app ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>File id collection, match any element in the collection.</p><li>Array length limit: 10.</li><li>Single ID length limit: 40 character.</li>
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// <p>File name collection. Fuzzy match media files by file name. The higher the matching degree, the higher the priority in sorting.</p><li>Single file name length limit: 100 characters.</li><li>Array length limit: 10.</li>
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// <p>File name prefix. Prefix match media files.</p><li>Single file name prefix length limit: 100 characters.</li><li>Array length limit: 10.</li>
	NamePrefixes []*string `json:"NamePrefixes,omitnil,omitempty" name:"NamePrefixes"`

	// <p>File description set, fuzzy match media files. The higher the matching degree, higher priority in sorting.</p><li>Single description length limit: 100 characters.</li><li>Array length limit: 10.</li>
	Descriptions []*string `json:"Descriptions,omitnil,omitempty" name:"Descriptions"`

	// <p>Category id collection, match the specified ID in the collection and all its subclasses.</p><li>Array length limit: 10.</li>
	ClassIds []*int64 `json:"ClassIds,omitnil,omitempty" name:"ClassIds"`

	// <p>Tag set, match any element in the collection.</p><li>Single tag length limit: 32 character.</li><li>Array length limit: 16.</li>
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// <p>File type. Match any element in the collection:</p><li>Video: video file</li><li>Audio: audio file</li><li>Image: image file</li>
	Categories []*string `json:"Categories,omitnil,omitempty" name:"Categories"`

	// <p>Media file source collection. Source value reference <a href="https://www.tencentcloud.com/document/product/266/31773?from_cn_redirect=1#MediaSourceData">SourceType</a>.</p><li>Array length limit: 10.</li>
	SourceTypes []*string `json:"SourceTypes,omitnil,omitempty" name:"SourceTypes"`

	// <p>Push stream live code collection. Match any element in the collection.</p><li>Array length limit: 10.</li>
	StreamIds []*string `json:"StreamIds,omitnil,omitempty" name:"StreamIds"`

	// <p>Match files with creation time within this time period.</p><li>Include the specified start and end points in time.</li>
	CreateTime *TimeRange `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Match files with expiration time within this period. Unable to retrieve expired files.</p><li>Include the specified start and end points in time.</li>
	ExpireTime *TimeRange `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Media file storage region, such as ap-chongqing. Please refer to <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1#.E5.B7.B2.E6.94.AF.E6.8C.81.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8">region list</a>.</p><li>Single storage region length limit: 20 characters.</li><li>Array length limit: 20.</li>
	StorageRegions []*string `json:"StorageRegions,omitnil,omitempty" name:"StorageRegions"`

	// <p>Storage type array. Optional values:</p><li> STANDARD: Standard storage.</li><li> STANDARD_IA: Infrequent storage.</li><li> ARCHIVE: Archive storage.</li><li> DEEP_ARCHIVE: Deep archive storage.</li>
	StorageClasses []*string `json:"StorageClasses,omitnil,omitempty" name:"StorageClasses"`

	// <p>Media file packaging format collection, match any element in the collection.</p><li>Array length limit: 10.</li>
	MediaTypes []*string `json:"MediaTypes,omitnil,omitempty" name:"MediaTypes"`

	// <p>Media file status, match any element in the collection.</p><li> Normal: normal;</li><li> SystemForbidden: Platform Ban;</li><li> Forbidden: proactive ban.</li>
	Status []*string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Media file review result, match any element in the collection.</p><li> pass: Pass review;</li><li> review: Suspected violation, suggest re-examination;</li><li> block: Confirmed violation, suggest banning;</li><li> notModerated: Not moderated.</li>
	ReviewResults []*string `json:"ReviewResults,omitnil,omitempty" name:"ReviewResults"`

	// <p>TRTC application ID collection. Matches any element in the collection.</p><li>Array length limit: 10.</li>
	TrtcSdkAppIds []*uint64 `json:"TrtcSdkAppIds,omitnil,omitempty" name:"TrtcSdkAppIds"`

	// <p>TRTC room ID collection. Matches any element in the collection.</p><li>Single room ID length limit: 64 characters;</li><li>Array length limit: 10.</li>
	TrtcRoomIds []*string `json:"TrtcRoomIds,omitnil,omitempty" name:"TrtcRoomIds"`

	// <p>Information to be returned for all specified media files, multiple information can be specified simultaneously, N starts incrementing from 0. If this field is not filled in, default return all information. Options include:</p><li>basicInfo (video basic information).</li><li>metaData (video metadata).</li><li>transcodeInfo (video transcoding result information).</li><li>animatedGraphicsInfo (video motion graphic result information).</li><li>imageSpriteInfo (video thumbnail information).</li><li>snapshotByTimeOffsetInfo (video screenshot by specified time point).</li><li>sampleSnapshotInfo (sampling screenshot information).</li><li>keyFrameDescInfo (Dotting Information).</li><li>adaptiveDynamicStreamingInfo (Adaptive Bitrate Streaming information).</li><li>miniProgramReviewInfo (miniProgramReviewInfo).</li>
	Filters []*string `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>Sorting method.</p><li>Sort.Field optional CreateTime.</li><li>When Text, Names, or Descriptions is not empty, the Sort.Field field is invalid. Search results sorted by relevance.</li>
	Sort *SortBy `json:"Sort,omitnil,omitempty" name:"Sort"`

	// <div id="p_offset">Starting offset amount for pagination return, default value: 0. Returns entries from Offset to Offset+Limit-1.<li>Value ranges from...to... Offset + Limit is no more than 5000. (See: <a href="#maxResultsDesc">API return result count limit</a>)</li></div>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <div id="p_limit">Number of records returned in pages. Default value: 10. Records from Offset to Offset+Limit-1 will be returned.<li>Value ranges from...to... Offset + Limit is no more than 5000. (Refer to: <a href="#maxResultsDesc">API return result count limit</a>)</li></div>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>(Not recommended: Use Names, NamePrefixes, or Descriptions as alternatives)<br>Search text, fuzzy match media file name or description information. The higher the matching degree and more matches, the higher priority in sorting. Length limit: 64 characters.</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p>(Not recommended: Use SourceTypes as an alternative)<br>Media file source. Source value reference <a href="https://www.tencentcloud.com/document/product/266/31773?from_cn_redirect=1#MediaSourceData">SourceType</a>.</p>
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// <p>(Not recommended: Use StreamIds as an alternative)<br>Push stream live code.</p>
	StreamId *string `json:"StreamId,omitnil,omitempty" name:"StreamId"`

	// <p>(Not recommended: Use CreateTime instead)<br>Start time of creation time.</p><li>Greater than or equal to start time.</li><li>When CreateTime.After also exists, CreateTime.After will be used first.</li><li>Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).</li>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>(Not recommended: Use CreateTime instead)<br>End time of creation time.</p><li>Less than end time.</li><li>When CreateTime.Before also exists, CreateTime.Before will be used first.</li><li>Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).</li>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>This field is invalid.</p>
	Vids []*string `json:"Vids,omitnil,omitempty" name:"Vids"`

	// <p>This field is invalid.</p>
	Vid *string `json:"Vid,omitnil,omitempty" name:"Vid"`

	// <p>Live streaming push Domain. Valid when the media source is Live streaming Recording.</p>
	StreamDomains []*string `json:"StreamDomains,omitnil,omitempty" name:"StreamDomains"`

	// <p>Live streaming push Path. Valid at that time when the source is live recording.</p>
	StreamPaths []*string `json:"StreamPaths,omitnil,omitempty" name:"StreamPaths"`
}

type SearchMediaRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/33987">application</a> ID. For customers who activate on-demand services from December 25, 2023, they must fill this field with the app ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>File id collection, match any element in the collection.</p><li>Array length limit: 10.</li><li>Single ID length limit: 40 character.</li>
	FileIds []*string `json:"FileIds,omitnil,omitempty" name:"FileIds"`

	// <p>File name collection. Fuzzy match media files by file name. The higher the matching degree, the higher the priority in sorting.</p><li>Single file name length limit: 100 characters.</li><li>Array length limit: 10.</li>
	Names []*string `json:"Names,omitnil,omitempty" name:"Names"`

	// <p>File name prefix. Prefix match media files.</p><li>Single file name prefix length limit: 100 characters.</li><li>Array length limit: 10.</li>
	NamePrefixes []*string `json:"NamePrefixes,omitnil,omitempty" name:"NamePrefixes"`

	// <p>File description set, fuzzy match media files. The higher the matching degree, higher priority in sorting.</p><li>Single description length limit: 100 characters.</li><li>Array length limit: 10.</li>
	Descriptions []*string `json:"Descriptions,omitnil,omitempty" name:"Descriptions"`

	// <p>Category id collection, match the specified ID in the collection and all its subclasses.</p><li>Array length limit: 10.</li>
	ClassIds []*int64 `json:"ClassIds,omitnil,omitempty" name:"ClassIds"`

	// <p>Tag set, match any element in the collection.</p><li>Single tag length limit: 32 character.</li><li>Array length limit: 16.</li>
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// <p>File type. Match any element in the collection:</p><li>Video: video file</li><li>Audio: audio file</li><li>Image: image file</li>
	Categories []*string `json:"Categories,omitnil,omitempty" name:"Categories"`

	// <p>Media file source collection. Source value reference <a href="https://www.tencentcloud.com/document/product/266/31773?from_cn_redirect=1#MediaSourceData">SourceType</a>.</p><li>Array length limit: 10.</li>
	SourceTypes []*string `json:"SourceTypes,omitnil,omitempty" name:"SourceTypes"`

	// <p>Push stream live code collection. Match any element in the collection.</p><li>Array length limit: 10.</li>
	StreamIds []*string `json:"StreamIds,omitnil,omitempty" name:"StreamIds"`

	// <p>Match files with creation time within this time period.</p><li>Include the specified start and end points in time.</li>
	CreateTime *TimeRange `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Match files with expiration time within this period. Unable to retrieve expired files.</p><li>Include the specified start and end points in time.</li>
	ExpireTime *TimeRange `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Media file storage region, such as ap-chongqing. Please refer to <a href="https://www.tencentcloud.com/document/product/266/9760?from_cn_redirect=1#.E5.B7.B2.E6.94.AF.E6.8C.81.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8">region list</a>.</p><li>Single storage region length limit: 20 characters.</li><li>Array length limit: 20.</li>
	StorageRegions []*string `json:"StorageRegions,omitnil,omitempty" name:"StorageRegions"`

	// <p>Storage type array. Optional values:</p><li> STANDARD: Standard storage.</li><li> STANDARD_IA: Infrequent storage.</li><li> ARCHIVE: Archive storage.</li><li> DEEP_ARCHIVE: Deep archive storage.</li>
	StorageClasses []*string `json:"StorageClasses,omitnil,omitempty" name:"StorageClasses"`

	// <p>Media file packaging format collection, match any element in the collection.</p><li>Array length limit: 10.</li>
	MediaTypes []*string `json:"MediaTypes,omitnil,omitempty" name:"MediaTypes"`

	// <p>Media file status, match any element in the collection.</p><li> Normal: normal;</li><li> SystemForbidden: Platform Ban;</li><li> Forbidden: proactive ban.</li>
	Status []*string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Media file review result, match any element in the collection.</p><li> pass: Pass review;</li><li> review: Suspected violation, suggest re-examination;</li><li> block: Confirmed violation, suggest banning;</li><li> notModerated: Not moderated.</li>
	ReviewResults []*string `json:"ReviewResults,omitnil,omitempty" name:"ReviewResults"`

	// <p>TRTC application ID collection. Matches any element in the collection.</p><li>Array length limit: 10.</li>
	TrtcSdkAppIds []*uint64 `json:"TrtcSdkAppIds,omitnil,omitempty" name:"TrtcSdkAppIds"`

	// <p>TRTC room ID collection. Matches any element in the collection.</p><li>Single room ID length limit: 64 characters;</li><li>Array length limit: 10.</li>
	TrtcRoomIds []*string `json:"TrtcRoomIds,omitnil,omitempty" name:"TrtcRoomIds"`

	// <p>Information to be returned for all specified media files, multiple information can be specified simultaneously, N starts incrementing from 0. If this field is not filled in, default return all information. Options include:</p><li>basicInfo (video basic information).</li><li>metaData (video metadata).</li><li>transcodeInfo (video transcoding result information).</li><li>animatedGraphicsInfo (video motion graphic result information).</li><li>imageSpriteInfo (video thumbnail information).</li><li>snapshotByTimeOffsetInfo (video screenshot by specified time point).</li><li>sampleSnapshotInfo (sampling screenshot information).</li><li>keyFrameDescInfo (Dotting Information).</li><li>adaptiveDynamicStreamingInfo (Adaptive Bitrate Streaming information).</li><li>miniProgramReviewInfo (miniProgramReviewInfo).</li>
	Filters []*string `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>Sorting method.</p><li>Sort.Field optional CreateTime.</li><li>When Text, Names, or Descriptions is not empty, the Sort.Field field is invalid. Search results sorted by relevance.</li>
	Sort *SortBy `json:"Sort,omitnil,omitempty" name:"Sort"`

	// <div id="p_offset">Starting offset amount for pagination return, default value: 0. Returns entries from Offset to Offset+Limit-1.<li>Value ranges from...to... Offset + Limit is no more than 5000. (See: <a href="#maxResultsDesc">API return result count limit</a>)</li></div>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <div id="p_limit">Number of records returned in pages. Default value: 10. Records from Offset to Offset+Limit-1 will be returned.<li>Value ranges from...to... Offset + Limit is no more than 5000. (Refer to: <a href="#maxResultsDesc">API return result count limit</a>)</li></div>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>(Not recommended: Use Names, NamePrefixes, or Descriptions as alternatives)<br>Search text, fuzzy match media file name or description information. The higher the matching degree and more matches, the higher priority in sorting. Length limit: 64 characters.</p>
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// <p>(Not recommended: Use SourceTypes as an alternative)<br>Media file source. Source value reference <a href="https://www.tencentcloud.com/document/product/266/31773?from_cn_redirect=1#MediaSourceData">SourceType</a>.</p>
	SourceType *string `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// <p>(Not recommended: Use StreamIds as an alternative)<br>Push stream live code.</p>
	StreamId *string `json:"StreamId,omitnil,omitempty" name:"StreamId"`

	// <p>(Not recommended: Use CreateTime instead)<br>Start time of creation time.</p><li>Greater than or equal to start time.</li><li>When CreateTime.After also exists, CreateTime.After will be used first.</li><li>Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).</li>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>(Not recommended: Use CreateTime instead)<br>End time of creation time.</p><li>Less than end time.</li><li>When CreateTime.Before also exists, CreateTime.Before will be used first.</li><li>Format according to ISO 8601 standard. For details, see [ISO date format description](https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I).</li>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>This field is invalid.</p>
	Vids []*string `json:"Vids,omitnil,omitempty" name:"Vids"`

	// <p>This field is invalid.</p>
	Vid *string `json:"Vid,omitnil,omitempty" name:"Vid"`

	// <p>Live streaming push Domain. Valid when the media source is Live streaming Recording.</p>
	StreamDomains []*string `json:"StreamDomains,omitnil,omitempty" name:"StreamDomains"`

	// <p>Live streaming push Path. Valid at that time when the source is live recording.</p>
	StreamPaths []*string `json:"StreamPaths,omitnil,omitempty" name:"StreamPaths"`
}

func (r *SearchMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SearchMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "FileIds")
	delete(f, "Names")
	delete(f, "NamePrefixes")
	delete(f, "Descriptions")
	delete(f, "ClassIds")
	delete(f, "Tags")
	delete(f, "Categories")
	delete(f, "SourceTypes")
	delete(f, "StreamIds")
	delete(f, "CreateTime")
	delete(f, "ExpireTime")
	delete(f, "StorageRegions")
	delete(f, "StorageClasses")
	delete(f, "MediaTypes")
	delete(f, "Status")
	delete(f, "ReviewResults")
	delete(f, "TrtcSdkAppIds")
	delete(f, "TrtcRoomIds")
	delete(f, "Filters")
	delete(f, "Sort")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Text")
	delete(f, "SourceType")
	delete(f, "StreamId")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "Vids")
	delete(f, "Vid")
	delete(f, "StreamDomains")
	delete(f, "StreamPaths")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SearchMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SearchMediaResponseParams struct {
	// <p>Total records that meet search criteria.</p><li>Maximum value: 5000. When the number of records hit exceeds 5000, this field will return 5000 instead of the actual total count.</li>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>Media file information list.</p>
	MediaInfoSet []*MediaInfo `json:"MediaInfoSet,omitnil,omitempty" name:"MediaInfoSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SearchMediaResponse struct {
	*tchttp.BaseResponse
	Response *SearchMediaResponseParams `json:"Response"`
}

func (r *SearchMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SearchMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type SegmentConfigureInfo struct {
	// Switch of video splitting recognition task. Valid values:
	// <li>ON: enables intelligent video splitting recognition task;</li>
	// <li>OFF: disables intelligent video splitting recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type SegmentConfigureInfoForUpdate struct {
	// Switch of video splitting recognition task. Valid values:
	// <li>ON: enables intelligent video splitting recognition task;</li>
	// <li>OFF: disables intelligent video splitting recognition task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type SemanticsSearchResult struct {
	// Specifies the unique identifier of the media file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Score of the video in this retrieval. higher score indicates greater similarity to the retrieval value. value ranges from 0 to 1.
	Score *float64 `json:"Score,omitnil,omitempty" name:"Score"`

	// Specifies the start time of the video clip, in seconds.
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// Segment end time of the video, in seconds.
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

// Predefined struct for user
type SetDrmKeyProviderInfoRequestParams struct {
	// <p>DRM key provider information related to SDMC.</p><p>The SDMC service will be gradually phased out subsequently. Please use the VOD DRM encryption service.</p>
	SDMCInfo *SDMCDrmKeyProviderInfo `json:"SDMCInfo,omitnil,omitempty" name:"SDMCInfo"`

	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type SetDrmKeyProviderInfoRequest struct {
	*tchttp.BaseRequest
	
	// <p>DRM key provider information related to SDMC.</p><p>The SDMC service will be gradually phased out subsequently. Please use the VOD DRM encryption service.</p>
	SDMCInfo *SDMCDrmKeyProviderInfo `json:"SDMCInfo,omitnil,omitempty" name:"SDMCInfo"`

	// <p><b>VOD <a href="https://www.tencentcloud.com/document/product/266/33987">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the application ID when accessing resources in on-demand applications (whether the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *SetDrmKeyProviderInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetDrmKeyProviderInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SDMCInfo")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetDrmKeyProviderInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetDrmKeyProviderInfoResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SetDrmKeyProviderInfoResponse struct {
	*tchttp.BaseResponse
	Response *SetDrmKeyProviderInfoResponseParams `json:"Response"`
}

func (r *SetDrmKeyProviderInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetDrmKeyProviderInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetVodDomainCertificateRequestParams struct {
	// Domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Operation type of this API call. Valid values:
	// <li>Set: Certificate required for setting domain HTTPS.</li>
	// <li>Clear: Clear domain HTTPS configuration. After clearance, the domain cannot support HTTPS access.</li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// [Tencent Cloud SSL](https://www.tencentcloud.com/document/product/400/7572?from_cn_redirect=1) Uploaded certificate ID. No need to specify this field when clearing domain HTTPS configuration.
	CertID *string `json:"CertID,omitnil,omitempty" name:"CertID"`
}

type SetVodDomainCertificateRequest struct {
	*tchttp.BaseRequest
	
	// Domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Operation type of this API call. Valid values:
	// <li>Set: Certificate required for setting domain HTTPS.</li>
	// <li>Clear: Clear domain HTTPS configuration. After clearance, the domain cannot support HTTPS access.</li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// [Tencent Cloud SSL](https://www.tencentcloud.com/document/product/400/7572?from_cn_redirect=1) Uploaded certificate ID. No need to specify this field when clearing domain HTTPS configuration.
	CertID *string `json:"CertID,omitnil,omitempty" name:"CertID"`
}

func (r *SetVodDomainCertificateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetVodDomainCertificateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "Operation")
	delete(f, "SubAppId")
	delete(f, "CertID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetVodDomainCertificateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetVodDomainCertificateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SetVodDomainCertificateResponse struct {
	*tchttp.BaseResponse
	Response *SetVodDomainCertificateResponseParams `json:"Response"`
}

func (r *SetVodDomainCertificateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetVodDomainCertificateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type SharpEnhanceInfo struct {
	// Whether to enable detail enhancement. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The detail enhancement strength. Value range: 0.0 – 1.0. This parameter is valid only if `Switch` is `ON`.
	// Default value: `0.0`.
	Intensity *float64 `json:"Intensity,omitnil,omitempty" name:"Intensity"`
}

// Predefined struct for user
type SimpleHlsClipRequestParams struct {
	// <p>Tencent Cloud Video on Demand (VOD) HLS video URL that needs to crop.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Crop start offset time in seconds. Default is 0, crop from the beginning of the video. Negative numbers indicate how many seconds from the end of the video to start cropping. For example, -10 means start trimming from 10 seconds before the end.</p>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// <p>Crop end offset time in seconds. Default is 0, which means crop to the end of the video. Negative numbers indicate how many seconds from the end of the video to end trimming. For example, -10 means end trimming at 10 seconds before the end.</p>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// <p>Whether solidified. 0 for default non-permanent, 1 for solidified. Default non-permanent.</p>
	IsPersistence *int64 `json:"IsPersistence,omitnil,omitempty" name:"IsPersistence"`

	// <p>Video storage expiry time after editing solidification. Format reference <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>. Enter "9999-12-31T23:59:59Z" to indicate the video never expires. After expiry, the media file and its related resources (transcoding result, sprites) will be permanently deleted. Valid at that time only when IsPersistence is 1. The default video editing never expires.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Post-editing Solidified Video On-demand Task Flow Processing. For details, see <a href="https://www.tencentcloud.com/document/product/266/9759?from_cn_redirect=1">upload specified task flow</a>. Valid only when IsPersistence is 1.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/31772?from_cn_redirect=1">create category</a> API.</p><li>Default value: 0, indicating other categories.</li>Valid only when IsPersistence is 1.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Source context. This is used to pass through user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">upload completion callback</a> returns the value of this field. The maximum length is 250 characters. Valid when IsPersistence is 1.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Session context. This is used to pass through user request information. When specifying the Procedure parameter, the <a href="/document/product/266/9636?from_cn_redirect=1">task flow status change callback</a> returns the value of this field. The maximum length is 1000 characters. Valid only when IsPersistence is 1.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Deprecated.</p>
	//
	// Deprecated: Precision is deprecated.
	Precision *string `json:"Precision,omitnil,omitempty" name:"Precision"`

	// <p>Output video type. Valid values: <li>hls: Output hls file.</li>Default value hls.</p>
	OutputMediaType *string `json:"OutputMediaType,omitnil,omitempty" name:"OutputMediaType"`

	// <p>Reserved field, used for special purpose. Example value: ""</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type SimpleHlsClipRequest struct {
	*tchttp.BaseRequest
	
	// <p>Tencent Cloud Video on Demand (VOD) HLS video URL that needs to crop.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether it is the default application or a newly created application).</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>Crop start offset time in seconds. Default is 0, crop from the beginning of the video. Negative numbers indicate how many seconds from the end of the video to start cropping. For example, -10 means start trimming from 10 seconds before the end.</p>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// <p>Crop end offset time in seconds. Default is 0, which means crop to the end of the video. Negative numbers indicate how many seconds from the end of the video to end trimming. For example, -10 means end trimming at 10 seconds before the end.</p>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// <p>Whether solidified. 0 for default non-permanent, 1 for solidified. Default non-permanent.</p>
	IsPersistence *int64 `json:"IsPersistence,omitnil,omitempty" name:"IsPersistence"`

	// <p>Video storage expiry time after editing solidification. Format reference <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>. Enter "9999-12-31T23:59:59Z" to indicate the video never expires. After expiry, the media file and its related resources (transcoding result, sprites) will be permanently deleted. Valid at that time only when IsPersistence is 1. The default video editing never expires.</p>
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// <p>Post-editing Solidified Video On-demand Task Flow Processing. For details, see <a href="https://www.tencentcloud.com/document/product/266/9759?from_cn_redirect=1">upload specified task flow</a>. Valid only when IsPersistence is 1.</p>
	Procedure *string `json:"Procedure,omitnil,omitempty" name:"Procedure"`

	// <p>Category ID, used to categorize and manage media. You can create a category and obtain the category ID via the <a href="/document/product/266/31772?from_cn_redirect=1">create category</a> API.</p><li>Default value: 0, indicating other categories.</li>Valid only when IsPersistence is 1.
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// <p>Source context. This is used to pass through user request information. The <a href="/document/product/266/7830?from_cn_redirect=1">upload completion callback</a> returns the value of this field. The maximum length is 250 characters. Valid when IsPersistence is 1.</p>
	SourceContext *string `json:"SourceContext,omitnil,omitempty" name:"SourceContext"`

	// <p>Session context. This is used to pass through user request information. When specifying the Procedure parameter, the <a href="/document/product/266/9636?from_cn_redirect=1">task flow status change callback</a> returns the value of this field. The maximum length is 1000 characters. Valid only when IsPersistence is 1.</p>
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// <p>Deprecated.</p>
	Precision *string `json:"Precision,omitnil,omitempty" name:"Precision"`

	// <p>Output video type. Valid values: <li>hls: Output hls file.</li>Default value hls.</p>
	OutputMediaType *string `json:"OutputMediaType,omitnil,omitempty" name:"OutputMediaType"`

	// <p>Reserved field, used for special purpose. Example value: ""</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *SimpleHlsClipRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SimpleHlsClipRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Url")
	delete(f, "SubAppId")
	delete(f, "StartTimeOffset")
	delete(f, "EndTimeOffset")
	delete(f, "IsPersistence")
	delete(f, "ExpireTime")
	delete(f, "Procedure")
	delete(f, "ClassId")
	delete(f, "SourceContext")
	delete(f, "SessionContext")
	delete(f, "Precision")
	delete(f, "OutputMediaType")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SimpleHlsClipRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SimpleHlsClipResponseParams struct {
	// <p>Trimmed video address.</p>
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// <p>Cropped video metadata. Currently, the <code>Size</code>, <code>Rotate</code>, <code>VideoDuration</code>, and <code>AudioDuration</code> fields are temporarily default with no real data.</p>
	MetaData *MediaMetaData `json:"MetaData,omitnil,omitempty" name:"MetaData"`

	// <p>Unique identifier of media file for post-editing solidified video.</p>
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// <p>ID of the edited video task flow after solidification.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SimpleHlsClipResponse struct {
	*tchttp.BaseResponse
	Response *SimpleHlsClipResponseParams `json:"Response"`
}

func (r *SimpleHlsClipResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SimpleHlsClipResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type SnapshotByTimeOffset2017 struct {
	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Specific time point of screenshot in milliseconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TimeOffset *uint64 `json:"TimeOffset,omitnil,omitempty" name:"TimeOffset"`

	// Address of output screenshot file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

type SnapshotByTimeOffsetTask2017 struct {
	// Screencapturing task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Screenshot file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// screenshot specification. For more information, please see [Parameter Template for Time Point Screencapturing](https://intl.cloud.tencent.com/document/product/266/33480?from_cn_redirect=1#.E6.97.B6.E9.97.B4.E7.82.B9.E6.88.AA.E5.9B.BE.E6.A8.A1.E6.9D.BF).
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Result information of screencapturing.
	SnapshotInfoSet []*SnapshotByTimeOffset2017 `json:"SnapshotInfoSet,omitnil,omitempty" name:"SnapshotInfoSet"`
}

type SnapshotByTimeOffsetTaskInput struct {
	// Time point screencapturing template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// The list of screenshot time points. “s” and “%” formats are supported:
	// <li>When a time point string ends with “s”, its unit is second. For example, “3.5s” means the 3.5th second of the video.</li>
	// <li>When a time point string ends with “%”, it represents the percentage of the video’s duration. For example, “10%” means that the time point is at the 10% of the video’s entire duration.</li>
	ExtTimeOffsetSet []*string `json:"ExtTimeOffsetSet,omitnil,omitempty" name:"ExtTimeOffsetSet"`

	// List of time points for screencapturing in <font color=red>milliseconds</font>.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TimeOffsetSet []*float64 `json:"TimeOffsetSet,omitnil,omitempty" name:"TimeOffsetSet"`

	// List of up to 10 image or text watermarks.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WatermarkSet []*WatermarkInput `json:"WatermarkSet,omitnil,omitempty" name:"WatermarkSet"`
}

type SnapshotByTimeOffsetTemplate struct {
	// Unique ID of a specified time point screencapturing template.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Template type. Valid values:
	// <li>Preset: preset template;</li>
	// <li>Custom: custom template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Name of a specified time point screencapturing template.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Maximum value of the width (or long side) of a screenshot in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// Maximum value of the height (or short side) of a screenshot in px. Value range: 0 and [128, 4,096].
	// <li>If both `Width` and `Height` are 0, the resolution will be the same as that of the source video;</li>
	// <li>If `Width` is 0, but `Height` is not 0, `Width` will be proportionally scaled;</li>
	// <li>If `Width` is not 0, but `Height` is 0, `Height` will be proportionally scaled;</li>
	// <li>If both `Width` and `Height` are not 0, the custom resolution will be used.</li>
	// Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaption. Valid values:
	// <li>open: enabled. In this case, `Width` represents the long side of a video, while `Height` the short side;</li>
	// <li>close: disabled. In this case, `Width` represents the width of a video, while `Height` the height.</li>
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Image format.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// The fill mode, or the way of processing a screenshot when the configured aspect ratio is different from that of the source video. Valid values:
	// <li>stretch: Stretch the image frame by frame to fill the entire screen. The video image may become "squashed" or "stretched" after transcoding.</li>
	// <li>black: Keep the image's original aspect ratio and fill the blank space with black bars.</li>
	// <li>white: Keep the image’s original aspect ratio and fill the blank space with white bars.</li>
	// <li>gauss: Keep the image’s original aspect ratio and apply Gaussian blur to the blank space.</li>
	// Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`
}

type SortBy struct {
	// Sort by field
	Field *string `json:"Field,omitnil,omitempty" name:"Field"`

	// Sorting order. Valid values: Asc (ascending), Desc (descending)
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type SpecificationDataItem struct {
	// Task specification.
	Specification *string `json:"Specification,omitnil,omitempty" name:"Specification"`

	// Statistics.
	Data []*TaskStatDataItem `json:"Data,omitnil,omitempty" name:"Data"`
}

type SplitMediaOutputConfig struct {
	// Name of an output file. This parameter can contain up to 64 characters, and will be generated by the system if it is left empty.
	MediaName *string `json:"MediaName,omitnil,omitempty" name:"MediaName"`

	// Output file format. Valid values: mp4 (default), hls.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Category ID, which is used to categorize the media file for management. You can use [CreateClass](https://intl.cloud.tencent.com/document/product/266/7812?from_cn_redirect=1) API to create a category and get the category ID.
	// <li>Default value: 0, which means other categories.</li>
	ClassId *int64 `json:"ClassId,omitnil,omitempty" name:"ClassId"`

	// Expiration time of an output file. After passing the expiration time, the file will be deleted. There is no expiration time set for a file by default. The time is in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?lang=en&pg=).
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

// Predefined struct for user
type SplitMediaRequestParams struct {
	// Video ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Video split task information list, simultaneously support up to 100 split information.
	Segments []*SplitMediaTaskConfig `json:"Segments,omitnil,omitempty" name:"Segments"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Identify source context, pass through user request information, return the value of this field in SplitMediaComplete callback and task flow status change callback, longest 1000 character.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Identifier for task deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

type SplitMediaRequest struct {
	*tchttp.BaseRequest
	
	// Video ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Video split task information list, simultaneously support up to 100 split information.
	Segments []*SplitMediaTaskConfig `json:"Segments,omitnil,omitempty" name:"Segments"`

	// <b>On-demand [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created).</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// Identify source context, pass through user request information, return the value of this field in SplitMediaComplete callback and task flow status change callback, longest 1000 character.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// Identifier for task deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Task priority. The higher the value, the higher the priority. The value ranges from -10 to 10. If left blank, the default value is 0.
	TasksPriority *int64 `json:"TasksPriority,omitnil,omitempty" name:"TasksPriority"`
}

func (r *SplitMediaRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SplitMediaRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileId")
	delete(f, "Segments")
	delete(f, "SubAppId")
	delete(f, "SessionContext")
	delete(f, "SessionId")
	delete(f, "TasksPriority")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SplitMediaRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SplitMediaResponseParams struct {
	// The task ID of the video splitting task. You can query the status of the splitting task (task type is SplitMedia) through this ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SplitMediaResponse struct {
	*tchttp.BaseResponse
	Response *SplitMediaResponseParams `json:"Response"`
}

func (r *SplitMediaResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SplitMediaResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type SplitMediaTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task flow status. Valid values:
	// <li>PROCESSING: processing</li>
	// <li>FINISH: finished</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145).
	ErrCodeExt *string `json:"ErrCodeExt,omitnil,omitempty" name:"ErrCodeExt"`

	// Error code. 0 indicates the task is successful; other values indicate failure. You're not recommended to use this parameter, but to use the new parameter `ErrCodeExt`.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error information.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// List of video splitting task details.
	FileInfoSet []*SplitMediaTaskSegmentInfo `json:"FileInfoSet,omitnil,omitempty" name:"FileInfoSet"`

	// The source context which is used to pass through the user request information. The task flow status change callback will return the value of this field. It can contain up to 1000 characters.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`

	// ID used for deduplication. If there was a request with the same ID in the last seven days, the current request will return an error. The ID can contain up to 50 characters. If this parameter is left empty or set to an empty string, no deduplication will be performed.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// The progress of a video splitting task. Value range: 0-100.
	Progress *int64 `json:"Progress,omitnil,omitempty" name:"Progress"`
}

type SplitMediaTaskConfig struct {
	// The offset time of the start of video stripping, unit: seconds. 
	// <li>Leave it blank or fill in 0, which means that the transcoded video starts from the starting position of the original video;</li>
	// <li>When the value is greater than 0 (assumed to be n), it means that after transcoding The video starts from the n-th second position of the original video;</li>
	// <li>When the value is less than 0 (assumed to be -n), it means that the transcoded video starts from the position n seconds before the end of the original video. </li>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// Offset time at the end of video stripping, unit: seconds. 
	// <li>Leave it blank or fill it in with 0, which means that the transcoded video will continue until the end of the original video;</li>
	// <li>When the value is greater than 0 (assumed to be n), it means that the transcoded video will continue until the end of the original video. The video continues until the nth second of the original video and terminates;</li>
	// <li>When the value is less than 0 (assumed to be -n), it means that the transcoded video continues until n seconds before the end of the original video. </li>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// [Task flow](https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81) name. Fill in to automatically execute task flow on the generated new video.
	ProcedureName *string `json:"ProcedureName,omitnil,omitempty" name:"ProcedureName"`

	// The video is split into strips to output information.
	OutputConfig *SplitMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`
}

type SplitMediaTaskInput struct {
	// Video ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Offset of the video splitting start time in seconds.
	// <li>If this parameter is left empty or set to 0, the transcoded video will start at the same time as the original video.</li>
	// <li>If this parameter is set to a positive number (n for example), the transcoded video will start at the nth second of the original video.</li>
	// <li>If this parameter is set to a negative number (-n for example), the transcoded video will start at the nth second before the end of the original video.</li>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// Offset of the video splitting end time in seconds.
	// <li>If this parameter is left empty or set to 0, the transcoded video will end at the same time as the original video.</li>
	// <li>If this parameter is set to a positive number (n for example), the transcoded video will end at the nth second of the original video.</li>
	// <li>If this parameter is set to a negative number (-n for example), the transcoded video will end at the nth second before the end of the original video.</li>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// [Task flow](https://www.tencentcloud.com/document/product/266/33475?from_cn_redirect=1#.E4.BB.BB.E5.8A.A1.E6.B5.81) name. Fill in if you need to execute task flow on the generated new video.
	ProcedureName *string `json:"ProcedureName,omitnil,omitempty" name:"ProcedureName"`

	// Output information of a video splitting task.
	OutputConfig *SplitMediaOutputConfig `json:"OutputConfig,omitnil,omitempty" name:"OutputConfig"`
}

type SplitMediaTaskSegmentInfo struct {
	// Input information of a video splitting task.
	Input *SplitMediaTaskInput `json:"Input,omitnil,omitempty" name:"Input"`

	// Video splitting task output information.
	Output *TaskOutputMediaInfo `json:"Output,omitnil,omitempty" name:"Output"`

	// The task ID for the task type `Procedure`. If a task flow (`ProcedureName`) is specified by [SplitMedia](https://intl.cloud.tencent.com/document/api/266/51098?from_cn_redirect=1), and the task flow includes one or more of `MediaProcessTask`, `AiAnalysisTask`, and `AiRecognitionTask`, the task specified by this parameter will be executed.
	ProcedureTaskId *string `json:"ProcedureTaskId,omitnil,omitempty" name:"ProcedureTaskId"`

	// The task ID for the task type `ReviewAudioVideo`. If a task flow (`ProcedureName`) is specified by [SplitMedia](https://intl.cloud.tencent.com/document/api/266/51098?from_cn_redirect=1), and the task flow includes `ReviewAudioVideoTask`, the task specified by this parameter will be executed.
	ReviewAudioVideoTaskId *string `json:"ReviewAudioVideoTaskId,omitnil,omitempty" name:"ReviewAudioVideoTaskId"`
}

// Predefined struct for user
type StartCDNDomainRequestParams struct {
	// Domain.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Domain name operation, value: <li>start: enable;</li> <li>stop: disable. </li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

type StartCDNDomainRequest struct {
	*tchttp.BaseRequest
	
	// Domain.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Domain name operation, value: <li>start: enable;</li> <li>stop: disable. </li>
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// <b>The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID.</b>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`
}

func (r *StartCDNDomainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartCDNDomainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "Operation")
	delete(f, "SubAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StartCDNDomainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StartCDNDomainResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StartCDNDomainResponse struct {
	*tchttp.BaseResponse
	Response *StartCDNDomainResponseParams `json:"Response"`
}

func (r *StartCDNDomainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartCDNDomainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type StatDataItem struct {
	// Start time of data time range in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I). For example, if the time granularity is 1-day, `2018-12-01T00:00:00+08:00` represents the time range between December 1, 2018 (inclusive) and December 2, 2018 (not inclusive).
	// <li>For data at hourly level, `2019-08-22T00:00:00+08:00` indicates the statistics between 00:00 and 01:00 AM on August 22, 2019.</li>
	// <li>For data at daily level, `2019-08-22T00:00:00+08:00` indicates statistics on August 22, 2019.</li>
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// Data size. 
	// <li>The data of the storage space, the unit is bytes. </li>
	// <li>Transcoding duration data, unit is seconds. </li>
	// <li>Traffic data, unit is bytes. </li>
	// <li>Bandwidth data, unit is bits per second. </li>
	// <li>Live broadcast clip data, the unit is seconds. </li>
	// <li>Carousel data, unit is seconds. </li>
	// <li>The number of sub-applications, the unit is one. </li>
	Value *int64 `json:"Value,omitnil,omitempty" name:"Value"`
}

type StickerTrackItem struct {
	// Source of media material for sticker segment, which can be:
	// <li>ID of VOD media files</li>
	// <li>Download URL of other media files</li>
	// Note: when a download URL of other media files is used as the material source and access control (such as hotlink protection) is enabled, the URL needs to carry access control parameters (such as hotlink protection signature).
	SourceMedia *string `json:"SourceMedia,omitnil,omitempty" name:"SourceMedia"`

	// Sticker duration in seconds.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// Start time of sticker on track in seconds.
	StartTime *float64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Origin position. Valid values:
	// <li> Center: the origin of coordinates is the center position, such as the center of canvas.</li>
	// Default value: Center.
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`

	// The horizontal position of the origin of the sticker relative to the origin of the canvas. % and px formats are supported:
	// <li>If the string ends in %, the `XPos` of the sticker will be at the position of the specified percentage of the canvas width; for example, `10%` means that `XPos` is 10% of the canvas width.</li><li>If the string ends in px, the `XPos` of the sticker will be in px; for example, `100px` means that `XPos` is 100 px.</li>
	// Default value: 0 px.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// The vertical position of the origin of the sticker relative to the origin of the canvas. % and px formats are supported:
	// <li>If the string ends in %, the `YPos` of the sticker will be at the position of the specified percentage of the canvas height; for example, `10%` means that `YPos` is 10% of the canvas height.</li>
	// <li>If the string ends in px, the `YPos` of the sticker will be in px; for example, `100px` means that `YPos` is 100 px.</li>
	// Default value: 0 px.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Sticker width. % and px formats are supported:
	// <li>If the string ends in %, the `Width` of the sticker will be the specified percentage of the canvas width; for example, `10%` means that `Width` is 10% of the canvas width.</li>
	// <li>If the string ends in px, the `Width` of the sticker will be in px; for example, `100px` means that `Width` is 100 px.</li>
	// <li>If both `Width` and `Height` are empty, then they will be the `Width` and `Height` of the sticker material, respectively.</li>
	// <li>If `Width` is empty (0), but `Height` is not empty, `Width` will be proportionally scaled.</li>
	// <li>If `Width` is not empty, but `Height` is empty, `Height` will be proportionally scaled.</li>
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Sticker height. % and px formats are supported:
	// <li>If the string ends in %, the `Height` of the sticker will be the specified percentage of the canvas height; for example, `10%` means that `Height` is 10% of the canvas height.</li>
	// <li>If the string ends in px, the `Height` of the sticker will be in px; for example, `100px` means that `Height` is 100 px.</li>
	// <li>If both `Width` and `Height` are empty, then they will be the `Width` and `Height` of the sticker material, respectively.</li>
	// <li>If `Width` is empty, but `Height` is not empty, `Width` will be proportionally scaled.</li>
	// <li>If `Width` is not empty, but `Height` is empty, `Height` will be proportionally scaled.</li>
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// Operation on sticker such as image rotation.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageOperations []*ImageTransform `json:"ImageOperations,omitnil,omitempty" name:"ImageOperations"`
}

type StorageRegionInfo struct {
	// The storage region.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// The description of the storage region.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Whether storage is enabled in the region. Valid values:
	// <li>opened: Enabled</li>
	// <li>unopened: Not enabled</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether the region is the default storage region. Valid values: true, false.
	IsDefault *bool `json:"IsDefault,omitnil,omitempty" name:"IsDefault"`

	// Whether the storage region is inside or outside the Chinese mainland. Valid values:
	// <li>Chinese Mainland</li>
	// <li>Outside Chinese Mainland</li>
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`
}

type StorageStatData struct {
	// VOD storage billing region. Valid values:
	// <li>Chinese Mainland</li>
	// <li>Outside Chinese Mainland</li>
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Current total storage capacity in bytes.
	TotalStorage *uint64 `json:"TotalStorage,omitnil,omitempty" name:"TotalStorage"`

	// Current STANDARD_IA storage capacity in bytes.
	InfrequentStorage *uint64 `json:"InfrequentStorage,omitnil,omitempty" name:"InfrequentStorage"`

	// Current STANDARD storage capacity in bytes.
	StandardStorage *uint64 `json:"StandardStorage,omitnil,omitempty" name:"StandardStorage"`

	// Current ARCHIVE storage usage in bytes
	ArchiveStorage *uint64 `json:"ArchiveStorage,omitnil,omitempty" name:"ArchiveStorage"`

	// Current DEEP ARCHIVE storage usage in bytes
	DeepArchiveStorage *uint64 `json:"DeepArchiveStorage,omitnil,omitempty" name:"DeepArchiveStorage"`
}

type SubAppIdInfo struct {
	// Subapplication ID.
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// The subapplication name.
	SubAppIdName *string `json:"SubAppIdName,omitnil,omitempty" name:"SubAppIdName"`

	// Subapplication overview.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Subapplication creation time of task in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Subapplication status. Valid values:
	// <li>On: enabled</li>
	// <li>Off: disabled</li>
	// <li>Destroying: terminating</li>
	// <li>Destroyed: terminated</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The subapplication name. This parameter is not recommended. Please use `SubAppIdName` instead.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Mode of this application. Valid values:
	// -fileid: Only in fileid mode
	// -fileid+path: FileID & Path mode
	// Leave empty to select FileID mode by default
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Storage regions enabled for the sub-app.
	StorageRegions []*string `json:"StorageRegions,omitnil,omitempty" name:"StorageRegions"`

	// tag bound to the sub-application.
	Tags []*ResourceTag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type SubtitleFormatsOperation struct {
	// The modification type. Valid values:
	// <li>add: Add the formats specified by `Formats`.</li>
	// <li>delete: Delete the formats specified by `Formats`.<l/i>
	// <li>reset: Reset the format list to formats specified by `Formats`.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The subtitle format list. Valid values:
	// <li>vtt</li>
	// <li>srt</li>
	Formats []*string `json:"Formats,omitnil,omitempty" name:"Formats"`
}

type SubtitleInfoInput struct {
	// <p>Subtitle ID.</p>
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Font type.</p><p>Enumeration value:</p><ul><li>hei.ttf: Heiti</li><li>song.ttf: Song Typeface</li><li>kai.ttf (recommended) or simkai.ttf: KaiTi</li><li>msyh.ttf: Microsoft YaHei</li><li>msyhbd.ttf: Microsoft YaHei in bold</li><li>hkjgt.ttf: Hwakangangtai</li><li>dhttx.ttf: Dianheiti Ultra Light</li><li>xqgdzt.ttf: Xique Ancient Dictionary</li><li>qpcyt.ttf: Smart Splice Super Round Body</li><li>arial.ttf: only supports English</li><li>dinalternate.ttf: DIN Alternate Bold</li><li>helveticalt.ttf: Helvetica</li><li>helveticains.ttf: Helvetica Inserat</li><li>trajanpro.ttf: TrajanPro-Bold</li><li>korean.ttf: Korean</li><li>japanese.ttf: Japanese</li><li>thai.ttf: Thai</li><li>roboto.ttf: Roboto</li><li>notosans.ttf: NotoSans</li><li>notosansthai.ttf: Thai NotoSansThai</li><li>sarabun.ttf: Thai Sarabun</li><li>kanit.ttf: Thai Kanit</li><li>charmonman.ttf: Thai Charmonman</li><li>notonaskharabic.ttf: Arabic NotoNaskhArabic</li><li>notosansdevanagari.ttf: India NotoSansDevanagari</li><li>notosanstc.ttf: Cantonese NotoSansTC</li><li>notosanskr.ttf: Korean NotoSansKR</li><li>gothica1.ttf: Korean GothicA1</li><li>nanummyeongjo.ttf: Korean NanumMyeongjo</li><li>notosansjp.ttf: Japanese NotoSansJP</li><li>notoserifjp.ttf: Japanese NotoSerifJP</li><li>shipporimincho.ttf: Japanese ShipporiMincho</li></ul><p>Default value: hei.ttf Heiti</p>
	FontType *string `json:"FontType,omitnil,omitempty" name:"FontType"`

	// <p>Font size. If not specified, the font size in the subtitle file applies. Pixel and percentage formats are supported:</p><ul><li>Pixel: Npx, where N ranges from (0,4096].</li><li>Percentage: N%, where N ranges from (0,100]. For example, 10% means the subtitle font size equals 10% of the source video height. If left blank and the subtitle file has no settings, the default is 5% of the source video height.</li></ul>
	FontSize *string `json:"FontSize,omitnil,omitempty" name:"FontSize"`

	// <p>Font color, format: 0xRRGGBB.</p><p>Default value: 0xFFFFFF (white).</p>
	FontColor *string `json:"FontColor,omitnil,omitempty" name:"FontColor"`

	// <p>Text opacity. Value ranges from 0 to 1.</p><ul><li>0: completely transparent;</li><li>1: completely opaque</li></ul><p>Default value: 1</p>
	FontAlpha *float64 `json:"FontAlpha,omitnil,omitempty" name:"FontAlpha"`

	// <p>Subtitle Y-coordinate position. Specify this parameter to ignore the built-in coordinates in the subtitle file. Supports pixel and percentage formats:</p><ul><li>Pixel: Npx, where N ranges from [0,4096].</li><li>Percentage: N%, where N ranges from [0,100]. For example, 10% means the subtitle Y-coordinate = 10% * source video height. Default value: source video height * 4%.<br>Note: The coordinate axis origin is at the bottom of the central axis of the source video, and the subtitle reference point is at the bottom of the central axis of the subtitle. Refer to the figure below:<img src="https://ie-mps-1258344699.cos.ap-nanjing.tencentcos.cn/common/cloud/mps-demo/102_ai_subtitle/subtitle_style.png" alt="image"></li></ul>
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// <p>Subtitle background base plate Y-coordinate position. Supports pixel and percentage formats:</p><ul><li>Pixel: Npx, where N ranges from [0,4096].</li><li>Percentage: N%, where N ranges from [0,100]. For example, 10% means the subtitle background base plate Y-coordinate = 10% * source video height. If not specified, the subtitle background base plate is disabled.<br>Note: The coordinate axis origin is located at the bottom of the central axis of the source video, and the reference point of the subtitle background base plate is at the bottom of its central axis. Refer to the figure below:<img src="https://ie-mps-1258344699.cos.ap-nanjing.tencentcos.cn/common/cloud/mps-demo/102_ai_subtitle/subtitle_style.png" alt="image"></li></ul>
	BoardY *string `json:"BoardY,omitnil,omitempty" name:"BoardY"`

	// <p>Width of the base plate, a positive integer.</p><ul><li>Pixel: Npx, where N is in the range of [0,4096].</li><li>Percentage: N%, where N ranges from 0 to 100. If background is enabled and this parameter is not specified, the default width is 90% of the source video width.</li></ul>
	BoardWidth *string `json:"BoardWidth,omitnil,omitempty" name:"BoardWidth"`

	// <p>Height of the base plate, a positive integer.</p><ul><li>Pixel: Npx, where N ranges from 0 to 4096.</li><li>Percentage: N%, where N ranges from 0 to 100. If background is enabled and this parameter is not specified, the default height is 15% of the source video height.</li></ul>
	BoardHeight *string `json:"BoardHeight,omitnil,omitempty" name:"BoardHeight"`

	// <p>Base plate color. Format: 0xRRGGBB.</p><p>Default value: 0x000000 (black).</p>
	BoardColor *string `json:"BoardColor,omitnil,omitempty" name:"BoardColor"`

	// <p>Subtitle background transparency. Value range: [0, 1].</p><ul><li>0: completely transparent;</li><li>1: completely opaque.</li></ul><p>Default value: 0.8.</p>
	BoardAlpha *float64 `json:"BoardAlpha,omitnil,omitempty" name:"BoardAlpha"`

	// <p>Alignment mode.</p><p>Enumeration values:</p><ul><li>top: top alignment. The top position of subtitles is fixed, while the bottom position changes according to the line count.</li><li>bottom: bottom alignment. The bottom position of subtitles is fixed, while the top position changes according to the line count.</li></ul><p>Default value: bottom</p>
	Alignment *string `json:"Alignment,omitnil,omitempty" name:"Alignment"`

	// <p>Stroke width. Floating-point number.</p><ul><li>Pixel: Npx, where N is in the range of [0,1000].</li><li>Percentage: N%, where N ranges from 0 to 100.</li></ul><p>By default if left blank, it is 0.3% of the source video height.</p>
	OutlineWidth *string `json:"OutlineWidth,omitnil,omitempty" name:"OutlineWidth"`

	// <p>Border color. Format: 0xRRGGBB.</p><p>Default value: 0x000000 (black).</p>
	OutlineColor *string `json:"OutlineColor,omitnil,omitempty" name:"OutlineColor"`

	// <p>Stroke transparency. The value should be a positive floating-point number in the range of (0, 1].</p><ul><li>0: completely transparent;</li><li>1: completely opaque.</li></ul><p>Default value: 1</p>
	OutlineAlpha *float64 `json:"OutlineAlpha,omitnil,omitempty" name:"OutlineAlpha"`

	// <p>Shadow width. Floating-point number.</p><ul><li>Pixel: Npx, N value ranges from 0 to 1000.</li><li>Percentage: N%, N value ranges from 0 to 100. No shading by default if left blank.</li></ul>
	ShadowWidth *string `json:"ShadowWidth,omitnil,omitempty" name:"ShadowWidth"`

	// <p>Shadow color. Format: 0xRRGGBB.</p><p>Default value: 0x000000 (black) when shadow has set.</p>
	ShadowColor *string `json:"ShadowColor,omitnil,omitempty" name:"ShadowColor"`

	// <p>Shadow transparency. The value should be a positive floating-point number in the range of (0, 1].</p><ul><li>0: completely transparent;</li><li>1: completely opaque.</li></ul><p>Default value: 1, completely opaque, with shadow configured.</p>
	ShadowAlpha *float64 `json:"ShadowAlpha,omitnil,omitempty" name:"ShadowAlpha"`

	// <p>Line spacing. Positive integer.</p><ul><li>Pixel: Npx, N value ranges from 0 to 1000.</li><li>Percentage: N%, N value ranges from 0 to 100.</li></ul><p>Default value: 0</p>
	LineSpacing *string `json:"LineSpacing,omitnil,omitempty" name:"LineSpacing"`
}

type SuperResolutionInfo struct {
	// Super resolution control switch. Optional values:
	// <li>ON: Enable super resolution;</li>
	// <li>OFF: Disable screen super resolution.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The super resolution type. This parameter is valid only if `Switch` is `ON`. Valid values:
	// <li>`lq`: For low-resolution videos with obvious noise</li>
	// <li>`hq`: For high-resolution videos</li>
	// Default value: `lq`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// The ratio of the target resolution to the original resolution. Valid values: `2`.
	// Default value: `2`.
	Size *int64 `json:"Size,omitnil,omitempty" name:"Size"`
}

type SvgWatermarkInput struct {
	// Watermark width, which supports six formats of px, %, W%, H%, S%, and L%:
	// <li>If the string ends in px, the `Width` of the watermark will be in px; for example, `100px` means that `Width` is 100 px; if `0px` is entered
	//  and `Height` is not `0px`, the watermark width will be proportionally scaled based on the source SVG image; if `0px` is entered for both `Width` and `Height`, the watermark width will be the width of the source SVG image;</li>
	// <li>If the string ends in `W%`, the `Width` of the watermark will be the specified percentage of the video width; for example, `10W%` means that `Width` is 10% of the video width;</li>
	// <li>If the string ends in `H%`, the `Width` of the watermark will be the specified percentage of the video height; for example, `10H%` means that `Width` is 10% of the video height;</li>
	// <li>If the string ends in `S%`, the `Width` of the watermark will be the specified percentage of the short side of the video; for example, `10S%` means that `Width` is 10% of the short side of the video;</li>
	// <li>If the string ends in `L%`, the `Width` of the watermark will be the specified percentage of the long side of the video; for example, `10L%` means that `Width` is 10% of the long side of the video;</li>
	// <li>If the string ends in %, the meaning is the same as `W%`.</li>
	// Default value: 10W%.
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Watermark height, which supports six formats of px, %, W%, H%, S%, and L%:
	// <li>If the string ends in px, the `Height` of the watermark will be in px; for example, `100px` means that `Height` is 100 px; if `0px` is entered
	//  and `Width` is not `0px`, the watermark height will be proportionally scaled based on the source SVG image; if `0px` is entered for both `Width` and `Height`, the watermark height will be the height of the source SVG image;</li>
	// <li>If the string ends in `W%`, the `Height` of the watermark will be the specified percentage of the video width; for example, `10W%` means that `Height` is 10% of the video width;</li>
	// <li>If the string ends in `H%`, the `Height` of the watermark will be the specified percentage of the video height; for example, `10H%` means that `Height` is 10% of the video height;</li>
	// <li>If the string ends in `S%`, the `Height` of the watermark will be the specified percentage of the short side of the video; for example, `10S%` means that `Height` is 10% of the short side of the video;</li>
	// <li>If the string ends in `L%`, the `Height` of the watermark will be the specified percentage of the long side of the video; for example, `10L%` means that `Height` is 10% of the long side of the video;</li>
	// <li>If the string ends in %, the meaning is the same as `H%`.</li>
	// Default value: 0 px.
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`
}

type SvgWatermarkInputForUpdate struct {
	// Watermark width, which supports six formats of px, %, W%, H%, S%, and L%:
	// <li>If the string ends in px, the `Width` of the watermark will be in px; for example, `100px` means that `Width` is 100 px; if `0px` is entered
	//  and `Height` is not `0px`, the watermark width will be proportionally scaled based on the source SVG image; if `0px` is entered for both `Width` and `Height`, the watermark width will be the width of the source SVG image;</li>
	// <li>If the string ends in `W%`, the `Width` of the watermark will be the specified percentage of the video width; for example, `10W%` means that `Width` is 10% of the video width;</li>
	// <li>If the string ends in `H%`, the `Width` of the watermark will be the specified percentage of the video height; for example, `10H%` means that `Width` is 10% of the video height;</li>
	// <li>If the string ends in `S%`, the `Width` of the watermark will be the specified percentage of the short side of the video; for example, `10S%` means that `Width` is 10% of the short side of the video;</li>
	// <li>If the string ends in `L%`, the `Width` of the watermark will be the specified percentage of the long side of the video; for example, `10L%` means that `Width` is 10% of the long side of the video;</li>
	// <li>If the string ends in %, the meaning is the same as `W%`.</li>
	// Default value: 10W%.
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Height of a watermark, supporting six formats: px, %, W%, H%, S%, and L%.
	// <li>If a string ends with px, it means the watermark Height is in pixels, for example, 100px means the Height is 100 pixels; when 0px is filled and</li>
	// When Width is not 0px, it means the height of the watermark is proportionally scaled based on the original SVG image; when both Width and Height are set to 0px, it means the height of the watermark takes the height of the original SVG image;</li>
	// <li>If a string ends with W%, it indicates that the `Height` of a watermark is a percentage of a video's width. For example, `10W%` means that `Height` is 10% of a video's width.</li>
	// <li>If a string ends with H%, it indicates that the `Height` of a watermark is a percentage of a video's height. For example, `10H%` means that `Height` is 10% of a video's height.</li>
	// <li>If a string ends with S%, it indicates that the `Height` of a watermark is a percentage of a video's short side. For example, `10S%` means that `Height` is 10% of a video's short side.</li>
	// <li>If a string ends with L%, it indicates that the `Height` of a watermark is a percentage of the long side of the video. For example, `10L%` means that `Height` is 10% of the long side of the video.</li>
	// <li>When the string ends with %, it has the same meaning as H%.</li>
	// Default value: 0px.
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// Watermark period configuration is used to configure the watermark to be displayed and hidden periodically. 
	// The main usage scenario is: in order to prevent video from being blocked, watermarks are set in multiple places on the video. These watermarks are periodically displayed and hidden in a fixed order. 
	// For example, set four watermarks A, B, C, and D to be located in the upper left corner, upper right corner, lower right corner, and lower left corner of the video respectively. When the video starts, { A displays for 5 seconds -> B displays for 5 seconds -> C Display for 5 seconds -> D Display for 5 seconds} -> A Display for 5 seconds -> B Display for 5 seconds -> ..., only one watermark is displayed at any time. 
	// The curly brackets {} represent a large cycle consisting of 4 watermarks A, B, C, and D. It can be seen that each large cycle lasts 20 seconds. 
	// It can be seen that A, B, C, and D are periodically displayed for 5 seconds and hidden for 15 seconds, and the four have a fixed display order. 
	// This configuration item is used to describe the periodic configuration of a single watermark.
	// Note: This field may return null, indicating that no valid value can be obtained.
	//
	// Deprecated: CycleConfig is deprecated.
	CycleConfig *WatermarkCycleConfigForUpdate `json:"CycleConfig,omitnil,omitempty" name:"CycleConfig"`
}

type TEHDConfig struct {
	// TESHD transcoding type. Valid values: <li>TEHD-100</li> <li>OFF (default)</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Maximum video bitrate. Valid at that time when Type is specified as top speed Codec.
	// Leave it blank or set it to 0 to let VOD automatically set the bitrate cap.
	MaxVideoBitrate *uint64 `json:"MaxVideoBitrate,omitnil,omitempty" name:"MaxVideoBitrate"`
}

type TEHDConfigForUpdate struct {
	// TESHD transcoding type. Valid values: <li>TEHD-100</li> <li>OFF (default)</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Maximum bitrate. If this parameter is left blank, no modification will be made.
	MaxVideoBitrate *uint64 `json:"MaxVideoBitrate,omitnil,omitempty" name:"MaxVideoBitrate"`
}

type TagConfigureInfo struct {
	// Switch of intelligent tagging task. Valid values:
	// <li>ON: enables intelligent tagging task;</li>
	// <li>OFF: disables intelligent tagging task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type TagConfigureInfoForUpdate struct {
	// Switch of intelligent tagging task. Valid values:
	// <li>ON: enables intelligent tagging task;</li>
	// <li>OFF: disables intelligent tagging task.</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type TaskOutputMediaInfo struct {
	// Media file ID.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`


	MediaBasicInfo *MediaBasicInfo `json:"MediaBasicInfo,omitnil,omitempty" name:"MediaBasicInfo"`
}

type TaskSimpleInfo struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Valid values: WAITING (Waiting), PROCESSING (Processing), FINISH (Completed), ABORTED (Terminated).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Video ID
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// The task type. Valid values:
	// <li>`Procedure`: Video processing</li>
	// <li>`EditMedia`: Video editing</li>
	// <li>`ReduceMediaBitrate`: Bitrate reduction</li>
	// <li>`WechatDistribute`: Publishing to Weixin</li>
	// <li> `ReviewAudioVideo`: Moderation</li>
	// Task types for v2017:
	// <li>`Transcode`: Transcoding</li>
	// <li>`SnapshotByTimeOffset`: Screencapturing</li>
	// <li>`Concat`: Video splicing</li>
	// <li>`Clip`: Video clipping</li>
	// <li>`ImageSprites`: Image sprite generating</li>
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Creation time of task in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Start time of task execution in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I). If the task has not been started yet, this field will be empty.
	BeginProcessTime *string `json:"BeginProcessTime,omitnil,omitempty" name:"BeginProcessTime"`

	// End time of task in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I). If the task has not been completed yet, this field will be empty.
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`

	// ID used for deduplication if there was a request with the same ID in the last seven days.
	SessionId *string `json:"SessionId,omitnil,omitempty" name:"SessionId"`

	// Source context, which is used to pass through the user request information.
	SessionContext *string `json:"SessionContext,omitnil,omitempty" name:"SessionContext"`
}

type TaskStatData struct {
	// Task type.
	// <li>Transcoding: standard transcoding</li>
	// <li>Transcoding-TESHD: TSC transcoding</li>
	// <li>Editing: video editing</li>
	// <li> Editing-TESHD: Extremely fast high-definition video editing</li>
	// <li>AdaptiveBitrateStreaming: adaptive bitrate streaming</li>
	// <li>ContentAudit: content moderation</li>
	// <li>ContentRecognition: content recognition</li>
	// <li> RemoveWatermark: Watermark removal</li>
	// <li>ExtractTraceWatermark: extract watermark</li>
	// <li> AddTraceWatermark: Add watermark</li>
	// <li> RebuildMedia: Audio and video quality revival</li>
	// <li>QualityInspect: audio and video quality inspection</li>
	// <li>Transcode: Transcode, including standard transcoding, top speed Codec, and video editing (This is not recommended)</li>
	// <li>VoiceTranslation: speech translation</li>
	// <li>JITTranscoding: JIT transcoding.</li>
	// <li>VideoSnapshot: video screenshot.</li>
	// <li>JITEncryption: Instant encryption</li>
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Task statistics overview (usage unit: second).
	Summary []*TaskStatDataItem `json:"Summary,omitnil,omitempty" name:"Summary"`

	// Task statistics data of different specifications.
	// Transcoding specification:
	// <li>Remuxing: conversion to muxing.</li>
	// <li>Audio: audio transcoding</li>
	// <li>Standard.H264.SD: H.264 encoding standard-definition transcoding</li>
	// <li>Standard.H264.HD: H.264 encoding high-definition transcoding</li>
	// <li>Standard.H264.FHD: H.264 encoding full high-definition transcoding</li>
	// <li>Standard.H264.2K: H.264 encoding 2K transcode</li>
	// <li>Standard.H264.4K: H.264 encoding 4K transcode</li>
	// <li>Standard.H265.SD: H.265 encoding standard definition transcode</li>
	// <li>Standard.H265.HD: H.265 encoding high-definition transcoding</li>
	// <li>Standard.H265.FHD: H.265 encoding full HD transcoding</li>
	// <li>Standard.H265.2K: 2K transcoding with H.265 encoding</li>
	// <li>Standard.H265.4K: H.265 encoding 4K transcode</li>
	// <li>TESHD-10.H264.SD: H.264 encoding type standard definition TSC transcoding</li>
	// <li>TESHD-10.H264.HD: H.264 encoding high-definition TSC transcoding</li>
	// <li>TESHD-10.H264.FHD: H.264 full HD TSC transcoding</li>
	// <li>TESHD-10.H264.2K: H.264 encoding type 2K TSC transcoding</li>
	// <li>TESHD-10.H264.4K: H.264 encoding type 4K TSC transcoding</li>
	// <li>TESHD-10.H265.SD: H.265 encoding type SD TSC transcoding</li>
	// <li>TESHD-10.H265.HD: H.265 encoding type high-definition TSC transcoding</li>
	// <li>TESHD-10.H265.FHD: H.265 encoding full HD TSC transcoding</li>
	// <li>TESHD-10.H265.2K: H.265 encoding type 2K TSC transcoding</li>
	// <li>TESHD-10.H265.4K: H.265 encoding type 4K TSC transcoding</li>
	// <li>Edit.Audio: audio editing</li>
	// <li>Edit.H264.SD: H.264 encoding standard-definition video editing</li>
	// <li>Edit.H264.HD: H.264 encoding high-definition video edit</li>
	// <li>Edit.H264.FHD: H.264 Full HD video editing</li>
	// <li>Edit.H264.2K: H.264 encoding 2K video editing</li>
	// <li>Edit.H264.4K: H.264 encoding 4K video editing</li>
	// <li>Edit.H265.SD: H.265-encoded standard-definition video editing</li>
	// <li>Edit.H265.HD: H.265 encoding high-definition video editing</li>
	// <li>Edit.H265.FHD: Full HD video editing with H.265 encoding</li>
	// <li>Edit.H265.2K: H.265 encoding 2K video editing</li>
	// <li>Edit.H265.4K: H.265 encoding 4K video editing</li>
	// <li>Edit.TESHD-10.H264.SD: H.264 encoding type standard-definition extremely fast high-definition video editing</li>
	// <li>Edit.TESHD-10.H264.HD: H.264 encoding high-definition extremely fast high-definition video editing</li>
	// <li>Edit.TESHD-10.H264.FHD: Full HD extremely fast high-definition video editing with H.264 encoding</li>
	// <li>Edit.TESHD-10.H264.2K: H.264 encoding 2K extremely fast high-definition video editing</li>
	// <li>Edit.TESHD-10.H264.4K: H.264 encoding mode 4K extremely fast high-definition video editing</li>
	// <li>Edit.TESHD-10.H265.SD: H.265-encoded standard-definition extremely fast high-definition video editing</li>
	// <li>Edit.TESHD-10.H265.HD: H.265 encoding high-definition extremely fast high-definition video editing</li>
	// <li>Edit.TESHD-10.H265.FHD: Full HD extremely fast high-definition video editing with H.265 encoding</li>
	// <li>Edit.TESHD-10.H265.2K: H.265 encoding 2K extremely fast high-definition video editing</li>
	// <li>Edit.TESHD-10.H265.4K: H.265 encoding 4K extremely fast high-definition video editing</li>
	// Watermark removal, audio and video quality revival specification:
	// <li>480P: Short edge ≤ 480px</li>
	// <li>720P: Short edge ≤ 720px</li>
	// <li>1080P: Short edge ≤ 1080px</li>
	// <li>2K: Short edge ≤ 1440px</li>
	// <li>4K: Short edge ≤ 2160px</li>
	// <li>8K: Short edge ≤ 4320px</li>
	// <li>Audio: audio</li>
	// Instant transcoding specification:
	// <li>JITTranscoding.H264.SD: H.264 encoding standard definition JIT transcoding</li>
	// <li>JITTranscoding.H264.HD: H.264 encoding high-definition JIT transcoding</li>
	// <li>JITTranscoding.H264.FHD: H.264 encoding full HD JIT transcoding</li>
	// <li>JITTranscoding.H264.2K: H.264 encoding type 2K JIT transcoding</li>
	// <li>JITTranscoding.Audio: JIT transcoding for audio</li>
	// <li>JITTranscoding.Copy: JIT transcoding remuxing</li>
	// Video screenshot specification:
	// <li>SnapshotByTimeOffset: time point screenshot</li>
	// <li>SampleSnapshot: sampled screenshot</li>
	// <li>ImageSprite: sprite sheet</li>
	Details []*SpecificationDataItem `json:"Details,omitnil,omitempty" name:"Details"`
}

type TaskStatDataItem struct {
	// Start time of data time range in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#iso-.E6.97.A5.E6.9C.9F.E6.A0.BC.E5.BC.8F). For example, if the time granularity is 1-day, `2018-12-01T00:00:00+08:00` represents the time range between December 1, 2018 (inclusive) and December 2, 2018 (not inclusive).
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// Number of tasks.
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Task usage.
	Usage *int64 `json:"Usage,omitnil,omitempty" name:"Usage"`
}

type TempCertificate struct {
	// Temporary security certificate ID.
	SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"`

	// Temporary security certificate `Key`.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Token value.
	Token *string `json:"Token,omitnil,omitempty" name:"Token"`

	// Certificate expiration time. A Unix timestamp will be returned which is accurate down to the second.
	ExpiredTime *uint64 `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
}

type TerrorismConfigureInfo struct {
	// Image recognition involves task control parameters for unsafe information.
	ImgReviewInfo *TerrorismImgReviewTemplateInfo `json:"ImgReviewInfo,omitnil,omitempty" name:"ImgReviewInfo"`

	// Text identification involves task control parameters for unsafe information.
	OcrReviewInfo *TerrorismOcrReviewTemplateInfo `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type TerrorismConfigureInfoForUpdate struct {
	// Parameters for recognition of terrorism content in images
	ImgReviewInfo *TerrorismImgReviewTemplateInfoForUpdate `json:"ImgReviewInfo,omitnil,omitempty" name:"ImgReviewInfo"`

	// Parameters for OCR-based recognition of terrorism content
	OcrReviewInfo *TerrorismOcrReviewTemplateInfoForUpdate `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type TerrorismImageResult struct {
	// The confidence score for the moderation result. Value range: 0-100.
	Confidence *float64 `json:"Confidence,omitnil,omitempty" name:"Confidence"`

	// The suggestion for handling the detected terrorist content. Valid values:
	// <li>pass/li>
	// <li>review</li>
	// <li>block</li>
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// The label for the detected terrorist content. Valid values:
	// <li>`guns`</li>
	// <li>`crowd`</li>
	// <li>`police`</li>
	// <li>`bloody`</li>
	// <li>`banners`</li>
	// <li>`explosion`</li>
	// <li>`scenario` (terrorist scenes) </li>
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`
}

type TerrorismImgReviewTemplateInfo struct {
	// Whether to enable recognition of terrorism content in images. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for recognition of terrorism content in images. Results containing the specified labels are returned. If no labels are specified, all results are returned. Valid values:
	// <li>`guns`: weapons and guns</li>
	// <li>`crowd`: crowd</li>
	// <li>`bloody`: bloody scenes</li>
	// <li>`police`: police force</li>
	// <li>`banners`: terrorism flags</li>
	// <li>`militant`: militants</li>
	// <li>`explosion`: explosions and fires</li>
	// <li>`terrorists`: terrorists</li>
	// <li>`scenario`: terrorism images</li>
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `90` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `80` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type TerrorismImgReviewTemplateInfoForUpdate struct {
	// Whether to enable recognition of terrorism content in images. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for recognition of terrorism content in images. Results containing the specified labels are returned. If no labels are specified, all results are returned. Valid values:
	// <li>`guns`: weapons and guns</li>
	// <li>`crowd`: crowd</li>
	// <li>`bloody`: bloody scenes</li>
	// <li>`police`: police force</li>
	// <li>`banners`: terrorism flags</li>
	// <li>`militant`: militants</li>
	// <li>`explosion`: explosions and fires</li>
	// <li>`terrorists`: terrorists</li>
	// <li>`scenario`: terrorism images</li>
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type TerrorismOcrReviewTemplateInfo struct {
	// Whether to enable OCR-based recognition of terrorism content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type TerrorismOcrReviewTemplateInfoForUpdate struct {
	// Whether to enable OCR-based recognition of terrorism content. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type TextWatermarkTemplateInput struct {
	// Font type. Currently, two types are supported:
	// <li>simkai.ttf: both Chinese and English are supported;</li>
	// <li>arial.ttf: only English is supported.</li>
	FontType *string `json:"FontType,omitnil,omitempty" name:"FontType"`

	// Font size in Npx format where N is a numeric value.
	FontSize *string `json:"FontSize,omitnil,omitempty" name:"FontSize"`

	// Font color in 0xRRGGBB format. Default value: 0xFFFFFF (white).
	FontColor *string `json:"FontColor,omitnil,omitempty" name:"FontColor"`

	// Text transparency. Value range: (0, 1]
	// <li>0: completely transparent</li>
	// <li>1: completely opaque</li>
	// Default value: 1.
	FontAlpha *float64 `json:"FontAlpha,omitnil,omitempty" name:"FontAlpha"`
}

type TextWatermarkTemplateInputForUpdate struct {
	// Font type. Currently, two types are supported:
	// <li>simkai.ttf: both Chinese and English are supported;</li>
	// <li>arial.ttf: only English is supported.</li>
	FontType *string `json:"FontType,omitnil,omitempty" name:"FontType"`

	// Font size in Npx format where N is a numeric value.
	FontSize *string `json:"FontSize,omitnil,omitempty" name:"FontSize"`

	// Font color in 0xRRGGBB format. Default value: 0xFFFFFF (white).
	FontColor *string `json:"FontColor,omitnil,omitempty" name:"FontColor"`

	// Text transparency. Value range: (0, 1]
	// <li>0: completely transparent</li>
	// <li>1: completely opaque</li>
	FontAlpha *float64 `json:"FontAlpha,omitnil,omitempty" name:"FontAlpha"`
}

type ThirdPartyDrmInfo struct {
	// <p>Encryption type:</p><ul><li>FairPlay: Can only be used for HLS. The slice format can only be mp4.</li><li>Widevine: Can be used for HLS and DASH. The slice format can only be mp4.</li><li>PlayReady: Can be used for HLS and DASH. The slice format can only be mp4.</li><li>Widevine+FairPlay, PlayReady+FairPlay, Widevine PlayReady FairPlay composite: Can only be used for HLS. The slice format can only be mp4.</li><li>Widevine PlayReady composite: Can be used for HLS and MPEG-DASH. The slice format can only be mp4.</li></ul>
	DrmTypes []*string `json:"DrmTypes,omitnil,omitempty" name:"DrmTypes"`

	// <p>External DRM vendor information.</p>
	SPEKEDrm *SPEKEDrm `json:"SPEKEDrm,omitnil,omitempty" name:"SPEKEDrm"`
}

type TimeRange struct {
	// <li>After or at this time (start time).</li>
	// <li>In ISO 8601 format. For more information, please see [ISO Date Format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).</li>
	After *string `json:"After,omitnil,omitempty" name:"After"`

	// <li>Earlier than this time (end time).</li>
	// <li>In ISO 8601 format. For more information, please see [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).</li>
	Before *string `json:"Before,omitnil,omitempty" name:"Before"`
}

type TraceWatermarkInput struct {
	// Whether to use digital watermarks. This parameter is required. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// This parameter has been deprecated.
	//
	// Deprecated: Definition is deprecated.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`
}

type TranscodePlayInfo2017 struct {
	// Playback address.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Transcoding specification ID. For more information, please see [Transcoding Parameter Template](https://intl.cloud.tencent.com/document/product/266/33478?from_cn_redirect=1#.E8.BD.AC.E7.A0.81.E6.A8.A1.E6.9D.BF).
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Sum of the average bitrate of a video stream and that of an audio stream in bps.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// Maximum value of the height of a video stream in px.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Maximum value of the width of a video stream in px.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`
}

type TranscodeTask2017 struct {
	// Transcoding task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// ID of transcoded file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Name of transcoded file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// Video duration in seconds.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Duration *uint64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// Cover address.
	// Note: this field may return null, indicating that no valid values can be obtained.
	CoverUrl *string `json:"CoverUrl,omitnil,omitempty" name:"CoverUrl"`

	// Playback information generated after video transcoding.
	// Note: this field may return null, indicating that no valid values can be obtained.
	PlayInfoSet []*TranscodePlayInfo2017 `json:"PlayInfoSet,omitnil,omitempty" name:"PlayInfoSet"`
}

type TranscodeTaskInput struct {
	// <p>Video transcoding template ID.</p>
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Watermark list. Up to 10 image or text watermarks are supported.</p>
	WatermarkSet []*WatermarkInput `json:"WatermarkSet,omitnil,omitempty" name:"WatermarkSet"`

	// <p>Traceable watermark.</p>
	TraceWatermark *TraceWatermarkInput `json:"TraceWatermark,omitnil,omitempty" name:"TraceWatermark"`

	// <p>Copyright watermark.</p>
	CopyRightWatermark *CopyRightWatermarkInput `json:"CopyRightWatermark,omitnil,omitempty" name:"CopyRightWatermark"`

	// <p>Digital watermark.</p>
	BlindWatermark *BlindWatermarkInput `json:"BlindWatermark,omitnil,omitempty" name:"BlindWatermark"`

	// <p>Mosaic list. Up to 10 are supported.</p>
	MosaicSet []*MosaicInput `json:"MosaicSet,omitnil,omitempty" name:"MosaicSet"`

	// <p>Opening and ending list. Up to 10 opening and ending sequences are supported.</p>
	HeadTailSet []*HeadTailTaskInput `json:"HeadTailSet,omitnil,omitempty" name:"HeadTailSet"`

	// <p>Start time offset of the transcoded video, unit: second.</p><li>Leave it blank or enter 0 means the transcoded video starts from the start position of the original video.</li><li>When the value is greater than 0 (assume it is n), it means the transcoded video starts from the nth second position of the original video.</li><li>When the value is less than 0 (assume it is -n), it means the transcoded video starts from the position n seconds before the end of the original video.</li>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// <p>Offset of the termination time of the transcoded video, unit: second.</p><li>Leave it blank or enter 0 means the transcoded video lasts until the end of the original video.</li><li>When the value is greater than 0 (assume it is n), it means the transcoded video lasts until the nth second of the original video.</li><li>When the value is less than 0 (assume it is -n), it means the transcoded video lasts until n seconds before the end of the original video.</li>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`

	// <p>Custom video transcoding parameters.</p>
	OverrideParameter *OverrideTranscodeParameter `json:"OverrideParameter,omitnil,omitempty" name:"OverrideParameter"`

	// <p>List of subtitle suppression information. Up to 2 are supported.</p>
	SubtitleInfoSet []*SubtitleInfoInput `json:"SubtitleInfoSet,omitnil,omitempty" name:"SubtitleInfoSet"`
}

type TranscodeTemplate struct {
	// <p>Unique identifier of the transcoding template.</p>
	Definition *string `json:"Definition,omitnil,omitempty" name:"Definition"`

	// <p>Container format. Valid values: mp4, flv, hls, mp3, flac, and ogg.</p>
	Container *string `json:"Container,omitnil,omitempty" name:"Container"`

	// <p>Transcoding template name.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Template description information.</p>
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// <p>Template type. Value:</p><li>Preset: preset template.</li><li>Custom: custom template.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Whether to remove video data. Value:</p><li>0: Reserved;</li><li>1: Remove.</li>
	RemoveVideo *int64 `json:"RemoveVideo,omitnil,omitempty" name:"RemoveVideo"`

	// <p>Remove audio data. Parameter value:</p><li>0: reserved;</li><li>1: remove.</li>
	RemoveAudio *int64 `json:"RemoveAudio,omitnil,omitempty" name:"RemoveAudio"`

	// <p>Video stream configuration parameters. This field is valid only when RemoveVideo is 0.</p>
	VideoTemplate *VideoTemplateInfo `json:"VideoTemplate,omitnil,omitempty" name:"VideoTemplate"`

	// <p>Audio stream configuration parameters. This field is valid only when RemoveAudio is 0.</p>
	AudioTemplate *AudioTemplateInfo `json:"AudioTemplate,omitnil,omitempty" name:"AudioTemplate"`

	// <p>TSC transcoding parameter.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	TEHDConfig *TEHDConfig `json:"TEHDConfig,omitnil,omitempty" name:"TEHDConfig"`

	// <p>Audio/Video enhancement configuration.</p>
	// Note: This field may return null, indicating that no valid values can be obtained.
	EnhanceConfig *EnhanceConfig `json:"EnhanceConfig,omitnil,omitempty" name:"EnhanceConfig"`

	// <p>Container format filter criteria. Valid values:</p><li>Video: Video format, can contain both video stream and audio stream.</li><li>PureAudio: Pure audio format, can only contain audio stream.</li>
	ContainerType *string `json:"ContainerType,omitnil,omitempty" name:"ContainerType"`

	// <p>Template creation time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Last template modification time, in <a href="https://www.tencentcloud.com/document/product/266/11732?from_cn_redirect=1#I">ISO date format</a>.</p>
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// <p>Segment type. Valid only when Container is hls.</p>
	SegmentType *string `json:"SegmentType,omitnil,omitempty" name:"SegmentType"`

	// <p>Extended parameter.</p>
	StdExtInfo *string `json:"StdExtInfo,omitnil,omitempty" name:"StdExtInfo"`
}

type TransitionOperation struct {
	// Transition type, the values u200bu200bare:
	// <ul>
	// <li>Image transition operation, used for transition processing between two video clip images:
	// <ul>
	// <li>ImageFadeInFadeOut: image fade in and fade out. </li>
	// <li>BowTieHorizontal: horizontal bow tie. </li>
	// <li>BowTieVertical: vertical bow tie. </li>
	// <li>ButterflyWaveScrawler: Shake. </li>
	// <li>Cannabisleaf: maple leaf. </li>
	// <li>Circle: Arc retraction. </li>
	// <li>CircleCrop: Circles gather together. </li>
	// <li>Circleopen: ellipse gathering. </li>
	// <li>Crosswarp: Horizontal warping. </li>
	// <li>Cube: Cube. </li>
	// <li>DoomScreenTransition: Curtain. </li>
	// <li>Doorway: Porch. </li>
	// <li>Dreamy: Wave. </li>
	// <li>DreamyZoom: Horizontal zoom. </li>
	// <li>FilmBurn: Fire Burning Cloud. </li>
	// <li>GlitchMemories: Glitch. </li>
	// <li>Heart: heart shape. </li>
	// <li>InvertedPageCurl: Page turning. </li>
	// <li>Luma: Corrosion. </li>
	// <li>Mosaic: Nine-square grid. </li>
	// <li>Pinwheel: Windmill. </li>
	// <li>PolarFunction: elliptical diffusion. </li>
	// <li>PolkaDotsCurtain: Arc diffusion. </li>
	// <li>Radial: radar scanning </li>
	// <li>RotateScaleFade: up and down. </li>
	// <li>Squeeze: gather up and down. </li>
	// <li>Swap: zoom in and switch. </li>
	// <li>Swirl: spiral. </li>
	// <li>UndulatingBurnOutSwirl: Water spreading. </li>
	// <li>Windowblinds: blinds. </li>
	// <li>WipeDown: Wrap downward. </li>
	// <li>WipeLeft: Wrap to the left. </li>
	// <li>WipeRight: Wrap to the right. </li>
	// <li>WipeUp: Wrap up. </li>
	// <li>ZoomInCircles: Water ripples. </li>
	// </ul>
	// </li>
	// <li>Audio transition operation, used for transition processing between two audio clips:
	// <ul>
	// <li>AudioFadeInFadeOut : The sound fades in and out. </li>
	// </ul>
	// </li>
	// </ul>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type TransitionOpertion struct {
	// Transition type. Valid values:
	// <ul>
	// <li>Video image transition operation, which is used for transition with video image between two video segments:
	// <ul>
	// <li>ImageFadeInFadeOut: video image fade-in/fade-out.</li>
	// <li>BowTieHorizontal: horizontal bow.</li>
	// <li>BowTieVertical: vertical bow.</li>
	// <li>ButterflyWaveScrawler: waggling.</li>
	// <li>Cannabisleaf: maple leaf.</li>
	// <li> Circle: curved circling.</li>
	// <li>CircleCrop: circle gathering.</li>
	// <li>Circleopen: elliptic gathering.</li>
	// <li>Crosswarp: horizontal warping.</li>
	// <li>Cube: cube.</li>
	// <li>DoomScreenTransition: curtain.</li>
	// <li>Doorway: doorway.</li>
	// <li>Dreamy: wave.</li>
	// <li>DreamyZoom: horizontal gathering.</li>
	// <li>FilmBurn: evening glow.</li>
	// <li>GlitchMemories: joggling.</li>
	// <li>Heart: heart.</li>
	// <li>InvertedPageCurl: page turning.</li>
	// <li>Luma: corroding.</li>
	// <li>Mosaic: grid.</li>
	// <li>Pinwheel: pinwheel.</li>
	// <li>PolarFunction: elliptic diffusing.</li>
	// <li>PolkaDotsCurtain: curved diffusing.</li>
	// <li>Radial: radar scan.</li>
	// <li>RotateScaleFade: vertical rotating.</li>
	// <li>Squeeze: vertical gathering.</li>
	// <li>Swap: zooming in.</li>
	// <li>Swirl: swirling.</li>
	// <li>UndulatingBurnOutSwirl: water spreading.</li>
	// <li>Windowblinds: blinds.</li>
	// <li>WipeDown: collapsing down.</li>
	// <li>WipeLeft: collapsing to the left.</li>
	// <li>WipeRight: collapsing to the right.</li>
	// <li>WipeUp: collapsing up.</li>
	// <li>ZoomInCircles: ripples.</li>
	// </ul>
	// </li>
	// <li>Audio transition operation, which is used for transition between two audio segments:
	// <ul>
	// <li>AudioFadeInFadeOut: audio fade-in/fade-out.</li>
	// </ul>
	// </li>
	// </ul>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type TrtcRecordInfo struct {
	// The TRTC application ID.
	SdkAppId *uint64 `json:"SdkAppId,omitnil,omitempty" name:"SdkAppId"`

	// The TRTC room ID.
	RoomId *string `json:"RoomId,omitnil,omitempty" name:"RoomId"`

	// The recording task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The IDs of users whose streams are mixed.
	UserIds []*string `json:"UserIds,omitnil,omitempty" name:"UserIds"`
}

// Predefined struct for user
type UpdateAigcApiTokenRequestParams struct {
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, to access resources in on-demand applications (whether it is the default application or a newly created application), you must fill in this field with the application ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>To refresh the Api Key</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`

	// <p>Merge (default, merges ExtInfo JSON by top-level key), Overwrite (directly overwrite)</p>
	ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"`

	// <p>Extended information of the token</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

type UpdateAigcApiTokenRequest struct {
	*tchttp.BaseRequest
	
	// <p><b>Video-on-demand (VOD) <a href="/document/product/266/14574?from_cn_redirect=1">application</a> ID. For customers who activate on-demand services from December 25, 2023, to access resources in on-demand applications (whether it is the default application or a newly created application), you must fill in this field with the application ID.</b></p>
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// <p>To refresh the Api Key</p>
	ApiToken *string `json:"ApiToken,omitnil,omitempty" name:"ApiToken"`

	// <p>Merge (default, merges ExtInfo JSON by top-level key), Overwrite (directly overwrite)</p>
	ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"`

	// <p>Extended information of the token</p>
	ExtInfo *string `json:"ExtInfo,omitnil,omitempty" name:"ExtInfo"`
}

func (r *UpdateAigcApiTokenRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAigcApiTokenRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SubAppId")
	delete(f, "ApiToken")
	delete(f, "ActionType")
	delete(f, "ExtInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAigcApiTokenRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateAigcApiTokenResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateAigcApiTokenResponse struct {
	*tchttp.BaseResponse
	Response *UpdateAigcApiTokenResponseParams `json:"Response"`
}

func (r *UpdateAigcApiTokenResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAigcApiTokenResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type UrlSignatureAuthPolicy struct {
	// Whether to enable or disable [key hotlink protection](https://intl.cloud.tencent.com/document/product/266/33986). Valid values:
	// <li>`Enabled`: enable</li>
	// <li>`Disabled`: disable</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The key for generating the signature of [key hotlink protection](https://intl.cloud.tencent.com/document/product/266/33986).
	// `EncryptedKey` can contain 8-40 bytes, and cannot contain non-printable characters.
	EncryptedKey *string `json:"EncryptedKey,omitnil,omitempty" name:"EncryptedKey"`
}

type UserAgentFilter struct {
	// UserAgent blacklist and whitelist configuration switch, the values u200bu200bare: <li>on: on; </li> <li>off: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// UA blacklist/whitelist effect rule list
	FilterRules []*UserAgentFilterRule `json:"FilterRules,omitnil,omitempty" name:"FilterRules"`
}

type UserAgentFilterRule struct {
	// UA blacklist type: <li>whitelist: whitelist;</li> <li>blacklist: blacklist. </li>
	FilterType *string `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// UserAgent list.
	UserAgents []*string `json:"UserAgents,omitnil,omitempty" name:"UserAgents"`

	// Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li>
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Matching content under the corresponding type of RuleType: <li>Fill in * when all is used;</li> <li>Fill in suffix name when file is used, such as jpg, txt;</li> <li>Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li>
	RulePaths []*string `json:"RulePaths,omitnil,omitempty" name:"RulePaths"`
}

type UserDefineAsrTextReviewTemplateInfo struct {
	// Whether to enable custom ASR-based recognition. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for custom ASR-based recognition. Results containing the specified labels are returned. If no labels are specified, all results are returned. To filter by labels, specify the labels when adding keywords for custom ASR-based recognition.
	// Up to 10 labels are allowed, each containing no more than 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type UserDefineAsrTextReviewTemplateInfoForUpdate struct {
	// Whether to enable custom ASR-based recognition. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for custom ASR-based recognition. Results containing the specified labels are returned. If no labels are specified, all results are returned. To filter by labels, specify the labels when adding keywords for custom ASR-based recognition.
	// Up to 10 labels are allowed, each containing no more than 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type UserDefineConfigureInfo struct {
	// User-defined character video moderation control parameter.
	FaceReviewInfo *UserDefineFaceReviewTemplateInfo `json:"FaceReviewInfo,omitnil,omitempty" name:"FaceReviewInfo"`

	// User custom voice video moderation control parameter.
	AsrReviewInfo *UserDefineAsrTextReviewTemplateInfo `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// User custom text video moderation control parameter.
	OcrReviewInfo *UserDefineOcrTextReviewTemplateInfo `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type UserDefineConfigureInfoForUpdate struct {
	// Parameters for custom facial recognition
	FaceReviewInfo *UserDefineFaceReviewTemplateInfoForUpdate `json:"FaceReviewInfo,omitnil,omitempty" name:"FaceReviewInfo"`

	// Parameters for custom ASR-based recognition
	AsrReviewInfo *UserDefineAsrTextReviewTemplateInfoForUpdate `json:"AsrReviewInfo,omitnil,omitempty" name:"AsrReviewInfo"`

	// Parameters for custom OCR-based recognition
	OcrReviewInfo *UserDefineOcrTextReviewTemplateInfoForUpdate `json:"OcrReviewInfo,omitnil,omitempty" name:"OcrReviewInfo"`
}

type UserDefineFaceReviewTemplateInfo struct {
	// Whether to enable custom facial recognition. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for custom facial recognition. Results containing the specified labels are returned. If no labels are specified, all results are returned. To filter by labels, specify the labels when adding custom facial libraries.
	// Up to 10 labels are allowed, each containing no more than 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `97` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `95` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type UserDefineFaceReviewTemplateInfoForUpdate struct {
	// Whether to enable custom facial recognition. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for custom facial recognition. Results containing the specified labels are returned. If no labels are specified, all results are returned. To filter by labels, specify the labels when adding custom facial libraries.
	// Up to 10 labels are allowed, each containing no more than 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type UserDefineOcrTextReviewTemplateInfo struct {
	// Whether to enable custom OCR-based recognition. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for custom OCR-based recognition. Results containing the specified labels are returned. If no labels are specified, all results are returned. To filter by labels, specify the labels when adding keywords for custom OCR-based recognition.
	// Up to 10 labels are allowed, each containing no more than 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. If this parameter is left empty, `100` will be used by default. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. If this parameter is left empty, `75` will be used by default. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

type UserDefineOcrTextReviewTemplateInfoForUpdate struct {
	// Whether to enable custom OCR-based recognition. Valid values:
	// <li>ON</li>
	// <li>OFF</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Filter labels for custom OCR-based recognition. Results containing the specified labels are returned. If no labels are specified, all results are returned. To filter by labels, specify the labels when adding keywords for custom OCR-based recognition.
	// Up to 10 labels are allowed, each containing no more than 16 characters.
	LabelSet []*string `json:"LabelSet,omitnil,omitempty" name:"LabelSet"`

	// Confidence score threshold for determining that something should be blocked. If this threshold is reached, VOD will suggest that the content be blocked. Value range: 0-100
	BlockConfidence *int64 `json:"BlockConfidence,omitnil,omitempty" name:"BlockConfidence"`

	// Confidence score threshold for human review. If this threshold is reached, human review is needed. Value range: 0-100
	ReviewConfidence *int64 `json:"ReviewConfidence,omitnil,omitempty" name:"ReviewConfidence"`
}

// Predefined struct for user
type VerifyDomainRecordRequestParams struct {
	// Need to access the VOD acceleration domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD services after December 25, 2024, they must fill this field with the app ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>	
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// VerifyType:
	// <li>dns: DNS Parse verification; </li>
	// <li>fIle: Document verification.</li>
	// 
	// Default value: dns.
	VerifyType *string `json:"VerifyType,omitnil,omitempty" name:"VerifyType"`
}

type VerifyDomainRecordRequest struct {
	*tchttp.BaseRequest
	
	// Need to access the VOD acceleration domain name.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// <b>VOD [application](https://www.tencentcloud.com/document/product/266/14574?from_cn_redirect=1) ID. For customers who activate VOD services after December 25, 2024, they must fill this field with the app ID when accessing resources in on-demand applications (whether it's the default application or a newly created application).</b>	
	SubAppId *uint64 `json:"SubAppId,omitnil,omitempty" name:"SubAppId"`

	// VerifyType:
	// <li>dns: DNS Parse verification; </li>
	// <li>fIle: Document verification.</li>
	// 
	// Default value: dns.
	VerifyType *string `json:"VerifyType,omitnil,omitempty" name:"VerifyType"`
}

func (r *VerifyDomainRecordRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *VerifyDomainRecordRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "SubAppId")
	delete(f, "VerifyType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "VerifyDomainRecordRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type VerifyDomainRecordResponseParams struct {
	// Whether the verification is successful.
	Result *bool `json:"Result,omitnil,omitempty" name:"Result"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type VerifyDomainRecordResponse struct {
	*tchttp.BaseResponse
	Response *VerifyDomainRecordResponseParams `json:"Response"`
}

func (r *VerifyDomainRecordResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *VerifyDomainRecordResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type VideoConfigureInfo struct {
	// The maximum value of the video stream width (or long side), value range: 0 and [128, 1920], unit: px. 
	// <li>When Width and Height are both 0, the resolution is from the same source;</li>
	// <li>When Width is 0 and Height is non-0, Width is scaled proportionally;</li>
	// < li>When Width is non-0 and Height is 0, the Height is scaled proportionally; </li>
	// <li>When both Width and Height are non-0, the resolution is specified by the user. </li>
	// 
	// Default value: 0.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of the video stream height (or short side), value range: 0 and [128, 1920], unit: px. 
	// <li>When Width and Height are both 0, the resolution is from the same source;</li>
	// <li>When Width is 0 and Height is non-0, Width is scaled proportionally;</li>
	// < li>When Width is non-0 and Height is 0, the Height is scaled proportionally; </li>
	// <li>When both Width and Height are non-0, the resolution is specified by the user. </li>
	// 
	// Default value: 0.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptive, optional values:
	// <li>open: open, at this time, Width represents the long side of the video, and Height represents the short side of the video;</li>
	// <li>close: closed, at this time , Width represents the width of the video, and Height represents the height of the video. </li>
	// 
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Bitrate of video stream, value ranges from 0 to [128, 10000]. Measurement unit: kbps.
	// When the value is 0, VOD automatically sets the bitrate.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`
}

type VideoConfigureInfoForUpdate struct {
	// The maximum value of the video stream width (or long side), value range: 0 and [128, 1920], unit: px. 
	// <li>When Width and Height are both 0, the resolution is from the same source;</li>
	// <li>When Width is 0 and Height is non-0, Width is scaled proportionally;</li>
	// < li>When Width is non-0 and Height is 0, the Height is scaled proportionally; </li>
	// <li>When both Width and Height are non-0, the resolution is specified by the user. </li>
	// 
	// Default value: 0.
	Width *int64 `json:"Width,omitnil,omitempty" name:"Width"`

	// The maximum value of the video stream height (or short side), value range: 0 and [128, 1920], unit: px. 
	// <li>When Width and Height are both 0, the resolution is from the same source;</li>
	// <li>When Width is 0 and Height is non-0, Width is scaled proportionally;</li>
	// < li>When Width is non-0 and Height is 0, the Height is scaled proportionally; </li>
	// <li>When both Width and Height are non-0, the resolution is specified by the user. </li>
	// 
	// Default value: 0.
	Height *int64 `json:"Height,omitnil,omitempty" name:"Height"`

	// Resolution adaptive, optional values:
	// <li>open: open, at this time, Width represents the long side of the video, and Height represents the short side of the video;</li>
	// <li>close: closed, at this time , Width represents the width of the video, and Height represents the height of the video. </li>
	// 
	// Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// Bitrate of video stream, value ranges from 0 to [128, 10000], measurement unit: kbps.
	// When the value is 0, it means VOD automatically sets the bitrate.
	Bitrate *int64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`
}

type VideoDenoiseInfo struct {
	// Whether to enable image noise removal. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The image noise removal type. This parameter is valid only if `Switch` is `ON`. Valid values:
	// <li>`weak`</li>
	// <li>`strong`</li>
	// Default value: `weak`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type VideoEnhanceConfig struct {
	// Enhancement scenario configuration. Valid values:
	// <li>common: general enhancement parameters, which are basic optimization parameters suitable for various video types, enhancing overall video quality.</li>
	// <li>AIGC: overall resolution enhancement. It leverages AI technology to improve the overall video resolution and enhance image clarity.</li>
	// <li>short_play: enhance facial and subtitle details, emphasizing characters' facial expressions and subtitle clarity to improve the viewing experience.</li>
	// <li>short_video: optimize complex and diverse image quality issues, tailoring quality enhancements for the complex scenarios such as short videos to address various visual issues.</li>
	// <li>game (video): fix motion blur and enhance details, with a focus on enhancing the clarity of game details and restoring blurry areas during motions to make the image content during gaming clearer and richer.</li>
	// <li>HD_movie_series (UHD TV shows and movies), obtain smooth UHD effect, target the demand for UHD video from broadcasting/TV Stations and OTT, generate 4K 60fps HDR Ultra-High-Definition Standard Video. Support broadcasting scenario format standards.</li>
	// <li>LQ_material: low-definition material/old video restoration. It enhances overall resolution, and solves issues of old videos, such as low resolution, blur, distortion, scratches, and color temperature due to their age.</li>
	// <li>lecture: live shows, e-commerce, conferences, and lectures. It improves the face display effect and performs specific optimizations, including face region enhancement, noise reduction, and artifacts removal, for scenarios involving human explanation, such as live shows, e-commerce, conferences, and lectures.</li>
	// <li>Input of a null string indicates that the enhancement scenario is not used.</li>
	EnhanceScenarioType *string `json:"EnhanceScenarioType,omitnil,omitempty" name:"EnhanceScenarioType"`

	// Super-resolution configuration. The video will not be processed when the source resolution exceeds the target resolution. Note that large model enhancement cannot be enabled simultaneously.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuperResolution *SuperResolutionInfo `json:"SuperResolution,omitnil,omitempty" name:"SuperResolution"`

	// HDR configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Hdr *HDRInfo `json:"Hdr,omitnil,omitempty" name:"Hdr"`

	// Video noise reduction configuration. Note that it cannot be enabled simultaneously with large model enhancement.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Denoise *VideoDenoiseInfo `json:"Denoise,omitnil,omitempty" name:"Denoise"`

	// Comprehensive enhancement configuration. Note that only one of the three items, large model, comprehensive enhancement, and jitter removal, can be configured.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageQualityEnhance *ImageQualityEnhanceInfo `json:"ImageQualityEnhance,omitnil,omitempty" name:"ImageQualityEnhance"`

	// Color enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ColorEnhance *ColorEnhanceInfo `json:"ColorEnhance,omitnil,omitempty" name:"ColorEnhance"`

	// Low-light enhancement configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	LowLightEnhance *LowLightEnhanceInfo `json:"LowLightEnhance,omitnil,omitempty" name:"LowLightEnhance"`

	// Remove scratch configuration.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScratchRepair *ScratchRepairInfo `json:"ScratchRepair,omitnil,omitempty" name:"ScratchRepair"`

	// Artifacts removal configuration. Note that only one of the three items, large model, comprehensive enhancement, and artifacts removal, can be configured.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ArtifactRepair *ArtifactRepairInfo `json:"ArtifactRepair,omitnil,omitempty" name:"ArtifactRepair"`

	// Large model enhancement configuration. Note that you can configure only one of the large model, comprehensive enhancement, and deburr options. It cannot intersect with super-resolution or noise reduction.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DiffusionEnhance *DiffusionEnhanceInfo `json:"DiffusionEnhance,omitnil,omitempty" name:"DiffusionEnhance"`

	// Frame interpolation frame rate configuration supports fractions. Note that it is mutually exclusive with FrameRate. The capacity will not take effect when the source frame rate is equal to or greater than the target frame rate.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FrameRateWithDen *FrameRateWithDenInfo `json:"FrameRateWithDen,omitnil,omitempty" name:"FrameRateWithDen"`
}

type VideoFrameInterpolationInfo struct {
	// Whether to enable smart frame interpolation. Valid values:
	// <li>`ON`</li>
	// <li>`OFF`</li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// The frame rate. Value range: (0, 100]. This parameter is valid only if `Switch` is `ON`. By default, the original frame rate will be used.
	Fps *int64 `json:"Fps,omitnil,omitempty" name:"Fps"`
}

type VideoTemplateInfo struct {
	// <p>Video stream encoding format. Available values:</p><li>libx264: H.264 code;</li><li>libx265: H.265 code;</li><li>av1: AOMedia Video 1 code;</li><li>H.266: H.266 code.</li><font color="red">Note:</font><li>av1 and H.266 encoding containers currently only support mp4;</li><li>H.266 currently only supports fixed CRF bitrate control method.</li>
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// <p>Video frame rate. Value ranges from 0 to 100. Measurement unit: Hz.<br>When the value is 0, it means the frame rate is consistent with the original video.</p>
	Fps *uint64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// <p>Bitrate of video stream, value ranges from 0 to [128, 100000], unit: kbps.<br>When the value is 0, it means the bitrate is automatically set by VOD.</p>
	Bitrate *uint64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// <p>Resolution adaptation. Available values:</p><li>open: Enable. At this point, Width represents the long side of the video, and Height represents the short side of the video;</li><li>close: Disable. At this point, Width represents the width of the video, and Height represents the height of the video.</li>Default value: open.
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// <p>The maximum value of the video stream width (or long side). Valid values: 0 and [128, 8192]. Unit: px.</p><li>When Width and Height are both 0, the resolution is from the same source;</li><li>When Width is 0 and Height is non-0, Width is scaled proportionally;</li><li>When Width is non-0 and Height is 0, the Height is scaled proportionally;</li><li>When both Width and Height are non-0, the resolution is specified by the user.</li>Default value: 0.
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// <p>The maximum value of the video stream height (or short side). Valid values: 0 and [128, 8192]. Unit: px.</p><li>When Width and Height are both 0, the resolution is from the same source;</li><li>When Width is 0 and Height is non-0, Width is scaled proportionally;</li><li>When Width is non-0 and Height is 0, the Height is scaled proportionally;</li><li>When both Width and Height are non-0, the resolution is specified by the user.</li>Default value: 0.
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// <p>Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "filling". Optional filling mode:</p><li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched".</li><li>black: Maintain video aspect ratio with edges filled with black.</li><li>white: Maintain video aspect ratio with edge remainder filled with white.</li><li>gauss: Maintain video aspect ratio with Gaussian blur filling for the rest of the edges.</li>Default value: black.
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// <p>Control factor for constant video bitrate, value range [1, 51].</p><p><font color="red">Note:</font></p><li>If you specify this parameter, the bitrate control mode for CRF will be used to transcode (video bitrate will no longer take effect).</li><li>When the specified video stream encoding format is H.266, this field is required with a recommended value of 28.</li><li>If there are no special requirements, it is not recommended to specify this parameter.</li>
	Vcrf *uint64 `json:"Vcrf,omitnil,omitempty" name:"Vcrf"`

	// <p>Interval between I-frames, in frames. Value range: 0 and [1, 100000].<br>When it is set to 0 or not set, the system will automatically set the gop length.</p>
	Gop *uint64 `json:"Gop,omitnil,omitempty" name:"Gop"`

	// <p>Gop value unit.</p><p>Enumeration value:</p><ul><li>frame: Represents the number of frames.</li><li>second: Represents seconds.</li></ul><p>Default value: frame</p>
	GopUnit *string `json:"GopUnit,omitnil,omitempty" name:"GopUnit"`

	// <p>Whether the transcoding output still keeps HDR when the original video is HDR (High Dynamic Range). Value ranges from:</p><li>ON: If the raw file is HDR, the transcoding output keeps HDR; otherwise, the transcoding output is SDR (Standard Dynamic Range).</li><li>OFF: Regardless of whether the raw file is HDR or SDR, the transcoding output is SDR.</li>Default value: OFF.
	PreserveHDRSwitch *string `json:"PreserveHDRSwitch,omitnil,omitempty" name:"PreserveHDRSwitch"`

	// <p>Encoding tag, valid only when the video stream encoding format is H.265. Available values:</p><li>hvc1 refers to the hvc1 tag;</li><li>hev1 refers to the hev1 tag.</li>Default value: hvc1.
	CodecTag *string `json:"CodecTag,omitnil,omitempty" name:"CodecTag"`

	// <p>Bitrate control mode.</p><p>Enumeration value:</p><ul><li>VBR: Variable Bit Rate, dynamic bitrate (VBR), adjusts the output bitrate based on the complexity of the video image to ensure higher image quality, suitable for storage scenarios and applications with high image quality requirements.</li><li>ABR: Average Bit Rate, average bitrate, maintains the average bitrate of the output video as much as possible while allowing short-term bitrate fluctuation, suitable for scenarios where maintaining a certain image quality and minimizing overall bitrate are desired.</li><li>CBR: Constant Bit Rate, constant bitrate, maintains a constant output bitrate regardless of image complexity changes, suitable for scenarios with strict network bandwidth requirements, such as live streaming.</li><li>VCRF: Constant Quality Factor, controls video quality by setting a quality factor to achieve constant quality encoding of videos, with bitrate adjustment based on content complexity, suitable for scenarios where maintaining a certain quality is desired.</li></ul><p>Default value: VBR</p>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>Number of B-frames between reference frames, set to auto by default.</p><p>Value ranges from 0 to 16.</p>
	Bframes *int64 `json:"Bframes,omitnil,omitempty" name:"Bframes"`

	// <p>Average duration of slices. 0 or empty means auto, which automatically chooses appropriate segment duration based on video features such as GOP.</p><p>Value ranges from 0 to 10.</p><p>Unit: second.</p><p>Supports only transcoding template. Adaptive bitrate stream template is not currently supported.</p>
	HlsTime *int64 `json:"HlsTime,omitnil,omitempty" name:"HlsTime"`

	// <p>A predefined group of encoding tools or features allowed by video encoding standards, suitable for different scenarios.</p><p>Enumeration value:</p><ul><li>baseline: Supports only I/P frames and non-interlaced scenarios, suitable for video calls and mobile video.</li><li>main: Mainstream profile, provides I, P, and B frames, and supports both interlaced and non-interlaced modes. Mainly used in mainstream audio and video consumption products such as video players and streaming media transmission devices.</li><li>high: Highest encoding level, adds 8X8 prediction to the Main Profile and supports custom quantification. Widely used in Blu-ray storage and HDTV scenarios.</li><li>default: Automatic filling along with the original video.</li></ul><p>Default value: default</p><p>This configuration item is valid only when Codec is libx264.</p>
	VideoProfile *string `json:"VideoProfile,omitnil,omitempty" name:"VideoProfile"`
}

type VideoTemplateInfoForUpdate struct {
	// <p>Video stream encoding format. Available values:</p><li>libx264: H.264 encoding;</li><li>libx265: H.265 encoding;</li><li>av1: AOMedia Video 1 encoding;</li><li>H.266: H.266 encoding.</li><font color="red">Note:</font><li>av1 and H.266 encoding containers currently only support mp4;</li><li>H.266 currently only supports fixed CRF bitrate control method.</li>
	Codec *string `json:"Codec,omitnil,omitempty" name:"Codec"`

	// <p>Video frame rate. Value ranges from 0 to 100. Unit: Hz.<br>When the value is 0, it means the frame rate is consistent with the original video.</p>
	Fps *uint64 `json:"Fps,omitnil,omitempty" name:"Fps"`

	// <p>Bitrate of video stream. Value ranges from 0 to [128, 100000]. Unit: kbps.<br>When the value is 0, it means VOD automatically sets the bitrate.</p>
	Bitrate *uint64 `json:"Bitrate,omitnil,omitempty" name:"Bitrate"`

	// <p>Resolution adaptation, available values:</p><li>open: Enable. At this point, Width represents the long side of the video, and Height indicates the short side.</li><li>close: Disable. At this point, Width represents the width of the video, and Height indicates the height.</li>
	ResolutionAdaptive *string `json:"ResolutionAdaptive,omitnil,omitempty" name:"ResolutionAdaptive"`

	// <p>The maximum value of the video stream width (or long side). Valid values: 0 and [128, 8192]. Unit: px.</p><li>When Width and Height are both 0, the resolution is from the same source;</li><li>When Width is 0 and Height is non-0, Width is scaled proportionally;</li><li>When Width is non-0 and Height is 0, the Height is scaled proportionally;</li><li>When both Width and Height are non-0, the resolution is specified by the user.</li>
	Width *uint64 `json:"Width,omitnil,omitempty" name:"Width"`

	// <p>Maximum value of the video stream height (or short side). Value ranges from 0 to [128, 8192]. Measurement unit: px.</p>
	Height *uint64 `json:"Height,omitnil,omitempty" name:"Height"`

	// <p>Filling method. When video stream configuration width and height parameters are inconsistent with the aspect ratio of the original video, the processing method for transcoding is "filling". Optional filling mode:</p><li> stretch: Stretch each frame to fill the entire screen, possibly causing the transcoded video to be "squashed" or "stretched".</li><li>black: Maintain video aspect ratio with edges filled with black.</li><li>white: Maintain video aspect ratio with edge remainder filled with white.</li><li>gauss: Maintain video aspect ratio with Gaussian blur filling for the rest of the edges.</li>
	FillType *string `json:"FillType,omitnil,omitempty" name:"FillType"`

	// <p>Control factor for constant video bitrate. Value range: [1, 51]. Enter 0 to indicate that it is disabled.</p><p><font color="red">Note:</font></p><li>If you specify this parameter, the bitrate control mode for CRF will be used to transcode (video bitrate will no longer take effect).</li><li>When the encoding format of the specified video stream is H.266, this field is required. The recommended value is 28.</li><li>If there are no special requirements, it is not recommended to specify this parameter.</li>
	Vcrf *uint64 `json:"Vcrf,omitnil,omitempty" name:"Vcrf"`

	// <p>Interval between I-frames, in frames. Value range: 0 and [1, 100000].<br>When it is set to 0 or not set, the system will automatically set the gop length.</p>
	Gop *uint64 `json:"Gop,omitnil,omitempty" name:"Gop"`

	// <p>Whether the transcoding output remains HDR when the original video is HDR (High Dynamic Range). Value ranges from:</p><li>ON: If the raw file is HDR, the transcoding output remains HDR; otherwise, the output is SDR (Standard Dynamic Range).</li><li>OFF: Regardless of whether the raw file is HDR or SDR, the transcoding output is SDR.</li>
	PreserveHDRSwitch *string `json:"PreserveHDRSwitch,omitnil,omitempty" name:"PreserveHDRSwitch"`

	// <p>Encoding tag, valid only when the video stream encoding format is H.265. Value range:</p><li>hvc1 means hvc1 tag;</li><li>hev1 means hev1 tag.</li>Default value: hvc1.
	CodecTag *string `json:"CodecTag,omitnil,omitempty" name:"CodecTag"`

	// <p>Gop value unit.</p><p>Enumeration value:</p><ul><li>frame: Represents the number of frames.</li><li>second: Represents seconds.</li></ul><p>Default value: frame</p>
	GopUnit *string `json:"GopUnit,omitnil,omitempty" name:"GopUnit"`

	// <p>Bitrate control mode.</p><p>Enumeration value:</p><ul><li>VBR: Variable Bit Rate, dynamic bitrate (VBR), adjusts the output bitrate based on the complexity of the video image to ensure higher image quality, suitable for storage scenarios and applications with high image quality requirements.</li><li>ABR: Average Bit Rate, average bitrate, maintains a stable average bitrate of the output video as much as possible but allows short-term bitrate fluctuation, suitable for scenarios where minimizing overall bitrate is needed while maintaining a certain image quality.</li><li>CBR: Constant Bit Rate, constant bitrate, maintains a constant output bitrate regardless of image complexity changes, suitable for scenarios with strict network bandwidth requirements, such as live streaming.</li><li>VCRF: Constant Rate Factor, constant quality factor, controls video quality by setting a quality factor to achieve constant quality encoding of videos, with bitrate adjustment based on content complexity, suitable for scenarios where maintaining a certain quality is desired.</li></ul><p>Default value: VBR</p>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>Maximum number of consecutive B-frames, set to auto by default. -1 means change to automatic value.</p><p>Value ranges from -1 to 16.</p>
	Bframes *int64 `json:"Bframes,omitnil,omitempty" name:"Bframes"`

	// <p>Average segment duration. 0 or blank means auto, which automatically chooses appropriate segment duration based on video features such as GOP.</p><p>Value ranges from 0 to 10.</p><p>Measurement unit: seconds.</p><p>Supports only transcoding templates, not currently supported for adaptive bitrate templates.</p>
	HlsTime *int64 `json:"HlsTime,omitnil,omitempty" name:"HlsTime"`

	// <p>A predefined group of encoding tools or features allowed by the video encoding standard, suitable for different scenarios.</p><p>Enumeration values:</p><ul><li>baseline: Supports only I/p frames and non-interlaced scenarios, suitable for video calls and mobile video.</li><li>main: Mainstream Profile, provides I, p, and B frames, and supports both interlaced and non-interlaced modes. Primarily used in mainstream audio and video consumption products such as video players and streaming media transmission devices.</li><li>high: Highest encoding level, adds 8X8 prediction to the main Profile and supports custom quantification. Widely used in Blu-ray storage and HDTV scenarios.</li><li>default: Automatic filling along with the original video.</li></ul><p>default value: default</p><p>This configuration item is valid only when Codec is libx264.</p>
	VideoProfile *string `json:"VideoProfile,omitnil,omitempty" name:"VideoProfile"`
}

type VideoTrackItem struct {
	// Source of media material for video segment, which can be:
	// <li>ID of VOD media files</li>
	// <li>Download URL of other media files.</li>
	// Note: when a download URL of other media files is used as the material source and access control (such as hotlink protection) is enabled, the URL needs to carry access control parameters (such as hotlink protection signature).
	SourceMedia *string `json:"SourceMedia,omitnil,omitempty" name:"SourceMedia"`

	// Start time of video segment in material file in seconds. Default value: 0.
	SourceMediaStartTime *float64 `json:"SourceMediaStartTime,omitnil,omitempty" name:"SourceMediaStartTime"`

	// Video segment duration in seconds. By default, the length of the video material will be used, which means that the entire material will be captured. If the source file is an image, `Duration` needs to be greater than 0.
	Duration *float64 `json:"Duration,omitnil,omitempty" name:"Duration"`

	// The target video duration, in seconds.
	// <li>If `TargetDuration` is empty or `0`, the target duration is the same as `Duration`.</li>
	// <li>If `TargetDuration` is a value greater than 0, the playback speed will be changed to make the final video duration the same as the value of `TargetDuration`.</li>
	TargetDuration *float64 `json:"TargetDuration,omitnil,omitempty" name:"TargetDuration"`

	// Video origin position. Valid values:
	// <li> Center: the origin of coordinates is the center position, such as the center of canvas.</li>
	// Default value: Center.
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`

	// The horizontal position of the origin of the video segment relative to the origin of the canvas. % and px formats are supported:
	// <li>If the string ends in %, the `XPos` of the video segment will be at the position of the specified percentage of the canvas width; for example, `10%` means that `XPos` is 10% of the canvas width.</li>
	// <li>If the string ends in px, the `XPos` of the video segment will be in px; for example, `100px` means that `XPos` is 100 px.</li>
	// Default value: 0 px.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// The vertical position of the origin of the video segment relative to the origin of the canvas. % and px formats are supported:
	// <li>If the string ends in %, the `YPos` of the video segment will be at the position of the specified percentage of the canvas height; for example, `10%` means that `YPos` is 10% of the canvas height.</li>
	// <li>If the string ends in px, the `YPos` of the video segment will be in px; for example, `100px` means that `YPos` is 100 px.</li>
	// Default value: 0 px.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Video segment width. % and px formats are supported:
	// <li>If the string ends in %, the `Width` of the video segment will be the specified percentage of the canvas width; for example, `10%` means that `Width` is 10% of the canvas width.</li>
	// <li>If the string ends in px, the `Width` of the video segment will be in px; for example, `100px` means that `Width` is 100 px.</li>
	// <li>If both `Width` and `Height` are empty, then they will be the `Width` and `Height` of the video material, respectively.</li>
	// <li>If `Width` is empty, but `Height` is not empty, `Width` will be proportionally scaled.</li>
	// <li>If `Width` is not empty, but `Height` is empty, `Height` will be proportionally scaled.</li>
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// Video segment height. % and px formats are supported:
	// <li>If the string ends in %, the `Height` of the video segment will be the specified percentage of the canvas height; for example, `10%` means that `Height` is 10% of the canvas height;
	// </li><li>If the string ends in px, the `Height` of the video segment will be in px; for example, `100px` means that `Height` is 100 px.</li>
	// <li>If both `Width` and `Height` are empty, then they will be the `Width` and `Height` of the video material, respectively.</li>
	// <li>If `Width` is empty, but `Height` is not empty, `Width` will be proportionally scaled.</li>
	// <li>If `Width` is not empty, but `Height` is empty, `Height` will be proportionally scaled.</li>
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// Operation on audio such as muting.
	// Note: this field may return null, indicating that no valid values can be obtained.
	AudioOperations []*AudioTransform `json:"AudioOperations,omitnil,omitempty" name:"AudioOperations"`

	// Operation on video image such as image rotation.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageOperations []*ImageTransform `json:"ImageOperations,omitnil,omitempty" name:"ImageOperations"`
}

type VoiceConfigureInfo struct {
	// Audio (mute, bass, pop) detection switch, optional values: 
	// <li>ON: on; </li>
	// <li>OFF: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type VoiceConfigureInfoForUpdate struct {
	// Audio (mute, bass, pop) detection switch, optional values: 
	// <li>ON: on; </li>
	// <li>OFF: off. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`
}

type WatermarkConfigureData struct {
	// Whether to enable watermark. Possible values:
	// <li>ON: means enabling watermark;</li>
	// <li>OFF: means turning off watermark. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Watermark URL.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// The width of the watermark. 
	// <li>The string ends with %, indicating that the watermark Width is a percentage of the video width, such as 10% indicating that the Width is 10% of the video width;</li>
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// The height of the watermark. 
	// <li>The string ends with %, indicating that the watermark Height is a percentage of the video height, for example, 10% means that the Height is 10% of the video height;</li>
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// The horizontal position of the watermark origin from the video image coordinate origin. The string ends with %, indicating that the watermark XPos specifies a percentage of the video width, such as 10% indicating that XPos is 10% of the video width.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// The vertical position of the watermark origin from the video image coordinate origin. When the string ends with %, it means that the watermark YPos specifies a percentage of the video height. For example, 10% means that YPos is 10% of the video height.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`
}

type WatermarkConfigureInfo struct {
	// Whether to enable watermark. Possible values:
	// <li>ON: means enabling watermark;</li>
	// <li>OFF: means turning off watermark. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Watermark image Base64 encoded string. Supports jpeg, png image formats.
	ImageContent *string `json:"ImageContent,omitnil,omitempty" name:"ImageContent"`

	// The width of the watermark. 
	// <li>The string ends with %, indicating that the watermark Width is a percentage of the video width, such as 10% indicating that the Width is 10% of the video width;</li>
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// The height of the watermark. 
	// <li>The string ends with %, indicating that the watermark Height is a percentage of the video height, for example, 10% means that the Height is 10% of the video height;</li>
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// The horizontal position of the watermark origin from the video image coordinate origin. The string ends with %, indicating that the watermark XPos specifies a percentage of the video width, such as 10% indicating that the XPos is 10% of the video width.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// The vertical position of the watermark origin from the video image coordinate origin. When the string ends with %, it means that the watermark YPos specifies a percentage of the video height. For example, 10% means that YPos is 10% of the video height.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`
}

type WatermarkConfigureInfoForUpdate struct {
	// Whether to enable watermark. Possible values:
	// <li>ON: means enabling watermark;</li>
	// <li>OFF: means turning off watermark. </li>
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Watermark image Base64 encoded string. Supports jpeg, png image formats.
	ImageContent *string `json:"ImageContent,omitnil,omitempty" name:"ImageContent"`

	// The width of the watermark. 
	// <li>The string ends with %, indicating that the watermark Width is a percentage of the video width, such as 10% indicating that the Width is 10% of the video width;</li>
	Width *string `json:"Width,omitnil,omitempty" name:"Width"`

	// The height of the watermark. 
	// <li>The string ends with %, indicating that the watermark Height is a percentage of the video height, for example, 10% means that the Height is 10% of the video height;</li>
	Height *string `json:"Height,omitnil,omitempty" name:"Height"`

	// The horizontal position of the watermark origin from the video image coordinate origin. The string ends with %, indicating that the watermark XPos specifies a percentage of the video width, such as 10% indicating that XPos is 10% of the video width.
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// The vertical position of the watermark origin from the video image coordinate origin. When the string ends with %, it means that the watermark YPos specifies a percentage of the video height. For example, 10% means that YPos is 10% of the video height.
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`
}

type WatermarkCycleConfigForUpdate struct {
	// Playback time point in seconds when a watermark appears in a video for the first time.
	StartTime *float64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Display duration of a watermark in a watermark cycle in seconds.
	DisplayDuration *float64 `json:"DisplayDuration,omitnil,omitempty" name:"DisplayDuration"`

	// Duration of a watermark cycle in seconds.
	// If 0 is entered, a watermark will last for only one cycle (i.e., visible for `DisplayDuration` seconds throughout the video).
	CycleDuration *float64 `json:"CycleDuration,omitnil,omitempty" name:"CycleDuration"`
}

type WatermarkInput struct {
	// Watermarking template ID.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Text content, which contains up to 100 characters. Set this parameter only when the watermark type is text.
	// VOD does not support adding text watermarks on screenshots.
	TextContent *string `json:"TextContent,omitnil,omitempty" name:"TextContent"`

	// SVG content, which contains up to 2,000,000 characters. Set this parameter only when the watermark type is SVG.
	// VOD does not support adding SVG watermarks on screenshots.
	SvgContent *string `json:"SvgContent,omitnil,omitempty" name:"SvgContent"`

	// Start time offset of a watermark in seconds. If this parameter is left blank or 0 is entered, the watermark will appear upon the first video frame.
	// <li>If this parameter is left blank or 0 is entered, the watermark will appear upon the first video frame;</li>
	// <li>If this value is greater than 0 (e.g., n), the watermark will appear at second n after the first video frame;</li>
	// <li>If this value is smaller than 0 (e.g., -n), the watermark will appear at second n before the last video frame.</li>
	StartTimeOffset *float64 `json:"StartTimeOffset,omitnil,omitempty" name:"StartTimeOffset"`

	// End time offset of a watermark in seconds.
	// <li>If this parameter is left blank or 0 is entered, the watermark will exist till the last video frame;</li>
	// <li>If this value is greater than 0 (e.g., n), the watermark will exist till second n;</li>
	// <li>If this value is smaller than 0 (e.g., -n), the watermark will exist till second n before the last video frame.</li>
	EndTimeOffset *float64 `json:"EndTimeOffset,omitnil,omitempty" name:"EndTimeOffset"`
}

type WatermarkTemplate struct {
	// Unique ID of watermarking template.
	Definition *int64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// Watermark type. Valid values:
	// <li>image: image watermark;</li>
	// <li>text: text watermark.</li>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Watermarking template name.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Template description.
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Horizontal position of the origin of the watermark image relative to the origin of the video.
	// <li>If the string ends in %, the `Left` edge of the watermark will be at the position of the specified percentage of the video width; for example, `10%` means that the `Left` edge is at 10% of the video width;</li>
	// <li>If the string ends in px, the `Left` edge of the watermark will be at the position of the specified px of the video width; for example, `100px` means that the `Left` edge is at the position of 100 px.</li>
	XPos *string `json:"XPos,omitnil,omitempty" name:"XPos"`

	// Vertical position of the origin of the watermark image relative to the origin of the video.
	// <li>If the string ends in %, the `Top` edge of the watermark will beat the position of the specified percentage of the video height; for example, `10%` means that the `Top` edge is at 10% of the video height;</li>
	// <li>If the string ends in px, the `Top` edge of the watermark will be at the position of the specified px of the video height; for example, `100px` means that the `Top` edge is at the position of 100 px.</li>
	YPos *string `json:"YPos,omitnil,omitempty" name:"YPos"`

	// Image watermarking template. This field is valid only when `Type` is `image`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	ImageTemplate *ImageWatermarkTemplate `json:"ImageTemplate,omitnil,omitempty" name:"ImageTemplate"`

	// Text watermarking template. This field is valid only when `Type` is `text`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	TextTemplate *TextWatermarkTemplateInput `json:"TextTemplate,omitnil,omitempty" name:"TextTemplate"`

	// SVG watermarking template. This field is valid when `Type` is `svg`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SvgTemplate *SvgWatermarkInput `json:"SvgTemplate,omitnil,omitempty" name:"SvgTemplate"`

	// Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I).
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Origin position. Valid values:
	// <li>topLeft: the origin of coordinates is in the top-left corner of the video, and the origin of the watermark is in the top-left corner of the image or text;</li>
	// <li>topRight: the origin of coordinates is in the top-right corner of the video, and the origin of the watermark is in the top-right corner of the image or text;</li>
	// <li>bottomLeft: the origin of coordinates is in the bottom-left corner of the video, and the origin of the watermark is in the bottom-left corner of the image or text;</li>
	// <li>bottomRight: the origin of coordinates is in the bottom-right corner of the video, and the origin of the watermark is in the bottom-right corner of the image or text.</li>
	CoordinateOrigin *string `json:"CoordinateOrigin,omitnil,omitempty" name:"CoordinateOrigin"`
}

type WebPageRecordInfo struct {
	// Panoramic recording Url.
	RecordUrl *string `json:"RecordUrl,omitnil,omitempty" name:"RecordUrl"`

	// Panoramic recording task ID.
	RecordTaskId *string `json:"RecordTaskId,omitnil,omitempty" name:"RecordTaskId"`
}

type WechatMiniProgramPublishTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Valid values:
	// WAITING: waiting;
	// PROCESSING: processing;
	// FINISH: completed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// ID of published video file.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// ID of the transcoding template corresponding to the published video. 0 represents the source video.
	SourceDefinition *uint64 `json:"SourceDefinition,omitnil,omitempty" name:"SourceDefinition"`

	// Status of video release on WeChat Mini Program. Valid values:
	// <li>Pass: successfully published;</li>
	// <li>Failed: failed to publish;</li>
	// <li>Rejected: rejected.</li>
	PublishResult *string `json:"PublishResult,omitnil,omitempty" name:"PublishResult"`
}

type WechatMiniProgramPublishTaskInput struct {
	// ID of the transcoding template corresponding to the published video. 0 represents the source video.
	SourceDefinition *uint64 `json:"SourceDefinition,omitnil,omitempty" name:"SourceDefinition"`
}

type WechatPublishTask struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Valid values:
	// WAITING: waiting;
	// PROCESSING: processing;
	// FINISH: completed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error code
	// <li>0: success;</li>
	// <li>Other values: failure.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	ErrCode *int64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Error message.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// ID of published video file.
	// Note: this field may return null, indicating that no valid values can be obtained.
	FileId *string `json:"FileId,omitnil,omitempty" name:"FileId"`

	// Release on WeChat template ID.
	// Note: this field may return null, indicating that no valid values can be obtained.
	Definition *uint64 `json:"Definition,omitnil,omitempty" name:"Definition"`

	// ID of the transcoding template corresponding to the published video. 0 represents the source video.
	// Note: this field may return null, indicating that no valid values can be obtained.
	SourceDefinition *uint64 `json:"SourceDefinition,omitnil,omitempty" name:"SourceDefinition"`

	// Release on WeChat status. Valid values:
	// <li>FAIL: failure;</li>
	// <li>SUCCESS: success;</li>
	// <li>AUDITNOTPASS: rejected</li>
	// <li>NOTTRIGGERED: release on WeChat not initiated yet.</li>
	// Note: this field may return null, indicating that no valid values can be obtained.
	WechatStatus *string `json:"WechatStatus,omitnil,omitempty" name:"WechatStatus"`

	// WeChat `Vid`.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WechatVid *string `json:"WechatVid,omitnil,omitempty" name:"WechatVid"`

	// WeChat address.
	// Note: this field may return null, indicating that no valid values can be obtained.
	WechatUrl *string `json:"WechatUrl,omitnil,omitempty" name:"WechatUrl"`
}