diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/vod | |
| download | acs-metadata-full-main.tar.gz acs-metadata-full-main.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/en_us/vod')
| -rw-r--r-- | data/en_us/vod/2017-03-21/api-docs.php | 32948 |
1 files changed, 32948 insertions, 0 deletions
diff --git a/data/en_us/vod/2017-03-21/api-docs.php b/data/en_us/vod/2017-03-21/api-docs.php new file mode 100644 index 0000000..bd7ce89 --- /dev/null +++ b/data/en_us/vod/2017-03-21/api-docs.php @@ -0,0 +1,32948 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'vod', + 'version' => '2017-03-21', + ], + 'directories' => [ + [ + 'id' => 347483, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateUploadVideo', + 'RefreshUploadVideo', + 'CreateUploadImage', + 'CreateUploadAttachedMedia', + 'UploadMediaByURL', + 'GetURLUploadInfos', + 'CancelUrlUploadJobs', + 'UploadStreamByURL', + 'DeleteMultipartUpload', + 'GetUploadDetails', + 'RegisterMedia', + ], + ], + [ + 'id' => 347495, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetPlayInfo', + 'GetVideoPlayAuth', + ], + ], + [ + 'id' => 347498, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347499, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'SearchMedia', + ], + ], + [ + 'id' => 347501, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'UpdateMediaStorageClass', + 'RestoreMedia', + ], + ], + [ + 'id' => 347504, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AddCategory', + 'UpdateCategory', + 'DeleteCategory', + 'GetCategories', + ], + ], + [ + 'id' => 347509, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetVideoInfo', + 'GetVideoInfos', + 'GetVideoList', + 'GetMezzanineInfo', + 'UpdateVideoInfo', + 'UpdateVideoInfos', + 'DeleteMezzanines', + 'DeleteStream', + 'DeleteVideo', + 'BatchGetMediaInfos', + 'DescribeMediaDistribution', + ], + ], + [ + 'id' => 347521, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetAttachedMediaInfo', + 'UpdateAttachedMediaInfos', + 'DeleteAttachedMedia', + ], + ], + [ + 'id' => 347525, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetImageInfo', + 'GetImageInfos', + 'UpdateImageInfos', + 'ListSnapshots', + 'DeleteImage', + ], + ], + [ + 'id' => 347531, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ListDynamicImage', + 'DeleteDynamicImage', + ], + ], + ], + ], + [ + 'id' => 347534, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347535, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'SubmitTranscodeJobs', + 'SubmitSnapshotJob', + 'SubmitPreprocessJobs', + 'SubmitDynamicImageJob', + 'SubmitWorkflowJob', + ], + ], + [ + 'id' => 347541, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AddTranscodeTemplateGroup', + 'UpdateTranscodeTemplateGroup', + 'SetDefaultTranscodeTemplateGroup', + 'ListTranscodeTemplateGroup', + 'GetTranscodeTemplateGroup', + 'DeleteTranscodeTemplateGroup', + ], + ], + [ + 'id' => 347548, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AddVodTemplate', + 'UpdateVodTemplate', + 'GetVodTemplate', + 'ListVodTemplate', + 'DeleteVodTemplate', + ], + ], + [ + 'id' => 347554, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AddWatermark', + 'UpdateWatermark', + 'DeleteWatermark', + 'SetDefaultWatermark', + 'GetWatermark', + 'ListWatermark', + ], + ], + [ + 'id' => 347561, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetTranscodeSummary', + 'ListTranscodeTask', + 'GetTranscodeTask', + ], + ], + [ + 'id' => 347565, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ListJobInfo', + 'GetJobDetail', + ], + ], + ], + ], + [ + 'id' => 347568, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ProduceEditingProjectVideo', + [ + 'id' => 347570, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AddEditingProject', + 'UpdateEditingProject', + 'DeleteEditingProject', + 'SetEditingProjectMaterials', + 'GetEditingProject', + 'GetEditingProjectMaterials', + 'SearchEditingProject', + 'AddEditingProjectMaterials', + 'DeleteEditingProjectMaterials', + ], + ], + ], + ], + [ + 'id' => 347580, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347581, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'SetAuditSecurityIp', + 'ListAuditSecurityIp', + ], + ], + [ + 'id' => 347584, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'SubmitAIMediaAuditJob', + 'SubmitAIImageAuditJob', + 'GetAIMediaAuditJob', + 'GetMediaAuditResult', + 'GetMediaAuditResultDetail', + 'GetMediaAuditResultTimeline', + 'GetMediaAuditAudioResultDetail', + ], + ], + [ + 'id' => 347592, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateAudit', + 'GetAuditHistory', + ], + ], + ], + ], + [ + 'id' => 347595, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347596, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AddAITemplate', + 'DeleteAITemplate', + 'UpdateAITemplate', + 'SetDefaultAITemplate', + 'GetAITemplate', + 'ListAITemplate', + 'GetDefaultAITemplate', + ], + ], + [ + 'id' => 347604, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ListAIJob', + 'SubmitAIJob', + ], + ], + [ + 'id' => 347607, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetMediaDNAResult', + 'SubmitMediaDNADeleteJob', + ], + ], + [ + 'id' => 347610, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetAIVideoTagResult', + ], + ], + [ + 'id' => 347612, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'SubmitAIImageJob', + 'GetAIImageJobs', + 'ListAIImageInfo', + 'DeleteAIImageInfos', + ], + ], + ], + ], + [ + 'id' => 347617, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ListLiveRecordVideo', + ], + ], + [ + 'id' => 347619, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347620, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347621, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeVodDomainTrafficData', + 'DescribeVodDomainBpsData', + 'DescribeVodDomainBpsDataByLayer', + 'DescribeVodDomainQpsData', + 'DescribeVodDomainHitRateData', + 'DescribeVodDomainReqHitRateData', + 'DescribeVodRangeDataByLocateAndIspService', + ], + ], + [ + 'id' => 347629, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeVodDomainSrcTrafficData', + 'DescribeVodDomainSrcBpsData', + ], + ], + [ + 'id' => 347632, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeVodDomainRealTimeTrafficData', + 'DescribeVodDomainRealTimeBpsData', + 'DescribeVodDomainRealTimeHttpCodeData', + 'DescribeVodDomainRealTimeQpsData', + 'DescribeVodDomainRealTimeReqHitRateData', + 'DescribeVodDomainRealTimeByteHitRateData', + 'DescribeVodDomainRealTimeDetailData', + ], + ], + ], + ], + [ + 'id' => 347640, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AddVodDomain', + 'DeleteVodDomain', + 'UpdateVodDomain', + 'DescribeVodUserDomains', + 'DescribeVodDomainDetail', + 'BatchStartVodDomain', + 'BatchStopVodDomain', + ], + ], + [ + 'id' => 347648, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'VerifyVodDomainOwner', + 'DescribeVodVerifyContent', + ], + ], + [ + 'id' => 347651, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DeleteVodSpecificConfig', + 'SetVodDomainCertificate', + 'DescribeVodDomainConfigs', + 'DescribeVodCertificateList', + 'DescribeVodDomainCertificateInfo', + 'BatchSetVodDomainConfigs', + ], + ], + [ + 'id' => 347658, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeVodRefreshTasks', + 'DescribeVodRefreshQuota', + 'PreloadVodObjectCaches', + 'RefreshVodObjectCaches', + 'RefreshMediaPlayUrls', + 'GetMediaRefreshJobs', + ], + ], + [ + 'id' => 347665, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeVodDomainLog', + ], + ], + ], + ], + [ + 'id' => 347667, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347668, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GenerateKMSDataKey', + 'DecryptKMSDataKey', + ], + ], + [ + 'id' => 347671, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'SubmitDigitalWatermarkExtractJob', + 'GetDigitalWatermarkExtractResult', + ], + ], + [ + 'id' => 347674, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GenerateDownloadSecretKey', + ], + ], + ], + ], + [ + 'id' => 347676, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347677, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeVodDomainUsageData', + 'DescribeVodStorageData', + 'DescribeVodTranscodeData', + 'DescribeVodAIData', + 'DescribeVodTieringStorageData', + 'DescribeVodTieringStorageRetrievalData', + ], + ], + [ + 'id' => 347684, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeVodPlayerMetricData', + 'DescribeVodPlayerCollectData', + 'DescribeVodPlayerDimensionData', + ], + ], + [ + 'id' => 347688, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetDailyPlayRegionStatis', + 'DescribeVodMediaPlayData', + ], + ], + [ + 'id' => 347691, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribePlayTopVideos', + 'DescribePlayUserAvg', + 'DescribePlayUserTotal', + 'DescribePlayVideoStatis', + ], + ], + ], + ], + [ + 'id' => 347696, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347697, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateAppInfo', + 'DeleteAppInfo', + 'UpdateAppInfo', + 'GetAppInfos', + 'ListAppInfo', + 'AddVodStorageForApp', + ], + ], + [ + 'id' => 347704, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'AttachAppPolicyToIdentity', + 'DetachAppPolicyFromIdentity', + 'ListAppPoliciesForIdentity', + ], + ], + [ + 'id' => 347708, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'MoveAppResource', + ], + ], + [ + 'id' => 347710, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'GetAppPlayKey', + 'SetAppPlayKey', + ], + ], + ], + ], + [ + 'id' => 347713, + 'title' => null, + 'type' => 'directory', + 'children' => [ + [ + 'id' => 347714, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'SetCrossdomainContent', + ], + ], + [ + 'id' => 347716, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DeleteMessageCallback', + 'SetMessageCallback', + 'GetMessageCallback', + ], + ], + ], + ], + [ + 'id' => 347720, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ChangeResourceGroup', + 'DescribeVodDomainMax95BpsData', + 'DescribeVodSSLCertificateList', + 'SetVodDomainSSLCertificate', + 'DescribeVodEditingUsageData', + 'DescribeVodUserVipsByDomain', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'CreateUploadVideo' => [ + 'summary' => 'Obtains an upload URL and an upload credential for uploading an audio or video file and generates the audio or video ID. ApsaraVideo VOD issues upload URLs and credentials to perform authorization and ensure security. This prevents unauthorized users from uploading media files. ApsaraVideo VOD generates media IDs, video IDs, and image IDs together with upload URLs and credentials. Media IDs are used in lifecycle management and media processing.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39819', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CoverURL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the custom video thumbnail.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://example.aliyundoc.com/image/D22F553TEST****.jpeg', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the audio or video file.'."\n" + ."\n" + .'* The value can be up to 1,024 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'UploadTest', + ], + ], + [ + 'name' => 'FileName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the source file.'."\n" + ."\n" + .'* The name must contain a file name extension, which is not case-sensitive.'."\n" + .'* For more information about file name extensions supported by ApsaraVideo VOD, see [Overview](~~55396~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'D:\\video_01.mp4', + ], + ], + [ + 'name' => 'FileSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The size of the source file. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123', + ], + ], + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the audio or video file.'."\n" + ."\n" + .'* The title can be up to 128 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'UploadTest', + ], + ], + [ + 'name' => 'CateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the category. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories** to view the category ID of the media file.'."\n" + .'* Obtain the value of CateId from the response to the [AddCategory](~~AddCategory~~) operation.'."\n" + .'* Obtain the value of CateId from the response to the [GetCategories](~~GetCategories~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '100036****', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tags of the audio or video file.'."\n" + ."\n" + .'* You can specify a maximum of 16 tags.'."\n" + .'* If you want to specify multiple tags, separate the tags with commas (,).'."\n" + .'* Each tag can be up to 32 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag1,tag2', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom configurations such as callback configurations and upload acceleration configurations. The value must be a JSON string. For more information, see [Request parameters](~~86952~~).'."\n" + ."\n" + .'> * The callback configurations take effect only after you specify the HTTP callback URL and select specific callback events in the ApsaraVideo VOD console. For more information about how to configure HTTP callback settings in the ApsaraVideo VOD console, see [Configure callback settings](~~86071~~).'."\n" + .'>* If you want to enable the upload acceleration feature, [submit a request on Yida](https://yida.alibaba-inc.com/o/ticketapply). For more information, see [Overview](~~55396~~).', + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', + ], + ], + [ + 'name' => 'TemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the ApsaraVideo VOD console. In the left-side navigation pane, choose Configuration Management > Media Processing > Transcoding Template Groups. On the Transcoding Template Groups page, you can view the ID of the transcoding template group.[](https://vod.console.aliyun.com)************'."\n" + .'* Obtain the value of the TranscodeTemplateGroupId parameter from the response to the [AddTranscodeTemplateGroup](~~102665~~) operation that you called to create a transcoding template group.'."\n" + .'* Obtain the value of the TranscodeTemplateGroupId parameter from the response to the [ListTranscodeTemplateGroup](~~102669~~) operation that you called to query transcoding template groups.'."\n" + ."\n" + .'> * If you specify both WorkflowId and TemplateGroupId, the value of the WorkflowId parameter takes effect.'."\n" + .'> * If this parameter is not specified, transcoding is performed based on the default transcoding template group. If the transcoding template group ID is specified, transcoding is performed based on the specified template group.'."\n" + .'> * If the **No Transcoding** template group is used, only the [FileUploadComplete](~~55630~~) event notification is returned after a video is uploaded. The [StreamTranscodeComplete](~~55636~~) event notification is not returned.'."\n" + .'> * If you use the **No Transcoding** template group to upload videos, only videos in the format of MP4, FLV, MP3, M3U8, or WebM can be played. Videos in other formats can only be stored in ApsaraVideo VOD. You can view the file name extension to obtain the video format. If you want to use ApsaraVideo Player, make sure that the version of the player is V3.1.0 or later.', + 'type' => 'string', + 'required' => false, + 'example' => '405477f9e214d19ea2c7c854****', + ], + ], + [ + 'name' => 'WorkflowId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the workflow. To view the ID of the workflow, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Workflows**.'."\n" + ."\n" + .'> If you specify the WorkflowId and TemplateGroupId parameters, the value of the WorkflowId parameter takes effect. For more information, see [Workflows](~~115347~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '613efff3887ec34af685714cc461****', + ], + ], + [ + 'name' => 'StorageLocation', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage address. Perform the following operations to obtain the storage address: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Storage**. On the Storage page, view the storage address.'."\n" + ."\n" + .'> If you leave this parameter empty, audio and video files are uploaded to the default storage address. If you specify a storage address, audio and video files are uploaded to the specified address.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000000', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-04D5-D7393642****', + ], + 'UploadAddress' => [ + 'description' => 'The upload URL.'."\n" + ."\n" + .'> The returned upload URL is a Base64-encoded URL. You must decode the Base64-encoded URL before you use an SDK or call an API operation to upload media files. You need to parse UploadAddress only if you use the Object Storage Service (OSS) SDK or call an OSS API operation to upload media files.'."\n", + 'type' => 'string', + 'example' => 'eyJTZWN1cml0a2VuIjoiQ0FJU3p3TjF****', + ], + 'VideoId' => [ + 'description' => 'The ID of the audio or video file. VideoId can be used as a request parameter when you call an operation for media asset management, media processing, or media review.'."\n", + 'type' => 'string', + 'example' => '93ab850b4f6f54b6e91d24d81d44****', + ], + 'UploadAuth' => [ + 'description' => 'The upload credential.'."\n" + ."\n" + .'> The returned upload credential is a Base64-encoded value. You must decode the Base64-encoded credential before you use an SDK or call an API operation to upload media files. You need to parse UploadAuth only if you use the OSS SDK or call an OSS API operation to upload media files.'."\n", + 'type' => 'string', + 'example' => 'eyJFbmRwb2ludCI6Imm****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-04D5-D7393642****\\",\\n \\"UploadAddress\\": \\"eyJTZWN1cml0a2VuIjoiQ0FJU3p3TjF****\\",\\n \\"VideoId\\": \\"93ab850b4f6f54b6e91d24d81d44****\\",\\n \\"UploadAuth\\": \\"eyJFbmRwb2ludCI6Imm****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateUploadVideoResponse>\\n <RequestId>25818875-5F78-4AF6-04D5-D7393642****</RequestId>\\n <UploadAddress>eyJTZWN1cml0a2VuIjoiQ0FJU3p3TjF****</UploadAddress>\\n <VideoId>93ab850b4f6f54b6e91d24d81d44****</VideoId>\\n <UploadAuth>eyJFbmRwb2ludCI6Imm****</UploadAuth>\\n</CreateUploadVideoResponse>","errorExample":""}]', + 'title' => 'CreateUploadVideo', + 'description' => '* **Make sure that you understand the billing method and prices of ApsaraVideo VOD before you call this operation. You are charged storage fees after you upload media files to ApsaraVideo VOD. For more information, see [Billing of media asset storage](~~188308#section_e97\\_xrp_mzz~~). If you have activated the acceleration service, you are charged acceleration fees when you upload media files to ApsaraVideo VOD. For more information, see [Billing of acceleration traffic](~~188310#section_sta_zm2\\_tsv~~).**'."\n" + .'* You can call this operation to obtain upload URLs and credentials for video and audio files. For more information, see [Upload URLs and credentials](~~55397~~).'."\n" + .'* You can call this operation only to obtain the upload URLs and credentials for media files and create media assets in ApsaraVideo VOD. You cannot call this operation to upload media files. For more information about how to upload media files by calling API operations, see [Upload media files by calling API operations](~~476208~~).'."\n" + .'* If the upload credential expires, call the [RefreshUploadVideo](~~RefreshUploadVideo~~) operation to obtain a new upload credential. The default validity period of an upload credential is 3,000 seconds.'."\n" + .'* You can configure a callback to receive an event notification when an audio or video file is uploaded. Alternatively, after you upload an audio or video file, you can call the [GetMezzanineInfo](~~59624~~) operation to determine whether the upload is successful. For more information, see [Overview](~~55396~~).'."\n" + .'* The value of the VideoId parameter that is returned after you call this operation can be used for media processing or the lifecycle management of media assets.'."\n" + .'* You must obtain a URL and a credential before you upload a media file to ApsaraVideo VOD. ApsaraVideo VOD supports multiple upload methods. Each method has different requirements on upload URLs and credentials. For more information, see [Upload URLs and credentials](~~55397~~).'."\n", + 'requestParamsDescription' => '> * If you use the No Transcoding template group to upload videos, only videos in the format of MP4, FLV, MP3, M3U8, or WebM can be played. Videos in other formats can only be stored in ApsaraVideo VOD. You can view the file name extension to obtain the video format. If you want to use ApsaraVideo Player, make sure that the version of the player is V3.1.0 or later.'."\n" + .'>* If the No Transcoding template group is used, only the [FileUploadComplete](~~55630~~) event notification is returned after a video is uploaded. The [StreamTranscodeComplete](~~55636~~) event notification is not returned.', + 'responseParamsDescription' => "\n", + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|InvalidFileName.Extension|The specified FileName’s extension is illegal.|400|The error message returned because the file name extension in the FileName parameter is invalid. For more information about file name extensions supported in ApsaraVideo VOD, see [Overview](~~55396~~).|'."\n" + .'|IllegalCharacters|The specified $Parameter contains illegal emoticon or special characters.|400|The error message returned because the value of a request parameter such as Title, Description, or Tags contains emoticons.|'."\n" + .'|LengthExceededMax|The specified $Parameter length has exceeded $MaxLength bytes.|400|The error message returned because the value length of a request parameter such as Title, Description, or Tags exceeds the upper limit. For more information about the length limit of parameter values, see the description of the request parameters in this topic.|'."\n" + .'|TagsExceededMax|The specified Tags count has exceeded 16.|400|The error message returned because more than 16 tags were specified for the video.|'."\n" + .'|InvalidTemplateGroupId.NotFound|The TemplateGroupId does not exist.|404|The error message returned because the specified template group ID does not exist.|'."\n" + .'|InvalidStorage.NotFound|The StorageLocation does not exist.|404|The error message returned because the specified storage address does not exist. Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). Choose **Configuration Management** > **Media Management** > **Storage**. On the Storage page, check whether the storage address exists.|'."\n" + .'|Forbidden.InitFailed|Initialization of your account has failed while opening service.|403|The error message returned because your account failed to be initialized when the service was activated.|'."\n" + .'|AddVideoFailed|Adding video has failed due to some unknown error.|503|The error message returned because the video ID failed to be generated. Try again later.|', + ], + 'RefreshUploadVideo' => [ + 'summary' => 'Obtains a new upload credential after a file failed to be uploaded.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40108', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the audio or video file. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Files** > **Audio/Video** in the left-side navigation pane to view the ID.'."\n" + .'* View the value of the VideoId parameter returned by the [CreateUploadVideo](~~55407~~) operation that you called to upload the audio or video file.'."\n" + .'* After an audio or video file is uploaded, obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation that you call to query the audio or video ID.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'c6a23a870c8c4ffcd40cbd381333****', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A43-7DF6-D7393642****', + ], + 'UploadAddress' => [ + 'description' => 'The upload URL.'."\n" + ."\n" + .'> The returned upload URL is a Base64-encoded URL. You must decode the Base64-encoded upload URL before you use an SDK or call an API operation to upload media files. You need to parse UploadAddress only if you use the OSS SDK or call an OSS API operation to upload media files.'."\n", + 'type' => 'string', + 'example' => 'eyJTZWN1cml0eVRiQ0FJU3p3TjFxNkZ0NUIyeW****', + ], + 'VideoId' => [ + 'description' => 'The ID of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'c6a23a870c8c4ffcd40cbd381333****', + ], + 'UploadAuth' => [ + 'description' => 'The upload credential.'."\n" + ."\n" + .'> The returned upload credential is a Base64-encoded value. You must decode the Base64-encoded upload URL before you use an SDK or call an API operation to upload media files. You need to parse UploadAuth only if you use the OSS SDK or call an OSS API operation to upload media files.'."\n", + 'type' => 'string', + 'example' => 'FJU3p3TZ0NUIyeW****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A43-7DF6-D7393642****\\",\\n \\"UploadAddress\\": \\"eyJTZWN1cml0eVRiQ0FJU3p3TjFxNkZ0NUIyeW****\\",\\n \\"VideoId\\": \\"c6a23a870c8c4ffcd40cbd381333****\\",\\n \\"UploadAuth\\": \\"FJU3p3TZ0NUIyeW****\\"\\n}","errorExample":""},{"type":"xml","example":"<RefreshUploadVideoResponse>\\n <RequestId>25818875-5F78-4A43-7DF6-D7393642****</RequestId>\\n <UploadAddress>eyJTZWN1cml0eVRiQ0FJU3p3TjFxNkZ0NUIyeW****</UploadAddress>\\n <VideoId>c6a23a870c8c4ffcd40cbd381333****</VideoId>\\n <UploadAuth>FJU3p3TZ0NUIyeW****</UploadAuth>\\n</RefreshUploadVideoResponse>","errorExample":""}]', + 'title' => 'RefreshUploadVideo', + 'description' => 'You can also call this operation to overwrite the source file of an audio or video file. After you call this operation, the system obtains the upload URL and uploads a new source file without changing the ID of the audio or video file. If you have configured transcoding or snapshot capture for the upload, the transcoding or snapshot capture job is automatically triggered. For more information, see [Upload URLs and credentials](~~55397~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.Damaged | The video has been Damaged. | 400 | The error message returned because an error occurred during the video creation or the video was damaged. |'."\n" + .'| InvalidVideo.NotFound | The video not exist. | 404 | The error message returned because the video does not exist. |', + ], + 'CreateUploadImage' => [ + 'summary' => 'ApsaraVideo VOD returns the upload URL and credential to ensure authorization and security, prevent malicious uploads, and automatically create an image ID for management. Obtains an upload URL and an upload credential for uploading an audio or video file and generates the audio or video ID.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39817', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the image. The following rules apply:'."\n" + ."\n" + .'* The title can be up to 128 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mytitle', + ], + ], + [ + 'name' => 'ImageType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* **default**: the default image type.'."\n" + .'* **cover**: the thumbnail.'."\n" + ."\n" + .'> You can manage only images of the **default** type in the ApsaraVideo VOD console.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'default', + ], + ], + [ + 'name' => 'ImageExt', + 'in' => 'query', + 'schema' => [ + 'description' => 'The file name extension of the image. Valid values:'."\n" + ."\n" + .'* **png** (default)'."\n" + .'* **jpg**'."\n" + .'* **jpeg**'."\n" + .'* **gif**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'png', + ], + ], + [ + 'name' => 'OriginalFileName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the source file.'."\n" + ."\n" + .'> The name must contain a file name extension. The file name extension is not case-sensitive.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'D:\\picture_01.png', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tags of the image. The following rules apply:'."\n" + ."\n" + .'* Each tag can be up to 32 characters in length.'."\n" + .'* You can specify a maximum of 16 tags for an image.'."\n" + .'* Separate multiple tags with commas (,).'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'StorageLocation', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage address. Perform the following operations to obtain the storage address: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Storage**. On the Storage page, view the storage address.'."\n" + ."\n" + .'> If you specify a storage address, media files are uploaded to the specified address.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'outin-****..oss-cn-shanghai.aliyuncs.com', + ], + ], + [ + 'name' => 'CateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The category ID of the image. You can use one of the following methods to obtain the category ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories**. On the Categories page, you can view the category ID of the image.'."\n" + .'* Obtain the value of CateId from the response to the [AddCategory](~~56401~~) operation.'."\n" + .'* Obtain the value of CateId from the response to the [GetCategories](~~56406~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '100036****', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom configurations, including callback configurations and upload acceleration configurations. The value must be a JSON string. For more information, see the "UserData: specifies the custom configurations for media upload" section of the [Request parameters](~~86952~~) topic.'."\n" + ."\n" + .'> * The callback configurations take effect only after you specify the HTTP callback URL and select specific callback events in the ApsaraVideo VOD console. For more information about how to configure HTTP callback settings in the ApsaraVideo VOD console, see [Configure callback settings](~~86071~~).'."\n" + .'> * If you want to enable the upload acceleration feature, submit a ticket. For more information, see [Overview](~~55396~~). For more information about how to submit a ticket, see [Contact us](~~464625~~).', + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"xxx","test":"www"}}', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the image.'."\n" + ."\n" + .'* The description can be up to 1,024 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'The description of the image', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'FileURL' => [ + 'description' => 'The OSS URL of the file. The URL does not contain the information used for URL signing. You can specify FileUrl when you call the [AddWatermark](~~98617~~) operation.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/cover/2017-34DB-4F4C-9373-003AA060****.png', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-AEF6-D7393642****', + ], + 'UploadAddress' => [ + 'description' => 'The upload URL.'."\n" + ."\n" + .'> The returned upload URL is a Base64-encoded URL. You must decode the Base64-encoded URL before you use an SDK or call an API operation to upload auxiliary media assets. You need to parse UploadAddress only if you use the OSS SDK or call an OSS API operation to upload auxiliary media assets.'."\n", + 'type' => 'string', + 'example' => 'eyJTZWN1cmuIjoiQ0FJU3p3TjF****', + ], + 'ImageURL' => [ + 'description' => 'The URL of the image.'."\n" + ."\n" + .'> If the returned URL is inaccessible from a browser and the HTTP 403 status code is returned, the URL signing feature in ApsaraVideo VOD is enabled. To resolve this issue, you can disable the [URL signing](~~86090~~) feature or [generate a signed URL](~~57007~~).'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/cover/2017-34DB-4F4C-9373-003AA060****.png', + ], + 'ImageId' => [ + 'description' => 'The ID of the image file.'."\n", + 'type' => 'string', + 'example' => '93ab850b4f6f46e91d24d81d4****', + ], + 'UploadAuth' => [ + 'description' => 'The upload credential.'."\n" + ."\n" + .'> The returned upload credential is a Base64-encoded value. You must decode the Base64-encoded credential before you use an SDK or call an API operation to upload auxiliary media assets. You need to parse UploadAuth only if you use the OSS SDK or call an OSS API operation to upload auxiliary media assets.'."\n", + 'type' => 'string', + 'example' => 'eyJFbmmRCI6Im****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"FileURL\\": \\"http://example.aliyundoc.com/cover/2017-34DB-4F4C-9373-003AA060****.png\\",\\n \\"RequestId\\": \\"25818875-5F78-AEF6-D7393642****\\",\\n \\"UploadAddress\\": \\"eyJTZWN1cmuIjoiQ0FJU3p3TjF****\\",\\n \\"ImageURL\\": \\"http://example.aliyundoc.com/cover/2017-34DB-4F4C-9373-003AA060****.png\\",\\n \\"ImageId\\": \\"93ab850b4f6f46e91d24d81d4****\\",\\n \\"UploadAuth\\": \\"eyJFbmmRCI6Im****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateUploadImageResponse>\\n <FileURL>http://example.aliyundoc.com/cover/2017-34DB-4F4C-9373-003AA060****.png</FileURL>\\n <RequestId>25818875-5F78-AEF6-D7393642****</RequestId>\\n <UploadAddress>eyJTZWN1cmuIjoiQ0FJU3p3TjF****</UploadAddress>\\n <ImageURL>http://example.aliyundoc.com/cover/2017-34DB-4F4C-9373-003AA060****.png</ImageURL>\\n <ImageId>93ab850b4f6f46e91d24d81d4****</ImageId>\\n <UploadAuth>eyJFbmmRCI6Im****</UploadAuth>\\n</CreateUploadImageResponse>","errorExample":""}]', + 'title' => 'CreateUploadImage', + 'description' => '* **Make sure that you understand the billing method and price of ApsaraVideo VOD before you call this operation. You are charged storage fees after you upload media files to ApsaraVideo VOD. For more information, see [Billing of media asset storage](~~188308#section_e97\\_xrp_mzz~~). If you have activated the acceleration service, you are charged acceleration fees when you upload media files to ApsaraVideo VOD. For more information, see [Billing of acceleration traffic](~~188310#section_sta_zm2\\_tsv~~).**'."\n" + .'* You must obtain a URL and a credential before you upload an image to ApsaraVideo VOD. ApsaraVideo VOD provides multiple upload methods. You can upload files by using server upload SDKs, client upload SDKs, URLs, Object Storage Service (OSS) API, or OSS SDKs. Each upload method has different requirements for obtaining upload URLs and credentials. For more information, see the "Usage notes" section of the [Upload URLs and credentials](~~55397~~) topic.'."\n" + .'* You cannot refresh the upload URL or credential when you upload images. If the image upload credential expires, you can call this operation to obtain a new upload URL and credential. By default, the validity period of an image upload credential is 3,000 seconds.'."\n" + .'* You can call the [CreateUploadAttachedMedia](~~98467~~) operation to upload image watermarks.'."\n" + .'* You can configure a callback for [ImageUploadComplete](~~91968~~) to receive notifications about the image upload status.'."\n", + ], + 'CreateUploadAttachedMedia' => [ + 'summary' => 'Obtain an upload credential and create auxiliary media assets, such as watermarks and subtitles. The upload URL and credential are provided by ApsaraVideo VOD to resolve authorization and security issues, prevent malicious uploads, and automatically create media IDs (Mediaid) for management and processing.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39816', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the auxiliary media asset. The following rules apply:'."\n" + ."\n" + .'* The title cannot exceed 128 bytes.'."\n" + .'* The title must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testTitle', + ], + ], + [ + 'name' => 'BusinessType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the auxiliary media asset. Valid values:'."\n" + ."\n" + .'* **watermark**'."\n" + .'* **subtitle**'."\n" + .'* **material**'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'watermark', + ], + ], + [ + 'name' => 'MediaExt', + 'in' => 'query', + 'schema' => [ + 'description' => 'The file name extension of the auxiliary media asset.'."\n" + ."\n" + .'* Valid values for watermarks: **png, gif, apng, and mov**'."\n" + .'* Valid values for subtitles: **srt, ass, stl, ttml, and vtt**'."\n" + .'* Valid values for materials: **jpg, gif, png, mp4, mat, zip, and apk**'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'enumValueTitles' => [ + 'ass' => 'ass', + 'jpg' => 'jpg', + 'zip' => 'zip', + 'mat' => 'mat', + 'gif' => 'gif', + 'apng' => 'apng', + 'png' => 'png', + 'ttml' => 'ttml', + 'stl' => 'stl', + 'mp4' => 'mp4', + 'srt' => 'srt', + 'mov' => 'mov', + 'vtt' => 'vtt', + 'apk' => 'apk', + ], + 'example' => 'png', + ], + ], + [ + 'name' => 'FileName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The source file URL of the auxiliary media asset.'."\n" + ."\n" + .'> The file name extension is optional. If the file name extension that you specified for this parameter is different from the value of MediaExt, the value of MediaExt takes effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'D:\\test.png', + ], + ], + [ + 'name' => 'FileSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The size of the auxiliary media asset. Unit: byte.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => [ + 'description' => 'The one or more tags of the auxiliary media asset. Take note of the following items:'."\n" + ."\n" + .'* You can specify a maximum of 16 tags.'."\n" + .'* If you need to specify multiple tags, separate the tags with commas (,).'."\n" + .'* Each tag can be up to 32 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag1,tag2', + ], + ], + [ + 'name' => 'StorageLocation', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage address. Perform the following operations to obtain the storage address:'."\n" + ."\n" + .'Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Storage**. On the Storage page, view the storage address.'."\n" + ."\n" + .'> If you leave this parameter empty, the auxiliary media asset is uploaded to the default storage address. If you specify this parameter, the auxiliary media asset is uploaded to the specified storage address.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the auxiliary media asset. Take note of the following items:'."\n" + ."\n" + .'* The description can be up to 1,024 bytes in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'uploadTest', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom configurations. For example, you can specify callback configurations and upload acceleration configurations. The value must be a JSON string. For more information, see [Request parameters](~~86952#section-6fg-qll-v3w~~).'."\n" + ."\n" + .'> * The callback configurations take effect only after you specify the HTTP callback URL and select the specific callback events in the ApsaraVideo VOD console. For more information about how to configure HTTP callback settings in the ApsaraVideo VOD console, see [Configure callback settings](~~86071~~).'."\n" + .'> * If you want to enable the upload acceleration feature, submit a ticket. For more information, see [Overview](~~55396~~). For more information about how to submit a ticket, see [Contact us](~~464625~~).', + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"xxx","test":"www"}}', + ], + ], + [ + 'name' => 'CateIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the category. Separate multiple IDs with commas (,). You can specify up to five IDs. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories** to view the category ID of the media file.'."\n" + .'* Obtain the category ID from the response to the [AddCategory](~~AddCategory~~) operation that you call to create a category.'."\n" + .'* Obtain the category ID from the response to the [GetCategories](~~GetCategories~~) operation that you call to query categories.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1298****,0813****', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. If you have activated the multi-application service, specify the ID of the application to add the watermark template in the specified application. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'FileURL' => [ + 'description' => 'The URL of the auxiliary media asset file. The URL is an Object Storage Service (OSS) URL and does not contain the information used for URL signing.'."\n" + ."\n" + .'You can use specify this value for the `FileUrl` parameter when you call the [AddWatermark](~~AddWatermark~~) operation to create a watermark template.'."\n", + 'type' => 'string', + 'example' => 'https://****.oss-cn-shanghai.aliyuncs.com/watermark/****.mov', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '73254DE5-F260-4720-D06856B63C01****', + ], + 'UploadAddress' => [ + 'description' => 'The upload URL.'."\n" + ."\n" + .'> The upload URL returned by this operation is Base64-encoded. Before you can use an SDK or an API operation to upload a media asset based on the upload URL, you must decode the upload URL by using the Base64 algorithm. You must parse the upload URL only if you use native OSS SDKs or OSS API for uploads.'."\n", + 'type' => 'string', + 'example' => 'LWNuLXNoYW5naGFpLmFsaXl1b****', + ], + 'MediaId' => [ + 'description' => 'The ID of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => '97dc17a5abc3668489b84ce9****', + ], + 'MediaURL' => [ + 'description' => 'The URL of the auxiliary media asset.'."\n" + ."\n" + .'If a domain name for Alibaba Cloud CDN is specified, a CDN URL is returned. Otherwise, an OSS URL is returned.'."\n" + ."\n" + .'> If you enable the URL signing feature of ApsaraVideo VOD, you may be unable to access the returned URL of the auxiliary media asset by using a browser and the HTTP status code 403 may be returned. To resolve this issue, you can disable the [URL signing](~~86090~~) feature or [generate a signed URL](~~57007~~).'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/watermark/****.mov?auth_key=****', + ], + 'UploadAuth' => [ + 'description' => 'The upload credential.'."\n" + ."\n" + .'> The upload credential returned by this operation is Base64-encoded. Before you can use an SDK or an API operation to upload a media asset based on the upload credential, you must decode the upload credential by using the Base64 algorithm. You must parse the upload credential only if you use native OSS SDKs or OSS API for uploads.'."\n", + 'type' => 'string', + 'example' => 'UzFnUjFxNkZ0NUIZTaklyNWJoQ00zdHF****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"FileURL\\": \\"https://****.oss-cn-shanghai.aliyuncs.com/watermark/****.mov\\",\\n \\"RequestId\\": \\"73254DE5-F260-4720-D06856B63C01****\\",\\n \\"UploadAddress\\": \\"LWNuLXNoYW5naGFpLmFsaXl1b****\\",\\n \\"MediaId\\": \\"97dc17a5abc3668489b84ce9****\\",\\n \\"MediaURL\\": \\"http://example.aliyundoc.com/watermark/****.mov?auth_key=****\\",\\n \\"UploadAuth\\": \\"UzFnUjFxNkZ0NUIZTaklyNWJoQ00zdHF****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateUploadAttachedMediaResponse>\\n <FileURL>https://****.oss-cn-shanghai.aliyuncs.com/watermark/****.mov</FileURL>\\n <RequestId>73254DE5-F260-4720-D06856B63C01****</RequestId>\\n <UploadAddress>LWNuLXNoYW5naGFpLmFsaXl1b****</UploadAddress>\\n <MediaId>97dc17a5abc3668489b84ce9****</MediaId>\\n <MediaURL>http://example.aliyundoc.com/watermark/****.mov?auth_key=****</MediaURL>\\n <UploadAuth>UzFnUjFxNkZ0NUI*****ZTaklyNWJoQ00zdHF</UploadAuth>\\n</CreateUploadAttachedMediaResponse>","errorExample":""}]', + 'title' => 'CreateUploadAttachedMedia', + 'description' => '* **Make sure that you understand the billing method and prices of ApsaraVideo VOD before you call this operation. You are charged storage fees after you upload media files to ApsaraVideo VOD. For more information, see [Billing of media asset storage](~~188308#section_e97\\_xrp_mzz~~). If you have activated the acceleration service, you are charged acceleration fees when you upload media files to ApsaraVideo VOD. For more information, see [Billing of acceleration traffic](~~188310#section_sta_zm2\\_tsv~~).**'."\n" + .'* You can call this operation only to obtain the upload URLs and credentials for media files and create media assets in ApsaraVideo VOD. You cannot call this operation to upload media files. For more information about how to upload media files by calling API operations, see [Upload media files by calling API operations](~~476208~~).'."\n" + .'* If the upload credential expires after 3,000 seconds, you can call the CreateUploadAttachedMedia operation again to obtain a new upload URL and a new upload credential.'."\n" + .'* You can configure a callback to receive an [AttachedMediaUploadComplete](~~103250~~) event notification to determine whether the upload is successful.'."\n" + .'* You must obtain a URL and a credential before you upload a media file to ApsaraVideo VOD. ApsaraVideo VOD supports multiple upload methods. Each method has different requirements on upload URLs and credentials. For more information, see [Upload URLs and credentials](~~55397~~).'."\n", + 'requestParamsDescription' => ' ', + ], + 'UploadMediaByURL' => [ + 'summary' => 'Uploads media files based on URLs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '40242', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'UploadURLs', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the media file.'."\n" + ."\n" + .'* You must include a file name extension in the URL, such as `https://****.mp4`.'."\n" + ."\n" + .' * If the URL does not contain a file name extension, specify a file name extension for `FileExtension` in `UploadMetadatas`.'."\n" + .' * If you specify `FileExtension` when the URL contains a file name extension, the file name extension that you specified for `FileExtension` takes effect.'."\n" + .' * For more information about file name extensions supported by ApsaraVideo VOD, see [Overview](~~55396~~).'."\n" + ."\n" + .'* URL encoding is required. Separate multiple URLs with commas (,). You can specify a maximum of 20 URLs.'."\n" + ."\n" + .'* Special characters may cause upload failures. You must encode URLs before you separate them with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'https://****.mp4', + ], + ], + [ + 'name' => 'TemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group. You can use one of the following methods to obtain the ID of the transcoding template group:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Transcoding Template Groups**. On the Transcoding Template Groups page, view the ID of the transcoding template group.'."\n" + .'* Obtain the value of TranscodeTemplateGroupId from the response to the [AddTranscodeTemplateGroup](~~102665~~) operation.'."\n" + .'* Obtain the value of TranscodeTemplateGroupId from the response to the [ListTranscodeTemplateGroup](~~102669~~) operation.'."\n" + ."\n" + .'>- If you leave this parameter empty, the default transcoding template group is used for transcoding. If you specify this parameter, the specified transcoding template group is used for transcoding.'."\n" + .'>- You can also specify the ID of the transcoding template group in `UploadMetadatas`. If you specify this parameter and TemplateGroupId in UploadMetadatas, the TemplateGroupId in UploadMetadatas takes effect.', + 'type' => 'string', + 'required' => false, + 'example' => 'ca3a8f6e4957b65806709586****', + ], + ], + [ + 'name' => 'StorageLocation', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage address of the media file.'."\n" + ."\n" + .'To view the storage address, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com/?spm=a2c4g.11186623.2.15.6948257eaZ4m54#/vod/settings/censored). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Storage**. If you do not specify a storage address, the default storage address is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com', + ], + ], + [ + 'name' => 'UploadMetadatas', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metadata of the media file that you want to upload. The value must be a JSON string.'."\n" + ."\n" + .'* This parameter takes effect only if SourceURL matches the URL that you specified for UploadURLs.'."\n" + .'* You must convert the JSON-formatted data such as `[UploadMetadata, UploadMetadata,…]` to a JSON string.'."\n" + .'* For more information, see the **UploadMetadata** table.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{"SourceURL":"https://example.aliyundoc.com/video01.mp4","Title":"urlUploadTest"}]', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom configurations such as callback configurations and upload acceleration configurations. The value must be a JSON string. For more information, see [Request parameters](~~86952#UserData~~).'."\n" + ."\n" + .'>- The callback configurations take effect only after you specify the HTTP callback URL and select specific callback events in the ApsaraVideo VOD console. For more information about how to configure HTTP callback settings in the ApsaraVideo VOD console, see [Configure callback settings](~~86071~~).'."\n" + .'>- If you want to enable the upload acceleration feature, [submit a request on Yida](https://yida.alibaba-inc.com/o/ticketapply). For more information, see [Overview](~~55396~~).', + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"xxx","test":"www"}}', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + [ + 'name' => 'WorkflowId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the workflow. To view the ID of the workflow, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Workflows**.'."\n" + ."\n" + .'> If you specify WorkflowId and TemplateGroupId, the value of WorkflowId takes effect. For more information, see [Workflows](~~115347~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'e1e243b42548248197d6f74f9****', + ], + ], + [ + 'name' => 'SessionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom identifier for deduplication. If you specify this parameter and send a request, an error is returned if a request with the same identifier was sent in the last 10 minutes. A custom identifier can be up to 50 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_). If you do not specify this parameter or leave this parameter empty, duplicate requests are not filtered.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5c62d40299034bbaa4c195da330****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'UploadJobs' => [ + 'description' => 'The ID of the upload job.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the upload job.', + 'type' => 'object', + 'properties' => [ + 'SourceURL' => [ + 'description' => 'The URL of the source file that is uploaded in the upload job.', + 'type' => 'string', + 'example' => 'http://example****.mp4', + ], + 'JobId' => [ + 'description' => 'The ID of the upload job.', + 'type' => 'string', + 'example' => 'ad90a501b1b94fb72374ad005046****', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"UploadJobs\\": [\\n {\\n \\"SourceURL\\": \\"http://example****.mp4\\",\\n \\"JobId\\": \\"ad90a501b1b94fb72374ad005046****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UploadMediaByURLResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <UploadJobs>\\n <SourceURL>http://example****.mp4</SourceURL>\\n <JobId>ad90a501b1b94fb72374ad005046****</JobId>\\n </UploadJobs>\\n</UploadMediaByURLResponse>","errorExample":""}]', + 'title' => 'UploadMediaByURL', + 'description' => '* You can call this operation to upload media files that are not stored on a local server or device and must be uploaded based on URLs over the Internet.'."\n" + .'* The URL-based upload jobs are asynchronous. After you submit a URL-based upload job by calling this operation, it may take hours, even days to complete. If you require high timeliness, we recommend that you use the upload SDK.'."\n" + .'* If you configure callbacks, you can receive an [UploadByURLComplete](~~86326~~) event notification after the media file is uploaded. You can query the upload status by calling the [GetURLUploadInfos](~~106830~~) operation.'."\n" + .'* After you submit an upload job, the job is asynchronously processed on the cloud. All URL-based upload jobs that are submitted in each region are queued. The waiting time for the upload job depends on the number of queued jobs. After the upload job is complete, you can associate the playback URL included in the callback with the media ID.'."\n" + .'* You can call this operation only in the **China (Shanghai)** and **Singapore** regions.'."\n" + .'* Every time you submit a URL-based upload job, a new media ID is generated in ApsaraVideo VOD.'."\n", + 'requestParamsDescription' => '## UploadMetadata'."\n" + ."\n" + .'|Parameter|Type|Required|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|SourceURL|String|Yes|The URL of the media file that you want to upload.|'."\n" + .'|Title|String|No|The title of the media file. The name can be up to 128 bytes in length. The value must be encoded in UTF-8.|'."\n" + .'|FileSize|String|No|The size of the media file.|'."\n" + .'|Description|String|No|The description of the media file. The description can be up to 1,024 bytes in length. The value must be encoded in UTF-8.|'."\n" + .'|CoverURL|String|No|The URL of the custom thumbnail of the media file.|'."\n" + .'|CateId|String|No|The category ID of the media file. To view the category ID of the media file, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories**.|'."\n" + .'|Tags|String|No|The tags of the media file. A tag can be up to 32 bytes in length. You can specify a maximum of 16 tags. Separate multiple tags with commas (,). The value must be encoded in UTF-8.|'."\n" + .'|TemplateGroupId|String|No|The ID of the transcoding template group. If you specify this parameter, TemplateGroupId in the preceding table is overwritten.|'."\n" + .'|WorkflowId|String|No|The ID of the workflow. If you specify WorkflowId and TemplateGroupId, WorkflowId takes precedence. For more information, see [Workflows](~~115347~~).|'."\n" + .'|FileExtension|String|No|The file name extension of the media file. For more information about file name extensions supported by ApsaraVideo VOD, see [Overview](~~55396~~).|'."\n" + ."\n" + .'>- You cannot include emoticons in parameters such as Title, Description, and Tags in UploadMetadata.'."\n" + .'>- If you set TemplateGroupId to VOD\\_NO\\_TRANSCODE, the media file is uploaded without transcoding. In this case, only videos in the following formats can be played: MP4, FLV, MP3, M3U8, and WebM. Videos in other formats can be stored in ApsaraVideo VOD. You can identify the video format based on FileName. If you want to use ApsaraVideo Player, use ApsaraVideo Player V3.1.0 or later.'."\n" + .'>- If you set TemplateGroupId to VOD\\_NO\\_TRANSCODE, only the [FileUploadComplete](~~55630~~) event notification is returned when the media file is uploaded. The [StreamTranscodeComplete](~~55636~~) event notification is not returned.'."\n" + .'>- If you configure callbacks, you can receive an [UploadByURLComplete](~~86326~~) event notification when the media file is uploaded. You can also receive the FileUploadComplete and StreamTranscodeComplete event notifications.'."\n" + .'>- If you upload multiple media files in a batch, ApsaraVideo VOD sends an event notification for each media file when the media file is uploaded.', + 'responseParamsDescription' => '> This operation is used to asynchronously upload media files. Upload jobs are queued for execution after they are submitted. The completion time of an upload job varies with the number of jobs in the queue.', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidParameter.UploadURLs | The specified parameter UploadURLs is not valid. | 400 | The error message returned because the UploadURLs parameter is invalid. |', + ], + 'GetURLUploadInfos' => [ + 'summary' => 'Queries the information about URL-based upload jobs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39992', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'JobIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The one or more IDs of upload jobs. You can obtain the job IDs in the response parameter JobId of the [UploadMediaByURL](~~86311~~) operation.'."\n" + ."\n" + .'- You can specify a maximum of 10 IDs.'."\n" + .'- Separate multiple IDs with commas (,).'."\n" + ."\n" + .'> You must set one of the JobIds and the UploadURLs parameters. If you set both the JobIds and UploadURLs parameters, only the value of the JobIds parameter takes effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '86c1925fba0****,7afb201e7fa****,2cc4997378****', + ], + ], + [ + 'name' => 'UploadURLs', + 'in' => 'query', + 'schema' => [ + 'description' => 'The one or more upload URLs of the source files. Separate multiple URLs with commas (,). You can specify a maximum of 10 URLs.'."\n" + ."\n" + .'> * You must encode the URLs before you use the URLs.'."\n" + .'> * If a media file is uploaded multiple times, pass the URL of the media file to this parameter only once.'."\n" + .'> * You must set one of the JobIds and the UploadURLs parameters. If you set both the JobIds and UploadURLs parameters, only the value of the JobIds parameter takes effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://****.mp4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'NonExists' => [ + 'description' => 'The job IDs or upload URLs that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The job ID or upload URL.', + 'type' => 'string', + 'example' => '["****1", "****2"]', + ], + ], + 'URLUploadInfoList' => [ + 'description' => 'The information about URL-based upload jobs. For more information, see the "URLUploadInfo: the information about a URL-based upload job" section of the [Basic structures](~~52839~~) topic.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the upload job was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-01T01:01:01Z', + ], + 'Status' => [ + 'description' => 'The status of the URL-based upload job. For more information about the valid values and value description of the parameter, see the "Status: the status of a video" section of the [Basic structures](~~52839~~) topic.'."\n", + 'type' => 'string', + 'example' => 'SUCCESS', + ], + 'ErrorMessage' => [ + 'description' => 'The error message returned.'."\n", + 'type' => 'string', + 'example' => 'error_message', + ], + 'ErrorCode' => [ + 'description' => 'The error code returned.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'CompleteTime' => [ + 'description' => 'The time when the upload job was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-01T01:11:01Z', + ], + 'JobId' => [ + 'description' => 'The ID of the upload job.'."\n", + 'type' => 'string', + 'example' => '86c1925fba0****', + ], + 'UserData' => [ + 'description' => 'The custom configurations. The value is a JSON string. For more information, see the "UserData: specifies the custom configurations for media upload" section of the [Request parameters](~~86952~~) topic.'."\n", + 'type' => 'string', + 'example' => '{"MessageCallback":"{"CallbackURL":"http://example.aliyundoc.com"}", "Extend":"{"localId":"***", "test":"www"}"}', + ], + 'UploadURL' => [ + 'description' => 'The upload URL of the source file.'."\n" + ."\n" + .'> A maximum of 100 URLs can be returned.', + 'type' => 'string', + 'example' => 'http://****.mp4', + ], + 'MediaId' => [ + 'description' => 'The ID of the uploaded media file.'."\n", + 'type' => 'string', + 'example' => '93ab850b4f6f54b6e91d24d81d4****', + ], + 'FileSize' => [ + 'description' => 'The size of the uploaded media file. Unit: byte.'."\n", + 'type' => 'string', + 'example' => '24', + ], + 'RegisteredMediaId' => [ + 'title' => '已注册的媒资ID。', + 'type' => 'string', + 'example' => '93ab850b4f654b6e91d24d81d44****', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"NonExists\\": [\\n \\"[\\\\\\"****1\\\\\\", \\\\\\"****2\\\\\\"]\\"\\n ],\\n \\"URLUploadInfoList\\": [\\n {\\n \\"CreationTime\\": \\"2019-01-01T01:01:01Z\\",\\n \\"Status\\": \\"SUCCESS\\",\\n \\"ErrorMessage\\": \\"error_message\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CompleteTime\\": \\"2019-01-01T01:11:01Z\\",\\n \\"JobId\\": \\"86c1925fba0****\\",\\n \\"UserData\\": \\"{\\\\\\"MessageCallback\\\\\\":\\\\\\"{\\\\\\"CallbackURL\\\\\\":\\\\\\"http://example.aliyundoc.com\\\\\\"}\\\\\\", \\\\\\"Extend\\\\\\":\\\\\\"{\\\\\\"localId\\\\\\":\\\\\\"***\\\\\\", \\\\\\"test\\\\\\":\\\\\\"www\\\\\\"}\\\\\\"}\\",\\n \\"UploadURL\\": \\"http://****.mp4\\",\\n \\"MediaId\\": \\"93ab850b4f6f54b6e91d24d81d4****\\",\\n \\"FileSize\\": \\"24\\",\\n \\"RegisteredMediaId\\": \\"93ab850b4f654b6e91d24d81d44****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetURLUploadInfosResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <NonExists>[\\"****1\\", \\"****2\\"]</NonExists>\\n <URLUploadInfoList>\\n <UrlUploadJobInfoDTO>\\n <CreationTime>2019-01-01T01:01:01Z</CreationTime>\\n <Status>SUCCESS</Status>\\n <ErrorMessage>error_message</ErrorMessage>\\n <ErrorCode>200</ErrorCode>\\n <CompleteTime>2019-01-01T01:11:01Z</CompleteTime>\\n <JobId>86c1925fba0****</JobId>\\n <UserData>{\\"MessageCallback\\":\\"{\\"CallbackURL\\":\\"http://example.aliyundoc.com\\"}\\", \\"Extend\\":\\"{\\"localId\\":\\"***\\", \\"test\\":\\"www\\"}\\"}</UserData>\\n <UploadURL>http://****.mp4</UploadURL>\\n <MediaId>93ab850b4f6f54b6e91d24d81d4****</MediaId>\\n <FileSize>24</FileSize>\\n </UrlUploadJobInfoDTO>\\n </URLUploadInfoList>\\n</GetURLUploadInfosResponse>","errorExample":""}]', + 'title' => 'GetURLUploadInfos', + 'description' => 'You can query the information about a URL-based upload job by specifying the upload URL or using the job ID returned when you upload media files. The information includes the status of the upload job, custom configurations, the time when the job was created, and the time when the job was complete.'."\n" + ."\n" + .'If the upload fails, you can view the error code and error message. If the upload is successful, you can obtain the video ID.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelUrlUploadJobs' => [ + 'summary' => 'Cancels URL-based upload jobs in the queue.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '46269', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'JobIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the upload jobs. You can obtain the job IDs from PlayInfo in the response to the [GetPlayInfo](~~56124~~) operation.'."\n" + ."\n" + .'* You can specify a maximum of 10 IDs.'."\n" + .'* Separate multiple IDs with commas (,).'."\n" + ."\n" + .'> You must specify either JobIds or UploadUrls. If you specify both the JobIds and UploadUrls parameters, only the value of the JobIds parameter takes effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '341c92e6c18dc435ee31253685****,0193d395194a83ad6ee2ef27a5b5****', + ], + ], + [ + 'name' => 'UploadUrls', + 'in' => 'query', + 'schema' => [ + 'description' => 'The upload URLs of source video files. Separate multiple URLs with commas (,). You can specify a maximum of 10 URLs.'."\n" + ."\n" + .'> * You must encode the URLs before you use the URLs.'."\n" + .'> * You must specify either JobIds or UploadUrls. If you specify both the JobIds and UploadUrls parameters, only the value of the JobIds parameter takes effect.', + 'type' => 'string', + 'required' => false, + 'example' => 'http://www.example.aliyundoc.com/***/video01.mp4,http://www.example.aliyundoc.com/***/video02.mp4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4D5C-3C3D-D7393642****', + ], + 'CanceledJobs' => [ + 'description' => 'The IDs of canceled jobs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the canceled job. The return value is JobId.'."\n", + 'type' => 'string', + 'example' => '341c92e6c18dc435ee31253685****,0193d395194a83ad6ee2ef27a5b5****', + ], + ], + 'NonExists' => [ + 'description' => 'The jobs that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The job ID or URL that does not exist.'."\n" + ."\n" + .'If you specify JobIds in the request, the job IDs that do not exist are returned. If you specify UploadURL in the request, the upload URLs that do not exist are returned.'."\n", + 'type' => 'string', + 'example' => 'http://www.example.aliyundoc.com/***/video01.mp4,http://www.example.aliyundoc.com/***/video02.mp4', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4D5C-3C3D-D7393642****\\",\\n \\"CanceledJobs\\": [\\n \\"341c92e6c18dc435ee31253685****,0193d395194a83ad6ee2ef27a5b5****\\"\\n ],\\n \\"NonExists\\": [\\n \\"http://www.example.aliyundoc.com/***/video01.mp4,http://www.example.aliyundoc.com/***/video02.mp4\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CancelUrlUploadJobsResponse>\\n <RequestId>25818875-5F78-4D5C-3C3D-D7393642****</RequestId>\\n <CanceledJobs>341c92e6c18dc435ee31253685****,0193d395194a83ad6ee2ef27a5b5****</CanceledJobs>\\n <NonExists>http://www.example.aliyundoc.com/***/video01.mp4,http://www.example.aliyundoc.com/***/video02.mp4</NonExists>\\n</CancelUrlUploadJobsResponse>","errorExample":""}]', + 'title' => 'CancelUrlUploadJobs', + 'description' => '* You can cancel only URL-based upload jobs in the **Pending** state. You can query the status of a URL-based upload job by calling the [GetURLUploadInfos](~~106830~~) operation.'."\n" + .'* You cannot cancel an upload job that already starts.'."\n" + .'* You must specify either JobIds or UploadUrls. If you specify both parameters, only JobIds takes effect.', + ], + 'UploadStreamByURL' => [ + 'summary' => 'Uploads transcoded streams to ApsaraVideo VOD from external storage.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '100689', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + ], + 'parameters' => [ + [ + 'name' => 'StreamURL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the transcoded stream.'."\n" + ."\n" + .'If URL authentication is required, you must pass authentication information in this parameter and make sure that the URL can be accessed over the Internet.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'https://example.com/lesson-01.mp4', + ], + ], + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The media ID in ApsaraVideo VOD.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ca3a8f6e49*****57b65806709586', + ], + ], + [ + 'name' => 'Definition', + 'in' => 'query', + 'schema' => [ + 'description' => 'The quality of the video stream.'."\n" + ."\n" + .'For more information about valid values of this parameter, see [Parameters for media assets](~~124671~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'HD', + ], + ], + [ + 'name' => 'FileExtension', + 'in' => 'query', + 'schema' => [ + 'description' => 'The file name extension of the transcoded stream.'."\n" + ."\n" + .'For more information, see the Supported media file formats section in [Overview](~~55396~~).'."\n" + ."\n" + .'If you set a value for this parameter, the file name extension specified in StreamURL is overwritten.'."\n" + ."\n" + .'> This parameter is required if you do not specify a file name extension in StreamURL.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mp4', + ], + ], + [ + 'name' => 'HDRType', + 'in' => 'query', + 'schema' => [ + 'title' => '视频流HDR类型', + 'description' => 'The HDR type of the transcoded stream. Valid values:'."\n" + ."\n" + .'* HDR'."\n" + .'* HDR10'."\n" + .'* HLG'."\n" + .'* DolbyVision'."\n" + .'* HDRVivid'."\n" + .'* SDR+'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* The HDR type of the transcoded stream is not case-sensitive.'."\n" + ."\n" + .'* You can leave this parameter empty for non-HDR streams.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HDR10', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The user-defined parameter. For more information, see the "UserData: specifies the custom configurations for media upload" section of the [Request parameters](~~86952~~) topic.'."\n" + ."\n" + .'> The callback configurations you specify for this parameter take effect only after you specify the HTTP callback URL and select specific callback events in the ApsaraVideo VOD console. For more information about how to configure HTTP callback settings in the ApsaraVideo VOD console, see [Configure callback settings](~~86071~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://aliyundoc.com"}, "Extend":{"localId":"xxx","test":"www"}}', + ], + ], + [ + 'name' => 'UploadMetadata', + 'in' => 'query', + 'schema' => [ + 'description' => 'Metadata information for uploading media files, in JSON string format.'."\n" + ."\n" + .'For more information, please refer to the table below for UploadMetadata.', + 'type' => 'string', + 'required' => false, + 'example' => '{"AddressMapping":"1","CustomPath":"test/xxx","CustomFileName":"xxx.mp4","isOverwritePath":"0"}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The basic information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7AE96389-DF1E-598D-816B-7B40F13B4620', + ], + 'StreamJobId' => [ + 'description' => 'The ID of the stream upload job. This parameter is used when you call the [GetURLUploadInfos](~~106830~~) operation.'."\n" + ."\n" + .'In ApsaraVideo VOD, you can upload only one transcoded stream in an upload job. For more information, see the PlayInfo: the playback information about a video stream section in [Basic structures](~~52839~~).'."\n", + 'type' => 'string', + 'example' => 'e304b34fb3d959f92baef97b6496****', + ], + 'FileURL' => [ + 'description' => 'The URL of the OSS object.'."\n", + 'type' => 'string', + 'example' => 'http://outin-31059bcee7810a200163e1c8dba****.oss-cn-shanghai.aliyuncs.com/lesson-01.mp4', + ], + 'SourceURL' => [ + 'description' => 'The URL of the input stream. This parameter is used when you call the [GetURLUploadInfos](~~106830~~) operation.'."\n", + 'type' => 'string', + 'example' => 'https://example.com/lesson-01.mp4', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7AE96389-DF1E-598D-816B-7B40F13B4620\\",\\n \\"StreamJobId\\": \\"e304b34fb3d959f92baef97b6496****\\",\\n \\"FileURL\\": \\"http://outin-31059bcee7810a200163e1c8dba****.oss-cn-shanghai.aliyuncs.com/lesson-01.mp4\\",\\n \\"SourceURL\\": \\"https://example.com/lesson-01.mp4\\"\\n}","errorExample":""},{"type":"xml","example":"<UploadStreamByURLResponse>\\n <RequestId>7AE96389-DF1E-598D-816B-7B40F13B4620</RequestId>\\n <StreamJobId>e304b34fb3d959f92baef97b6496****</StreamJobId>\\n <FileURL>http://outin-31059bcee7810a200163e1c8dba****.oss-cn-shanghai.aliyuncs.com/lesson-01.mp4</FileURL>\\n <SourceURL>https://example.com/lesson-01.mp4</SourceURL>\\n</UploadStreamByURLResponse>","errorExample":""}]', + 'title' => 'UploadStreamByURL', + 'description' => '* **Make sure that you understand the billing method and price of ApsaraVideo VOD before you call this operation. You are charged storage fees after you upload media files to ApsaraVideo VOD. For more information, see [Billing of media asset storage](~~188308#section_e97\\_xrp_mzz~~). If you have activated the acceleration service, you are charged acceleration fees when you upload media files to ApsaraVideo VOD. For more information, see [Billing of acceleration traffic](~~188310#section_sta_zm2\\_tsv~~).**'."\n" + .'* This operation is available only in the **China (Shanghai)** and **Singapore** regions.'."\n" + .'* You can call this operation to upload transcoded streams to ApsaraVideo VOD from external storage. The following HDR types of transcoded streams are supported: HDR, HDR 10, HLG, Dolby Vision, HDR Vivid, and SDR+.'."\n" + .'* You can call the [GetURLUploadInfos](~~106830~~) operation to query the upload status. After the upload is complete, the callback of the [UploadByURLComplete](~~376427~~) event is returned.'."\n", + 'requestParamsDescription' => '| Name | Type | Required | Descriptio |'."\n" + .'| ------------- |------------ | ----- | ------ |'."\n" + .'| AddressMapping | String | No | Address mapping rule. Values: 1 represents mapping the transcoded stream URL, 2 represents a custom path.|'."\n" + .'| CustomPath |String |No|Custom file path. Length does not exceed 1000 bytes. UTF-8 encoded.|'."\n" + .'| CustomFileName| String |No|Custom file name. Length does not exceed 1000 bytes. UTF-8 encoded.|'."\n" + .'| IsOverwritePath| String |No |Whether to overwrite if the custom file path already exists. Values: 0 represents do not overwrite, 1 represents overwrite.'."\n" + .'|'."\n" + ."\n" + .'> - When AddressMapping is set to 2, both CustomPath and CustomFileName must be provided.'."\n" + .'> - When IsOverwritePath is set to 0, if the custom file path already exists, the interface will return a failure.', + ], + 'DeleteMultipartUpload' => [ + 'summary' => 'Deletes the parts generated during an upload.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39840', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file (VideoId). You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* After you upload a video in the [ApsaraVideo VOD console](https://vod.console.aliyun.com), you can log on to the ApsaraVideo VOD console and choose **Media Files** > **Audio/Video** to view the ID of the video.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you called to obtain the upload URL and credential.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation that you called to query media information after the audio or video file is uploaded.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '61ccbdb06fa3012be4d8083f6****', + ], + ], + [ + 'name' => 'MediaType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the media file. Set the value to **video**. video indicates audio and video files.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'video', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteMultipartUploadResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n</DeleteMultipartUploadResponse>","errorExample":""}]', + 'title' => 'DeleteMultipartUpload', + 'description' => '* During multipart upload, useless parts may be retained if the upload fails. These useless parts are automatically deleted after 7 days. You can call this operation to delete the generated parts after the upload is successful or fails.'."\n" + .'* This operation does not delete the source file or transcoded file, but deletes only the parts generated during the upload.'."\n" + .'* If you call the [DeleteVideo](~~52837~~) operation, the entire video file is deleted, including the generated parts.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidParameter | The specified parameter "MediaType" is invalid. | 400 | The error message returned because the MediaType parameter is invalid. |'."\n" + .'| InvalidMultipartUpload.NotFound | The multipart upload not exist. | 400 | The error message returned because the fragments do not exist. |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 400 | The error message returned because the video does not exist. |'."\n" + .'| InvalidFile.NotFound | The file does not exist. | 400 | The error message returned because the video file does not exist. |'."\n" + .'| InvalidStorage.NotFound | can\'t find storage. | 400 | The error message returned because the specified storage location does not exist. |'."\n" + .'| AccessDenied | Access denied by authorizer\'s policy. | 400 | The error message returned because ApsaraVideo VOD is not authorized to access the self-managed Object Storage Service (OSS) bucket and you are not authorized to perform the operation. |', + ], + 'GetUploadDetails' => [ + 'summary' => 'Queries the upload details, such as the upload time, upload ratio, and upload source, about one or more media files based on the media IDs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39988', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file, namely, the audio or video ID. You can specify a maximum of 20 IDs. Separate multiple IDs with commas (,). You can use one of the following methods to obtain the audio or video ID:'."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, you can view the audio or video ID. Use this method if the audio or video file is uploaded by using the ApsaraVideo VOD console.'."\n" + .'* View the value of the VideoId parameter returned by the [CreateUploadVideo](~~55407~~) operation that you called to obtain an upload URL and credential.'."\n" + .'* View the value of the VideoId parameter returned by the [SearchMedia](~~86044~~) operation that you called to query media information after the audio or video file is uploaded.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '61ccbdb06fa83012be4d8083f6****,7d2fbc380b0e08e55f****', + ], + ], + [ + 'name' => 'MediaType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the media file. Set the value to **video**, which indicates audio and video files.', + 'type' => 'string', + 'required' => false, + 'example' => 'video', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '9E290613-04F4-47F4-795D30732077****', + ], + 'ForbiddenMediaIds' => [ + 'description' => 'The IDs of the media files that cannot be accessed.', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the media files that cannot be accessed.', + 'type' => 'string', + 'example' => '7d2fbc380b0e08e55f****', + ], + ], + 'NonExistMediaIds' => [ + 'description' => 'The IDs of the media files that do not exist.', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the media files that do not exist.', + 'type' => 'string', + 'example' => 'dfsg****', + ], + ], + 'UploadDetails' => [ + 'description' => 'The upload details.', + 'type' => 'array', + 'items' => [ + 'description' => 'The upload details.', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the video. For more information about the valid values and value description of the parameter, see the "Status: the status of a video" section of the [Basic structures](~~52839~~) topic.', + 'type' => 'string', + 'example' => 'Uploading', + ], + 'CreationTime' => [ + 'description' => 'The time when the upload job was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', + 'type' => 'string', + 'example' => '2019-04-28T09:42:07Z', + ], + 'UploadSource' => [ + 'description' => 'The method that is used to upload the media file.', + 'type' => 'string', + 'example' => 'WebSDK', + ], + 'UploadIP' => [ + 'description' => 'The IP address of the server that uploads the media file.', + 'type' => 'string', + 'example' => '192.168.0.1', + ], + 'DeviceModel' => [ + 'description' => 'The device model.', + 'type' => 'string', + 'example' => 'Chrome', + ], + 'ModificationTime' => [ + 'description' => 'The time when the information about the media file was updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-04-28T09:43:12Z', + ], + 'CompletionTime' => [ + 'description' => 'The time when the upload job was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-04-28T09:45:07Z', + ], + 'MediaId' => [ + 'description' => 'The ID of the uploaded audio or video.'."\n", + 'type' => 'string', + 'example' => '61ccbdb06fa83012be4d8083f6****', + ], + 'UploadSize' => [ + 'description' => 'The upload size. Unit: byte.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '346', + ], + 'UploadRatio' => [ + 'description' => 'The upload ratio.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.038', + ], + 'UploadStatus' => [ + 'description' => 'The status of the upload job. For more information about the valid values and value description of the parameter, see the "Status: the status of a URL-based upload job" section of the [Basic structures](~~52839~~) topic.', + 'type' => 'string', + 'example' => 'Uploading', + ], + 'Title' => [ + 'description' => 'The title of the media file.'."\n", + 'type' => 'string', + 'example' => 'Test details', + ], + 'FileSize' => [ + 'description' => 'The size of the uploaded file. Unit: byte.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '46', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9E290613-04F4-47F4-795D30732077****\\",\\n \\"ForbiddenMediaIds\\": [\\n \\"7d2fbc380b0e08e55f****\\"\\n ],\\n \\"NonExistMediaIds\\": [\\n \\"dfsg****\\"\\n ],\\n \\"UploadDetails\\": [\\n {\\n \\"Status\\": \\"Uploading\\",\\n \\"CreationTime\\": \\"2019-04-28T09:42:07Z\\",\\n \\"UploadSource\\": \\"WebSDK\\",\\n \\"UploadIP\\": \\"192.168.0.1\\",\\n \\"DeviceModel\\": \\"Chrome\\",\\n \\"ModificationTime\\": \\"2019-04-28T09:43:12Z\\",\\n \\"CompletionTime\\": \\"2019-04-28T09:45:07Z\\",\\n \\"MediaId\\": \\"61ccbdb06fa83012be4d8083f6****\\",\\n \\"UploadSize\\": 346,\\n \\"UploadRatio\\": 0.038,\\n \\"UploadStatus\\": \\"Uploading\\",\\n \\"Title\\": \\"测试文件上传详情\\",\\n \\"FileSize\\": 46\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetUploadDetailsResponse>\\n <RequestId>9E290613-04F4-47F4-795D30732077****</RequestId>\\n <ForbiddenMediaIds>7d2fbc380b0e08e55f****</ForbiddenMediaIds>\\n <NonExistMediaIds>dfsg****</NonExistMediaIds>\\n <UploadDetails>\\n <UploadDetail>\\n <Status>Uploading</Status>\\n <CreationTime>2019-04-28T09:42:07Z</CreationTime>\\n <UploadSource>WebSDK</UploadSource>\\n <UploadIP>192.168.0.1</UploadIP>\\n <DeviceModel>Chrome</DeviceModel>\\n <ModificationTime>2019-04-28T09:43:12Z</ModificationTime>\\n <CompletionTime>2019-04-28T09:45:07Z</CompletionTime>\\n <MediaId>61ccbdb06fa83012be4d8083f6****</MediaId>\\n <UploadSize>346</UploadSize>\\n <UploadRatio>0.038</UploadRatio>\\n <UploadStatus>Uploading</UploadStatus>\\n <Title>测试文件上传详情</Title>\\n <FileSize>46</FileSize>\\n </UploadDetail>\\n </UploadDetails>\\n</GetUploadDetailsResponse>","errorExample":""}]', + 'title' => 'GetUploadDetails', + 'description' => '* You can call this operation to obtain the upload details only about audio and video files.'."\n" + .'* If you use the ApsaraVideo VOD console to upload audio and video files, you can call this operation to query information such as the upload ratio. If you use an upload SDK to upload audio and video files, make sure that the version of the [upload SDK](~~52200~~) meets one of the following requirements:'."\n" + .' * The version of the upload SDK for Java is 1.4.4 or later.'."\n" + .' * The version of the upload SDK for C++ is 1.0.0 or later.'."\n" + .' * The version of the upload SDK for PHP is 1.0.2 or later.'."\n" + .' * The version of the upload SDK for Python is 1.3.0 or later.'."\n" + .' * The version of the upload SDK for JavaScript is 1.4.0 or later.'."\n" + .' * The version of the upload SDK for Android is 1.5.0 or later.'."\n" + .' * The version of the upload SDK for iOS is 1.5.0 or later.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| LimitExceeded.MediaIds | The input parameter \'MediaIds\' Exceed the limit. | 400 | The error message returned because the number of media IDs exceeds 20. |', + ], + 'RegisterMedia' => [ + 'summary' => 'Registers media files. After you add an Object Storage Service (OSS) bucket to ApsaraVideo VOD, you must register the media files in the bucket to generate the required information before you use features such as transcoding and snapshot capture on the media files.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '43406', + 'abilityTreeNodes' => [ + 'FEATUREvodVQ27S4', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegisterMetadatas', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metadata of the media files. The value must be a JSON string. You can specify the metadata for up to 10 media files at a time. For more information about the metadata of media files, see the **RegisterMetadata** section of this topic.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '[{"FileURL":"https://****.oss-cn-shanghai.aliyuncs.com/video/test/video123.m3u8","Title":"VideoName"}]', + ], + ], + [ + 'name' => 'TemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Transcoding Template Groups**. On the Transcoding Template Groups page, you can view the ID of the transcoding template group.'."\n" + .'* Obtain the value of the TranscodeTemplateGroupId parameter from the response to the [AddTranscodeTemplateGroup](~~102665~~) operation that you called to create a transcoding template group.'."\n" + .'* Obtain the value of the TranscodeTemplateGroupId parameter from the response to the [ListTranscodeTemplateGroup](~~102669~~) operation that you called to query transcoding template groups.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* If you do not need to transcode media files, set the TemplateGroupId parameter to VOD_NO_TRANSCODE. If you do not specify this configuration, errors occur on your files. If you need to transcode media files, specify the ID of the transcoding template group.'."\n" + ."\n" + .'* If you specify both WorkflowId and TemplateGroupId, the value of the WorkflowId parameter takes effect. For more information, see [Workflows](~~115347~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ca3a8f6e49c87b65806709586****', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom settings. The value must be a JSON string. You can configure settings such as message callbacks. For more information, see [UserData](~~86952#section\\_6fg_qll_v3w~~).'."\n" + ."\n" + .'> You cannot configure callbacks for this operation. No callback message is returned after the media files are registered even if you configure callback settings for this parameter. If you configure callback settings for the UserData parameter when you create media processing jobs such as transcoding and snapshot capture jobs for the media file, the callback URL that you specified is used. If you do not configure callback settings when you create media processing jobs, the callback URL that you specified for the UserData parameter when you register the media file is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Extend":{"localId":"****","test":"www"}}', + ], + ], + [ + 'name' => 'WorkflowId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the workflow. To view the workflow ID, perform the following steps: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Workflows**.'."\n" + ."\n" + .'> If you specify both WorkflowId and TemplateGroupId, the value of WorkflowId parameter takes effect. For more information, see [Workflows](~~115347~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '637adc2b7ba51a83d841606f8****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '14F43C5C-8033-448B-AD04F64E5098****', + ], + 'FailedFileURLs' => [ + 'description' => 'The URLs of the media files that failed to be registered.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The URL of the media file that failed to be registered.'."\n", + 'type' => 'string', + 'example' => '["http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_03.mp4"]', + ], + ], + 'RegisteredMediaList' => [ + 'description' => 'The media files that are registered, including newly registered and repeatedly registered media files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'NewRegister' => [ + 'description' => 'Indicates whether the media file is newly registered or repeatedly registered. Valid values:'."\n" + ."\n" + .'* **true**: The media file is newly registered.'."\n" + .'* **false**: The media file is repeatedly registered.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'FileURL' => [ + 'description' => 'The URL of the media file.'."\n", + 'type' => 'string', + 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_01.mp4', + ], + 'MediaId' => [ + 'description' => 'The ID of the media file that is registered with ApsaraVideo VOD. If the registered media file is an audio or video file, the value of this parameter is the same as that of the VideoId parameter.'."\n", + 'type' => 'string', + 'example' => 'd97af32828084d1896683b1aa38****', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14F43C5C-8033-448B-AD04F64E5098****\\",\\n \\"FailedFileURLs\\": [\\n \\"[\\\\\\"http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_03.mp4\\\\\\"]\\"\\n ],\\n \\"RegisteredMediaList\\": [\\n {\\n \\"NewRegister\\": false,\\n \\"FileURL\\": \\"http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_01.mp4\\",\\n \\"MediaId\\": \\"d97af32828084d1896683b1aa38****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RegisterMediaResponse>\\n <RequestId>14F43C5C-8033-43E7-B48B-AD04F64E5098</RequestId>\\n <RegisteredMediaList>\\n <MediaId>d97af328280842229aed1896683b1aa38</MediaId>\\n <FileURL>http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_01.mp4</FileURL>\\n <NewRegister>true</NewRegister>\\n </RegisteredMediaList>\\n <RegisteredMediaList>\\n <MediaId>d97af328280842229aed1896683b1aa38</MediaId>\\n <FileURL>http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_02.mp4</FileURL>\\n <NewRegister>false</NewRegister>\\n </RegisteredMediaList>\\n <FailedFileURLs>http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_03.mp4</FailedFileURLs>\\n</RegisterMediaResponse>","errorExample":""}]', + 'title' => 'RegisterMedia', + 'description' => '* After you add an OSS bucket to ApsaraVideo VOD, you must register media files in the OSS bucket to generate the required information. Then, you can use media IDs for features such as transcoding, snapshot capture, and AI processing.use features such as xxx on media files by specifying their IDs?'."\n" + .'* You can register up to 10 media files in an OSS bucket in a request. The media files must be stored in the same bucket.'."\n" + .'* If you do not specify a transcoding template group ID when you upload a media file to ApsaraVideo VOD, the media file is automatically transcoded based on the default template group. If you do not specify a transcoding template group ID after you register a media file, the media file is not automatically transcoded. The registered media files are automatically transcoded only if you specify a transcoding template group ID.'."\n" + .'* If the media file that you want to register has been registered, this operation returns only the unique media ID that is associated with the media file. No further operation is performed.'."\n" + .'* Make sure that the media file that you want to register has a valid suffix. Otherwise, the registration fails.', + 'requestParamsDescription' => '## RegisterMetadata'."\n" + ."\n" + .'The following table describes the metadata of the media file.'."\n" + ."\n" + .'|Parameter|Type|Required|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|FileURL|String|Yes|The URL of the source file. You can call the [GetMezzanineInfo](~~59624~~) operation to obtain the URL of the source file.The URL can be up to 1,024 bytes in length. The file name must be globally unique. If the media file has been registered, the unique media ID that is associated with the media file is returned.|'."\n" + .'|Title|String|Yes|The title of the media file. The title cannot exceed 128 bytes. The title must be encoded in UTF-8.|'."\n" + .'|Description|String|No|The description of the media file. The description can be up to 1,024 bytes in length. The description must be encoded in UTF-8.|'."\n" + .'|Tags|String|No|The tags of the media file. Each tag can be up to 32 bytes in length. You can specify a maximum of 16 tags. Separate multiple tags with commas (,). The value must be encoded in UTF-8.|'."\n" + .'|CoverURL|String|No|The URL of the thumbnail. The URL can be up to 1,024 bytes in length.|'."\n" + .'|CateId|Long|No|The ID of the category. To obtain the category ID, perform the following steps:Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories**.Obtain the value of the CateId parameter from the response to the [AddCategory](~~56401~~) operation that you called to create a category.Obtain the value of the CateId parameter from the response to the [GetCategories](~~56406~~) operation that you called to query a category.|', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetPlayInfo' => [ + 'summary' => 'Obtains the playback URL by the audio or video ID. Then, you can use ApsaraVideo Player or a third-party player, such as a system player, open source player, orself-developed player, to play the audio or video.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39972', + 'abilityTreeNodes' => [ + 'FEATUREvodCOWQO0', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file. You can specify only one ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the page that appears, view the media ID.'."\n" + .'* Obtain the value of the VideoId parameter in the response to the [CreateUploadVideo](~~55407~~) operation that you called to upload the audio or video file.'."\n" + .'* Obtain the value of VideoId by calling the [SearchMedia](~~86044~~) operation. This method is applicable to files that have been uploaded.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '93ab850b4f654b6e91d24d81d44****', + ], + ], + [ + 'name' => 'Formats', + 'in' => 'query', + 'schema' => [ + 'description' => 'The format of the media stream. Separate multiple formats with commas (,). Valid values:'."\n" + ."\n" + .'* **mp4**'."\n" + .'* **m3u8**'."\n" + .'* **mp3**'."\n" + .'* **flv**'."\n" + .'* **mpd**'."\n" + ."\n" + .'> * By default, ApsaraVideo VOD returns video streams in all the preceding formats.'."\n" + .'>* However, video streams in the MPD format are returned only if the `dash` container format is specified in the transcoding template. For more information, see the [Container parameter in the TranscodeTemplate table](~~52839#title-7rr-3hj-gy5~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'mp4,m3u8', + ], + ], + [ + 'name' => 'AuthTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The validity period of the playback URL. Unit: seconds.'."\n" + ."\n" + .'* If you set OutputType to **cdn**:'."\n" + ."\n" + .' * The playback URL has a validity period only if URL signing is enabled. Otherwise, the playback URL is permanently valid. For more information about how to enable and configure URL signing, see [URL signing](~~86090~~).'."\n" + .' * Minimum value: **1**.'."\n" + .' * Maximum value: unlimited.'."\n" + .' * Default value: The default validity period that is specified in URL signing is used.'."\n" + ."\n" + .'* If you set OutputType to **oss**:'."\n" + ."\n" + .' * This parameter takes effect only when the ACL of the Object Storage Service (OSS) bucket is private. Otherwise, the playback URL does not expire.'."\n" + .' * Minimum value: **1**.'."\n" + .' * Maximum value: If the media file is stored in the VOD bucket, the maximum validity period is **2592000** (30 days). If the media file is stored in an OSS bucket, the maximum validity period is **129600** (36 hours). This limit is imposed to reduce security risks of the origin server. If you require a longer validity period, set OutputType to **cdn** and configure URL signing to specify a longer validity period.'."\n" + .' * Default value: **3600**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1800', + ], + ], + [ + 'name' => 'OutputType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the output URL. Default value: oss. Valid values:'."\n" + ."\n" + .'* **oss**'."\n" + .'* **cdn**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cdn', + ], + ], + [ + 'name' => 'StreamType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the media stream. Separate multiple types with commas (,). Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + ."\n" + .'By default, video and audio streams are returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video', + ], + ], + [ + 'name' => 'ReAuthInfo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The CDN reauthentication configuration. The value must be a JSON string. If CDN reauthentication is enabled, you can use this parameter to specify the `UID` and `rand` fields for URL authentication. For more information, see [URL authentication](~~2249352~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"uid":"12345","rand":"abckljd"}', + ], + ], + [ + 'name' => 'Definition', + 'in' => 'query', + 'schema' => [ + 'description' => 'The quality of the video stream. Separate multiple qualities with commas (,). Valid values:'."\n" + ."\n" + .'* **FD**: low definition'."\n" + .'* **LD**: standard definition'."\n" + .'* **SD**: high definition'."\n" + .'* **HD**: ultra-high definition'."\n" + .'* **OD**: original definition'."\n" + .'* **2K**'."\n" + .'* **4K**'."\n" + .'* **SQ**: standard sound quality'."\n" + .'* **HQ**: high sound quality'."\n" + .'* **AUTO**: adaptive bitrate'."\n" + ."\n" + .'> * By default, ApsaraVideo VOD returns video streams in all the preceding qualities.'."\n" + .'> * However, video streams for adaptive bitrate streaming are returned only if the PackageSetting parameter is specified in the transcoding template. For more information, see the [PackageSetting parameter in the TranscodeTemplate table](~~52839#title-4fk-cg8-gzx~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'LD', + ], + ], + [ + 'name' => 'ResultType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the data to return. Default value: Single. Valid values:'."\n" + ."\n" + .'* **Single**: Only one latest transcoded stream is returned for each quality and format.'."\n" + .'* **Multiple**: All transcoded streams are returned for each quality and format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Single', + ], + ], + [ + 'name' => 'PlayConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom playback configuration. The value must be a JSON string. You can specify a domain name for playback. For more information, see [PlayConfig](~~86952#section-9g7-s9b-v7z~~).'."\n" + ."\n" + .'> * If you do not set the PlayConfig parameter or the `PlayDomain` parameter that is nested under the PlayConfig parameter, the default domain name specified in ApsaraVideo VOD is used in this operation. If no default domain name is specified, the domain names are queried in reverse chronological order based on the time when the domain names were last modified. To prevent domain name issues, we recommend that you perform the following steps to specify the default playback domain name: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Storage**. Find the domain name that you want to configure and click **Manage** in the Actions column. On the page that appears, set the default playback domain name in the **Origin Domain Name** section.'."\n" + .'> * If you set the `EncryptType` parameter nested under the PlayConfig parameter to `AliyunVoDEncryption`, the playback URLs of videos encrypted by using Alibaba Cloud proprietary cryptography are not automatically returned to ensure video security. To return playback URLs of videos encrypted by using Alibaba Cloud proprietary cryptography, you must set the `ResultType` parameter to `Multiple`.', + 'type' => 'string', + 'required' => false, + 'example' => '{"PlayDomain":"vod.test_domain","XForwardedFor":"yqCD7Fp1uqChoVj/sl/p5Q==","PreviewTime":"20","MtsHlsUriToken":"yqCD7Fp1uqChoVjslp5Q"}', + ], + ], + [ + 'name' => 'AdditionType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the masked live comment data. Value: **danmu**.'."\n" + ."\n" + .'> This parameter takes effect only when the `outputType` parameter is set to `cdn`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'danmu', + ], + ], + [ + 'name' => 'Trace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom digital watermark.'."\n" + ."\n" + .'* If you set `DigitalWatermarkType` to `TraceMark`, specify this parameter to configure the video tracing watermark and return the video stream that contains the watermark. The value can be up to 1,024 characters in length and can contain letters and digits.'."\n" + .'* If you set `DigitalWatermarkType` to `CopyrightMark`, specify the **watermark text** that you created for the watermark template for this parameter.`` You can specify this parameter to query and return the video stream that contains the specified watermark text.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test mark', + ], + ], + [ + 'name' => 'DigitalWatermarkType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the digital watermark. Valid values:'."\n" + ."\n" + .'* TraceMark: tracing watermark'."\n" + .'* CopyrightMark: copyright watermark'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TraceMark', + ], + ], + [ + 'name' => 'CodecName', + 'in' => 'query', + 'schema' => [ + 'title' => '编码类型。', + 'type' => 'string', + 'example' => 'H264', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F552E596-967D-5500-842F-17E6364****', + ], + 'VideoBase' => [ + 'description' => 'The basic information about the audio or video file.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the audio or video file was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-06-26T06:38:48Z', + ], + 'Status' => [ + 'description' => 'The status of the media file. For more information about the value range and description, see the [Status](~~52839#title-vqg-8cz-7p8~~) table.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'VideoId' => [ + 'description' => 'The ID of the media file.'."\n", + 'type' => 'string', + 'example' => '93ab850b4f654b6e91d24d81d44****', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/sample.jpg?auth_key=2333232-atb****', + ], + 'Duration' => [ + 'description' => 'The duration of the audio or video file. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '3.1667', + ], + 'Title' => [ + 'description' => 'The title of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'ApsaraVideo VOD'."\n", + ], + 'MediaType' => [ + 'description' => 'The type of the media file. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'DanMuURL' => [ + 'description' => 'The URL of the masked live comment data.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/****?auth_key=abdf2123-6783232****', + ], + 'StorageClass' => [ + 'description' => 'The storage class of the audio file. Valid values:'."\n" + ."\n" + .'* **Standard**: All media resources are stored as Standard objects.'."\n" + .'* **IA**: All media resources are stored as IA objects.'."\n" + .'* **Archive**: All media resources are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media resources are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source files are IA objects.'."\n" + .'* **SourceArchive**: Only the source files are Archive objects.'."\n" + .'* **SourceColdArchive**: Only the source file is stored as a Cold Archive object.'."\n" + .'* **Changing**: The storage class of the video file is being changed.'."\n" + .'* **SourceChanging**: The storage class of the source file is being changed.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + ], + ], + 'PlayInfoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PlayInfo' => [ + 'description' => 'The information about the audio or video stream.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The audio or video details.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the audio or video stream was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-04-18T07:37:15Z', + ], + 'Status' => [ + 'description' => 'The status of the audio or video stream. Valid values:'."\n" + ."\n" + .'* **Normal**: The latest transcoded stream in each quality and format is in the Normal status.'."\n" + .'* **Invisible**: If multiple streams are transcoded in the same quality and format, the latest transcoded stream is in the Normal status and other streams are in the Invisible status.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'Specification' => [ + 'description' => 'The specifications of transcoded audio and video streams. For more information about the valid values, see [Output specifications](~~124671#section-6bv-l0g-opq~~).'."\n", + 'type' => 'string', + 'example' => 'H264.LD', + ], + 'NarrowBandType' => [ + 'description' => 'The transcoding type. Valid values:'."\n" + ."\n" + .'* **0**: regular transcoding'."\n" + .'* **1.0**: Narrowband HD™ 1.0 transcoding'."\n" + .'* **2.0**: Narrowband HD™ 2.0 transcoding'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Height' => [ + 'description' => 'The height of the media stream. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '640', + ], + 'Bitrate' => [ + 'description' => 'The bitrate of the media stream. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '450.878', + ], + 'ModificationTime' => [ + 'description' => 'The time when the audio or video file was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-04-20T06:32:19Z', + ], + 'WatermarkId' => [ + 'description' => 'The ID of the watermark that is associated with the media stream.'."\n", + 'type' => 'string', + 'example' => 'dgfn26457856****', + ], + 'Encrypt' => [ + 'description' => 'Indicates whether the media stream is encrypted. Valid values:'."\n" + ."\n" + .'* **0**: The media stream is not encrypted.'."\n" + .'* **1**: The media stream is encrypted.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Definition' => [ + 'description' => 'The quality of the video stream. Valid values:'."\n" + ."\n" + .'* **FD**: low definition'."\n" + .'* **LD**: standard definition'."\n" + .'* **SD**: high definition'."\n" + .'* **HD**: ultra-high definition'."\n" + .'* **OD**: original definition'."\n" + .'* **2K**'."\n" + .'* **4K**'."\n" + .'* **SQ**: standard sound quality'."\n" + .'* **HQ**: high sound quality'."\n" + .'* **AUTO**: adaptive bitrate'."\n", + 'type' => 'string', + 'example' => 'LD', + ], + 'EncryptType' => [ + 'description' => 'The encryption type of the media stream. Valid values:'."\n" + ."\n" + .'* **AliyunVoDEncryption**: Alibaba Cloud proprietary cryptography'."\n" + .'* **HLSEncryption**: HTTP-Live-Streaming (HLS) encryption'."\n" + ."\n" + .'> If the encryption type is AliyunVoDEncryption, only ApsaraVideo Player SDK can be used to play videos.'."\n", + 'type' => 'string', + 'example' => 'AliyunVoDEncryption', + ], + 'EncryptMode' => [ + 'description' => 'The encryption type of the media stream. Valid values:'."\n" + ."\n" + .'* **License**: decryption on local devices'."\n" + ."\n" + .'> If the encryption type is **License**, only ApsaraVideo Player SDK can be used to play videos.'."\n", + 'type' => 'string', + 'example' => 'License', + ], + 'StreamType' => [ + 'description' => 'The type of the media stream. If the media stream is a video stream, the value is **video**. If the media stream is an audio-only stream, the value is **audio**.'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'JobId' => [ + 'description' => 'The job ID for transcoding the media stream. This ID uniquely identifies a media stream.'."\n", + 'type' => 'string', + 'example' => '80e9c6580e754a798c3c19c59b16****', + ], + 'Size' => [ + 'description' => 'The size of the media stream. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '418112', + ], + 'Width' => [ + 'description' => 'The width of the media stream. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '360', + ], + 'Fps' => [ + 'description' => 'The frame rate of the media stream. Unit: frames per second.'."\n", + 'type' => 'string', + 'example' => '25', + ], + 'Duration' => [ + 'description' => 'The duration of the media stream. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '9.0464', + ], + 'PlayURL' => [ + 'description' => 'The playback URL of the video stream.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/d52ee123f331466aabf6ab32a93d****/a777f9e24e6e47a2a942467d5c38ea37-8ee8e04293c6657fdda282bc422704****.m3u8', + ], + 'Format' => [ + 'description' => 'The format of the media stream.'."\n" + ."\n" + .'* If the media file is a video file, the valid values are **mp4** and **m3u8**.'."\n" + .'* If the media asset is an audio-only file, the value is **mp3**.'."\n", + 'type' => 'string', + 'example' => 'm3u8', + ], + 'HDRType' => [ + 'title' => '视频流HDR类型', + 'description' => 'The HDR type of the media stream. Valid values:'."\n" + ."\n" + .'* HDR'."\n" + .'* HDR10'."\n" + .'* HLG'."\n" + .'* DolbyVision'."\n" + .'* HDRVivid'."\n" + .'* SDR+'."\n", + 'type' => 'string', + 'example' => 'HLG', + ], + 'BitDepth' => [ + 'title' => '颜色位深', + 'description' => 'The color depth. This value is an integer.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'JobType' => [ + 'description' => 'The type of the digital watermark. Valid values:'."\n" + ."\n" + .'* **1**: user-tracing watermark'."\n" + .'* **2**: copyright watermark'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'JobExt' => [ + 'description' => 'The custom watermark information of the copyright watermark. This parameter is returned if you set `JobType` to `2`.'."\n", + 'type' => 'string', + 'example' => 'CopyrightMarkTest', + ], + 'CodecName' => [ + 'type' => 'string', + 'description' => 'The encoding type. The possible values are:'."\n" + ."\n" + .'- H264'."\n" + ."\n" + .'- H265', + 'example' => 'H264', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F552E596-967D-5500-842F-17E6364****\\",\\n \\"VideoBase\\": {\\n \\"CreationTime\\": \\"2017-06-26T06:38:48Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"VideoId\\": \\"93ab850b4f654b6e91d24d81d44****\\",\\n \\"CoverURL\\": \\"http://example.aliyundoc.com/sample.jpg?auth_key=2333232-atb****\\",\\n \\"Duration\\": \\"3.1667\\",\\n \\"Title\\": \\"阿里云VOD\\",\\n \\"MediaType\\": \\"video\\",\\n \\"DanMuURL\\": \\"http://example.aliyundoc.com/****?auth_key=abdf2123-6783232****\\",\\n \\"StorageClass\\": \\"Standard\\"\\n },\\n \\"PlayInfoList\\": {\\n \\"PlayInfo\\": [\\n {\\n \\"CreationTime\\": \\"2022-04-18T07:37:15Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"Specification\\": \\"H264.LD\\",\\n \\"NarrowBandType\\": \\"0\\",\\n \\"Height\\": 640,\\n \\"Bitrate\\": \\"450.878\\",\\n \\"ModificationTime\\": \\"2022-04-20T06:32:19Z\\",\\n \\"WatermarkId\\": \\"dgfn26457856****\\",\\n \\"Encrypt\\": 1,\\n \\"Definition\\": \\"LD\\",\\n \\"EncryptType\\": \\"AliyunVoDEncryption\\",\\n \\"EncryptMode\\": \\"License\\",\\n \\"StreamType\\": \\"video\\",\\n \\"JobId\\": \\"80e9c6580e754a798c3c19c59b16****\\",\\n \\"Size\\": 418112,\\n \\"Width\\": 360,\\n \\"Fps\\": \\"25\\",\\n \\"Duration\\": \\"9.0464\\",\\n \\"PlayURL\\": \\"https://example.aliyundoc.com/d52ee123f331466aabf6ab32a93d****/a777f9e24e6e47a2a942467d5c38ea37-8ee8e04293c6657fdda282bc422704****.m3u8\\",\\n \\"Format\\": \\"m3u8\\",\\n \\"HDRType\\": \\"HLG\\",\\n \\"BitDepth\\": 8,\\n \\"JobType\\": 2,\\n \\"JobExt\\": \\"CopyrightMarkTest\\",\\n \\"CodecName\\": \\"H264\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetPlayInfoResponse>\\n <VideoBase>\\n <Status>Normal</Status>\\n <VideoId>93ab850b4f654b6e91d24d81d44****</VideoId>\\n <TranscodeMode>NoTranscode</TranscodeMode>\\n <CreationTime>2022-04-18T07:37:15Z</CreationTime>\\n <Title>阿里云VOD</Title>\\n <MediaType>video</MediaType>\\n <CoverURL>http://example.aliyundoc.com/sample.jpg?auth_key=2333232-atb****</CoverURL>\\n <Duration>3.1667</Duration>\\n <OutputType>cdn</OutputType>\\n </VideoBase>\\n <RequestId>F552E596-967D-5500-842F-17E6364****</RequestId>\\n <PlayInfoList>\\n <PlayInfo>\\n <Status>Normal</Status>\\n <StreamType>video</StreamType>\\n <HDRType>HLG</HDRType>\\n <Size>418112</Size>\\n <Definition>LD</Definition>\\n <Fps>25</Fps>\\n <Specification>H264.LD</Specification>\\n <ModificationTime>2022-04-20T06:32:19Z</ModificationTime>\\n <Duration>9.0464</Duration>\\n <Bitrate>450.878</Bitrate>\\n <BitDepth>8</BitDepth>\\n <Encrypt>0</Encrypt>\\n <PreprocessStatus>UnPreprocess</PreprocessStatus>\\n <Format>m3u8</Format>\\n <NarrowBandType>0</NarrowBandType>\\n <PlayURL>https://example.aliyundoc.com/d52ee123f331466aabf6ab32a93d****/a777f9e24e6e47a2a942467d5c38ea37-8ee8e04293c6657fdda282bc422704****.m3u8</PlayURL>\\n <CreationTime>2022-04-20T06:32:14Z</CreationTime>\\n <Height>640</Height>\\n <Width>360</Width>\\n <JobId>80e9c6580e754a798c3c19c59b16****</JobId>\\n </PlayInfo>\\n </PlayInfoList>\\n</GetPlayInfoResponse>","errorExample":""}]', + 'title' => 'GetPlayInfo', + 'description' => '* **Make sure that you understand the billing method and price of ApsaraVideo VOD before you call this operation. You are charged for outbound traffic when you download or play videos based on URLs in ApsaraVideo VOD. For more information about billing of outbound traffic, see [Billing of outbound traffic](~~188308#section-rwh-e88-f7j~~). If you have configured an accelerated domain name, see [Billing of the acceleration service](~~188308#section-c5t-oq9-15e~~). If you have activated the acceleration service, you are charged acceleration fees when you upload media files to ApsaraVideo VOD. For more information, see [Billing of acceleration traffic](~~188310#section_sta_zm2\\_tsv~~).**'."\n" + .'* Only videos whose Status is Normal can be played. For more information, see [Overview](~~57290~~).'."\n" + .'* If video playback fails, you can call the [GetMezzanineInfo](~~GetMezzanineInfo~~) operation to check whether the video source information is correct.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetVideoPlayAuth' => [ + 'summary' => 'Queries the credential required for media playback. ApsaraVideo Player SDK automatically obtains the playback URL based on the playback credential. Each playback credential can be used to obtain the playback URL only for a specific video in a specific period of time. You cannot obtain the playback URL if the credential expires or is incorrect. You can use PlayAuth-based playback when you require high security for audio and video playback.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40001', + 'abilityTreeNodes' => [ + 'FEATUREvodCOWQO0', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file. You can specify only one ID. You can use one of the following methods to obtain the ID of the file:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the media file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of the VideoId parameter from the response to the [CreateUploadVideo](~~55407~~) operation.'."\n" + .'* Obtain the value of the VideoId parameter from the response to the [SearchMedia](~~86044~~) operation. This method is applicable to files that have been uploaded.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'dfde02284a5c46622a097adaf44a****', + ], + ], + [ + 'name' => 'AuthInfoTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The validity period of the playback credential. Unit: **seconds**. You cannot obtain the playback URL of a video by using a credential that has expired. A new credential is required.'."\n" + ."\n" + .'* Default value: **100**.'."\n" + .'* Valid values: `[100,3000]`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'ApiVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The API version. Set the value to **1.0.0**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1.0.0', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'PlayAuth' => [ + 'description' => 'The credential for media playback.'."\n", + 'type' => 'string', + 'example' => 'sstyYuew6789000000xtt7TYUh****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', + ], + 'VideoMeta' => [ + 'description' => 'The metadata of the audio or video file.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the media file. For more information about the value range and description, see [Status: the status of a video](~~52839#title-vqg-8cz-7p8~~).'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'Duration' => [ + 'description' => 'The duration of the media file. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '120.0', + ], + 'Title' => [ + 'description' => 'The title of the media file.'."\n", + 'type' => 'string', + 'example' => 'VOD', + ], + 'VideoId' => [ + 'description' => 'The ID of the media file.'."\n", + 'type' => 'string', + 'example' => 'dfde02284a5c46622a097adaf44a****', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the media file.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/****.jpg', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PlayAuth\\": \\"sstyYuew6789000000xtt7TYUh****\\",\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\",\\n \\"VideoMeta\\": {\\n \\"Status\\": \\"Normal\\",\\n \\"Duration\\": 120,\\n \\"Title\\": \\"Alibaba Cloud VOD Video Title\\",\\n \\"VideoId\\": \\"dfde02284a5c46622a097adaf44a****\\",\\n \\"CoverURL\\": \\"https://example.aliyundoc.com/****.jpg\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetVideoPlayAuthResponse>\\n <PlayAuth>sstyYuew6789000000xtt7TYUh****</PlayAuth>\\n <RequestId>E4EBD2BF-5EB0-4476-8829-9D94E1B1****</RequestId>\\n <VideoMeta>\\n <Status>Normal</Status>\\n <Duration>120</Duration>\\n <Title>阿里云VOD</Title>\\n <VideoId>dfde02284a5c46622a097adaf44a****</VideoId>\\n <CoverURL>https://example.aliyundoc.com/****.jpg</CoverURL>\\n </VideoMeta>\\n</GetVideoPlayAuthResponse>","errorExample":""}]', + 'title' => 'GetVideoPlayAuth', + 'description' => '* You can call this operation to obtain a playback credential when you use ApsaraVideo Player SDK to play a media file based on PlayAuth. The credential is used to obtain the playback URL. For more information, see [ApsaraVideo Player SDK](~~125579~~).'."\n" + .'* You cannot obtain the playback URL of a video by using a credential that has expired. A new credential is required.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| Forbidden.IllegalStatus | Status of the video is illegal. | 403 | The error message returned because the video status is invalid. |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |'."\n" + .'| MissingVideoId | VideoId is mandatory for this action. | 400 | The error message returned because the VideoId parameter is not specified. |', + ], + 'SearchMedia' => [ + 'summary' => 'Queries information about videos, audio, images, and auxiliary media assets. You can call this operation and specify the search protocol to query media assets based on the return fields, fields used for exact match, fields used for fuzzy match, fields used for a multi-value query, fields used for a range query, and sort fields.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40118', + 'abilityTreeNodes' => [ + 'FEATUREvodCOT3DK', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SearchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the media asset that you want to query. Default value: video. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + .'* **image**'."\n" + .'* **attached**'."\n" + ."\n" + .'> If this parameter is set to **video** or **audio** and you want to traverse all data that meets the filter criteria, you must set the ScrollToken parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video', + ], + ], + [ + 'name' => 'Fields', + 'in' => 'query', + 'schema' => [ + 'description' => 'The media asset fields to return in the query results.'."\n" + ."\n" + .'By default, only the basic media asset fields are returned. You can specify additional media asset fields that need to be returned in the request. For more information, see the "API examples" section of the [Search for media asset information](~~99179~~) topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Title,CoverURL', + ], + ], + [ + 'name' => 'Match', + 'in' => 'query', + 'schema' => [ + 'description' => 'The filter condition. For more information about the syntax, see [Protocol for media asset search](~~86991~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'field = value', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sort field and order. Separate multiple values with commas (,). Default value: CreationTime:Desc. Valid values:'."\n" + ."\n" + .'* **CreationTime:Desc**: The results are sorted in reverse chronological order based on the creation time.'."\n" + .'* **CreationTime:Asc**: The results are sorted in chronological order based on the creation time.'."\n" + ."\n" + .'> * For more information about the sort field, see "Sort field" in the [Search for media asset information](~~99179~~) topic.'."\n" + .'> * To obtain the first 5,000 data records that meet the specified filter criteria, you can specify a maximum of three sort fields.'."\n" + .'> * To obtain all the data records that meet the specified filter criteria, you can specify only one sort field.', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationTime:Desc', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: **1**.'."\n" + ."\n" + .'> If the value of this parameter exceeds **200**, we recommend that you set the ScrollToken parameter as well.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **100**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ScrollToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The pagination identifier. The password must be 32 characters in length The first time you call this operation for each new search, you do not need to specify this parameter. The value of this parameter is returned each time data records that meet the specified filter condition are found. The value is used to record the current position of queried data. Record the returned parameter value and set this parameter according to the following requirements during the next search:'."\n" + ."\n" + .'* If SearchType is set to **video** or **audio** and you need to traverse all data that meets the filter criteria, you must set the ScrollToken parameter.'."\n" + .'* If the value of the PageNo parameter exceeds **200**, we recommend that you set this parameter to optimize search performance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '24e0fba7188fae707e146esa54****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '3E0CEF83-FB09-4E34-BA1451814B03****', + ], + 'Total' => [ + 'description' => 'The total number of data records that meet the specified filter criteria.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'ScrollToken' => [ + 'description' => 'The pagination identifier.'."\n", + 'type' => 'string', + 'example' => '24e0fba7188fae707e146esa54****', + ], + 'MediaList' => [ + 'description' => 'The information about the media assets.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The automatic snapshot.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the media asset was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:45:25Z', + ], + 'MediaType' => [ + 'description' => 'The type of the media asset. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + .'* **image**'."\n" + .'* **attached**'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'MediaId' => [ + 'description' => 'The ID of the file.'."\n", + 'type' => 'string', + 'example' => 'a82a2cd7d4e147bbed6c1ee372****', + ], + 'Video' => [ + 'description' => '[The information about the video](~~86991~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the file. Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **UploadFail**'."\n" + .'* **UploadSucc**'."\n" + .'* **Transcoding**'."\n" + .'* **TranscodeFail**'."\n" + .'* **Blocked**'."\n" + .'* **Normal**'."\n", + 'type' => 'string', + 'example' => 'UploadSucc', + ], + 'CreationTime' => [ + 'description' => 'The time when the video file was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:45:25Z', + ], + 'StorageLocation' => [ + 'description' => 'The region in which the video is stored.'."\n", + 'type' => 'string', + 'example' => 'outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000123', + ], + 'Tags' => [ + 'description' => 'The tags of the video file.'."\n", + 'type' => 'string', + 'example' => 'tag1', + ], + 'ModificationTime' => [ + 'description' => 'The time when the video file was updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:48:25Z', + ], + 'MediaSource' => [ + 'description' => 'The source of the video file. Valid values:'."\n" + ."\n" + .'* **general**: The video file is uploaded by using ApsaraVideo VOD.'."\n" + .'* **short_video**: The video file is uploaded by using the short video SDK.'."\n" + .'* **editing**: The video file is produced after online editing.'."\n" + .'* **live**: The video stream is recorded and uploaded as a file.'."\n", + 'type' => 'string', + 'example' => 'general', + ], + 'Description' => [ + 'description' => 'The description of the video file.'."\n", + 'type' => 'string', + 'example' => 'Video test', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'CoverURL' => [ + 'description' => 'The URL of the thumbnail.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/image01.png', + ], + 'VideoId' => [ + 'description' => 'The ID of the video file.'."\n", + 'type' => 'string', + 'example' => 'a82a2asdasqadaf3faa0ed6c1ee372****', + ], + 'DownloadSwitch' => [ + 'description' => 'The download switch. The video file can be downloaded offline only when the download switch is turned on. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'video1', + ], + 'TranscodeMode' => [ + 'description' => 'The transcoding mode. Valid values:'."\n" + ."\n" + .'* **FastTranscode**: The video file is immediately transcoded after it is uploaded. You cannot play the file before it is transcoded.'."\n" + .'* **NoTranscode**: The video file can be played without being transcoded. You can immediately play the file after it is uploaded.'."\n" + .'* **AsyncTranscode**: The video file can be immediately played and asynchronously transcoded after it is uploaded.'."\n", + 'type' => 'string', + 'example' => 'FastTranscode', + ], + 'PreprocessStatus' => [ + 'description' => 'The preprocessing status. Valid values:'."\n" + ."\n" + .'* **UnPreprocess**'."\n" + .'* **Preprocessing**'."\n" + .'* **PreprocessSucceed**'."\n" + .'* **PreprocessFailed**'."\n", + 'type' => 'string', + 'example' => 'Preprocessing', + ], + 'RestoreExpiration' => [ + 'description' => 'The period of time in which the video file remains in the restored state.'."\n", + 'type' => 'string', + 'example' => '2023-03-30T10:14:14Z', + ], + 'RestoreStatus' => [ + 'description' => 'The restoration status of the video file. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'StorageClass' => [ + 'description' => 'The storage class of the video file. Valid values:'."\n" + ."\n" + .'* **Standard**: All media resources are stored as Standard objects.'."\n" + .'* **IA**: All media resources are stored as IA objects.'."\n" + .'* **Archive**: All media resources are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media resources are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source file is stored as an IA object.'."\n" + .'* **SourceArchive**: Only the source file is stored as an Archive object.'."\n" + .'* **SourceColdArchive**: Only the source file is stored as a Cold Archive object.'."\n" + .'* **Changing**: The storage class of the video file is being changed.'."\n" + .'* **SourceChanging**: The storage class of the source file is being changed.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'Size' => [ + 'description' => 'The size of the video file.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123', + ], + 'Duration' => [ + 'description' => 'The duration of the video file. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '123', + ], + 'Title' => [ + 'description' => 'The title of the video.'."\n", + 'type' => 'string', + 'example' => 'ceshi', + ], + 'SpriteSnapshots' => [ + 'description' => 'The sprite snapshots.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The sprite snapshot.'."\n", + 'type' => 'string', + 'example' => '{“http://example.aliyundoc.com/image02.jpg”}', + ], + ], + 'Snapshots' => [ + 'description' => 'The automatic snapshots.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The automatic snapshot.'."\n", + 'type' => 'string', + 'example' => '{“http://example.aliyundoc.com/image03.jpg”}', + ], + ], + 'ReferenceId' => [ + 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'Audio' => [ + 'description' => '[The information about the audio](~~86991~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the audio file. Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **Normal**'."\n" + .'* **UploadFail**'."\n" + .'* **Deleted**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the audio stream was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:45:25Z', + ], + 'StorageLocation' => [ + 'description' => 'The region in which the audio is stored.'."\n", + 'type' => 'string', + 'example' => 'outin-aaa*****aa.oss-cn-shanghai.aliyuncs.com', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000123', + ], + 'Tags' => [ + 'description' => 'The tags of the audio file.'."\n", + 'type' => 'string', + 'example' => 'tag1,tag2', + ], + 'ModificationTime' => [ + 'description' => 'The time when the audio file was updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:48:25Z', + ], + 'MediaSource' => [ + 'description' => 'The source of the audio file. Valid values:'."\n" + ."\n" + .'* **general**: The audio file is uploaded by using ApsaraVideo VOD.'."\n" + .'* **short_video**: The audio file is uploaded to ApsaraVideo VOD by using the short video SDK. For more information, see [Introduction](~~53407~~).'."\n" + .'* **editing**: The audio file is uploaded to ApsaraVideo VOD after online editing and production. For more information, see [ProduceEditingProjectVideo](~~68536~~).'."\n" + .'* **live**: The audio file is recorded and uploaded as a file to ApsaraVideo VOD.'."\n", + 'type' => 'string', + 'example' => 'general', + ], + 'Description' => [ + 'description' => 'The description of the audio file.'."\n", + 'type' => 'string', + 'example' => 'audio description', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'CoverURL' => [ + 'description' => 'The URL of the thumbnail.'."\n", + 'type' => 'string', + 'example' => 'http://example.com/image04.jpg', + ], + 'AudioId' => [ + 'description' => 'The ID of the audio file.'."\n", + 'type' => 'string', + 'example' => 'a82a2cd7d4e147bbed6c1ee372****', + ], + 'DownloadSwitch' => [ + 'description' => 'The download switch. The audio file can be downloaded offline only when the download switch is turned on. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'ceshi', + ], + 'TranscodeMode' => [ + 'description' => 'The transcoding mode. Valid values:'."\n" + ."\n" + .'* **FastTranscode**: The audio file is immediately transcoded after it is uploaded. You cannot play the file before it is transcoded.'."\n" + .'* **NoTranscode**: The audio file can be played without being transcoded. You can immediately play the file after it is uploaded.'."\n" + .'* **AsyncTranscode**: The audio file can be immediately played and asynchronously transcoded after it is uploaded.'."\n", + 'type' => 'string', + 'example' => 'FastTranscode', + ], + 'PreprocessStatus' => [ + 'description' => 'The preprocessing status. Only preprocessed videos can be used for live streaming in the production studio. Valid values:'."\n" + ."\n" + .'* **UnPreprocess**'."\n" + .'* **Preprocessing**'."\n" + .'* **PreprocessSucceed**'."\n" + .'* **PreprocessFailed**'."\n", + 'type' => 'string', + 'example' => 'UnPreprocess', + ], + 'RestoreExpiration' => [ + 'description' => 'The period of time in which the audio file remains in the restored state.'."\n", + 'type' => 'string', + 'example' => '2023-03-30T10:14:14Z', + ], + 'RestoreStatus' => [ + 'description' => 'The restoration status of the audio file. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'StorageClass' => [ + 'description' => 'The storage class of the audio file. Valid values:'."\n" + ."\n" + .'* **Standard**: All media resources are stored as Standard objects.'."\n" + .'* **IA**: All media resources are stored as IA objects.'."\n" + .'* **Archive**: All media resources are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media resources are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source file is stored as an IA object.'."\n" + .'* **SourceArchive**: Only the source file is stored as an Archive object.'."\n" + .'* **SourceColdArchive**: Only the source file is stored as a Cold Archive object.'."\n" + .'* **Changing**: The storage class is being modified.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'Size' => [ + 'description' => 'The size of the audio file.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123', + ], + 'Duration' => [ + 'description' => 'The duration of the audio file.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '123', + ], + 'Title' => [ + 'description' => 'The title of the audio file'."\n", + 'type' => 'string', + 'example' => 'audio', + ], + 'SpriteSnapshots' => [ + 'description' => 'The sprite snapshots.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The sprite snapshot.'."\n", + 'type' => 'string', + 'example' => '{“http://example.aliyundoc.com/image02.jpg”}', + ], + ], + 'Snapshots' => [ + 'description' => 'The automatic snapshots.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The automatic snapshot.'."\n", + 'type' => 'string', + 'example' => '{“http://example.aliyundoc.com/image03.jpg”}', + ], + ], + 'ReferenceId' => [ + 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'Image' => [ + 'description' => '[The information about the image](~~86991~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'StorageLocation' => [ + 'description' => 'The region in which the image is stored.'."\n", + 'type' => 'string', + 'example' => 'outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com', + ], + 'CreationTime' => [ + 'description' => 'The time when the image was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:45:25Z', + ], + 'Status' => [ + 'description' => 'The status of the image file.'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **Normal**'."\n" + .'* **UploadFail**'."\n", + 'type' => 'string', + 'example' => 'Uploading', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000123', + ], + 'Tags' => [ + 'description' => 'The tags of the image file.'."\n", + 'type' => 'string', + 'example' => 'tag1', + ], + 'ModificationTime' => [ + 'description' => 'The time when the image file was updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:48:25Z', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'beauty', + ], + 'Description' => [ + 'description' => 'The description of the image file.'."\n", + 'type' => 'string', + 'example' => 'image test', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'URL' => [ + 'description' => 'The URL of the image file.'."\n", + 'type' => 'string', + 'example' => 'https://example.com/****.png', + ], + 'Title' => [ + 'description' => 'The title of the image file.'."\n", + 'type' => 'string', + 'example' => 'image1', + ], + 'ImageId' => [ + 'description' => 'The ID of the image file.'."\n", + 'type' => 'string', + 'example' => '11130843741se99wqmoes****', + ], + ], + ], + 'AttachedMedia' => [ + 'description' => '[The information about the auxiliary media asset](~~86991~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the auxiliary media asset was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:45:25Z', + ], + 'Status' => [ + 'description' => 'The status of the auxiliary media asset. Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **Normal**'."\n" + .'* **UploadFail**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'StorageLocation' => [ + 'description' => 'The region in which the auxiliary media asset is stored.'."\n", + 'type' => 'string', + 'example' => 'outin-bfefbb90a47c11*****7426.oss-cn-shanghai.aliyuncs.com', + ], + 'Tags' => [ + 'description' => 'The tags of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'test2', + ], + 'ModificationTime' => [ + 'description' => 'The time when the auxiliary media asset was updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-07-19T03:48:25Z', + ], + 'MediaId' => [ + 'description' => 'The ID of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'a82a2cd7d4e147ba0ed6c1ee372****', + ], + 'BusinessType' => [ + 'description' => 'The type of the auxiliary media asset. Valid values:'."\n" + ."\n" + .'* **watermark**'."\n" + .'* **subtitle**'."\n" + .'* **material**'."\n", + 'type' => 'string', + 'example' => 'watermark', + ], + 'Description' => [ + 'description' => 'The description of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'test3', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'URL' => [ + 'description' => 'The URL of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'https://example.com/****.png', + ], + 'Title' => [ + 'description' => 'The title of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'Categories' => [ + 'description' => 'The list of category IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the category.', + 'type' => 'object', + 'properties' => [ + 'ParentId' => [ + 'description' => 'The ID of the parent node.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '-1', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'test1', + ], + 'CateId' => [ + 'description' => 'The category ID of the auxiliary media asset.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10027394', + ], + 'Level' => [ + 'description' => 'The level of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + ], + ], + ], + ], + 'AiData' => [ + 'title' => 'AI详细信息', + 'description' => 'Details about AI data.'."\n", + 'type' => 'object', + 'properties' => [ + 'AiLabelInfo' => [ + 'title' => 'AI标签信息列表', + 'description' => 'The AI tags.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => 'AI标签信息', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Category' => [ + 'title' => '分类', + 'description' => 'The category.'."\n", + 'type' => 'string', + 'example' => 'Transportation', + ], + 'LabelName' => [ + 'title' => '实体名称', + 'description' => 'The name of the tag.'."\n", + 'type' => 'string', + 'example' => 'Vehicles', + ], + 'LabelId' => [ + 'title' => '实体ID', + 'description' => 'The ID of the tag.'."\n", + 'type' => 'string', + 'example' => '10310250338', + ], + 'Occurrences' => [ + 'title' => '片段列表', + 'description' => 'The clips.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '片段', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'title' => '打分', + 'description' => 'The score.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '0.75287705'."\n", + ], + 'From' => [ + 'title' => '片段起始时间', + 'description' => 'The start time of the clip.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '1.4'."\n", + ], + 'To' => [ + 'title' => '片段结束时间', + 'description' => 'The end time of the clip.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '2.5', + ], + ], + ], + ], + ], + ], + ], + 'OcrInfo' => [ + 'title' => '字幕信息列表', + 'description' => 'The information about subtitles.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '字幕信息', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'From' => [ + 'title' => '片段起始时间', + 'description' => 'The start time of the subtitle.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '1.4', + ], + 'To' => [ + 'title' => '片段结束时间', + 'description' => 'The end time of the subtitle.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '2.5', + ], + 'Content' => [ + 'title' => '文本内容', + 'description' => 'The text content.'."\n", + 'type' => 'string', + 'example' => 'I\'m Jane.', + ], + ], + ], + ], + ], + ], + 'AiRoughData' => [ + 'title' => 'AI简介数据', + 'description' => 'The basic information about AI data.'."\n", + 'type' => 'object', + 'properties' => [ + 'SaveType' => [ + 'title' => '保存类型', + 'description' => 'The save type.'."\n", + 'type' => 'string', + 'example' => 'TEXT'."\n", + ], + 'Status' => [ + 'title' => '数据状态', + 'description' => 'The data status.'."\n", + 'type' => 'string', + 'example' => 'SaveSuccess', + ], + 'AiJobId' => [ + 'title' => 'AI任务ID', + 'description' => 'The ID of the AI task.'."\n", + 'type' => 'string', + 'example' => 'cd35b0b0025f71edbfcb472190a9xxxx', + ], + 'AiCategory' => [ + 'title' => '视频AI分类', + 'description' => 'The AI category.'."\n", + 'type' => 'string', + 'example' => 'TV series', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3E0CEF83-FB09-4E34-BA1451814B03****\\",\\n \\"Total\\": 10,\\n \\"ScrollToken\\": \\"24e0fba7188fae707e146esa54****\\",\\n \\"MediaList\\": [\\n {\\n \\"CreationTime\\": \\"2018-07-19T03:45:25Z\\",\\n \\"MediaType\\": \\"video\\",\\n \\"MediaId\\": \\"a82a2cd7d4e147bbed6c1ee372****\\",\\n \\"Video\\": {\\n \\"Status\\": \\"UploadSucc\\",\\n \\"CreationTime\\": \\"2018-07-19T03:45:25Z\\",\\n \\"StorageLocation\\": \\"outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com\\",\\n \\"CateId\\": 10000123,\\n \\"Tags\\": \\"tag1\\",\\n \\"ModificationTime\\": \\"2018-07-19T03:48:25Z\\",\\n \\"MediaSource\\": \\"general\\",\\n \\"Description\\": \\"Alibaba Cloud VOD video description\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"CoverURL\\": \\"https://example.aliyundoc.com/image01.png\\",\\n \\"VideoId\\": \\"a82a2asdasqadaf3faa0ed6c1ee372****\\",\\n \\"DownloadSwitch\\": \\"on\\",\\n \\"CateName\\": \\"video1\\",\\n \\"TranscodeMode\\": \\"FastTranscode\\",\\n \\"PreprocessStatus\\": \\"Preprocessing\\",\\n \\"RestoreExpiration\\": \\"2023-03-30T10:14:14Z\\",\\n \\"RestoreStatus\\": \\"Success\\",\\n \\"StorageClass\\": \\"Standard\\",\\n \\"Size\\": 123,\\n \\"Duration\\": 123,\\n \\"Title\\": \\"Alibaba Cloud VOD Video Title\\",\\n \\"SpriteSnapshots\\": [\\n \\"{“http://example.aliyundoc.com/image02.jpg”}\\"\\n ],\\n \\"Snapshots\\": [\\n \\"{“http://example.aliyundoc.com/image03.jpg”}\\"\\n ],\\n \\"ReferenceId\\": \\"123-123\\"\\n },\\n \\"Audio\\": {\\n \\"Status\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2018-07-19T03:45:25Z\\",\\n \\"StorageLocation\\": \\"outin-aaa*****aa.oss-cn-shanghai.aliyuncs.com\\",\\n \\"CateId\\": 10000123,\\n \\"Tags\\": \\"tag1,tag2\\",\\n \\"ModificationTime\\": \\"2018-07-19T03:48:25Z\\",\\n \\"MediaSource\\": \\"general\\",\\n \\"Description\\": \\"Alibaba Cloud VOD Audio Description\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"CoverURL\\": \\"http://example.com/image04.jpg\\",\\n \\"AudioId\\": \\"a82a2cd7d4e147bbed6c1ee372****\\",\\n \\"DownloadSwitch\\": \\"on\\",\\n \\"CateName\\": \\"cate1\\",\\n \\"TranscodeMode\\": \\"FastTranscode\\",\\n \\"PreprocessStatus\\": \\"UnPreprocess\\",\\n \\"RestoreExpiration\\": \\"2023-03-30T10:14:14Z\\",\\n \\"RestoreStatus\\": \\"Success\\",\\n \\"StorageClass\\": \\"Standard\\",\\n \\"Size\\": 123,\\n \\"Duration\\": 123,\\n \\"Title\\": \\"Alibaba Cloud VOD Audio Title\\",\\n \\"SpriteSnapshots\\": [\\n \\"{“http://example.aliyundoc.com/image02.jpg”}\\"\\n ],\\n \\"Snapshots\\": [\\n \\"{“http://example.aliyundoc.com/image03.jpg”}\\"\\n ],\\n \\"ReferenceId\\": \\"123-123\\"\\n },\\n \\"Image\\": {\\n \\"StorageLocation\\": \\"outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com\\",\\n \\"CreationTime\\": \\"2018-07-19T03:45:25Z\\",\\n \\"Status\\": \\"Uploading\\",\\n \\"CateId\\": 1000123,\\n \\"Tags\\": \\"tag1\\",\\n \\"ModificationTime\\": \\"2018-07-19T03:48:25Z\\",\\n \\"CateName\\": \\"cate1\\",\\n \\"Description\\": \\"Alibaba Cloud VOD Image Description\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"URL\\": \\"https://example.com/****.png\\",\\n \\"Title\\": \\"Alibaba Cloud VOD Image Title\\",\\n \\"ImageId\\": \\"11130843741se99wqmoes****\\"\\n },\\n \\"AttachedMedia\\": {\\n \\"CreationTime\\": \\"2018-07-19T03:45:25Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"StorageLocation\\": \\"outin-bfefbb90a47c11*****7426.oss-cn-shanghai.aliyuncs.com\\",\\n \\"Tags\\": \\"tag1\\",\\n \\"ModificationTime\\": \\"2018-07-19T03:48:25Z\\",\\n \\"MediaId\\": \\"a82a2cd7d4e147ba0ed6c1ee372****\\",\\n \\"BusinessType\\": \\"watermark\\",\\n \\"Description\\": \\"Alibaba Cloud VOD-assisted media asset description\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"URL\\": \\"https://example.com/****.png\\",\\n \\"Title\\": \\"Alibaba Cloud VOD-assisted media asset Title\\",\\n \\"Categories\\": [\\n {\\n \\"ParentId\\": -1,\\n \\"CateName\\": \\"cate1\\",\\n \\"CateId\\": 10027394,\\n \\"Level\\": 1\\n }\\n ]\\n },\\n \\"AiData\\": {\\n \\"AiLabelInfo\\": [\\n {\\n \\"Category\\": \\"Transportation\\",\\n \\"LabelName\\": \\"Car\\",\\n \\"LabelId\\": \\"10310250338\\",\\n \\"Occurrences\\": [\\n {\\n \\"Score\\": 0.75287705,\\n \\"From\\": 1.4,\\n \\"To\\": 2.5\\n }\\n ]\\n }\\n ],\\n \\"OcrInfo\\": [\\n {\\n \\"From\\": 1.4,\\n \\"To\\": 2.5,\\n \\"Content\\": \\"Text content\\\\n\\"\\n }\\n ]\\n },\\n \\"AiRoughData\\": {\\n \\"SaveType\\": \\"type1\\\\n\\",\\n \\"Status\\": \\"SaveSuccess\\",\\n \\"AiJobId\\": \\"cd35b0b0025f71edbfcb472190a9xxxx\\",\\n \\"AiCategory\\": \\"TV drama\\\\n\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<SearchMediaResponse>\\n <RequestId>3E0CEF83-FB09-4E34-BA1451814B03****</RequestId>\\n <Total>10</Total>\\n <ScrollToken>24e0fba7188fae707e146esa54****</ScrollToken>\\n <MediaList>\\n <CreationTime>2018-07-19T03:45:25Z</CreationTime>\\n <MediaType>video</MediaType>\\n <MediaId>a82a2cd7d4e147bbed6c1ee372****</MediaId>\\n <Video>\\n <Status>UploadSucc</Status>\\n <CreationTime>2018-07-19T03:45:25Z</CreationTime>\\n <StorageLocation>outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <CateId>10000123</CateId>\\n <Tags>tag1</Tags>\\n <ModificationTime>2018-07-19T03:48:25Z</ModificationTime>\\n <MediaSource>general</MediaSource>\\n <Description>视频测试</Description>\\n <AppId>app-****</AppId>\\n <CoverURL>https://example.aliyundoc.com/image01.png</CoverURL>\\n <VideoId>a82a2asdasqadaf3faa0ed6c1ee372****</VideoId>\\n <DownloadSwitch>on</DownloadSwitch>\\n <CateName>video1</CateName>\\n <TranscodeMode>FastTranscode</TranscodeMode>\\n <PreprocessStatus>Preprocessing</PreprocessStatus>\\n <Size>123</Size>\\n <Duration>123</Duration>\\n <Title>ceshi</Title>\\n <SpriteSnapshots>{“http://example.aliyundoc.com/image02.jpg”}</SpriteSnapshots>\\n <Snapshots>{“http://example.aliyundoc.com/image03.jpg”}</Snapshots>\\n </Video>\\n <Audio>\\n <Status>Normal</Status>\\n <CreationTime>2018-07-19T03:45:25Z</CreationTime>\\n <StorageLocation>outin-aaa*****aa.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <CateId>10000123</CateId>\\n <Tags>tag1,tag2</Tags>\\n <ModificationTime>2018-07-19T03:48:25Z</ModificationTime>\\n <MediaSource>general</MediaSource>\\n <Description>音频描述</Description>\\n <AppId>app-****</AppId>\\n <CoverURL>http://example.com/image04.jpg</CoverURL>\\n <AudioId>a82a2cd7d4e147bbed6c1ee372****</AudioId>\\n <DownloadSwitch>on</DownloadSwitch>\\n <CateName>ceshi</CateName>\\n <TranscodeMode>FastTranscode</TranscodeMode>\\n <PreprocessStatus>UnPreprocess</PreprocessStatus>\\n <Size>123</Size>\\n <Duration>123</Duration>\\n <Title>音频</Title>\\n <SpriteSnapshots>{“http://example.aliyundoc.com/image02.jpg”}</SpriteSnapshots>\\n <Snapshots>{“http://example.aliyundoc.com/image03.jpg”}</Snapshots>\\n </Audio>\\n <Image>\\n <StorageLocation>outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <CreationTime>2018-07-19T03:45:25Z</CreationTime>\\n <Status>Uploading</Status>\\n <CateId>1000123</CateId>\\n <Tags>tag1</Tags>\\n <ModificationTime>2018-07-19T03:48:25Z</ModificationTime>\\n <CateName>美图1</CateName>\\n <Description>图片测试</Description>\\n <AppId>app-****</AppId>\\n <URL>https://example.com/****.png</URL>\\n <Title>image1</Title>\\n <ImageId>11130843741se99wqmoes****</ImageId>\\n </Image>\\n <AttachedMedia>\\n <CreationTime>2018-07-19T03:45:25Z</CreationTime>\\n <Status>Normal</Status>\\n <StorageLocation>outin-bfefbb90a47c11*****7426.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <Tags>测试</Tags>\\n <ModificationTime>2018-07-19T03:48:25Z</ModificationTime>\\n <MediaId>a82a2cd7d4e147ba0ed6c1ee372****</MediaId>\\n <BusinessType>watermark</BusinessType>\\n <Description>测试</Description>\\n <AppId>app-****</AppId>\\n <URL>https://example.com/****.png</URL>\\n <Title>测试</Title>\\n <Categories>\\n <ParentId>-1</ParentId>\\n <CateName>测试</CateName>\\n <CateId>10027394</CateId>\\n <Level>1</Level>\\n </Categories>\\n </AttachedMedia>\\n </MediaList>\\n</SearchMediaResponse>","errorExample":""}]', + 'title' => 'SearchMedia', + 'description' => 'The maximum number of data records that you can query varies based on the method used to query the data. You can use the following methods to query data:'."\n" + ."\n" + .'* Method 1: Traverse data by page'."\n" + ."\n" + .' You can use the PageNo and PageSize parameters to traverse up to 5,000 data records that meet the specified filter condition. PageNo specifies the page number and PageSize specifies the number of data records displayed on a page. If the number of data records that meet the specified filter condition exceeds 5,000, change the filter conditions to narrow down the results. You cannot use this method to traverse all data records. If you want to traverse more data records, use Method 2.'."\n" + ."\n" + .'* Method 2: Traverse all data (available only for audio and video files)'."\n" + ."\n" + .' You can use this method to traverse up to 2 million data records related to audio and video files. If the number of data records that meet the specified filter condition exceeds 2 million, change the filter conditions to narrow down the results. To traverse data page by page, you must set the PageNo, PageSize, and ScrollToken parameters. The total number of data records from the current page to the target page cannot exceed 100. For example, you set PageSize to 20. The following content describes the traverse logic:'."\n" + ."\n" + .' * When the PageNo parameter is set to 1, you can traverse data records from page 1 to page 5.'."\n" + .' * When the PageNo parameter is set to 2, you can traverse data records from page 2 to page 6.'."\n" + ."\n" + .'Make sure that you set the appropriate page number and page size, and use a traverse method based on the number of results that meet your filter condition.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| SortByExceededMax | The SortBy parameter only supports one sort field when traversing all data. | 400 | The error message returned because more than one sort field is specified to traverse all data. |'."\n" + .'| ErrorMatchSyntax | The parameter Match.%s has an error syntax, please check it. | 400 | The error message returned because the syntax of the Match parameter is invalid. Check the syntax and try again. |'."\n" + .'| InvalidScrollToken.Expired | The ScrollToken is expired, please refresh it. | 400 | The error message returned because the value of the ScrollToken parameter is invalid. Obtain data again from Page 1. |', + ], + 'UpdateMediaStorageClass' => [ + 'summary' => 'Modifies the storage classes of media assets.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '171759', + 'abilityTreeNodes' => [ + 'FEATUREvodM1QLPK', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The media asset ID. You can specify a maximum of 20 IDs. Separate multiple IDs with commas (,). You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, you can view the ID of the media asset. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of the VideoId parameter from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload media assets.'."\n" + .'* Obtain the value of the VideoId parameter from the response to the [SearchMedia](~~86044~~) operation that you call to query the media ID after the media asset is uploaded.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd56c2ac0cee271ed80004710b5ba****', + ], + ], + [ + 'name' => 'Scope', + 'in' => 'query', + 'schema' => [ + 'description' => 'The modification range. Valid values:'."\n" + ."\n" + .'* **All**: modifies the storage classes of all resources including the source files and transcoded streams.'."\n" + .'* **SourceFile**: modifies the storage classes of only the source files. The storage class of other resources is Standard.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'All', + ], + ], + [ + 'name' => 'StorageClass', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage class. Valid values:'."\n" + ."\n" + .'* **Standard**'."\n" + .'* **IA**'."\n" + .'* **Archive**'."\n" + .'* **ColdArchive**'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Archive', + ], + ], + [ + 'name' => 'RestoreTier', + 'in' => 'query', + 'schema' => [ + 'description' => 'The restoration priority. This parameter is required only when you restore a Cold Archive media asset. Valid values:'."\n" + ."\n" + .'* **Expedited**'."\n" + .'* **Standard**'."\n" + .'* **Bulk**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'AllowUpdateWithoutTimeLimit', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to change the storage class of a media asset that is stored for less than the minimum storage duration. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> If you forcibly change the storage class of a media asset that is stored for less than the minimum storage duration, additional data retrieval fees are incurred.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '30FA0B7C-3A81-5449-93CD-ACA149E6****', + ], + 'Status' => [ + 'description' => 'The state of the task. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Processing', + ], + 'IgnoredList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MediaId' => [ + 'description' => 'The IDs of the media assets that failed to be obtained.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the media asset that failed to be obtained.'."\n", + 'type' => 'string', + 'example' => '[\'19e231ee6e3e417fbf2e92ec2680****\']', + ], + ], + ], + ], + 'ForbiddenList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MediaForbiddenReasonDTO' => [ + 'description' => 'The IDs of the media assets that failed to be processed.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the media asset that failed to be processed.'."\n", + 'type' => 'object', + 'properties' => [ + 'MediaId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '19e231ee6e3e417fbf2e92ec2680****', + ], + 'Reason' => [ + 'description' => 'The reason for the failure.'."\n", + 'type' => 'string', + 'example' => 'TargetStorageClassInconsistent', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30FA0B7C-3A81-5449-93CD-ACA149E6****\\",\\n \\"Status\\": \\"Processing\\",\\n \\"IgnoredList\\": {\\n \\"MediaId\\": [\\n \\"[\'19e231ee6e3e417fbf2e92ec2680****\']\\"\\n ]\\n },\\n \\"ForbiddenList\\": {\\n \\"MediaForbiddenReasonDTO\\": [\\n {\\n \\"MediaId\\": \\"19e231ee6e3e417fbf2e92ec2680****\\",\\n \\"Reason\\": \\"TargetStorageClassInconsistent\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'UpdateMediaStorageClass', + 'description' => '* This operation is an asynchronous operation. You can call this operation to modify the storage classes of media assets. After the storage class is modified, a callback notification is sent.'."\n" + .'* If the storage class of the media asset is Archive or Cold Archive and you call this operation to modify the storage class of the media asset, the media asset is automatically restored before the storage class is modified. You do not need to call the RestoreMedia operation to restore the media asset. You must specify the restoration priority for Cold Archive objects. Default configuration: RestoreTier=Standard.'."\n" + .'* Media assets whose storage classes are being modified cannot be used or processed.'."\n" + .'* Non-Standard objects have minimum storage durations. If an object is stored for less than the minimum storage duration, the storage class of the object cannot be changed. The following content describes the minimum storage durations for objects in different storage classes: IA or IA storage for source files: 30 days, Archive or Archive storage for source files: 60 days, Cold Archive or Cold Archive for source files: 180 days.'."\n", + 'requestParamsDescription' => 'You can specify the duration of the restored state and the restoration priority of a Cold Archive object. The duration of the restored state ranges from 1 to 365 days. The time required for object restoration varies based on the restoration priority:'."\n" + ."\n" + .'* Expedited: The object is restored within one hour.'."\n" + .'* Standard: The object is restored within two to five hours.'."\n" + .'* Bulk: The object is restored in five to twelve hours.'."\n", + ], + 'RestoreMedia' => [ + 'summary' => 'Restores media assets.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '171760', + 'abilityTreeNodes' => [ + 'FEATUREvodM1QLPK', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media asset (VideoId). Separate multiple IDs with commas (,). You can specify a maximum of 20 IDs. You can use one of the following methods to obtain the ID of the media asset:'."\n" + ."\n" + .'* Log on to the ApsaraVideo VOD console. In the left-side navigation pane, choose Media Files > Audio/Video. On the Video and Audio page, view the ID of the media asset. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the CreateUploadVideo operation that you call to upload media assets.'."\n" + .'* Obtain the value of VideoId from the response to the SearchMedia operation that you call to query the media ID after the media asset is uploaded.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '8bc8e94fe4e55abde85718****,eb186180e989dd56****', + ], + ], + [ + 'name' => 'Scope', + 'in' => 'query', + 'schema' => [ + 'description' => 'The modification range. Valid values:'."\n" + ."\n" + .'* **All**: restores all resources, including the source files and transcoded streams.'."\n" + .'* **SourceFile**: restores only the source files.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'All', + ], + ], + [ + 'name' => 'RestoreDays', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of days during which media assets remain in the restored state. Default value: 1. The maximum validity period of a restored Archive media asset is 7 days and the maximum validity period of a restored Cold Archive media asset is 365 days.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'RestoreTier', + 'in' => 'query', + 'schema' => [ + 'description' => 'The restoration priority. This parameter is required only when you restore a Cold Archive media file. Valid values:'."\n" + ."\n" + .'* **Expedited**: The file is restored within 1 hour.'."\n" + .'* **Standard**: The file is restored within 2 to 5 hours.'."\n" + .'* **Bulk**: The file is restored within 5 to 12 hours.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '8E70E3F8-E2EE-47BC-4677-379D6F28****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'IgnoredList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MediaId' => [ + 'description' => 'The IDs of the media assets that failed to be obtained.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the media asset that failed to be obtained.'."\n", + 'type' => 'string', + 'example' => '[\'7f29b8d0c5fa71ed9685e6f7d559****\']', + ], + ], + ], + ], + 'ForbiddenList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MediaForbiddenReasonDTO' => [ + 'description' => 'The IDs of the media asset that failed to be processed.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the media asset that failed to be processed.'."\n", + 'type' => 'object', + 'properties' => [ + 'MediaId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => 'fa10ee70898671edb99f6eb3690d****', + ], + 'Reason' => [ + 'description' => 'The reason for the failure.'."\n", + 'type' => 'string', + 'example' => 'Forbidden.RestoreMedia', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8E70E3F8-E2EE-47BC-4677-379D6F28****\\",\\n \\"Success\\": true,\\n \\"IgnoredList\\": {\\n \\"MediaId\\": [\\n \\"[\'7f29b8d0c5fa71ed9685e6f7d559****\']\\"\\n ]\\n },\\n \\"ForbiddenList\\": {\\n \\"MediaForbiddenReasonDTO\\": [\\n {\\n \\"MediaId\\": \\"fa10ee70898671edb99f6eb3690d****\\",\\n \\"Reason\\": \\"Forbidden.RestoreMedia\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'RestoreMedia', + 'description' => 'You can call this operation to restore only Archive and Cold Archive audio and video files. You can access the audio and video files after the files are restored. You cannot change the storage class of an audio or video file that is being restored. You are charged for the retrieval traffic generated during restoration. After a Cold Archive audio or video file is restored, a Standard replica of the file is generated for access. You are charged for the storage of the replica before the file returns to the frozen state.'."\n", + ], + 'AddCategory' => [ + 'summary' => 'Creates a category to classify media assets that are stored in ApsaraVideo VOD. This helps you query and manage resources in a more efficient and convenient way.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39783', + 'abilityTreeNodes' => [ + 'FEATUREvodUYOK6S', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CateName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the category.'."\n" + ."\n" + .'* The value can be up to 64 bytes in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'test', + ], + ], + [ + 'name' => 'ParentId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the parent category.'."\n" + ."\n" + .'To obtain the category ID, perform the following steps: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). Choose **Configuration Management** > **Media Management** > **Categories**. On the **Audio and Video / Image Category** or **Short Video Material Category** tab, view the category ID.'."\n" + ."\n" + .'> * If you specify this parameter, the system creates a subcategory under the parent category. If you leave this parameter empty, the system creates a level 1 category.'."\n" + .'>* You cannot modify, add, or delete level 1 categories of short video materials. You can create only subcategories under level 1 categories for short video materials. This parameter is required when you set `Type` to `material`.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '100012****', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the category. Valid values:'."\n" + ."\n" + .'* **default** (default): audio, video, and image files'."\n" + .'* **material**: short video materials'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'Category' => [ + 'description' => 'The information about the category.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the category. Valid values:'."\n" + ."\n" + .'* **default**: audio, video, and image files'."\n" + .'* **material**: short video materials'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'ParentId' => [ + 'description' => 'The ID of the parent category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100012', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'CateId' => [ + 'description' => 'The ID of the category. You can use the value of this parameter when you call the [UpdateCategory](~~UpdateCategory~~), [DeleteCategory](~~DeleteCategory~~), and [GetCategories](~~GetCategories~~) operations.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10020', + ], + 'Level' => [ + 'description' => 'The level of the category. Valid values:'."\n" + ."\n" + .'* **0**: level 1 category'."\n" + .'* **1**: level 2 category'."\n" + .'* **1**: level 3 category'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"Category\\": {\\n \\"Type\\": \\"default\\",\\n \\"ParentId\\": 100012,\\n \\"CateName\\": \\"搞笑\\",\\n \\"CateId\\": 10020,\\n \\"Level\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddCategoryResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <Category>\\n <Type>default</Type>\\n <ParentId>100012****</ParentId>\\n <CateName>搞笑</CateName>\\n <CateId>10020****</CateId>\\n <Level>1</Level>\\n </Category>\\n</AddCategoryResponse>","errorExample":""}]', + 'title' => 'AddCategory', + 'description' => '* You can create a maximum of 3 levels of categories for audio, video, and image files and 2 levels of categories for short video materials. Each category level can contain a maximum of 100 subcategories. To create categories for audio and video files, set `Type` to `default`. To create categories for short video materials, set `Type` to `material`.'."\n" + .'* After you create a category, you can categorize media resources during upload or categorize the uploaded media resources. For more information, see [Manage video categories](~~86070~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| LevelExceededMax | The level of categories exceeded maximum. | 400 | The error message returned because the number of category levels exceeds the upper limit. |'."\n" + .'| SubTotalExceededMax | The total of sub categories exceeded maximum. | 400 | The error message returned because the number of subcategories exceeds the upper limit. |'."\n" + .'| InvalidCateId.NotFound | The CateId not exist. | 404 | The error message returned because the specified ID of the parent category does not exist. |', + ], + 'UpdateCategory' => [ + 'summary' => 'Updates the category name.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40213', + 'abilityTreeNodes' => [ + 'FEATUREvodUYOK6S', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CateName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the category.'."\n" + ."\n" + .'* The value can be up to 64 bytes in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'beauty', + ], + ], + [ + 'name' => 'CateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the category. You can specify only one ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). Choose **Configuration Management** > **Media Management** > **Categories**. On the **Audio and Video / Image Category** or **Short Video Material Category** tab, view the category ID.'."\n" + .'* Obtain the category ID from the response to the [AddCategory](~~AddCategory~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'docRequired' => true, + 'example' => '10020****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateCategoryResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n</UpdateCategoryResponse>","errorExample":""}]', + 'title' => 'UpdateCategory', + 'description' => 'After you create a category, you can call this operation to modify the name of the category. If you have classified specific media resources to this category, the category names that are labeled on the media resources are automatically updated.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidCateId.NotFound | The CateId not exist. | 404 | The error message returned because the specified category ID does not exist. |', + ], + 'DeleteCategory' => [ + 'summary' => 'Deletes a category and its subcategories.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39827', + 'abilityTreeNodes' => [ + 'FEATUREvodUYOK6S', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the category. You can specify only one ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). Choose **Configuration Management** > **Media Management** > **Categories**. On the Audio and Video / Image Category or Short Video Material Category tab, view the category ID.'."\n" + .'* Obtain the category ID from the response to the [AddCategory](~~AddCategory~~) operation.'."\n" + ."\n" + .'> If you specify the ID of a parent category, all subcategories under the parent category are deleted at the same time.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'docRequired' => true, + 'example' => '3300****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCategoryResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n</DeleteCategoryResponse>","errorExample":""}]', + 'title' => 'DeleteCategory', + 'description' => '* **After you call this operation to delete a category, all subcategories including level 2 and level 3 categories are deleted at the same time. Exercise caution when you call this operation.**'."\n" + .'* If you have classified specific media resources to a category, the category names labeled on these media resources are automatically deleted when you delete the category.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidCateId.NotFound | The CateId not exist. | 404 | The error message returned because the specified category ID does not exist. |', + ], + 'GetCategories' => [ + 'summary' => 'Queries the information about a specific category and its subcategories based on the ID or type of the category.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39943', + 'abilityTreeNodes' => [ + 'FEATUREvodUYOK6S', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the category. If you specify this parameter, the system queries the category based on the ID. You can specify only one category ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). Choose **Configuration Management** > **Media Management** > **Categories**. On the Audio and Video / Image Category or Short Video Material Category tab, view the category ID.'."\n" + .'* Obtain the category ID from the response to the [AddCategory](~~AddCategory~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '49339****', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page where the subcategories to be returned are listed. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page of the subcategory list. Default value: **10**. Maximum value: **100**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting method of the results. Valid values:'."\n" + ."\n" + .'* **CreationTime:Desc** (default): The results are sorted in reverse chronological order based on the creation time.'."\n" + .'* **CreationTime:Asc**: The results are sorted in chronological order based on the creation time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CreationTime:Desc', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the category. If you specify this parameter, the system queries the category based on the type. Valid values:'."\n" + ."\n" + .'* **default** (default): audio, video, and image files'."\n" + .'* **material**: short video materials'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'SubTotal' => [ + 'description' => 'The total number of subcategories.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3795', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'Category' => [ + 'description' => 'The information about the category.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the category. Valid values:'."\n" + ."\n" + .'* **default**: audio, video, and image files'."\n" + .'* **material**: short video materials'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'ParentId' => [ + 'description' => 'The ID of the parent category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100012****', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'film', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'Level' => [ + 'description' => 'The level of the category. Valid values:'."\n" + ."\n" + .'* **0**: level 1 category'."\n" + .'* **1**: level 2 category'."\n" + .'* **2**: level 3 category'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + ], + ], + 'SubCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Category' => [ + 'description' => 'The details of the subcategory.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the subcategory. Valid values:'."\n" + ."\n" + .'* **default**: audio, video, and image files'."\n" + .'* **material**: short video materials'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'film', + ], + 'ParentId' => [ + 'description' => 'The ID of the parent category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10020****', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'SubTotal' => [ + 'description' => 'The total number of subcategories.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Level' => [ + 'description' => 'The level of the category. Valid values:'."\n" + ."\n" + .'* **0**: level 1 category'."\n" + .'* **1**: level 2 category'."\n" + .'* **2**: level 3 category'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + 'description' => 'The list of subcategories.', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SubTotal\\": 2,\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"Category\\": {\\n \\"Type\\": \\"default\\",\\n \\"ParentId\\": 0,\\n \\"CateName\\": \\"电影\\",\\n \\"CateId\\": 100,\\n \\"Level\\": 0\\n },\\n \\"SubCategories\\": {\\n \\"Category\\": [\\n {\\n \\"Type\\": \\"default\\",\\n \\"CateName\\": \\"电影\\",\\n \\"ParentId\\": 0,\\n \\"CateId\\": 100,\\n \\"SubTotal\\": 1,\\n \\"Level\\": 1\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetCategoriesResponse>\\n <SubTotal>3795</SubTotal>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <Category>\\n <Type>default</Type>\\n <ParentId>100012****</ParentId>\\n <CateName>电影</CateName>\\n <CateId>100</CateId>\\n <Level>0</Level>\\n </Category>\\n <SubCategories>\\n <Type>default</Type>\\n <CateName>电影</CateName>\\n <ParentId>10020****</ParentId>\\n <CateId>100</CateId>\\n <SubTotal>1</SubTotal>\\n <Level>1</Level>\\n </SubCategories>\\n</GetCategoriesResponse>","errorExample":""}]', + 'title' => 'GetCategories', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidCateId.NotFound | The CateId not exist. | 404 | The error message returned because the specified category ID does not exist. |', + ], + 'GetVideoInfo' => [ + 'summary' => 'Obtains the title, description, duration, thumbnail URL, status, creation time, size, snapshots, category, and tags of a media file based on the file ID.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39998', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the audio or video file. You can specify only one ID in each call. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you called to obtain the upload URL and credential.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation that you called to query the media ID after the media file is uploaded.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '9b73864d75f1d231e9001cd5f8****', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'Video' => [ + 'description' => 'The information about the audio or video file.'."\n", + 'type' => 'object', + 'properties' => [ + 'StorageLocation' => [ + 'description' => 'The storage address of the media file.', + 'type' => 'string', + 'example' => 'out-201703232251****.oss-cn-shanghai.aliyuncs.com', + ], + 'CreationTime' => [ + 'description' => 'The time when the media file was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', + 'type' => 'string', + 'example' => '2017-11-14T09:15:50Z', + ], + 'Status' => [ + 'description' => 'The status of the media file. For more information about the operations that you can perform on files in different statuses and usage limits, see [Status: the status of a video](~~52839#title-vqg-8cz-7p8~~). Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **UploadFail**'."\n" + .'* **UploadSucc**'."\n" + .'* **Transcoding**'."\n" + .'* **TranscodeFail**'."\n" + .'* **Blocked**'."\n" + .'* **Normal**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CateId' => [ + 'description' => 'The category ID of the media file.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '781111****', + ], + 'VideoId' => [ + 'description' => 'The ID of the media file.', + 'type' => 'string', + 'example' => '9b73864d75f1d231e9001cd5f8****', + ], + 'DownloadSwitch' => [ + 'description' => 'Indicates whether the offline download feature is enabled. If you enable the offline download feature, users can download and play videos by using the ApsaraVideo Player on a local PC. For more information, see [Configure download settings](~~86107~~). Valid values:'."\n" + ."\n" + .'* **on**: the offline download feature is enabled.'."\n" + .'* **off**: the offline download feature is not enabled.'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'Tags' => [ + 'description' => 'The tags of the audio or video file. Multiple tags are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'Tag 1,Tag 2', + ], + 'ModificationTime' => [ + 'description' => 'The time when the audio or video file was last updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-14T10:15:50Z', + ], + 'RegionId' => [ + 'description' => 'The region where the media file is stored.', + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'CustomMediaInfo' => [ + 'description' => 'The custom information about the media file.\\n\\n> This parameter has been deprecated. This parameter is no longer returned after you call the operation.', + 'type' => 'string', + 'example' => '{"aaa":"test"}', + ], + 'CateName' => [ + 'description' => 'The name of the category.', + 'type' => 'string', + 'example' => 'Category name', + ], + 'Description' => [ + 'description' => 'The description of the media file.', + 'type' => 'string', + 'example' => 'Video description in ApsaraVideo VOD', + ], + 'AppId' => [ + 'description' => 'The ID of the application.', + 'type' => 'string', + 'example' => 'app-****', + ], + 'Size' => [ + 'description' => 'The size of the source file. Unit: bytes.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10897890', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the media file.', + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/****.jpg', + ], + 'TemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.', + 'type' => 'string', + 'example' => '9ae2af636ca64835b0c10412f448****', + ], + 'Duration' => [ + 'description' => 'The duration of the media file. Unit: seconds.', + 'type' => 'number', + 'format' => 'float', + 'example' => '135.6', + ], + 'Title' => [ + 'description' => 'The title of the media file.', + 'type' => 'string', + 'example' => 'Video title in ApsaraVideo VOD', + ], + 'AuditStatus' => [ + 'description' => 'The final review result of the audio or video file. Valid values:'."\n" + ."\n" + .'* **Normal**: pass'."\n" + .'* **Blocked**: blocked'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'Snapshots' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Snapshot' => [ + 'description' => 'The video snapshot URLs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The video snapshot URL.'."\n" + ."\n" + .'> Only information about the thumbnail snapshot is returned. To obtain information about normal, sprite, source sprite, WebVTT snapshots, call the [ListSnapshots](~~ListSnapshots~~) operation. For more information, see [Video snapshots](~~99368~~).'."\n", + 'type' => 'string', + 'example' => '["http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****","http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****",...]', + ], + ], + ], + ], + 'StorageClass' => [ + 'description' => 'The storage class of the audio or video file. Valid values:'."\n" + ."\n" + .'* **Standard**: All media resources are stored as Standard objects.'."\n" + .'* **IA**: All media resources are stored as IA objects.'."\n" + .'* **Archive**: All media resources are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media resources are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source files are IA objects.'."\n" + .'* **SourceArchive**: Only the source files are Archive objects.'."\n" + .'* **SourceColdArchive**: Only the source files are Cold Archive objects.'."\n" + .'* **Changing**: The storage class of the audio or video file is being changed.'."\n" + .'* **SourceChanging**: The storage class of the source file is being changed.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'RestoreStatus' => [ + 'description' => 'The restoration status of the audio or video file. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'RestoreExpiration' => [ + 'description' => 'The period of time in which the object remains in the restored state.'."\n", + 'type' => 'string', + 'example' => '2023-03-30T10:14:14Z', + ], + 'UserData' => [ + 'description' => 'Custom settings. This is a JSON string that supports settings such as message callbacks and upload acceleration. For more information, please refer to [UserData](~~86952~~).', + 'type' => 'string', + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', + ], + 'ReferenceId' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"Video\\": {\\n \\"StorageLocation\\": \\"out-201703232251****.oss-cn-shanghai.aliyuncs.com\\",\\n \\"CreationTime\\": \\"2017-11-14T09:15:50Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CateId\\": 0,\\n \\"VideoId\\": \\"9b73864d75f1d231e9001cd5f8****\\",\\n \\"DownloadSwitch\\": \\"on\\",\\n \\"Tags\\": \\"tag1, tag2\\",\\n \\"ModificationTime\\": \\"2017-11-14T10:15:50Z\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"CustomMediaInfo\\": \\"{\\\\\\"aaa\\\\\\":\\\\\\"test\\\\\\"}\\",\\n \\"CateName\\": \\"cate1\\",\\n \\"Description\\": \\"Alibaba Cloud VOD video description\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"Size\\": 10897890,\\n \\"CoverURL\\": \\"https://example.aliyundoc.com/****.jpg\\",\\n \\"TemplateGroupId\\": \\"9ae2af636ca64835b0c10412f448****\\",\\n \\"Duration\\": 135.6,\\n \\"Title\\": \\"Alibaba Cloud VOD Video Title\\",\\n \\"AuditStatus\\": \\"Normal\\",\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n \\"[\\\\\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****\\\\\\",\\\\\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****\\\\\\",...]\\"\\n ]\\n },\\n \\"StorageClass\\": \\"Standard\\",\\n \\"RestoreStatus\\": \\"Success\\",\\n \\"RestoreExpiration\\": \\"2023-03-30T10:14:14Z\\",\\n \\"UserData\\": \\"{\\\\\\"MessageCallback\\\\\\":{\\\\\\"CallbackURL\\\\\\":\\\\\\"http://example.aliyundoc.com\\\\\\"},\\\\\\"Extend\\\\\\":{\\\\\\"localId\\\\\\":\\\\\\"*****\\\\\\",\\\\\\"test\\\\\\":\\\\\\"www\\\\\\"}}\\",\\n \\"ReferenceId\\": \\"123-123\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetVideoInfoResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <Video>\\n <StorageLocation>out-201703232251****.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <CreationTime>2017-11-14T09:15:50Z</CreationTime>\\n <Status>Normal</Status>\\n <CateId>781111****</CateId>\\n <VideoId>9b73864d75f1d231e9001cd5f8****</VideoId>\\n <Tags>标签1, 标签2</Tags>\\n <ModificationTime>2017-11-14T10:15:50Z</ModificationTime>\\n <RegionId>cn-shanghai</RegionId>\\n <CateName>分类名</CateName>\\n <Description>阿里云VOD视频描述</Description>\\n <AppId>app-****</AppId>\\n <Size>10897890</Size>\\n <CoverURL>https://example.aliyundoc.com/****.jpg</CoverURL>\\n <TemplateGroupId>9ae2af636ca64835b0c10412f448****</TemplateGroupId>\\n <Duration>135.6</Duration>\\n <Title>阿里云VOD视频标题</Title>\\n <AuditStatus>Normal</AuditStatus>\\n <Snapshots>[\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****\\",\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****\\",...]</Snapshots>\\n </Video>\\n</GetVideoInfoResponse>","errorExample":""}]', + 'title' => 'GetVideoInfo', + 'description' => 'After a media file is uploaded, ApsaraVideo VOD processes the source file. Then, information about the media file is asynchronously generated. You can configure notifications for the [VideoAnalysisComplete](~~99935~~) event and call this operation to query information about a media file after you receive notifications for the [VideoAnalysisComplete](~~99935~~) event. For more information, see [Overview](~~55627~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetVideoInfos' => [ + 'summary' => 'Queries information such as the title, description, duration, thumbnail URL, status, creation time, size, snapshots, category, and tags about multiple audio or video files based on IDs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '43387', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The list of video IDs. Separate multiple IDs with commas (,). A maximum of 20 IDs can be specified.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '7753d144efd8e649c6c45fe0579****,7753d144efd74d6c45fe0570****', + ], + ], + [ + 'name' => 'ReferenceIds', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。', + 'type' => 'string', + 'example' => '123-123,1234-1234', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'NonExistVideoIds' => [ + 'description' => 'The IDs of the videos that do not exist.', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the videos that do not exist.', + 'type' => 'string', + 'example' => '["7753d144efd8e649c6c45fe0579****"]', + ], + ], + 'NonExistReferenceIds' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'array', + 'items' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + 'VideoList' => [ + 'description' => 'The information about the audio or video files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the media file.'."\n", + 'type' => 'object', + 'properties' => [ + 'StorageLocation' => [ + 'description' => 'The storage address of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', + ], + 'CreationTime' => [ + 'description' => 'The time when the media file was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-06-26T05:38:48Z', + ], + 'Status' => [ + 'description' => 'The status of the video. Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **UploadFail**'."\n" + .'* **UploadSucc**'."\n" + .'* **Transcoding**'."\n" + .'* **TranscodeFail**'."\n" + .'* **Blocked**'."\n" + .'* **Normal**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '781111****', + ], + 'VideoId' => [ + 'description' => 'The ID of the audio or video file.'."\n", + 'type' => 'string', + 'example' => '7753d144efd74d6c45fe0570****', + ], + 'DownloadSwitch' => [ + 'description' => 'Indicates whether the offline download feature is enabled. If you enable the offline download feature, users can download and play videos by using the ApsaraVideo Player on a local PC. For more information, see [Configure download settings](~~86107~~). Valid values:'."\n" + ."\n" + .'* **on**: the offline download feature is enabled.'."\n" + .'* **off**: the offline download feature is not enabled.'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'Tags' => [ + 'description' => 'The tags of the audio or video file. Multiple tags are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'tag1, tag2', + ], + 'ModificationTime' => [ + 'description' => 'The time when the audio or video file was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-06-26T06:38:48Z', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'This is a category name.', + ], + 'Description' => [ + 'description' => 'The description of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'This is a category description.', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'Size' => [ + 'description' => 'The size of the source file. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '453', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/****.jpg', + ], + 'TemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => 'b4039216985f4312a5382a4ed****', + ], + 'Duration' => [ + 'description' => 'The duration of the audio or video file. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '120', + ], + 'Title' => [ + 'description' => 'The title of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'Video tiltle', + ], + 'Snapshots' => [ + 'description' => 'The video snapshot URLs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The video snapshot URL.'."\n" + ."\n" + .'> Only information about the thumbnail snapshot is returned. To obtain information about normal, sprite, source sprite, WebVTT snapshots, call the [ListSnapshots](~~ListSnapshots~~) operation. For more information, see [Video snapshots](~~99368~~).'."\n", + 'type' => 'string', + 'example' => '["http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****","http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****",...]', + ], + ], + 'StorageClass' => [ + 'description' => 'The storage class of the audio file. Valid values:'."\n" + ."\n" + .'* **Standard**: All media resources are stored as Standard objects.'."\n" + .'* **IA**: All media resources are stored as IA objects.'."\n" + .'* **Archive**: All media resources are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media resources are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source files are IA objects.'."\n" + .'* **SourceArchive**: Only the source files are Archive objects.'."\n" + .'* **SourceColdArchive**: Only the source file is stored as a Cold Archive object.'."\n" + .'* **Changing**: The storage class of the video file is being changed.'."\n" + .'* **SourceChanging**: The storage class of the source file is being changed.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'RestoreStatus' => [ + 'description' => 'The restoration status of the audio file. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'RestoreExpiration' => [ + 'description' => 'The period of time in which the audio file remains in the restored state.'."\n", + 'type' => 'string', + 'example' => '2023-03-30T10:14:14Z', + ], + 'UserData' => [ + 'description' => 'Custom settings. This is a JSON string that supports settings such as message callbacks and upload acceleration. For more information, please refer to [UserData](~~86952~~).', + 'type' => 'string', + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', + ], + 'ReferenceId' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"NonExistVideoIds\\": [\\n \\"[\\\\\\"7753d144efd8e649c6c45fe0579****\\\\\\"]\\"\\n ],\\n \\"NonExistReferenceIds\\": [\\n \\"123-123\\"\\n ],\\n \\"VideoList\\": [\\n {\\n \\"StorageLocation\\": \\"out-****.oss-cn-shanghai.aliyuncs.com\\",\\n \\"CreationTime\\": \\"2017-06-26T05:38:48Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CateId\\": 0,\\n \\"VideoId\\": \\"7753d144efd74d6c45fe0570****\\",\\n \\"DownloadSwitch\\": \\"on\\",\\n \\"Tags\\": \\"tag1, tag2\\",\\n \\"ModificationTime\\": \\"2017-06-26T06:38:48Z\\",\\n \\"CateName\\": \\"cate1\\",\\n \\"Description\\": \\"Alibaba Cloud VOD video description\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"Size\\": 453,\\n \\"CoverURL\\": \\"https://example.aliyundoc.com/****.jpg\\",\\n \\"TemplateGroupId\\": \\"b4039216985f4312a5382a4ed****\\",\\n \\"Duration\\": 120,\\n \\"Title\\": \\"Alibaba Cloud VOD Video Title\\",\\n \\"Snapshots\\": [\\n \\"[\\\\\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****\\\\\\",\\\\\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****\\\\\\",...]\\"\\n ],\\n \\"StorageClass\\": \\"Standard\\",\\n \\"RestoreStatus\\": \\"Success\\",\\n \\"RestoreExpiration\\": \\"2023-03-30T10:14:14Z\\",\\n \\"UserData\\": \\"{\\\\\\"MessageCallback\\\\\\":{\\\\\\"CallbackURL\\\\\\":\\\\\\"http://example.aliyundoc.com\\\\\\"},\\\\\\"Extend\\\\\\":{\\\\\\"localId\\\\\\":\\\\\\"*****\\\\\\",\\\\\\"test\\\\\\":\\\\\\"www\\\\\\"}}\\",\\n \\"ReferenceId\\": \\"123-123\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetVideoInfosResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <NonExistVideoIds>[\\"7753d144efd8e649c6c45fe0579****\\"]</NonExistVideoIds>\\n <VideoList>\\n <StorageLocation>out-****.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <CreationTime>2017-06-26T05:38:48Z</CreationTime>\\n <Status>Normal</Status>\\n <CateId>781111****</CateId>\\n <VideoId>7753d144efd74d6c45fe0570****</VideoId>\\n <Tags>标签1, 标签2</Tags>\\n <ModificationTime>2017-06-26T06:38:48Z</ModificationTime>\\n <CateName>分类名称</CateName>\\n <Description>阿里云VOD视频描述</Description>\\n <AppId>app-****</AppId>\\n <Size>453</Size>\\n <CoverURL>https://example.aliyundoc.com/****.jpg</CoverURL>\\n <TemplateGroupId>b4039216985f4312a5382a4ed****</TemplateGroupId>\\n <Duration>120</Duration>\\n <Title>阿里云VOD视频标题</Title>\\n <Snapshots>[\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****\\",\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****\\",...]</Snapshots>\\n </VideoList>\\n</GetVideoInfosResponse>","errorExample":""}]', + 'title' => 'GetVideoInfos', + 'description' => '* You can specify up to 20 audio or video file IDs in each request.'."\n" + .'* After a media file is uploaded, ApsaraVideo VOD processes the source file. Then, information about the media file is asynchronously generated. You can configure notifications for the [VideoAnalysisComplete](~~99935~~) event and call this operation to query information about a media file after you receive notifications for the [VideoAnalysisComplete](~~99935~~) event. For more information, see [Overview](~~55627~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |', + ], + 'GetVideoList' => [ + 'summary' => 'Queries information about media files.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40000', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the category. You can use one of the following methods to obtain the category ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories** to view the category ID.'."\n" + .'* Obtain the value of CateId from the response to the [AddCategory](~~56401~~) operation.'."\n" + .'* Obtain the value of CateId from the response to the [GetCategories](~~56406~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '781111', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the video. You can specify multiple video statuses and separate them with commas (,). Valid values:'."\n" + ."\n" + .'* **Uploading**: The video is being uploaded.'."\n" + .'* **UploadFail**: The video failed to be uploaded.'."\n" + .'* **UploadSucc**: The video has been uploaded.'."\n" + .'* **Transcoding**: The video is being transcoded.'."\n" + .'* **TranscodeFail**: The video failed to be transcoded.'."\n" + .'* **checking**: The video is being reviewed.'."\n" + .'* **Blocked**: The video is blocked.'."\n" + .'* **Normal**: The video is normal.'."\n" + .'* **ProduceFail**: The video failed to be produced.'."\n" + ."\n" + .'For more information about each video status, see the "Status: the status of a video" section of the [Basic data types](~~52839#section-p7c-jgy-070~~) topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Uploading,Normal', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **100**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting method of the results. Valid values:'."\n" + ."\n" + .'* **CreationTime:Desc** (default): The results are sorted in reverse chronological order based on the creation time.'."\n" + .'* **CreationTime:Asc**: The results are sorted in chronological order based on the creation time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CreationTime:Asc', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T12:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T12:59:00Z', + ], + ], + [ + 'name' => 'StorageLocation', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage address of the media file.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', + ], + ], + [ + 'name' => 'ReferenceIds', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。', + 'type' => 'string', + 'example' => '123-123,1234-1234', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Total' => [ + 'description' => 'The total number of media files returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'VideoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Video' => [ + 'description' => 'The information about the audio or video files. Information about a maximum of 5,000 audio or video files can be returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The video snapshot URL.'."\n" + ."\n" + .'> If no video snapshot is captured, no snapshot information is returned. For more information, see [Video snapshots](~~99368~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'StorageLocation' => [ + 'description' => 'The storage address of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', + ], + 'Status' => [ + 'description' => 'The status of the audio or video file. Valid values:'."\n" + ."\n" + .'* **Uploading**: The video is being uploaded.'."\n" + .'* **UploadFail**: The video failed to be uploaded.'."\n" + .'* **UploadSucc**: The video is uploaded.'."\n" + .'* **Transcoding**: The video is being transcoded.'."\n" + .'* **TranscodeFail**: The video failed to be transcoded.'."\n" + .'* **checking**: The video is being reviewed.'."\n" + .'* **Blocked**: The video is blocked.'."\n" + .'* **Normal**: The video is normal.'."\n" + .'* **ProduceFail**: The video failed to be produced.'."\n" + ."\n" + .'For more information about each video status, see the "Status: the status of a video" section of the [Basic data types](~~52839#section-p7c-jgy-070~~) topic.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the audio or video file was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-14T09:15:50Z', + ], + 'CateId' => [ + 'description' => 'The category ID of the audio or video file.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '781111', + ], + 'VideoId' => [ + 'description' => 'The ID of the audio or video file.'."\n", + 'type' => 'string', + 'example' => '9ae2af636ca6c10412f44891fc****', + ], + 'Tags' => [ + 'description' => 'The tags of the audio or video file. Multiple tags are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'Tag 1,Tag 2'."\n", + ], + 'ModificationTime' => [ + 'description' => 'The time when the video was updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-14T09:16:50Z', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'Category name'."\n", + ], + 'Description' => [ + 'description' => 'The description of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'Video description in ApsaraVideo VOD'."\n", + ], + 'AppId' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**.'."\n", + 'type' => 'string', + 'example' => 'app-1000000', + ], + 'Size' => [ + 'description' => 'The size of the source file. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10897890', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/****.jpg', + ], + 'Duration' => [ + 'description' => 'The duration of the audio or video file. Unit: seconds. 86,400 seconds is equivalent to 24 hours.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '135.6', + ], + 'Title' => [ + 'description' => 'The title of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'Video title in ApsaraVideo VOD'."\n", + ], + 'Snapshots' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Snapshot' => [ + 'description' => 'The URL array of video snapshots.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The URL of the video snapshot.'."\n" + ."\n" + .'> The snapshot information is returned only for videos in which snapshots are captured. For more information, see [Video snapshots](~~99368~~).'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****', + ], + ], + ], + ], + 'StorageClass' => [ + 'description' => 'The storage class of the audio or video file. Valid values:'."\n" + ."\n" + .'* **Standard**: All media resources are stored as Standard objects.'."\n" + .'* **IA**: All media resources are stored as IA objects.'."\n" + .'* **Archive**: All media resources are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media resources are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source files are IA objects.'."\n" + .'* **SourceArchive**: Only the source files are Archive objects.'."\n" + .'* **SourceColdArchive**: Only the source files are Cold Archive objects.'."\n" + .'* **Changing**: The storage class of the audio or video file is being changed.'."\n" + .'* **SourceChanging**: The storage class of the source file is being changed.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'RestoreStatus' => [ + 'description' => 'The restoration status of the audio or video file. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'RestoreExpiration' => [ + 'description' => 'The period of time in which the audio or video file remains in the restored state.'."\n", + 'type' => 'string', + 'example' => '2023-03-30T10:14:14Z', + ], + 'UserData' => [ + 'type' => 'string', + ], + 'ReferenceId' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Total\\": 100,\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"VideoList\\": {\\n \\"Video\\": [\\n {\\n \\"StorageLocation\\": \\"out-****.oss-cn-shanghai.aliyuncs.com\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2017-11-14T09:15:50Z\\",\\n \\"CateId\\": 781111,\\n \\"VideoId\\": \\"9ae2af636ca6c10412f44891fc****\\",\\n \\"Tags\\": \\"标签1, 标签2\\",\\n \\"ModificationTime\\": \\"2017-11-14T09:16:50Z\\",\\n \\"CateName\\": \\"分类名称\\",\\n \\"Description\\": \\"阿里云VOD视频描述\\",\\n \\"AppId\\": \\"app-1000000\\",\\n \\"Size\\": 10897890,\\n \\"CoverURL\\": \\"https://example.aliyundoc.com/****.jpg\\",\\n \\"Duration\\": 135.6,\\n \\"Title\\": \\"阿里云VOD视频标题\\",\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n \\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****\\"\\n ]\\n },\\n \\"StorageClass\\": \\"Standard\\",\\n \\"RestoreStatus\\": \\"Success\\",\\n \\"RestoreExpiration\\": \\"2023-03-30T10:14:14Z\\",\\n \\"UserData\\": \\"{\\\\\\"MessageCallback\\\\\\":{\\\\\\"CallbackURL\\\\\\":\\\\\\"http://example.aliyundoc.com\\\\\\"},\\\\\\"Extend\\\\\\":{\\\\\\"localId\\\\\\":\\\\\\"*****\\\\\\",\\\\\\"test\\\\\\":\\\\\\"www\\\\\\"}}\\",\\n \\"ReferenceId\\": \\"123-123\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetVideoListResponse>\\n <Total>100</Total>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <VideoList>\\n <StorageLocation>out-****.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <Status>Normal</Status>\\n <CreationTime>2017-11-14T09:15:50Z</CreationTime>\\n <CateId>781111****</CateId>\\n <VideoId>9ae2af636ca6c10412f44891fc****</VideoId>\\n <Tags>标签1, 标签2</Tags>\\n <ModificationTime>2017-11-14T09:16:50Z</ModificationTime>\\n <CateName>分类名称</CateName>\\n <Description>阿里云VOD视频描述</Description>\\n <AppId>app-1000000</AppId>\\n <Size>10897890</Size>\\n <CoverURL>https://example.aliyundoc.com/****.jpg</CoverURL>\\n <Duration>135.6</Duration>\\n <Title>阿里云VOD视频标题</Title>\\n <Snapshots>[\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****\\",\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****\\",...]</Snapshots>\\n </VideoList>\\n</GetVideoListResponse>","errorExample":""}]', + 'title' => 'GetVideoList', + 'description' => 'You can call this operation to query information about media files based on the filter conditions that you specify, such as video status and category ID. Information about a maximum of **5,000** media files can be returned for each request. We recommend that you set the StartTime and EndTime parameters to specify a time range for each request. For more information about how to query information about more media files or even all media files, see [SearchMedia](~~86044~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|VideoListExceededMax|The video list exceeded maximum.|400|The error message returned because the total number of entries returned exceeds the upper limit.|'."\n" + .'|InvalidVideo.NotFound|The video does not exist.|404|The error message returned because the video does not exist.|', + ], + 'GetMezzanineInfo' => [ + 'summary' => 'Queries the information about the mezzanine file of an audio or video. The information includes the mezzanine file URL, resolution, and bitrate of the audio or video.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39967', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '1f1a6fc03ca04814031b8a6559e****', + ], + ], + [ + 'name' => 'AuthTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The validity period of the mezzanine file URL. Unit: seconds. Default value: **1800**. Minimum value: **1**.'."\n" + ."\n" + .'* If the OutputType parameter is set to **cdn**:'."\n" + ."\n" + .' * The mezzanine file URL has a validity period only if URL signing is enabled. Otherwise, the mezzanine file URL is permanently valid.'."\n" + .' * Minimum value: **1**.'."\n" + .' * Maximum Value: unlimited.'."\n" + .' * Default value: If you do not set this parameter, the default validity period that is specified in URL signing is used.'."\n" + ."\n" + .'<!---->'."\n" + ."\n" + .'* If the OutputType parameter is set to **oss**:'."\n" + ."\n" + .' * The mezzanine file URL has a validity period only if the permissions on the Object Storage Service (OSS) bucket are private. Otherwise, the mezzanine file URL is permanently valid.'."\n" + .' * Minimum value: **1**.'."\n" + .' * Maximum value: **2592000** (30 days). The maximum value is limited to reduce security risks of the origin.'."\n" + .' * Default value: If you do not set this parameter, the default value is **3600**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3600', + ], + ], + [ + 'name' => 'OutputType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the mezzanine file URL. Valid values:'."\n" + ."\n" + .'- **oss**: OSS URL'."\n" + .'- **cdn** (default): Content Delivery Network (CDN) URL'."\n" + ."\n" + .'> If the mezzanine file is stored in a bucket of the in type, only an OSS URL is returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'oss', + ], + ], + [ + 'name' => 'AdditionType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of additional information. Separate multiple values with commas (,). By default, only the basic information is returned. Valid values:'."\n" + ."\n" + .'* **video**: video stream information'."\n" + .'* **audio**: audio stream information'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'Mezzanine' => [ + 'description' => 'The information about the source file.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the file was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-14T09:15:50Z', + ], + 'Status' => [ + 'description' => 'The status of the file. Valid values:'."\n" + ."\n" + .'* **Uploading**: The file is being uploaded. This is the initial status.'."\n" + .'* **Normal**: The file is uploaded.'."\n" + .'* **UploadFail**: The file fails to be uploaded.'."\n" + .'* **Deleted**: The file is deleted.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'FileURL' => [ + 'description' => 'The URL of the file.'."\n", + 'type' => 'string', + 'example' => 'http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/27ffc438-164h67f57ef-0005-6884-51a-1****.mp4', + ], + 'VideoId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => '1f1a6fc03ca04814031b8a6559e****', + ], + 'Height' => [ + 'description' => 'The height of the file. Unit: pixel.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '540', + ], + 'Bitrate' => [ + 'description' => 'The bitrate of the file. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '771.2280', + ], + 'FileName' => [ + 'description' => 'The name of the file.'."\n", + 'type' => 'string', + 'example' => '27ffc438-164h67f57ef-0005-6884-51a-1****.mp4', + ], + 'OutputType' => [ + 'description' => 'The type of the mezzanine file URL. Valid values:'."\n" + ."\n" + .'- **oss**: OSS URL'."\n" + .'- **cdn** (default): CDN URL'."\n" + ."\n" + .'> If you specify an OSS URL for the video stream, the video stream must be in the MP4 format.', + 'type' => 'string', + 'example' => 'oss', + ], + 'PreprocessStatus' => [ + 'description' => 'The preprocess status od the media.', + 'type' => 'string', + 'example' => 'UnPreprocess', + ], + 'Width' => [ + 'description' => 'The width of the file. Unit: pixel.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '960', + ], + 'Size' => [ + 'description' => 'The size of the file. Unit: byte.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4096477', + ], + 'Duration' => [ + 'description' => 'The duration of the file. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '42.4930', + ], + 'Fps' => [ + 'description' => 'The frame rate of the file. Unit: frames per second.'."\n", + 'type' => 'string', + 'example' => '25.0000', + ], + 'AudioStreamList' => [ + 'description' => 'The codec time base.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the audio stream.', + 'type' => 'object', + 'properties' => [ + 'Index' => [ + 'description' => 'The sequence number of the audio stream. The value indicates the position of the audio stream in all audio streams.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Timebase' => [ + 'description' => 'The time base of the audio stream.'."\n", + 'type' => 'string', + 'example' => '0.000000', + ], + 'SampleFmt' => [ + 'description' => 'The sampling format.'."\n", + 'type' => 'string', + 'example' => 'fltp', + ], + 'SampleRate' => [ + 'description' => 'The sampling rate of the audio stream.'."\n", + 'type' => 'string', + 'example' => '44100', + ], + 'ChannelLayout' => [ + 'description' => 'The output layout of the sound channels. Valid values:'."\n" + ."\n" + .'* **mono**'."\n" + .'* **stereo**'."\n", + 'type' => 'string', + 'example' => 'mono', + ], + 'Lang' => [ + 'description' => 'The language.'."\n", + 'type' => 'string', + 'example' => 'und', + ], + 'CodecLongName' => [ + 'description' => 'The full name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'AAC (Advanced Audio Coding)', + ], + 'Channels' => [ + 'description' => 'The number of sound channels.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'NumFrames' => [ + 'description' => 'The total number of frames.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'Bitrate' => [ + 'description' => 'The bitrate.'."\n", + 'type' => 'string', + 'example' => '62.885', + ], + 'CodecTagString' => [ + 'description' => 'The tag string of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'mp4a', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range during which the data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'CodecName' => [ + 'description' => 'The short name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'aac', + ], + 'Duration' => [ + 'description' => 'The duration of the audio file.'."\n", + 'type' => 'string', + 'example' => '3.227574', + ], + 'CodecTag' => [ + 'description' => 'The tag of the encoding format.'."\n", + 'type' => 'string', + 'example' => '0x6134706d', + ], + 'CodecTimeBase' => [ + 'description' => 'The codec time base.'."\n", + 'type' => 'string', + 'example' => '1/44100', + ], + ], + ], + ], + 'VideoStreamList' => [ + 'description' => 'The HDR type of the video stream.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the video stream.', + 'type' => 'object', + 'properties' => [ + 'Timebase' => [ + 'description' => 'The time base of the audio stream.'."\n", + 'type' => 'string', + 'example' => '0.000000', + ], + 'Index' => [ + 'description' => 'The sequence number of the video stream. The value indicates the position of the video stream in all video streams.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'AvgFPS' => [ + 'description' => 'The average frame rate.'."\n", + 'type' => 'string', + 'example' => '30.0', + ], + 'PixFmt' => [ + 'description' => 'The pixel format.'."\n", + 'type' => 'string', + 'example' => 'yuv420p', + ], + 'Lang' => [ + 'description' => 'The language.'."\n", + 'type' => 'string', + 'example' => 'und', + ], + 'Sar' => [ + 'description' => 'The sample aspect ratio (SAR) of the video stream.'."\n", + 'type' => 'string', + 'example' => '0:1', + ], + 'Height' => [ + 'description' => 'The height of the video stream.'."\n", + 'type' => 'string', + 'example' => '320', + ], + 'CodecLongName' => [ + 'description' => 'The full name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10', + ], + 'NumFrames' => [ + 'description' => 'The total number of frames.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Bitrate' => [ + 'description' => 'The bitrate. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'Rotate' => [ + 'description' => 'The rotation angle of the video. Valid values: **\\[0,360)**.'."\n", + 'type' => 'string', + 'example' => '90', + ], + 'CodecTagString' => [ + 'description' => 'The tag string of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'avc1', + ], + 'HasBFrames' => [ + 'description' => 'Indicates whether the video stream contains B-frames.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Profile' => [ + 'description' => 'The codec profile.'."\n", + 'type' => 'string', + 'example' => 'Main', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range during which the data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'Dar' => [ + 'description' => 'The display aspect ratio (DAR) of the video stream.'."\n", + 'type' => 'string', + 'example' => '0:1', + ], + 'CodecName' => [ + 'description' => 'The short name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'h264', + ], + 'Width' => [ + 'description' => 'The width of the video in pixels.'."\n", + 'type' => 'string', + 'example' => '568', + ], + 'Duration' => [ + 'description' => 'The duration of the audio file.'."\n", + 'type' => 'string', + 'example' => '3.166667', + ], + 'Fps' => [ + 'description' => 'The frame rate of the output file.'."\n", + 'type' => 'string', + 'example' => '30.0', + ], + 'CodecTag' => [ + 'description' => 'The tag of the encoding format.'."\n", + 'type' => 'string', + 'example' => '0x31637661', + ], + 'CodecTimeBase' => [ + 'description' => 'The codec time base.'."\n", + 'type' => 'string', + 'example' => '1/60', + ], + 'Level' => [ + 'description' => 'The codec level.'."\n", + 'type' => 'string', + 'example' => '30', + ], + 'HDRType' => [ + 'title' => '视频流HDR类型', + 'description' => 'The HDR type of the video stream.'."\n", + 'type' => 'string', + 'example' => 'HDR', + ], + ], + ], + ], + 'StorageClass' => [ + 'description' => 'The storage class of the audio file. Valid values:'."\n" + ."\n" + .'* **Standard**: All media resources are stored as Standard objects.'."\n" + .'* **IA**: All media resources are stored as IA objects.'."\n" + .'* **Archive**: All media resources are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media resources are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source files are IA objects.'."\n" + .'* **SourceArchive**: Only the source files are Archive objects.'."\n" + .'* **SourceColdArchive**: Only the source files are Cold Archive objects.'."\n" + .'* **Changing**: The storage class of the audio file is being changed.'."\n" + .'* **SourceChanging**: The storage class of the source file is being changed.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'RestoreStatus' => [ + 'description' => 'The restoration status of the audio or video file. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'RestoreExpiration' => [ + 'description' => 'The period of time in which the object remains in the restored state.'."\n", + 'type' => 'string', + 'example' => '2023-03-30T10:14:14Z', + ], + 'FileMD5' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"Mezzanine\\": {\\n \\"CreationTime\\": \\"2017-11-14T09:15:50Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"FileURL\\": \\"http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/27ffc438-164h67f57ef-0005-6884-51a-1****.mp4\\",\\n \\"VideoId\\": \\"1f1a6fc03ca04814031b8a6559e****\\",\\n \\"Height\\": 540,\\n \\"Bitrate\\": \\"771.2280\\",\\n \\"FileName\\": \\"27ffc438-164h67f57ef-0005-6884-51a-1****.mp4\\",\\n \\"OutputType\\": \\"oss\\",\\n \\"PreprocessStatus\\": \\"UnPreprocess\\",\\n \\"Width\\": 960,\\n \\"Size\\": 4096477,\\n \\"Duration\\": \\"42.4930\\",\\n \\"Fps\\": \\"25.0000\\",\\n \\"AudioStreamList\\": [\\n {\\n \\"Index\\": \\"0\\",\\n \\"Timebase\\": \\"0.000000\\",\\n \\"SampleFmt\\": \\"fltp\\",\\n \\"SampleRate\\": \\"44100\\",\\n \\"ChannelLayout\\": \\"mono\\",\\n \\"Lang\\": \\"und\\",\\n \\"CodecLongName\\": \\"AAC (Advanced Audio Coding)\\",\\n \\"Channels\\": \\"1\\",\\n \\"NumFrames\\": \\"1\\",\\n \\"Bitrate\\": \\"62.885\\",\\n \\"CodecTagString\\": \\"mp4a\\",\\n \\"StartTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"CodecName\\": \\"aac\\",\\n \\"Duration\\": \\"3.227574\\",\\n \\"CodecTag\\": \\"0x6134706d\\",\\n \\"CodecTimeBase\\": \\"1/44100\\"\\n }\\n ],\\n \\"VideoStreamList\\": [\\n {\\n \\"Timebase\\": \\"0.000000\\",\\n \\"Index\\": \\"1\\",\\n \\"AvgFPS\\": \\"30.0\\",\\n \\"PixFmt\\": \\"yuv420p\\",\\n \\"Lang\\": \\"und\\",\\n \\"Sar\\": \\"0:1\\",\\n \\"Height\\": \\"320\\",\\n \\"CodecLongName\\": \\"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\\",\\n \\"NumFrames\\": \\"0\\",\\n \\"Bitrate\\": \\"500\\",\\n \\"Rotate\\": \\"90\\",\\n \\"CodecTagString\\": \\"avc1\\",\\n \\"HasBFrames\\": \\"0\\",\\n \\"Profile\\": \\"Main\\",\\n \\"StartTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"Dar\\": \\"0:1\\",\\n \\"CodecName\\": \\"h264\\",\\n \\"Width\\": \\"568\\",\\n \\"Duration\\": \\"3.166667\\",\\n \\"Fps\\": \\"30.0\\",\\n \\"CodecTag\\": \\"0x31637661\\",\\n \\"CodecTimeBase\\": \\"1/60\\",\\n \\"Level\\": \\"30\\",\\n \\"HDRType\\": \\"HDR\\"\\n }\\n ],\\n \\"StorageClass\\": \\"Standard\\",\\n \\"RestoreStatus\\": \\"Success\\",\\n \\"RestoreExpiration\\": \\"2023-03-30T10:14:14Z\\",\\n \\"FileMD5\\": \\"\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMezzanineInfoResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <Mezzanine>\\n <CreationTime>2017-11-14T09:15:50Z</CreationTime>\\n <Status>Normal</Status>\\n <FileURL>http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/27ffc438-164h67f57ef-0005-6884-51a-1****.mp4</FileURL>\\n <VideoId>1f1a6fc03ca04814031b8a6559e****</VideoId>\\n <Height>540</Height>\\n <Bitrate>771.2280</Bitrate>\\n <FileName>27ffc438-164h67f57ef-0005-6884-51a-1****.mp4</FileName>\\n <OutputType>oss</OutputType>\\n <Width>960</Width>\\n <Size>4096477</Size>\\n <Duration>42.4930</Duration>\\n <Fps>25.0000</Fps>\\n <AudioStreamList>\\n <Index>0</Index>\\n <Timebase>0.000000</Timebase>\\n <SampleFmt>fltp</SampleFmt>\\n <SampleRate>44100</SampleRate>\\n <ChannelLayout>mono</ChannelLayout>\\n <Lang>und</Lang>\\n <CodecLongName>AAC (Advanced Audio Coding)</CodecLongName>\\n <Channels>1</Channels>\\n <NumFrames>1</NumFrames>\\n <Bitrate>62.885</Bitrate>\\n <CodecTagString>mp4a</CodecTagString>\\n <StartTime>2017-01-11T12:00:00Z</StartTime>\\n <CodecName>aac</CodecName>\\n <Duration>3.227574</Duration>\\n <CodecTag>0x6134706d</CodecTag>\\n <CodecTimeBase>1/44100</CodecTimeBase>\\n </AudioStreamList>\\n <VideoStreamList>\\n <Timebase>0.000000</Timebase>\\n <Index>1</Index>\\n <AvgFPS>30.0</AvgFPS>\\n <PixFmt>yuv420p</PixFmt>\\n <Lang>und</Lang>\\n <Sar>0:1</Sar>\\n <Height>320</Height>\\n <CodecLongName>H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10</CodecLongName>\\n <NumFrames>0</NumFrames>\\n <Bitrate>500</Bitrate>\\n <Rotate>90</Rotate>\\n <CodecTagString>avc1</CodecTagString>\\n <HasBFrames>0</HasBFrames>\\n <Profile>Main</Profile>\\n <StartTime>2017-01-11T12:00:00Z</StartTime>\\n <Dar>0:1</Dar>\\n <CodecName>h264</CodecName>\\n <Width>568</Width>\\n <Duration>3.166667</Duration>\\n <Fps>30.0</Fps>\\n <CodecTag>0x31637661</CodecTag>\\n <CodecTimeBase>1/60</CodecTimeBase>\\n <Level>30</Level>\\n <HDRType>HDR</HDRType>\\n </VideoStreamList>\\n </Mezzanine>\\n</GetMezzanineInfoResponse>","errorExample":""}]', + 'title' => 'GetMezzanineInfo', + 'description' => 'You can obtain complete information about the source file only after a stream is transcoded.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the specified video ID does not exist. |'."\n" + .'| InvalidFile.NotFound | The file does not exist. | 404 | The error message returned because the specified video mezzanine file does not exist. |', + ], + 'UpdateVideoInfo' => [ + 'summary' => 'Modifies the information about an audio or video file.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40229', + 'abilityTreeNodes' => [ + 'FEATUREvod7B2GUR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the audio or video file. Perform the following operations to obtain the storage address:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you called to obtain the upload URL and credential.'."\n" + .'* View the value of the VideoId parameter returned by the [SearchMedia](~~86044~~) operation that you called to query media information after the audio or video file is uploaded.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '2deda93265312baf9b0ed810d****', + ], + ], + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the audio or video file.'."\n" + ."\n" + .'* The name cannot exceed 128 bytes.'."\n" + .'* The value is encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video title', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tags of the media file.'."\n" + ."\n" + .'* Each tag can be up to 32 bytes in length. You can specify up to 16 tags.'."\n" + .'* Separate multiple tags with commas (,).'."\n" + .'* The value is encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag1,tag2', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the audio or video file.'."\n" + ."\n" + .'* The description can be up to 1,024 bytes in length.'."\n" + .'* The value is encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video description', + ], + ], + [ + 'name' => 'CoverURL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the audio/video thumbnail.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://example.aliyundoc.com/****.jpg', + ], + ], + [ + 'name' => 'CateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The category ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories** to view the category ID of the media file.'."\n" + .'* View the value of the CateId parameter returned by the [AddCategory](~~56401~~) operation that you called to create a category.'."\n" + .'* View the value of the CateId parameter returned by the [GetCategories](~~56406~~) operation that you called to query a category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '384761111', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'Custom settings. This is a JSON string that supports message callbacks, upload acceleration, and other settings. For more information, please refer to [UserData](~~86952~~).', + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVideoInfoResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n</UpdateVideoInfoResponse>","errorExample":""}]', + 'title' => 'UpdateVideoInfo', + 'description' => '### [](#)'."\n" + ."\n" + .'You can call this operation to modify information such as the title, tags, and description about audio and video files based on audio or video IDs. You must pass in the parameters that you want to modify. Otherwise, parameter configurations are not overwritten.'."\n" + ."\n" + .'### [](#qps-)Queries per second (QPS) limit'."\n" + ."\n" + .'You can call this operation up to 100 times per second per account. Requests that exceed this limit are dropped and you may experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits on API operations](~~342790~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |', + ], + 'UpdateVideoInfos' => [ + 'summary' => 'Modifies information about multiple audio or video files at a time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40231', + 'abilityTreeNodes' => [ + 'FEATUREvod7B2GUR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'UpdateContent', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new information about audios or videos. You can modify the information about up to 20 audios or videos at a time. Separate multiple audios or videos with commas (,). When you modify the information exceed 20 audios or videos at a time, the update will fail with an error code **CountExceededMax**.'."\n" + ."\n" + .'The value is a JSON string. For more information, see the **UpdateContent** section of this topic.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '[{"VideoId":"f45cf4eba5cb90233389558c39****","Title":"test title1"},{"VideoId":"f45cf4eba5c84233389558c36****","Title":"test title2"}]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'ForbiddenVideoIds' => [ + 'description' => 'The IDs of the videos that cannot be modified. Generally, videos cannot be modified if you do not have required [permissions](~~113600~~).', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the videos that cannot be modified. Generally, videos cannot be modified if you do not have required [permissions](~~113600~~).', + 'type' => 'string', + 'example' => 'f45cf4eba5c84233389558c36****', + ], + ], + 'NonExistVideoIds' => [ + 'description' => 'The IDs of the videos that do not exist.', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the videos that do not exist.', + 'type' => 'string', + 'example' => 'f45cf4eba5cb90233389558c39****', + ], + ], + 'NonExistReferenceIds' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'array', + 'items' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"ForbiddenVideoIds\\": [\\n \\"f45cf4eba5c84233389558c36****\\"\\n ],\\n \\"NonExistVideoIds\\": [\\n \\"f45cf4eba5cb90233389558c39****\\"\\n ],\\n \\"NonExistReferenceIds\\": [\\n \\"123-123\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UpdateVideoInfosResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <ForbiddenVideoIds>f45cf4eba5c84233389558c36****</ForbiddenVideoIds>\\n <NonExistVideoIds>f45cf4eba5cb90233389558c39****</NonExistVideoIds>\\n</UpdateVideoInfosResponse>","errorExample":""}]', + 'title' => 'UpdateVideoInfos', + 'description' => 'The specific parameter of a video is updated only when a new value is passed in the parameter.', + 'requestParamsDescription' => '## UpdateContent'."\n" + ."\n" + .'> You must convert the UpdateContent[] parameter to a string before you pass it in.'."\n" + ."\n" + .'| Parameter | Type | Required | Description |'."\n" + .'| --------- | ---- | -------- | ----------- |'."\n" + .'| VideoId | String | Yes | The ID of the video. |'."\n" + .'| Title | String | No | The title of the video. |'."\n" + .'| Description | String | No | The description of the video. |'."\n" + .'| Tags | String | No | The tag of the video. |'."\n" + .'| CoverURL | String | No | The URL of the video thumbnail. |'."\n" + .'| CateId | Long | No | The ID of the category. |', + 'responseParamsDescription' => ' ', + ], + 'DeleteMezzanines' => [ + 'summary' => 'Deletes one or more source files at a time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39839', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of audio or video files whose source files that you want to delete. You can specify up to 20 IDs. Separate multiple IDs with commas (,). You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* After you upload a video in the [ApsaraVideo VOD console](https://vod.console.aliyun.com), you can log on to the ApsaraVideo VOD console and choose **Media Files** > **Audio/Video** to view the ID of the video.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you called to obtain the upload URL and credential.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation that you called to query media information after the audio or video file is uploaded.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '23ab850b4f654b6e91d24d8157****,93ab850b4f6f4b6e91d24d81d4****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to forcibly delete the source file. Valid values:'."\n" + ."\n" + .'* **false** (default)'."\n" + .'* **true**'."\n" + ."\n" + .'> If a video is uploaded without transcoding or is asynchronously transcoded, the source file of the video is used for original-quality playback. By default, the source file of the video cannot be deleted. To forcibly delete the mezzanine file, set this parameter to **true**.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ReferenceIds', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。', + 'type' => 'string', + 'example' => '123-123,1234-1234', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'UnRemoveableVideoIds' => [ + 'description' => 'The IDs of the audio or video files whose source files cannot be deleted.'."\n" + ."\n" + .'> In most cases, source files cannot be deleted if they are used for original-quality playback or you do not have required permissions to delete them. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the audio or video file whose source file cannot be deleted.'."\n" + ."\n" + .'> In most cases, source files cannot be deleted if they are used for original-quality playback or you do not have required permissions to delete them. For more information, see [Overview](~~113600~~). The source file of the video is used for original-quality playback if a video is uploaded without transcoding or is asynchronously transcoded.'."\n", + 'type' => 'string', + 'example' => '23ab850b4f6f44b6e91d24d8157****', + ], + ], + 'NonExistVideoIds' => [ + 'description' => 'The IDs of the audio or video files that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the audio or video file that does not exist.'."\n", + 'type' => 'string', + 'example' => '93ab850b4f6f4b6e91d24d81d4****', + ], + ], + 'NonExistReferenceIds' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'array', + 'items' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"UnRemoveableVideoIds\\": [\\n \\"23ab850b4f6f44b6e91d24d8157****\\"\\n ],\\n \\"NonExistVideoIds\\": [\\n \\"93ab850b4f6f4b6e91d24d81d4****\\"\\n ],\\n \\"NonExistReferenceIds\\": [\\n \\"123-123\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DeleteMezzaninesResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <UnRemoveableVideoIds>23ab850b4f6f44b6e91d24d8157****</UnRemoveableVideoIds>\\n <NonExistVideoIds>93ab850b4f6f4b6e91d24d81d4****</NonExistVideoIds>\\n</DeleteMezzaninesResponse>","errorExample":""}]', + 'title' => 'DeleteMezzanines', + 'description' => 'All media processing operations in ApsaraVideo VOD, such as transcoding, snapshot capture, and content moderation, are performed based on source files. If you delete the source files, you cannot perform media processing operations. Exercise caution when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'DeleteStream' => [ + 'summary' => 'Deletes media streams such as video or audio streams and their storage files.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39842', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'JobIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The job IDs for deleting media streams.'."\n" + ."\n" + .'* Separate multiple IDs with commas (,). A maximum of 20 IDs can be specified for one video.'."\n" + .'* You can obtain job IDs from the PlayInfo parameter that is returned after you call the [GetPlayInfo](~~56124~~) operation. Each media stream has a unique job ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '35eb4dbda18c49cc0025df374b46****', + ], + ], + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => '95948ddba24446b6aed5db985e78****', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A7U43F6-D7393642****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A7U43F6-D7393642****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteStreamResponse>\\n <RequestId>25818875-5F78-4A7U43F6-D7393642****</RequestId>\\n</DeleteStreamResponse>","errorExample":""}]', + 'title' => 'DeleteStream', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| JobIdsExceededMax | The JobIds exceeded maximum. | 400 | The error message returned because the list of job IDs exceeds the maximum length. |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |'."\n" + .'| InvalidStream.NotFound | The stream does not exist. | 404 | The error message returned because the media stream does not exist. |'."\n" + .'| DeleteStreamFailed | Deleting stream has failed due to some unknown error. | 503 | The error message returned because the system failed to delete the media stream. Try again later. |', + ], + 'DeleteVideo' => [ + 'summary' => 'Deletes one or more videos at a time, including their mezzanine files, transcoded stream files, and thumbnail snapshots.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39846', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The list of video IDs. Separate multiple IDs with commas (,). A maximum of 20 IDs can be specified. You can obtain a video ID in one of the following ways:'."\n" + ."\n" + .'* If the video is uploaded by using the [ApsaraVideo VOD console](https://vod.console.aliyun.com), log on to the console and choose **Media Files** > **Audio/Video** to view the ID of the video.'."\n" + .'* If the video is uploaded by calling the [CreateUploadVideo](~~55407~~) operation, the video ID is the VideoId value in the response.'."\n" + .'* You can also call the [SearchMedia](~~86044~~) operation to obtain the video ID, which is the VideoId value in the response.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'e44ebf1147hdsa2d2adbea8b****,e44ebf11oj984adbea8****,73ab850b4f6f4b6e91d24d81d54****', + ], + ], + [ + 'name' => 'ReferenceIds', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。', + 'type' => 'string', + 'example' => '123-123,1234-1234', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', + ], + 'ForbiddenVideoIds' => [ + 'description' => 'The IDs of the videos that cannot be deleted.'."\n" + .'> Generally, videos cannot be deleted if you do not have the required [permissions](~~113600~~).', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the videos that cannot be deleted.'."\n" + .'> Generally, videos cannot be deleted if you do not have the required [permissions](~~113600~~).', + 'type' => 'string', + 'example' => '73ab850b4f6f4b6e91d24d81d54****', + ], + ], + 'NonExistVideoIds' => [ + 'description' => 'The IDs of the videos that do not exist.'."\n" + .'> If the list of videos to be deleted contains one or more videos that do not exist, the IDs of these non-existing videos are returned. If none of the videos in the list exists, a 404 error is returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the videos that do not exist.'."\n" + .'> If the list of videos to be deleted contains one or more videos that do not exist, the IDs of these non-existing videos are returned. If none of the videos in the list exists, a 404 error is returned.', + 'type' => 'string', + 'example' => 'e44ebf1147hdsa2d2adbea8b****', + ], + ], + 'NonExistReferenceIds' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'array', + 'items' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\",\\n \\"ForbiddenVideoIds\\": [\\n \\"73ab850b4f6f4b6e91d24d81d54****\\"\\n ],\\n \\"NonExistVideoIds\\": [\\n \\"e44ebf1147hdsa2d2adbea8b****\\"\\n ],\\n \\"NonExistReferenceIds\\": [\\n \\"123-123\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DeleteVideoResponse>\\n <RequestId>E4EBD2BF-5EB0-4476-8829-9D94E1B1****</RequestId>\\n <ForbiddenVideoIds>73ab850b4f6f4b6e91d24d81d54****</ForbiddenVideoIds>\\n <NonExistVideoIds>e44ebf1147hdsa2d2adbea8b****</NonExistVideoIds>\\n</DeleteVideoResponse>","errorExample":""}]', + 'title' => 'DeleteVideo', + 'description' => '* This operation physically deletes videos. Deleted videos cannot be recovered. Exercise caution when you call this operation.'."\n" + .'* You can call this operation to delete multiple videos at a time.'."\n" + .'* When you delete a video, its source file, transcoded stream file, and thumbnail screenshot are also deleted. However, the Alibaba Cloud Content Delivery Network (CDN) cache is not refreshed simultaneously. You can use the refresh feature in the ApsaraVideo VOD console to clear garbage data on CDN nodes. For more information, see [Refresh and prefetch](~~86098~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| VideoIdsExceededMax | The VideoIds exceeded maximum. | 400 | The error message returned because the list of video IDs exceeds the maximum length. |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |'."\n" + .'| DeleteVideoFailed | Deleting video has failed due to some unknown error. | 503 | The error message returned because the system failed to delete the video. Try again later. |', + ], + 'BatchGetMediaInfos' => [ + 'summary' => 'Obtains the basic information and source file information of multiple media assets.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257507', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media asset. The ID can be the video ID or audio ID. Separate IDs with commas (,). You can specify a maximum of 20 IDs. You can use one of the following methods to obtain the ID of the media asset:'."\n" + ."\n" + .'* Log on to the ApsaraVideo VOD console. In the left-side navigation pane, choose Media Files > Audio/Video. On the Video and Audio page, view the ID of the media asset. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the CreateUploadVideo operation that you call to upload media assets.'."\n" + .'* Obtain the value of VideoId from the response to the SearchMedia operation that you call to query the media ID after the media asset is uploaded.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => false, + 'example' => '61ccbdb06fa83012be4d8083f6****,7d2fbc380b0e08e55f****', + ], + ], + [ + 'name' => 'ReferenceIds', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。', + 'type' => 'string', + 'example' => '123-123,1234-1234', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9E290613-04F4-47F4-795D30732077****', + ], + 'NonExistMediaIds' => [ + 'description' => 'The IDs of the media assets that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the media assets that do not exist.'."\n", + 'type' => 'string', + 'example' => '["bbc65bba53f6ed90de118a7849****"]', + ], + ], + 'NonExistReferenceIds' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'array', + 'items' => [ + 'title' => '不存在的自定义 ID 列表。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + 'ForbiddenMediaIds' => [ + 'description' => 'The IDs of the media assets that do not support the operation typically because you are not authorized to perform the operation. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the media asset that does not support the operation typically because you are not authorized to perform the operations. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'example' => '["bbc65bba53f6ed90de118a7849****"]', + ], + ], + 'MediaInfos' => [ + 'description' => 'Details about media assets.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about a media asset.'."\n", + 'type' => 'object', + 'properties' => [ + 'MediaId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '10a5fa364a5b71ef89246733a78e****', + ], + 'MediaInfo' => [ + 'description' => 'The basic information of the media asset.'."\n", + 'type' => 'object', + 'properties' => [ + 'StorageLocation' => [ + 'description' => 'The storage address of the media asset.'."\n", + 'type' => 'string', + 'example' => 'outin-***.oss-cn-shanghai.aliyuncs.com', + ], + 'CreationTime' => [ + 'description' => 'The time when the media asset was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-14T09:15:50Z', + ], + 'Status' => [ + 'description' => 'The status of the video. Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **UploadFail**'."\n" + .'* **UploadSucc**'."\n" + .'* **Transcoding**'."\n" + .'* **TranscodeFail**'."\n" + .'* **Blocked**'."\n" + .'* **Normal**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '781111****', + ], + 'MediaId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '7753d144efd74d6c45fe0570****', + ], + 'DownloadSwitch' => [ + 'description' => 'Indicates whether the offline download feature is enabled. If you enable the offline download feature, users can download and play videos by using the ApsaraVideo Player on a local PC. For more information, see [Configure download settings](~~86107~~). Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'Tags' => [ + 'description' => 'The tags of the media asset. Separate tags with commas (,).'."\n", + 'type' => 'string', + 'example' => 'tag1,tag2', + ], + 'ModificationTime' => [ + 'description' => 'The time when the media asset was last updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-06-26T06:38:48Z', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'CateName', + ], + 'Description' => [ + 'description' => 'The description of the media asset.'."\n", + 'type' => 'string', + 'example' => 'Aliyun VOD Video Description', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the media asset.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/****.jpg', + ], + 'TemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => 'b4039216985f4312a5382a4ed****', + ], + 'Title' => [ + 'description' => 'The title of the media asset.'."\n", + 'type' => 'string', + 'example' => 'Aliyun VOD Video Title', + ], + 'Snapshots' => [ + 'description' => 'The array of video snapshot URLs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The video snapshot URL.'."\n" + ."\n" + .'> Only information about the thumbnail snapshot is returned. To obtain information about normal, sprite, source sprite, WebVTT snapshots, call the [ListSnapshots](~~ListSnapshots~~) operation. For more information, see [Video snapshots](~~99368~~).'."\n", + 'type' => 'string', + 'example' => '["http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****","http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****",...]', + ], + ], + 'StorageClass' => [ + 'description' => 'The storage type. Valid values:'."\n" + ."\n" + .'* **Standard**: All media assets are stored as Standard objects.'."\n" + .'* **IA**: All media assets are stored as IA objects.'."\n" + .'* **Archive**: All media assets are stored as Archive objects.'."\n" + .'* **ColdArchive**: All media assets are stored as Cold Archive objects.'."\n" + .'* **SourceIA**: Only the source files are IA objects.'."\n" + .'* **SourceArchive**: Only the source files are Archive objects.'."\n" + .'* **SourceColdArchive**: Only the source file is stored as a Cold Archive object.'."\n" + .'* **Changing**: The storage class of the media asset is being changed.'."\n" + .'* **SourceChanging**: The storage class of the media asset is being changed.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'RestoreStatus' => [ + 'description' => 'The restoration status of the media asset. Valid values:'."\n" + ."\n" + .'* **Processing**'."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'RestoreExpiration' => [ + 'description' => 'The period of time in which the audio file remains in the restored state.'."\n", + 'type' => 'string', + 'example' => '2023-03-30T10:14:14Z', + ], + 'UserData' => [ + 'description' => 'The custom parameters.'."\n", + 'type' => 'string', + 'example' => '{"Extend":"xxx","MessageCallback":"xxx"}', + ], + 'ReferenceId' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'MezzanineInfo' => [ + 'description' => 'The source file information.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the source file was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-14T09:15:50Z', + ], + 'Status' => [ + 'description' => 'The state of the file. Valid values:'."\n" + ."\n" + .'* **Uploading**: The file is being uploaded. This is the initial status.'."\n" + .'* **Normal**: The file is uploaded.'."\n" + .'* **UploadFail**: The file failed to be uploaded.'."\n" + .'* **Deleted**: The file is deleted.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'FileURL' => [ + 'description' => 'The OSS URL of the source file.'."\n", + 'type' => 'string', + 'example' => 'http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/27ffc438-164h67f57ef-0005-6884-51a-1****.mp4', + ], + 'MediaId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '1f1a6fc03ca04814031b8a6559e****', + ], + 'Height' => [ + 'description' => 'The height of the file. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '540', + ], + 'Bitrate' => [ + 'description' => 'The bitrate of the file. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '771.2280', + ], + 'FileName' => [ + 'description' => 'The name of the file.'."\n", + 'type' => 'string', + 'example' => '27ffc438-164h67f57ef-0005-6884-51a-1****.mp4'."\n", + ], + 'Width' => [ + 'description' => 'The width of the file. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '960', + ], + 'Size' => [ + 'description' => 'The size of the file. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4096477', + ], + 'Duration' => [ + 'description' => 'The duration of the file. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '42.4930', + ], + 'Fps' => [ + 'description' => 'The frame rate of the file.'."\n", + 'type' => 'string', + 'example' => '25.0000', + ], + 'AudioStreamList' => [ + 'description' => 'The information about the audio stream.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the audio stream.'."\n", + 'type' => 'object', + 'properties' => [ + 'Index' => [ + 'description' => 'The sequence number of the audio stream. The value indicates the position of the audio stream in all audio streams.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Timebase' => [ + 'description' => 'The time base.'."\n", + 'type' => 'string', + 'example' => '0.000000', + ], + 'SampleFmt' => [ + 'description' => 'The sampling format.'."\n", + 'type' => 'string', + 'example' => 'fltp', + ], + 'SampleRate' => [ + 'description' => 'The sampling rate.'."\n", + 'type' => 'string', + 'example' => '44100', + ], + 'ChannelLayout' => [ + 'description' => 'The output layout of the audio channels. Valid values:'."\n" + ."\n" + .'* **mono**'."\n" + .'* **stereo**'."\n", + 'type' => 'string', + 'example' => 'mono', + ], + 'Lang' => [ + 'description' => 'The language.'."\n", + 'type' => 'string', + 'example' => 'und', + ], + 'CodecLongName' => [ + 'description' => 'The full name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'AAC (Advanced Audio Coding)'."\n", + ], + 'Channels' => [ + 'description' => 'The number of sound tracks.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'NumFrames' => [ + 'description' => 'The total number of frames.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'Bitrate' => [ + 'description' => 'The bitrate.'."\n", + 'type' => 'string', + 'example' => '62.885', + ], + 'CodecTagString' => [ + 'description' => 'The tag string of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'mp4a', + ], + 'StartTime' => [ + 'description' => 'The start time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'CodecName' => [ + 'description' => 'The short name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'aac', + ], + 'Duration' => [ + 'description' => 'The duration.'."\n", + 'type' => 'string', + 'example' => '3.227574', + ], + 'CodecTag' => [ + 'description' => 'The tag of the encoding format.'."\n", + 'type' => 'string', + 'example' => '0x6134706d', + ], + 'CodecTimeBase' => [ + 'description' => 'The time base of the encoder.'."\n", + 'type' => 'string', + 'example' => '1/44100', + ], + ], + ], + ], + 'VideoStreamList' => [ + 'description' => 'The information about the video streams.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the video stream.'."\n", + 'type' => 'object', + 'properties' => [ + 'Timebase' => [ + 'description' => 'The time base.'."\n", + 'type' => 'string', + 'example' => '0.000000', + ], + 'Index' => [ + 'description' => 'The sequence number of the video stream. The value identifies the position of the video stream in all video streams.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'AvgFPS' => [ + 'description' => 'The average frame rate.'."\n", + 'type' => 'string', + 'example' => '30.0', + ], + 'PixFmt' => [ + 'description' => 'The pixel format of the video stream.'."\n", + 'type' => 'string', + 'example' => 'yuv420p', + ], + 'Lang' => [ + 'description' => 'The language.'."\n", + 'type' => 'string', + 'example' => 'und', + ], + 'Sar' => [ + 'description' => 'The sample aspect ratio (SAR).'."\n", + 'type' => 'string', + 'example' => '0:1', + ], + 'Height' => [ + 'description' => 'The height of the video stream.'."\n", + 'type' => 'string', + 'example' => '320', + ], + 'CodecLongName' => [ + 'description' => 'The full name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10', + ], + 'NumFrames' => [ + 'description' => 'The total number of frames.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Bitrate' => [ + 'description' => 'The bitrate of the file. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'Rotate' => [ + 'description' => 'The rotation angle of the video. Valid values: \\[0,360).'."\n", + 'type' => 'string', + 'example' => '90', + ], + 'CodecTagString' => [ + 'description' => 'The tag string of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'avc1', + ], + 'HasBFrames' => [ + 'description' => 'Indicates whether the video stream contains bidirectional frames (B-frames).'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Profile' => [ + 'description' => 'The codec profile.'."\n", + 'type' => 'string', + 'example' => 'Main', + ], + 'StartTime' => [ + 'description' => 'The start time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'Dar' => [ + 'description' => 'The display aspect ratio (DAR).'."\n", + 'type' => 'string', + 'example' => '0:1', + ], + 'CodecName' => [ + 'description' => 'The short name of the encoding format.'."\n", + 'type' => 'string', + 'example' => 'h264', + ], + 'Width' => [ + 'description' => 'The horizontal resolution of the video.'."\n", + 'type' => 'string', + 'example' => '568', + ], + 'Duration' => [ + 'description' => 'The duration.'."\n", + 'type' => 'string', + 'example' => '3.166667', + ], + 'Fps' => [ + 'description' => 'The frame rate of the output file.'."\n", + 'type' => 'string', + 'example' => '30.0', + ], + 'CodecTag' => [ + 'description' => 'The tag of the encoding format.'."\n", + 'type' => 'string', + 'example' => '0x31637661', + ], + 'CodecTimeBase' => [ + 'description' => 'The time base of the encoder.'."\n", + 'type' => 'string', + 'example' => '1/60', + ], + 'Level' => [ + 'description' => 'The codec level.'."\n", + 'type' => 'string', + 'example' => '30', + ], + 'HDRType' => [ + 'title' => '视频流HDR类型', + 'description' => 'The HDR type of the video stream.'."\n", + 'type' => 'string', + 'example' => 'HDR', + ], + ], + ], + ], + 'FileMD5' => [ + 'type' => 'string', + ], + ], + ], + 'PlayInfoList' => [ + 'description' => 'The information about the audio or video stream.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The audio or video details.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The creation time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-04-18T07:37:15Z'."\n", + ], + 'Status' => [ + 'description' => 'The status of the audio or video stream. Valid values:'."\n" + ."\n" + .'* **Normal**: The latest transcoded stream in each quality and format is in the Normal status.'."\n" + .'* **Invisible**: If multiple streams are transcoded in the same quality and format, the latest transcoded stream is in the Normal status and other streams are in the Invisible status.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'Specification' => [ + 'description' => 'The specifications of transcoded audio and video streams. For more information about the valid values, see [Output specifications](~~124671#section-6bv-l0g-opq~~).'."\n", + 'type' => 'string', + 'example' => 'H264.LD', + ], + 'NarrowBandType' => [ + 'description' => 'The transcoding type. Valid values:'."\n" + ."\n" + .'* **0**: regular transcoding'."\n" + .'* **1.0**: Narrowband HD™ 1.0 transcoding'."\n" + .'* **2.0**: Narrowband HD™ 2.0 transcoding'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Height' => [ + 'description' => 'The height of the media stream. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '640', + ], + 'Bitrate' => [ + 'description' => 'The bitrate of the media stream. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '450.878', + ], + 'ModificationTime' => [ + 'description' => 'The update time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-04-20T06:32:19Z', + ], + 'WatermarkId' => [ + 'description' => 'The ID of the watermark that is associated with the media stream.'."\n", + 'type' => 'string', + 'example' => 'dgfn26457856****', + ], + 'Encrypt' => [ + 'description' => 'Indicates whether the media stream was encrypted. Valid values:'."\n" + ."\n" + .'* **0**: The media stream is not encrypted.'."\n" + .'* **1**: The media stream is encrypted.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Definition' => [ + 'description' => 'The quality of the video stream. Valid values:'."\n" + ."\n" + .'* **FD**: low definition'."\n" + .'* **LD**: standard definition'."\n" + .'* **SD**: high definition'."\n" + .'* **HD**: ultra-high definition'."\n" + .'* **OD**: original definition'."\n" + .'* **2K**'."\n" + .'* **4K**'."\n" + .'* **SQ**: standard sound quality'."\n" + .'* **HQ**: high sound quality'."\n" + .'* **AUTO**: adaptive bitrate'."\n", + 'type' => 'string', + 'example' => 'LD', + ], + 'EncryptType' => [ + 'description' => 'The encryption type of the media stream. Valid values:'."\n" + ."\n" + .'* **AliyunVoDEncryption**: Alibaba Cloud proprietary cryptography'."\n" + .'* **HLSEncryption**: HTTP Live Streaming (HLS) encryption'."\n" + ."\n" + .'> If the encryption type is AliyunVoDEncryption, only ApsaraVideo Player SDK can be used to play videos.'."\n", + 'type' => 'string', + 'example' => 'AliyunVoDEncryption', + ], + 'EncryptMode' => [ + 'description' => 'The encryption type of the media stream. Valid values:'."\n" + ."\n" + .'* **License**: decryption on local devices.'."\n" + ."\n" + .'> If the encryption type is **License**, only ApsaraVideo Player SDK can be used to play videos.'."\n", + 'type' => 'string', + 'example' => 'License', + ], + 'StreamType' => [ + 'description' => 'The type of the media stream. If the media stream is a video stream, the value is **video**. If the media stream is an audio-only stream, the value is **audio**.'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'JobId' => [ + 'description' => 'The job ID for transcoding the media stream. This ID uniquely identifies a media stream.'."\n", + 'type' => 'string', + 'example' => '80e9c6580e754a798c3c19c59b16****', + ], + 'Size' => [ + 'description' => 'The size of the media stream. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '418112', + ], + 'Width' => [ + 'description' => 'The width of the media stream. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '360', + ], + 'Fps' => [ + 'description' => 'The frame rate of the media stream. Unit: frames per second (FPS).'."\n", + 'type' => 'string', + 'example' => '25', + ], + 'Duration' => [ + 'description' => 'The duration of the media stream. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '9.0464', + ], + 'PlayURL' => [ + 'description' => 'The playback URL of the video stream.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/d52ee123f331466aabf6ab32a93d****/a777f9e24e6e47a2a942467d5c38ea37-8ee8e04293c6657fdda282bc422704****.m3u8', + ], + 'Format' => [ + 'description' => 'The format of the media stream.'."\n" + ."\n" + .'* If the media file is a video file, the valid values are **mp4** and **m3u8**.'."\n" + .'* If the media asset is an audio-only file, the value is **mp3**.'."\n", + 'type' => 'string', + 'example' => 'm3u8', + ], + 'HDRType' => [ + 'title' => '视频流HDR类型', + 'description' => 'The HDR type of the media stream. Valid values:'."\n" + ."\n" + .'* HDR'."\n" + .'* HDR10'."\n" + .'* HLG'."\n" + .'* DolbyVision'."\n" + .'* HDRVivid'."\n" + .'* SDR+'."\n", + 'type' => 'string', + 'example' => 'HLG', + ], + 'BitDepth' => [ + 'title' => '颜色位深', + 'description' => 'The color depth. This value is an integer.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + ], + 'JobType' => [ + 'description' => 'The type of the digital watermark. Valid values:'."\n" + ."\n" + .'* **1**: user-tracing watermark'."\n" + .'* **2**: copyright watermark'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'JobExt' => [ + 'description' => 'The custom watermark information of the copyright watermark. This parameter is returned if you set `JobType` to `2`.'."\n", + 'type' => 'string', + 'example' => 'CopyrightMarkTest', + ], + 'CodecName' => [ + 'description' => 'The short name of the codec.'."\n", + 'type' => 'string', + 'example' => 'h264', + ], + 'TemplateId' => [ + 'description' => 'The ID of the transcoding template.'."\n", + 'type' => 'string', + 'example' => 'a86a4338dd2e83da45154004a541****', + ], + 'TemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => 'fb0716154b21a4ecb5b70a26ccc8****', + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9E290613-04F4-47F4-795D30732077****\\",\\n \\"NonExistMediaIds\\": [\\n \\"[\\\\\\"bbc65bba53f6ed90de118a7849****\\\\\\"]\\"\\n ],\\n \\"NonExistReferenceIds\\": [\\n \\"123-123\\"\\n ],\\n \\"ForbiddenMediaIds\\": [\\n \\"[\\\\\\"bbc65bba53f6ed90de118a7849****\\\\\\"]\\"\\n ],\\n \\"MediaInfos\\": [\\n {\\n \\"MediaId\\": \\"10a5fa364a5b71ef89246733a78e****\\",\\n \\"MediaInfo\\": {\\n \\"StorageLocation\\": \\"outin-***.oss-cn-shanghai.aliyuncs.com\\",\\n \\"CreationTime\\": \\"2017-11-14T09:15:50Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CateId\\": 0,\\n \\"MediaId\\": \\"7753d144efd74d6c45fe0570****\\",\\n \\"DownloadSwitch\\": \\"on\\",\\n \\"Tags\\": \\"tag1, tag2\\",\\n \\"ModificationTime\\": \\"2017-06-26T06:38:48Z\\",\\n \\"CateName\\": \\"cate1\\",\\n \\"Description\\": \\"Alibaba Cloud VOD video description\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"CoverURL\\": \\"https://example.aliyundoc.com/****.jpg\\",\\n \\"TemplateGroupId\\": \\"b4039216985f4312a5382a4ed****\\",\\n \\"Title\\": \\"Alibaba Cloud VOD Video Title\\",\\n \\"Snapshots\\": [\\n \\"[\\\\\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****\\\\\\",\\\\\\"http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27243****\\\\\\",...]\\"\\n ],\\n \\"StorageClass\\": \\"Standard\\",\\n \\"RestoreStatus\\": \\"Success\\",\\n \\"RestoreExpiration\\": \\"2023-03-30T10:14:14Z\\",\\n \\"UserData\\": \\"{\\\\\\"Extend\\\\\\":\\\\\\"xxx\\\\\\",\\\\\\"MessageCallback\\\\\\":\\\\\\"xxx\\\\\\"}\\",\\n \\"ReferenceId\\": \\"123-123\\"\\n },\\n \\"MezzanineInfo\\": {\\n \\"CreationTime\\": \\"2017-11-14T09:15:50Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"FileURL\\": \\"http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/27ffc438-164h67f57ef-0005-6884-51a-1****.mp4\\",\\n \\"MediaId\\": \\"1f1a6fc03ca04814031b8a6559e****\\",\\n \\"Height\\": 540,\\n \\"Bitrate\\": \\"771.2280\\",\\n \\"FileName\\": \\"27ffc438-164h67f57ef-0005-6884-51a-1****.mp4\\\\n\\",\\n \\"Width\\": 960,\\n \\"Size\\": 4096477,\\n \\"Duration\\": \\"42.4930\\",\\n \\"Fps\\": \\"25.0000\\",\\n \\"AudioStreamList\\": [\\n {\\n \\"Index\\": \\"0\\",\\n \\"Timebase\\": \\"0.000000\\",\\n \\"SampleFmt\\": \\"fltp\\",\\n \\"SampleRate\\": \\"44100\\",\\n \\"ChannelLayout\\": \\"mono\\",\\n \\"Lang\\": \\"und\\",\\n \\"CodecLongName\\": \\"AAC (Advanced Audio Coding)\\\\n\\",\\n \\"Channels\\": \\"1\\",\\n \\"NumFrames\\": \\"1\\",\\n \\"Bitrate\\": \\"62.885\\",\\n \\"CodecTagString\\": \\"mp4a\\",\\n \\"StartTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"CodecName\\": \\"aac\\",\\n \\"Duration\\": \\"3.227574\\",\\n \\"CodecTag\\": \\"0x6134706d\\",\\n \\"CodecTimeBase\\": \\"1/44100\\"\\n }\\n ],\\n \\"VideoStreamList\\": [\\n {\\n \\"Timebase\\": \\"0.000000\\",\\n \\"Index\\": \\"1\\",\\n \\"AvgFPS\\": \\"30.0\\",\\n \\"PixFmt\\": \\"yuv420p\\",\\n \\"Lang\\": \\"und\\",\\n \\"Sar\\": \\"0:1\\",\\n \\"Height\\": \\"320\\",\\n \\"CodecLongName\\": \\"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\\",\\n \\"NumFrames\\": \\"0\\",\\n \\"Bitrate\\": \\"500\\",\\n \\"Rotate\\": \\"90\\",\\n \\"CodecTagString\\": \\"avc1\\",\\n \\"HasBFrames\\": \\"0\\",\\n \\"Profile\\": \\"Main\\",\\n \\"StartTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"Dar\\": \\"0:1\\",\\n \\"CodecName\\": \\"h264\\",\\n \\"Width\\": \\"568\\",\\n \\"Duration\\": \\"3.166667\\",\\n \\"Fps\\": \\"30.0\\",\\n \\"CodecTag\\": \\"0x31637661\\",\\n \\"CodecTimeBase\\": \\"1/60\\",\\n \\"Level\\": \\"30\\",\\n \\"HDRType\\": \\"HDR\\"\\n }\\n ],\\n \\"FileMD5\\": \\"\\"\\n },\\n \\"PlayInfoList\\": [\\n {\\n \\"CreationTime\\": \\"2022-04-18T07:37:15Z\\\\n\\",\\n \\"Status\\": \\"Normal\\",\\n \\"Specification\\": \\"H264.LD\\",\\n \\"NarrowBandType\\": \\"0\\",\\n \\"Height\\": 640,\\n \\"Bitrate\\": \\"450.878\\",\\n \\"ModificationTime\\": \\"2022-04-20T06:32:19Z\\",\\n \\"WatermarkId\\": \\"dgfn26457856****\\",\\n \\"Encrypt\\": 1,\\n \\"Definition\\": \\"LD\\",\\n \\"EncryptType\\": \\"AliyunVoDEncryption\\",\\n \\"EncryptMode\\": \\"License\\",\\n \\"StreamType\\": \\"video\\",\\n \\"JobId\\": \\"80e9c6580e754a798c3c19c59b16****\\",\\n \\"Size\\": 418112,\\n \\"Width\\": 360,\\n \\"Fps\\": \\"25\\",\\n \\"Duration\\": \\"9.0464\\",\\n \\"PlayURL\\": \\"https://example.aliyundoc.com/d52ee123f331466aabf6ab32a93d****/a777f9e24e6e47a2a942467d5c38ea37-8ee8e04293c6657fdda282bc422704****.m3u8\\",\\n \\"Format\\": \\"m3u8\\",\\n \\"HDRType\\": \\"HLG\\",\\n \\"BitDepth\\": 8,\\n \\"JobType\\": 2,\\n \\"JobExt\\": \\"CopyrightMarkTest\\",\\n \\"CodecName\\": \\"h264\\",\\n \\"TemplateId\\": \\"a86a4338dd2e83da45154004a541****\\",\\n \\"TemplateGroupId\\": \\"fb0716154b21a4ecb5b70a26ccc8****\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'BatchGetMediaInfos', + 'description' => '* You can specify up to 20 audio or video file IDs in each request.'."\n" + .'* After a media file is uploaded, ApsaraVideo VOD processes the source file. Then, information about the media file is asynchronously generated. You can configure notifications for the [VideoAnalysisComplete](~~99935~~) event and call this operation to query information about a media file after you receive notifications for the [VideoAnalysisComplete](~~99935~~) event. For more information, see [Overview](~~55627~~).'."\n", + ], + 'DescribeMediaDistribution' => [ + 'summary' => 'Queries the distribution of media asset data by time. The maximum time range to query is 6 months.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'abilityTreeCode' => '254961', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The maximum time range to query is 6 months.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T12:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The maximum time range to query is 6 months.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T12:59:00Z', + ], + ], + [ + 'name' => 'StorageClass', + 'in' => 'query', + 'schema' => [ + 'description' => 'The hierarchical storage type. Valid values:'."\n" + ."\n" + .'* Standard'."\n" + .'* IA'."\n" + .'* Archive'."\n" + .'* ColdArchive'."\n" + .'* SourceIA'."\n" + .'* SourceArchive'."\n" + .'* SourceColdArchive'."\n" + .'* Changing'."\n" + .'* SourceChanging'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The statistical interval. Default value: day. Valid values:'."\n" + ."\n" + .'* hour: natural hour of the start and end time.'."\n" + .'* day: natural day of the start and end time.'."\n" + .'* week: natural week of the start and end time.'."\n" + .'* month: natural month of the start and end time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'day', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'Total' => [ + 'description' => 'The total number of media assets returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'MediaDistributionList' => [ + 'description' => 'The distribution list of media assets. The data is displayed based on the statistical cycle of the natural hour, day, week, or month of the start and end time.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The distribution of media assets. This parameter is empty if no data is found.'."\n", + 'type' => 'object', + 'properties' => [ + 'StartTime' => [ + 'description' => 'The start of the time range during which data is queried (inclusive). The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-13T00:00:00Z', + ], + 'EndTime' => [ + 'description' => 'The end of the time range during which data is queried (exclusive). The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-14T00:00:00Z', + ], + 'Count' => [ + 'description' => 'The number of media assets that are queried during the specified time range.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"Total\\": 100,\\n \\"MediaDistributionList\\": [\\n {\\n \\"StartTime\\": \\"2017-11-13T00:00:00Z\\",\\n \\"EndTime\\": \\"2017-11-14T00:00:00Z\\",\\n \\"Count\\": 12\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeMediaDistribution', + 'description' => '* This operation is available only in the China (Shanghai) region.'."\n" + .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the previous 7 days. If you set both the parameters, the request returns the data collected within the specified time range.'."\n", + ], + 'GetAttachedMediaInfo' => [ + 'summary' => 'Queries the URL and basic information about one or more auxiliary media assets such as watermark images, subtitle files, and materials based on IDs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39939', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the auxiliary media asset.'."\n" + ."\n" + .'* Separate multiple IDs with commas (,). You can specify up to 20 IDs.'."\n" + .'* You can obtain the ID from the response to the [CreateUploadAttachedMedia](~~CreateUploadAttachedMedia~~) operation that you call to obtain the upload URL and credential.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'eb1861d2c9a842340e989dd56****,0222e203cf80f9c22870a4d2c****', + ], + ], + [ + 'name' => 'AuthTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The validity period of the URL. Unit: seconds.'."\n" + ."\n" + .'* If you set the OutputType parameter to **cdn**:'."\n" + ."\n" + .' * The URL of the auxiliary media asset has a validity period only if URL signing is enabled. Otherwise, the URL of the auxiliary media asset is permanently valid.'."\n" + .' * Minimum value: **1**.'."\n" + .' * Maximum value: unlimited.'."\n" + .' * Default value: If you do not set this parameter, the default validity period that is specified in URL signing is used.'."\n" + ."\n" + .'* If you set the OutputType parameter to **oss**:'."\n" + ."\n" + .' * The URL of the auxiliary media asset has a validity period only if the permissions on the Object Storage Service (OSS) bucket are private. Otherwise, the URL of the auxiliary media asset is permanently valid.'."\n" + .' * Minimum value: **1**.'."\n" + .' * The maximum value for a media asset stored in the VOD bucket is **2592000** (30 days) and the maximum value for a media asset stored in an OSS bucket is **129600** (36 hours). The maximum value is limited to reduce security risks of the origin.'."\n" + .' * Default value: If you do not set this parameter, the default value **3600** is used.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3600', + ], + ], + [ + 'name' => 'OutputType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the media asset URL. Valid values:'."\n" + ."\n" + .'* **oss**'."\n" + .'* **cdn** (default)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'oss', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '221BCB57-B217-42BF-619BD13378F9****', + ], + 'NonExistMediaIds' => [ + 'description' => 'The IDs of the auxiliary media assets that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the auxiliary media assets that does not exist.'."\n", + 'type' => 'string', + 'example' => 'eb1861d2c9a842340e989dd56****', + ], + ], + 'AttachedMediaList' => [ + 'description' => 'The information about the media assets.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the auxiliary media asset.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the auxiliary media asset.'."\n" + ."\n" + .'* **watermark**'."\n" + .'* **subtitle**'."\n" + .'* **material**'."\n", + 'type' => 'string', + 'example' => 'subtitle', + ], + 'StorageLocation' => [ + 'description' => 'The storage address of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'outin-bfefbb9*****c7426.oss-cn-shanghai.aliyuncs.com', + ], + 'CreationTime' => [ + 'description' => 'The time when the auxiliary media asset was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-01T10:00:00Z', + ], + 'Status' => [ + 'description' => 'The status of the auxiliary media asset. Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **Normal**'."\n" + .'* **UploadFail**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'Tags' => [ + 'description' => 'The tags of the auxiliary media asset.'."\n" + ."\n" + .'> This parameter is returned only when tags are specified for the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'tag1,tag2', + ], + 'ModificationTime' => [ + 'description' => 'The time when the auxiliary media asset was last updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-05-31T11:42:20Z', + ], + 'MediaId' => [ + 'description' => 'The ID of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => '0222e203cf80f9c22870a4d2c****', + ], + 'Description' => [ + 'description' => 'The description of the auxiliary media asset.'."\n" + ."\n" + .'> This parameter is returned only when a description is specified for the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'description test', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-*****', + ], + 'URL' => [ + 'description' => 'The URL of the auxiliary media asset.'."\n" + ."\n" + .'> If a CDN domain name is specified, a CDN URL is returned. Otherwise, an OSS URL is returned.'."\n", + 'type' => 'string', + 'example' => 'https://al*****.cn/subtitle/9843C2*****4E186F19B6.vtt?auth_key=159099f60e0b7fd59****', + ], + 'Title' => [ + 'description' => 'The title of the auxiliary media asset.'."\n", + 'type' => 'string', + 'example' => 'subtitle test', + ], + 'Categories' => [ + 'description' => 'The categories.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the category.'."\n", + 'type' => 'object', + 'properties' => [ + 'ParentId' => [ + 'description' => 'The ID of the parent category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000224336', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'category test', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000224338', + ], + 'Level' => [ + 'description' => 'The level of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"221BCB57-B217-42BF-619BD13378F9****\\",\\n \\"NonExistMediaIds\\": [\\n \\"eb1861d2c9a842340e989dd56****\\"\\n ],\\n \\"AttachedMediaList\\": [\\n {\\n \\"Type\\": \\"subtitle\\",\\n \\"StorageLocation\\": \\"outin-bfefbb9*****c7426.oss-cn-shanghai.aliyuncs.com\\",\\n \\"CreationTime\\": \\"2019-01-01T10:00:00Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"Tags\\": \\"tag1,tag2\\",\\n \\"ModificationTime\\": \\"2020-05-31T11:42:20Z\\",\\n \\"MediaId\\": \\"0222e203cf80f9c22870a4d2c****\\",\\n \\"Description\\": \\"描述测试\\",\\n \\"AppId\\": \\"app-*****\\",\\n \\"URL\\": \\"https://al*****.cn/subtitle/9843C2*****4E186F19B6.vtt?auth_key=159099f60e0b7fd59****\\",\\n \\"Title\\": \\"字幕测试\\",\\n \\"Categories\\": [\\n {\\n \\"ParentId\\": 1000224336,\\n \\"CateName\\": \\"测试\\",\\n \\"CateId\\": 1000224338,\\n \\"Level\\": 0\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetAttachedMediaInfoResponse>\\n <RequestId>221BCB57-B217-42BF-619BD13378F9****</RequestId>\\n <NonExistMediaIds>eb1861d2c9a842340e989dd56****</NonExistMediaIds>\\n <AttachedMediaList>\\n <Type>subtitle</Type>\\n <StorageLocation>outin-bfefbb9*****c7426.oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <CreationTime>2019-01-01T10:00:00Z</CreationTime>\\n <Status>Normal</Status>\\n <Tags>tag1,tag2</Tags>\\n <ModificationTime>2020-05-31T11:42:20Z</ModificationTime>\\n <MediaId>0222e203cf80f9c22870a4d2c****</MediaId>\\n <Description>描述测试</Description>\\n <AppId>app-*****</AppId>\\n <URL>https://al*****.cn/subtitle/9843C2*****4E186F19B6.vtt?auth_key=159099f60e0b7fd59****</URL>\\n <Title>字幕测试</Title>\\n <Categories>\\n <ParentId>1000224336</ParentId>\\n <CateName>测试</CateName>\\n <CateId>1000224338</CateId>\\n <Level>0</Level>\\n </Categories>\\n </AttachedMediaList>\\n</GetAttachedMediaInfoResponse>","errorExample":""}]', + 'title' => 'GetAttachedMediaInfo', + 'description' => 'You can query information about up to 20 auxiliary media assets in a request.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => 'The ID of the auxiliary media asset.', + ], + 'UpdateAttachedMediaInfos' => [ + 'summary' => 'Modifies the information about multiple auxiliary media assets at a time. After you upload auxiliary media assets, such as images that contain watermarks, subtitle files, or other materials, to ApsaraVideo VOD, you can call this operation to update their titles, descriptions, tags, and categories at a time based on the unique identifiers (IDs) of the auxiliary media assets.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40211', + 'abilityTreeNodes' => [ + 'FEATUREvod7B2GUR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'UpdateContent', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new information about the one or more images. You can modify the information about up to 20 auxiliary media assets at a time. For more information, see the **UpdateContent** section of this topic.'."\n" + ."\n" + .'> * You cannot specify emojis for `Title`, `Description`, or `Tags`.'."\n" + .'> * The specific parameter of a video is updated only when a new value is passed in the parameter.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '[{"MediaId ":"bbc65bba53f6ed90de118a7849****","Title":" test title1","Description":"test description1","Tags":"tag1,tag2"},{"MediaId ":"f45cf4eba5cb90233389558c39****","Title2":"test title2","Description2":"test description2","Tags":"tag3,tag4"}]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4DF6-D7393642CA58****', + ], + 'NonExistMediaIds' => [ + 'description' => 'The IDs of the auxiliary media assets that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the auxiliary media assets that does not exist.'."\n", + 'type' => 'string', + 'example' => '["bbc65bba53f6ed90de118a7849****"]', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4DF6-D7393642CA58****\\",\\n \\"NonExistMediaIds\\": [\\n \\"[\\\\\\"bbc65bba53f6ed90de118a7849****\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UpdateAttachedMediaInfosResponse>\\n <RequestId>25818875-5F78-4DF6-D7393642CA58****</RequestId>\\n <NonExistMediaIds>[\\"bbc65bba53f6ed90de118a7849****\\"]</NonExistMediaIds>\\n</UpdateAttachedMediaInfosResponse>","errorExample":""}]', + 'title' => 'UpdateAttachedMediaInfos', + 'description' => 'You can modify the information about up to 20 auxiliary media assets at a time.'."\n", + 'requestParamsDescription' => '## UpdateContent'."\n" + ."\n" + .'**Note** You must convert the UpdateContent parameter to a string before you pass it in.'."\n" + ."\n" + .'|Parameter|Type|Required|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|MediaId|String|Yes|The ID of the auxiliary media asset. You can obtain the ID from the response to the [CreateUploadAttachedMedia](~~CreateUploadAttachedMedia~~) operation.|'."\n" + .'|Title|String|No|The title. The title cannot exceed 128 bytes. The value must be encoded in UTF-8.|'."\n" + .'|Description|String|No|The description. The description can be up to 1,024 bytes in length. The value must be encoded in UTF-8.|'."\n" + .'|Tags|String|No|The tags. Each tag can be up to 32 bytes in length. You can specify up to 16 tags. Separate multiple tags with commas (,). The value must be encoded in UTF-8.|'."\n" + .'|CateIds|String|No|The ID of the category. Separate multiple IDs with commas (,). You can obtain the ID by using one of the following methods:Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** >**Categories**. On the page that appears, view the category ID.Obtain the category ID from the response to the [AddCategory](~~AddCategory~~) operation that you call to create a category.Obtain the category ID from the response to the [GetCategories](~~GetCategories~~) operation that you call to query categories.|', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteAttachedMedia' => [ + 'summary' => 'Deletes auxiliary media assets from ApsaraVideo VOD. You can delete one or more auxiliary media assets such as watermark images, subtitle files, and materials in a batch.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39826', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the auxiliary media asset that you want to delete.'."\n" + ."\n" + .'* Separate multiple IDs with commas (,). You can specify up to 20 IDs.'."\n" + .'* You can obtain the ID from the response to the [CreateUploadAttachedMedia](~~CreateUploadAttachedMedia~~) operation that you call to obtain the upload URL and credential.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '8bc8e94fe4e55abde85718****,eb186180e989dd56****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'NonExistMediaIds' => [ + 'description' => 'The IDs of the auxiliary media assets that failed to be deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the auxiliary media asset that failed to be deleted.'."\n", + 'type' => 'string', + 'example' => '["8bc8e94fe4e55abde85718****"]', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"NonExistMediaIds\\": [\\n \\"[\\\\\\"8bc8e94fe4e55abde85718****\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DeleteAttachedMediaResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <NonExistMediaIds>[\\"8bc8e94fe4e55abde85718****\\"]</NonExistMediaIds>\\n</DeleteAttachedMediaResponse>","errorExample":""}]', + 'title' => 'DeleteAttachedMedia', + 'description' => '* **This operation physically deletes auxiliary media assets. You cannot recover the auxiliary media assets that you deleted. Exercise caution when you call this operation.**'."\n" + .'* You can delete a maximum of 20 auxiliary media assets in one request.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetImageInfo' => [ + 'summary' => 'Queries the basic information and URL of an image based on the image ID after you upload the image to ApsaraVideo VOD.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39955', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com/). In the left-side navigation pane, choose Media Files > Image. On the Image page, view the image ID.'."\n" + .'* Obtain the image ID from the response to the [CreateUploadImage](~~CreateUploadImage~~) operation that you call to obtain the upload URL and credential.'."\n" + .'* Obtain the image ID from the response to the [SearchMedia](~~SearchMedia~~) operation that you call to query the image.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '3e34733b40b9a96ccf5c1ff6f69****', + ], + ], + [ + 'name' => 'AuthTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the image URL expires. Unit: seconds.'."\n" + ."\n" + .'* If you set OutputType to cdn:'."\n" + ."\n" + .' * This parameter takes effect only if URL authentication is enabled. Otherwise, the image URL does not expire.'."\n" + .' * Minimum value: 1.'."\n" + .' * Maximum value: unlimited.'."\n" + .' * Default value: If you leave this parameter empty, the default validity period that is specified in URL signing is used.'."\n" + ."\n" + .'* If you set OutputType to oss:'."\n" + ."\n" + .' * This parameter takes effect only when the ACL of the Object Storage Service (OSS) bucket is private. Otherwise, the image URL does not expire.'."\n" + .' * Minimum value: 1.'."\n" + .' * If you store the image in the VOD bucket, the maximum value of this parameter is **2592000** (30 days). If you store the image in an OSS bucket, the maximum value of this parameter is **129600** (36 hours). The maximum value is limited to reduce security risks of the origin.'."\n" + .' * Default value: 3600.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3600', + ], + ], + [ + 'name' => 'OutputType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the output image URL. Valid values:'."\n" + ."\n" + .'* oss: OSS URL'."\n" + .'* cdn: CDN URL'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cdn', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'AB99D4DF-FAFA-49DC-9C548C1E261E****', + ], + 'ImageInfo' => [ + 'description' => 'The information about the image.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the image was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-21T02:37:23Z', + ], + 'StorageLocation' => [ + 'description' => 'The bucket in which the image is stored.'."\n", + 'type' => 'string', + 'example' => 'outin-****..oss-cn-shanghai.aliyuncs.com', + ], + 'Status' => [ + 'description' => 'The status of the image. Valid values:'."\n" + ."\n" + .'* **Uploading**: The image is being uploaded. This is the initial status.'."\n" + .'* **Normal**: The image is uploaded.'."\n" + .'* **UploadFail**: The image fails to be uploaded.'."\n", + 'type' => 'string', + 'example' => 'Uploading', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '254766071', + ], + 'Tags' => [ + 'description' => 'The tags of the image. Multiple tags are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'tag1,tag2,tag3', + ], + 'ImageType' => [ + 'description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* **CoverSnapshot**: thumbnail snapshot.'."\n" + .'* **NormalSnapshot**: normal snapshot.'."\n" + .'* **SpriteSnapshot**: sprite snapshot.'."\n" + .'* **SpriteOriginSnapshot**: sprite source snapshot.'."\n" + .'* **All**: images of all the preceding types. Multiple types other than All can return for this parameter. Multiple types are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'NormalSnapshot', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'test name', + ], + 'Description' => [ + 'description' => 'The description of the image.'."\n", + 'type' => 'string', + 'example' => 'test description', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'URL' => [ + 'description' => 'The image URL. If a domain name for CDN is specified, a CDN URL is returned. Otherwise, an OSS URL is returned.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/image/default/****.gif?auth_key=****', + ], + 'Title' => [ + 'description' => 'The title of the image.'."\n", + 'type' => 'string', + 'example' => 'this is a sample', + ], + 'ImageId' => [ + 'description' => 'The ID of the image.'."\n", + 'type' => 'string', + 'example' => 'bbc65bba53f9*****ed90de118a7849', + ], + 'Mezzanine' => [ + 'description' => 'The source information about the image.'."\n", + 'type' => 'object', + 'properties' => [ + 'FileURL' => [ + 'description' => 'The OSS URL of the image file.'."\n", + 'type' => 'string', + 'example' => 'https://outin-bfefbb*****163e1c7426.oss-cn-XXXXXXXX.aliyuncs.com/image/default/5E84CD536*****D4DAD.png?Expires=1590982353&OSSAccessKeyId=*****&Signature=ALPET74o*****c%3D', + ], + 'OriginalFileName' => [ + 'description' => 'The URL of the source file.'."\n", + 'type' => 'string', + 'example' => '****.gif', + ], + 'Width' => [ + 'description' => 'The width of the image. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'Height' => [ + 'description' => 'The height of the image. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'FileSize' => [ + 'description' => 'The size of the image. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '8932', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AB99D4DF-FAFA-49DC-9C548C1E261E****\\",\\n \\"ImageInfo\\": {\\n \\"CreationTime\\": \\"2018-11-21T02:37:23Z\\",\\n \\"StorageLocation\\": \\"outin-****..oss-cn-shanghai.aliyuncs.com\\",\\n \\"Status\\": \\"Uploading\\",\\n \\"CateId\\": 254766071,\\n \\"Tags\\": \\"tag1,tag2,tag3\\",\\n \\"ImageType\\": \\"default\\",\\n \\"CateName\\": \\"测试\\",\\n \\"Description\\": \\"测试描述\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"URL\\": \\"http://example.aliyundoc.com/image/default/****.gif?auth_key=****\\",\\n \\"Title\\": \\"this is a sample\\",\\n \\"ImageId\\": \\"bbc65bba53f9*****ed90de118a7849\\",\\n \\"Mezzanine\\": {\\n \\"FileURL\\": \\"https://outin-bfefbb*****163e1c7426.oss-cn-XXXXXXXX.aliyuncs.com/image/default/5E84CD536*****D4DAD.png?Expires=1590982353&OSSAccessKeyId=*****&Signature=ALPET74o*****c%3D\\",\\n \\"OriginalFileName\\": \\"****.gif\\",\\n \\"Width\\": 200,\\n \\"Height\\": 200,\\n \\"FileSize\\": \\"8932\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetImageInfoResponse>\\n <RequestId>AB99D4DF-FAFA-49DC-9C548C1E261E****</RequestId>\\n <ImageInfo>\\n <CreationTime>2018-11-21T02:37:23Z</CreationTime>\\n <StorageLocation>outin-****..oss-cn-shanghai.aliyuncs.com</StorageLocation>\\n <Status>Uploading</Status>\\n <CateId>254766071</CateId>\\n <Tags>tag1,tag2,tag3</Tags>\\n <ImageType>NormalSnapshot</ImageType>\\n <CateName>测试</CateName>\\n <Description>测试描述</Description>\\n <AppId>app-****</AppId>\\n <URL>http://example.aliyundoc.com/image/default/****.gif?auth_key=****</URL>\\n <Title>this is a sample</Title>\\n <ImageId>bbc65bba53f9*****ed90de118a7849</ImageId>\\n <Mezzanine>\\n <FileURL>https://outin-bfefbb*****163e1c7426.oss-cn-shanghai.aliyuncs.com/image/default/5E84CD536*****D4DAD.png?Expires=1590982353&OSSAccessKeyId=*****&Signature=ALPET74o*****c%3D</FileURL>\\n <OriginalFileName>****.gif</OriginalFileName>\\n <Width>200</Width>\\n <Height>200</Height>\\n <FileSize>8932</FileSize>\\n </Mezzanine>\\n </ImageInfo>\\n</GetImageInfoResponse>","errorExample":""}]', + 'title' => 'GetImageInfo', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| NoSuchResource | The specified resource does not exist. | 404 | The error message returned because the image does not exist. |', + ], + 'GetImageInfos' => [ + 'summary' => 'Queries the basic information about multiple images at a time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'ImageIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The image IDs. Separate multiple IDs with commas (,). You can specify up to 20 image IDs. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com/) and choose **Media Files > Images** in the left-side navigation pane.'."\n" + .'* Obtain the value of ImageId from the response to the CreateUploadImage operation that you call to obtain the upload URL and credential.'."\n" + .'* Obtain the value of ImageId from the response to the [SearchMedia](~~SearchMedia~~) operation after you upload images.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'bbc65bba53fed90de118a7849****,594228cdd14b4d069fc17a8c4a****', + ], + ], + [ + 'name' => 'AuthTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the image URL expires. Unit: seconds.'."\n" + ."\n" + .'* If the OutputType parameter is set to cdn:'."\n" + ."\n" + .' * This parameter takes effect only if URL authentication is enabled. Otherwise, the image URL does not expire.'."\n" + .' * Minimum value: 1.'."\n" + .' * Maximum value: unlimited.'."\n" + .' * Default value: The default validity period that is specified in URL authentication is used.'."\n" + ."\n" + .'* If the OutputType parameter is set to oss:'."\n" + ."\n" + .' * This parameter takes effect only when the ACL of the Object Storage Service (OSS) bucket is private. Otherwise, the image URL does not expire.'."\n" + .' * Minimum value: 1.'."\n" + .' * If you store the image in the VOD bucket, the maximum value of this parameter is **2592000** (30 days). If you store the image in an OSS bucket, the maximum value of this parameter is **129600** (36 hours). The maximum value is limited to reduce security risks of the origin.'."\n" + .' * Default value: 3600.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3600', + ], + ], + [ + 'name' => 'OutputType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the output image URL. Valid values:'."\n" + ."\n" + .'* oss: OSS URL'."\n" + .'* cdn: CDN URL'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cdn', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58*****', + ], + 'ImageInfo' => [ + 'description' => 'The image information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The image information.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the image was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-21T02:37:23Z', + ], + 'StorageLocation' => [ + 'description' => 'The bucket in which the image is stored.'."\n", + 'type' => 'string', + 'example' => 'outin-****..oss-cn-shanghai.aliyuncs.com', + ], + 'Status' => [ + 'description' => 'The status of the image file. Valid values:'."\n" + ."\n" + .'* **Uploading**: The image is being uploaded. This is the initial status.'."\n" + .'* **Normal**: The image is uploaded.'."\n" + .'* **UploadFail**: The image fails to be uploaded.'."\n", + 'type' => 'string', + 'example' => 'Uploading', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '254766071', + ], + 'Tags' => [ + 'description' => 'The tags of the image. Multiple tags are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'tag1,tag2,tag3', + ], + 'ImageType' => [ + 'description' => 'The type of the image. Valid values:'."\n" + ."\n" + .'* **default**: regular images'."\n" + .'* **cover**: video thumbnail'."\n", + 'type' => 'string', + 'example' => 'NormalSnapshot', + ], + 'CateName' => [ + 'description' => 'The name of the category.'."\n", + 'type' => 'string', + 'example' => 'Test'."\n", + ], + 'Description' => [ + 'description' => 'The description of the image.'."\n", + 'type' => 'string', + 'example' => 'Test description'."\n", + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'URL' => [ + 'description' => 'The image URL. If a domain name for CDN is specified, a CDN URL is returned. Otherwise, an OSS URL is returned.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/image/default/****.gif?auth_key=****', + ], + 'Title' => [ + 'description' => 'The title of the image.'."\n", + 'type' => 'string', + 'example' => 'this is a sample', + ], + 'ImageId' => [ + 'description' => 'The ID of the image.'."\n", + 'type' => 'string', + 'example' => 'bbc65bba53f9*****ed90de118a7849', + ], + 'Mezzanine' => [ + 'description' => 'The source information about the image.'."\n", + 'type' => 'object', + 'properties' => [ + 'FileURL' => [ + 'description' => 'The OSS URL of the image file.'."\n", + 'type' => 'string', + 'example' => 'https://outin-bfefbb*****163e1c7426.oss-cn-XXXXXXXX.aliyuncs.com/image/default/5E84CD536*****D4DAD.png?Expires=1590982353&OSSAccessKeyId=*****&Signature=ALPET74o*****c%3D', + ], + 'OriginalFileName' => [ + 'description' => 'The URL of the source file.'."\n", + 'type' => 'string', + 'example' => '****.gif', + ], + 'Width' => [ + 'description' => 'The width of the image. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'Height' => [ + 'description' => 'The height of the image. Unit: pixels.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'FileSize' => [ + 'description' => 'The size of the file to be uploaded. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '8932', + ], + ], + ], + ], + ], + ], + 'NonExistImageIds' => [ + 'description' => 'The IDs of the images that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the images that do not exist.'."\n", + 'type' => 'string', + 'example' => 'f45cf4eba5c80233389558c39****', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58*****\\",\\n \\"ImageInfo\\": [\\n {\\n \\"CreationTime\\": \\"2018-11-21T02:37:23Z\\",\\n \\"StorageLocation\\": \\"outin-****..oss-cn-shanghai.aliyuncs.com\\",\\n \\"Status\\": \\"Uploading\\",\\n \\"CateId\\": 254766071,\\n \\"Tags\\": \\"tag1,tag2,tag3\\",\\n \\"ImageType\\": \\"default\\",\\n \\"CateName\\": \\"测试\\",\\n \\"Description\\": \\"测试描述\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"URL\\": \\"http://example.aliyundoc.com/image/default/****.gif?auth_key=****\\",\\n \\"Title\\": \\"this is a sample\\",\\n \\"ImageId\\": \\"bbc65bba53f9*****ed90de118a7849\\",\\n \\"Mezzanine\\": {\\n \\"FileURL\\": \\"https://outin-bfefbb*****163e1c7426.oss-cn-XXXXXXXX.aliyuncs.com/image/default/5E84CD536*****D4DAD.png?Expires=1590982353&OSSAccessKeyId=*****&Signature=ALPET74o*****c%3D\\",\\n \\"OriginalFileName\\": \\"****.gif\\",\\n \\"Width\\": 200,\\n \\"Height\\": 200,\\n \\"FileSize\\": \\"8932\\"\\n }\\n }\\n ],\\n \\"NonExistImageIds\\": [\\n \\"f45cf4eba5c80233389558c39****\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetImageInfos', + 'description' => '* You can call the [CreateUploadImage](~~CreateUploadImage~~) operation to upload images to ApsaraVideo VOD and call this operation to query the basic information about multiple images at a time.'."\n" + .'* To query information about video snapshots, call the [ListSnapshots](~~ListSnapshots~~) operation.'."\n" + .'* You can specify up to 20 image IDs in one call.'."\n", + ], + 'UpdateImageInfos' => [ + 'summary' => 'Modifies the information about multiple images at a time. After you upload images to ApsaraVideo VOD, you can call this operation to update their titles, descriptions, tags, and categories at a time based on the IDs of the images.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40221', + 'abilityTreeNodes' => [ + 'FEATUREvod7B2GUR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'UpdateContent', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new information about the one or more images. You can modify the information about up to 20 images at a time. For more information about the parameter structure, see the **UpdateContent** section.'."\n" + ."\n" + .'> The values of the nested parameters Title, Description, and Tags under the UpdateContent parameter cannot contain emoticons.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '[{"ImageId":"ff8fe57e3461416c6a267a4e09****","Title":"test title","Description":"test description","Tags":"tag1,tag2"}]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'NonExistImageIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ImageId' => [ + 'description' => 'The IDs of the images that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the image that do not exist.'."\n", + 'type' => 'string', + 'example' => 'f45cf4eba5c80233389558c39****', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"NonExistImageIds\\": {\\n \\"ImageId\\": [\\n \\"f45cf4eba5c80233389558c39****\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateImageInfosResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <NonExistImageIds>f45cf4eba5c80233389558c39****</NonExistImageIds>\\n</UpdateImageInfosResponse>","errorExample":""}]', + 'title' => 'UpdateImageInfos', + 'description' => '* You can call this operation to modify information such as the title, tags, description, and category about images based on image IDs. You must pass in the parameters that you want to modify. Otherwise, parameter configurations are not overwritten.'."\n" + .'* You can modify the information about up to 20 images at a time.'."\n", + 'requestParamsDescription' => '## UpdateContent'."\n" + ."\n" + .'**Note** You must convert the UpdateContent parameter to a string before you pass it in.'."\n" + ."\n" + .'|Parameter|Type|Required|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|ImageId|String|Yes|The ID of the image. You can obtain the ID by using one of the following methods:Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Image** to view the image ID.Obtain the image ID from the response to the [CreateUploadImage](~~CreateUploadImage~~) operation that you call to obtain the upload URL and credential.Obtain the image ID from the response to the [SearchMedia](~~SearchMedia~~) operation that you call to query images.|'."\n" + .'|Title|String|No|The title of the image. The title cannot exceed 128 bytes. The title must be encoded in UTF-8.|'."\n" + .'|Description|String|No|The description of the image. The description can be up to 1,024 bytes in length. The description must be encoded in UTF-8.|'."\n" + .'|Tags|String|No|The tags of the image. Each tag can be up to 32 bytes in length. You can specify up to 16 tags. Separate multiple tags with commas (,). The value must be encoded in UTF-8.|'."\n" + .'|CateId|Long|No|The ID of the category. To obtain the category ID, perform the following steps:Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Management** > **Categories**.Obtain the category ID from the response to the [AddCategory](~~AddCategory~~) operation that you call to create a category.Obtain the category ID from the response to the [GetCategories](~~GetCategories~~) operation that you call to query categories.|', + 'responseParamsDescription' => ' ', + ], + 'ListSnapshots' => [ + 'summary' => 'Queries snapshots that were captured by submitting snapshot jobs or the thumbnail that was generated by the system when you uploaded a video.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40067', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video** to view the video ID.'."\n" + .'* Obtain the video ID from the response to the [CreateUploadVideo](~~CreateUploadVideo~~) operation that you call to obtain the upload URL and credential.'."\n" + .'* Obtain the video ID from the response to the [SearchMedia](~~SearchMedia~~) operation that you call to query videos.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd3e680e618708fbf2cae7cc931****', + ], + ], + [ + 'name' => 'SnapshotType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of snapshots to return. Valid values:'."\n" + ."\n" + .'* **CoverSnapshot**: thumbnail snapshot'."\n" + .'* **NormalSnapshot**: regular snapshot'."\n" + .'* **SpriteSnapshot**: sprite snapshot'."\n" + .'* **SpriteOriginSnapshot**: sprite source snapshot'."\n" + .'* **WebVttSnapshot**: WebVTT snapshot'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CoverSnapshot', + ], + ], + [ + 'name' => 'AuthTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The validity period of the snapshot URL. Default value: **3600**. Minimum value: **3600**. Unit: seconds.'."\n" + ."\n" + .'* This parameter takes effect only when you enable URL signing. For more information, see [Configure URL signing](~~57007~~).'."\n" + .'* If you specify a value smaller than **3,600 seconds**, **3600** is used by default.'."\n" + .'* If the snapshot URL is an Object Storage Service (OSS) URL, the maximum value for this parameter is **2592000** (30 days). This reduces risks on the origin.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '3600', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **20**. Maximum value: **100**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'MediaSnapshot' => [ + 'description' => 'The information about the snapshot.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the snapshot job was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-12-20T12:23:45Z', + ], + 'Regular' => [ + 'description' => 'The rule used to generate snapshot URLs.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/snapshot/sample{SnapshotCount}.jpg', + ], + 'Total' => [ + 'description' => 'The total number of snapshots.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'JobId' => [ + 'description' => 'The ID of the snapshot job.'."\n", + 'type' => 'string', + 'example' => 'ad90a501b1b9472374ad005046****', + ], + 'Snapshots' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Snapshot' => [ + 'description' => 'The details of the snapshot.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Index' => [ + 'description' => 'The index of the snapshot.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Url' => [ + 'description' => 'The URL of the snapshot.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/snapshot/sample00001****.jpg', + ], + ], + 'description' => 'The snapshot data.', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"MediaSnapshot\\": {\\n \\"CreationTime\\": \\"2017-12-20T12:23:45Z\\",\\n \\"Regular\\": \\"http://example.aliyundoc.com/snapshot/sample{SnapshotCount}.jpg\\",\\n \\"Total\\": 100,\\n \\"JobId\\": \\"ad90a501b1b9472374ad005046****\\",\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n {\\n \\"Index\\": 1,\\n \\"Url\\": \\"http://example.aliyundoc.com/snapshot/sample00001****.jpg\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListSnapshotsResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <MediaSnapshot>\\n <CreationTime>2017-12-20T12:23:45Z</CreationTime>\\n <Regular>http://example.aliyundoc.com/snapshot/sample{SnapshotCount}.jpg</Regular>\\n <Total>100</Total>\\n <JobId>ad90a501b1b9472374ad005046****</JobId>\\n <Snapshots>\\n <Index>1</Index>\\n <Url>http://example.aliyundoc.com/snapshot/sample00001****.jpg</Url>\\n </Snapshots>\\n </MediaSnapshot>\\n</ListSnapshotsResponse>","errorExample":""}]', + 'title' => 'ListSnapshots', + 'description' => 'If multiple snapshots exist for a video, you can call this operation to query information about the latest snapshot.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the specified resource does not exist. |'."\n" + .'| Forbidden.IllegalStatus | Status of the video is illegal. | 400 | The error message returned because the video status is invalid. You can query the snapshot data of videos only when they are in the **UploadSucc**, **Normal**, **Checking**, or **Blocked** state. |', + ], + 'DeleteImage' => [ + 'summary' => 'Deletes uploaded images and video snapshots that are automatically captured.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39834', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DeleteImageType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The method that is used to delete images. Valid values:'."\n" + ."\n" + .'* **ImageURL**: deletes images based on URLs.'."\n" + .'* **ImageId**: deletes images based on image IDs.'."\n" + .'* **VideoId**: deletes images associated with a video based on the video ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VideoId', + ], + ], + [ + 'name' => 'ImageURLs', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the image. You can obtain the value of `ImageURL` from the response to the [CreateUploadImage](~~CreateUploadImage~~) operation. You can specify up to 20 URLs and separate them with commas (,).'."\n" + ."\n" + .'> This parameter takes effect and is required only if you set **DeleteImageType** to **ImageURL**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://example.aliyundoc.com/image/default/41AE7ADABBE*****.png', + ], + ], + [ + 'name' => 'ImageIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image. You can specify up to 20 image IDs and separate them with commas (,). You can use one of the following methods to obtain the image ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Image** to view the image ID.'."\n" + .'* Obtain the image ID from the response to the [CreateUploadImage](~~CreateUploadImage~~) operation that you call to obtain the upload credential and URL.'."\n" + .'* Obtain the image ID from the response to the [SearchMedia](~~SearchMedia~~) operation that you call to query images.'."\n" + ."\n" + .'> This parameter takes effect and is required only if you set **DeleteImageType** to **ImageId**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bbc65bba53fed90de118a7849****,594228cdd14b4d069fc17a8c4a****', + ], + ], + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can specify only one ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the media file.'."\n" + .'* Obtain the video ID from the response to the [CreateUploadVideo](~~CreateUploadVideo~~) operation that you call to obtain the upload credential and URL.'."\n" + .'* Obtain the video ID from the response to the [SearchMedia](~~SearchMedia~~) operation that you call to query videos.'."\n" + ."\n" + .'> This parameter takes effect and is required only if you set **DeleteImageType** to **VideoId**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eb1861d2c9a8842340e989dd56****', + ], + ], + [ + 'name' => 'ImageType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of images that you want to delete. The images are associated with the video. Valid values:'."\n" + ."\n" + .'* **CoverSnapshot**: thumbnail snapshot.'."\n" + .'* **NormalSnapshot**: regular snapshot.'."\n" + .'* **SpriteSnapshot**: sprite snapshot.'."\n" + .'* **SpriteOriginSnapshot**: sprite source snapshot.'."\n" + .'* **All**: images of all the preceding types. You can specify multiple types other than `All` for this parameter. Separate multiple types with commas (,).'."\n" + ."\n" + .'> This parameter takes effect and is required only if you set **DeleteImageType** to **VideoId**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'All', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteImageResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n</DeleteImageResponse>","errorExample":""}]', + 'title' => 'DeleteImage', + 'description' => '* **After you call this operation to delete an image, the source file is permanently deleted and cannot be recovered. Exercise caution when you call this operation.**'."\n" + .'* If some images are cached on Alibaba Cloud CDN points of presence (POPs), the image URLs do not immediately become invalid.'."\n" + .'* You can call this operation to delete uploaded images and video snapshots.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| NoSuchResource | The specified resource does not exist. | 404 | The error message returned because the specified image does not exist. |', + ], + 'ListDynamicImage' => [ + 'summary' => 'Queries the information about animated images of a video based on the video ID.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40053', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '2e114f1100590c3193918fd449a****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '570189B6-572E-4953-13B4278EE0D8****', + ], + 'DynamicImageList' => [ + 'description' => 'The list of animated stickers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of animated stickers.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the animated sticker was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-07-28T02:01:06Z', + ], + 'FileURL' => [ + 'description' => 'The URL of the animated sticker file.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/2e114f110059*****0c3193918fd449a/image/dynamic/2b4e51df60*****323ef43d6e336ecf.webp?auth_key=1597296785-0-0-4a48e85*****bd2bb358e0b3cade', + ], + 'VideoId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => '2e114f1100590c3193918fd449a****', + ], + 'Width' => [ + 'description' => 'The width of the animated sticker. Unit: pixel.'."\n", + 'type' => 'string', + 'example' => '640', + ], + 'JobId' => [ + 'description' => 'The job ID for creating the animated sticker.'."\n", + 'type' => 'string', + 'example' => '2bf4390af9e5491c09cc720ad****', + ], + 'Height' => [ + 'description' => 'The height of the animated sticker. Unit: pixel.'."\n", + 'type' => 'string', + 'example' => '360', + ], + 'Fps' => [ + 'description' => 'The frame rate of the animated sticker. Unit: frames per second.'."\n", + 'type' => 'string', + 'example' => '10', + ], + 'Duration' => [ + 'description' => 'The duration of the animated sticker. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '2', + ], + 'Format' => [ + 'description' => 'The format of the animated sticker. Valid values: gif and webp.'."\n", + 'type' => 'string', + 'example' => 'webp', + ], + 'DynamicImageId' => [ + 'description' => 'The ID of the animated sticker.'."\n", + 'type' => 'string', + 'example' => '2b4e51df60323ef43d6e336ecf****', + ], + 'FileSize' => [ + 'description' => 'The size of the animated sticker file. Unit: byte.'."\n", + 'type' => 'string', + 'example' => '119866', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"570189B6-572E-4953-13B4278EE0D8****\\",\\n \\"DynamicImageList\\": [\\n {\\n \\"CreationTime\\": \\"2020-07-28T02:01:06Z\\",\\n \\"FileURL\\": \\"https://example.aliyundoc.com/2e114f110059*****0c3193918fd449a/image/dynamic/2b4e51df60*****323ef43d6e336ecf.webp?auth_key=1597296785-0-0-4a48e85*****bd2bb358e0b3cade\\",\\n \\"VideoId\\": \\"2e114f1100590c3193918fd449a****\\",\\n \\"Width\\": \\"640\\",\\n \\"JobId\\": \\"2bf4390af9e5491c09cc720ad****\\",\\n \\"Height\\": \\"360\\",\\n \\"Fps\\": \\"10\\",\\n \\"Duration\\": \\"2\\",\\n \\"Format\\": \\"webp\\",\\n \\"DynamicImageId\\": \\"2b4e51df60323ef43d6e336ecf****\\",\\n \\"FileSize\\": \\"119866\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListDynamicImageResponse>\\n <RequestId>570189B6-572E-4953-13B4278EE0D8****</RequestId>\\n <DynamicImageList>\\n <CreationTime>2020-07-28T02:01:06Z</CreationTime>\\n <FileURL>https://example.aliyundoc.com/2e114f110059*****0c3193918fd449a/image/dynamic/2b4e51df60*****323ef43d6e336ecf.webp?auth_key=1597296785-0-0-4a48e85*****bd2bb358e0b3cade</FileURL>\\n <VideoId>2e114f1100590c3193918fd449a****</VideoId>\\n <Width>640</Width>\\n <JobId>2bf4390af9e5491c09cc720ad****</JobId>\\n <Height>360</Height>\\n <Fps>10</Fps>\\n <Duration>2</Duration>\\n <Format>webp</Format>\\n <DynamicImageId>2b4e51df60323ef43d6e336ecf****</DynamicImageId>\\n <FileSize>119866</FileSize>\\n </DynamicImageList>\\n</ListDynamicImageResponse>","errorExample":""}]', + 'title' => 'ListDynamicImage', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteDynamicImage' => [ + 'summary' => 'Deletes the information about animated stickers.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39831', + 'abilityTreeNodes' => [ + 'FEATUREvod3O95DN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video associated with the animated stickers whose information you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '2321077d460b028700ef6c2f4d****', + ], + ], + [ + 'name' => 'DynamicImageIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the animated stickers.'."\n" + ."\n" + .'- Separate multiple IDs with commas (,). You can specify a maximum of 10 IDs.'."\n" + .'- If you do not set this parameter, the system finds the video specified by the VideoId parameter and deletes the information about the animated stickers associated with the video. If more than 10 animated stickers are associated with the video specified by the VideoId parameter, the deletion request is denied.', + 'type' => 'string', + 'required' => false, + 'example' => 'beafec3834a4e52ea52042a4****,8281c8519847fd8970e79e80b6****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '0C8F0FDD-A99F-4188-B41934C97A54****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C8F0FDD-A99F-4188-B41934C97A54****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDynamicImageResponse>\\n <RequestId>0C8F0FDD-A99F-4188-B41934C97A54****</RequestId>\\n</DeleteDynamicImageResponse>","errorExample":""}]', + 'title' => 'DeleteDynamicImage', + 'description' => '> This operation deletes only the information about animated stickers, but not the animated stickers themselves.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SubmitTranscodeJobs' => [ + 'summary' => 'Submits a transcoding job to start transcoding in an asynchronous manner.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40196', + 'abilityTreeNodes' => [ + 'FEATUREvodAFH3DF', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video file. You can use one of the following methods to obtain the video ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload the video.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation after you upload the video.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '142710f878bd42508932f660d7b1****', + ], + ], + [ + 'name' => 'TemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group that you want to use. To view the template group ID, perform the following operations: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Transcoding Template Groups**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '0e408c803baf658ee637790c5d9f****', + ], + ], + [ + 'name' => 'PipelineId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the queue that you want to use to run the job.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'd3e680e618708erf45fbf2cae7c****', + ], + ], + [ + 'name' => 'EncryptConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The encryption configurations. The value must be a JSON string. This parameter is required only when you use HLS encryption.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* You must set **CipherText** in [EncrptConfig](~~86952~~) to the AES\\_128 cipher text that is obtained from the response to the [GenerateKMSDataKey](~~455051~~) operation. Otherwise, the HLS encryption fails. For more information about how to use HLS encryption, see [HLS encryption](~~68612~~).'."\n" + ."\n" + .'* You must select HLS encryption for the template specified by **TemplateGroupId** no matter you use HLS encryption or Alibaba Cloud proprietary cryptography. Otherwise, the transcoded file is not encrypted.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"CipherText":"ZjJmZGViNzUtZWY1Mi00Y2RlLTk3****", "DecryptKeyUri":"http://demo.aliyundoc.com?CipherText=ZjJmZGViNzUtZWY1Mi00Y2RlLTk3****","KeyServiceType":"KMS"}', + ], + ], + [ + 'name' => 'OverrideParams', + 'in' => 'query', + 'schema' => [ + 'description' => 'The override parameter. The value must be a JSON string. You can use this parameter to override the image watermark, text watermark, or subtitle file specified in the transcoding template, or override the encoding format of the subtitle file. For more information about the data structure, see [OverrideParams](~~98618~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Watermarks":[{"WatermarkId":"af2afe4761992c47dae973374****","FileUrl":"http://developer.aliyundoc.com/image/image.png"},{"WatermarkId":"e8e5b8038d7ada85b376c2707****","Content":"watermark test"}]}', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => 'The priority of the transcoding job in all queued jobs.'."\n" + ."\n" + .'* Valid values: **1** to **10**.'."\n" + .'* A value of **10** indicates the highest priority.'."\n" + .'* Default value: **6**.'."\n" + ."\n" + .'> This parameter takes effect only on the queued transcoding jobs. The priorities of the in-progress transcoding jobs are not affected.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '6', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom settings. The value must be a JSON string. You can configure settings such as message callbacks. For more information, see [UserData](~~86952~~).'."\n" + ."\n" + .'> To use the callback configurations specified by this parameter, you must configure an HTTP callback URL and specify the types of the callback events in the ApsaraVideo VOD console. Otherwise, the callback configurations do not take effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Extend":{"localId":"****","test":"***"}}', + ], + ], + [ + 'name' => 'SessionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom identifier for deduplication. If you send a request, an error is returned if a request with the same identifier was sent in the last 7 days. A custom identifier can be up to 50 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_). If you do not specify this parameter or leave this parameter empty, duplicate requests are not filtered.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5c62d40299034bbaa4c195da330****', + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TranscodeTaskId' => [ + 'description' => 'The ID of the transcoding task that was submitted.'."\n", + 'type' => 'string', + 'example' => '9f4a0df7da2c8a81c8c0408c84****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', + ], + 'TranscodeJobs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TranscodeJob' => [ + 'description' => 'The information about the transcoding job.'."\n" + ."\n" + .'> This parameter is not returned for HLS packaging tasks. You must asynchronously receive the transcoding result.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The detailed information of the job.', + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the transcoding job.'."\n" + ."\n" + .'> This parameter is not returned for HLS packaging tasks. You must asynchronously receive the transcoding result.'."\n", + 'type' => 'string', + 'example' => 'd8921ce8505716cfe86fb112c4****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TranscodeTaskId\\": \\"9f4a0df7da2c8a81c8c0408c84****\\",\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\",\\n \\"TranscodeJobs\\": {\\n \\"TranscodeJob\\": [\\n {\\n \\"JobId\\": \\"d8921ce8505716cfe86fb112c4****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<SubmitTranscodeJobsResponse>\\n <TranscodeTaskId>9f4a0df7da2c8a81c8c0408c84****</TranscodeTaskId>\\n <RequestId>E4EBD2BF-5EB0-4476-8829-9D94E1B1****</RequestId>\\n <TranscodeJobs>\\n <JobId>d8921ce8505716cfe86fb112c4****</JobId>\\n </TranscodeJobs>\\n</SubmitTranscodeJobsResponse>","errorExample":""}]', + 'title' => 'SubmitTranscodeJobs', + 'description' => '### [](#)Usage notes'."\n" + ."\n" + .'* **Make sure that you understand the billing methods and prices of ApsaraVideo VOD before you call this operation. For more information about billing of the transcoding feature, see [Billing of basic services](~~188308#section-ejb-nii-nqa~~).**'."\n" + .'* You can transcode a video only in the Uploaded, Normal, or Reviewing state.'."\n" + .'* You can obtain the transcoding results from the [StreamTranscodeComplete](~~55636~~) or [TranscodeComplete](~~55638~~) callback.'."\n" + .'* You can call this operation to dynamically override the subtitle URL in an HTTP Live Streaming (HLS) packaging task. If the packaging task does not contain subtitles, we recommend that you specify the ID of the specific packaging template group when you upload the video instead of calling this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the user-related resource does not exist. %s indicates the specific resource information. |'."\n" + .'| Forbidden.IllegalStatus | Status of the video is illegal. | 400 | The error message returned because the video status is invalid. You can transcode a video only in the **UploadSucc**, **Normal**, or **Checking** state. |', + ], + 'SubmitSnapshotJob' => [ + 'summary' => 'Submits a snapshot job for a video and starts asynchronous snapshot processing.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40195', + 'abilityTreeNodes' => [ + 'FEATUREvodFAR72I', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* After you upload a video in the ApsaraVideo VOD console, you can log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Files** > **Audio/Video** to view the ID of the video.'."\n" + .'* Obtain the video ID from the response to the [CreateUploadVideo](~~55407~~) operation that you called to obtain the upload URL and credential.'."\n" + .'* Obtain the video ID from the response to the [SearchMedia](~~86044~~) operation that you called to query media information after the audio or video file is uploaded.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'd3e680e618708efbf2cae7cc9312****', + ], + ], + [ + 'name' => 'SpecifiedOffsetTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The point in time when the first snapshot is captured.'."\n" + ."\n" + .'* Unit: milliseconds.'."\n" + .'* Default value: **0**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'Width', + 'in' => 'query', + 'schema' => [ + 'description' => 'The width of each snapshot. Valid values: `[8,4096]`. By default, the width of the video source is used. Unit: pixels.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1280', + ], + ], + [ + 'name' => 'Height', + 'in' => 'query', + 'schema' => [ + 'description' => 'The height of each snapshot. Valid values: `[8,4096]`. By default, the height of the video source is used. Unit: pixels.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '720', + ], + ], + [ + 'name' => 'Count', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of snapshots. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The snapshot interval. The value must be **greater than or equal to 0**.'."\n" + ."\n" + .'* Unit: seconds.'."\n" + .'* Default value: **1**.'."\n" + .'* If you set this parameter to **0**, snapshots are captured at even intervals based on the video duration divided by the value of the Count parameter.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'SpriteSnapshotConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sprite snapshot configuration. If you set this parameter, sprite snapshots are generated. For more information, see [SpriteSnapshotConfig](~~86952~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{\'CellWidth\': 120, \'CellHeight\': 68, \'Columns\': 3,\'Lines\': 10, \'Padding\': 20, \'Margin\': 50}', + ], + ], + [ + 'name' => 'SnapshotTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the snapshot template.'."\n" + ."\n" + .'* We recommend that you create a snapshot template before you specify the template ID. For more information about how to create a snapshot template, see [AddVodTemplate](~~99406~~).'."\n" + .'* If you set the SnapshotTemplateId parameter, all the other request parameters except the Action and VideoId parameters are ignored.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'f5b228fe693bf55bd87b789****', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom configurations including the configuration of transparent data transmission and callback configurations. The value must be a JSON string. For more information, see [UserData](~~86952~~).'."\n" + ."\n" + .'> To use the message callback feature, you must specify an HTTP callback URL and the callback events in the ApsaraVideo VOD console. Otherwise, the callback settings do not take effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://.example.aliyundoc.com"},"Extend":{"localId":"xxx","example":"www"}}', + ], + ], + [ + 'name' => 'SpecifiedOffsetTimes', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The playback positions at which you want to capture snapshots. Unit: milliseconds. You can specify up to 30 playback positions in a request.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The custom playback position at which you want to capture the snapshot. Unit: milliseconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + ], + 'required' => false, + ], + ], + [ + 'name' => 'ReferenceId', + 'in' => 'query', + 'schema' => [ + 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。', + 'type' => 'string', + 'example' => '123-123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-5EB0-4AF6-D7393642****', + ], + 'SnapshotJob' => [ + 'description' => 'The information about the snapshot job.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the snapshot job.'."\n", + 'type' => 'string', + 'example' => 'ad90a501b1b94b72374ad0050464****', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-5EB0-4AF6-D7393642****\\",\\n \\"SnapshotJob\\": {\\n \\"JobId\\": \\"ad90a501b1b94b72374ad0050464****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<SubmitSnapshotJobResponse>\\n <RequestId>25818875-5F78-5EB0-4AF6-D7393642****</RequestId>\\n <SnapshotJob>\\n <JobId>ad90a501b1b94b72374ad0050464****</JobId>\\n </SnapshotJob>\\n</SubmitSnapshotJobResponse>","errorExample":""}]', + 'title' => 'SubmitSnapshotJob', + 'description' => '* Only snapshots in the JPG format are generated.'."\n" + .'* After a snapshot is captured, the [SnapshotComplete](~~57337~~) callback is fired and EventType=SnapshotComplete, SubType=SpecifiedTime is returned.'."\n" + ."\n" + .'### [](#qps-)QPS limits'."\n" + ."\n" + .'You can call this operation up to 30 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits](~~342790~~).'."\n", + 'requestParamsDescription' => '> You must set at least one of the Count and Interval parameters. If you set both parameters, the setting with fewer snapshots generated prevails.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the specified resource does not exist. |'."\n" + .'| Forbidden.IllegalStatus | Status of the video is illegal. | 400 | The error message returned because the video status is invalid. You can submit a snapshot job for a video only when the video is in the **UploadSucc**, **Normal**, **Checking**, or **Blocked** state. |', + ], + 'SubmitPreprocessJobs' => [ + 'summary' => 'Transcodes a video by using the production studio.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40191', + 'abilityTreeNodes' => [ + 'FEATUREvodAFH3DF', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* After you upload a video in the ApsaraVideo VOD console, you can log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Files** > **Audio/Video** to view the ID of the video.'."\n" + .'* Obtain the VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload videos.'."\n" + .'* Obtain the VideoId from the response to the [SearchMedia](~~86044~~) operation that you call to query videos.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd3e680e618708efbf2cae7cc9312****', + ], + ], + [ + 'name' => 'PreprocessType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The preprocessing type. Set the value to **LivePreprocess**. LivePreprocess specifies that the video is preprocessed in the production studio.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'LivePreprocess', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', + ], + 'PreprocessJobs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PreprocessJob' => [ + 'description' => 'The information about the job.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the job.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the job.'."\n", + 'type' => 'string', + 'example' => 'bb396607fd11fee9effbb99c4****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\",\\n \\"PreprocessJobs\\": {\\n \\"PreprocessJob\\": [\\n {\\n \\"JobId\\": \\"bb396607fd11fee9effbb99c4****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<SubmitPreprocessJobsResponse>\\n <RequestId>E4EBD2BF-5EB0-4476-8829-9D94E1B1****</RequestId>\\n <PreprocessJobs>\\n <JobId>bb396607fd11fee9effbb99c4****</JobId>\\n </PreprocessJobs>\\n</SubmitPreprocessJobsResponse>","errorExample":""}]', + 'title' => 'SubmitPreprocessJobs', + 'description' => '* During video preprocessing, videos are transcoded to meet the playback requirements of the production studio. Therefore, **you are charged for video preprocessing**. For more information about billing, see [Billing of production studios](~~64531~~).'."\n" + .'* You can obtain the preprocessing result in the [TranscodeComplete](~~55638~~) event notification. If **Preprocess=true** is returned in the event notification, the video is transcoded.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the specified resource does not exist. |'."\n" + .'| Forbidden.IllegalStatus | Status of the video is illegal. | 400 | The error message returned because the video status is invalid. You can preprocess a video only in the **UploadSucces**, **Normal**, **Checking**, or **Transcoding** state. |', + ], + 'SubmitDynamicImageJob' => [ + 'summary' => 'Submits a frame animation job and starts asynchronous processing.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40185', + 'abilityTreeNodes' => [ + 'FEATUREvodFAR72I', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the media file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload media files.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation after you upload media files.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '7d2fbc3e273441bdb0e08e55f8****', + ], + ], + [ + 'name' => 'DynamicImageTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the frame animation template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '1a443dc52ef10abc4794d700*****', + ], + ], + [ + 'name' => 'OverrideParams', + 'in' => 'query', + 'schema' => [ + 'description' => 'The override parameter. Specify the value in the JSON format. For more information, see [Parameters for media processing](~~98618~~). You can use this parameter to override configurations in the animated image template. For more information, see the "DynamicImageTemplateConfig: the configurations of an animated sticker template" section of the [Basic data types](~~52839~~) topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Watermarks":[{"Content":"UserID: 666**","WatermarkId":"8ca03c884944bd05efccc312367****"}]}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-74A6-BEF6-D7393642****', + ], + 'DynamicImageJob' => [ + 'description' => 'The information about the animated image job.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the animated image job.'."\n", + 'type' => 'string', + 'example' => 'ad90a501b1bfb72374ad0050746****', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-74A6-BEF6-D7393642****\\",\\n \\"DynamicImageJob\\": {\\n \\"JobId\\": \\"ad90a501b1bfb72374ad0050746****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<SubmitDynamicImageJobResponse>\\n <RequestId>25818875-5F78-74A6-BEF6-D7393642****</RequestId>\\n <DynamicImageJob>\\n <JobId>ad90a501b1bfb72374ad0050746****</JobId>\\n </DynamicImageJob>\\n</SubmitDynamicImageJobResponse>","errorExample":""}]', + 'title' => 'SubmitDynamicImageJob', + 'description' => '* You can capture a part of a video and generate animated images only when the video is in the **Uploaded**, **Transcoding**, **Normal**, **Reviewing**, or **Flagged** state.'."\n" + .'* The fees for frame animation are included in your video transcoding bill. You are charged based on the output resolution and the duration. For more information, see [Billing of basic services](~~188308~~).'."\n" + ."\n" + .'### QPS limits'."\n" + ."\n" + .'You can call this operation up to 30 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limit on API operations](~~342790~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SubmitWorkflowJob' => [ + 'summary' => 'Initiates a workflow to process media files.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40198', + 'abilityTreeNodes' => [ + 'FEATUREvodR23QUR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'WorkflowId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the workflow. To view the ID of the workflow, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Workflows**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '34d577eade633860bdf1237****', + ], + ], + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of the VideoId parameter when you call the [CreateUploadVideo](~~55407~~) operation to upload media files.'."\n" + .'* Obtain the value of the VideoId parameter when you call the [SearchMedia](~~86044~~) operation after you upload media files.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '058b39e75269da42b08f00459****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'A01C8FF4-C106-4431-418F973DADB7****', + ], + 'TaskId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A01C8FF4-C106-4431-418F973DADB7****\\",\\n \\"TaskId\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"<SubmitWorkflowJobResponse>\\n <RequestId>A01C8FF4-C106-4431-418F973DADB7****</RequestId>\\n</SubmitWorkflowJobResponse>","errorExample":""}]', + 'title' => 'SubmitWorkflowJob', + 'description' => '* **Make sure that you understand the billing method and price of ApsaraVideo VOD before you call this operation. When you use workflows to process videos, you may be charged for transcoding, encryption, and automated review. For more information, see [Billing overview](~~188307~~).**'."\n" + ."\n" + .'* You can call this operation to initiate a VOD workflow to process media files. For more information, see [Workflows](~~115347~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AddTranscodeTemplateGroup' => [ + 'summary' => 'Creates a transcoding template group or adds transcoding templates to a transcoding template group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39789', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the transcoding template group.'."\n" + ."\n" + .'* The name can be up to 128 bytes in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n" + ."\n" + .'> You must specify TranscodeTemplateGroupId or Name in the request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'transcodetemplate', + ], + ], + [ + 'name' => 'TranscodeTemplateList', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configurations of the transcoding template. The value is a string in JSON format. For more information about the data structure, see [TranscodeTemplate](~~52839~~).'."\n" + ."\n" + .'> * If you do not specify this parameter, the transcoding job cannot be automatically created after you upload a video.'."\n" + .'> * If you do not need to set Width or Height, do not specify the corresponding parameter. You cannot set the value to an empty string, such as "Height":"".', + 'type' => 'string', + 'required' => false, + 'example' => '[{"Video":{"Bitrate":"400","Codec":"H.264","Fps":"30","Height":""},"Definition":"SD","Container":{"Format":"mp4"},"TemplateName":"testName","MuxConfig":{},"Audio":{"Codec":"AAC","Bitrate":"64","Samplerate":"44100"}}]', + ], + ], + [ + 'name' => 'TranscodeTemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group. If a transcoding template group ID is specified, you can add transcoding templates to the template group.'."\n" + ."\n" + .'> You must specify TranscodeTemplateGroupId or Name in the request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '4c71a339fe52b4fa6f4527****', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID. Default value: **app-1000000**. For more information, see [Use the multi-application service](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TranscodeTemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => '34e908aa4024af7821c31f93a2a****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TranscodeTemplateGroupId\\": \\"34e908aa4024af7821c31f93a2a****\\",\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddTranscodeTemplateGroupResponse>\\r\\n\\t<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n\\t<TranscodeTemplateGroupId>34e908aa4024a*****f7821c31f93a2a</TranscodeTemplateGroupId>\\r\\n</AddTranscodeTemplateGroupResponse>","errorExample":""}]', + 'title' => 'AddTranscodeTemplateGroup', + 'description' => '* You cannot perform custom operations on transcoding template groups that are **locked** in the ApsaraVideo VOD console. You can call the [GetTranscodeTemplateGroup](~~GetTranscodeTemplateGroup~~) operation to query the information about a transcoding template group and check whether the transcoding template group is locked based on the value of the Locked parameter. You can call the [UpdateTranscodeTemplateGroup](~~UpdateTranscodeTemplateGroup~~) operation to unlock a transcoding template group if it is locked. Then, you can perform custom operations on the transcoding template group.'."\n" + .'* An Object Storage Service (OSS) bucket is required to store files that are used for transcoding. You cannot create a transcoding template group if no bucket is available. To activate a bucket, perform the following operations: Log on to the ApsaraVideo VOD console. In the left-side navigation pane, choose **Configuration Management > Media Management > Storage**. On the **Storage** page, activate the bucket that is allocated by ApsaraVideo VOD.'."\n" + .'* You cannot add transcoding templates to the **No Transcoding** template group.'."\n" + .'* You can create a maximum of 20 transcoding template groups.'."\n" + .'* You can add a maximum of 20 transcoding templates to a transcoding template group.'."\n" + .'* If you want to generate a URL for adaptive bitrate streaming, you can add video packaging templates to a transcoding template group. You can add a maximum of 10 video packaging templates to a transcoding template group. If you add more than 10 video packaging templates, URLs of the video transcoded based on the video packaging templates are generated but the URL for adaptive bitrate streaming is not generated.'."\n" + ."\n" + .'### QPS limits'."\n" + ."\n" + .'You can call this operation up to five times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits](~~342790~~).'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidStorage.NotFound | The storage info dose not exist. | 404 | The error message returned because the storage path is not specified. |'."\n" + .'| InvalidTranscodeTemplateGroup.NotFound | The transcode template group does not exist. | 404 | The error message returned because the specified transcoding template group does not exist. |'."\n" + .'| Forbidden.LockedTemplateGroup | The transcode template group has been locked. | 403 | The error message returned because the specified template group is locked and cannot be managed. To manage the template group, contact the ApsaraVideo VOD technical support. |'."\n" + .'| Forbidden.SpecialTemplateGroup | The transcode template group is using for special purpose. | 403 | The error message returned because the specified transcoding template group is used for a special purpose and you cannot add transcoding templates to the group. For example, the No Transcoding and Storage Only template groups are used for special purposes. |'."\n" + .'| TrasncodeTemplateGroupExceededMax | The transcode template group size exceeded maximum. | 400 | The error message returned because the number of transcoding template groups exceeds the upper limit. You can create a maximum of 20 transcoding template groups. |'."\n" + .'| TranscodeTemplateExceededMax | The template transcode template config size exceeded maximum. | 400 | The error message returned because the number of transcoding templates that are added to the specified transcoding template group exceeds the upper limit. You can add a maximum of 20 transcoding templates to a transcoding template group. |'."\n" + .'| WatermarkExceededMax | The watermark size exceeded maximum. | 400 | The error message returned because the number of watermark IDs that are associated with a transcoding template in the transcoding template group exceeds the upper limit. You can associate a maximum of four watermark IDs with a transcoding template. |', + ], + 'UpdateTranscodeTemplateGroup' => [ + 'summary' => 'Modifies the configurations of a transcoding template group or configurations of transcoding templates in the transcoding template group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40227', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the transcoding template group.'."\n" + ."\n" + .'* The name cannot exceed 128 bytes.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'transcodetemplate', + ], + ], + [ + 'name' => 'TranscodeTemplateList', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configurations of the transcoding template. The value must be a JSON string. For more information about the data structure, see [TranscodeTemplate](~~52839#title-9mb-8o2-uu6~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{"Video":{"Bitrate":"400","Codec":"H.264","Fps":"30"},"Audio":{"Codec":"AAC","Bitrate":"64","Definition":"SD","EncryptType":"Private","Container":{"Format":"m3u8"},"PackageType":"HLSPackage"}}]', + ], + ], + [ + 'name' => 'Locked', + 'in' => 'query', + 'schema' => [ + 'description' => 'The lock status of the transcoding template group. Valid values:'."\n" + ."\n" + .'* **Enabled**: The transcoding template group is locked and cannot be modified.'."\n" + .'* **Disabled** (default): The transcoding template group is not locked.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Disabled', + ], + ], + [ + 'name' => 'TranscodeTemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '4c71a339fe*****52b4fa6f4527', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'TranscodeTemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => '34e908aa4024a*****f7821c31f93a2a', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TranscodeTemplateGroupId\\": \\"34e908aa4024a*****f7821c31f93a2a\\",\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTranscodeTemplateGroupResponse>\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\n <TranscodeTemplateGroupId>34e908aa4024a*****f7821c31f93a2a</TranscodeTemplateGroupId>\\n</UpdateTranscodeTemplateGroupResponse>","errorExample":""}]', + 'title' => 'UpdateTranscodeTemplateGroup', + 'description' => 'For security purposes, you cannot add, modify, or delete transcoding templates in a transcoding template group that is locked. You can call the [GetTranscodeTemplateGroup](~~GetTranscodeTemplateGroup~~) operation to query the configurations of a transcoding template group, check whether the transcoding template group is locked by using the response parameter Locked, and unlock the transcoding template group before you perform operations such as add, modify, and delete transcoding templates.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidStorage.NotFound | The storage info dose not exist. | 404 | The error message returned because ApsaraVideo VOD has not allocated a bucket. |'."\n" + .'| InvalidTranscodeTemplateGroup.NotFound | The transcode template group does not exist. | 404 | The error message returned because the specified transcoding template group does not exist. |'."\n" + .'| Forbidden.LockedTemplateGroup | The transcode template group has been locked. | 403 | The error message returned because the specified template group is locked and cannot be managed. To manage the template group, contact the ApsaraVideo VOD technical support. |', + ], + 'SetDefaultTranscodeTemplateGroup' => [ + 'summary' => 'Specifies a transcoding template group as the default one.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40136', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TranscodeTemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd58079958be8d*****b699ab7ab6e1bf', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<SetDefaultTranscodeTemplateGroupResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n</SetDefaultTranscodeTemplateGroupResponse>","errorExample":""}]', + 'title' => 'SetDefaultTranscodeTemplateGroup', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidTranscodeTemplateGroup.NotFound | The transcode template group does not exist. | 404 | The error message returned because the specified transcoding template group does not exist. |', + ], + 'ListTranscodeTemplateGroup' => [ + 'summary' => 'Queries transcoding template groups.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40075', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'TranscodeTemplateGroupList' => [ + 'description' => 'The transcoding template groups.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the template group was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-12-05T10:20:09Z', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the template group is the default one. Valid values:'."\n" + ."\n" + .'* **Default**: The template group is the default one.'."\n" + .'* **NotDefault**: The template group is not the default one.'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'TranscodeTemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => '17a9889fc66852*****d791c886700932', + ], + 'Name' => [ + 'description' => 'The name of the template group.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ModifyTime' => [ + 'description' => 'The time when the template group was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-12-05T10:22:09Z', + ], + 'Locked' => [ + 'description' => 'The lock status of the transcoding template group. Valid values:'."\n" + ."\n" + .'* **Disabled**: The template group is not locked.'."\n" + .'* **Enabled**: The template group is locked.'."\n", + 'type' => 'string', + 'example' => 'Disabled', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"TranscodeTemplateGroupList\\": [\\n {\\n \\"CreationTime\\": \\"2018-12-05T10:20:09Z\\",\\n \\"IsDefault\\": \\"Default\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"TranscodeTemplateGroupId\\": \\"17a9889fc66852*****d791c886700932\\",\\n \\"Name\\": \\"test\\",\\n \\"ModifyTime\\": \\"2018-12-05T10:22:09Z\\",\\n \\"Locked\\": \\"Disabled\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTranscodeTemplateGroupResponse>\\n<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\n<TranscodeTemplateGroupList>\\n <IsDefault>Default</IsDefault>\\n <Locked>Disabled</Locked>\\n <ModifyTime>2018-12-05T10:22:09Z</ModifyTime>\\n <AppId>app-****</AppId>\\n <TranscodeMode>FastTranscode</TranscodeMode>\\n <TranscodeTemplateGroupId>17a9889fc66852*****d791c886700932</TranscodeTemplateGroupId>\\n <CreationTime>2018-12-05T10:20:09Z</CreationTime>\\n <Name>test</Name>\\n</TranscodeTemplateGroupList>\\n</ListTranscodeTemplateGroupResponse>","errorExample":""}]', + 'title' => 'ListTranscodeTemplateGroup', + 'description' => '> This operation does not return the configurations of transcoding templates in each transcoding template group. To query the configurations of transcoding templates in a specific transcoding template group, call the [GetTranscodeTemplateGroup](~~102670~~) operation.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetTranscodeTemplateGroup' => [ + 'summary' => 'Queries the details of a transcoding template group based on the template group ID.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39986', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TranscodeTemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'a591f697c7167*****6ae1502142d0', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6730AC93-7B12-4B*****7F-49EE1FE8BC49', + ], + 'TranscodeTemplateGroup' => [ + 'description' => 'The information about the transcoding template group.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the transcoding template group was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-12-12T10:20:51Z', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the template group is the default one. Valid values:'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'TranscodeTemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => 'a59b11f697c716*****6ae1502142d0', + ], + 'Name' => [ + 'description' => 'The name of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ModifyTime' => [ + 'description' => 'The time when the transcoding template group was last modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*hh:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-12-12T11:20:51Z', + ], + 'Locked' => [ + 'description' => 'Indicates whether the transcoding template group is locked. Valid values:'."\n" + ."\n" + .'* **Disabled**: The template group is not locked.'."\n" + .'* **Enabled**: The template group is locked.'."\n", + 'type' => 'string', + 'example' => 'Enabled', + ], + 'TranscodeTemplateList' => [ + 'description' => 'The information about the transcoding templates.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the transcoding template. Valid values:'."\n" + ."\n" + .'* **Normal** (default): a common transcoding template. The PackageSetting parameter cannot be set for this type of template.'."\n" + .'* **VideoPackage**: a video stream package template. If this type of template is used, ApsaraVideo VOD transcodes a video into video streams in different bitrates and packages these video streams with a file. The PackageSetting parameter must be set for this type of template.'."\n" + .'* **SubtitlePackage**: a subtitle package template. If this type of template is used, ApsaraVideo VOD adds the subtitle information to the output file generated by packaging the multi-bitrate video streams of the corresponding video without transcoding. You must set the PackageSetting parameter for a subtitle package template and associate the subtitle package template with a video stream package template. A template group can contain only one subtitle package template.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'Video' => [ + 'description' => 'The transcoding configurations of the video stream. The value is a JSON string.'."\n", + 'type' => 'string', + 'example' => '{"Codec":"H.264","Bitrate":"900","Width":"960","Remove":"false","Fps":"30"}', + ], + 'TransConfig' => [ + 'description' => 'The conditional transcoding configurations. This parameter can be used if you want to determine the basic logic based on the bitrate and resolution of the source file before the video is transcoded. The value is a JSON-formatted string.'."\n", + 'type' => 'string', + 'example' => '{"IsCheckReso":"true","IsCheckResoFail":"false","IsCheckVideoBitrate":"false","IsCheckVideoBitrateFail":"false","IsCheckAudioBitrate":"false","IsCheckAudioBitrateFail":"false"}', + ], + 'Rotate' => [ + 'description' => 'The video rotation identifier. It is used to control the image rotation angle. For example, if you set this parameter to 180, the video image is turned upside down. Valid values: `[0,360]`.'."\n", + 'type' => 'string', + 'example' => '90', + ], + 'TranscodeTemplateId' => [ + 'description' => 'The transcoding template ID.'."\n", + 'type' => 'string', + 'example' => '696d29a11erc057*****a3acc398d02f4', + ], + 'TemplateName' => [ + 'description' => 'The name of the transcoding template.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'EncryptSetting' => [ + 'description' => 'The encryption configuration for transcoding.'."\n", + 'type' => 'string', + 'example' => '"EncryptType":"Private"', + ], + 'Audio' => [ + 'description' => 'The transcoding configurations of the audio stream. The value is a JSON string.'."\n", + 'type' => 'string', + 'example' => '{\\"Codec\\":\\"AAC\\",\\"Remove\\":\\"false\\",\\"Bitrate\\":\\"44\\",\\"Samplerate\\":\\"32000\\",\\"Channels\\":\\"2\\",\\"Profile\\":\\"aac_low\\"}', + ], + 'TranscodeFileRegular' => [ + 'description' => 'The custom path used to store the output files.'."\n", + 'type' => 'string', + 'example' => '{MediaId}/transcoce_1', + ], + 'Container' => [ + 'description' => 'The format of the container used to encapsulate audio and video streams. The value is a JSON string.'."\n", + 'type' => 'string', + 'example' => '"Format":"m3u8"', + ], + 'Clip' => [ + 'description' => 'The clipping configurations of the video. The value is a JSON string. For example, this parameter is returned if you extract 5 seconds of content from a video to generate a new video.'."\n", + 'type' => 'string', + 'example' => '{\\"TimeSpan\\":{\\"Seek\\":\\"1\\",\\"Duration\\":\\"5\\"}', + ], + 'Definition' => [ + 'description' => 'Valid values for the definition of a common transcoding template:'."\n" + ."\n" + .'* **LD**: low definition.'."\n" + .'* **SD**: standard definition.'."\n" + .'* **HD**: high definition.'."\n" + .'* **FHD**: ultra high definition.'."\n" + .'* **OD**: original quality.'."\n" + .'* **2K**'."\n" + .'* **4K**'."\n" + .'* **SQ**: standard sound quality.'."\n" + .'* **HQ**: high sound quality.'."\n" + ."\n" + .'Valid values for the definition of a Narrowband HD™ 1.0 transcoding template:'."\n" + ."\n" + .'* **LD-NBV1**: low definition.'."\n" + .'* **SD-NBV1**: standard definition.'."\n" + .'* **HD-NBV1**: high definition.'."\n" + .'* **FHD-NBV1**: ultra high definition.'."\n" + .'* **2K-NBV1**'."\n" + .'* **4K-NBV1**'."\n" + ."\n" + .'> * You cannot change the definition of a transcoding template.'."\n" + .'>* You cannot modify the system parameters, such as the video resolution, audio resolution, and bitrate, of Narrowband HD™ 1.0 transcoding templates.'."\n" + .'>* You can create only Narrowband HD™ 1.0 transcoding templates that support the FLV, M3U8 (HLS), and MP4 output formats.', + 'type' => 'string', + 'example' => 'SD', + ], + 'PackageSetting' => [ + 'description' => 'The packaging configuration. Only HLS packaging and DASH packaging are supported. The value is a JSON string.'."\n", + 'type' => 'string', + 'example' => '"PackageType":"HLSPackage","PackageConfig":{ "BandWidth":"900000" }', + ], + 'SubtitleList' => [ + 'description' => 'The subtitle configurations. The value is a JSON string.'."\n", + 'type' => 'string', + 'example' => '[{"SubtitleUrl":"http://outin-test.oss-cn-shanghai.aliyuncs.com/subtitles/c737fece-14f1-4364-b107-d5f7f8edde0e.ass","CharEncode":"utf-8"}]', + ], + 'MuxConfig' => [ + 'description' => 'The transcoding segment configurations. This parameter must be returned if HTTP-Live-Streaming (HLS) encryption is used. The value is a JSON string.'."\n", + 'type' => 'string', + 'example' => '"Segment": { "Duration":"6" }', + ], + 'WatermarkIds' => [ + 'description' => 'The IDs of the associated watermarks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the associated watermark.'."\n", + 'type' => 'string', + 'example' => '"USER_DEFAULT_WATERMARK","ddddddddd"', + ], + ], + 'TraceMark' => [ + 'description' => 'The content of the tracing watermark.'."\n", + 'type' => 'string', + 'example' => '{'."\n" + .' "Enable": true'."\n" + .'}', + ], + 'CopyrightMark' => [ + 'description' => 'The content of the copyright watermark.'."\n", + 'type' => 'string', + 'example' => '{'."\n" + .' "Content": "test"'."\n" + .'}', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6730AC93-7B12-4B*****7F-49EE1FE8BC49\\",\\n \\"TranscodeTemplateGroup\\": {\\n \\"CreationTime\\": \\"2018-12-12T10:20:51Z\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"TranscodeTemplateGroupId\\": \\"a59b11f697c716*****6ae1502142d0\\",\\n \\"Name\\": \\"test\\",\\n \\"ModifyTime\\": \\"2018-12-12T11:20:51Z\\",\\n \\"Locked\\": \\"Enabled\\",\\n \\"TranscodeTemplateList\\": [\\n {\\n \\"Type\\": \\"Normal\\",\\n \\"Video\\": \\"{\\\\\\"Codec\\\\\\":\\\\\\"H.264\\\\\\",\\\\\\"Bitrate\\\\\\":\\\\\\"900\\\\\\",\\\\\\"Width\\\\\\":\\\\\\"960\\\\\\",\\\\\\"Remove\\\\\\":\\\\\\"false\\\\\\",\\\\\\"Fps\\\\\\":\\\\\\"30\\\\\\"}\\",\\n \\"TransConfig\\": \\"{\\\\\\"IsCheckReso\\\\\\":\\\\\\"true\\\\\\",\\\\\\"IsCheckResoFail\\\\\\":\\\\\\"false\\\\\\",\\\\\\"IsCheckVideoBitrate\\\\\\":\\\\\\"false\\\\\\",\\\\\\"IsCheckVideoBitrateFail\\\\\\":\\\\\\"false\\\\\\",\\\\\\"IsCheckAudioBitrate\\\\\\":\\\\\\"false\\\\\\",\\\\\\"IsCheckAudioBitrateFail\\\\\\":\\\\\\"false\\\\\\"}\\",\\n \\"Rotate\\": \\"90\\",\\n \\"TranscodeTemplateId\\": \\"696d29a11erc057*****a3acc398d02f4\\",\\n \\"TemplateName\\": \\"test\\",\\n \\"EncryptSetting\\": \\"\\\\\\"EncryptType\\\\\\":\\\\\\"Private\\\\\\"\\",\\n \\"Audio\\": \\"{\\\\\\"Codec\\\\\\":\\\\\\"AAC\\\\\\",\\\\\\"Remove\\\\\\":\\\\\\"false\\\\\\",\\\\\\"Bitrate\\\\\\":\\\\\\"44\\\\\\",\\\\\\"Samplerate\\\\\\":\\\\\\"32000\\\\\\",\\\\\\"Channels\\\\\\":\\\\\\"2\\\\\\",\\\\\\"Profile\\\\\\":\\\\\\"aac_low\\\\\\"}\\",\\n \\"TranscodeFileRegular\\": \\"{MediaId}/transcoce_1\\",\\n \\"Container\\": \\"\\\\\\"Format\\\\\\":\\\\\\"m3u8\\\\\\"\\",\\n \\"Clip\\": \\"{\\\\\\"TimeSpan\\\\\\":{\\\\\\"Seek\\\\\\":\\\\\\"1\\\\\\",\\\\\\"Duration\\\\\\":\\\\\\"5\\\\\\"}\\",\\n \\"Definition\\": \\"SD\\",\\n \\"PackageSetting\\": \\"\\\\\\"PackageType\\\\\\":\\\\\\"HLSPackage\\\\\\",\\\\\\"PackageConfig\\\\\\":{ \\\\\\"BandWidth\\\\\\":\\\\\\"900000\\\\\\" }\\",\\n \\"SubtitleList\\": \\"[{\\\\\\"SubtitleUrl\\\\\\":\\\\\\"http://outin-test.oss-cn-shanghai.aliyuncs.com/subtitles/c737fece-14f1-4364-b107-d5f7f8edde0e.ass\\\\\\",\\\\\\"CharEncode\\\\\\":\\\\\\"utf-8\\\\\\"}]\\",\\n \\"MuxConfig\\": \\"\\\\\\"Segment\\\\\\": { \\\\\\"Duration\\\\\\":\\\\\\"6\\\\\\" }\\",\\n \\"WatermarkIds\\": [\\n \\"\\\\\\"USER_DEFAULT_WATERMARK\\\\\\",\\\\\\"ddddddddd\\\\\\"\\"\\n ],\\n \\"TraceMark\\": \\"{\\\\n\\\\t\\\\\\"Enable\\\\\\": true\\\\n}\\",\\n \\"CopyrightMark\\": \\"{\\\\n\\\\t\\\\\\"Content\\\\\\": \\\\\\"测试版权水印文案\\\\\\"\\\\n}\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetTranscodeTemplateGroupResponse>\\n<RequestId>6730AC93-7B12-4B*****7F-49EE1FE8BC49</RequestId>\\n<TranscodeTemplateGroup>\\n <IsDefault>NotDefault</IsDefault>\\n <Locked>Enabled</Locked>\\n <ModifyTime>2018-12-12T11:20:51Z</ModifyTime>\\n <AppId>app-****</AppId>\\n <TranscodeTemplateGroupId>a59b11f697c716*****6ae1502142d0</TranscodeTemplateGroupId>\\n <TranscodeMode>FastTranscode</TranscodeMode>\\n <TranscodeTemplateList>\\n <TailSlateList>[{\\"TailUrl\\":\\"http://outin-test.oss-cn-shanghai.aliyuncs.com/tailslates/b6e9ceed-b665-426f-9d9a-277f0f****.mov\\"}]</TailSlateList>\\n <PackageSetting>\\"PackageType\\":\\"HLSPackage\\",\\"PackageConfig\\":{ \\"BandWidth\\":\\"900000\\" }</PackageSetting>\\n <Rotate>90</Rotate>\\n <UserData>{}</UserData>\\n <Definition>SD</Definition>\\n <TranscodeFileRegular>{MediaId}/transcoce_1</TranscodeFileRegular>\\n <EncryptSetting>\\"EncryptType\\":\\"Private\\"</EncryptSetting>\\n <Clip>{\\\\\\"TimeSpan\\\\\\":{\\\\\\"Seek\\\\\\":\\\\\\"1\\\\\\",\\\\\\"Duration\\\\\\":\\\\\\"5\\\\\\"}</Clip>\\n <Type>Normal</Type>\\n <Container>\\"Format\\":\\"m3u8\\"</Container>\\n <TranscodeTemplateId>696d29a11erc057*****a3acc398d02f4</TranscodeTemplateId>\\n <TransConfig>{\\"IsCheckReso\\":\\"true\\",\\"IsCheckResoFail\\":\\"false\\",\\"IsCheckVideoBitrate\\":\\"false\\",\\"IsCheckVideoBitrateFail\\":\\"false\\",\\"IsCheckAudioBitrate\\":\\"false\\",\\"IsCheckAudioBitrateFail\\":\\"false\\"}</TransConfig>\\n <Video>{\\"Codec\\":\\"H.264\\",\\"Bitrate\\":\\"900\\",\\"Width\\":\\"960\\",\\"Remove\\":\\"false\\",\\"Fps\\":\\"30\\"}</Video>\\n <TemplateName>test</TemplateName>\\n <SubtitleList>[{\\"SubtitleUrl\\":\\"http://outin-test.oss-cn-shanghai.aliyuncs.com/subtitles/c737fece-14f1-4364-b107-d5f7f8edde0e.ass\\",\\"CharEncode\\":\\"utf-8\\"}]</SubtitleList>\\n <Audio>{\\\\\\"Codec\\\\\\":\\\\\\"AAC\\\\\\",\\\\\\"Remove\\\\\\":\\\\\\"false\\\\\\",\\\\\\"Bitrate\\\\\\":\\\\\\"44\\\\\\",\\\\\\"Samplerate\\\\\\":\\\\\\"32000\\\\\\",\\\\\\"Channels\\\\\\":\\\\\\"2\\\\\\",\\\\\\"Profile\\\\\\":\\\\\\"aac_low\\\\\\"}</Audio>\\n <MuxConfig>\\"Segment\\": { \\"Duration\\":\\"6\\" }</MuxConfig>\\n <OpeningList>[{\\"OpenUrl\\":\\"http://outin-test.oss-cn-shanghai.aliyuncs.com/tailslates/b6e9ceed-b665-426f-9d9a-277f0f****.mov\\"}]</OpeningList>\\n </TranscodeTemplateList>\\n <TranscodeTemplateList>\\n <WatermarkIds>\\"USER_DEFAULT_WATERMARK\\",\\"ddddddddd\\"</WatermarkIds>\\n </TranscodeTemplateList>\\n <CreationTime>2018-12-12T10:20:51Z</CreationTime>\\n <Name>test</Name>\\n</TranscodeTemplateGroup>\\n</GetTranscodeTemplateGroupResponse>","errorExample":""}]', + 'title' => 'GetTranscodeTemplateGroup', + 'description' => 'This operation returns information about the specified transcoding template group and the configurations of all the transcoding templates in the group.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidTranscodeTemplateGroup.NotFound | The transcode template group does not exist. | 404 | The error message returned because the specified transcoding template group does not exist. |', + ], + 'DeleteTranscodeTemplateGroup' => [ + 'summary' => 'Deletes one or more transcoding templates from a transcoding template group or forcibly deletes a transcoding template group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39844', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TranscodeTemplateGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '4c71a339fec*****152b4fa6f4527', + ], + ], + [ + 'name' => 'TranscodeTemplateIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the transcoding templates that you want to delete.'."\n" + ."\n" + .'* Separate multiple IDs with commas (,).'."\n" + .'* You can specify a maximum of 10 IDs.'."\n" + .'* This parameter is required if you set ForceDelGroup to false or leave ForceDelGroup empty.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["613702defdc4*****6a3b94cace1129e","bfd6c90253a2*****7fc054d7c5825"]', + ], + ], + [ + 'name' => 'ForceDelGroup', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to forcibly delete the transcoding template group. Valid values:'."\n" + ."\n" + .'* **true**: deletes the transcoding template group and all the transcoding templates in the group.'."\n" + .'* **false** (default): deletes only the specified transcoding templates from the transcoding template group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'NonExistTranscodeTemplateIds' => [ + 'description' => 'The IDs of transcoding templates that were not found.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the transcoding template that was not found.'."\n", + 'type' => 'string', + 'example' => '["613702defdc4*****6a3b94cace1129e","bfd6c90253a2*****7fc054d7c5825"]', + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"NonExistTranscodeTemplateIds\\": [\\n \\"[\\\\\\"613702defdc4*****6a3b94cace1129e\\\\\\",\\\\\\"bfd6c90253a2*****7fc054d7c5825\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DeleteTranscodeTemplateGroupResponse>\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\n <NonExistTranscodeTemplateIds>613702defdc4*****6a3b94cace1129e</NonExistTranscodeTemplateIds>\\n <NonExistTranscodeTemplateIds>bfd6c90253a2*****7fc054d7c5825</NonExistTranscodeTemplateIds>\\n</DeleteTranscodeTemplateGroupResponse>","errorExample":""}]', + 'title' => 'DeleteTranscodeTemplateGroup', + 'description' => '* You cannot call this operation to delete the default transcoding template. You can delete the transcoding template when it is no longer specified as the default one.'."\n" + .'* For security purposes, you cannot add, modify, or delete transcoding templates in a transcoding template group that is locked. To check whether a transcoding template group is locked, call the [GetTranscodeTemplateGroup](~~GetTranscodeTemplateGroup~~) operation and obtain the Locked parameter from the response. To modify transcoding templates within a locked transcoding template group, you must call the [UpdateTranscodeTemplateGroup](~~UpdateTranscodeTemplateGroup~~) operation to unlock the transcoding template group first.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidTranscodeTemplateGroup.NotFound | The transcode template does not exist. | 404 | The error message returned because the specified transcoding template group does not exist. |'."\n" + .'| Forbidden.LockedTemplateGroup | The transcode template group has been locked. | 403 | The error message returned because the specified template group is locked and cannot be managed. To manage the template group, contact the ApsaraVideo VOD technical support. |'."\n" + .'| Forbidden.DefaultTemplateGroup | The transcode template group is default. | 403 | The error message returned because the specified transcoding template group is the default one that cannot be deleted. |', + ], + 'AddVodTemplate' => [ + 'summary' => 'Adds a snapshot template or frame animation template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39791', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the template.'."\n" + ."\n" + .'* The name cannot exceed 128 bytes.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'test', + ], + ], + [ + 'name' => 'TemplateType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the template. Set the value to **Snapshot**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Snapshot', + ], + ], + [ + 'name' => 'TemplateConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configurations of the snapshot template. The value must be a JSON string. For more information about the data structure, see [SnapshotTemplateConfig](~~98618~~) and [DynamicImageTemplateConfig](~~98618~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '{"SnapshotConfig":{"Count":10,"SpecifiedOffsetTime":0,"Interval":1,"FrameType":"normal"},"SnapshotType":"NormalSnapshot"}', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Multi-application service](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VodTemplateId' => [ + 'description' => 'The ID of the snapshot template. You can call the [SubmitSnapshotJob](~~72213~~) operation to submit snapshot jobs.'."\n", + 'type' => 'string', + 'example' => 'f5b228fe6930e*****0d6bf55bd87789', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VodTemplateId\\": \\"f5b228fe6930e*****0d6bf55bd87789\\",\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<AddVodTemplateResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n\\t<VodTemplateId>f5b228fe6930e*****0d6bf55bd87789</VodTemplateId>\\r\\n</AddVodTemplateResponse>","errorExample":""}]', + 'title' => 'AddVodTemplate', + 'description' => '* After you add a snapshot template, you can call the [SubmitSnapshotJob](~~72213~~) operation and specify the template ID to submit a snapshot job.'."\n" + ."\n" + .'* You can use the HTTP (HTTPS compatible) callback or MNS callback method to receive the [SnapshotComplete](~~57337~~) callback. For more information, see [Overview](~~55627~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'UpdateVodTemplate' => [ + 'summary' => 'Modifies a snapshot template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40235', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VodTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the snapshot template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '8c75a02e339b*****0b0d2c48171a22', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the template.'."\n" + ."\n" + .'* The name can be up to 128 bytes in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'TemplateConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configurations of the snapshot template. The value is a JSON-formatted string. For more information about the data structure, see the "SnapshotTemplateConfig" section of the [Media processing parameters](~~98618~~) topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"SnapshotConfig":{"Count":10,"SpecifiedOffsetTime":0,"Interval":1}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VodTemplateId' => [ + 'description' => 'The ID of the snapshot template.'."\n", + 'type' => 'string', + 'example' => '8c75a02e339b*****0b0d2c48171a22', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VodTemplateId\\": \\"8c75a02e339b*****0b0d2c48171a22\\",\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVodTemplateResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n\\t<VodTemplateId>8c75a02e339b*****0b0d2c48171a22</VodTemplateId>\\r\\n</UpdateVodTemplateResponse>","errorExample":""}]', + 'title' => 'UpdateVodTemplate', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetVodTemplate' => [ + 'summary' => 'Queries details of a snapshot template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40007', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VodTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the snapshot template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '7c49f2f4c0969*****fcd446690', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'DE7A1F49-41C1-47*****DF-4CD0C02087DB', + ], + 'VodTemplateInfo' => [ + 'description' => 'The information about the snapshot template.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-30T08:05:59:57Z', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the template is the default one. Valid values:'."\n" + ."\n" + .'* **Default**: The template is the default one.'."\n" + .'* **NotDefault**: The template is not the default one.'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'TemplateType' => [ + 'description' => 'The type of the template. Valid values:'."\n" + ."\n" + .'* **Snapshot**'."\n" + .'* **DynamicImage**'."\n", + 'type' => 'string', + 'example' => 'Snapshot', + ], + 'VodTemplateId' => [ + 'description' => 'The ID of the template.'."\n", + 'type' => 'string', + 'example' => '7c49f2f4c09*****69fcd446690', + ], + 'TemplateConfig' => [ + 'description' => 'The detailed configurations of the template. The value is a JSON-formatted string. For more information about the data structure, see the "SnapshotTemplateConfig" section of the [Media processing parameters](~~98618~~) topic.'."\n", + 'type' => 'string', + 'example' => '{\\"SnapshotConfig\\":{\\"Count\\":10,\\"SpecifiedOffsetTime\\":0,\\"Interval\\":1},\\"SnapshotType\\":\\"NormalSnapshot\\"}', + ], + 'Name' => [ + 'description' => 'The name of the template.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ModifyTime' => [ + 'description' => 'The time when the template was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-30T09:05:59:57Z', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE7A1F49-41C1-47*****DF-4CD0C02087DB\\",\\n \\"VodTemplateInfo\\": {\\n \\"CreationTime\\": \\"2018-11-30T08:05:59:57Z\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"TemplateType\\": \\"Snapshot\\",\\n \\"VodTemplateId\\": \\"7c49f2f4c09*****69fcd446690\\",\\n \\"TemplateConfig\\": \\"{\\\\\\\\\\\\\\"SnapshotConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"Count\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"SpecifiedOffsetTime\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"Interval\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\"SnapshotType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NormalSnapshot\\\\\\\\\\\\\\"}\\",\\n \\"Name\\": \\"test\\",\\n \\"ModifyTime\\": \\"2018-11-30T09:05:59:57Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetVodTemplateResponse>\\n <RequestId>DE7A1F49-41C1-47*****DF-4CD0C02087DB</RequestId>\\n <VodTemplateInfo>\\n <Name>test</Name>\\n <TemplateType>Snapshot</TemplateType>\\n <Source>Custom</Source>\\n <CreationTime>2018-11-30T08:05:59:57Z</CreationTime>\\n <VodTemplateId>7c49f2f4c09*****69fcd446690</VodTemplateId>\\n <IsDefault>NotDefault</IsDefault>\\n <TemplateConfig>{\\"SnapshotConfig\\":{\\"Count\\":10,\\"SpecifiedOffsetTime\\":0,\\"Interval\\":1},\\"SnapshotType\\":\\"NormalSnapshot\\"}</TemplateConfig>\\n <ModifyTime>2018-11-30T09:05:59:57Z</ModifyTime>\\n </VodTemplateInfo>\\n</GetVodTemplateResponse>","errorExample":""}]', + 'title' => 'GetVodTemplate', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'ListVodTemplate' => [ + 'summary' => 'Queries snapshot templates.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40083', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the template. Set the value to **Snapshot**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Snapshot', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Set the value to **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '2A56B75B-B7E6-48*****27-A9BEAA3E50A8', + ], + 'VodTemplateInfoList' => [ + 'description' => 'The snapshot templates.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-30T08:05:59:57Z', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the template is the default one. Valid values:'."\n" + ."\n" + .'* **Default**: The template is the default one.'."\n" + .'* **NotDefault**: The template is not the default one.'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'TemplateType' => [ + 'description' => 'The type of the template. Valid values:'."\n" + ."\n" + .'* **Snapshot**'."\n" + .'* **DynamicImage**'."\n", + 'type' => 'string', + 'example' => 'Snapshot', + ], + 'VodTemplateId' => [ + 'description' => 'The ID of the template.'."\n", + 'type' => 'string', + 'example' => '7c49f2f42b1c*****0969fcd446690', + ], + 'TemplateConfig' => [ + 'description' => 'The detailed configurations of the template. The value is a JSON-formatted string. For more information about the data structure, see the "SnapshotTemplateConfig" section of the [Media processing parameters](~~98618~~) topic.'."\n", + 'type' => 'string', + 'example' => '{\\"SnapshotConfig\\":{\\"Count\\":10,\\"SpecifiedOffsetTime\\":0,\\"Interval\\":1},\\"SnapshotType\\":\\"NormalSnapshot\\"}', + ], + 'Name' => [ + 'description' => 'The name of the template.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ModifyTime' => [ + 'description' => 'The time when the template was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-30T09:05:59:97Z', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2A56B75B-B7E6-48*****27-A9BEAA3E50A8\\",\\n \\"VodTemplateInfoList\\": [\\n {\\n \\"CreationTime\\": \\"2018-11-30T08:05:59:57Z\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"TemplateType\\": \\"Snapshot\\",\\n \\"VodTemplateId\\": \\"7c49f2f42b1c*****0969fcd446690\\",\\n \\"TemplateConfig\\": \\"{\\\\\\\\\\\\\\"SnapshotConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"Count\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"SpecifiedOffsetTime\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"Interval\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\"SnapshotType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"NormalSnapshot\\\\\\\\\\\\\\"}\\",\\n \\"Name\\": \\"test\\",\\n \\"ModifyTime\\": \\"2018-11-30T09:05:59:97Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListVodTemplateResponse>\\n <RequestId>2A56B75B-B7E6-48*****27-A9BEAA3E50A8</RequestId>\\n <VodTemplateInfoList>\\n <CreationTime>2018-11-30T08:05:59:57Z</CreationTime>\\n <TemplateType>Snapshot</TemplateType>\\n <Name>test</Name>\\n <VodTemplateId>7c49f2f42b1c*****0969fcd446690</VodTemplateId>\\n <TemplateConfig>{\\"SnapshotConfig\\":{\\"Count\\":10,\\"SpecifiedOffsetTime\\":0,\\"Interval\\":1},\\"SnapshotType\\":\\"NormalSnapshot\\"}</TemplateConfig>\\n <IsDefault>NotDefault</IsDefault>\\n <ModifyTime>2018-11-30T09:05:59:57Z</ModifyTime>\\n </VodTemplateInfoList>\\n <VodTemplateInfoList>\\n <CreationTime>2018-11-29T09:58:01:20Z</CreationTime>\\n <TemplateType>Snapshot</TemplateType>\\n <Name>snapshottest</Name>\\n <VodTemplateId>ee014fd5889b6*****7828cae2bbb2b</VodTemplateId>\\n <TemplateConfig>{\\"SnapshotConfig\\":{\\"Count\\":10,\\"SpecifiedOffsetTime\\":0,\\"Interval\\":1},\\"SnapshotType\\":\\"NormalSnapshot\\"}</TemplateConfig>\\n <IsDefault>NotDefault</IsDefault>\\n <ModifyTime>2018-11-29T10:58:01:20Z</ModifyTime>\\n </VodTemplateInfoList>\\n</ListVodTemplateResponse>","errorExample":""}]', + 'title' => 'ListVodTemplate', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'DeleteVodTemplate' => [ + 'summary' => 'Deletes a snapshot template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39851', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VodTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the snapshot template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'f5b228fe6930e*****d6bf55bd87789', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VodTemplateId' => [ + 'description' => 'The ID of the snapshot template.'."\n", + 'type' => 'string', + 'example' => 'f5b228fe6930e*****d6bf55bd87789', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VodTemplateId\\": \\"f5b228fe6930e*****d6bf55bd87789\\",\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVodTemplateResponse>\\r\\n\\t<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n\\t<VodTemplateId>f5b228fe6930e*****d6bf55bd87789</VodTemplateId>\\r\\n</DeleteVodTemplateResponse>","errorExample":""}]', + 'title' => 'DeleteVodTemplate', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'AddWatermark' => [ + 'summary' => 'Creates an image or text watermark template. ApsaraVideo VOD allows you to create watermark templates to reuse your parameter configurations such as watermark position, size, font, and color. Each watermark template is assigned a unique ID. This simplifies the processing of watermark tasks.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39792', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the watermark template. Valid values:'."\n" + ."\n" + .'* **Image** (default): image watermark template'."\n" + .'* **Text**: text watermark template'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'Text', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the watermark template.'."\n" + ."\n" + .'* Only letters and digits are supported.'."\n" + .'* The name cannot exceed 128 bytes.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'watermark', + ], + ], + [ + 'name' => 'WatermarkConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration information of the watermark such as the display position and special effects. The value must be a JSON string. The configuration parameters for image and text watermarks are different. For more information about the parameter structure, see [WatermarkConfig](~~98618#section-h01-44s-2lr~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '{"Width":"55","Height":"55","Dx":"9","Dy":"9","ReferPos":"BottonLeft"}', + ], + ], + [ + 'name' => 'FileUrl', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the watermark file. The URL must be an Object Storage Service (OSS) URL and cannot contain the information used for URL signing.'."\n" + ."\n" + .'> * This parameter is required if you set `Type` to `Image`.'."\n" + .'> * You can obtain the URL from the `FileURL` parameter in the response to the [CreateUploadAttachedMedia](~~CreateUploadAttachedMedia~~) operation that you call to upload the watermark image to ApsaraVideo VOD.', + 'type' => 'string', + 'required' => false, + 'example' => 'http://outin-326268*****63e1403e7.oss-cn-shanghai.aliyuncs.com/image/cover/C99345*****E7FDEC-6-2.png', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. If you have activated the multi-application service, specify the ID of the application to add the watermark template in the specified application. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'WatermarkInfo' => [ + 'description' => 'The information about the watermark template.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the watermark template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-07T09:05:52Z', + ], + 'Type' => [ + 'description' => 'The type of the watermark template.'."\n" + ."\n" + .'* **Image**: image watermark template'."\n" + .'* **Text**: text watermark template'."\n", + 'type' => 'string', + 'example' => 'Text', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the watermark template is the default one. Valid values:'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'FileUrl' => [ + 'description' => 'The URL of the watermark file. The URL is an Object Storage Service (OSS) URL or an Alibaba Cloud CDN URL.'."\n" + ."\n" + .'> This parameter is returned only for image watermark templates.'."\n", + 'type' => 'string', + 'example' => 'https://outin-3262*****9f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/E6C3448CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****', + ], + 'WatermarkConfig' => [ + 'description' => 'The configuration information of the watermark such as the display position and special effects. The value is a JSON string. The configuration parameters for image and text watermarks are different. For more information about the parameter structure, see [WatermarkConfig](~~98618#section-h01-44s-2lr~~).'."\n", + 'type' => 'string', + 'example' => '{"FontColor": "Blue","FontSize": 80, "Content": "watermark test" }', + ], + 'Name' => [ + 'description' => 'The name of the watermark template.'."\n", + 'type' => 'string', + 'example' => ' text watermark test', + ], + 'WatermarkId' => [ + 'description' => 'The ID of the watermark template.'."\n", + 'type' => 'string', + 'example' => '9bcc8bfadb84*****109a2671d0df97', + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"WatermarkInfo\\": {\\n \\"CreationTime\\": \\"2018-11-07T09:05:52Z\\",\\n \\"Type\\": \\"Image\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"FileUrl\\": \\"https://outin-3262*****9f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/E6C3448CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****\\",\\n \\"WatermarkConfig\\": \\"{\\\\n \\\\\\"Width\\\\\\": \\\\\\"55\\\\\\",\\\\n \\\\\\"Height\\\\\\": \\\\\\"55\\\\\\",\\\\n \\\\\\"Dx\\\\\\": \\\\\\"9\\\\\\",\\\\n \\\\\\"Dy\\\\\\": \\\\\\"9\\\\\\",\\\\n \\\\\\"ReferPos\\\\\\": \\\\\\"BottomLeft\\\\\\"\\\\n}\\",\\n \\"Name\\": \\"图片水印模板\\",\\n \\"WatermarkId\\": \\"9bcc8bfadb84*****109a2671d0df97\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddWatermarkResponse>\\n<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\n<WatermarkInfo>\\n <IsDefault>NotDefault</IsDefault>\\n <FileUrl>https://outin-3262*****9f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/E6C3448CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****</FileUrl>\\n <Type>Text</Type>\\n <WatermarkId>9bcc8bfadb84*****109a2671d0df97</WatermarkId>\\n <CreationTime>2018-11-07T09:05:52Z</CreationTime>\\n <WatermarkConfig>{\\"FontColor\\": \\"Blue\\",\\"FontSize\\": 80, \\"Content\\": \\"水印测试\\" }</WatermarkConfig>\\n <Name>文字水印测试</Name>\\n</WatermarkInfo>\\n</AddWatermarkResponse>","errorExample":""}]', + 'title' => 'AddWatermark', + 'description' => '* You can call this operation to create an `Image` watermark template or a `Text` watermark template. You can use static images in the PNG format or dynamic images in the GIF, APNG, and MOV formats as image watermarks.'."\n" + .'* After you call this operation to create a watermark template, you must call the [AddTranscodeTemplateGroup](~~AddTranscodeTemplateGroup~~) or [UpdateTranscodeTemplateGroup](~~UpdateTranscodeTemplateGroup~~) operation to associate the watermark template with a transcoding template group. This way, you can add watermarks to videos during transcoding.'."\n" + .'* For more information, see [Video watermarks](~~99369~~).'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the user-related resource does not exist. %s indicates the specific resource information. |', + ], + 'UpdateWatermark' => [ + 'summary' => 'Modifies the name and configurations of a watermark template after you create a watermark template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40237', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the watermark template to which you want to change.'."\n" + ."\n" + .'* Only letters and digits are supported.'."\n" + .'* The name cannot exceed 128 bytes.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'WatermarkId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the watermark template. You can specify only one watermark template ID. You can obtain the ID by using one of the following methods:'."\n" + ."\n" + .'* Obtain the watermark template ID from the response to the [AddWatermark](~~AddWatermark~~) operation that you call to create a watermark template.'."\n" + .'* Obtain the watermark template ID from the response to the [ListWatermark](~~ListWatermark~~) operation that you call to query all watermark templates within your account.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'af2afe4761992c*****bd947dae97337', + ], + ], + [ + 'name' => 'WatermarkConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration information of the watermark such as the display position and special effects. The value must be a JSON string. The configuration parameters for image and text watermarks are different. For more information about the parameter structure, see [WatermarkConfig](~~98618#section-h01-44s-2lr~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '{"Width":"55","Height":"55","Dx":"9","Dy":"9","ReferPos":"BottonLeft","Type":"Image"}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'WatermarkInfo' => [ + 'description' => 'The information about the watermark template.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the watermark template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-06T08:03:17Z', + ], + 'Type' => [ + 'description' => 'The type of the watermark template.'."\n" + ."\n" + .'* **Image**: image watermark template'."\n" + .'* **Text**: text watermark template'."\n", + 'type' => 'string', + 'example' => 'Text', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the watermark template is the default one.'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'FileUrl' => [ + 'description' => 'The URL of the watermark file. The URL is an Object Storage Service (OSS) URL or an Alibaba Cloud CDN URL.'."\n" + ."\n" + .'> This parameter is returned only for image watermark templates.'."\n", + 'type' => 'string', + 'example' => 'https://outin-32****9f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/E6C3448CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****', + ], + 'WatermarkConfig' => [ + 'description' => 'The configuration information of the watermark such as the display position and special effects. The value is a JSON string. The configuration parameters for image and text watermarks are different. For more information about the parameter structure, see [WatermarkConfig](~~98618#section-h01-44s-2lr~~).'."\n", + 'type' => 'string', + 'example' => '{"Width":"55","Height":"55","Dx":"9","Dy":"9","ReferPos":"BottonLeft","Type":"Image"}', + ], + 'Name' => [ + 'description' => 'The name of the watermark template.'."\n", + 'type' => 'string', + 'example' => 'image watermark test', + ], + 'WatermarkId' => [ + 'description' => 'The ID of the watermark template.'."\n", + 'type' => 'string', + 'example' => '505e2e287ea*****ecfddd386d384', + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"WatermarkInfo\\": {\\n \\"CreationTime\\": \\"2018-11-06T08:03:17Z\\",\\n \\"Type\\": \\"Image\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"FileUrl\\": \\"https://outin-32****9f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/E6C3448CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****\\",\\n \\"WatermarkConfig\\": \\"{\\\\\\"Width\\\\\\":\\\\\\"55\\\\\\",\\\\\\"Height\\\\\\":\\\\\\"55\\\\\\",\\\\\\"Dx\\\\\\":\\\\\\"9\\\\\\",\\\\\\"Dy\\\\\\":\\\\\\"9\\\\\\",\\\\\\"ReferPos\\\\\\":\\\\\\"BottomLeft\\\\\\"}\\",\\n \\"Name\\": \\"test\\",\\n \\"WatermarkId\\": \\"505e2e287ea*****ecfddd386d384\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateWatermarkResponse>\\n<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\n<WatermarkInfo>\\n <Name>图片水印测试</Name>\\n <CreationTime>2018-11-06T08:03:17Z</CreationTime>\\n <WatermarkId>505e2e287ea*****ecfddd386d384</WatermarkId>\\n <FileUrl>https://outin-32****9f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/E6C3448CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****</FileUrl>\\n <IsDefault>NotDefault</IsDefault>\\n <Type>Image</Type>\\n <WatermarkConfig>\\n <ReferPos>BottomRight</ReferPos>\\n <Height>55</Height>\\n <Width>55</Width>\\n <Dx>8</Dx>\\n <Dy>8</Dy>\\n </WatermarkConfig>\\n</WatermarkInfo>\\n</UpdateWatermarkResponse>","errorExample":""}]', + 'title' => 'UpdateWatermark', + 'description' => '* You can modify the name and configurations of the watermark template after you call the [AddWatermark](~~AddWatermark~~) operation to create a watermark template.'."\n" + .'* You cannot call this operation to change the image in an image watermark template.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'DeleteWatermark' => [ + 'summary' => 'Deletes an image watermark or text watermark template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39852', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'WatermarkId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of watermark template that you want to delete. You can specify only one watermark template ID. You can obtain the ID by using one of the following methods:'."\n" + ."\n" + .'* Obtain the watermark template ID from the response to the [AddWatermark](~~AddWatermark~~) operation that you call to create a watermark template.'."\n" + .'* Obtain the watermark template ID from the response to the [ListWatermark](~~ListWatermark~~) operation that you call to query all watermark templates within your account.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '9bcc8bfadb843f*****09a2671d0df97', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteWatermarkResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n</DeleteWatermarkResponse>","errorExample":""}]', + 'title' => 'DeleteWatermark', + 'description' => '* **After you delete an image watermark template, the source watermark file is physically deleted and cannot be restored. Exercise caution when you call this operation.**'."\n" + .'* You cannot delete the default watermark template. To delete a default watermark template, call the [SetDefaultWatermark](~~SetDefaultWatermark~~) operation to set another watermark template as the default one.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the user-related resource does not exist. %s indicates the specific resource information. |', + ], + 'SetDefaultWatermark' => [ + 'summary' => 'Sets a watermark template as the default one.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40142', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'WatermarkId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the watermark template. You can specify only one watermark template ID. You can obtain the ID by using one of the following methods:'."\n" + ."\n" + .'* Obtain the watermark template ID from the response to the [AddWatermark](~~AddWatermark~~) operation that you call to create a watermark template.'."\n" + .'* Obtain the watermark template ID from the response to the [ListWatermark](~~ListWatermark~~) operation that you call to query all watermark templates within your account.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '9bcc8bfadb843f*****09a2671d0df97', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<SetDefaultWatermarkResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n</SetDefaultWatermarkResponse>","errorExample":""}]', + 'title' => 'SetDefaultWatermark', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the user-related resource does not exist. %s indicates the specific resource information. |', + ], + 'GetWatermark' => [ + 'summary' => 'Queries the configurations of an image or text watermark template based on tits ID. You can call this operation to obtain information such as the position, size, and display time of an image watermark or the content, position, font, and font color of a text watermark.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40009', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'WatermarkId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the watermark template. You can specify only one watermark template ID. You can obtain the ID by using one of the following methods:'."\n" + ."\n" + .'* Obtain the watermark template ID from the response to the [AddWatermark](~~AddWatermark~~) operation that you call to create a watermark template.'."\n" + .'* Obtain the watermark template ID from the response to the [ListWatermark](~~ListWatermark~~) operation that you call to query all watermarks within your account.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '9bcc8bfadb843f*****09a2671d0df97', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'WatermarkInfo' => [ + 'description' => 'The information about the watermark template.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the watermark template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-06T08:03:17Z', + ], + 'Type' => [ + 'description' => 'The type of the watermark template. Valid values:'."\n" + ."\n" + .'* **Image**: image watermark template'."\n" + .'* **Text**: text watermark template'."\n", + 'type' => 'string', + 'example' => 'Text', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the watermark template is the default one. Valid values:'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'FileUrl' => [ + 'description' => 'The URL of the watermark file. The URL is an Object Storage Service (OSS) URL or an Alibaba Cloud CDN URL.'."\n" + ."\n" + .'> This parameter is returned only for image watermark templates.'."\n", + 'type' => 'string', + 'example' => 'https://outin-32*****f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/F85529C8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'WatermarkConfig' => [ + 'description' => 'The configuration information of the watermark such as the display position and special effects. The value is a JSON string. The configuration parameters for image and text watermarks are different. For more information about the parameter structure, see [WatermarkConfig](~~98618#section-h01-44s-2lr~~).'."\n", + 'type' => 'string', + 'example' => '{"ReferPos": "BottomRight","Height": "55","Width": "55","Dx": "8","Dy": "8" }', + ], + 'Name' => [ + 'description' => 'The name of the watermark template.'."\n", + 'type' => 'string', + 'example' => 'image watermark test', + ], + 'WatermarkId' => [ + 'description' => 'The ID of the watermark template.'."\n", + 'type' => 'string', + 'example' => '505e2e287ea*****ecfddd386d384', + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"WatermarkInfo\\": {\\n \\"CreationTime\\": \\"2018-11-06T08:03:17Z\\",\\n \\"Type\\": \\"Image\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"FileUrl\\": \\"https://outin-32*****f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/F85529C8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"WatermarkConfig\\": \\"{\\\\\\"ReferPos\\\\\\": \\\\\\"BottomRight\\\\\\",\\\\\\"Height\\\\\\": \\\\\\"55\\\\\\",\\\\\\"Width\\\\\\": \\\\\\"55\\\\\\",\\\\\\"Dx\\\\\\": \\\\\\"8\\\\\\",\\\\\\"Dy\\\\\\": \\\\\\"8\\\\\\" }\\",\\n \\"Name\\": \\"图片水印测试\\",\\n \\"WatermarkId\\": \\"505e2e287ea*****ecfddd386d384\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetWatermarkResponse>\\n<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\n<WatermarkInfo>\\n <IsDefault>NotDefault</IsDefault>\\n <FileUrl>https://outin-32*****f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/F85529C8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozBW****</FileUrl>\\n <Type>Text</Type>\\n <AppId>app-****</AppId>\\n <WatermarkId>505e2e287ea*****ecfddd386d384</WatermarkId>\\n <CreationTime>2018-11-06T08:03:17Z</CreationTime>\\n <WatermarkConfig>{\\"ReferPos\\": \\"BottomRight\\",\\"Height\\": \\"55\\",\\"Width\\": \\"55\\",\\"Dx\\": \\"8\\",\\"Dy\\": \\"8\\" }</WatermarkConfig>\\n <Name>图片水印测试</Name>\\n</WatermarkInfo>\\n</GetWatermarkResponse>","errorExample":""}]', + 'title' => 'GetWatermark', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the user-related resource does not exist. %s indicates the specific resource information. |', + ], + 'ListWatermark' => [ + 'summary' => 'Queries the configuration information about all image and text watermark templates in a region. You can call this operation to obtain information such as the position, size, and display time of image watermarks or the content, position, font, and font color of text watermarks.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40085', + 'abilityTreeNodes' => [ + 'FEATUREvodCOT3DK', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**.'."\n" + ."\n" + .'If you have activated the multi-application service, specify the ID of the application to query all image and text watermark templates in the specified application. If you leave this parameter empty, image and text watermark templates in all applications are queried. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'WatermarkInfos' => [ + 'description' => 'The information about the watermark template.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the watermark template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-11-07T09:05:52Z', + ], + 'Type' => [ + 'description' => 'The type of the watermark template.'."\n" + ."\n" + .'* **Image**: image watermark template'."\n" + .'* **Text**: text watermark template'."\n", + 'type' => 'string', + 'example' => 'Text', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the watermark template is the default one. Valid values:'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'FileUrl' => [ + 'description' => 'The URL of the watermark file. The URL is an Object Storage Service (OSS) URL or an Alibaba Cloud CDN URL.'."\n" + ."\n" + .'> This parameter is returned only for image watermark templates.'."\n", + 'type' => 'string', + 'example' => 'https://outin-3262681cd*****89f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/8CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozB****', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'WatermarkConfig' => [ + 'description' => 'The configuration information of the watermark such as the display position and special effects. The value is a JSON string. The configuration parameters for image and text watermarks are different. For more information about the parameter structure, see [WatermarkConfig](~~98618#section-h01-44s-2lr~~).'."\n", + 'type' => 'string', + 'example' => '{"FontColor": "Blue","FontSize": 80,"Content": "test watermark"}', + ], + 'Name' => [ + 'description' => 'The name of the watermark template.'."\n", + 'type' => 'string', + 'example' => 'testName', + ], + 'WatermarkId' => [ + 'description' => 'The ID of the watermark template.'."\n", + 'type' => 'string', + 'example' => '9bcc8bfadb843*****109a2671d0df97', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"WatermarkInfos\\": [\\n {\\n \\"CreationTime\\": \\"2018-11-07T09:05:52Z\\",\\n \\"Type\\": \\"Text\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"FileUrl\\": \\"https://outin-3262681cd*****89f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/8CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozB****\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"WatermarkConfig\\": \\"{\\\\\\"FontColor\\\\\\": \\\\\\"Blue\\\\\\",\\\\\\"FontSize\\\\\\": 80,\\\\\\"Content\\\\\\": \\\\\\"水印测试\\\\\\"}\\",\\n \\"Name\\": \\"文字水印测试\\",\\n \\"WatermarkId\\": \\"9bcc8bfadb843*****109a2671d0df97\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListWatermarkResponse>\\n<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\n<WatermarkInfos>\\n <IsDefault>NotDefault</IsDefault>\\n <FileUrl>https://outin-3262681cd*****89f4b3e7.oss-cn-shanghai.aliyuncs.com/image/cover/8CC8B715E6F8A72EC6B-6-2.png?Expires=1541600583&OSSAccessKeyId=****&Signature=gmf1eYMoDVg%2BHQCb4UGozB****</FileUrl>\\n <Type>Text</Type>\\n <AppId>app-****</AppId>\\n <WatermarkId>9bcc8bfadb843*****109a2671d0df97</WatermarkId>\\n <CreationTime>2018-11-07T09:05:52Z</CreationTime>\\n <WatermarkConfig>{\\"FontColor\\": \\"Blue\\",\\"FontSize\\": 80,\\"Content\\": \\"水印测试\\"}</WatermarkConfig>\\n <Name>文字水印测试</Name>\\n</WatermarkInfos>\\n</ListWatermarkResponse>","errorExample":""}]', + 'title' => 'ListWatermark', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetTranscodeSummary' => [ + 'summary' => 'Queries transcoding summaries of audio and video files based on the file ID. A transcoding summary includes the status and progress of transcoding.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39982', + 'abilityTreeNodes' => [ + 'FEATUREvodAFH3DF', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the audio or video file. You can specify up to 10 IDs. Separate the IDs with commas (,). You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* After you upload a video in the [ApsaraVideo VOD console](https://vod.console.aliyun.com), you can log on to the ApsaraVideo VOD console and choose **Media Files** > **Audio/Video** to view the ID of the video.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to obtain the upload URL and credential.'."\n" + .'* Obtain the value of VideoId by calling the [SearchMedia](~~86044~~) operation. This method is applicable to files that have been uploaded.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '"d4860fcc6ae9fed52e8938244****,e1db68cc586644b83e562bcd94****,hhhhhhh"', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'NonExistVideoIds' => [ + 'description' => 'The IDs of the audio or video files that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the audio or video file that does not exist.'."\n", + 'type' => 'string', + 'example' => '["hhhhhhh"]', + ], + ], + 'TranscodeSummaryList' => [ + 'description' => 'The transcoding summary of the file.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the transcoding task was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-23T12:35:12Z', + ], + 'VideoId' => [ + 'description' => 'The ID of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'e1db68cc586644b83e562bcd94****', + ], + 'CompleteTime' => [ + 'description' => 'The time when the transcoding task was complete. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-23T12:40:12Z', + ], + 'TranscodeStatus' => [ + 'description' => 'The status of the transcoding task. Valid values:'."\n" + ."\n" + .'* **Processing**: Transcoding is in process.'."\n" + .'* **Partial**: Some transcoding jobs were complete.'."\n" + .'* **CompleteAllSucc**: All transcoding jobs were successful.'."\n" + .'* **CompleteAllFail**: All transcoding jobs failed. If an exception occurs in the source file, no transcoding job is initiated and the transcoding task fails.'."\n" + .'* **CompletePartialSucc**: All transcoding jobs were complete but only some were successful.'."\n", + 'type' => 'string', + 'example' => 'Processing', + ], + 'TranscodeTemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => '44f9e406bbb*****736a9abe876ecc0', + ], + 'TranscodeJobInfoSummaryList' => [ + 'description' => 'The summaries of transcoding jobs.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the transcoding job was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-02-27T03:34:46Z', + ], + 'ErrorMessage' => [ + 'description' => 'The error message returned when the transcoding job failed.'."\n", + 'type' => 'string', + 'example' => 'ErrorMessage', + ], + 'Height' => [ + 'description' => 'The height of the output video. Unit: pixels.'."\n", + 'type' => 'string', + 'example' => '960', + ], + 'TranscodeProgress' => [ + 'description' => 'The transcoding progress. Valid values: `[0,100]`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'TranscodeTemplateId' => [ + 'description' => 'The ID of the transcoding template.'."\n", + 'type' => 'string', + 'example' => '57496724ae2*****0968d6e08acc8f6', + ], + 'Bitrate' => [ + 'description' => 'The average bitrate of the output video. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '749', + ], + 'ErrorCode' => [ + 'description' => 'The error code returned when the transcoding job failed.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'CompleteTime' => [ + 'description' => 'The time when the transcoding job was complete. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-02-27T03:40:51Z', + ], + 'Width' => [ + 'description' => 'The width of the output video. Unit: pixels.'."\n", + 'type' => 'string', + 'example' => '544', + ], + 'Duration' => [ + 'description' => 'The duration of the output video. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '12', + ], + 'Fps' => [ + 'description' => 'The frame rate of the output video. Unit: frames per second.'."\n", + 'type' => 'string', + 'example' => '30', + ], + 'TranscodeJobStatus' => [ + 'description' => 'The status of the transcoding job. Valid values:'."\n" + ."\n" + .'* **Transcoding**: Transcoding is in process.'."\n" + .'* **TranscodeSuccess**: The job was successful.'."\n" + .'* **TranscodeFail**: The job failed.'."\n", + 'type' => 'string', + 'example' => 'Transcoding', + ], + 'Filesize' => [ + 'description' => 'The size of the output video. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1144259', + ], + 'Format' => [ + 'description' => 'The container format of the output video.'."\n", + 'type' => 'string', + 'example' => 'mp4', + ], + 'WatermarkIdList' => [ + 'description' => 'The IDs of the watermarks that are applied to the output video.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the watermarks that are applied to the output video.'."\n", + 'type' => 'string', + 'example' => '["af2afe4761992c*****d947dae97337"]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"NonExistVideoIds\\": [\\n \\"[\\\\\\"hhhhhhh\\\\\\"]\\"\\n ],\\n \\"TranscodeSummaryList\\": [\\n {\\n \\"CreationTime\\": \\"2019-01-23T12:35:12Z\\",\\n \\"VideoId\\": \\"e1db68cc586644b83e562bcd94****\\",\\n \\"CompleteTime\\": \\"2019-01-23T12:40:12Z\\",\\n \\"TranscodeStatus\\": \\"Processing\\",\\n \\"TranscodeTemplateGroupId\\": \\"44f9e406bbb*****736a9abe876ecc0\\",\\n \\"TranscodeJobInfoSummaryList\\": [\\n {\\n \\"CreationTime\\": \\"2019-02-27T03:34:46Z\\",\\n \\"ErrorMessage\\": \\"ErrorMessage\\",\\n \\"Height\\": \\"960\\",\\n \\"TranscodeProgress\\": 100,\\n \\"TranscodeTemplateId\\": \\"57496724ae2*****0968d6e08acc8f6\\",\\n \\"Bitrate\\": \\"749\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CompleteTime\\": \\"2019-02-27T03:40:51Z\\",\\n \\"Width\\": \\"544\\",\\n \\"Duration\\": \\"12\\",\\n \\"Fps\\": \\"30\\",\\n \\"TranscodeJobStatus\\": \\"Transcoding\\",\\n \\"Filesize\\": 1144259,\\n \\"Format\\": \\"mp4\\",\\n \\"WatermarkIdList\\": [\\n \\"[\\\\\\"af2afe4761992c*****d947dae97337\\\\\\"]\\"\\n ]\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetTranscodeSummaryResponse>\\r\\n<RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n\\t<TranscodeSummaryList>\\r\\n\\t\\t<VideoId>e1db68cc58664*****4b83e562bcd9</VideoId>\\r\\n\\t\\t<TranscodeStatus>Processing</TranscodeStatus>\\r\\n\\t\\t<TranscodeTemplateGroupId>44f9e406bbb*****736a9abe876ecc0</TranscodeTemplateGroupId>\\r\\n\\t\\t<CreationTime>2019-01-23T12:35:12Z</CreationTime>\\r\\n\\t\\t<CompleteTime>2019-01-23T12:40:12Z</CompleteTime>\\r\\n\\t\\t<TranscodeJobInfoSummaryList>\\r\\n\\t\\t\\t<Format>mp4</Format>\\r\\n\\t\\t\\t<Encryption>{}</Encryption>\\r\\n\\t\\t\\t<TranscodeProgress>100</TranscodeProgress>\\r\\n\\t\\t\\t<Height>960</Height>\\r\\n\\t\\t\\t<CreationTime>2019-02-27T03:34:46Z</CreationTime>\\r\\n\\t\\t\\t<CompleteTime>2019-02-27T03:40:51Z</CompleteTime>\\r\\n\\t\\t\\t<TranscodeJobStatus>TranscodeSuccess</TranscodeJobStatus>\\r\\n\\t\\t\\t<Filesize>1144259</Filesize>\\r\\n\\t\\t\\t<WatermarkIdList>af2afe4761992c*****d947dae97337</WatermarkIdList>\\r\\n\\t\\t\\t<Duration>12</Duration>\\r\\n\\t\\t\\t<TranscodeTemplateId>57496724ae2*****0968d6e08acc8f6</TranscodeTemplateId>\\r\\n\\t\\t\\t<Width>544</Width>\\r\\n\\t\\t\\t<Fps>30</Fps>\\r\\n\\t\\t\\t<Bitrate>749</Bitrate>\\r\\n\\t\\t\\t<Definition>LD</Definition>\\r\\n\\t\\t</TranscodeJobInfoSummaryList>\\r\\n\\t\\t<TranscodeJobInfoSummaryList>\\r\\n\\t\\t\\t<Format>m3u8</Format>\\r\\n\\t\\t\\t<Encryption>{"EncryptType":"AliyunVoDEncryption"}</Encryption>\\r\\n\\t\\t\\t<TranscodeProgress>100</TranscodeProgress>\\r\\n\\t\\t\\t<Height>640</Height>\\r\\n\\t\\t\\t<CreationTime>2019-02-27T03:34:46Z</CreationTime>\\r\\n\\t\\t\\t<CompleteTime>2019-02-27T03:40:50Z</CompleteTime>\\r\\n\\t\\t\\t<TranscodeJobStatus>TranscodeSuccess</TranscodeJobStatus>\\r\\n\\t\\t\\t<Filesize>759520</Filesize>\\r\\n\\t\\t\\t<Duration>12</Duration>\\r\\n\\t\\t\\t<TranscodeTemplateId>4733b3a55b27*****82dae36ac22d34</TranscodeTemplateId>\\r\\n\\t\\t\\t<Width>360</Width>\\r\\n\\t\\t\\t<Fps>25</Fps>\\r\\n\\t\\t\\t<Bitrate>499</Bitrate>\\r\\n\\t\\t\\t<Definition>LD</Definition>\\r\\n\\t\\t</TranscodeJobInfoSummaryList>\\r\\n\\t</TranscodeSummaryList>\\r\\n\\t<NonExistVideoIds>hhhhhhh</NonExistVideoIds>\\r\\n</GetTranscodeSummaryResponse>","errorExample":""}]', + 'title' => 'GetTranscodeSummary', + 'description' => '* An audio or video file may be transcoded multiple times. This operation returns only the latest transcoding summary.'."\n" + .'* You can query transcoding summaries for a maximum of 10 audio and video files in one request.'."\n" + .'* You can call the [ListTranscodeTask](~~109120~~) operation to query historical transcoding tasks.'."\n" + .'* **You can call this operation to query information only about transcoding tasks created within the past year.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTranscodeTask' => [ + 'summary' => 'Queries transcoding tasks based on the media ID. This operation does not return specific job information.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40073', + 'abilityTreeNodes' => [ + 'FEATUREvodAFH3DF', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the audio or video file. You can use one of the following methods to obtain the ID of the file:'."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to obtain the upload URL and credential.'."\n" + .'* Obtain the value of VideoId by calling the [SearchMedia](~~86044~~) operation. This method is applicable to files that have been uploaded.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd4860fcc6a5*****bce9fed52e893824', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.', + 'type' => 'string', + 'required' => false, + 'example' => '2019-01-23T12:35:12Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.', + 'type' => 'string', + 'required' => false, + 'example' => '2019-01-23T12:40:12Z', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. You can specify a page number to return data from the specified page. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'TranscodeTaskList' => [ + 'description' => 'Details about transcoding tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the transcoding task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-23T12:35:12Z', + ], + 'Trigger' => [ + 'description' => 'The mode in which the transcoding task is triggered. Valid values:'."\n" + .'* **Auto**: The transcoding task is automatically triggered when the video is uploaded.'."\n" + .'* **Manual**: The transcoding task is triggered by calling the SubmitTranscodeJobs operation.', + 'type' => 'string', + 'example' => 'Auto', + ], + 'TaskStatus' => [ + 'description' => 'The status of the transcoding task. Valid values:'."\n" + .'* **Processing**: In progress.'."\n" + .'* **Partial**: Some transcoding jobs were complete.'."\n" + .'* **CompleteAllSucc**: All transcoding jobs were successful.'."\n" + .'* **CompleteAllFail**: All transcoding jobs failed. If an exception occurs in the source file, no transcoding job is initiated and the transcoding task fails.'."\n" + .'* **CompletePartialSucc**: All transcoding jobs were complete but only some were successful.', + 'type' => 'string', + 'example' => 'Processing', + ], + 'VideoId' => [ + 'description' => 'The ID of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'd4860fcc6a5*****bce9fed52e893824', + ], + 'CompleteTime' => [ + 'description' => 'The time when the transcoding task was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-23T12:40:12Z', + ], + 'TranscodeTemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => 'b500c7094bd24*****f3e9900752d7c3', + ], + 'TranscodeTaskId' => [ + 'description' => 'The ID of the transcoding task.'."\n", + 'type' => 'string', + 'example' => 'b1b65ab107*****ba3dbb900f6c1fe0', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"TranscodeTaskList\\": [\\n {\\n \\"CreationTime\\": \\"2019-01-23T12:35:12Z\\",\\n \\"Trigger\\": \\"Auto\\",\\n \\"TaskStatus\\": \\"Processing\\",\\n \\"VideoId\\": \\"d4860fcc6a5*****bce9fed52e893824\\",\\n \\"CompleteTime\\": \\"2019-01-23T12:40:12Z\\",\\n \\"TranscodeTemplateGroupId\\": \\"b500c7094bd24*****f3e9900752d7c3\\",\\n \\"TranscodeTaskId\\": \\"b1b65ab107*****ba3dbb900f6c1fe0\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTranscodeTaskResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n\\t<TranscodeTaskList>\\r\\n\\t\\t<TranscodeTaskId>b1b65ab107*****ba3dbb900f6c1fe0</TranscodeTaskId>\\r\\n\\t\\t<VideoId>d4860fcc6a5*****bce9fed52e893824</VideoId>\\r\\n\\t\\t<TaskStatus>Processing</TaskStatus>\\r\\n\\t\\t<TranscodeTemplateGroupId>b500c7094bd24*****f3e9900752d7c3</TranscodeTemplateGroupId>\\r\\n\\t\\t<CreationTime>2019-01-23T12:35:12Z</CreationTime>\\r\\n\\t\\t<CompleteTime>2019-01-23T12:40:12Z</CompleteTime>\\r\\n\\t</TranscodeTaskList>\\r\\n\\t<TranscodeTaskList>\\r\\n\\t\\t<TranscodeTaskId>91449a74a9d7*****31e179a1ec1e</TranscodeTaskId>\\r\\n\\t\\t<VideoId>d4860fcc6a5*****bce9fed52e893824</VideoId>\\r\\n\\t\\t<TaskStatus>CompeleteAllSucc</TaskStatus>\\r\\n\\t\\t<TranscodeTemplateGroupId>947b9f5b0eb*****3d985df69d76b7</TranscodeTemplateGroupId>\\r\\n\\t\\t<CreationTime>2019-01-23T12:35:12Z</CreationTime>\\r\\n\\t\\t<CompleteTime>2019-01-23T12:40:12Z</CompleteTime>\\r\\n\\t</TranscodeTaskList>\\r\\n</ListTranscodeTaskResponse>","errorExample":""}]', + 'title' => 'ListTranscodeTask', + 'description' => '* You can call the [GetTranscodeTask](~~109121~~) operation to query details about transcoding jobs.'."\n" + .'* **You can call this operation to query only transcoding tasks created within the past year.**', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetTranscodeTask' => [ + 'summary' => 'Queries details about transcoding jobs based on the transcoding task ID.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39984', + 'abilityTreeNodes' => [ + 'FEATUREvodAFH3DF', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TranscodeTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the transcoding task. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Obtain the value of TranscodeTaskId from the response to the [SubmitTranscodeJobs](~~68570~~) operation.'."\n" + .'* Obtain the value of TranscodeTaskId from the response to the [ListTranscodeTask](~~109120~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'b1b65ab107e14*****3dbb900f6c1fe0', + ], + ], + [ + 'name' => 'JobIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'Transcoding job ID. Supports up to 10 IDs, and multiple IDs should be separated by a comma (,). You can obtain this value in the following ways:'."\n" + ."\n" + .'When initiating a transcoding task through the [SubmitTranscodeJobs](~~454920~~) interface, it is the value of the returned parameter JobId.', + 'type' => 'string', + 'required' => false, + 'example' => '86c1925fba0****,7afb201e7fa****,2cc4997378****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F4C6D5BE-BF13-45*****6C-516EA8906DCD', + ], + 'NonExistJobIds' => [ + 'description' => 'The nonexistent job ID.', + 'type' => 'array', + 'items' => [ + 'description' => 'The nonexistent job ID.', + 'type' => 'string', + 'example' => '["hhhhhhh"]', + ], + ], + 'TranscodeJobInfoList' => [ + 'description' => 'List of transcode job information.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Definition' => [ + 'description' => 'The clarity and audio quality types are defined as follows:'."\n" + ."\n" + .'- SD: Standard Definition.'."\n" + .'- HD: High Definition.'."\n" + .'- FHD: Full High Definition.'."\n" + .'- OD: Original Definition.'."\n" + .'- 2K: 2K.'."\n" + .'- 4K: 4K.'."\n" + .'- SQ: Standard Audio Quality.'."\n" + .'- HQ: High Audio Quality.'."\n" + .'- AUTO: Adaptive Bitrate. This is only available when the transcoding template is configured with packaging settings. Please refer to [the Transcoding Template Configuration - Package Setting](https://api.aliyun-inc.com/~~52839~~?spm=openapi-amp.newDocPublishment.0.0.65b0281fNUFIXC) for more details.'."\n" + ."\n" + .'> This value represents the clarity label configured in the transcoding template and does not indicate the actual resolution range of the transcoded output file.', + 'type' => 'string', + 'example' => 'LD', + ], + 'CreationTime' => [ + 'description' => 'The creation time of the transcoding job. The format is yyyy-MM-dd\'T\'HH:mm:ssZ (UTC time).', + 'type' => 'string', + 'example' => '2019-02-26T08:27:16Z', + ], + 'InputFileUrl' => [ + 'description' => 'The OSS address of the source file for transcoding.', + 'type' => 'string', + 'example' => 'http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/customerTrans/5b95e568f8e*****47f38e/31f1184c-*****b2a2-f94-c213f.wmv', + ], + 'ErrorMessage' => [ + 'description' => 'The error message returned.'."\n", + 'type' => 'string', + 'example' => 'ErrorMessage', + ], + 'ErrorCode' => [ + 'description' => 'The error code.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'CompleteTime' => [ + 'description' => 'The complete time of the transcoding job. The format is yyyy-MM-dd\'T\'HH:mm:ssZ (UTC time).', + 'type' => 'string', + 'example' => '2019-02-26T08:30:16Z'."\n", + ], + 'TranscodeProgress' => [ + 'description' => 'The processing progress of the transcoding job. The value range is [0, 100].', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '80', + ], + 'Priority' => [ + 'description' => 'The priority of the transcoding task.', + 'type' => 'string', + 'example' => '6', + ], + 'TranscodeJobStatus' => [ + 'description' => 'The status of the transcoding job:'."\n" + ."\n" + .'Transcoding: Transcoding in progress.'."\n" + .'TranscodeSuccess: Transcoding successful.'."\n" + .'TranscodeFail: Transcoding failed.', + 'type' => 'string', + 'example' => 'Transcoding', + ], + 'TranscodeTemplateId' => [ + 'description' => 'The ID of the template used for the transcode job.', + 'type' => 'string', + 'example' => '174b0534fea3*****b51c8f0ad1374', + ], + 'TranscodeJobId' => [ + 'description' => 'The ID of the transcode job.', + 'type' => 'string', + 'example' => '38f0e513c88*****85515f9d50be188', + ], + 'OutputFile' => [ + 'description' => 'Information about the transcoded output files.', + 'type' => 'object', + 'properties' => [ + 'VideoStreamList' => [ + 'description' => 'List of video streams.', + 'type' => 'string', + 'example' => '[{\\"AvgFPS\\":\\"30.0\\",\\"Bitrate\\":\\"933.814\\",\\"CodecLongName\\":\\"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\\",\\"CodecName\\":\\"h264\\",\\"CodecTag\\":\\"0x31637661\\",\\"CodecTagString\\":\\"avc1\\",\\"CodecTimeBase\\":\\"1/60\\",\\"Dar\\":\\"9:16\\",\\"Duration\\":\\"12.033333\\",\\"Fps\\":\\"30.0\\",\\"HasBFrames\\":\\"2\\",\\"Height\\":\\"360\\",\\"Index\\":\\"0\\",\\"Lang\\":\\"und\\",\\"Level\\":\\"30\\",\\"PixFmt\\":\\"yuv420p\\",\\"Profile\\":\\"High\\",\\"Sar\\":\\"81:256\\",\\"StartTime\\":\\"0.000000\\",\\"Timebase\\":\\"1/15360\\",\\"Width\\":\\"640\\"}]', + ], + 'OutputFileUrl' => [ + 'description' => 'OSS address of the transcoded output file.', + 'type' => 'string', + 'example' => 'http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/883f5d*****f20aaa352f/c3be4f073*****7d5193ec8-{DestMd5}-od-S00000001-200000.mp4', + ], + 'Encryption' => [ + 'description' => 'Encryption configuration used for the transcoded output file. Values:'."\n" + ."\n" + .'- AliyunVoDEncryption: Alibaba Cloud Video Encryption (private encryption).'."\n" + .'- HLSEncryption: HLS standard encryption.', + 'type' => 'string', + 'example' => '{\\"EncryptType\\":\\"AliyunVoDEncryption\\"}', + ], + 'Height' => [ + 'description' => 'Height of the video frame in the transcoded output file. Unit: pixels (px).', + 'type' => 'string', + 'example' => '360', + ], + 'SubtitleStreamList' => [ + 'description' => 'List of subtitle streams.', + 'type' => 'string', + 'example' => '[]', + ], + 'Bitrate' => [ + 'description' => 'Average bitrate of the transcoded output file. Unit: Kbps.', + 'type' => 'string', + 'example' => '964', + ], + 'AudioStreamList' => [ + 'description' => 'List of audio streams.', + 'type' => 'string', + 'example' => '"AudioStreamList": "[{\\"Bitrate\\":\\"64.533\\",\\"ChannelLayout\\":\\"stereo\\",\\"Channels\\":\\"2\\",\\"CodecLongName\\":\\"AAC (Advanced Audio Coding)\\",\\"CodecName\\":\\"aac\\",\\"CodecTag\\":\\"0x6134706d\\",\\"CodecTagString\\":\\"mp4a\\",\\"CodecTimeBase\\":\\"1/44100\\",\\"Duration\\":\\"12.615533\\",\\"Index\\":\\"1\\",\\"Lang\\":\\"und\\",\\"SampleFmt\\":\\"fltp\\",\\"Samplerate\\":\\"44100\\",\\"StartTime\\":\\"-0.046440\\",\\"Timebase\\":\\"1/44100\\"}]', + ], + 'Width' => [ + 'description' => 'Width of the video frame in the transcoded output file. Unit: pixels (px).', + 'type' => 'string', + 'example' => '640', + ], + 'Fps' => [ + 'description' => 'Frame rate of the transcoded output file. Unit: frames per second (fps).', + 'type' => 'string', + 'example' => '25', + ], + 'Duration' => [ + 'description' => 'Duration of the transcoded output file. Unit: seconds (s).', + 'type' => 'string', + 'example' => '12', + ], + 'Format' => [ + 'description' => 'Container format of the transcoded output file.', + 'type' => 'string', + 'example' => 'm3u8', + ], + 'Filesize' => [ + 'description' => 'Size of the transcoded output file. Unit: bytes (B).', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '851076', + ], + 'WatermarkIdList' => [ + 'description' => 'List of watermarks used for transcoding.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of watermarks used for transcoding.', + 'type' => 'string', + 'example' => '["64079a0e3e286*****b48a8c9413"]', + ], + ], + ], + ], + ], + ], + ], + 'TranscodeTask' => [ + 'description' => 'Details about transcoding tasks.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the transcoding task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-23T12:35:12Z', + ], + 'Trigger' => [ + 'description' => 'The mode in which the transcoding task is triggered. Valid values:'."\n" + ."\n" + .'* **Auto**: The transcoding task is automatically triggered when the video is uploaded.'."\n" + .'* **Manual**: The transcoding task is triggered by calling the SubmitTranscodeJobs operation.'."\n", + 'type' => 'string', + 'example' => 'Auto ', + ], + 'TaskStatus' => [ + 'description' => 'The status of the transcoding task. Valid values:'."\n" + ."\n" + .'* **Processing**: In progress.'."\n" + .'* **Partial**: Some transcoding jobs were complete.'."\n" + .'* **CompleteAllSucc**: All transcoding jobs were successful.'."\n" + .'* **CompleteAllFail**: All transcoding jobs failed. If an exception occurs in the source file, no transcoding job is initiated and the transcoding task fails.'."\n" + .'* **CompletePartialSucc**: All transcoding jobs were complete but only some were successful.'."\n", + 'type' => 'string', + 'example' => 'Processing', + ], + 'VideoId' => [ + 'description' => 'The ID of the audio or video file.'."\n", + 'type' => 'string', + 'example' => '883f5d98107*****b7f20aaa352f', + ], + 'CompleteTime' => [ + 'description' => 'The time when the transcoding task was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-23T12:40:12Z', + ], + 'TranscodeTemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => 'b500c7094bd241*****3e9900752d7c3', + ], + 'TranscodeTaskId' => [ + 'description' => 'The ID of the transcoding task.'."\n", + 'type' => 'string', + 'example' => 'b1b65ab107e14*****3dbb900f6c1fe0', + ], + 'TranscodeJobInfoList' => [ + 'description' => 'Details about transcoding jobs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Definition' => [ + 'description' => 'The video resolution. Valid values:'."\n" + ."\n" + .'* **LD**: low definition'."\n" + .'* **SD**: standard definition'."\n" + .'* **HD**: high definition'."\n" + .'* **FHD**: ultra high definition'."\n" + .'* **OD**: original definition'."\n" + .'* **2K**: 2K'."\n" + .'* **4K**: 4K'."\n" + .'* **SQ**: standard sound quality'."\n" + .'* **HQ**: high sound quality'."\n" + .'* **AUTO**: adaptive bitrate Adaptive bitrate streams are returned only if PackageSetting is set in the transcoding template. For more information, see [Basic structures](~~52839~~).'."\n" + ."\n" + .'> This parameter indicates the definition that is configured in the transcoding template and does not indicate the actual resolution of the output video.'."\n", + 'type' => 'string', + 'example' => 'LD', + ], + 'CreationTime' => [ + 'description' => 'The time when the transcoding job was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-02-26T08:27:16Z', + ], + 'InputFileUrl' => [ + 'description' => 'The Object Storage Service (OSS) URL of the input file.'."\n", + 'type' => 'string', + 'example' => 'http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/customerTrans/5b95e568f8e*****47f38e/31f1184c-*****b2a2-f94-c213f.wmv', + ], + 'ErrorMessage' => [ + 'description' => 'The error message returned when the transcoding job failed.'."\n", + 'type' => 'string', + 'example' => 'ErrorMessage', + ], + 'ErrorCode' => [ + 'description' => 'The error code returned when the transcoding job failed.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'CompleteTime' => [ + 'description' => 'The time when the transcoding job was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-02-26T08:30:16Z', + ], + 'TranscodeProgress' => [ + 'description' => 'The progress of the transcoding job. Valid values: `[0,100]`.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'Priority' => [ + 'description' => 'The priority of the transcoding job.'."\n", + 'type' => 'string', + 'example' => '6', + ], + 'TranscodeJobStatus' => [ + 'description' => 'The status of the transcoding job.'."\n" + ."\n" + .'* **Transcoding**'."\n" + .'* **TranscodeSuccess**'."\n" + .'* **TranscodeFail**'."\n", + 'type' => 'string', + 'example' => 'Transcoding', + ], + 'TranscodeTemplateId' => [ + 'description' => 'The ID of the transcoding template.'."\n", + 'type' => 'string', + 'example' => '174b0534fea3*****b51c8f0ad1374', + ], + 'TranscodeJobId' => [ + 'description' => 'The ID of the transcoding job.'."\n", + 'type' => 'string', + 'example' => '38f0e513c88*****85515f9d50be188', + ], + 'OutputFile' => [ + 'description' => 'The information about the output file.'."\n", + 'type' => 'object', + 'properties' => [ + 'VideoStreamList' => [ + 'description' => 'The video streams.'."\n", + 'type' => 'string', + 'example' => '[{\\"AvgFPS\\":\\"30.0\\",\\"Bitrate\\":\\"933.814\\",\\"CodecLongName\\":\\"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\\",\\"CodecName\\":\\"h264\\",\\"CodecTag\\":\\"0x31637661\\",\\"CodecTagString\\":\\"avc1\\",\\"CodecTimeBase\\":\\"1/60\\",\\"Dar\\":\\"9:16\\",\\"Duration\\":\\"12.033333\\",\\"Fps\\":\\"30.0\\",\\"HasBFrames\\":\\"2\\",\\"Height\\":\\"360\\",\\"Index\\":\\"0\\",\\"Lang\\":\\"und\\",\\"Level\\":\\"30\\",\\"PixFmt\\":\\"yuv420p\\",\\"Profile\\":\\"High\\",\\"Sar\\":\\"81:256\\",\\"StartTime\\":\\"0.000000\\",\\"Timebase\\":\\"1/15360\\",\\"Width\\":\\"640\\"}]', + ], + 'OutputFileUrl' => [ + 'description' => 'The OSS URL of the output file.'."\n", + 'type' => 'string', + 'example' => 'http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/883f5d*****f20aaa352f/c3be4f073*****7d5193ec8-{DestMd5}-od-S00000001-200000.mp4', + ], + 'Encryption' => [ + 'description' => 'The encryption method of the output file. Valid values:'."\n" + ."\n" + .'* **AliyunVoDEncryption**: Alibaba Cloud proprietary cryptography'."\n" + .'* **HLSEncryption**: HTTP Live Streaming (HLS) encryption'."\n", + 'type' => 'string', + 'example' => '{\\"EncryptType\\":\\"AliyunVoDEncryption\\"}', + ], + 'Height' => [ + 'description' => 'The height of the output video. Unit: pixels.'."\n", + 'type' => 'string', + 'example' => '360', + ], + 'SubtitleStreamList' => [ + 'description' => 'The subtitle streams.'."\n", + 'type' => 'string', + 'example' => '[]', + ], + 'Bitrate' => [ + 'description' => 'The average bitrate of the output file. Unit: Kbit/s.'."\n", + 'type' => 'string', + 'example' => '964', + ], + 'AudioStreamList' => [ + 'description' => 'The audio streams.'."\n", + 'type' => 'string', + 'example' => '"AudioStreamList": "[{\\"Bitrate\\":\\"64.533\\",\\"ChannelLayout\\":\\"stereo\\",\\"Channels\\":\\"2\\",\\"CodecLongName\\":\\"AAC (Advanced Audio Coding)\\",\\"CodecName\\":\\"aac\\",\\"CodecTag\\":\\"0x6134706d\\",\\"CodecTagString\\":\\"mp4a\\",\\"CodecTimeBase\\":\\"1/44100\\",\\"Duration\\":\\"12.615533\\",\\"Index\\":\\"1\\",\\"Lang\\":\\"und\\",\\"SampleFmt\\":\\"fltp\\",\\"Samplerate\\":\\"44100\\",\\"StartTime\\":\\"-0.046440\\",\\"Timebase\\":\\"1/44100\\"}]', + ], + 'Width' => [ + 'description' => 'The width of the output video. Unit: pixels.'."\n", + 'type' => 'string', + 'example' => '640', + ], + 'Fps' => [ + 'description' => 'The frame rate of the output file. Unit: frames per second.'."\n", + 'type' => 'string', + 'example' => '25', + ], + 'Duration' => [ + 'description' => 'The length of the output file. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '12', + ], + 'Format' => [ + 'description' => 'The container format of the output file.'."\n", + 'type' => 'string', + 'example' => 'm3u8', + ], + 'Filesize' => [ + 'description' => 'The size of the output file. Unit: byte.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '851076', + ], + 'WatermarkIdList' => [ + 'description' => 'The IDs of the watermarks used by the output file.', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the watermarks used by the output file.', + 'type' => 'string', + 'example' => '["64079a0e3e286*****b48a8c9413"]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F4C6D5BE-BF13-45*****6C-516EA8906DCD\\",\\n \\"NonExistJobIds\\": [\\n \\"[\\\\\\"hhhhhhh\\\\\\"]\\"\\n ],\\n \\"TranscodeJobInfoList\\": [\\n {\\n \\"Definition\\": \\"LD\\",\\n \\"CreationTime\\": \\"2019-02-26T08:27:16Z\\",\\n \\"InputFileUrl\\": \\"http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/customerTrans/5b95e568f8e*****47f38e/31f1184c-*****b2a2-f94-c213f.wmv\\",\\n \\"ErrorMessage\\": \\"ErrorMessage\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CompleteTime\\": \\"2019-02-26T08:30:16Z\\\\n\\",\\n \\"TranscodeProgress\\": 0,\\n \\"Priority\\": \\"6\\",\\n \\"TranscodeJobStatus\\": \\"Transcoding\\",\\n \\"TranscodeTemplateId\\": \\"174b0534fea3*****b51c8f0ad1374\\",\\n \\"TranscodeJobId\\": \\"38f0e513c88*****85515f9d50be188\\",\\n \\"OutputFile\\": {\\n \\"VideoStreamList\\": \\"[{\\\\\\\\\\\\\\"AvgFPS\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"30.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Bitrate\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"933.814\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecLongName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"h264\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x31637661\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTagString\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"avc1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTimeBase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/60\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Dar\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"9:16\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Duration\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"12.033333\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Fps\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"30.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"HasBFrames\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Height\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"360\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Index\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Lang\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"und\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"30\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"PixFmt\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"yuv420p\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Profile\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"High\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Sar\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"81:256\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0.000000\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Timebase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/15360\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Width\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"640\\\\\\\\\\\\\\"}]\\",\\n \\"OutputFileUrl\\": \\"http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/883f5d*****f20aaa352f/c3be4f073*****7d5193ec8-{DestMd5}-od-S00000001-200000.mp4\\",\\n \\"Encryption\\": \\"{\\\\\\\\\\\\\\"EncryptType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AliyunVoDEncryption\\\\\\\\\\\\\\"}\\",\\n \\"Height\\": \\"360\\",\\n \\"SubtitleStreamList\\": \\"[]\\",\\n \\"Bitrate\\": \\"964\\",\\n \\"AudioStreamList\\": \\"\\\\\\"AudioStreamList\\\\\\": \\\\\\"[{\\\\\\\\\\\\\\"Bitrate\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"64.533\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ChannelLayout\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"stereo\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Channels\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecLongName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AAC (Advanced Audio Coding)\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aac\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x6134706d\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTagString\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"mp4a\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTimeBase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/44100\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Duration\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"12.615533\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Index\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Lang\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"und\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SampleFmt\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"fltp\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Samplerate\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"44100\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"-0.046440\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Timebase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/44100\\\\\\\\\\\\\\"}]\\",\\n \\"Width\\": \\"640\\",\\n \\"Fps\\": \\"25\\",\\n \\"Duration\\": \\"12\\",\\n \\"Format\\": \\"m3u8\\",\\n \\"Filesize\\": 851076,\\n \\"WatermarkIdList\\": [\\n \\"[\\\\\\"64079a0e3e286*****b48a8c9413\\\\\\"]\\"\\n ]\\n }\\n }\\n ],\\n \\"TranscodeTask\\": {\\n \\"CreationTime\\": \\"2019-01-23T12:35:12Z\\",\\n \\"Trigger\\": \\"Auto \\",\\n \\"TaskStatus\\": \\"Processing\\",\\n \\"VideoId\\": \\"883f5d98107*****b7f20aaa352f\\",\\n \\"CompleteTime\\": \\"2019-01-23T12:40:12Z\\",\\n \\"TranscodeTemplateGroupId\\": \\"b500c7094bd241*****3e9900752d7c3\\",\\n \\"TranscodeTaskId\\": \\"b1b65ab107e14*****3dbb900f6c1fe0\\",\\n \\"TranscodeJobInfoList\\": [\\n {\\n \\"Definition\\": \\"LD\\",\\n \\"CreationTime\\": \\"2019-02-26T08:27:16Z\\",\\n \\"InputFileUrl\\": \\"http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/customerTrans/5b95e568f8e*****47f38e/31f1184c-*****b2a2-f94-c213f.wmv\\",\\n \\"ErrorMessage\\": \\"ErrorMessage\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CompleteTime\\": \\"2019-02-26T08:30:16Z\\",\\n \\"TranscodeProgress\\": 100,\\n \\"Priority\\": \\"6\\",\\n \\"TranscodeJobStatus\\": \\"Transcoding\\",\\n \\"TranscodeTemplateId\\": \\"174b0534fea3*****b51c8f0ad1374\\",\\n \\"TranscodeJobId\\": \\"38f0e513c88*****85515f9d50be188\\",\\n \\"OutputFile\\": {\\n \\"VideoStreamList\\": \\"[{\\\\\\\\\\\\\\"AvgFPS\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"30.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Bitrate\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"933.814\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecLongName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"h264\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x31637661\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTagString\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"avc1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTimeBase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/60\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Dar\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"9:16\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Duration\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"12.033333\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Fps\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"30.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"HasBFrames\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Height\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"360\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Index\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Lang\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"und\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"30\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"PixFmt\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"yuv420p\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Profile\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"High\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Sar\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"81:256\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0.000000\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Timebase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/15360\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Width\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"640\\\\\\\\\\\\\\"}]\\",\\n \\"OutputFileUrl\\": \\"http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/883f5d*****f20aaa352f/c3be4f073*****7d5193ec8-{DestMd5}-od-S00000001-200000.mp4\\",\\n \\"Encryption\\": \\"{\\\\\\\\\\\\\\"EncryptType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AliyunVoDEncryption\\\\\\\\\\\\\\"}\\",\\n \\"Height\\": \\"360\\",\\n \\"SubtitleStreamList\\": \\"[]\\",\\n \\"Bitrate\\": \\"964\\",\\n \\"AudioStreamList\\": \\"\\\\\\"AudioStreamList\\\\\\": \\\\\\"[{\\\\\\\\\\\\\\"Bitrate\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"64.533\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ChannelLayout\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"stereo\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Channels\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecLongName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AAC (Advanced Audio Coding)\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aac\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x6134706d\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTagString\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"mp4a\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CodecTimeBase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/44100\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Duration\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"12.615533\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Index\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Lang\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"und\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SampleFmt\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"fltp\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Samplerate\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"44100\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"-0.046440\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Timebase\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1/44100\\\\\\\\\\\\\\"}]\\",\\n \\"Width\\": \\"640\\",\\n \\"Fps\\": \\"25\\",\\n \\"Duration\\": \\"12\\",\\n \\"Format\\": \\"m3u8\\",\\n \\"Filesize\\": 851076,\\n \\"WatermarkIdList\\": [\\n \\"[\\\\\\"64079a0e3e286*****b48a8c9413\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetTranscodeTaskResponse>\\n<RequestId>F4C6D5BE-BF13-45*****6C-516EA8906DCD</RequestId>\\n<TranscodeTask>\\n <TranscodeJobInfoList>\\n <TranscodeTemplateId>174b0534fea3*****b51c8f0ad1374</TranscodeTemplateId>\\n <Priority>6</Priority>\\n <InputFileUrl>http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/customerTrans/5b95e568f8e*****47f38e/31f1184c-*****b2a2-f94-c213f.wmv</InputFileUrl>\\n <Definition>LD</Definition>\\n <CreationTime>2019-02-26T08:27:16Z</CreationTime>\\n <TranscodeJobStatus>Transcoding</TranscodeJobStatus>\\n <TranscodeJobId>38f0e513c88*****85515f9d50be188</TranscodeJobId>\\n <ErrorCode>200</ErrorCode>\\n <TranscodeProgress>100</TranscodeProgress>\\n <ErrorMessage>ErrorMessage</ErrorMessage>\\n <CompleteTime>2019-02-26T08:30:16Z</CompleteTime>\\n </TranscodeJobInfoList>\\n <TranscodeJobInfoList>\\n <OutputFile>\\n <OutputFileUrl>http://outin-40564*****e1403e7.oss-cn-shanghai.aliyuncs.com/883f5d*****f20aaa352f/c3be4f073*****7d5193ec8-{DestMd5}-od-S00000001-200000.mp4</OutputFileUrl>\\n <Fps>25</Fps>\\n <VideoStreamList>[{\\\\\\"AvgFPS\\\\\\":\\\\\\"30.0\\\\\\",\\\\\\"Bitrate\\\\\\":\\\\\\"933.814\\\\\\",\\\\\\"CodecLongName\\\\\\":\\\\\\"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10\\\\\\",\\\\\\"CodecName\\\\\\":\\\\\\"h264\\\\\\",\\\\\\"CodecTag\\\\\\":\\\\\\"0x31637661\\\\\\",\\\\\\"CodecTagString\\\\\\":\\\\\\"avc1\\\\\\",\\\\\\"CodecTimeBase\\\\\\":\\\\\\"1/60\\\\\\",\\\\\\"Dar\\\\\\":\\\\\\"9:16\\\\\\",\\\\\\"Duration\\\\\\":\\\\\\"12.033333\\\\\\",\\\\\\"Fps\\\\\\":\\\\\\"30.0\\\\\\",\\\\\\"HasBFrames\\\\\\":\\\\\\"2\\\\\\",\\\\\\"Height\\\\\\":\\\\\\"360\\\\\\",\\\\\\"Index\\\\\\":\\\\\\"0\\\\\\",\\\\\\"Lang\\\\\\":\\\\\\"und\\\\\\",\\\\\\"Level\\\\\\":\\\\\\"30\\\\\\",\\\\\\"PixFmt\\\\\\":\\\\\\"yuv420p\\\\\\",\\\\\\"Profile\\\\\\":\\\\\\"High\\\\\\",\\\\\\"Sar\\\\\\":\\\\\\"81:256\\\\\\",\\\\\\"StartTime\\\\\\":\\\\\\"0.000000\\\\\\",\\\\\\"Timebase\\\\\\":\\\\\\"1/15360\\\\\\",\\\\\\"Width\\\\\\":\\\\\\"640\\\\\\"}]</VideoStreamList>\\n <Duration>12</Duration>\\n <AudioStreamList>\\"AudioStreamList\\": \\"[{\\\\\\"Bitrate\\\\\\":\\\\\\"64.533\\\\\\",\\\\\\"ChannelLayout\\\\\\":\\\\\\"stereo\\\\\\",\\\\\\"Channels\\\\\\":\\\\\\"2\\\\\\",\\\\\\"CodecLongName\\\\\\":\\\\\\"AAC (Advanced Audio Coding)\\\\\\",\\\\\\"CodecName\\\\\\":\\\\\\"aac\\\\\\",\\\\\\"CodecTag\\\\\\":\\\\\\"0x6134706d\\\\\\",\\\\\\"CodecTagString\\\\\\":\\\\\\"mp4a\\\\\\",\\\\\\"CodecTimeBase\\\\\\":\\\\\\"1/44100\\\\\\",\\\\\\"Duration\\\\\\":\\\\\\"12.615533\\\\\\",\\\\\\"Index\\\\\\":\\\\\\"1\\\\\\",\\\\\\"Lang\\\\\\":\\\\\\"und\\\\\\",\\\\\\"SampleFmt\\\\\\":\\\\\\"fltp\\\\\\",\\\\\\"Samplerate\\\\\\":\\\\\\"44100\\\\\\",\\\\\\"StartTime\\\\\\":\\\\\\"-0.046440\\\\\\",\\\\\\"Timebase\\\\\\":\\\\\\"1/44100\\\\\\"}]</AudioStreamList>\\n <Encryption>{\\\\\\"EncryptType\\\\\\":\\\\\\"AliyunVoDEncryption\\\\\\"}</Encryption>\\n <Filesize>851076</Filesize>\\n <Bitrate>964</Bitrate>\\n <WatermarkIdList>[\\"64079a0e3e286*****b48a8c9413\\"]</WatermarkIdList>\\n <Format>m3u8</Format>\\n <SubtitleStreamList>[]</SubtitleStreamList>\\n <Height>360</Height>\\n <Width>640</Width>\\n </OutputFile>\\n </TranscodeJobInfoList>\\n <Trigger>Auto </Trigger>\\n <VideoId>883f5d98107*****b7f20aaa352f</VideoId>\\n <TranscodeTemplateGroupId>b500c7094bd241*****3e9900752d7c3</TranscodeTemplateGroupId>\\n <CreationTime>2019-01-23T12:35:12Z</CreationTime>\\n <TaskStatus>Processing</TaskStatus>\\n <CompleteTime>2019-01-23T12:40:12Z</CompleteTime>\\n <TranscodeTaskId>b1b65ab107e14*****3dbb900f6c1fe0</TranscodeTaskId>\\n</TranscodeTask>\\n</GetTranscodeTaskResponse>","errorExample":""}]', + 'title' => 'GetTranscodeTask', + 'description' => 'You can call this operation to query only transcoding tasks created within the past year.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| NoSuchResource | The specified resource %s does not exist. | 404 | The error message returned because the specified information does not exist. %s indicates the specified information. |', + ], + 'ListJobInfo' => [ + 'summary' => 'Queries historical tasks based on the media asset ID.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '248267', + 'abilityTreeNodes' => [ + 'FEATUREvodAFH3DF', + 'FEATUREvodW76Z9M', + 'FEATUREvod7BX3NA', + 'FEATUREvodFAR72I', + 'FEATUREvodIPBMLH', + 'FEATUREvod5413CB', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '30e5d7**********bd900764de7c0102', + ], + ], + [ + 'name' => 'JobType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the task. Valid values:'."\n" + ."\n" + .'* transcode'."\n" + .'* snapshot'."\n" + .'* ai'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'transcode', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6708D849-F109-1A6C-AC91-************'."\n", + ], + 'MediaId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '30e5d7**********bd900764de7c0102'."\n", + ], + 'JobType' => [ + 'description' => 'The type of the task. Valid values:'."\n" + ."\n" + .'* transcode'."\n" + .'* snapshot'."\n" + .'* ai'."\n", + 'type' => 'string', + 'example' => 'transcode', + ], + 'JobInfoList' => [ + 'description' => 'The historical tasks of the last 6 months.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => '5c9dff751ba**********59d50a967f5', + ], + 'Status' => [ + 'description' => 'The status of the task.'."\n", + 'type' => 'string', + 'example' => 'TranscodeSuccess', + ], + 'UserId' => [ + 'description' => 'The ID of the user who submitted the task.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '139109*****84930', + ], + 'CreateTime' => [ + 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the YYYY-MM-DDTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:25Z'."\n", + ], + 'CompleteTime' => [ + 'description' => 'The time when the task was complete.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:34Z', + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6708D849-F109-1A6C-AC91-************\\\\n\\",\\n \\"MediaId\\": \\"30e5d7**********bd900764de7c0102\\\\n\\",\\n \\"JobType\\": \\"transcode\\",\\n \\"JobInfoList\\": [\\n {\\n \\"JobId\\": \\"5c9dff751ba**********59d50a967f5\\",\\n \\"Status\\": \\"TranscodeSuccess\\",\\n \\"UserId\\": 0,\\n \\"CreateTime\\": \\"2024-10-14T07:39:25Z\\\\n\\",\\n \\"CompleteTime\\": \\"2024-10-14T07:39:34Z\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListJobInfo', + 'description' => '****'."\n" + ."\n" + .'* You can call the [GetJobDetail](https://apiworkbench.aliyun-inc.com/document/vod/2017-03-21/GetJobDetail?spm=openapi-amp.newDocPublishment.0.0.616a281fSegn0e) operation to query detailed information about the tasks.'."\n" + .'* You can call this operation to query only asynchronous tasks of the last six months. The types of tasks that you can query include transcoding tasks, snapshot tasks, and AI tasks.'."\n" + ."\n" + .'**QPS limits**'."\n" + ."\n" + .'You can call this operation up to 15 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits](~~342790~~).', + ], + 'GetJobDetail' => [ + 'summary' => 'Queries the details of an asynchronous task based on jobId.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '248075', + 'abilityTreeNodes' => [ + 'FEATUREvodAFH3DF', + 'FEATUREvodW76Z9M', + 'FEATUREvod7BX3NA', + 'FEATUREvodFAR72I', + 'FEATUREvodIPBMLH', + 'FEATUREvod5413CB', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '5c9dff***************59d50a967f5', + ], + ], + [ + 'name' => 'JobType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The task type. Valid values:'."\n" + ."\n" + .'* transcode'."\n" + .'* snapshot'."\n" + .'* ai'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'transcode', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6708D849-F109-1A6C-AC91-************', + ], + 'JobType' => [ + 'description' => 'The type of the task. Valid values:'."\n", + 'type' => 'string', + 'example' => 'transcode', + ], + 'TranscodeJobDetail' => [ + 'description' => 'The details of the transcoding task. This parameter takes effect only when the jobType parameter is set to Transcode.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => '2dc1634e**********3f1d22d1a0174e', + ], + 'UserId' => [ + 'description' => 'The ID of the user who submitted the task.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '139109*****84930', + ], + 'VideoId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '30e5d7**********bd900764de7c0102', + ], + 'Status' => [ + 'description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* Submitted'."\n" + .'* Transcoding'."\n" + .'* TranscodeSuccess'."\n" + .'* TranscodeFail'."\n" + .'* TranscodeCancelled'."\n", + 'type' => 'string', + 'example' => 'TranscodeSuccess', + ], + 'TemplateId' => [ + 'description' => 'The ID of the template.'."\n", + 'type' => 'string', + 'example' => 'dbfaaec9e**********bf0b81219244c', + ], + 'Definition' => [ + 'description' => 'The definition.'."\n", + 'type' => 'string', + 'example' => 'HD', + ], + 'CreateTime' => [ + 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the YYYY-MM-DDTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:25Z', + ], + 'CompleteTime' => [ + 'description' => 'The time when the task was complete.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:34Z', + ], + ], + ], + 'SnapshotJobDetail' => [ + 'description' => 'The details of the snapshot task. This parameter takes effect only when the jobType parameter is set to Snapshot.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => '63df12s0**********4hdq249t82kr91', + ], + 'UserId' => [ + 'description' => 'The ID of the user who submitted the task.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '139109*****84930', + ], + 'VideoId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '30e5d7**********bd900764de7c0102', + ], + 'Status' => [ + 'description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* Processing'."\n" + .'* Fail'."\n" + .'* Success'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'Trigger' => [ + 'description' => 'The trigger mode. Valid values:'."\n" + ."\n" + .'* Auto'."\n" + .'* Manual'."\n", + 'type' => 'string', + 'example' => 'Auto', + ], + 'NormalConfig' => [ + 'description' => 'Configuration of normal snapshots.'."\n", + 'type' => 'string', + 'example' => '{"inl":0,"num":32,"tm":5,"wd":"352","ft":"normal","hg":"640"}', + ], + 'SpriteConfig' => [ + 'description' => 'The sprite configuration.'."\n", + 'type' => 'string', + 'example' => '{"pad":"0","lines":"10","mgin":"0","cols":"10","ikcp":"false","hg":"68"}', + ], + 'CreateTime' => [ + 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the YYYY-MM-DDTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:25Z', + ], + 'CompleteTime' => [ + 'description' => 'The time when the task was complete.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:45Z', + ], + ], + ], + 'AIJobDetail' => [ + 'description' => 'The details of the AI task. This parameter takes effect only when the TaskType parameter is set to AI.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => '5c9dff751ba**********59d50a967f5', + ], + 'UserId' => [ + 'description' => 'The ID of the user who submitted the task.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '139109*****84930'."\n", + ], + 'MediaId' => [ + 'description' => 'The ID of the media asset.'."\n", + 'type' => 'string', + 'example' => '30e5d7**********bd900764de7c0102', + ], + 'JobType' => [ + 'description' => 'The type of the AI task.'."\n", + 'type' => 'string', + 'example' => 'AIVideoCensor', + ], + 'Status' => [ + 'description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* reserved'."\n" + .'* init'."\n" + .'* success'."\n" + .'* fail'."\n" + .'* processing'."\n" + .'* analysing'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'Trigger' => [ + 'description' => 'The trigger mode. Valid values:'."\n" + ."\n" + .'* Auto'."\n" + .'* Manual'."\n", + 'type' => 'string', + 'example' => 'Auto', + ], + 'TemplateConfig' => [ + 'description' => 'The template configuration.'."\n", + 'type' => 'string', + 'example' => '{"AuditRange":["video","image-cover","text-title"],"AuditContent":["screen"],"AuditItem":["terrorism","porn"],"AuditAutoBlock":"no"}', + ], + 'CreateTime' => [ + 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the YYYY-MM-DDTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:25Z', + ], + 'CompleteTime' => [ + 'description' => 'The end time of the task.'."\n", + 'type' => 'string', + 'example' => '2024-10-14T07:39:46Z'."\n", + ], + ], + ], + 'WorkflowTaskDetail' => [ + 'type' => 'object', + 'properties' => [ + 'TaskId' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'TaskInput' => [ + 'type' => 'string', + ], + 'CreateTime' => [ + 'type' => 'string', + ], + 'FinishTime' => [ + 'type' => 'string', + ], + 'ActivityResults' => [ + 'type' => 'string', + ], + 'UserData' => [ + 'type' => 'string', + ], + 'Workflow' => [ + 'type' => 'object', + 'properties' => [ + 'WorkflowId' => [ + 'type' => 'string', + ], + 'Name' => [ + 'type' => 'string', + ], + 'Status' => [ + 'type' => 'string', + ], + 'Type' => [ + 'type' => 'string', + ], + 'CreateTime' => [ + 'type' => 'string', + ], + 'ModifiedTime' => [ + 'type' => 'string', + ], + 'AppId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6708D849-F109-1A6C-AC91-************\\",\\n \\"JobType\\": \\"transcode\\",\\n \\"TranscodeJobDetail\\": {\\n \\"JobId\\": \\"2dc1634e**********3f1d22d1a0174e\\",\\n \\"UserId\\": 0,\\n \\"VideoId\\": \\"30e5d7**********bd900764de7c0102\\",\\n \\"Status\\": \\"TranscodeSuccess\\",\\n \\"TemplateId\\": \\"dbfaaec9e**********bf0b81219244c\\",\\n \\"Definition\\": \\"HD\\",\\n \\"CreateTime\\": \\"2024-10-14T07:39:25Z\\",\\n \\"CompleteTime\\": \\"2024-10-14T07:39:34Z\\"\\n },\\n \\"SnapshotJobDetail\\": {\\n \\"JobId\\": \\"63df12s0**********4hdq249t82kr91\\",\\n \\"UserId\\": 0,\\n \\"VideoId\\": \\"30e5d7**********bd900764de7c0102\\",\\n \\"Status\\": \\"Success\\",\\n \\"Trigger\\": \\"Auto\\",\\n \\"NormalConfig\\": \\"{\\\\\\"inl\\\\\\":0,\\\\\\"num\\\\\\":32,\\\\\\"tm\\\\\\":5,\\\\\\"wd\\\\\\":\\\\\\"352\\\\\\",\\\\\\"ft\\\\\\":\\\\\\"normal\\\\\\",\\\\\\"hg\\\\\\":\\\\\\"640\\\\\\"}\\",\\n \\"SpriteConfig\\": \\"{\\\\\\"pad\\\\\\":\\\\\\"0\\\\\\",\\\\\\"lines\\\\\\":\\\\\\"10\\\\\\",\\\\\\"mgin\\\\\\":\\\\\\"0\\\\\\",\\\\\\"cols\\\\\\":\\\\\\"10\\\\\\",\\\\\\"ikcp\\\\\\":\\\\\\"false\\\\\\",\\\\\\"hg\\\\\\":\\\\\\"68\\\\\\"}\\",\\n \\"CreateTime\\": \\"2024-10-14T07:39:25Z\\",\\n \\"CompleteTime\\": \\"2024-10-14T07:39:45Z\\"\\n },\\n \\"AIJobDetail\\": {\\n \\"JobId\\": \\"5c9dff751ba**********59d50a967f5\\",\\n \\"UserId\\": 0,\\n \\"MediaId\\": \\"30e5d7**********bd900764de7c0102\\",\\n \\"JobType\\": \\"AIVideoCensor\\",\\n \\"Status\\": \\"success\\",\\n \\"Trigger\\": \\"Auto\\",\\n \\"TemplateConfig\\": \\"{\\\\\\"AuditRange\\\\\\":[\\\\\\"video\\\\\\",\\\\\\"image-cover\\\\\\",\\\\\\"text-title\\\\\\"],\\\\\\"AuditContent\\\\\\":[\\\\\\"screen\\\\\\"],\\\\\\"AuditItem\\\\\\":[\\\\\\"terrorism\\\\\\",\\\\\\"porn\\\\\\"],\\\\\\"AuditAutoBlock\\\\\\":\\\\\\"no\\\\\\"}\\",\\n \\"CreateTime\\": \\"2024-10-14T07:39:25Z\\",\\n \\"CompleteTime\\": \\"2024-10-14T07:39:46Z\\\\n\\"\\n },\\n \\"WorkflowTaskDetail\\": {\\n \\"TaskId\\": \\"46ecc024******92c8e26237e51\\",\\n \\"Status\\": \\"Succeed\\",\\n \\"TaskInput\\": \\"{\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"00f985a50ae371f0ad1c4106e0ea0102\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Title\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2.mp4\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StorageLocation\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"yiming-pre.oss-cn-shanghai.aliyuncs.com\\\\\\\\\\\\\\"}\\",\\n \\"CreateTime\\": \\"2025-03-27T08:15:46Z\\",\\n \\"FinishTime\\": \\"2025-03-27T08:20:19Z\\",\\n \\"ActivityResults\\": \\"{\\\\\\\\\\\\\\"VodSnapshot_123\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"ActivityId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VodSnapshot\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ActivityInstanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"c8cf62d53bef4e04bf703976bae6d0b9\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"EndTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-03-27T08:15:51Z\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Result\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"RequestId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"8B3649AF-5A6B-1099-BEB6-164D81067398\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EventType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SnapshotComplete\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"UserId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1797131669910763,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"MessageBody\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"success\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VideoId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"00f985a50ae371f0ad1c4106e0ea0102\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EventType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SnapshotComplete\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EventTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"2025-03-27T08:15:50Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"TriggerSource\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ActivityInstanceId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"c8cf62d53bef4e04bf703976bae6d0b9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"BizType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ice-workflow\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-03-27T08:15:47Z\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Succeed\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"Translate_zh_en\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"ActivityId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VodTranslation\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ActivityInstanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"c043a872bb044763a3d293a5c2458b50\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"EndTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-03-27T08:20:19Z\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Result\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VideoTranslationAll\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Success\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":false}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-03-27T08:15:46Z\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Failed\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"Act_Start\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"ActivityId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"start\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ActivityInstanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8a9402f4ff064084bf496707fb2d664a\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Result\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bizType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":6,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"00f985a50ae371f0ad1c4106e0ea0102\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Title\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"2.mp4\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"taskInput\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"00f985a50ae371f0ad1c4106e0ea0102\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"userTaskInput\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Media\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"00f985a50ae371f0ad1c4106e0ea0102\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Title\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"2.mp4\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StorageLocation\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"yiming-pre.oss-cn-shanghai.aliyuncs.com\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StorageLocation\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"yiming-pre.oss-cn-shanghai.aliyuncs.com\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"callerUid\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1797131669910763,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"CUR_NODE_NAME\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Act_Start\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-03-27T08:15:45Z\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Succeed\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"VodDynamicImage_123\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"ActivityId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"VodDynamicImage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ActivityInstanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"26e8dab82ab84110b1150f146caf633c\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"EndTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-03-27T08:15:55Z\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Result\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"RequestId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"7120B5D5-430F-14AD-8922-577F072DDD64\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EventType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DynamicImageComplete\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"UserId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1797131669910763,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"MessageBody\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"success\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VideoId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"00f985a50ae371f0ad1c4106e0ea0102\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EventType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DynamicImageComplete\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EventTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"2025-03-27T08:15:52Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"TriggerSource\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ActivityInstanceId\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"26e8dab82ab84110b1150f146caf633c\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"BizType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ice-workflow\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"StartTime\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"2025-03-27T08:15:47Z\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Succeed\\\\\\\\\\\\\\"}}\\",\\n \\"UserData\\": \\"{\\\\\\"MessageCallback\\\\\\":{\\\\\\"CallbackURL\\\\\\":\\\\\\"http://example.aliyundoc.com\\\\\\"},\\\\\\"Extend\\\\\\":{\\\\\\"localId\\\\\\":\\\\\\"*****\\\\\\",\\\\\\"test\\\\\\":\\\\\\"www\\\\\\"}}\\",\\n \\"Workflow\\": {\\n \\"WorkflowId\\": \\"vw_09d6*****b5c5b19a0c891e02\\",\\n \\"Name\\": \\"All_Activity_New_1_app-1000000\\",\\n \\"Status\\": \\"Active\\",\\n \\"Type\\": \\"\\",\\n \\"CreateTime\\": \\"2025-03-26T05:50:14Z\\",\\n \\"ModifiedTime\\": \\"2025-03-26T07:51:55Z\\",\\n \\"AppId\\": \\"app-1000000\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'GetJobDetail', + 'description' => '****'."\n" + ."\n" + .'You can call this operation to query only asynchronous tasks of the last six months. The types of tasks that you can query include transcoding tasks, snapshot tasks, and AI tasks.'."\n" + ."\n" + .'**QPS limit**'."\n" + ."\n" + .'You can call this operation up to 15 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits](~~342790~~).', + ], + 'ProduceEditingProjectVideo' => [ + 'summary' => 'Produces a video from one or more source files. You can directly specify source files by configuring the Timeline parameter. Alternatively, you can specify source files after you create an online editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40100', + 'abilityTreeNodes' => [ + 'FEATUREvod89J0DP', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project. You can use one of the following methods to obtain the ID of the online editing project:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Production Center** > **Video Editing** to view the ID of the online editing project.'."\n" + .'* Obtain the value of ProjectId from the response to the [AddEditingProject](~~69048~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fb2101bf24b4cb318787dc****', + ], + ], + [ + 'name' => 'Timeline', + 'in' => 'query', + 'schema' => [ + 'description' => 'The timeline of the online editing project. The value must be in JSON format. For more information about the parameter structure, see [Timeline](~~52839#07bc7fe0f2xuh~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"cc3308ac59615a54328bc3443****"},{"MediaId":"da87a9cff645cd88bc6d8326e4****"}]}]}', + ], + ], + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'editing project test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'description test', + ], + ], + [ + 'name' => 'CoverURL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The thumbnail URL of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://example.aliyundoc.com/6AB4D0E1E1C7446888351****.png', + ], + ], + [ + 'name' => 'MediaMetadata', + 'in' => 'query', + 'schema' => [ + 'description' => 'The video metadata. The value must be in JSON format. For more information about the parameter structure, see [MediaMetadata](~~52839#title_rtf_ry5\\_gjp~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Description":"video description","Title":"userData test"}', + ], + ], + [ + 'name' => 'ProduceConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration of video production. The value must be in the JSON format. For more information about the parameter structure, see [ProduceConfig](~~52839#title-ybl-7cs-y7d~~).'."\n" + ."\n" + .'> StorageLocation is required if you produce videos in a region other than China (Shanghai).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"TemplateGroupId":"6d11e25ea30a4c465435c74****"}', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom configurations, such as the callback configuration. The value must be a JSON string. For more information about the parameter structure, see [UserData](~~86952#title_vz7\\_xzs\\_0c5~~).'."\n" + ."\n" + .'> The callback configurations take effect only after you specify an HTTP URL for receiving callback notifications and select the event types in the ApsaraVideo VOD console.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Extend":{"width":1280,"id":"028a8e56b1ebf6bb7afc74****","height":720},"MessageCallback":{"CallbackURL":"https://example.aliyundoc.com/2016-08-15/proxy/httpcallback/testcallback/","CallbackType":"http"}}', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Multi-application service](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'MediaId' => [ + 'description' => 'The ID of the produced video.'."\n" + ."\n" + .'> * This parameter is returned for each request.'."\n" + .'> * If a value is returned for this parameter, the video production task is being asynchronously processed.', + 'type' => 'string', + 'example' => '006204a11bb386bb25491f95f****', + ], + 'ProjectId' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'fb2101bf24b4cb318787dc****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"MediaId\\": \\"006204a11bb386bb25491f95f****\\",\\n \\"ProjectId\\": \\"fb2101bf24b4cb318787dc****\\"\\n}","errorExample":""},{"type":"xml","example":"<ProduceEditingProjectVideoResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <MediaId>006204a11bb386bb25491f95f****</MediaId>\\n <ProjectId>fb2101bf24b4cb318787dc****</ProjectId>\\n</ProduceEditingProjectVideoResponse>","errorExample":""}]', + 'title' => 'ProduceEditingProjectVideo', + 'description' => '* **Make sure that you understand the billing method and price of ApsaraVideo VOD before you call this operation. You are charged for using the online editing feature. For more information, see [Billing](~~188310#section-pyv-b8h-bo7~~).**'."\n" + ."\n" + .'* This operation returns only the submission result of a video production task. When the submission result is returned, video production may still be in progress. After a video production task is submitted, the task is queued in the background for asynchronous processing.'."\n" + ."\n" + .'* The source files that are used in the timeline of an online editing project can be materials directly uploaded to the online project or selected from the media asset library. Only media assets that are in the Normal state can be used in the project.'."\n" + ."\n" + .'* Videos are produced based on ProjectId and Timeline. The following content describes the parameter configurations:'."\n" + ."\n" + .' * You must specify ProjectId or Timeline. If you leave both parameters empty, the video cannot be produced.'."\n" + .' * If you specify Timeline and leave ProjectId empty, the system automatically creates an online editing project based on Timeline and adds the materials specified in the Timeline to the project to produce videos.'."\n" + .' * If you specify ProjectId and leave Timeline empty, the system automatically uses the latest timeline information of the project to produce videos.'."\n" + .' * If you specify both ProjectId and Timeline, the system automatically uses the timeline information that you specified to produce videos and updates the project timeline and materials. You can also specify other parameters to update the corresponding information about the online editing project.'."\n" + ."\n" + .'* You can create up to 100 video tracks, 100 image tracks, and 100 subtitle tracks in a project.'."\n" + ."\n" + .'* The total size of material files cannot exceed 1 TB.'."\n" + ."\n" + .'* The buckets in which the materials reside and where the exported videos are stored must be in the same region as the region where ApsaraVideo VOD is activated.'."\n" + ."\n" + .'* The exported videos must meet the following requirements:'."\n" + ."\n" + .' * The width and height of the video image cannot be less than 128 pixels.'."\n" + .' * The width and height of the video image cannot exceed 4,096 pixels.'."\n" + .' * The width cannot exceed 2,160 pixels.'."\n" + ."\n" + .'* After a video is produced, the video is automatically uploaded to ApsaraVideo VOD. Then, the **ProduceMediaComplete** and **FileUploadComplete** event notifications are sent to you. After the produced video is transcoded, the **StreamTranscodeComplete** and **TranscodeComplete** event notifications are sent to you.'."\n" + ."\n" + .'* You can add special effects to the video. For more information, see [Special effects](~~69082~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => '>ApsaraVideo VOD sends a FileUploadComplete event notification after video production is complete, which is similar to the action that is performed after video upload. After the produced video is transcoded, ApsaraVideo VOD sends the StreamTranscodeComplete and TranscodeComplete event notifications.', + ], + 'AddEditingProject' => [ + 'summary' => 'Creates an online editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39785', + 'abilityTreeNodes' => [ + 'FEATUREvod89J0DP', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the online editing project.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'testtimeline', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testtimeline001desciption', + ], + ], + [ + 'name' => 'Timeline', + 'in' => 'query', + 'schema' => [ + 'description' => 'The timeline of the online editing project in JSON format. For more information about the structure, see [Timeline](~~52839~~).'."\n" + ."\n" + .'If you leave this parameter empty, an empty timeline is created and the duration of the online editing project is zero.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"cc3308ac5006aed55a54328bc3443****"},{"MediaId":"95948ddba24446b6aed5db985e78****"}]}]}', + ], + ], + [ + 'name' => 'CoverURL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The thumbnail URL of the online editing project. If you leave this parameter empty and materials exist on the video track in the timeline, the thumbnail of the first material is used by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png', + ], + ], + [ + 'name' => 'Division', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region in which ApsaraVideo VOD is activated.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', + ], + 'Project' => [ + 'description' => 'The information about the online editing project. For more information about the structure, see [EditingProject](~~52839~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the online editing project was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'Status' => [ + 'description' => 'The status of the online editing project. Valid values:'."\n" + ."\n" + .'* **Normal**: the online editing project is in draft.'."\n" + .'* **Producing**: the video is being produced.'."\n" + .'* **Produced**: the video is produced.'."\n" + .'* **ProduceFailed**: the video failed to be produced.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'ModifiedTime' => [ + 'description' => 'The time when the online editing project was last modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T13:00:00Z', + ], + 'Description' => [ + 'description' => 'The description of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'testtimeline001desciption', + ], + 'ProjectId' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'fb2101bf24bf4df34c4cb3187****', + ], + 'Title' => [ + 'description' => 'The title of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'testtimeline', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\",\\n \\"Project\\": {\\n \\"CreationTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ModifiedTime\\": \\"2017-01-11T13:00:00Z\\",\\n \\"Description\\": \\"testtimeline001desciption\\",\\n \\"ProjectId\\": \\"fb2101bf24bf4df34c4cb3187****\\",\\n \\"Title\\": \\"testtimeline\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddEditingProjectResponse>\\n <RequestId>E4EBD2BF-5EB0-4476-8829-9D94E1B1****</RequestId>\\n <Project>\\n <CreationTime>2017-01-11T12:00:00Z</CreationTime>\\n <Status>Normal</Status>\\n <ModifiedTime>2017-01-11T13:00:00Z</ModifiedTime>\\n <Description>testtimeline001desciption</Description>\\n <ProjectId>fb2101bf24bf4df34c4cb3187****</ProjectId>\\n <Title>testtimeline</Title>\\n </Project>\\n</AddEditingProjectResponse>","errorExample":""}]', + 'title' => 'AddEditingProject', + 'description' => '* For more information about the online editing feature, see [Overview](~~95482~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'UpdateEditingProject' => [ + 'summary' => 'Modifies an online editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40219', + 'abilityTreeNodes' => [ + 'FEATUREvod7B2GUR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '4ee4b97e27*****b525142a6b2', + ], + ], + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testtimeline', + ], + ], + [ + 'name' => 'Timeline', + 'in' => 'query', + 'schema' => [ + 'description' => 'The timeline of the online editing project. For more information about the structure, see [Timeline](~~52839~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"cc3308ac500c*****a54328bc3443"},{"MediaId":"da87a9cff64*****d88bc6d8326e4"}]}]}', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testtimeline001desciption', + ], + ], + [ + 'name' => 'CoverURL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The thumbnail URL of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://****.com/6AB4D0E1E1C7446888****.png', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateEditingProjectResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n</UpdateEditingProjectResponse>","errorExample":""}]', + 'title' => 'UpdateEditingProject', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'DeleteEditingProject' => [ + 'summary' => 'Deletes online editing projects.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39832', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project. Separate multiple IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fb2101bf24bf41*****cb318787dc', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteEditingProjectResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n</DeleteEditingProjectResponse>","errorExample":""}]', + 'title' => 'DeleteEditingProject', + 'description' => '* You can call this operation to delete multiple online editing projects at a time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SetEditingProjectMaterials' => [ + 'summary' => 'Specifies the media assets that you want to edit in an online editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40146', + 'abilityTreeNodes' => [ + 'FEATUREvod89J0DP', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fb2101bf24bf4*****754cb318787dc', + ], + ], + [ + 'name' => 'MaterialIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media asset. You can specify IDs of media assets such as videos, images, or auxiliary media assets. Separate multiple IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '9e3101bf24bf41c*****123318788ca', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '746FFA07-8BBB-46*****B1-3E94E3B2915E', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"746FFA07-8BBB-46*****B1-3E94E3B2915E\\"\\n}","errorExample":""},{"type":"xml","example":"<SetEditingProjectMaterialsResponse>\\r\\n <RequestId>746FFA07-8BBB-46*****B1-3E94E3B2915E</RequestId>\\r\\n</SetEditingProjectMaterialsResponse>","errorExample":""}]', + 'title' => 'SetEditingProjectMaterials', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetEditingProject' => [ + 'summary' => 'Queries the details of an online editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39953', + 'abilityTreeNodes' => [ + 'FEATUREvod89J0DP', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'fb2101bf24b27*****54cb318787dc', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '63E8B7C7-4812-46*****AD-0FA56029AC86', + ], + 'Project' => [ + 'description' => 'The information about the online editing project.'."\n", + 'type' => 'object', + 'properties' => [ + 'StorageLocation' => [ + 'description' => 'The path of the Object Storage Service (OSS) bucket where the online editing project is stored.'."\n" + ."\n" + .'> To view the path of the OSS bucket, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com/?spm=a2c4g.11186623.2.15.6948257eaZ4m54#/vod/settings/censored), and choose **Configuration Management** > **Media Management** > **Storage**. On the Storage page, you can view the path of the OSS bucket.', + 'type' => 'string', + 'example' => 'location_s', + ], + 'Status' => [ + 'description' => 'The status of the online editing project. Separate multiple states with commas (,). By default, all online editing projects were queried. Valid values:'."\n" + ."\n" + .'* **Normal**: indicates that the online editing project is in draft.'."\n" + .'* **Producing**: indicates that the video is being produced.'."\n" + .'* **Produced**: indicates that the video was produced.'."\n" + .'* **ProduceFailed**: indicates that the video failed to be produced.', + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the online editing project was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-10-23T13:33:40Z', + ], + 'ModifiedTime' => [ + 'description' => 'The last time when the online editing project was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-10-23T14:27:26Z', + ], + 'Description' => [ + 'description' => 'The description of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'testdescription', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'https://****.com/6AB4D0E1E1C74468883516C2349****.png', + ], + 'ProjectId' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'fb2101bf24b27*****54cb318787dc', + ], + 'Timeline' => [ + 'description' => 'The timeline of the online editing project.'."\n", + 'type' => 'string', + 'example' => '{\\"TimelineIn\\":0,\\"TimelineOut\\":9.42}', + ], + 'Title' => [ + 'description' => 'The title of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'video_1508736815000', + ], + 'RegionId' => [ + 'description' => 'The region where the online editing project was created.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"63E8B7C7-4812-46*****AD-0FA56029AC86\\",\\n \\"Project\\": {\\n \\"StorageLocation\\": \\"location_s\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2017-10-23T13:33:40Z\\",\\n \\"ModifiedTime\\": \\"2017-10-23T14:27:26Z\\",\\n \\"Description\\": \\"testdescription\\",\\n \\"CoverURL\\": \\"https://****.com/6AB4D0E1E1C74468883516C2349****.png\\",\\n \\"ProjectId\\": \\"fb2101bf24b27*****54cb318787dc\\",\\n \\"Timeline\\": \\"{\\\\\\\\\\\\\\"TimelineIn\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"TimelineOut\\\\\\\\\\\\\\":9.42}\\",\\n \\"Title\\": \\"视频_1508736815000\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetEditingProjectResponse>\\n<Project>\\n <Status>Normal</Status>\\n <Timeline>{\\\\\\"TimelineIn\\\\\\":0,\\\\\\"TimelineOut\\\\\\":9.42}</Timeline>\\n <Description>testdescription</Description>\\n <ModifiedTime>2017-10-23T14:27:26Z</ModifiedTime>\\n <CreationTime>2017-10-23T13:33:40Z</CreationTime>\\n <ProjectId>fb2101bf24b27*****54cb318787dc</ProjectId>\\n <Title>视频_1508736815000</Title>\\n <CoverURL>https://****.com/6AB4D0E1E1C74468883516C2349****.png</CoverURL>\\n <RegionId>cn-shanghai</RegionId>\\n <StorageLocation>location_s</StorageLocation>\\n</Project>\\n<RequestId>63E8B7C7-4812-46*****AD-0FA56029AC86</RequestId>\\n</GetEditingProjectResponse>","errorExample":""}]', + 'title' => 'GetEditingProject', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetEditingProjectMaterials' => [ + 'summary' => 'Queries materials that are waiting to be edited in an online editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39954', + 'abilityTreeNodes' => [ + 'FEATUREvod89J0DP', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project. You can use one of the following methods to obtain the ID of the online editing project:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Production Center** > **Video Editing** to obtain the ID of the specified online editing project.'."\n" + .'* Call the **AddEditingProject** operation. The value of the response parameter ProjectId is the ID of the specified online editing project.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '1982361011093374****', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the material. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'video', + ], + ], + [ + 'name' => 'MaterialType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the material. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + .'* **image**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '746FFA07-8BBB-46B1-3E94E3B2915E****', + ], + 'MaterialList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Material' => [ + 'description' => 'The materials.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the materials.', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the material. Valid values:'."\n" + ."\n" + .'* **Normal**: The material is in draft.'."\n" + .'* **Producing**: The material is being produced.'."\n" + .'* **Produced**: The material was produced.'."\n" + .'* **ProduceFailed**: The material failed to be produced.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the material was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-10-19 10:48:17', + ], + 'CateId' => [ + 'description' => 'The category ID of the material.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100005****', + ], + 'MaterialType' => [ + 'description' => 'The type of the material. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + .'* **image**'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'Tags' => [ + 'description' => 'The tag of the material. Multiple tags are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'editing test', + ], + 'SpriteConfig' => [ + 'description' => 'The configuration of the sprite.'."\n", + 'type' => 'string', + 'example' => 'xxx', + ], + 'Source' => [ + 'description' => 'The source of the sprite.'."\n", + 'type' => 'string', + 'example' => 'xxx', + ], + 'CateName' => [ + 'description' => 'The category name of the material.'."\n", + 'type' => 'string', + 'example' => 'test1', + ], + 'ModifiedTime' => [ + 'description' => 'The time when the material was last updated. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-10-19 10:48:17', + ], + 'Description' => [ + 'description' => 'The description of the material.'."\n", + 'type' => 'string', + 'example' => 'test2', + ], + 'MaterialId' => [ + 'description' => 'The ID of the material.'."\n", + 'type' => 'string', + 'example' => '85befc4118b84c6723e53b80b1****', + ], + 'Size' => [ + 'description' => 'The size of the mezzanine file. Unit: byte.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1682694', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the material.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/aivideocover/46fa444aa34065cb9250f6c****/image_01.jpg', + ], + 'Duration' => [ + 'description' => 'The duration of the material. The value is rounded to four decimal places. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '15.16', + ], + 'Title' => [ + 'description' => 'The title of the material.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'Sprites' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Sprite' => [ + 'description' => 'The URLs of material sprites. The value is an array.', + 'type' => 'array', + 'items' => [ + 'description' => 'The URLs of material sprites. The value is an array.', + 'type' => 'string', + 'example' => '{"Sprite":["http://example.aliyundoc.com/material_big_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key="]}', + ], + ], + ], + ], + 'Snapshots' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Snapshot' => [ + 'description' => 'The URLs of material snapshots. The value is an array.', + 'type' => 'array', + 'items' => [ + 'description' => 'The URLs of material snapshots. The value is an array.', + 'type' => 'string', + 'example' => '["http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=","http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key="]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"746FFA07-8BBB-46B1-3E94E3B2915E****\\",\\n \\"MaterialList\\": {\\n \\"Material\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2017-10-19 10:48:17\\",\\n \\"CateId\\": 0,\\n \\"MaterialType\\": \\"video\\",\\n \\"Tags\\": \\"剪辑测试\\",\\n \\"SpriteConfig\\": \\"xxx\\",\\n \\"Source\\": \\"xxx\\",\\n \\"CateName\\": \\"测试\\",\\n \\"ModifiedTime\\": \\"2017-10-19 10:48:17\\",\\n \\"Description\\": \\"测试\\",\\n \\"MaterialId\\": \\"85befc4118b84c6723e53b80b1****\\",\\n \\"Size\\": 1682694,\\n \\"CoverURL\\": \\"http://example.aliyundoc.com/aivideocover/46fa444aa34065cb9250f6c****/image_01.jpg\\",\\n \\"Duration\\": 15.16,\\n \\"Title\\": \\"test\\",\\n \\"Sprites\\": {\\n \\"Sprite\\": [\\n \\"\\\\\\"http://example.aliyundoc.com/material_big_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\\\\\"\\"\\n ]\\n },\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n \\"\\\\\\"http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\\\\\",\\\\\\"http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\\\\\"\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetEditingProjectMaterialsResponse>\\n <RequestId>746FFA07-8BBB-46B1-3E94E3B2915E****</RequestId>\\n <MaterialList>\\n <Status>Normal</Status>\\n <CreationTime>2017-10-19 10:48:17</CreationTime>\\n <MaterialType>video</MaterialType>\\n <Tags>剪辑测试</Tags>\\n <SpriteConfig>xxx</SpriteConfig>\\n <Source>xxx</Source>\\n <CateName>测试</CateName>\\n <ModifiedTime>2017-10-19 10:48:17</ModifiedTime>\\n <Description>测试</Description>\\n <MaterialId>85befc4118b84c6723e53b80b1****</MaterialId>\\n <Size>1682694</Size>\\n <CoverURL>http://example.aliyundoc.com/aivideocover/46fa444aa34065cb9250f6c****/image_01.jpg</CoverURL>\\n <Duration>15.16</Duration>\\n <Title>test</Title>\\n <Sprites>{\\"Sprite\\":[\\"http://example.aliyundoc.com/material_big_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\"]}</Sprites>\\n <Snapshots>[\\"http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\",\\"http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\"]</Snapshots>\\n </MaterialList>\\n</GetEditingProjectMaterialsResponse>","errorExample":""}]', + 'title' => 'GetEditingProjectMaterials', + 'description' => 'During editing, you can add materials to the timeline, but some of them may not be used.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SearchEditingProject' => [ + 'summary' => 'Queries online editing projects.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40114', + 'abilityTreeNodes' => [ + 'FEATUREvod89J0DP', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The query is performed based on the time range during which the required online editing projects were created. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T13:00:00Z', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. The query is performed based on the time range during which the required online editing projects were created. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T12:00:00Z', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the online editing project. Separate multiple states with commas (,). By default, all online editing projects are queried. Valid values:'."\n" + .'* **Normal**: indicates that the online editing project is in draft.'."\n" + .'* **Producing**: indicates that the video is being produced.'."\n" + .'* **Produced**: indicates that the video was produced.'."\n" + .'* **ProduceFailed**: indicates that the video failed to be produced.', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **100**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting rule of results. Valid values:'."\n" + .'* **CreationTime:Desc**: sorts the results based on the creation time in descending order. This is the default value.'."\n" + .'* **CreationTime:Asc**: sorts the results based on the creation time in ascending order.', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationTime:Desc', + ], + ], + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The title of the online editing project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Total' => [ + 'description' => 'The total number of online editing projects returned.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '9262E3DA-07FA-48*****62-FCBB6BC61D08', + ], + 'ProjectList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Project' => [ + 'description' => 'The list of online editing projects.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'StorageLocation' => [ + 'description' => 'The path of the Object Storage Service (OSS) bucket where the produced video is stored.'."\n" + .'> To view the path of the OSS bucket, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com/?spm=a2c4g.11186623.2.15.6948257eaZ4m54#/vod/settings/censored), and choose **Configuration Management** > **Media Management** > **Storage**. On the Storage page, you can view the path of the OSS bucket.', + 'type' => 'string', + 'example' => 'location_s', + ], + 'Status' => [ + 'description' => 'The status of the online editing project. Separate multiple states with commas (,). By default, all online editing projects were queried. Valid values:'."\n" + .'* **Normal**: indicates that the online editing project is in draft.'."\n" + .'* **Producing**: indicates that the video is being produced.'."\n" + .'* **Produced**: indicates that the video was produced.'."\n" + .'* **ProduceFailed**: indicates that the video failed to be produced.', + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the online editing project was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'ModifiedTime' => [ + 'description' => 'The last time when the online editing project was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T13:00:00Z', + ], + 'Description' => [ + 'description' => 'The description of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'test project 001', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'cover_url', + ], + 'ProjectId' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'example' => '25cfc178d2de4*****e77aebed6afcd', + ], + 'Duration' => [ + 'description' => 'The duration of the online editing project, which must be consistent with the duration of the timeline.'."\n" + .'> The Timeline parameter is not included in response parameters.', + 'type' => 'number', + 'format' => 'float', + 'example' => '22.65', + ], + 'Title' => [ + 'description' => 'The title of the online editing project.'."\n", + 'type' => 'string', + 'example' => 'video_150873681****', + ], + 'RegionId' => [ + 'description' => 'The region where the online editing project was created.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Total\\": 2,\\n \\"RequestId\\": \\"9262E3DA-07FA-48*****62-FCBB6BC61D08\\",\\n \\"ProjectList\\": {\\n \\"Project\\": [\\n {\\n \\"StorageLocation\\": \\"location_s\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"ModifiedTime\\": \\"2017-01-11T13:00:00Z\\",\\n \\"Description\\": \\"故事板测试工程001\\",\\n \\"CoverURL\\": \\"cover_url\\",\\n \\"ProjectId\\": \\"25cfc178d2de4*****e77aebed6afcd\\",\\n \\"Duration\\": 22.65,\\n \\"Title\\": \\"视频_150873681****\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<SearchEditingProjectResponse>\\n<RequestId>9262E3DA-07FA-48*****62-FCBB6BC61D08</RequestId>\\n<Total>2</Total>\\n<ProjectList>\\n <Project>\\n <Status>Normal</Status>\\n <Description>故事板测试工程001</Description>\\n <ModifiedTime>2017-01-11T13:00:00Z</ModifiedTime>\\n <CreationTime>2017-01-11T12:00:00Z</CreationTime>\\n <ProjectId>25cfc178d2de4*****e77aebed6afcd</ProjectId>\\n <Title>视频_150873681****</Title>\\n <Duration>22.65</Duration>\\n <CoverURL>cover_url</CoverURL>\\n <RegionId>cn-shanghai</RegionId>\\n <StorageLocation>location_s</StorageLocation>\\n </Project>\\n</ProjectList>\\n</SearchEditingProjectResponse>","errorExample":""}]', + 'title' => 'SearchEditingProject', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'AddEditingProjectMaterials' => [ + 'summary' => 'Adds one or more materials to an editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39786', + 'abilityTreeNodes' => [ + 'FEATUREvod89J0DP', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'afa31b483b5c41609185de0e1b790579', + ], + ], + [ + 'name' => 'MaterialIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'Separate multiple material IDs with commas (,). You can specify up to 10 IDs.'."\n" + ."\n" + .'> If you specify multiple materials, make sure that the materials are of the same type as specified in MaterialType.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'd3251979f9fd41f2acb29ccda5a6f772', + ], + ], + [ + 'name' => 'MaterialType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the material. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + .'* **image**'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'video', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '85237CDA-0B54-5CED-BA10-A8A71AA13C1A', + ], + 'MaterialList' => [ + 'description' => 'The materials.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the material.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the material. Valid values:'."\n" + ."\n" + .'* **Normal**'."\n" + .'* **Uploading**'."\n" + .'* **UploadFail**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CateId' => [ + 'description' => 'The ID of the category.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000487543', + ], + 'CreateTime' => [ + 'description' => 'The time when the material was created. The time follows the ISO 8601 standard in the *YYYY-MM-DD**Thh:mm:ss* format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-10-02T08:26Z', + ], + 'MaterialType' => [ + 'description' => 'The type of the material. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + .'* **image**'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'Tags' => [ + 'description' => 'The tag of the material. Multiple tags are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'tag1,tag2', + ], + 'SpriteConfig' => [ + 'description' => 'The configuration of the sprite snapshot.'."\n", + 'type' => 'string', + 'example' => 'xxx', + ], + 'CateName' => [ + 'description' => 'The category name of the material.'."\n", + 'type' => 'string', + 'example' => 'cate1', + ], + 'Description' => [ + 'description' => 'The description of the material.'."\n", + 'type' => 'string', + 'example' => 'test material', + ], + 'MaterialId' => [ + 'description' => 'The ID of the material.'."\n", + 'type' => 'string', + 'example' => '85befc4118b84c6723e53b80b1****', + ], + 'Size' => [ + 'description' => 'The size of the material.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1682694', + ], + 'CoverURL' => [ + 'description' => 'The thumbnail URL.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/aivideocover/46fa444aa34065cb9250f6c****/image_01.jpg', + ], + 'Duration' => [ + 'description' => 'The duration of the material. Unit: seconds. The value is accurate to four decimal places.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '3690.2332', + ], + 'CustomerId' => [ + 'description' => 'The ID of the user.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234751840694470', + ], + 'Title' => [ + 'description' => 'The title of the material.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ModifyTime' => [ + 'description' => 'The time when the material was last updated. The time follows the ISO 8601 standard in the *YYYY-MM-DD**Thh:mm:ss* format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-11-25T07:28:34Z', + ], + 'Sprites' => [ + 'description' => 'The URLs of sprite snapshots.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The URL of the sprite snapshot.'."\n", + 'type' => 'string', + 'example' => '{"Sprite":["http://example.aliyundoc.com/material_big_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key="]}', + ], + ], + 'Snapshots' => [ + 'description' => 'The URLs of snapshots.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The URL of the snapshot.'."\n", + 'type' => 'string', + 'example' => '["http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=","http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key="]', + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85237CDA-0B54-5CED-BA10-A8A71AA13C1A\\",\\n \\"MaterialList\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"CateId\\": 1000487543,\\n \\"CreateTime\\": \\"2019-10-02T08:26Z\\",\\n \\"MaterialType\\": \\"video\\",\\n \\"Tags\\": \\"tag1,tag2\\",\\n \\"SpriteConfig\\": \\"xxx\\",\\n \\"CateName\\": \\"分类1\\",\\n \\"Description\\": \\"素材描述\\",\\n \\"MaterialId\\": \\"85befc4118b84c6723e53b80b1****\\",\\n \\"Size\\": 1682694,\\n \\"CoverURL\\": \\"http://example.aliyundoc.com/aivideocover/46fa444aa34065cb9250f6c****/image_01.jpg\\",\\n \\"Duration\\": 3690.2332,\\n \\"CustomerId\\": 1234751840694470,\\n \\"Title\\": \\"test\\",\\n \\"ModifyTime\\": \\"2022-11-25T07:28:34Z\\",\\n \\"Sprites\\": [\\n \\"\\\\\\"http://example.aliyundoc.com/material_big_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=****\\\\\\"\\"\\n ],\\n \\"Snapshots\\": [\\n \\"\\\\\\"http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\\\\\",\\\\\\"http://example.aliyundoc.com/material_small_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=\\\\\\"\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'AddEditingProjectMaterials', + ], + 'DeleteEditingProjectMaterials' => [ + 'summary' => 'Deletes the materials to be edited for an online editing project.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39833', + 'abilityTreeNodes' => [ + 'FEATUREvod8R2V42', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the online editing project.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '198236101*****1093374', + ], + ], + [ + 'name' => 'MaterialIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The material ID. Separate multiple material IDs with commas (,).', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '9e3101bf24bf41c*****123318788ca', + ], + ], + [ + 'name' => 'MaterialType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the material. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n" + .'* **image**'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'video', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '746FFA07-8BBB-46*****B1-3E94E3B2915E', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"746FFA07-8BBB-46*****B1-3E94E3B2915E\\"\\n}","type":"json"}]', + 'title' => 'DeleteEditingProjectMaterials', + ], + 'SetAuditSecurityIp' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '40122', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the review security group. Default value: **Default**. You can specify a maximum of 10 review security groups.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'Ips', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IP addresses that you want to add to the review security group. You can add a maximum of 100 IP addresses to a review security group. Separate multiple IP addresses with commas (,). You can add IP addresses in the following formats to review security groups:'."\n" + ."\n" + .'* IP address: 192.168.0.1'."\n" + .'* CIDR block: 192.168.0.1/24. /24 indicates that the prefix of the CIDR block is 24 bits in length. You can replace 24 with a value that ranges `from 1 to 32`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '192.168.0.1', + ], + ], + [ + 'name' => 'OperateMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The operation type. Valid values:'."\n" + ."\n" + .'* **Append** (default): adds the IP addresses to the original whitelist.'."\n" + .'* **Cover**: overwrites the original whitelist.'."\n" + .'* **Delete**: removes the IP addresses from the original whitelist.'."\n" + ."\n" + .'> If the value that you specify is invalid, the default value is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Cover', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetAuditSecurityIpResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n</SetAuditSecurityIpResponse>","errorExample":""}]', + 'title' => 'SetAuditSecurityIp', + 'summary' => 'Sets IP addresses in review security groups.', + 'description' => 'You can play videos in the Checking or Blocked state only from the IP addresses that are added to review security groups.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| IpsIsEmpty | The specified "Ips" can not be empty. | 400 | The error message returned because the Ips parameter is not specified. |'."\n" + .'| IpsExceededMax | The specified Ips count has exceeded 100. | 403 | The error message returned because more than 100 IP addresses are added to a review security group. |'."\n" + .'| SecurityIpGroupExceededMax | The audit security group count has exceeded 10. | 403 | The error message returned because the number of review security groups exceeds the upper limit. |', + ], + 'ListAuditSecurityIp' => [ + 'summary' => 'Queries the IP addresses in a security group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40047', + 'abilityTreeNodes' => [ + 'FEATUREvod7FWSSO', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the review security group in which you want to query IP addresses. If you do not specify this parameter, IP addresses in all review security groups are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '664BBD08-C7DB-4E*****73-9D0958D9A899', + ], + 'SecurityIpList' => [ + 'description' => 'The details of the review security group.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the review security group was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-05-22T06:54:23Z', + ], + 'Ips' => [ + 'description' => 'The IP addresses in the review security group.'."\n", + 'type' => 'string', + 'example' => '30.27.14.0/24,30.39.127.245', + ], + 'ModificationTime' => [ + 'description' => 'The time when the review security group was last modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-05-22T06:55:14Z', + ], + 'SecurityGroupName' => [ + 'description' => 'The name of the review security group.'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"664BBD08-C7DB-4E*****73-9D0958D9A899\\",\\n \\"SecurityIpList\\": [\\n {\\n \\"CreationTime\\": \\"2018-05-22T06:54:23Z\\",\\n \\"Ips\\": \\"30.27.14.0/24,30.39.127.245\\",\\n \\"ModificationTime\\": \\"2018-05-22T06:55:14Z\\",\\n \\"SecurityGroupName\\": \\"Default\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAuditSecurityIpResponse>\\r\\n\\t<SecurityGroupList>\\r\\n\\t\\t<SecurityGroupName>Default</SecurityGroupName>\\r\\n\\t\\t<Ips>30.27.14.0/24,30.39.127.245</Ips>\\r\\n\\t\\t<CreationTime>2018-05-22T06:54:23Z</CreationTime>\\r\\n\\t\\t<ModifyTime>2018-05-22T06:55:14Z</ModifyTime>\\r\\n\\t</SecurityGroupList>\\r\\n\\t<RequestId>664BBD08-C7DB-4E*****73-9D0958D9A899</RequestId>\\r\\n</ListAuditSecurityIpResponse>","errorExample":""}]', + 'title' => 'ListAuditSecurityIp', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| SecurityIp.NotFound | The audit security ip does not exist. | 404 | The error message returned because no IP addresses are found in the review security group. |'."\n" + .'| ListSecurityIpFailed | List audit security ip has failed due to some unknown error. | 500 | The error message returned because the IP addresses in the review security group fail to be queried due to an unknown error. Refresh the page and try again. |', + ], + 'SubmitAIMediaAuditJob' => [ + 'summary' => 'Submits an automated review job for a media file. After the job is submitted, ApsaraVideo VOD asynchronously processes the job. Therefore, the operation may return a response before the job is complete.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40168', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video file. To obtain the file ID, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Review Management** > **Content Moderation** in the left-side navigation pane.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'fe028d09441afffb138cd7ee****', + ], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the AI template. You can use one of the following methods to obtain the ID of the AI template:'."\n" + ."\n" + .'* Obtain the value of TemplateId from the response to the [AddAITemplate](~~102930~~) operation that you call to create an AI template.'."\n" + .'* Obtain the value of TemplateId from the response to the [ListAITemplate](~~102936~~) operation that you call to create an AI template.'."\n" + ."\n" + .'> If you do not specify an ID, the ID of the default AI template is used.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'a07a7f7d7d10eb9fd999e56ecc****', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom settings. The value must be a JSON string. You can configure settings such as message callbacks. For more information, see [UserData](~~86952~~).'."\n" + ."\n" + .'> To use the callback configurations specified by this parameter, you must configure an HTTP callback URL and specify the types of the callback events in the ApsaraVideo VOD console. Otherwise, the callback configurations do not take effect. For more information about how to configure HTTP callback settings in the ApsaraVideo VOD console, see [Configure callback settings](~~86071~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://test.test.com"},"Extend":{"localId":"xxx","test":"www"}}', + ], + ], + [ + 'name' => 'MediaType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the media file. Only **video** is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video', + ], + ], + [ + 'name' => 'MediaAuditConfiguration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration information about the review job.'."\n" + ."\n" + .'* Other configuration items of the review job. Only the ResourceType field is supported. This field is used to specify the type of media files. You can adjust review standards and rules based on the type of media files.'."\n" + .'* If you want to modify the review standard and rules based on ResourceType, submit a ticket. For more information, see [Contact us](~~464625~~).'."\n" + .'* The value of ResourceType can contain only letters, digits, and underscores (\\_).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"ResourceType":"****_movie"}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F4631053-8D9F-42B2-4A67281DB88E****', + ], + 'MediaId' => [ + 'description' => 'The ID of the media file.'."\n", + 'type' => 'string', + 'example' => 'fe028d09441afffb138cd7ee****', + ], + 'JobId' => [ + 'description' => 'The ID of the job.'."\n", + 'type' => 'string', + 'example' => 'bdbc266af6893943a70176d92e99****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F4631053-8D9F-42B2-4A67281DB88E****\\",\\n \\"MediaId\\": \\"fe028d09441afffb138cd7ee****\\",\\n \\"JobId\\": \\"bdbc266af6893943a70176d92e99****\\"\\n}","errorExample":""},{"type":"xml","example":"<SubmitAIMediaAuditJobResponse>\\n <RequestId>F4631053-8D9F-42B2-4A67281DB88E****</RequestId>\\n <MediaId>fe028d09441afffb138cd7ee****</MediaId>\\n <JobId>bdbc266af6893943a70176d92e99****</JobId>\\n</SubmitAIMediaAuditJobResponse>","errorExample":""}]', + 'title' => 'SubmitAIMediaAuditJob', + 'description' => '* **Make sure that you understand the billing methods and price of ApsaraVideo VOD before you call this operation. You are charged for using the automated review feature. For more information about billing, submit a ticket or contact your account manager.**'."\n" + .'* You can call this operation only in the **China (Shanghai)**, **China (Beijing)**, and **Singapore** regions.'."\n" + .'* For more information, see [Automated review](~~101148~~).'."\n" + .'* After an automated review job is complete, the images generated during the review are stored in the VOD bucket for two weeks free of charge. The images are automatically deleted after two weeks.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SubmitAIImageAuditJob' => [ + 'summary' => 'Submits an automated review job for an image. After the job is submitted, the job is processed in an asynchronous manner. The operation may return a response before the job is complete.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40163', + 'abilityTreeNodes' => [ + 'FEATUREvodIPBMLH', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image.'."\n" + ."\n" + .'The unique ID of the image is returned after the image is uploaded to ApsaraVideo VOD.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'f1aa3024aee64*****6dc8ca20dbc320', + ], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the AI template. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Obtain the value of TemplateId from the response to the [AddAITemplate](~~102930~~) operation that you call to create an AI template.'."\n" + .'* Obtain the value of TemplateId from the response to the [ListAITemplate](~~102936~~) operation that you call to create an AI template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VOD-0003-00****', + ], + ], + [ + 'name' => 'MediaAuditConfiguration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration information about the review job.'."\n" + ."\n" + .'* Other configuration items of the review job. Only the ResourceType field is supported. This field is used to specify the type of media files. You can adjust review standards and rules based on the type of media files.'."\n" + .'* The value of ResourceType can contain only letters, digits, and underscores (\\_).'."\n" + ."\n" + .'> * You can specify a value for the ResourceType field based on the preceding limits. After you specify a value for the ResourceType field, you must [submit a ticket](https://yida.alibaba-inc.com/o/ticketapply). The value takes effect after Alibaba Cloud processes your ticket.'."\n" + .'>* If you want to change moderation policies and rules based on ResourceType, [submit a ticket](https://yida.alibaba-inc.com/o/ticketapply) to contact technical support.', + 'type' => 'string', + 'required' => false, + 'example' => '{"ResourceType":"****_short_video"}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the image review job.'."\n", + 'type' => 'string', + 'example' => 'b1aa3024aee64*****6dc8ca20dbc328', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6F42D500-1956-4B*****30-C09E755F4F4B', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"b1aa3024aee64*****6dc8ca20dbc328\\",\\n \\"RequestId\\": \\"6F42D500-1956-4B*****30-C09E755F4F4B\\"\\n}","errorExample":""},{"type":"xml","example":"<SubmitAIImageAuditJobResponse>\\n <RequestId>6F42D500-1956-4B*****30-C09E755F4F4B</RequestId>\\n <JobId>b1aa3024aee64*****6dc8ca20dbc328</JobId>\\n</SubmitAIImageAuditJobResponse>","errorExample":""}]', + 'title' => 'SubmitAIImageAuditJob', + 'description' => 'This operation is available only in the Singapore region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetAIMediaAuditJob' => [ + 'summary' => 'Queries the information about an intelligent review job. After the job is submitted, it is processed asynchronously. You can call this operation to query the job information in real time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39932', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the intelligent review job.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'bdbc266af6894*****943a70176d92e9', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'EAA3E96A-02E2-41*****85-08E1D568ED3A', + ], + 'MediaAuditJob' => [ + 'description' => 'The information about the intelligent review job.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the job started to run. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'Type' => [ + 'description' => 'The type of the job. The value is AIMediaAudit.'."\n", + 'type' => 'string', + 'example' => 'AIMediaAudit', + ], + 'Status' => [ + 'description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'* **success**: The job is successful.'."\n" + .'* **fail**: The job failed.'."\n" + .'* **init**: The job is being initialized.'."\n" + .'* **Processing**: The job is in progress.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'CompleteTime' => [ + 'description' => 'The time when the job is complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T13:00:00Z', + ], + 'JobId' => [ + 'description' => 'The ID of the job.'."\n", + 'type' => 'string', + 'example' => 'bdbc266af6894*****943a70176d92e9', + ], + 'Code' => [ + 'description' => 'The error code. This parameter is returned if the value of Status is fail.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Message' => [ + 'description' => 'The error message. This parameter is returned if the value of Status is fail.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'MediaId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => 'fe028d09441d*****d1afffb138cd7e', + ], + 'Data' => [ + 'description' => 'The job result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**: The content violates the regulations.'."\n" + .'* **review**: The content may violate the regulations.'."\n" + .'* **pass**: The content passes the review.'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'AbnormalModules' => [ + 'description' => 'The content that violates the regulations. Separate multiple values with commas (,). Valid values:'."\n" + ."\n" + .'* **video**: the video.'."\n" + .'* **image-cover**: the cover.'."\n" + .'* **text-title**: the title.'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'Label' => [ + 'description' => 'The category of the review result. Multiple values are separated by commas (,). Valid values:'."\n" + ."\n" + .'* **porn**: pornographic content'."\n" + .'* **terrorism**: terrorist or politically sensitive content'."\n" + .'* **ad**: ad violation'."\n" + .'* **live**: undesirable scene'."\n" + .'* **logo**: logo'."\n" + .'* **audio**: audio anti-spam'."\n" + .'* **normal**: normal content'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'ImageResult' => [ + 'description' => 'The results of image review.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the image. Valid value: **cover**.'."\n", + 'type' => 'string', + 'example' => 'cover', + ], + 'Url' => [ + 'description' => 'The URL of the image.'."\n", + 'type' => 'string', + 'example' => 'http://www.test.com/****.jpg', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'Label' => [ + 'description' => 'The categories of the image review results. Multiple values are separated by commas (,). Valid values:'."\n" + ."\n" + .'* **porn**: pornographic content'."\n" + .'* **terrorism**: terrorist or politically sensitive content'."\n" + .'* **ad**: ad violation'."\n" + .'* **live**: undesirable scene'."\n" + .'* **logo**: logo'."\n" + .'* **normal**: normal content'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'Result' => [ + 'description' => 'Details of image review results.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label. Valid values: `[0, 100]`. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'Label' => [ + 'description' => 'The category of the review result.'."\n" + ."\n" + .'Valid values if scene is **porn**:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **sexy**'."\n" + .'* **normal**'."\n" + ."\n" + .'Valid values if scene is **terrorism**:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **bloody**'."\n" + .'* **explosion**'."\n" + .'* **outfit**'."\n" + .'* **logo**'."\n" + .'* **weapon**'."\n" + .'* **politics**'."\n" + .'* **violence**'."\n" + .'* **crowd**'."\n" + .'* **parade**'."\n" + .'* **carcrash**'."\n" + .'* **flag**'."\n" + .'* **location**'."\n" + .'* **others**'."\n" + ."\n" + .'Valid values if scene is **ad**:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **ad**: ads'."\n" + .'* **politics**: political content'."\n" + .'* **porn**: pornographic content'."\n" + .'* **abuse**: verbal abuse'."\n" + .'* **terrorism**: terrorist content'."\n" + .'* **contraband**: prohibited content'."\n" + .'* **spam**: spam content'."\n" + .'* **npx**: illegal ad'."\n" + .'* **qrcode**: QR code'."\n" + .'* **programCode**: mini program code'."\n" + ."\n" + .'Valid values if scene is **live**:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **meaningless**: meaningless content, such as a black or white screen.'."\n" + .'* **PIP**: picture-in-picture'."\n" + .'* **smoking**: smoking'."\n" + .'* **drivelive**: live broadcasting in a running vehicle'."\n" + ."\n" + .'Valid values if scene is **logo**:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **TV**: controlled TV station logo'."\n" + .'* **trademark**: trademark'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + 'Scene' => [ + 'description' => 'The review scenario. Valid values:'."\n" + ."\n" + .'* **porn**: pornographic content'."\n" + .'* **terrorism**: terrorist or politically sensitive content'."\n" + .'* **ad**: ad violation'."\n" + .'* **live**: undesirable scene'."\n" + .'* **logo**: logo'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + ], + ], + ], + ], + ], + ], + 'TextResult' => [ + 'description' => 'The text moderation results.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the text. The value is **title**.'."\n", + 'type' => 'string', + 'example' => 'title', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label. Valid values: `[0, 100]`. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **spam**: spam content'."\n" + .'* **ad**: ads'."\n" + .'* **abuse**: abuse'."\n" + .'* **flood**: excessive junk content'."\n" + .'* **contraband**: prohibited content'."\n" + .'* **meaningless**: meaningless content'."\n" + .'* **normal**: normal content'."\n", + 'type' => 'string', + 'example' => 'ad', + ], + 'Content' => [ + 'description' => 'The text content.'."\n", + 'type' => 'string', + 'example' => 'Test'."\n", + ], + 'Scene' => [ + 'description' => 'The review scenario. The value is **antispam**.'."\n", + 'type' => 'string', + 'example' => 'antispam', + ], + ], + ], + ], + 'AudioResult' => [ + 'description' => 'The results of audio review.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score.'."\n", + 'type' => 'string', + 'example' => '99.91', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'Label' => [ + 'description' => 'The category of the review result.'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **spam**: spam'."\n" + .'* **ad**: ads'."\n" + .'* **politics**: political content'."\n" + .'* **terrorism**: terrorist content'."\n" + .'* **abuse**: abuse'."\n" + .'* **porn**: pornographic content.'."\n" + .'* **flood**: excessive junk content'."\n" + .'* **contraband**: prohibited content'."\n" + .'* **meaningless**: meaningless content'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'Scene' => [ + 'description' => 'The review scenario. The value is **antispam**.'."\n", + 'type' => 'string', + 'example' => 'antispam', + ], + ], + ], + ], + 'VideoResult' => [ + 'description' => 'The results of video review.'."\n", + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **porn**: pornographic content'."\n" + .'* **terrorism**: terrorist or politically sensitive content'."\n" + .'* **ad**: ad violation'."\n" + .'* **live**: undesirable scene'."\n" + .'* **logo**: logo'."\n" + .'* **normal**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for video review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'TerrorismResult' => [ + 'description' => 'The results of terrorist content review.'."\n", + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for terrorist content review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'AverageScore' => [ + 'description' => 'The average score of the snapshots of the category that is indicated by Label. Valid values: `[0, 100]`. The value is accurate to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **bloody**'."\n" + .'* **explosion**'."\n" + .'* **outfit**'."\n" + .'* **logo**'."\n" + .'* **weapon**'."\n" + .'* **politics**'."\n" + .'* **violence**'."\n" + .'* **crowd**'."\n" + .'* **parade**'."\n" + .'* **carcrash**'."\n" + .'* **flag**'."\n" + .'* **location**'."\n" + .'* **others**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'MaxScore' => [ + 'description' => 'The highest score of the snapshot of the category that is indicated by Label. Valid values: `[0, 100]`. The value is accurate to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The categories of terrorist content review results and the number of video snapshots in each category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The results of terrorist content review. Valid values:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **bloody**'."\n" + .'* **explosion**'."\n" + .'* **outfit**'."\n" + .'* **logo**'."\n" + .'* **weapon**'."\n" + .'* **politics**'."\n" + .'* **violence**'."\n" + .'* **crowd**'."\n" + .'* **parade**'."\n" + .'* **carcrash**'."\n" + .'* **flag**'."\n" + .'* **location**'."\n" + .'* **others**'."\n", + 'type' => 'string', + 'example' => 'terrorism', + ], + 'Count' => [ + 'description' => 'The number of video snapshots.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the snapshot that has the highest score in the category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the video snapshot.'."\n", + 'type' => 'string', + 'example' => 'http://ali*****.com/aivideocensor/yytysursrutyrxuq/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the snapshot in the category that is indicated by Label. Valid values: `[0, 100]`. The value is accurate to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '5', + ], + 'Label' => [ + 'description' => 'The results of terrorist content review. Valid values:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **bloody**'."\n" + .'* **explosion**'."\n" + .'* **outfit**'."\n" + .'* **logo**'."\n" + .'* **weapon**'."\n" + .'* **politics**'."\n" + .'* **violence**'."\n" + .'* **crowd**'."\n" + .'* **parade**'."\n" + .'* **carcrash**'."\n" + .'* **flag**'."\n" + .'* **location**'."\n" + .'* **others**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + ], + ], + ], + ], + ], + 'PornResult' => [ + 'description' => 'The results of pornographic content review.'."\n", + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**: The content violates the regulations.'."\n" + .'* **review**: The content may violate the regulations.'."\n" + .'* **pass**: The content passes the review.'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'AverageScore' => [ + 'description' => 'The average score of the snapshots of the category that is indicated by Label. Valid values: `[0, 100]`. The value is accurate to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **sexy**'."\n" + .'* **normal**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + 'MaxScore' => [ + 'description' => 'The highest score of the snapshot of the category that is indicated by Label. Valid values: `[0, 100]`. The value is accurate to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The number of snapshots of each category in the review result.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The results of pornographic content review. Valid values:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **sexy**'."\n" + .'* **normal**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + 'Count' => [ + 'description' => 'The number of video snapshots.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the snapshot that has the highest score in the category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the video snapshot.'."\n", + 'type' => 'string', + 'example' => 'http://temp-****bucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the snapshot in the category that is indicated by Label. Valid values: `[0, 100]`. The value is accurate to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '3005', + ], + 'Label' => [ + 'description' => 'The results of pornographic content review. Valid values:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **sexy**'."\n" + .'* **normal**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + ], + ], + ], + ], + ], + 'AdResult' => [ + 'description' => 'The results of ad review.'."\n", + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**: The content violates the regulations.'."\n" + .'* **review**: The content may violate the regulations.'."\n" + .'* **pass**: The content passes the review.'."\n", + 'type' => 'string', + 'example' => 'block', + ], + 'AverageScore' => [ + 'description' => 'The average score of the review results.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The categories of the ad review results. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **ad**: other ads'."\n" + .'* **politics**: political content'."\n" + .'* **porn**: pornographic content'."\n" + .'* **abuse**: abuse'."\n" + .'* **terrorism**: terrorist content'."\n" + .'* **contraband**: prohibited content'."\n" + .'* **spam**: spam content'."\n" + .'* **npx**: illegal ad'."\n" + .'* **qrcode**: QR code'."\n" + .'* **programCode**: mini program code'."\n", + 'type' => 'string', + 'example' => 'ad', + ], + 'MaxScore' => [ + 'description' => 'The highest review score.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The number of snapshots of each category in the review result.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The categories of the ad review results. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **ad**: other ads'."\n" + .'* **politics**: political content'."\n" + .'* **porn**: pornographic content'."\n" + .'* **abuse**: abuse'."\n" + .'* **terrorism**: terrorist content'."\n" + .'* **contraband**: prohibited content'."\n" + .'* **spam**: spam content'."\n" + .'* **npx**: illegal ad'."\n" + .'* **qrcode**: QR code'."\n" + .'* **programCode**: mini program code'."\n", + 'type' => 'string', + 'example' => 'ad', + ], + 'Count' => [ + 'description' => 'The number of video snapshots.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the snapshot that has the highest score in the category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the video snapshot.'."\n", + 'type' => 'string', + 'example' => 'http://temp-****bucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the snapshot in the category that is indicated by Label.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'Label' => [ + 'description' => 'The categories of the ad review results. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **ad**: other ads'."\n" + .'* **politics**: political content'."\n" + .'* **porn**: pornographic content'."\n" + .'* **abuse**: abuse'."\n" + .'* **terrorism**: terrorist content'."\n" + .'* **contraband**: prohibited content'."\n" + .'* **spam**: spam content'."\n" + .'* **npx**: illegal ad'."\n" + .'* **qrcode**: QR code'."\n" + .'* **programCode**: mini program code'."\n", + 'type' => 'string', + 'example' => 'ad', + ], + ], + ], + ], + ], + ], + 'LiveResult' => [ + 'description' => 'The results of undesired content review.'."\n", + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**: The content violates the regulations.'."\n" + .'* **review**: The content may violate the regulations.'."\n" + .'* **pass**: The content passes the review.'."\n", + 'type' => 'string', + 'example' => 'block', + ], + 'AverageScore' => [ + 'description' => 'The average score of the review results.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **meaningless**: meaningless content, such as a black or white screen.'."\n" + .'* **PIP**: picture-in-picture'."\n" + .'* **smoking**: smoking'."\n" + .'* **drivelive**: live broadcasting in a running vehicle'."\n", + 'type' => 'string', + 'example' => 'live', + ], + 'MaxScore' => [ + 'description' => 'The highest review score.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The categories of the review results and the number of video snapshots in each category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **meaningless**: meaningless content, such as a black or white screen.'."\n" + .'* **PIP**: picture-in-picture'."\n" + .'* **smoking**: smoking'."\n" + .'* **drivelive**: live broadcasting in a running vehicle'."\n", + 'type' => 'string', + 'example' => 'live', + ], + 'Count' => [ + 'description' => 'The number of video snapshots.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the snapshot that has the highest score in the category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the video snapshot.'."\n", + 'type' => 'string', + 'example' => 'http://temp-****bucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the snapshot in the category that is indicated by Label.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **meaningless**: meaningless content, such as a black or white screen.'."\n" + .'* **PIP**: picture-in-picture'."\n" + .'* **smoking**: smoking'."\n" + .'* **drivelive**: live broadcasting in a running vehicle'."\n", + 'type' => 'string', + 'example' => 'live', + ], + ], + ], + ], + ], + ], + 'LogoResult' => [ + 'description' => 'The results of logo review.'."\n", + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**: The content violates the regulations.'."\n" + .'* **review**: The content may violate the regulations.'."\n" + .'* **pass**: The content passes the review.'."\n", + 'type' => 'string', + 'example' => 'block', + ], + 'AverageScore' => [ + 'description' => 'The average score of the snapshots in the category indicated by Label.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **TV**: controlled TV station logo'."\n" + .'* **trademark**: trademark'."\n", + 'type' => 'string', + 'example' => 'logo', + ], + 'MaxScore' => [ + 'description' => 'The highest score of the snapshot of the category that is indicated by Label.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The categories of the review results and the number of video snapshots in each category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **TV**: controlled TV station logo'."\n" + .'* **trademark**: trademark'."\n", + 'type' => 'string', + 'example' => 'logo', + ], + 'Count' => [ + 'description' => 'The number of video snapshots.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the snapshot that has the highest score in the category.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the video snapshot.'."\n", + 'type' => 'string', + 'example' => 'http://temp-****bucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the snapshot in the category that is indicated by Label.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '5000', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content'."\n" + .'* **TV**: controlled TV station logo'."\n" + .'* **trademark**: trademark'."\n", + 'type' => 'string', + 'example' => 'logo', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EAA3E96A-02E2-41*****85-08E1D568ED3A\\",\\n \\"MediaAuditJob\\": {\\n \\"CreationTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"Type\\": \\"AIMediaAudit\\",\\n \\"Status\\": \\"success\\",\\n \\"CompleteTime\\": \\"2017-01-11T13:00:00Z\\",\\n \\"JobId\\": \\"bdbc266af6894*****943a70176d92e9\\",\\n \\"Code\\": \\"0\\",\\n \\"Message\\": \\"OK\\",\\n \\"MediaId\\": \\"fe028d09441d*****d1afffb138cd7e\\",\\n \\"Data\\": {\\n \\"Suggestion\\": \\"pass\\",\\n \\"AbnormalModules\\": \\"video\\",\\n \\"Label\\": \\"normal\\",\\n \\"ImageResult\\": [\\n {\\n \\"Type\\": \\"cover\\",\\n \\"Url\\": \\"http://www.test.com/****.jpg\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Label\\": \\"normal\\",\\n \\"Result\\": [\\n {\\n \\"Score\\": \\"0\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Label\\": \\"porn\\",\\n \\"Scene\\": \\"porn\\"\\n }\\n ]\\n }\\n ],\\n \\"TextResult\\": [\\n {\\n \\"Type\\": \\"title\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Score\\": \\"100\\",\\n \\"Label\\": \\"ad\\",\\n \\"Content\\": \\"测试\\",\\n \\"Scene\\": \\"antispam\\"\\n }\\n ],\\n \\"AudioResult\\": [\\n {\\n \\"Score\\": \\"99.91\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Label\\": \\"normal\\",\\n \\"Scene\\": \\"antispam\\"\\n }\\n ],\\n \\"VideoResult\\": {\\n \\"Label\\": \\"normal\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"TerrorismResult\\": {\\n \\"Suggestion\\": \\"pass\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"normal\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"terrorism\\",\\n \\"Count\\": 0\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://ali*****.com/aivideocensor/yytysursrutyrxuq/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"5\\",\\n \\"Label\\": \\"normal\\"\\n }\\n ]\\n },\\n \\"PornResult\\": {\\n \\"Suggestion\\": \\"pass\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"porn\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"porn\\",\\n \\"Count\\": 0\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"3005\\",\\n \\"Label\\": \\"porn\\"\\n }\\n ]\\n },\\n \\"AdResult\\": {\\n \\"Suggestion\\": \\"block\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"ad\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"ad\\",\\n \\"Count\\": 10\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"500\\",\\n \\"Label\\": \\"ad\\"\\n }\\n ]\\n },\\n \\"LiveResult\\": {\\n \\"Suggestion\\": \\"block\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"smoking\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"smoking\\",\\n \\"Count\\": 4\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"500\\",\\n \\"Label\\": \\"smoking\\"\\n }\\n ]\\n },\\n \\"LogoResult\\": {\\n \\"Suggestion\\": \\"block\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"TV\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"TV\\",\\n \\"Count\\": 2\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"5000\\",\\n \\"Label\\": \\"TV\\"\\n }\\n ]\\n }\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAIMediaAuditJobResponse>\\n<RequestId>EAA3E96A-02E2-41*****85-08E1D568ED3A</RequestId>\\n<MediaAuditJob>\\n <Status>success</Status>\\n <Type>AIMediaAudit</Type>\\n <Message>OK</Message>\\n <MediaId>fe028d09441d*****d1afffb138cd7e</MediaId>\\n <CreationTime>2017-01-11T12:00:00Z</CreationTime>\\n <Data>\\n <Suggestion>pass</Suggestion>\\n <TextResult>\\n <Suggestion>pass</Suggestion>\\n <Type>title</Type>\\n <Score>100</Score>\\n <Content>测试</Content>\\n <Label>ad</Label>\\n <Scene>antispam</Scene>\\n </TextResult>\\n <AbnormalModules>video</AbnormalModules>\\n <ImageResult>\\n <Label>normal</Label>\\n <Suggestion>pass</Suggestion>\\n <Type>cover</Type>\\n <Url>http://www.test.com/****.jpg</Url>\\n </ImageResult>\\n <ImageResult>\\n <Result>\\n <Label>porn</Label>\\n <Suggestion>pass</Suggestion>\\n <Score>0</Score>\\n <Scene>porn</Scene>\\n </Result>\\n </ImageResult>\\n <VideoResult>\\n <Suggestion>pass</Suggestion>\\n <LogoResult>\\n <TopList>\\n <Label>logo</Label>\\n <Score>100</Score>\\n <Timestamp>5000</Timestamp>\\n <Url>http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg</Url>\\n </TopList>\\n <Suggestion>block</Suggestion>\\n <MaxScore>100</MaxScore>\\n <AverageScore>100</AverageScore>\\n <Label>logo</Label>\\n <CounterList>\\n <Label>logo</Label>\\n <Count>2</Count>\\n </CounterList>\\n </LogoResult>\\n <Label>normal</Label>\\n <TerrorismResult>\\n <TopList>\\n <Label>normal</Label>\\n <Score>100</Score>\\n <Timestamp>5</Timestamp>\\n <Url>http://ali*****.com/aivideocensor/yytysursrutyrxuq/****.jpg</Url>\\n </TopList>\\n <Suggestion>pass</Suggestion>\\n <MaxScore>100</MaxScore>\\n <AverageScore>100</AverageScore>\\n <Label>normal</Label>\\n <CounterList>\\n <Label>terrorism</Label>\\n <Count>0</Count>\\n </CounterList>\\n </TerrorismResult>\\n <LiveResult>\\n <TopList>\\n <Label>live</Label>\\n <Score>100</Score>\\n <Timestamp>500</Timestamp>\\n <Url>http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg</Url>\\n </TopList>\\n <Suggestion>block</Suggestion>\\n <MaxScore>100</MaxScore>\\n <AverageScore>100</AverageScore>\\n <Label>live</Label>\\n <CounterList>\\n <Label>live</Label>\\n <Count>0</Count>\\n </CounterList>\\n </LiveResult>\\n <PornResult>\\n <TopList>\\n <Label>porn</Label>\\n <Score>100</Score>\\n <Timestamp>3005</Timestamp>\\n <Url>http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg</Url>\\n </TopList>\\n <Suggestion>pass</Suggestion>\\n <MaxScore>100</MaxScore>\\n <AverageScore>100</AverageScore>\\n <Label>porn</Label>\\n <CounterList>\\n <Label>porn</Label>\\n <Count>0</Count>\\n </CounterList>\\n </PornResult>\\n <AdResult>\\n <TopList>\\n <Label>ad</Label>\\n <Score>100</Score>\\n <Timestamp>500</Timestamp>\\n <Url>http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg</Url>\\n </TopList>\\n <Suggestion>block</Suggestion>\\n <MaxScore>100</MaxScore>\\n <AverageScore>100</AverageScore>\\n <Label>ad</Label>\\n <CounterList>\\n <Label>ad</Label>\\n <Count>10</Count>\\n </CounterList>\\n </AdResult>\\n </VideoResult>\\n <Label>normal</Label>\\n </Data>\\n <CompleteTime>2017-01-11T13:00:00Z</CompleteTime>\\n <Code>0</Code>\\n <JobId>bdbc266af6894*****943a70176d92e9</JobId>\\n</MediaAuditJob>\\n</GetAIMediaAuditJobResponse>","errorExample":""}]', + 'title' => 'GetAIMediaAuditJob', + 'description' => 'ApsaraVideo VOD stores the snapshots of the intelligent review results free of charge for two weeks. After this period, the snapshots are automatically deleted.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetMediaAuditResult' => [ + 'summary' => 'Queries the summary of automated review results.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39959', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video or image.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '93ab850b4f6f*****54b6e91d24d81d4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'CB7D7232-1AB2-40FE-B8D5-****', + ], + 'MediaAuditResult' => [ + 'description' => 'The review results.'."\n", + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'AbnormalModules' => [ + 'description' => 'The content that violates the regulations. Separate multiple values with commas (,). Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **image-cover**'."\n" + .'* **text-title**'."\n", + 'type' => 'string', + 'example' => 'video', + ], + 'Label' => [ + 'description' => 'The category of the review result. Separate multiple values with commas (,). Valid values:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **terrorism**'."\n" + .'* **normal**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + 'AudioResult' => [ + 'description' => 'The results of audio review.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score.'."\n", + 'type' => 'string', + 'example' => '99.91', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'Label' => [ + 'description' => 'The category of the review result.'."\n" + ."\n" + .'* **normal**'."\n" + .'* **spam**'."\n" + .'* **ad**'."\n" + .'* **politics**'."\n" + .'* **terrorism**'."\n" + .'* **abuse**'."\n" + .'* **porn**'."\n" + .'* **flood**'."\n" + .'* **contraband**'."\n" + .'* **meaningless**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'Scene' => [ + 'description' => 'The review scenario. The value is **antispam**.'."\n", + 'type' => 'string', + 'example' => 'antispam', + ], + ], + ], + ], + 'ImageResult' => [ + 'description' => 'The results of image review.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the image. The value is **cover**.'."\n", + 'type' => 'string', + 'example' => 'cover', + ], + 'Url' => [ + 'description' => 'The URL of the image.'."\n", + 'type' => 'string', + 'example' => 'http://www.test.com/****.jpg', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'Label' => [ + 'description' => 'The category of the review result. Separate multiple values with commas (,). Valid values:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **terrorism**'."\n" + .'* **normal**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + 'Result' => [ + 'description' => 'Details of image review results.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label.'."\n", + 'type' => 'string', + 'example' => '100.00000', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **review**'."\n" + .'* **pass**'."\n", + 'type' => 'string', + 'example' => 'pass', + ], + 'Label' => [ + 'description' => 'The category of the review result.'."\n" + ."\n" + .'Valid values if scene is **porn**:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **sexy**'."\n" + .'* **normal**'."\n" + ."\n" + .'Valid values if scene is **terrorism**:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **bloody**'."\n" + .'* **explosion**'."\n" + .'* **outfit**'."\n" + .'* **logo**'."\n" + .'* **weapon**'."\n" + .'* **politics**'."\n" + .'* **violence**'."\n" + .'* **crowd**'."\n" + .'* **parade**'."\n" + .'* **carcrash**'."\n" + .'* **flag**'."\n" + .'* **location**'."\n" + .'* **others**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + 'Scene' => [ + 'description' => 'The review scenario. Valid values:'."\n" + ."\n" + .'* **terrorism**'."\n" + .'* **porn**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + ], + ], + ], + ], + ], + ], + 'TextResult' => [ + 'description' => 'The results of text review.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the text. The value is **title**.', + 'type' => 'string', + 'example' => 'title', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'- **block**'."\n" + .'- **review**'."\n" + .'- **pass**', + 'type' => 'string', + 'example' => 'pass', + ], + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label.', + 'type' => 'string', + 'example' => '100.00000', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **spam**'."\n" + .'- **ad**'."\n" + .'- **abuse**'."\n" + .'- **flood**'."\n" + .'- **contraband**'."\n" + .'- **meaningless**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'ad', + ], + 'Content' => [ + 'description' => 'The text content for review.', + 'type' => 'string', + 'example' => 'hot line 123****', + ], + 'Scene' => [ + 'description' => 'The review scenario. The value is **antispam**.', + 'type' => 'string', + 'example' => 'antispam', + ], + ], + ], + ], + 'VideoResult' => [ + 'description' => 'The results of video review.', + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Separate multiple values with commas (,). Valid values: '."\n" + ."\n" + .'- **porn**'."\n" + .'- **terrorism**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'porn', + ], + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'- **block**'."\n" + .'- **review**'."\n" + .'- **pass**', + 'type' => 'string', + 'example' => 'pass', + ], + 'PornResult' => [ + 'description' => 'The results of pornographic content review.', + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results.', + 'type' => 'string', + 'example' => 'pass', + ], + 'AverageScore' => [ + 'description' => 'The average score of the review results.', + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **porn**'."\n" + .'- **sexy**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'porn', + ], + 'MaxScore' => [ + 'description' => 'The highest review score.', + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The statistics about tag frames.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **porn**'."\n" + .'- **sexy**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'porn', + ], + 'Count' => [ + 'description' => 'The number of frames.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the image with the highest score of the category that is indicated by Label.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the image.', + 'type' => 'string', + 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label.', + 'type' => 'string', + 'example' => '100.0000', + ], + 'Timestamp' => [ + 'description' => 'The position in the video. Unit: milliseconds.', + 'type' => 'string', + 'example' => '3005', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **porn**'."\n" + .'- **sexy**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'porn', + ], + ], + ], + ], + ], + ], + 'AdResult' => [ + 'description' => 'The results of ad review.', + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'- **block**'."\n" + .'- **review**'."\n" + .'- **pass**', + 'type' => 'string', + 'example' => 'block', + ], + 'AverageScore' => [ + 'description' => 'The average score of the review results.', + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **ad**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'ad', + ], + 'MaxScore' => [ + 'description' => 'The highest review score.', + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The statistics about tag frames.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **ad**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'ad', + ], + 'Count' => [ + 'description' => 'The number of frames.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '12', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the image with the highest score of the category that is indicated by Label.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the image.', + 'type' => 'string', + 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label.', + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The position in the video. Unit: milliseconds.', + 'type' => 'string', + 'example' => '10', + ], + 'Label' => [ + 'description' => 'The category of the review result. '."\n" + ."\n" + .'- **ad**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'ad', + ], + ], + ], + ], + ], + ], + 'LogoResult' => [ + 'description' => 'The results of logo review.', + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'- **block**'."\n" + .'- **review**'."\n" + .'- **pass**', + 'type' => 'string', + 'example' => 'block', + ], + 'AverageScore' => [ + 'description' => 'The average score of the review results.', + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **logo**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'logo', + ], + 'MaxScore' => [ + 'description' => 'The highest review score.', + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The statistics about tag frames.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **logo**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'logo', + ], + 'Count' => [ + 'description' => 'The number of frames.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the image with the highest score of the category that is indicated by Label.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the image.', + 'type' => 'string', + 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label.', + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The position in the video. Unit: milliseconds.', + 'type' => 'string', + 'example' => '16', + ], + 'Label' => [ + 'description' => 'The category of the review result.'."\n" + ."\n" + .'- **logo**'."\n" + .'- **normal**', + 'type' => 'string', + 'example' => 'logo', + ], + ], + ], + ], + ], + ], + 'LiveResult' => [ + 'description' => 'The results of undesired content review.', + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'- **block**'."\n" + .'- **review**'."\n" + .'- **pass**', + 'type' => 'string', + 'example' => 'block', + ], + 'AverageScore' => [ + 'description' => 'The average score of the review results.', + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **live**: The content contains undesirable scenes.'."\n" + .'- **normal**: normal content.', + 'type' => 'string', + 'example' => 'live', + ], + 'MaxScore' => [ + 'description' => 'The highest review score.', + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The statistics about tag frames.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **live**: The content contains undesirable scenes.'."\n" + .'- **normal**: normal content.', + 'type' => 'string', + 'example' => 'live', + ], + 'Count' => [ + 'description' => 'The number of frames.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the image with the highest score of the category that is indicated by Label.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the image.', + 'type' => 'string', + 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label.', + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The position in the video. Unit: milliseconds.', + 'type' => 'string', + 'example' => '10', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **live**: The content contains undesirable scenes.'."\n" + .'- **normal**: normal content.', + 'type' => 'string', + 'example' => 'normal', + ], + ], + ], + ], + ], + ], + 'TerrorismResult' => [ + 'description' => 'The results of terrorist content review.', + 'type' => 'object', + 'properties' => [ + 'Suggestion' => [ + 'description' => 'The recommendation for review results. Valid values:'."\n" + ."\n" + .'- **block**'."\n" + .'- **review**'."\n" + .'- **pass**', + 'type' => 'string', + 'example' => 'pass', + ], + 'AverageScore' => [ + 'description' => 'The average score of the review results.', + 'type' => 'string', + 'example' => '100', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **normal**'."\n" + .'- **bloody**'."\n" + .'- **explosion**'."\n" + .'- **outfit**'."\n" + .'- **logo**'."\n" + .'- **weapon**'."\n" + .'- **politics**'."\n" + .'- **violence**'."\n" + .'- **crowd**'."\n" + .'- **parade**'."\n" + .'- **carcrash**'."\n" + .'- **flag**'."\n" + .'- **location**'."\n" + .'- **others**', + 'type' => 'string', + 'example' => 'normal', + ], + 'MaxScore' => [ + 'description' => 'The highest review score.', + 'type' => 'string', + 'example' => '100', + ], + 'CounterList' => [ + 'description' => 'The statistics about tag frames.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **normal**'."\n" + .'- **bloody**'."\n" + .'- **explosion**'."\n" + .'- **outfit**'."\n" + .'- **logo**'."\n" + .'- **weapon**'."\n" + .'- **politics**'."\n" + .'- **violence**'."\n" + .'- **crowd**'."\n" + .'- **parade**'."\n" + .'- **carcrash**'."\n" + .'- **flag**'."\n" + .'- **location**'."\n" + .'- **others**', + 'type' => 'string', + 'example' => 'outfit', + ], + 'Count' => [ + 'description' => 'The number of frames.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + 'TopList' => [ + 'description' => 'The information about the image with the highest score of the category that is indicated by Label.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the image.', + 'type' => 'string', + 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Score' => [ + 'description' => 'The score of the image of the category that is indicated by Label.', + 'type' => 'string', + 'example' => '100.000', + ], + 'Timestamp' => [ + 'description' => 'The position in the video. Unit: milliseconds.', + 'type' => 'string', + 'example' => '3005', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'- **normal**'."\n" + .'- **bloody**'."\n" + .'- **explosion**'."\n" + .'- **outfit**'."\n" + .'- **logo**'."\n" + .'- **weapon**'."\n" + .'- **politics**'."\n" + .'- **violence**'."\n" + .'- **crowd**'."\n" + .'- **parade**'."\n" + .'- **carcrash**'."\n" + .'- **flag**'."\n" + .'- **location**'."\n" + .'- **others**', + 'type' => 'string', + 'example' => 'normal', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB7D7232-1AB2-40FE-B8D5-****\\",\\n \\"MediaAuditResult\\": {\\n \\"Suggestion\\": \\"pass\\",\\n \\"AbnormalModules\\": \\"video\\",\\n \\"Label\\": \\"porn\\",\\n \\"AudioResult\\": [\\n {\\n \\"Score\\": \\"99.91\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Label\\": \\"normal\\",\\n \\"Scene\\": \\"antispam\\"\\n }\\n ],\\n \\"ImageResult\\": [\\n {\\n \\"Type\\": \\"cover\\",\\n \\"Url\\": \\"http://www.test.com/****.jpg\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Label\\": \\"porn\\",\\n \\"Result\\": [\\n {\\n \\"Score\\": \\"100.00000\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Label\\": \\"porn\\",\\n \\"Scene\\": \\"porn\\"\\n }\\n ]\\n }\\n ],\\n \\"TextResult\\": [\\n {\\n \\"Type\\": \\"title\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"Score\\": \\"100.00000\\",\\n \\"Label\\": \\"ad\\",\\n \\"Content\\": \\"热线电话123****\\",\\n \\"Scene\\": \\"antispam\\"\\n }\\n ],\\n \\"VideoResult\\": {\\n \\"Label\\": \\"porn\\",\\n \\"Suggestion\\": \\"pass\\",\\n \\"PornResult\\": {\\n \\"Suggestion\\": \\"pass\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"porn\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"porn\\",\\n \\"Count\\": 1\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100.0000\\",\\n \\"Timestamp\\": \\"3005\\",\\n \\"Label\\": \\"porn\\"\\n }\\n ]\\n },\\n \\"AdResult\\": {\\n \\"Suggestion\\": \\"block\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"ad\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"ad\\",\\n \\"Count\\": 12\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"10\\",\\n \\"Label\\": \\"ad\\"\\n }\\n ]\\n },\\n \\"LogoResult\\": {\\n \\"Suggestion\\": \\"block\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"TV\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"TV\\",\\n \\"Count\\": 1\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"16\\",\\n \\"Label\\": \\"TV\\"\\n }\\n ]\\n },\\n \\"LiveResult\\": {\\n \\"Suggestion\\": \\"block\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"smoking\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"smoking\\",\\n \\"Count\\": 2\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"10\\",\\n \\"Label\\": \\"smoking\\"\\n }\\n ]\\n },\\n \\"TerrorismResult\\": {\\n \\"Suggestion\\": \\"pass\\",\\n \\"AverageScore\\": \\"100\\",\\n \\"Label\\": \\"normal\\",\\n \\"MaxScore\\": \\"100\\",\\n \\"CounterList\\": [\\n {\\n \\"Label\\": \\"outfit\\",\\n \\"Count\\": 1\\n }\\n ],\\n \\"TopList\\": [\\n {\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Score\\": \\"100.000\\",\\n \\"Timestamp\\": \\"3005\\",\\n \\"Label\\": \\"normal\\"\\n }\\n ]\\n }\\n }\\n }\\n}","type":"json"}]', + 'title' => 'GetMediaAuditResult', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetMediaAuditResultDetail' => [ + 'summary' => 'Queries the details of automated review results. You can call this operation to query the details of review results in real time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39960', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '93ab850b4f6f*****54b6e91d24d81d4', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. The default value is **1**. A maximum of **20** records can be returned on each page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'docRequired' => true, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6438BD76-D523-46FC-956F-****', + ], + 'MediaAuditResultDetail' => [ + 'description' => 'Details about review results.'."\n", + 'type' => 'object', + 'properties' => [ + 'Total' => [ + 'description' => 'The total number of snapshots returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'List' => [ + 'description' => 'The review results returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TerrorismScore' => [ + 'description' => 'The score of the video snapshot in the terrorist content review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100.00', + ], + 'AdLabel' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content.'."\n" + .'* **ad**: other ads.'."\n" + .'* **politics**: political content in text.'."\n" + .'* **porn**: pornographic content in text.'."\n" + .'* **abuse**: verbal abuse in text.'."\n" + .'* **terrorism**: terrorist content in text.'."\n" + .'* **contraband**: prohibited content in text.'."\n" + .'* **spam**: spam content in text.'."\n" + .'* **npx**: illegal ad'."\n" + .'* **qrcode**: QR code.'."\n" + .'* **programCode**: mini program code.'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'PornLabel' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **porn**'."\n" + .'* **sexy**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'PornScore' => [ + 'description' => 'The score of the video snapshot in the pornographic content review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100.00', + ], + 'LiveLabel' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content.'."\n" + .'* **meaningless**: meaningless content, such as a black or white screen.'."\n" + .'* **PIP**: picture-in-picture.'."\n" + .'* **smoking**: smoking.'."\n" + .'* **drivelive**: live broadcasting in a running vehicle.'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'Url' => [ + 'description' => 'The URL of the video snapshot.'."\n", + 'type' => 'string', + 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '3005', + ], + 'AdScore' => [ + 'description' => 'The score of the video snapshot in the ad review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'LiveScore' => [ + 'description' => 'The score of the video snapshot in the undesirable content review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'LogoScore' => [ + 'description' => 'The score of the video snapshot in the logo review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'LogoLabel' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content.'."\n" + .'* **TV**: controlled TV station logo.'."\n" + .'* **trademark**: trademark.'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'TerrorismLabel' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **bloody**'."\n" + .'* **explosion**'."\n" + .'* **outfit**'."\n" + .'* **logo**'."\n" + .'* **weapon**'."\n" + .'* **politics**'."\n" + .'* **violence**'."\n" + .'* **crowd**'."\n" + .'* **parade**'."\n" + .'* **carcrash**'."\n" + .'* **flag**'."\n" + .'* **location**'."\n" + .'* **others**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6438BD76-D523-46FC-956F-****\\",\\n \\"MediaAuditResultDetail\\": {\\n \\"Total\\": 2,\\n \\"List\\": [\\n {\\n \\"TerrorismScore\\": \\"100.00\\",\\n \\"AdLabel\\": \\"normal\\",\\n \\"PornLabel\\": \\"normal\\",\\n \\"PornScore\\": \\"100.00\\",\\n \\"LiveLabel\\": \\"normal\\",\\n \\"Url\\": \\"http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg\\",\\n \\"Timestamp\\": \\"3005\\",\\n \\"AdScore\\": \\"100\\",\\n \\"LiveScore\\": \\"100\\",\\n \\"LogoScore\\": \\"100\\",\\n \\"LogoLabel\\": \\"normal\\",\\n \\"TerrorismLabel\\": \\"normal\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMediaAuditResultDetailResponse>\\n<RequestId>6438BD76-D523-46FC-956F-****</RequestId>\\n<MediaAuditResultDetail>\\n <Total>2</Total>\\n <List>\\n <LogoLabel>normal</LogoLabel>\\n <LiveScore>100</LiveScore>\\n <PornLabel>normal</PornLabel>\\n <TerrorismLabel>normal</TerrorismLabel>\\n <TerrorismScore>100.00</TerrorismScore>\\n <AdScore>100</AdScore>\\n <PornScore>100.00</PornScore>\\n <AdLabel>normal</AdLabel>\\n <LogoScore>100</LogoScore>\\n <LiveLabel>normal</LiveLabel>\\n <Timestamp>3005</Timestamp>\\n <Url>http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg</Url>\\n </List>\\n</MediaAuditResultDetail>\\n</GetMediaAuditResultDetailResponse>","errorExample":""}]', + 'title' => 'GetMediaAuditResultDetail', + 'description' => '* By default, only details of snapshots that violate content regulations and potentially violate content regulations are returned.'."\n" + .'* ApsaraVideo VOD stores the snapshots in the automated review results free of charge for two weeks. After this period, the snapshots are automatically deleted.'."\n" + .'* This operation is available only in the Singapore region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetMediaAuditResultTimeline' => [ + 'summary' => 'Queries the timelines of all snapshots that violate content regulations.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39961', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '93ab850b4f6f*****54b6e91d24d81d4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6438BD76-D523-46FC-956F-****', + ], + 'MediaAuditResultTimeline' => [ + 'description' => 'The collection of review result timelines.'."\n", + 'type' => 'object', + 'properties' => [ + 'Porn' => [ + 'description' => 'The collection of pornographic content timelines.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score of the video snapshot in the pornographic content review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100.00', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '3005', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **porn**'."\n" + .'* **sexy**'."\n" + .'* **normal**'."\n", + 'type' => 'string', + 'example' => 'porn', + ], + ], + 'description' => '', + ], + ], + 'Terrorism' => [ + 'description' => 'The collection of terrorist content timelines.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score of the video snapshot in the terrorist content review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100.00', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '3005', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **bloody**'."\n" + .'* **explosion**'."\n" + .'* **outfit**'."\n" + .'* **logo**'."\n" + .'* **weapon**'."\n" + .'* **politics**'."\n" + .'* **violence**'."\n" + .'* **crowd**'."\n" + .'* **parade**'."\n" + .'* **carcrash**'."\n" + .'* **flag**'."\n" + .'* **location**'."\n" + .'* **others**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + ], + 'description' => '', + ], + ], + 'Logo' => [ + 'description' => 'The collection of logo timelines.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score of the video snapshot in the logo review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '13', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content.'."\n" + .'* **TV**: controlled TV station logo.'."\n" + .'* **trademark**: trademark.'."\n", + 'type' => 'string', + 'example' => 'logo', + ], + ], + 'description' => '', + ], + ], + 'Live' => [ + 'description' => 'The collection of undesirable content timelines.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score of the video snapshot in the undesirable content review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '12', + ], + 'Label' => [ + 'description' => 'The categories of undesired content review results. Valid values:'."\n" + ."\n" + .'* **normal**: normal content.'."\n" + .'* **meaningless**: meaningless content, such as a black or white screen.'."\n" + .'* **PIP**: picture-in-picture.'."\n" + .'* **smoking**: smoking.'."\n" + .'* **drivelive**: live broadcasting in a running vehicle.'."\n", + 'type' => 'string', + 'example' => 'pip', + ], + ], + 'description' => '', + ], + ], + 'Ad' => [ + 'description' => 'The collection of ad timelines.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Score' => [ + 'description' => 'The score of the video snapshot in the ad review result. Valid values: `[0,100]`. The value is rounded down to 10 decimal places. The score is representative of the confidence.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'Timestamp' => [ + 'description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '10', + ], + 'Label' => [ + 'description' => 'The category of the review result. Valid values:'."\n" + ."\n" + .'* **normal**: normal content.'."\n" + .'* **ad**: other ads.'."\n" + .'* **politics**: political content in text.'."\n" + .'* **porn**: pornographic content in text.'."\n" + .'* **abuse**: abuse in text.'."\n" + .'* **terrorism**: terrorist content in text.'."\n" + .'* **contraband**: prohibited content in text.'."\n" + .'* **spam**: spam content.'."\n" + .'* **npx**: illegal ad.'."\n" + .'* **qrcode**: QR code.'."\n" + .'* **programCode**: mini program code.'."\n", + 'type' => 'string', + 'example' => 'ad', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6438BD76-D523-46FC-956F-****\\",\\n \\"MediaAuditResultTimeline\\": {\\n \\"Porn\\": [\\n {\\n \\"Score\\": \\"100.00\\",\\n \\"Timestamp\\": \\"3005\\",\\n \\"Label\\": \\"porn\\"\\n }\\n ],\\n \\"Terrorism\\": [\\n {\\n \\"Score\\": \\"100.00\\",\\n \\"Timestamp\\": \\"3005\\",\\n \\"Label\\": \\"normal\\"\\n }\\n ],\\n \\"Logo\\": [\\n {\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"13\\",\\n \\"Label\\": \\"normal\\"\\n }\\n ],\\n \\"Live\\": [\\n {\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"12\\",\\n \\"Label\\": \\"smoking\\"\\n }\\n ],\\n \\"Ad\\": [\\n {\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"10\\",\\n \\"Label\\": \\"ad\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMediaAuditResultTimelineResponse>\\n<RequestId>6438BD76-D523-46FC-956F-****</RequestId>\\n<MediaAuditResultTimeline>\\n <Ad>\\n <Score>100</Score>\\n <Label>porn</Label>\\n <Timestamp>3005</Timestamp>\\n </Ad>\\n <Ad>\\n <Score>100</Score>\\n <Label>normal</Label>\\n <Timestamp>3005</Timestamp>\\n </Ad>\\n <Ad>\\n <Score>100</Score>\\n <Label>logo</Label>\\n <Timestamp>13</Timestamp>\\n </Ad>\\n <Ad>\\n <Score>100</Score>\\n <Label>pip</Label>\\n <Timestamp>12</Timestamp>\\n </Ad>\\n <Ad>\\n <Score>100</Score>\\n <Label>ad</Label>\\n <Timestamp>10</Timestamp>\\n </Ad>\\n <Terrorism>\\n <Score>100</Score>\\n <Label>porn</Label>\\n <Timestamp>3005</Timestamp>\\n </Terrorism>\\n <Terrorism>\\n <Score>100</Score>\\n <Label>normal</Label>\\n <Timestamp>3005</Timestamp>\\n </Terrorism>\\n <Terrorism>\\n <Score>100</Score>\\n <Label>logo</Label>\\n <Timestamp>13</Timestamp>\\n </Terrorism>\\n <Terrorism>\\n <Score>100</Score>\\n <Label>pip</Label>\\n <Timestamp>12</Timestamp>\\n </Terrorism>\\n <Terrorism>\\n <Score>100</Score>\\n <Label>ad</Label>\\n <Timestamp>10</Timestamp>\\n </Terrorism>\\n <Live>\\n <Score>100</Score>\\n <Label>porn</Label>\\n <Timestamp>3005</Timestamp>\\n </Live>\\n <Live>\\n <Score>100</Score>\\n <Label>normal</Label>\\n <Timestamp>3005</Timestamp>\\n </Live>\\n <Live>\\n <Score>100</Score>\\n <Label>logo</Label>\\n <Timestamp>13</Timestamp>\\n </Live>\\n <Live>\\n <Score>100</Score>\\n <Label>pip</Label>\\n <Timestamp>12</Timestamp>\\n </Live>\\n <Live>\\n <Score>100</Score>\\n <Label>ad</Label>\\n <Timestamp>10</Timestamp>\\n </Live>\\n <Porn>\\n <Score>100</Score>\\n <Label>porn</Label>\\n <Timestamp>3005</Timestamp>\\n </Porn>\\n <Porn>\\n <Score>100</Score>\\n <Label>normal</Label>\\n <Timestamp>3005</Timestamp>\\n </Porn>\\n <Porn>\\n <Score>100</Score>\\n <Label>logo</Label>\\n <Timestamp>13</Timestamp>\\n </Porn>\\n <Porn>\\n <Score>100</Score>\\n <Label>pip</Label>\\n <Timestamp>12</Timestamp>\\n </Porn>\\n <Porn>\\n <Score>100</Score>\\n <Label>ad</Label>\\n <Timestamp>10</Timestamp>\\n </Porn>\\n <Logo>\\n <Score>100</Score>\\n <Label>porn</Label>\\n <Timestamp>3005</Timestamp>\\n </Logo>\\n <Logo>\\n <Score>100</Score>\\n <Label>normal</Label>\\n <Timestamp>3005</Timestamp>\\n </Logo>\\n <Logo>\\n <Score>100</Score>\\n <Label>logo</Label>\\n <Timestamp>13</Timestamp>\\n </Logo>\\n <Logo>\\n <Score>100</Score>\\n <Label>pip</Label>\\n <Timestamp>12</Timestamp>\\n </Logo>\\n <Logo>\\n <Score>100</Score>\\n <Label>ad</Label>\\n <Timestamp>10</Timestamp>\\n </Logo>\\n</MediaAuditResultTimeline>\\n</GetMediaAuditResultTimelineResponse>","errorExample":""}]', + 'title' => 'GetMediaAuditResultTimeline', + 'description' => '> By default, only details of snapshots that violate content regulations and potentially violate content regulations are returned.'."\n" + ."\n" + .'This operation is available only in the Singapore region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetMediaAuditAudioResultDetail' => [ + 'summary' => 'Queries the details of audio review results.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39958', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can query the video ID by using the ApsaraVideo VOD console or calling the [SearchMedia](~~86044~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '93ab850b4f6f*****54b6e91d24d81d4', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. This parameter is optional. If you do not specify this parameter, all results are returned without pagination.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'docRequired' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'CB7D7232-1AB2-40FE-B8D3-****', + ], + 'MediaAuditAudioResultDetail' => [ + 'description' => 'Details of review results.'."\n", + 'type' => 'object', + 'properties' => [ + 'Total' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageTotal' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'List' => [ + 'description' => 'The list of results.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end time of the audio that failed the review. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'StartTime' => [ + 'description' => 'The start time of the audio that failed the review. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '8', + ], + 'Text' => [ + 'description' => 'The text that corresponds to the audio.'."\n", + 'type' => 'string', + 'example' => 'beauty', + ], + 'Label' => [ + 'description' => 'The review results. Valid values:'."\n" + .'* **spam**'."\n" + .'* **ad**'."\n" + .'* **abuse**'."\n" + .'* **flood**'."\n" + .'* **contraband**'."\n" + .'* **meaningless**'."\n" + .'* **normal**', + 'type' => 'string', + 'example' => 'abuse', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CB7D7232-1AB2-40FE-B8D3-****\\",\\n \\"MediaAuditAudioResultDetail\\": {\\n \\"Total\\": 10,\\n \\"PageTotal\\": 1,\\n \\"List\\": [\\n {\\n \\"EndTime\\": 10,\\n \\"StartTime\\": 8,\\n \\"Text\\": \\"天安门\\",\\n \\"Label\\": \\"abuse\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMediaAuditAudioResultDetailResponse>\\n <RequestId>CB7D7232-1AB2-40FE-B8D3-****</RequestId>\\n <MediaAuditAudioResultDetail>\\n <Total>10</Total>\\n <PageTotal>1</PageTotal>\\n <List>\\n <EndTime>10</EndTime>\\n <StartTime>8</StartTime>\\n <Text>天安门</Text>\\n <Label>abuse</Label>\\n </List>\\n </MediaAuditAudioResultDetail>\\n</GetMediaAuditAudioResultDetailResponse>","errorExample":""}]', + 'title' => 'GetMediaAuditAudioResultDetail', + 'description' => 'If notifications for the [CreateAuditComplete](~~89576~~) event are configured, event notifications are sent to the callback URL after automated review is complete. You can call this operation to query the details of audio review results.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateAudit' => [ + 'summary' => 'Performs manual review on media files, such as audio and video files.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39808', + 'abilityTreeNodes' => [ + 'FEATUREvodL077M7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AuditContent', + 'in' => 'query', + 'schema' => [ + 'description' => 'The review content. You can specify up to **100** audio or video files in a request. The value must be converted to a string.\\'."\n" + .'For more information about this parameter, see the **AuditContent** section of this topic.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[{"VideoId":"93ab850b4f*****b54b6e91d24d81d4","Status":"Normal"},{"VideoId":"f867fbfb58*****8bbab65c4480ae1d","Status":"Blocked","Reason":"porn video","Comment":"porn video"}]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateAuditResponse>\\r\\n <RequestId>25818875-5F78-4A*****F6-D7393642CA58</RequestId>\\r\\n</CreateAuditResponse>","errorExample":""}]', + 'title' => 'CreateAudit', + 'requestParamsDescription' => '## AuditContent'."\n" + ."\n" + .'|Field|Type|Required|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|VideoId|String|Yes|The ID of the audio or video file.|'."\n" + .'|Status|String|Yes|The review status of the audio or video file. Value values: **Blocked** and **Normal**.|'."\n" + .'|Reason|String|No|The reason for blocking the audio or video file if you set Status to Blocked. The reason can be up to 128 bytes in length.|'."\n" + .'|Comment|String|No|The remarks of the review. The remarks can be up to 512 bytes in length.|', + 'responseParamsDescription' => ' ', + ], + 'GetAuditHistory' => [ + 'summary' => 'Queries the manual review history.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39940', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '93ab850b4f6f44*****6e91d24d81d4', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **100**.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting rule of the results. Valid values:'."\n" + .'* **CreationTime:Desc**: sorts the results based on the creation time in descending order. This is the default value.'."\n" + .'* **CreationTime:Asc**: sorts the results based on the creation time in ascending order.', + 'type' => 'string', + 'required' => false, + 'example' => 'CreationTime:Desc', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The manual review result. Valid values:'."\n" + .'- **Normal**: The video can be played.'."\n" + .'- **Blocked**: The video is blocked.', + 'type' => 'string', + 'example' => 'Normal', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '04F0F334-1335-43*****D7-6C044FE73368', + ], + 'Total' => [ + 'description' => 'The total number of review records.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'Histories' => [ + 'description' => 'The review records.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The manual review result. Valid values:'."\n" + .'- **Normal**: The video can be played.'."\n" + .'- **Blocked**: The video is blocked.', + 'type' => 'string', + 'example' => 'Blocked', + ], + 'CreationTime' => [ + 'description' => 'The time when the review record was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'Comment' => [ + 'description' => 'The review comments, which are provided by the reviewer.', + 'type' => 'string', + 'example' => 'Contains nudity', + ], + 'Reason' => [ + 'description' => 'The reason why the video failed the review. If the video failed the review, specify the reason.', + 'type' => 'string', + 'example' => 'Pornographic video', + ], + 'Auditor' => [ + 'description' => 'The reviewer.', + 'type' => 'string', + 'example' => 'auditor', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Normal\\",\\n \\"RequestId\\": \\"04F0F334-1335-43*****D7-6C044FE73368\\",\\n \\"Total\\": 2,\\n \\"Histories\\": [\\n {\\n \\"Status\\": \\"Blocked\\",\\n \\"CreationTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"Comment\\": \\"有露点镜头\\",\\n \\"Reason\\": \\"色情视频\\",\\n \\"Auditor\\": \\"auditor\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetAuditHistoryResponse>\\r\\n <RequestId>04F0F334-1335-43*****D7-6C044FE73368</RequestId>\\r\\n\\t<Status>Blocked</Status>\\r\\n\\t<Total>2</Total>\\r\\n\\t<Histories>\\r\\n\\t\\t<CreationTime>2017-12-18T07:39:00Z</CreationTime>\\r\\n\\t\\t<Status>Blocked</Status>\\r\\n\\t\\t<Reason>色情视频</Reason>\\r\\n\\t\\t<Comment>有露点镜头</Comment>\\r\\n\\t</Histories>\\r\\n\\t<Histories>\\r\\n\\t\\t<CreationTime>2017-12-18T07:30:00Z</CreationTime>\\r\\n\\t\\t<Status>Normal</Status>\\r\\n\\t\\t<Reason></Reason>\\r\\n\\t\\t<Comment></Comment>\\r\\n\\t</Histories>\\r\\n</GetAuditHistoryResponse>","errorExample":""}]', + 'title' => 'GetAuditHistory', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'AddAITemplate' => [ + 'summary' => 'Adds an AI template for automated review and smart thumbnail tasks.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39782', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the AI template. The name can be up to 128 bytes in length.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'AI-media-test', + ], + ], + [ + 'name' => 'TemplateType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the AI template. Valid values:'."\n" + ."\n" + .'* **AIMediaAudit**: automated review'."\n" + .'* **AIImage**: smart thumbnail'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'AIMediaAudit', + ], + ], + [ + 'name' => 'TemplateConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The detailed configurations of the AI template. The value must be a JSON string. For more information, see [AITemplateConfig](~~89863#title-vd3-499-o36~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '{"AuditItem":["terrorism","porn"],"AuditRange":["image-cover","text-title","video"],"AuditContent":["screen"],"AuditAutoBlock":"yes"}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TemplateId' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddAITemplateResponse>\\n <TemplateId>1706a0063dd733f6a823ef32e0a5****</TemplateId>\\n <RequestId>25818875-5F78-4A13-BEF6-****</RequestId>\\n</AddAITemplateResponse>","errorExample":""}]', + 'title' => 'AddAITemplate', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* Before you add an AI template for automated review and smart thumbnail tasks, make sure that [automated review](https://ai.aliyun.com/vi/censor) and [smart thumbnail](https://ai.aliyun.com/vi/cover) are enabled.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'DeleteAITemplate' => [ + 'summary' => 'Deletes an AI template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39823', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the AI template. You can use one of the following methods to obtain the ID of the AI template:'."\n" + ."\n" + .'* Call the [AddAITemplate](~~102930~~) operation to add an AI template if no AI template exists. The value of TemplateId in the response is the ID of the AI template.'."\n" + .'* Call the [ListAITemplate](~~102936~~) operation if the template already exists. The value of TemplateId in the response is the ID of the AI template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TemplateId' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAITemplateResponse>\\n <TemplateId>1706a0063dd733f6a823ef32e0a5****</TemplateId>\\n <RequestId>25818875-5F78-4A13-BEF6-****</RequestId>\\n</DeleteAITemplateResponse>","errorExample":""}]', + 'title' => 'DeleteAITemplate', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* You cannot delete an AI template that is set as the default template.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'UpdateAITemplate' => [ + 'summary' => 'Modifies an AI template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40205', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the AI template. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Call the [AddAITemplate](~~102930~~) operation to add an AI template if no AI template exists. The value of TemplateId in the response is the ID of the AI template.'."\n" + .'* Call the [ListAITemplate](~~102936~~) operation if the template already exists. The value of TemplateId in the response is the ID of the AI template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + ], + [ + 'name' => 'TemplateName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the AI template. The name can be up to 128 bytes in length.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'DemoAITemplate', + ], + ], + [ + 'name' => 'TemplateConfig', + 'in' => 'query', + 'schema' => [ + 'description' => 'The detailed configurations of the AI template. The value is a JSON string. For more information, see [AITemplateConfig](~~89863#title-vd3-499-o36~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '{"AuditItem":["terrorism","porn"],"AuditRange":["text-title","video"],"AuditContent":["screen"],"AuditAutoBlock":"yes"}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TemplateId' => [ + 'description' => 'The ID of the template.'."\n", + 'type' => 'string', + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAITemplateResponse>\\n <TemplateId>1706a0063dd733f6a823ef32e0a5****</TemplateId>\\n <RequestId>25818875-5F78-4A13-BEF6-****</RequestId>\\n</UpdateAITemplateResponse>","errorExample":""}]', + 'title' => 'UpdateAITemplate', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* After you call the [AddAITemplate](~~102930~~) operation to add an AI template, you can call this operation to modify the AI template.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SetDefaultAITemplate' => [ + 'summary' => 'Specifies an AI template as the default template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40130', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TemplateId' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '8E70E3F8-E2EE-47BC-4677-379D6F28****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"RequestId\\": \\"8E70E3F8-E2EE-47BC-4677-379D6F28****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetDefaultAITemplateResponse>\\n <TemplateId>1706a0063dd733f6a823ef32e0a5****</TemplateId>\\n <RequestId>8E70E3F8-E2EE-47BC-4677-379D6F28****</RequestId>\\n</SetDefaultAITemplateResponse>","errorExample":""}]', + 'title' => 'SetDefaultAITemplate', + 'description' => 'Specifies an AI template as the default template.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetAITemplate' => [ + 'summary' => 'Queries AI templates.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39935', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the AI template. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Call the [AddAITemplate](~~102930~~) operation to add an AI template if no AI template exists. The value of TemplateId in the response is the ID of the AI template.'."\n" + .'* Call the [ListAITemplate](~~102936~~) operation if the template already exists. The value of TemplateId in the response is the ID of the AI template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '080DA371-8AC0-4CD4-4476-33E64282****', + ], + 'TemplateInfo' => [ + 'description' => 'The information about the AI template.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the AI template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-07-08T06:50:45Z', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the template is the default AI template. Valid values:'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'NotDefault', + ], + 'TemplateType' => [ + 'description' => 'The type of the AI template. Valid values:'."\n" + ."\n" + .'* **AIMediaAudit**: automated review'."\n" + .'* **AIImage**: smart thumbnail'."\n", + 'type' => 'string', + 'example' => 'AIMediaAudit', + ], + 'TemplateConfig' => [ + 'description' => 'The detailed configurations of the AI template. The value is a JSON string. For more information, see [AITemplateConfig](~~89863#title-vd3-499-o36~~).'."\n", + 'type' => 'string', + 'example' => '{"AuditRange":["text-title","video"],"AuditContent":["screen"],"AuditItem":["terrorism","porn"],"AuditAutoBlock":"yes"}', + ], + 'TemplateName' => [ + 'description' => 'The name of the AI template.'."\n", + 'type' => 'string', + 'example' => 'DemoAITemplate', + ], + 'Source' => [ + 'description' => 'The source of the AI template. Valid values:'."\n" + ."\n" + .'* **System**'."\n" + .'* **Custom**'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + 'TemplateId' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + 'ModifyTime' => [ + 'description' => 'The time when the AI template was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-07-08T06:58:45Z', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"080DA371-8AC0-4CD4-4476-33E64282****\\",\\n \\"TemplateInfo\\": {\\n \\"CreationTime\\": \\"2020-07-08T06:50:45Z\\",\\n \\"IsDefault\\": \\"NotDefault\\",\\n \\"TemplateType\\": \\"AIMediaAudit\\",\\n \\"TemplateConfig\\": \\"{\\\\\\"AuditRange\\\\\\":[\\\\\\"text-title\\\\\\",\\\\\\"video\\\\\\"],\\\\\\"AuditContent\\\\\\":[\\\\\\"screen\\\\\\"],\\\\\\"AuditItem\\\\\\":[\\\\\\"terrorism\\\\\\",\\\\\\"porn\\\\\\"],\\\\\\"AuditAutoBlock\\\\\\":\\\\\\"yes\\\\\\"}\\",\\n \\"TemplateName\\": \\"DemoAITemplate\\",\\n \\"Source\\": \\"Custom\\",\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"ModifyTime\\": \\"2020-07-08T06:58:45Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAITemplateResponse>\\n <RequestId>080DA371-8AC0-4CD4-4476-33E64282****</RequestId>\\n <TemplateInfo>\\n <CreationTime>2020-07-08T06:50:45Z</CreationTime>\\n <IsDefault>NotDefault</IsDefault>\\n <TemplateType>AIMediaAudit</TemplateType>\\n <TemplateConfig>{\\"AuditRange\\":[\\"text-title\\",\\"video\\"],\\"AuditContent\\":[\\"screen\\"],\\"AuditItem\\":[\\"terrorism\\",\\"porn\\"],\\"AuditAutoBlock\\":\\"yes\\"}</TemplateConfig>\\n <TemplateName>DemoAITemplate</TemplateName>\\n <Source>Custom</Source>\\n <TemplateId>1706a0063dd733f6a823ef32e0a5****</TemplateId>\\n <ModifyTime>2020-07-08T06:58:45Z</ModifyTime>\\n </TemplateInfo>\\n</GetAITemplateResponse>","errorExample":""}]', + 'title' => 'GetAITemplate', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* Before you call this operation to query details of an AI template, you must obtain the ID of the AI template.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'ListAITemplate' => [ + 'summary' => 'Queries AI templates.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40026', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the AI template. Valid values:'."\n" + ."\n" + .'* **AIMediaAudit**: automated review'."\n" + .'* **AIImage**: smart thumbnail'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'AIMediaAudit', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '75B7BC67-FB8C-4653-4788-F4B01ED2****', + ], + 'TemplateInfoList' => [ + 'description' => 'The information about the AI templates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the AI template.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the AI template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-07-08T06:50:45Z', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the template is the default AI template. Valid values:'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'NoDefault', + ], + 'TemplateType' => [ + 'description' => 'The type of the AI template. Valid values:'."\n" + ."\n" + .'* **AIMediaAudit**: automated review'."\n" + .'* **AIImage**: smart thumbnail'."\n", + 'type' => 'string', + 'example' => 'AIMediaAudit', + ], + 'TemplateConfig' => [ + 'description' => 'The detailed configurations of the AI template. The value is a JSON string. For more information, see [AITemplateConfig](~~89863#title-vd3-499-o36~~).'."\n", + 'type' => 'string', + 'example' => '{"AuditRange":["text-title","video"],"AuditContent":["screen"],"AuditItem":["terrorism","porn"],"AuditAutoBlock":"yes"}', + ], + 'TemplateName' => [ + 'description' => 'The name of the AI template.'."\n", + 'type' => 'string', + 'example' => 'DemoAITemplate', + ], + 'Source' => [ + 'description' => 'The source of the AI template. Valid values:'."\n" + ."\n" + .'* **System**'."\n" + .'* **Custom**'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + 'TemplateId' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + 'ModifyTime' => [ + 'description' => 'The time when the AI template was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-07-08T06:58:45Z', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"75B7BC67-FB8C-4653-4788-F4B01ED2****\\",\\n \\"TemplateInfoList\\": [\\n {\\n \\"CreationTime\\": \\"2020-07-08T06:50:45Z\\",\\n \\"IsDefault\\": \\"NoDefault\\",\\n \\"TemplateType\\": \\"AIMediaAudit\\",\\n \\"TemplateConfig\\": \\"{\\\\\\"AuditRange\\\\\\":[\\\\\\"text-title\\\\\\",\\\\\\"video\\\\\\"],\\\\\\"AuditContent\\\\\\":[\\\\\\"screen\\\\\\"],\\\\\\"AuditItem\\\\\\":[\\\\\\"terrorism\\\\\\",\\\\\\"porn\\\\\\"],\\\\\\"AuditAutoBlock\\\\\\":\\\\\\"yes\\\\\\"}\\",\\n \\"TemplateName\\": \\"DemoAITemplate\\",\\n \\"Source\\": \\"Custom\\",\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"ModifyTime\\": \\"2020-07-08T06:58:45Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAITemplateResponse>\\n <RequestId>75B7BC67-FB8C-4653-4788-F4B01ED2****</RequestId>\\n <TemplateInfoList>\\n <CreationTime>2020-07-08T06:50:45Z</CreationTime>\\n <IsDefault>NoDefault</IsDefault>\\n <TemplateType>AIMediaAudit</TemplateType>\\n <TemplateConfig>{\\"AuditRange\\":[\\"text-title\\",\\"video\\"],\\"AuditContent\\":[\\"screen\\"],\\"AuditItem\\":[\\"terrorism\\",\\"porn\\"],\\"AuditAutoBlock\\":\\"yes\\"}</TemplateConfig>\\n <TemplateName>DemoAITemplate</TemplateName>\\n <Source>Custom</Source>\\n <TemplateId>1706a0063dd733f6a823ef32e0a5****</TemplateId>\\n <ModifyTime>2020-07-08T06:58:45Z</ModifyTime>\\n </TemplateInfoList>\\n</ListAITemplateResponse>","errorExample":""}]', + 'title' => 'ListAITemplate', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* You can call this operation to query AI templates of a specified type.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetDefaultAITemplate' => [ + 'summary' => 'Queries the default AI template.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39949', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TemplateType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the AI template. Set the value to **AIMediaAudit**, which specifies the automated review.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'AIMediaAudit', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'A017F1DE-3DC3-4441-6755-37E81113****', + ], + 'TemplateInfo' => [ + 'description' => 'The information about the AI template.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the AI template was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-07-08T06:50:45Z', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the template is the default AI template. Valid values:'."\n" + ."\n" + .'* **Default**'."\n" + .'* **NotDefault**'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'TemplateType' => [ + 'description' => 'The type of the AI template. The value is **AIMediaAudit**, which indicates automated review.'."\n", + 'type' => 'string', + 'example' => 'AIMediaAudit', + ], + 'TemplateConfig' => [ + 'description' => 'The detailed configurations of the AI template. The value is a JSON string. For more information, see [AITemplateConfig](~~89863#title-vd3-499-o36~~).'."\n", + 'type' => 'string', + 'example' => '{"AuditRange":["text-title","video"],"AuditContent":["screen"],"AuditItem":["terrorism","porn"],"AuditAutoBlock":"yes"}', + ], + 'TemplateName' => [ + 'description' => 'The name of the AI template.'."\n", + 'type' => 'string', + 'example' => 'DemoAITemplate', + ], + 'Source' => [ + 'description' => 'The source of the AI template. Valid values:'."\n" + ."\n" + .'* **System**'."\n" + .'* **Custom**'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + 'TemplateId' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'example' => '1706a0063dd733f6a823ef32e0a5****', + ], + 'ModifyTime' => [ + 'description' => 'The time when the AI template was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-07-08T06:58:45Z', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A017F1DE-3DC3-4441-6755-37E81113****\\",\\n \\"TemplateInfo\\": {\\n \\"CreationTime\\": \\"2020-07-08T06:50:45Z\\",\\n \\"IsDefault\\": \\"Default\\",\\n \\"TemplateType\\": \\"AIMediaAudit\\",\\n \\"TemplateConfig\\": \\"{\\\\\\"AuditRange\\\\\\":[\\\\\\"text-title\\\\\\",\\\\\\"video\\\\\\"],\\\\\\"AuditContent\\\\\\":[\\\\\\"screen\\\\\\"],\\\\\\"AuditItem\\\\\\":[\\\\\\"terrorism\\\\\\",\\\\\\"porn\\\\\\"],\\\\\\"AuditAutoBlock\\\\\\":\\\\\\"yes\\\\\\"}\\",\\n \\"TemplateName\\": \\"DemoAITemplate\\",\\n \\"Source\\": \\"Custom\\",\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"ModifyTime\\": \\"2020-07-08T06:58:45Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDefaultAITemplateResponse>\\n <RequestId>A017F1DE-3DC3-4441-6755-37E81113****</RequestId>\\n <TemplateInfo>\\n <CreationTime>2020-07-08T06:50:45Z</CreationTime>\\n <IsDefault>Default</IsDefault>\\n <TemplateType>AIMediaAudit</TemplateType>\\n <TemplateConfig>{\\"AuditRange\\":[\\"text-title\\",\\"video\\"],\\"AuditContent\\":[\\"screen\\"],\\"AuditItem\\":[\\"terrorism\\",\\"porn\\"],\\"AuditAutoBlock\\":\\"yes\\"}</TemplateConfig>\\n <TemplateName>DemoAITemplate</TemplateName>\\n <Source>Custom</Source>\\n <TemplateId>1706a0063dd733f6a823ef32e0a5****</TemplateId>\\n <ModifyTime>2020-07-08T06:58:45Z</ModifyTime>\\n </TemplateInfo>\\n</GetDefaultAITemplateResponse>","errorExample":""}]', + 'title' => 'GetDefaultAITemplate', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* You can query information only about the default AI template for automated review.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'ListAIJob' => [ + 'summary' => 'Queries a smart tagging or video fingerprinting job. After you submit a smart tagging or video fingerprinting job, ApsaraVideo VOD asynchronously processes the job. You can call this operation to query the job information in real time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40022', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'JobIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The list of job IDs. You can obtain the job ID from the PlayInfo parameter in the response to the [GetPlayInfo](~~56124~~) operation.'."\n" + ."\n" + .'> You can specify a maximum of 10 job IDs in a request. Separate multiple IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'a718a3a1e8bb42ee3bc88921e94****,aasdcsfg782740asd3****,k2l3ibaskod98wrns9d****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '8233A0E4-E112-44*****58-2BCED1B88173', + ], + 'NonExistAIJobIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'String' => [ + 'description' => 'The IDs of the jobs that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the jobs that do not exist.'."\n", + 'type' => 'string', + 'example' => '["aasdcsfg782740asd3****", "k2l3ibaskod98wrns9d****"]', + ], + ], + ], + ], + 'AIJobList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AIJob' => [ + 'description' => 'The list of jobs.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the job was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-06-28T02:04:32Z', + ], + 'Status' => [ + 'description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'* **success**: The job is successful.'."\n" + .'* **fail**: The job failed.'."\n" + .'* **init**: The job is being initialized.'."\n" + .'* **Processing**: The job is in progress.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'Type' => [ + 'description' => 'The type of the job. Valid values:'."\n" + ."\n" + .'* **AIMediaDNA**: video fingerprinting'."\n" + .'* **AIVideoTag**: smart tagging'."\n", + 'type' => 'string', + 'example' => 'AIVideoTag', + ], + 'Data' => [ + 'description' => 'The returned data. The value is a JSON string. For more information, see [AITemplateConfig](~~89863~~).'."\n", + 'type' => 'string', + 'example' => '{"OrigASRData":{"AsrTextList":\\[{"EndTime":700,"StartTime":0,"Text":"Yes.","ChannelId":0,"SpeechRate":85},{"EndTime":3750,"StartTime":1630,"Text":"No.","ChannelId":0,"SpeechRate":28},{"EndTime":5910,"StartTime":4020,"Text":"Of course.","ChannelId":0,"SpeechRate":95},{"EndTime":12750,"StartTime":10090,"Text":"Message.","ChannelId":0,"SpeechRate":45},{"EndTime":25230,"StartTime":13590,"Text":"Hello, good afternoon.","ChannelId":0,"SpeechRate":20},{"EndTime":30000,"StartTime":28220,"Text":"Yes.","ChannelId":0,"SpeechRate":33}],"Duration":"30016"}}'."\n", + ], + 'CompleteTime' => [ + 'description' => 'The time when the job was complete. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-06-28T02:04:47Z', + ], + 'JobId' => [ + 'description' => 'The job ID.'."\n", + 'type' => 'string', + 'example' => 'a718a3a1e8bb42ee3bc88921e94****', + ], + 'Code' => [ + 'description' => 'The error code. This parameter is returned if the value of Status is fail.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Message' => [ + 'description' => 'The error message. This parameter is returned if the value of Status is fail.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'MediaId' => [ + 'description' => 'The ID of the video file.'."\n", + 'type' => 'string', + 'example' => '3D3D12340d9401fab46a0b847****', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8233A0E4-E112-44*****58-2BCED1B88173\\",\\n \\"NonExistAIJobIds\\": {\\n \\"String\\": [\\n \\"[\\\\\\"aasdcsfg782740asd3****\\\\\\", \\\\\\"k2l3ibaskod98wrns9d****\\\\\\"]\\"\\n ]\\n },\\n \\"AIJobList\\": {\\n \\"AIJob\\": [\\n {\\n \\"CreationTime\\": \\"2020-06-28T02:04:32Z\\",\\n \\"Status\\": \\"success\\",\\n \\"Type\\": \\"AIVideoTag\\",\\n \\"Data\\": \\"{\\\\\\"OrigASRData\\\\\\":{\\\\\\"AsrTextList\\\\\\":[{\\\\\\"EndTime\\\\\\":700,\\\\\\"StartTime\\\\\\":0,\\\\\\"Text\\\\\\":\\\\\\"嗯。\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":85},{\\\\\\"EndTime\\\\\\":3750,\\\\\\"StartTime\\\\\\":1630,\\\\\\"Text\\\\\\":\\\\\\"的。\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":28},{\\\\\\"EndTime\\\\\\":5910,\\\\\\"StartTime\\\\\\":4020,\\\\\\"Text\\\\\\":\\\\\\"听不厌。\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":95},{\\\\\\"EndTime\\\\\\":12750,\\\\\\"StartTime\\\\\\":10090,\\\\\\"Text\\\\\\":\\\\\\"留言。\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":45},{\\\\\\"EndTime\\\\\\":25230,\\\\\\"StartTime\\\\\\":13590,\\\\\\"Text\\\\\\":\\\\\\"hello,中午好。\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":20},{\\\\\\"EndTime\\\\\\":30000,\\\\\\"StartTime\\\\\\":28220,\\\\\\"Text\\\\\\":\\\\\\"嗯。\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":33}],\\\\\\"Duration\\\\\\":\\\\\\"30016\\\\\\"}}\\",\\n \\"CompleteTime\\": \\"2020-06-28T02:04:47Z\\",\\n \\"JobId\\": \\"a718a3a1e8bb42ee3bc88921e94****\\",\\n \\"Code\\": \\"0\\",\\n \\"Message\\": \\"OK\\",\\n \\"MediaId\\": \\"3D3D12340d9401fab46a0b847****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListAIJobResponse>\\n<RequestId>8233A0E4-E112-44*****58-2BCED1B88173</RequestId>\\n<NonExistAIJobIds>\\n <String>[\\"aasdcsfg*****782740asd\\", \\"k2l3ibask*****od98wrns9\\"]</String>\\n</NonExistAIJobIds>\\n<AIJobList>\\n <AIJob>\\n <Status>success</Status>\\n <Type>AIVideoTag</Type>\\n <Message>OK</Message>\\n <MediaId>a718a3a1e8*****bb42ee3bc88921e9</MediaId>\\n <CreationTime>2020-06-28T02:04:32Z</CreationTime>\\n <Data>{\\"OrigASRData\\":{\\"AsrTextList\\":[{\\"EndTime\\":700,\\"StartTime\\":0,\\"Text\\":\\"嗯。\\",\\"ChannelId\\":0,\\"SpeechRate\\":85},{\\"EndTime\\":3750,\\"StartTime\\":1630,\\"Text\\":\\"的。\\",\\"ChannelId\\":0,\\"SpeechRate\\":28},{\\"EndTime\\":5910,\\"StartTime\\":4020,\\"Text\\":\\"听不厌。\\",\\"ChannelId\\":0,\\"SpeechRate\\":95},{\\"EndTime\\":12750,\\"StartTime\\":10090,\\"Text\\":\\"留言。\\",\\"ChannelId\\":0,\\"SpeechRate\\":45},{\\"EndTime\\":25230,\\"StartTime\\":13590,\\"Text\\":\\"hello,中午好。\\",\\"ChannelId\\":0,\\"SpeechRate\\":20},{\\"EndTime\\":30000,\\"StartTime\\":28220,\\"Text\\":\\"嗯。\\",\\"ChannelId\\":0,\\"SpeechRate\\":33}],\\"Duration\\":\\"30016\\"}}</Data>\\n <CompleteTime>2020-06-28T02:04:47Z</CompleteTime>\\n <Code>0</Code>\\n <JobId>53d4a9c7b00c*****cdcb4b0c2c854c7</JobId>\\n </AIJob>\\n</AIJobList>\\n</ListAIJobResponse>","errorExample":""}]', + 'title' => 'ListAIJob', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* You can call this operation to query video fingerprinting jobs and smart tagging jobs.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SubmitAIJob' => [ + 'summary' => 'Submits a smart tagging or video fingerprinting job.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40167', + 'abilityTreeNodes' => [ + 'FEATUREvodW76Z9M', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload media files.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation after you upload media files.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '3D3D12340d9401fab46a0b847****', + ], + ], + [ + 'name' => 'Types', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the AI job. Separate multiple types with commas (,). Valid values:'."\n" + ."\n" + .'* **AIMediaDNA**: The media fingerprinting job.'."\n" + .'* **AIVideoTag**: The smart tagging job.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AIVideoTag', + ], + ], + [ + 'name' => 'Config', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configurations of the AI job. The value is a JSON string.'."\n" + ."\n" + .'* If you set `Types` to `AIVideoTag`, you can specify `AnalyseTypes` for `Config` to set the analysis algorithm of a smart tagging job. Valid values:'."\n" + ."\n" + .' * ASR: automatic speech recognition (ASR)'."\n" + .' * OCR: image optical character recognition (OCR)'."\n" + ."\n" + .'* If you set `Types` to `AIMediaDNA`, you can specify `DNADBId` for `Config` to set the ID of the media fingerprint library for video fingerprinting jobs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"AIVideoTag": {"AnalyseTypes": "Face,ASR"} }', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom settings. The value is a JSON string. For more information, see [Request parameters](~~86952#h2--userdata-div-id-userdata-div-3~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Extend":{"localId":"***","test":"www"}}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-D73936****', + ], + 'AIJobList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AIJob' => [ + 'description' => 'The information about the AI jobs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the AI job.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the AI job. Valid values:'."\n" + ."\n" + .'* **AIMediaDNA**: The media fingerprinting job.'."\n" + .'* **AIVideoTag**: The smart tagging job.'."\n", + 'type' => 'string', + 'example' => 'AIVideoTag', + ], + 'JobId' => [ + 'description' => 'The ID of the AI job.'."\n", + 'type' => 'string', + 'example' => '9e82640c85114bf5af23edfaf****', + ], + 'MediaId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => '3D3D12340d92c641401fab46a0b847****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-D73936****\\",\\n \\"AIJobList\\": {\\n \\"AIJob\\": [\\n {\\n \\"Type\\": \\"AIVideoTag\\",\\n \\"JobId\\": \\"9e82640c85114bf5af23edfaf****\\",\\n \\"MediaId\\": \\"3D3D12340d92c641401fab46a0b847****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<SubmitAIJobResponse>\\n <RequestId>25818875-5F78-4A13-BEF6-D73936****</RequestId>\\n <AIJobList>\\n <Type>AIVideoTag</Type>\\n <JobId>9e82640c85114bf5af23edfaf****</JobId>\\n <MediaId>3D3D12340d92c641401fab46a0b847****</MediaId>\\n </AIJobList>\\n</SubmitAIJobResponse>","errorExample":""}]', + 'title' => 'SubmitAIJob', + 'description' => '* **Make sure that you understand the billing method and price of ApsaraVideo VOD before you call this operation. You are charged for using the smart tagging and video fingerprinting features. For more information, see [Billing of video AI](~~188310#section-g7l-s3o-9ng~~).**'."\n" + .'* Regions that support the video fingerprinting feature: **China (Beijing)**, **China (Shanghai)**, and **Singapore**. Regions that support the smart tagging feature: **China (Beijing)** and **China (Shanghai)**.'."\n" + .'* You need to enable the video fingerprinting feature or the smart tagging feature before you can call this operation to submit jobs. For more information, see [Overview](~~101148~~).'."\n" + .'* If this is the first time you use the video fingerprinting feature, you must submit a ticket to apply for using the media fingerprint library for free. Otherwise, the video fingerprinting feature will be affected. For more information about how to submit a ticket, see [Contact us](~~464625~~).'."\n" + .'* After you submit an AI job, ApsaraVideo VOD asynchronously processes the job. The operation may return a response before the job is complete. You can configure the [Event Notification](~~55627~~) feature and set the callback event to **AI Processing Completed**. After you receive the event notification, you can query the execution result of the AI job.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetMediaDNAResult' => [ + 'summary' => 'Queries the results of video fingerprinting jobs. After a media fingerprinting job is complete, you can call this operation to query the media fingerprinting result.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39962', + 'abilityTreeNodes' => [ + 'FEATUREvod5413CB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '88c6ca184c0e*****a5b665e2a126797', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '63FC4896-E956-4B*****7D-134FF1BC597A', + ], + 'DNAResult' => [ + 'description' => 'The media fingerprinting results.'."\n", + 'type' => 'object', + 'properties' => [ + 'VideoDNA' => [ + 'description' => 'The video fingerprint recognition result.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrimaryKey' => [ + 'description' => 'The ID of the video that has a similar fingerprint.'."\n", + 'type' => 'string', + 'example' => '6ad8987da46f4b*****490ce2873745', + ], + 'Similarity' => [ + 'description' => 'The similarity between the fingerprints of the input video and the matched video. 1 indicates that the fingerprints of the two videos are the same.'."\n", + 'type' => 'string', + 'example' => '0.98', + ], + 'Detail' => [ + 'description' => 'The details of the matched video. Information such as the location and duration of the video is returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Input' => [ + 'description' => 'The start time and duration of the input video.'."\n", + 'type' => 'object', + 'properties' => [ + 'Duration' => [ + 'description' => 'The duration of the video. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '12.0', + ], + 'Start' => [ + 'description' => 'The start time of the video. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '2.0', + ], + ], + ], + 'Duplication' => [ + 'description' => 'The start time and duration of the matched video.'."\n", + 'type' => 'object', + 'properties' => [ + 'Duration' => [ + 'description' => 'The duration of the video. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '12.0', + ], + 'Start' => [ + 'description' => 'The start time of the video. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '2.0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"63FC4896-E956-4B*****7D-134FF1BC597A\\",\\n \\"DNAResult\\": {\\n \\"VideoDNA\\": [\\n {\\n \\"PrimaryKey\\": \\"6ad8987da46f4b*****490ce2873745\\",\\n \\"Similarity\\": \\"0.98\\",\\n \\"Detail\\": [\\n {\\n \\"Input\\": {\\n \\"Duration\\": \\"12.0\\",\\n \\"Start\\": \\"2.0\\"\\n },\\n \\"Duplication\\": {\\n \\"Duration\\": \\"12.0\\",\\n \\"Start\\": \\"2.0\\"\\n }\\n }\\n ]\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMediaDNAResultResponse>\\r\\n\\t<RequestId>63FC4896-E956-4B*****7D-134FF1BC597A</RequestId>\\r\\n\\t<DNAResult>\\r\\n\\t\\t<VideoDNA>\\r\\n\\t\\t\\t<Similarity>0.98</Similarity>\\r\\n\\t\\t\\t<PrimaryKey>6ad8987da46f4b*****490ce2873745</PrimaryKey>\\r\\n\\t\\t\\t<Detail>\\r\\n\\t\\t\\t\\t<Input>\\r\\n\\t\\t\\t\\t\\t<Start>2.0</Start>\\r\\n\\t\\t\\t\\t\\t<Duration>12.0</Duration>\\r\\n\\t\\t\\t\\t</Input>\\r\\n\\t\\t\\t\\t<Duplication>\\r\\n\\t\\t\\t\\t\\t<Start>2.0</Start>\\r\\n\\t\\t\\t\\t\\t<Duration>12.1</Duration>\\r\\n\\t\\t\\t\\t</Duplication>\\r\\n\\t\\t\\t</Detail>\\r\\n\\t\\t</VideoDNA>\\r\\n\\t</DNAResult>\\r\\n</GetMediaDNAResultResponse>","errorExample":""}]', + 'title' => 'GetMediaDNAResult', + 'description' => 'Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SubmitMediaDNADeleteJob' => [ + 'summary' => 'Deletes a video fingerprinting job.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40187', + 'abilityTreeNodes' => [ + 'FEATUREvod5413CB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '656eaaa8c43a4597******1f09a36', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'e5b1a2e7bee******b632c2710b9423f', + ], + 'JobId' => [ + 'description' => 'The ID of the job.'."\n", + 'type' => 'string', + 'example' => '6805B2EC-CE87-****-8FF6-9C0E97719A26', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"e5b1a2e7bee******b632c2710b9423f\\",\\n \\"JobId\\": \\"6805B2EC-CE87-****-8FF6-9C0E97719A26\\"\\n}","errorExample":""},{"type":"xml","example":"<SubmitMediaDNADeleteJobResponse>\\n<JobId>e5b1a2e7bee******b632c2710b9423f</JobId>\\n<RequestId>6805B2EC-CE87-****-8FF6-9C0E97719A26</RequestId>\\n</SubmitMediaDNADeleteJobResponse>","errorExample":""}]', + 'title' => 'SubmitMediaDNADeleteJob', + 'description' => 'Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetAIVideoTagResult' => [ + 'summary' => 'Queries the results of smart tagging jobs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39936', + 'abilityTreeNodes' => [ + 'FEATUREvod7BX3NA', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload media files.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation after you upload media files.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '595d020bad37421f37433451720****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '8829B4DB-AFD9-4FF6-12965DBFFA14****', + ], + 'VideoTagResult' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Category' => [ + 'description' => 'The video categories.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The category of the video.'."\n", + 'type' => 'object', + 'properties' => [ + 'Tag' => [ + 'description' => 'The tag string.'."\n", + 'type' => 'string', + 'example' => 'Retouching'."\n", + ], + ], + ], + ], + 'Person' => [ + 'description' => 'The figure tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The figure tag of the video.'."\n", + 'type' => 'object', + 'properties' => [ + 'FaceUrl' => [ + 'description' => 'The URL of the profile photo.'."\n" + ."\n" + .'> This parameter is returned only when a figure tag was used.', + 'type' => 'string', + 'example' => 'http://example.com/aivideotag/8829B4DB-AFD9-4F*****F6-12965DBFFA14/Index_****.jpg', + ], + 'Tag' => [ + 'description' => 'The tag string.'."\n", + 'type' => 'string', + 'example' => 'John'."\n", + ], + 'Times' => [ + 'description' => 'The points in time when the tags are displayed. Unit: milliseconds.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The point in time when the figure tag is displayed. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '["10760"]', + ], + ], + ], + ], + ], + 'Time' => [ + 'description' => 'The time tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The time tag of the video.'."\n", + 'type' => 'object', + 'properties' => [ + 'Tag' => [ + 'description' => 'The tag string.'."\n", + 'type' => 'string', + 'example' => 'Milliseconds'."\n", + ], + 'Times' => [ + 'description' => 'The points in time when the tags are displayed. Unit: milliseconds.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The point in time when the time tag is displayed. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '["3260","4000","5000","8410","12000","13000","14000"]', + ], + ], + ], + ], + ], + 'Location' => [ + 'description' => 'The location tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The location tag of the video.'."\n", + 'type' => 'object', + 'properties' => [ + 'Tag' => [ + 'description' => 'The tag string.'."\n", + 'type' => 'string', + 'example' => 'Asia'."\n", + ], + 'Times' => [ + 'description' => 'The points in time when the tags are displayed. Unit: milliseconds.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The point in time when the location tag is displayed. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '["8410"]', + ], + ], + ], + ], + ], + 'Keyword' => [ + 'description' => 'The keyword tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The keyword tag of the video.'."\n", + 'type' => 'object', + 'properties' => [ + 'Tag' => [ + 'description' => 'The tag string.'."\n", + 'type' => 'string', + 'example' => 'Cushion'."\n", + ], + 'Times' => [ + 'description' => 'The points in time when the tags are displayed. Unit: milliseconds.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The point in time when the keyword tag is displayed. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '["3260","4000","5000","8410","12000","13000","14000"]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8829B4DB-AFD9-4FF6-12965DBFFA14****\\",\\n \\"VideoTagResult\\": {\\n \\"Category\\": [\\n {\\n \\"Tag\\": \\"美容\\"\\n }\\n ],\\n \\"Person\\": [\\n {\\n \\"FaceUrl\\": \\"http://example.com/aivideotag/8829B4DB-AFD9-4F*****F6-12965DBFFA14/Index_****.jpg\\",\\n \\"Tag\\": \\"小王\\",\\n \\"Times\\": [\\n \\"[\\\\\\"10760\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"Time\\": [\\n {\\n \\"Tag\\": \\"毫秒\\",\\n \\"Times\\": [\\n \\"[\\\\\\"3260\\\\\\",\\\\\\"4000\\\\\\",\\\\\\"5000\\\\\\",\\\\\\"8410\\\\\\",\\\\\\"12000\\\\\\",\\\\\\"13000\\\\\\",\\\\\\"14000\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"Location\\": [\\n {\\n \\"Tag\\": \\"亚洲\\",\\n \\"Times\\": [\\n \\"[\\\\\\"8410\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"Keyword\\": [\\n {\\n \\"Tag\\": \\"气垫\\",\\n \\"Times\\": [\\n \\"[\\\\\\"3260\\\\\\",\\\\\\"4000\\\\\\",\\\\\\"5000\\\\\\",\\\\\\"8410\\\\\\",\\\\\\"12000\\\\\\",\\\\\\"13000\\\\\\",\\\\\\"14000\\\\\\"]\\"\\n ]\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAIVideoTagResultResponse>\\n <RequestId>8829B4DB-AFD9-4FF6-12965DBFFA14****</RequestId>\\n <VideoTagResult>\\n <Category>\\n <Tag>美容</Tag>\\n </Category>\\n <Person>\\n <FaceUrl>http://example.com/aivideotag/8829B4DB-AFD9-4F*****F6-12965DBFFA14/Index_****.jpg</FaceUrl>\\n <Tag>小王</Tag>\\n <Times>[\\"10760\\"]</Times>\\n </Person>\\n <Time>\\n <Tag>毫秒</Tag>\\n <Times>[\\"3260\\",\\"4000\\",\\"5000\\",\\"8410\\",\\"12000\\",\\"13000\\",\\"14000\\"]</Times>\\n </Time>\\n <Location>\\n <Tag>亚洲</Tag>\\n <Times>[\\"8410\\"]</Times>\\n </Location>\\n <Keyword>\\n <Tag>气垫</Tag>\\n <Times>[\\"3260\\",\\"4000\\",\\"5000\\",\\"8410\\",\\"12000\\",\\"13000\\",\\"14000\\"]</Times>\\n </Keyword>\\n </VideoTagResult>\\n</GetAIVideoTagResultResponse>","errorExample":""}]', + 'title' => 'GetAIVideoTagResult', + 'description' => '* Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n" + .'* You can obtain the smart tagging results by using the video ID.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'SubmitAIImageJob' => [ + 'summary' => 'Submits jobs of image AI processing.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40165', + 'abilityTreeNodes' => [ + 'FEATUREvodIPBMLH', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload the video.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation after you upload the video.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '357a8748c5774*****89d2726e6436aa', + ], + ], + [ + 'name' => 'AITemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the AI template. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Obtain the value of TemplateId from the response to the [AddAITemplate](~~102930~~) that you call to create the template.'."\n" + .'* Obtain the value of TemplateId from the response to the [ListAITemplate](~~102936~~) operation after you create the template.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ef1a8842cb9f*****cea80cad902e416', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'description' => 'The user data.'."\n" + ."\n" + .'* The value must be a JSON string.'."\n" + .'* You must specify the MessageCallback or Extend parameter.'."\n" + .'* The value can contain a maximum of 512 bytes.'."\n" + ."\n" + .'For more information, see the "UserData: specifies the custom configurations for media upload" section of the [Request parameters](~~86952~~) topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Extend":{"localId":"****","test":"www"}}', + ], + ], + [ + 'name' => 'AIPipelineId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the pipeline that is used for the AI processing job.'."\n" + ."\n" + .'> This parameter is optional if you specify a default pipeline ID. If you want to use a separate pipeline to submit multiple AI processing jobs., submit a ticket or contact Alibaba Cloud after-sales engineers. For more information about how to submit a ticket, see [Contact us](~~464625~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '6492025b8f*****6ba5bb755a33438', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the image AI processing job.'."\n", + 'type' => 'string', + 'example' => 'cf08a2c6e11e*****de1711b738b9067', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '218A6807-A21E-43*****54-C0512880B0B0', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"cf08a2c6e11e*****de1711b738b9067\\",\\n \\"RequestId\\": \\"218A6807-A21E-43*****54-C0512880B0B0\\"\\n}","errorExample":""},{"type":"xml","example":"<SubmitAIImageJobResponse>\\n <JobId>cf08a2c6e11e*****de1711b738b9067</JobId>\\n <RequestId>218A6807-A21E-43*****54-C0512880B0B0</RequestId>\\n</SubmitAIImageJobResponse>","errorExample":""}]', + 'title' => 'SubmitAIImageJob', + 'description' => '* Regions that support this operation: **China (Beijing)** and **China (Shanghai)**.'."\n" + .'* After you call this operation, you can call the [GetAIImageJobs](~~186923~~) operation to query the job execution result.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'GetAIImageJobs' => [ + 'summary' => 'Queries jobs of image AI processing.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39931', + 'abilityTreeNodes' => [ + 'FEATUREvodIPBMLH', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'JobIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image AI processing job. You can obtain the value of JobId from the response to the [SubmitAIImageJob](~~SubmitAIImageJob~~) operation.'."\n" + .'* You can specify a maximum of 10 IDs.'."\n" + .'* Separate multiple IDs with commas (,).', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cf08a2c6e11e*****de1711b738b9067', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7721B494-1F78-4E*****E8-A7CEE7315BFA', + ], + 'AIImageJobList' => [ + 'description' => 'The image AI processing jobs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image AI processing job.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'* **success**'."\n" + .'* **fail**'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'CreationTime' => [ + 'description' => 'The time when the image AI processing job was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-10-15T03:30:03Z', + ], + 'AIImageResult' => [ + 'description' => 'The Object Storage Service (OSS) URL of the image file.'."\n" + ."\n" + .'> This parameter does not include the complete authentication information. To obtain the authentication information, you must generate a signed URL. Alternatively, you can call the [ListAIImageInfo](~~ListAIImageInfo~~) operation to obtain the image information.', + 'type' => 'string', + 'example' => '[{"Score":5.035636554444242,"Url":"http://outin-*****.oss-cn-shanghai.aliyuncs.com/357a8748c577*****789d2726e6436aa/image/ai/b0a7612554d*****5cbe3-00001.gif"}]', + ], + 'VideoId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => '357a8748c577*****789d2726e6436aa', + ], + 'JobId' => [ + 'description' => 'The ID of the image AI processing job.'."\n", + 'type' => 'string', + 'example' => 'cf08a2c6e11e*****de1711b738b9067', + ], + 'UserData' => [ + 'description' => 'The user data.'."\n" + ."\n" + .'* The value must be a JSON string.'."\n" + .'* The MessageCallback or Extend parameter is returned.'."\n" + .'* The value contains a maximum of 512 bytes.'."\n" + ."\n" + .'For more information, see the "UserData: specifies the custom configurations for media upload" section of the [Request parameters](~~86952~~) topic.'."\n", + 'type' => 'string', + 'example' => '{"Extend":{"localId":"****","test":"www"}}', + ], + 'Code' => [ + 'description' => 'The error code.'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'Message' => [ + 'description' => 'The error message.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'TemplateConfig' => [ + 'description' => 'The configurations of the AI template that was used to submit the job.'."\n", + 'type' => 'string', + 'example' => '{"Format":"gif","SetDefaultCover":"true"}', + ], + 'TemplateId' => [ + 'description' => 'The ID of the AI template.'."\n", + 'type' => 'string', + 'example' => '5a86a00f15194*****d7fe7de1b4a173', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7721B494-1F78-4E*****E8-A7CEE7315BFA\\",\\n \\"AIImageJobList\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"CreationTime\\": \\"2020-10-15T03:30:03Z\\",\\n \\"AIImageResult\\": \\"[{\\\\\\"Score\\\\\\":5.035636554444242,\\\\\\"Url\\\\\\":\\\\\\"http://outin-*****.oss-cn-shanghai.aliyuncs.com/357a8748c577*****789d2726e6436aa/image/ai/b0a7612554d*****5cbe3-00001.gif\\\\\\"}]\\",\\n \\"VideoId\\": \\"357a8748c577*****789d2726e6436aa\\",\\n \\"JobId\\": \\"cf08a2c6e11e*****de1711b738b9067\\",\\n \\"UserData\\": \\"{\\\\\\"Extend\\\\\\":{\\\\\\"localId\\\\\\":\\\\\\"****\\\\\\",\\\\\\"test\\\\\\":\\\\\\"www\\\\\\"}}\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"TemplateConfig\\": \\"{\\\\\\"Format\\\\\\":\\\\\\"gif\\\\\\",\\\\\\"SetDefaultCover\\\\\\":\\\\\\"true\\\\\\"}\\",\\n \\"TemplateId\\": \\"5a86a00f15194*****d7fe7de1b4a173\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetAIImageJobsResponse>\\n <RequestId>7721B494-1F78-4E*****E8-A7CEE7315BFA</RequestId>\\n <AIImageJobList>\\n <Status>success</Status>\\n <CreationTime>2020-10-15T03:30:03Z</CreationTime>\\n <AIImageResult>[{\\"Score\\":5.035636554444242,\\"Url\\":\\"http://outin-*****.oss-cn-shanghai.aliyuncs.com/357a8748c577*****789d2726e6436aa/image/ai/b0a7612554d*****5cbe3-00001.gif\\"}]</AIImageResult>\\n <VideoId>357a8748c577*****789d2726e6436aa</VideoId>\\n <JobId>cf08a2c6e11e*****de1711b738b9067</JobId>\\n <UserData>{\\"Extend\\":{\\"localId\\":\\"****\\",\\"test\\":\\"www\\"}}</UserData>\\n <Code>Success</Code>\\n <Message>success</Message>\\n <TemplateConfig>{\\"Format\\":\\"gif\\",\\"SetDefaultCover\\":\\"true\\"}</TemplateConfig>\\n <TemplateId>5a86a00f15194*****d7fe7de1b4a173</TemplateId>\\n </AIImageJobList>\\n</GetAIImageJobsResponse>","errorExample":""}]', + 'title' => 'GetAIImageJobs', + 'description' => '* Regions that support this operation: **China (Beijing)** and **China (Shanghai)**.'."\n" + .'* Call the [SubmitAIImageJob](~~SubmitAIImageJob~~) operation to submit image AI processing jobs before you call this operation to query image AI processing jobs.'."\n" + .'* You can query a maximum of 10 jobs of image AI processing in one request.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'ListAIImageInfo' => [ + 'summary' => 'Queries the AI processing results about the images of a specified video.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40020', + 'abilityTreeNodes' => [ + 'FEATUREvodYRQNEN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload media files.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation after you upload media files.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '357a8748c5789d2726e6436aa****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'D73420CD-D221-9122-5B8FA995A511****', + ], + 'AIImageInfoList' => [ + 'description' => 'The image files that are uploaded for AI processing.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the image file.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the file was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-10-15T03:30:03Z', + ], + 'AIImageInfoId' => [ + 'description' => 'The ID of the image information.'."\n", + 'type' => 'string', + 'example' => 'b89a6aabf1b6197ebd6fe6cf29****', + ], + 'FileURL' => [ + 'description' => 'The URL of the image file.'."\n", + 'type' => 'string', + 'example' => 'http://example.aliyundoc.com/357a8748c5789d2726e6436aa****/image/ai/b0a7612554d6400013-0****.gif?auth_key=1602745717-0-0-005ee05616c5925596d****', + ], + 'Version' => [ + 'description' => 'The data version ID.'."\n", + 'type' => 'string', + 'example' => 'b547f3f0e199c3b457369f3cf****', + ], + 'VideoId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => '357a8748c5789d2726e6436aa****', + ], + 'JobId' => [ + 'description' => 'The ID of the image AI processing job.'."\n", + 'type' => 'string', + 'example' => 'cf08a2c6e11ee1711b738b9067****', + ], + 'Score' => [ + 'description' => 'The score of the image.'."\n", + 'type' => 'string', + 'example' => '5.035636554444242', + ], + 'Format' => [ + 'description' => 'The format of the image. Valid values: **gif** and **png**.'."\n", + 'type' => 'string', + 'example' => 'gif', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D73420CD-D221-9122-5B8FA995A511****\\",\\n \\"AIImageInfoList\\": [\\n {\\n \\"CreationTime\\": \\"2020-10-15T03:30:03Z\\",\\n \\"AIImageInfoId\\": \\"b89a6aabf1b6197ebd6fe6cf29****\\",\\n \\"FileURL\\": \\"http://example.aliyundoc.com/357a8748c5789d2726e6436aa****/image/ai/b0a7612554d6400013-0****.gif?auth_key=1602745717-0-0-005ee05616c5925596d****\\",\\n \\"Version\\": \\"b547f3f0e199c3b457369f3cf****\\",\\n \\"VideoId\\": \\"357a8748c5789d2726e6436aa****\\",\\n \\"JobId\\": \\"cf08a2c6e11ee1711b738b9067****\\",\\n \\"Score\\": \\"5.035636554444242\\",\\n \\"Format\\": \\"gif\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAIImageInfoResponse>\\n <RequestId>D73420CD-D221-9122-5B8FA995A511****</RequestId>\\n <AIImageInfoList>\\n <CreationTime>2020-10-15T03:30:03Z</CreationTime>\\n <AIImageInfoId>b89a6aabf1b6197ebd6fe6cf29****</AIImageInfoId>\\n <FileURL>http://example.aliyundoc.com/357a8748c5789d2726e6436aa****/image/ai/b0a7612554d6400013-0****.gif?auth_key=1602745717-0-0-005ee05616c5925596d****</FileURL>\\n <Version>b547f3f0e199c3b457369f3cf****</Version>\\n <VideoId>357a8748c5789d2726e6436aa****</VideoId>\\n <JobId>cf08a2c6e11ee1711b738b9067****</JobId>\\n <Score>5.035636554444242</Score>\\n <Format>gif</Format>\\n </AIImageInfoList>\\n</ListAIImageInfoResponse>","errorExample":""}]', + 'title' => 'ListAIImageInfo', + 'description' => '* Regions that support this operation: **China (Beijing)** and **China (Shanghai)**.'."\n" + .'* You can call this operation to query AI processing results about images of a specified video. Images of different videos cannot be queried in one request.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'DeleteAIImageInfos' => [ + 'summary' => 'Deletes the information about one or more images that are submitted for AI processing.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39822', + 'abilityTreeNodes' => [ + 'FEATUREvodIPBMLH', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AIImageInfoIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the images that are submitted for AI processing. You can obtain the value of AIImageInfoId from the response to the [ListAIImageInfo](~~ListAIImageInfo~~) operation.'."\n" + ."\n" + .'- You can specify a maximum of 10 IDs.'."\n" + .'- Separate multiple IDs with commas (,).', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'b89a6aabf144*****6197ebd6fe6cf29', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'FCDC80EA-363C-41*****B8-0DF14033D643', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FCDC80EA-363C-41*****B8-0DF14033D643\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAIImageInfosResponse>\\n <RequestId>FCDC80EA-363C-41*****B8-0DF14033D643</RequestId>\\n</DeleteAIImageInfosResponse>","errorExample":""}]', + 'title' => 'DeleteAIImageInfos', + 'description' => '* Regions that support this operation: **China (Beijing)** and **China (Shanghai)**.'."\n" + .'* This operation deletes only information about images that are submitted for AI processing. The image files are not deleted.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'ListLiveRecordVideo' => [ + 'summary' => 'Queries live-to-VOD videos.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40057', + 'abilityTreeNodes' => [ + 'FEATUREvodKX7ANE', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'StreamName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the recorded live stream.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'live-test', + ], + ], + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name of the recorded live stream.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.aliyundoc.com', + ], + ], + [ + 'name' => 'AppName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the application that was used to record the live stream.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testApp', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Maximum value: **100**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting rule of the results. Valid values:'."\n" + ."\n" + .'* **CreationTime:Desc**: The results are sorted in reverse chronological order based on the creation time.'."\n" + .'* **CreationTime:Asc**: The results are sorted in chronological order based on the creation time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CreationTime:Desc', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. The query is performed based on the time range during which the required live streams were recorded. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T12:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The query is performed based on the time range during which the required live streams were recorded. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T13:00:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Total' => [ + 'description' => 'The total number of videos.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '123', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-****-D7393642CA58', + ], + 'LiveRecordVideoList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LiveRecordVideo' => [ + 'description' => 'The list of videos.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => [ + 'description' => 'The name of the app.'."\n", + 'type' => 'string', + 'example' => 'testApp', + ], + 'PlaylistId' => [ + 'description' => 'The ID of the playlist.'."\n", + 'type' => 'string', + 'example' => '****', + ], + 'StreamName' => [ + 'description' => 'The name of the live-to-VOD file.'."\n", + 'type' => 'string', + 'example' => 'live-test', + ], + 'RecordEndTime' => [ + 'description' => 'The recording end time. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-12-08T08:44:56Z', + ], + 'RecordStartTime' => [ + 'description' => 'The recording start time. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-12-08T07:40:56Z', + ], + 'DomainName' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'Video' => [ + 'description' => 'The information about the live-to-VOD file.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the audio or video file was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-12-08T07:40:56Z', + ], + 'Status' => [ + 'description' => 'The status of the video. Valid values:'."\n" + ."\n" + .'* **Uploading**'."\n" + .'* **UploadFail**'."\n" + .'* **UploadSuccess**'."\n" + .'* **Transcoding**'."\n" + .'* **TranscodeFail**'."\n" + .'* **Blocked**'."\n" + .'* **Normal**: The video is normal.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CateId' => [ + 'description' => 'The ID of the video category.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '78', + ], + 'VideoId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => '93ab850b4f6f*****54b6e91d24d81d4', + ], + 'Tags' => [ + 'description' => 'The tags of the video. Multiple tags are separated with commas (,).'."\n", + 'type' => 'string', + 'example' => 'tag1, tag2', + ], + 'CateName' => [ + 'description' => 'The category of the video.'."\n", + 'type' => 'string', + 'example' => 'Category name', + ], + 'Description' => [ + 'description' => 'The description of the video file.'."\n", + 'type' => 'string', + 'example' => 'Description of the ApsaraVideo VOD video', + ], + 'Size' => [ + 'description' => 'The size of the source video file. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10897890', + ], + 'CoverURL' => [ + 'description' => 'The URL of the video thumbnail.'."\n", + 'type' => 'string', + 'example' => 'https://example.aliyundoc.com/coversample.jpg', + ], + 'TemplateGroupId' => [ + 'description' => 'The ID of the transcoding template group.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'Duration' => [ + 'description' => 'The duration of the video file. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '135.6', + ], + 'Title' => [ + 'description' => 'The title of the video.'."\n", + 'type' => 'string', + 'example' => 'Title of the ApsaraVideo VOD video', + ], + 'ModifyTime' => [ + 'description' => 'The time when the video was updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-12-08T09:40:56Z', + ], + 'Snapshots' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Snapshot' => [ + 'description' => 'The array of video snapshot URLs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The video snapshot URL.'."\n", + 'type' => 'string', + 'example' => '{"Snapshot":["http://example.aliyundoc.com/snapshot/sample000001.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****","http://example.aliyundoc.com/snapshot/sample00002.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e272****"]}', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Total\\": 123,\\n \\"RequestId\\": \\"25818875-5F78-4A13-****-D7393642CA58\\",\\n \\"LiveRecordVideoList\\": {\\n \\"LiveRecordVideo\\": [\\n {\\n \\"AppName\\": \\"testApp\\",\\n \\"PlaylistId\\": \\"****\\",\\n \\"StreamName\\": \\"live-test\\",\\n \\"RecordEndTime\\": \\"2017-12-08T08:44:56Z\\",\\n \\"RecordStartTime\\": \\"2017-12-08T07:40:56Z\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"Video\\": {\\n \\"CreationTime\\": \\"2017-12-08T07:40:56Z\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CateId\\": 78,\\n \\"VideoId\\": \\"93ab850b4f6f*****54b6e91d24d81d4\\",\\n \\"Tags\\": \\"标签1, 标签2\\",\\n \\"CateName\\": \\"分类名\\",\\n \\"Description\\": \\"阿里云VOD视频描述\\",\\n \\"Size\\": 10897890,\\n \\"CoverURL\\": \\"https://image.example.com/coversample.jpg\\",\\n \\"TemplateGroupId\\": \\"1\\",\\n \\"Duration\\": 135.6,\\n \\"Title\\": \\"阿里云VOD视频标题\\",\\n \\"ModifyTime\\": \\"2017-12-08T09:40:56Z\\",\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n \\"{\\\\\\"Snapshot\\\\\\":[\\\\\\"http://image.example.com/snapshot/sample000001.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e273334f52\\\\\\",\\\\\\"http://image.example.com/snapshot/sample00002.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e272434f52\\\\\\"]}\\"\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListLiveRecordVideoResponse>\\n<RequestId>25818875-5F78-4A13-****-D7393642CA58</RequestId>\\n<Total>123</Total>\\n<LiveRecordVideoList>\\n <LiveRecordVideo>\\n <PlaylistId>****</PlaylistId>\\n <StreamName>live-test</StreamName>\\n <RecordStartTime>2017-12-08T07:40:56Z</RecordStartTime>\\n <RecordEndTime>2017-12-08T08:40:56Z</RecordEndTime>\\n <DomainName>example.com</DomainName>\\n <AppName>testApp</AppName>\\n </LiveRecordVideo>\\n <LiveRecordVideo>\\n <Video>\\n <Status>Normal</Status>\\n <ModifyTime>2017-12-08T09:40:56Z</ModifyTime>\\n <Description>阿里云VOD视频描述</Description>\\n <VideoId>93ab850b4f6f*****54b6e91d24d81d4</VideoId>\\n <Size>10897890</Size>\\n <Title>阿里云VOD视频标题</Title>\\n <Duration>135.6</Duration>\\n <CateName>分类名</CateName>\\n <CateId>78</CateId>\\n <CreationTime>2017-12-08T07:40:56Z</CreationTime>\\n <CoverURL>https://image.example.com/coversample.jpg</CoverURL>\\n <Snapshots>\\n <Snapshot>{\\"Snapshot\\":[\\"http://image.example.com/snapshot/sample000001.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e273334f52\\",\\"http://image.example.com/snapshot/sample00002.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e272434f52\\"]}</Snapshot>\\n </Snapshots>\\n <Tags>标签1, 标签2</Tags>\\n <TemplateGroupId>1</TemplateGroupId>\\n </Video>\\n </LiveRecordVideo>\\n</LiveRecordVideoList>\\n</ListLiveRecordVideoResponse>","errorExample":""}]', + 'title' => 'ListLiveRecordVideo', + 'description' => 'You can query up to 5,000 videos based on the specified filter condition.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => 'The following table describes the errors that are specific to this operation. For more information about errors common to all operations, see [Common errors](https://www.alibabacloud.com/help/en/apsaravideo-for-vod/latest/api-reference-error-codes). '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| IpsIsEmpty | The specified “Ips” can not be empty. | 400 | The error message returned because the Ips parameter is not specified. |'."\n" + .'| IpsExceededMax | The specified Ips count has exceeded 100. | 403 | The error message returned because more than 100 IP addresses are added to a group. |'."\n" + .'| SecurityIpGroupExceededMax | The audit security group count has exceeded 10. | 403 | The error message returned because the number of review security groups exceeds the upper limit. |', + ], + 'DescribeVodDomainTrafficData' => [ + 'summary' => 'Queries the traffic data for one or more accelerated domains. The minimum time granularity is 5 minutes. You can query data in the last 366 days. Compared with the DescribeVodDomainRealTimeTrafficData operation, this operation provides a greater time granularity, higher data latency, but allows you to query historical data within a longer time period.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39903', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n" + ."\n" + .'* If you leave this parameter empty, the merged data of all your accelerated domain names is returned.'."\n" + .'* You can specify multiple domain names and separate them with commas (,). You can specify a maximum of 500 domain names in each call.'."\n" + .'* To obtain the accelerated domain name, perform the following steps: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management > CDN Configuration > Domain Names**. On the Domain Names page, view the accelerated domain names. Alternatively, you can call the [DescribeVodUserDomains](~~DescribeVodUserDomains~~) operation to query the accelerated domain names.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-01-20T13:59:58Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-01-20T14:59:58Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time granularity of the query. Unit: seconds. Valid values: **300**, **3600**, and **86400**. If you leave this parameter empty or specify an invalid value, the default value is used. The supported time granularity varies based on the time range specified by `EndTime` and `StartTime`. The following content describes the supported time granularity.'."\n" + ."\n" + .'* Time range per query < 3 days: **300** (default), **3600**, and **86400**'."\n" + .'* 3 days ≤ Time range per query < 31 days: **3600** (default) and **86400**'."\n" + .'* 31 days ≤ Time range per query ≤ 366 days: **86400** (default)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Internet service provider (ISP). If you leave this parameter empty, all ISPs are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Alibaba', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you leave this parameter empty, all regions are queried. You can specify only the China (Shanghai) region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range.'."\n", + 'type' => 'string', + 'example' => '2019-01-20T14:59:58Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range.'."\n", + 'type' => 'string', + 'example' => '2019-01-20T13:59:58Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'D94E471F-1A27-442E-552D-D4D2000C****', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'TotalTraffic' => [ + 'description' => 'The total amount of network traffic.'."\n", + 'type' => 'string', + 'example' => '5906662826', + ], + 'DataInterval' => [ + 'description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '3600', + ], + 'TrafficDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The amount of network traffic at each time interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'HttpsDomesticValue' => [ + 'description' => 'The amount of HTTPS network traffic on points of presence (POPs) in the Chinese mainland. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Value' => [ + 'description' => 'The total traffic. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'OverseasValue' => [ + 'description' => 'The amount of network traffic outside the Chinese mainland. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'HttpsValue' => [ + 'description' => 'The total amount of HTTPS network traffic on POPs. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'HttpsOverseasValue' => [ + 'description' => 'The amount of HTTPS network traffic on POPs outside the Chinese mainland. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-15T19:00:00Z', + ], + 'DomesticValue' => [ + 'description' => 'The amount of network traffic in the Chinese mainland. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '0', + ], + ], + 'description' => 'The information about the network traffic.'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified EndTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-01-20T14:59:58Z\\",\\n \\"StartTime\\": \\"2019-01-20T13:59:58Z\\",\\n \\"RequestId\\": \\"D94E471F-1A27-442E-552D-D4D2000C****\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"TotalTraffic\\": \\"5906662826\\",\\n \\"DataInterval\\": \\"300\\\\n\\",\\n \\"TrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"HttpsDomesticValue\\": \\"0\\",\\n \\"Value\\": \\"0\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"0\\",\\n \\"HttpsOverseasValue\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-01-20T13:59:58Z\\",\\n \\"DomesticValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodDomainTrafficDataResponse>\\n <RequestId>D94E471F-1A27-442E-552D-D4D2000C****</RequestId>\\n <EndTime>2019-01-20T14:59:58Z</EndTime>\\n <TrafficDataPerInterval>\\n <DataModule>\\n <OverseasValue>0</OverseasValue>\\n <HttpsValue>0</HttpsValue>\\n <Value>0</Value>\\n <HttpsDomesticValue>0</HttpsDomesticValue>\\n <HttpsOverseasValue>0</HttpsOverseasValue>\\n <TimeStamp>2019-01-15T14:00:00Z</TimeStamp>\\n <DomesticValue>0</DomesticValue>\\n </DataModule>\\n <DataModule>\\n <OverseasValue>0</OverseasValue>\\n <HttpsValue>0</HttpsValue>\\n <Value>0</Value>\\n <HttpsDomesticValue>0</HttpsDomesticValue>\\n <HttpsOverseasValue>0</HttpsOverseasValue>\\n <TimeStamp>2019-01-15T14:00:00Z</TimeStamp>\\n <DomesticValue>0</DomesticValue>\\n </DataModule>\\n </TrafficDataPerInterval>\\n <DomainName>example.com</DomainName>\\n <DataInterval>3600</DataInterval>\\n <StartTime>2019-01-15T13:59:59Z</StartTime>\\n</DescribeVodDomainTrafficDataResponse>","errorExample":""}]', + 'title' => 'DescribeVodDomainTrafficData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 500 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 24 hour is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay when you do not set `Interval`.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|5 minutes|Time range per query < 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days ≤ Time range per query < 31 days|186 days|3 to 4 hours|'."\n" + .'|1 day|31 days ≤ Time range per query ≤ 366 days|366 days|4 hours in most cases, not more than 24 hours|', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|Throttling|Request was denied due to request throttling.|503|The error message returned because the request was denied due to throttling.|'."\n" + .'|IllegalOperation|Illegal domain, operation is not permitted.|403|The error message returned because the domain name is invalid.|'."\n" + .'|OperationDenied|Your account does not open CDN service yet.|403|The error message returned because Alibaba Cloud CDN is not activated for your Alibaba Cloud account.|'."\n" + .'|OperationDenied|Your CDN service is suspended.|403|The error message returned because Alibaba Cloud CDN is suspended for your Alibaba Cloud account.|'."\n" + .'|InvalidDomain.NotFound|The domain provided does not belong to you.|404|The error message returned because the specified domain name does not exist or does not belong to the current account.|'."\n" + .'|InvalidDomain.Offline|The domain provided is offline.|404|The error message returned because the domain name is disabled.|'."\n" + .'|ServiceBusy|The specified Domain is configuring, please retry later.|403|The error message returned because the domain name is being configured. Try again later.|'."\n" + .'|InvalidDomain.Configure\\_failed|Failed to configure the provided domain.|500|The error message returned because the system failed to configure the domain name.|'."\n" + .'|MissingParameter|StartTime and EndTime can not be single.|400|The error message returned because the StartTime and EndTime parameters are not specified at the same time.|'."\n" + .'|InvalidStartTime.Malformed|Specified start time is malformed.|400|The error message returned because the format of the start time that is specified by the StartTime parameter is invalid.|'."\n" + .'|InvalidEndTime.Malformed|Specified end time is malformed.|400|The error message returned because the format of the end time that is specified by the EndTime parameter is invalid.|'."\n" + .'|InvalidEndTime.Mismatch|Specified end time does not match the specified start time.|400|The error message returned because the end time is earlier than the start time.|'."\n" + .'|InvalidStartTime.ValueNotSupported|Specified end time does not match the specified start time.|400|The error message returned because the time range that is specified by the EndTime and StartTime parameters exceeds 90 days.|', + ], + 'DescribeVodDomainBpsData' => [ + 'summary' => 'Queries the bandwidth for one or more specified domain names for CDN.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39876', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name to be queried. If you do not specify this parameter, the merged data of all your domain names for CDN is returned. You can specify multiple domain names. Separate them with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n" + ."\n" + .'> The minimum query interval is 5 minutes. If you do not specify this parameter, the data in the last 24 hours is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2015-12-10T13:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2015-12-10T14:00:00Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The query interval. Unit: seconds. Valid values: **300**, **3600**, and **86400**.'."\n" + ."\n" + .'* If the time range to query is less than 3 days, valid values are **300**, **3600**, and **86400**. The default value is 300.'."\n" + .'* If the time range to query is from 3 to less than 31 days, valid values are **3600** and **86400**. The default value is 3600.'."\n" + .'* If the time range to query is from 31 to 90 days, the valid value is **86400**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Internet service provider (ISP). If you do not specify this parameter, the data of all ISPs is returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Alibaba', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you do not specify this parameter, the data in all regions is returned. Only data in the China (Shanghai) region can be queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range in which data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', + 'type' => 'string', + 'example' => '2015-12-10T14:00:00Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range in which data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', + 'type' => 'string', + 'example' => '2015-12-10T13:00:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '3C6CCEC4-6B88-4D4A-****-D47B3D92CF8F', + ], + 'IspNameEn' => [ + 'description' => 'The name of the ISP. By default, the data of all ISPs is returned.', + 'type' => 'string', + 'example' => 'Alibaba', + ], + 'LocationNameEn' => [ + 'description' => 'The name of the region. By default, the data in all regions is returned.', + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'DomainName' => [ + 'description' => 'The domain name for CDN.', + 'type' => 'string', + 'example' => 'example.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval between the returned entries. Unit: seconds.', + 'type' => 'string', + 'example' => '300', + ], + 'BpsDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The bandwidth data that is collected for each interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'HttpsDomesticValue' => [ + 'description' => 'The HTTPS bandwidth on L1 nodes in mainland China. Unit: bit/s. When the bandwidth data is queried by ISP, no value is returned.'."\n", + 'type' => 'string', + 'example' => '11286111', + ], + 'Value' => [ + 'description' => 'The bandwidth. Unit: bit/s.'."\n", + 'type' => 'string', + 'example' => '11288111', + ], + 'OverseasValue' => [ + 'description' => 'The bandwidth outside mainland China. Unit: bit/s. When the bandwidth data is queried by ISP, no value is returned.'."\n", + 'type' => 'string', + 'example' => '2000', + ], + 'HttpsValue' => [ + 'description' => 'The total HTTPS bandwidth on L1 nodes. Unit: bit/s.'."\n", + 'type' => 'string', + 'example' => '11288111', + ], + 'HttpsOverseasValue' => [ + 'description' => 'The HTTPS bandwidth on L1 nodes outside mainland China. Unit: bit/s. When the bandwidth data is queried by ISP, no value is returned.'."\n", + 'type' => 'string', + 'example' => '2000', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-12-10T13:00:00Z', + ], + 'DomesticValue' => [ + 'description' => 'The bandwidth in mainland China. Unit: bit/s. When the bandwidth data is queried by ISP, no value is returned.'."\n", + 'type' => 'string', + 'example' => '11286111', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + ], + [ + 'errorCode' => 'Invalid.IspNameEn', + 'errorMessage' => 'The IspNameEn is invalid.', + ], + [ + 'errorCode' => 'Invalid.LocationNameEn', + 'errorMessage' => 'The LocationNameEn is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T14:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T13:00:00Z\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-****-D47B3D92CF8F\\",\\n \\"IspNameEn\\": \\"unicom\\",\\n \\"LocationNameEn\\": \\"shanghai\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"BpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"HttpsDomesticValue\\": \\"11286111\\",\\n \\"Value\\": \\"11288111\\",\\n \\"OverseasValue\\": \\"2000\\",\\n \\"HttpsValue\\": \\"11288111\\",\\n \\"HttpsOverseasValue\\": \\"2000\\",\\n \\"TimeStamp\\": \\"2015-12-10T13:00:00Z\\",\\n \\"DomesticValue\\": \\"11286111\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodDomainBpsDataResponse>\\n <BpsDataPerInterval>\\n <DataModule>\\n <TimeStamp>2015-12-10T13:00:00Z</TimeStamp>\\n <Value>11288111</Value>\\n <DomesticValue>11286111</DomesticValue>\\n <OverseasValue>2000</OverseasValue>\\n <HttpsValue>11288111</HttpsValue>\\n <HttpsDomesticValue>11286111</HttpsDomesticValue>\\n <HttpsOverseasValue>2000</HttpsOverseasValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2015-12-10T13:05:00Z</TimeStamp>\\n <Value>12124821</Value>\\n <DomesticValue>12112821</DomesticValue>\\n <OverseasValue>12000</OverseasValue>\\n <HttpsValue>11288111</HttpsValue>\\n <HttpsDomesticValue>11286111</HttpsDomesticValue>\\n <HttpsOverseasValue>2000</HttpsOverseasValue>\\n </DataModule>\\n </BpsDataPerInterval>\\n <DomainName>example.com</DomainName>\\n <DataInterval>300</DataInterval>\\n <RequestId>3C6CCEC4-6B88-4D4A-****-D47B3D92CF8F</RequestId>\\n <StartTime>2015-12-10T13:00:00Z</StartTime>\\n <EndTime>2015-12-10T14:00:00Z</EndTime>\\n</DescribeVodDomainBpsDataResponse>","errorExample":""}]', + 'title' => 'DescribeVodDomainBpsData', + 'description' => 'If you specify neither the StartTime parameter nor the EndTime parameter, the data in the last 24 hours is queried. Alternatively, you can specify both the StartTime and EndTime parameters to query data that is generated in the specified duration. You can query data for the last 90 days at most.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidStartTime.Malformed | Specified StartTime is malformed. | 400 | The error message returned because the format of the start time is invalid. |'."\n" + .'| InvalidEndTime.Malformed | Specified EndTime is malformed. | 400 | The error message returned because the format of the end time is invalid. |'."\n" + .'| InvalidStartTime.ValueNotSupported | The specified value of parameter StartTime is not supported. | 400 | The error message returned because the time range that is specified by the EndTime and StartTime parameters exceeds 90 days. |'."\n" + .'| InvalidEndTime.Mismatch | Specified EndTime does not math the specified StartTime. | 400 | The error message returned because the end time is earlier than the start time. |', + ], + 'DescribeVodDomainBpsDataByLayer' => [ + 'summary' => 'Queries the bandwidth data for one or more accelerated domain names by the protocol type.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '178978', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name. You can specify a maximum of 500 accelerated domain names. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-01-23T12:35:12Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-01-23T12:40:12Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time interval between the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies based on the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see the supported time granularity described in Usage notes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Internet service provider (ISP).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'unicom', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'beijing', + ], + ], + [ + 'name' => 'Layer', + 'in' => 'query', + 'schema' => [ + 'description' => 'The layer at which you want to query the data.'."\n" + ."\n" + .'Network layer: IPv4 and IPv6. Application layer: http, https, and quic. all: specifies that both the network and application layers are included. Default value: all.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DataInterval' => [ + 'description' => 'The time interval between the entries returned. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'BpsDataInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The bandwidth returned at each time interval. Unit: bit/s.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The peak bandwidth. Unit: bit/s.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '75.33', + ], + 'TrafficValue' => [ + 'description' => 'The total traffic. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-02-08T10:09:19Z', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'StartTime or EndTime is mismatch.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified start time has invalid value.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DataInterval\\": 300,\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"BpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": 75.33,\\n \\"TrafficValue\\": 1000,\\n \\"TimeStamp\\": \\"2019-01-23T12:35:12Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainBpsDataByLayer', + 'description' => 'You can call this API operation up to 20 times per second per account. If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range. Time granularity'."\n" + ."\n" + .'The time granularity supported by Interval, the maximum time period within which historical data is available, and the data delay vary based on the time range to query, as described in the following table.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|15 minutes|3 days|93 days|15 minutes|'."\n" + .'|1 hour|31 days|186 days|3 to 4 hours|'."\n" + .'|1 day|90 days|366 days|4 hours in most cases, not more than 24 hours|', + ], + 'DescribeVodDomainQpsData' => [ + 'summary' => 'Queries the number of queries per second (QPS) for one or more accelerated domain names. Data is collected every 5 minutes. You can query data collected in the last 90 days.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39886', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'You can specify multiple domain names and separate them with commas (,). You can specify a maximum of 500 domain names in each call.'."\n" + ."\n" + .'By default, this operation queries the number and proportions of HTTP status codes for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd**THH:mm:ssZ* format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-05-02T15:50:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd**THH:mm:ssZ* format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-05-02T15:59:00Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The interval at which to return data. Unit: seconds. Valid values: **300**, **3600**, and **86400**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Internet service provider (ISP). If you leave this parameter empty, data of all ISPs is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'unicom', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you leave this parameter empty, data in all regions is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range during which data was queried. The time follows the ISO 8601 standard in the *YYYY-MM-DD**Thh:mm:ss* format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-05-02T15:59:00Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range during which data was queried. The time follows the ISO 8601 standard in the *YYYY-MM-DD**Thh:mm:ss* format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-05-02T15:50:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58*****', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '300', + ], + 'QpsDataInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The list of QPS records at each interval.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AccValue' => [ + 'description' => 'The total number of requests.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'AccDomesticValue' => [ + 'description' => 'The number of requests in the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'AccOverseasValue' => [ + 'description' => 'The number of requests outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'HttpsValue' => [ + 'description' => 'The QPS that is calculated based on the HTTPS requests sent to points of presence (POPs).'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'HttpsOverseasValue' => [ + 'description' => 'The QPS that is calculated based on the HTTPS requests sent to POPs outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'DomesticValue' => [ + 'description' => 'The QPS data in the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'HttpsAccOverseasValue' => [ + 'description' => 'The number of HTTPS requests sent to POPs outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'HttpsDomesticValue' => [ + 'description' => 'The QPS that is calculated based on the HTTPS requests sent to POPs in the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'HttpsAccValue' => [ + 'description' => 'The number of HTTPS requests sent to POPs.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'Value' => [ + 'description' => 'The total QPS.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'OverseasValue' => [ + 'description' => 'The QPS data outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-06-27 10:10:58', + ], + 'HttpsAccDomesticValue' => [ + 'description' => 'The QPS that is calculated based on the HTTPS requests sent to POPs in the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified EndTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2024-05-02T15:59:00Z\\",\\n \\"StartTime\\": \\"2024-05-02T15:50:00Z\\",\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58*****\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"QpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"AccValue\\": \\"0\\",\\n \\"AccDomesticValue\\": \\"0\\",\\n \\"AccOverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"1\\",\\n \\"HttpsOverseasValue\\": \\"1\\",\\n \\"DomesticValue\\": \\"0\\",\\n \\"HttpsAccOverseasValue\\": \\"1\\",\\n \\"HttpsDomesticValue\\": \\"1\\",\\n \\"HttpsAccValue\\": \\"1\\",\\n \\"Value\\": \\"0\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"TimeStamp\\": \\"2023-06-27 10:10:58\\",\\n \\"HttpsAccDomesticValue\\": \\"1\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainQpsData', + 'description' => '* This operation is available only in the China (Shanghai) region.'."\n" + .'* You can call this operation up to 100 times per second per account.'."\n" + .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + ."\n" + .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|5 minutes|3 days|93 days|15 minutes|'."\n" + .'|1 hour|31 days|186 days|3 to 4 hours|'."\n" + .'|1 day|366 days|366 days|4 to 24 hours|'."\n" + ."\n" + .'---', + ], + 'DescribeVodDomainHitRateData' => [ + 'summary' => 'Queries the byte hit ratios of accelerated domain names. Byte hit ratios are measured in percentage.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39881', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n" + ."\n" + .'* If you leave this parameter empty, the merged data of all your accelerated domain names is returned.'."\n" + .'* You can specify multiple domain names and separate them with commas (,). You can specify a maximum of 500 domain names in each call.'."\n" + .'* To obtain the accelerated domain name, perform the following steps: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management > CDN Configuration > Domain Names**. On the Domain Names page, view the accelerated domain names. Alternatively, you can call the [DescribeVodUserDomains](~~DescribeVodUserDomains~~) operation to query the accelerated domain names.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-01-20T13:59:58Z'."\n", + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-01-20T14:59:58Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time granularity. Unit: seconds. Valid values: **300**, **3600**, and **86400**. If you leave this parameter empty or specify an invalid value, the default value is used. The supported time granularity varies based on the time range specified by `EndTime` and `StartTime`. The following content describes the supported time granularity.'."\n" + ."\n" + .'* Time range per query < 3 days: **300** (default), **3600**, and **86400**'."\n" + .'* 3 days ≤ Time range per query < 31 days: **3600** (default) and **86400**'."\n" + .'* 31 days ≤ Time range per query ≤ 90 days: **86400** (default)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range.'."\n", + 'type' => 'string', + 'example' => '2024-01-20T14:59:58Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range.'."\n", + 'type' => 'string', + 'example' => '2024-01-20T13:59:58Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'D94E471F-1A27-442E-552D-D4D2000C****', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '300', + ], + 'HitRateInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The byte hit rate data at each time interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The total byte hit rate.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-01-20T13:59:58Z', + ], + 'HttpsValue' => [ + 'description' => 'The HTTPS byte hit rate.'."\n", + 'type' => 'string', + 'example' => '50', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified EndTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2024-01-20T14:59:58Z\\",\\n \\"StartTime\\": \\"2024-01-20T13:59:58Z\\",\\n \\"RequestId\\": \\"D94E471F-1A27-442E-552D-D4D2000C****\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"HitRateInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"100\\",\\n \\"TimeStamp\\": \\"2024-01-20T13:59:58Z\\",\\n \\"HttpsValue\\": \\"50\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainHitRateData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 500 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 24 hours is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay when you do not set `Interval`.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|5 minutes|Time range per query < 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days ≤ Time range per query < 31 days|186 days|3 to 4 hours|'."\n" + .'|1 day|31 days ≤ Time span of a single query ≤ 366 days|366 days|4 hours in most cases, not more than 24 hours|', + ], + 'DescribeVodDomainReqHitRateData' => [ + 'summary' => 'Queries the byte hit ratio for one or more accelerated domains. Request hit ratios are measured in percentage.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '219327', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n" + ."\n" + .'* If you leave this parameter empty, the merged data of all your accelerated domain names is returned.'."\n" + .'* You can specify a maximum of 500 accelerated domain names. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-12-21T08:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-12-22T08:00:00Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time granularity. Unit: seconds. Valid values: **300**, **3600**, and **86400**. If you leave this parameter empty or specify an invalid value, the default value is used. The supported time granularity varies based on the time range specified by `EndTime` and `StartTime`. The following content describes the supported time granularity.'."\n" + ."\n" + .'* Time range per query < 3 days: **300** (default), **3600**, and **86400**'."\n" + .'* 3 days ≤ Time range per query < 31 days: **3600** (default) and **86400**'."\n" + .'* 31 days ≤ Time range per query ≤ 90 days: **86400** (default)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range.'."\n", + 'type' => 'string', + 'example' => '2023-12-22T08:00:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'D94E471F-1A27-442E-552D-D4D2000C****', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The request hit rate data at each time interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The total request hit rate.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-12-21T08:00:00Z', + ], + 'HttpsValue' => [ + 'description' => 'The HTTPS request hit rate.'."\n", + 'type' => 'string', + 'example' => '50', + ], + ], + ], + ], + ], + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range.'."\n", + 'type' => 'string', + 'example' => '2023-12-21T08:00:00Z', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '300', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified value of parameter StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified value of parameter EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'InvalidTime.ValueNotSupported', + 'errorMessage' => 'StartTime or EndTime is miss match.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2023-12-22T08:00:00Z\\",\\n \\"RequestId\\": \\"D94E471F-1A27-442E-552D-D4D2000C****\\",\\n \\"Data\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"100\\",\\n \\"TimeStamp\\": \\"2023-12-21T08:00:00Z\\",\\n \\"HttpsValue\\": \\"50\\"\\n }\\n ]\\n },\\n \\"StartTime\\": \\"2023-12-21T08:00:00Z\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\"\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainReqHitRateData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 500 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 24 hours is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay when you do not set `Interval`.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|5 minutes|Time range per query < 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days ≤ Time range per query < 31 days|186 days|3 to 4 hours|'."\n" + .'|1 day|31 days ≤ Time range per query ≤ 90 days|366 days|4 hours in most cases, not more than 24 hours|', + ], + 'DescribeVodRangeDataByLocateAndIspService' => [ + 'summary' => 'Queries the bandwidth data by Internet service provider (ISP) and region.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '219275', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2023-05-29T03:50:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2023-05-29T03:55:00Z', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you leave this parameter empty, data in all regions is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'beijing', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the ISP. If you leave this parameter empty, all ISPs are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'unicom', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'JsonResult' => [ + 'description' => 'The returned result. The value is in the JSON format. These parameters indicate the following information in sequence: UNIX time, region, ISP, distribution of HTTP status codes, response time, bandwidth (bit/s), average response rate, page views, cache hit ratio, and request hit ratio.'."\n", + 'type' => 'string', + 'example' => '{"1472659200":{"tianjin":{"unicom":{"http_codes":{"000":0,"200":6,"400":0},"rt":4183,"bandwidth":46639,"avg_speed":7773,"pv":6,"hit_rate":0.93,"request_hit_rate":0.66}}}}', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C74802AA-C277-5A80-BDF2-072B05F119C7', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified value of parameter StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified value of parameter EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'InvalidTime.ValueNotSupported', + 'errorMessage' => 'StartTime or EndTime is miss match.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JsonResult\\": \\"{\\\\\\"1472659200\\\\\\":{\\\\\\"天津市\\\\\\":{\\\\\\"电信\\\\\\":{\\\\\\"http_codes\\\\\\":{\\\\\\"000\\\\\\":0,\\\\\\"200\\\\\\":6,\\\\\\"400\\\\\\":0},\\\\\\"rt\\\\\\":4183,\\\\\\"bandwidth\\\\\\":46639,\\\\\\"avg_speed\\\\\\":7773,\\\\\\"pv\\\\\\":6,\\\\\\"hit_rate\\\\\\":0.93,\\\\\\"request_hit_rate\\\\\\":0.66}}}}\\",\\n \\"RequestId\\": \\"C74802AA-C277-5A80-BDF2-072B05F119C7\\"\\n}","type":"json"}]', + 'title' => 'DescribeVodRangeDataByLocateAndIspService', + 'description' => 'The data is collected every 5 minutes. You can call this API operation up to 20 times per second per account. Time granularity'."\n" + ."\n" + .'The time granularity supported by Interval, the maximum time period within which historical data is available, and the data delay vary based on the time range to query, as described in the following table.'."\n" + ."\n" + .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|5 minutes|1 hour|93 days|15 minutes|', + ], + 'DescribeVodDomainSrcTrafficData' => [ + 'summary' => 'Queries origin traffic data for accelerated domain names in ApsaraVideo VOD. The traffic is measured in bytes.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39899', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name. You can specify a maximum of 500 domain names in a request. Separate multiple domain names with commas (,). If you specify multiple domain names in a request, aggregation results are returned.'."\n" + ."\n" + .'If you leave this parameter empty, the origin traffic data for all accelerated domain names is queried by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'If you leave this parameter empty, the origin traffic data that is generated in the last 24 hours is queried by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-03-22T16:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-09-24T15:59:59Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time interval between the data entries to return. Unit: seconds. Valid values:'."\n" + ."\n" + .'* **300**: 5 minutes'."\n" + .'* **3600**: 1 hour'."\n" + .'* **86400**: 1 day'."\n" + ."\n" + .'> The time granularity supported by the Interval parameter varies based on the time range per query specified by using `StartTime` and `EndTime`. For more information, see the **Time granularity** section of this topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range during which data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-09-23T15:59:59Z', + ], + 'StartTime' => [ + 'description' => 'The start of the time range during which data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-08-29T16:00:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'TotalTraffic' => [ + 'description' => 'The total traffic. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '5906662826', + ], + 'DataInterval' => [ + 'description' => 'The time interval between the entries returned. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '300', + ], + 'SrcTrafficDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'Details about the origin traffic returned at each time interval. Unit: bytes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The amount of origin traffic returned at each time interval.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The traffic value at each time interval.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-09-23T15:59:59Z', + ], + 'HttpsValue' => [ + 'description' => 'The amount of traffic generated by origin HTTPS requests.'."\n", + 'type' => 'string', + 'example' => '0', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'StartTime and EndTime can not be single.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'Specified end time does not math the specified start time.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'Abs.DomainName.Malformed', + 'errorMessage' => 'The size of DomainName is too big.', + ], + [ + 'errorCode' => 'InvalidInterval.Malformed', + 'errorMessage' => 'Specified Interval is malformed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2022-09-23T15:59:59Z\\",\\n \\"StartTime\\": \\"2022-08-29T16:00:00Z\\",\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"TotalTraffic\\": \\"5906662826\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2022-08-29T16:00:00Z\\",\\n \\"HttpsValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainSrcTrafficData', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* ApsaraVideo VOD stores the origin traffic data for 90 days before the data is deleted.'."\n" + .'* If you do not set the `StartTime` or `EndTime` parameter, the request returns the data collected in the last 24 hours. If you set both the `StartTime` and `EndTime` parameters, the request returns the data collected within the specified time range.'."\n" + .'* You can specify a maximum of 500 domain names in a request. Separate multiple domain names with commas (,). If you specify multiple domain names in a request, aggregation results are returned.'."\n" + ."\n" + .'### Time granularity'."\n" + ."\n" + .'The time granularity supported by the Interval parameter varies based on the time range per query specified by using `StartTime` and `EndTime`. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'|Time granularity|Time range per query (days)|Historical data available (days)|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|5 minutes|(0, 3\\]|93|15 minutes|'."\n" + .'|1 hour|(3, 31\\]|186|4 hours|'."\n" + .'|1 day|(31, 366\\]|366|04:00 on the next day|', + ], + 'DescribeVodDomainSrcBpsData' => [ + 'summary' => 'Queries the bandwidth data during back-to-origin routing for one or more accelerated domain names.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39898', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n" + ."\n" + .'* If you leave this parameter empty, the merged data of all your accelerated domain names is returned.'."\n" + .'* You can specify a maximum of 500 accelerated domain names. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-04-25T16:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-04-26T15:59:59Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time granularity. Unit: seconds. Valid values: **300**, **3600**, and **86400**. If you leave this parameter empty or specify an invalid value, the default value is used. The supported time granularity varies based on the time range specified by `EndTime` and `StartTime`. The following content describes the supported time granularity.'."\n" + ."\n" + .'* Time range per query < 3 days: **300** (default), **3600**, and **86400**'."\n" + .'* 3 days ≤ Time range per query < 31 days: **3600** (default) and **86400**'."\n" + .'* 31 days ≤ Time range per query ≤ 366 days: **86400** (default)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range.'."\n", + 'type' => 'string', + 'example' => '2022-08-23T02:02:57Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range.'."\n", + 'type' => 'string', + 'example' => '2022-07-12T16:00:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-****', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name whose ICP filing status you want to update.'."\n", + 'type' => 'string', + 'example' => 'sample.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '300', + ], + 'SrcBpsDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The origin bandwidth data at each time interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The total origin bandwidth data. Unit: bit/s.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-08-23T02:02:57Z'."\n", + ], + 'HttpsValue' => [ + 'description' => 'The bandwidth consumed for fetching resources from the origin over HTTPS.'."\n", + 'type' => 'string', + 'example' => '0', + ], + ], + 'description' => 'The origin bandwidth data at each time interval.'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'StartTime and EndTime can not be single.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'Specified end time does not math the specified start time.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'Abs.DomainName.Malformed', + 'errorMessage' => 'The size of DomainName is too big.', + ], + [ + 'errorCode' => 'InvalidInterval.Malformed', + 'errorMessage' => 'Specified Interval is malformed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2022-08-23T02:02:57Z\\",\\n \\"StartTime\\": \\"2022-07-12T16:00:00Z\\",\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-****\\",\\n \\"DomainName\\": \\"sample.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcBpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2022-07-12T16:00:00Z\\",\\n \\"HttpsValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainSrcBpsData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 500 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 24 hours is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay when you do not set `Interval`.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|5 minutes|Time range per query < 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days ≤ Time range per query < 31 days|186 days|3 to 4 hours|'."\n" + .'|1 day|31 days ≤ Time span of a single query ≤ 366 days|366 days|4 hours in most cases, not more than 24 hours|', + ], + 'DescribeVodDomainRealTimeTrafficData' => [ + 'summary' => 'Queries the traffic data for one or more accelerated domains. The minimum time granularity is 1 minute. The minimum data latency is 5 minutes. You can query data in the last 186 days. Compared with the DescribeVodDomainTrafficData operation, this operation provides a smaller time granularity, lower data latency, and allows you to query historical data within a shorter time period.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39896', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'You can specify multiple domain names and separate them with commas (,). You can specify a maximum of 500 domain names in each call.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-12-10T20:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-12-10T20:01:00Z', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the ISP. If you do not set this parameter, all ISPs are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'telecom', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you do not set this parameter, data in all regions is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'shanghai', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range.'."\n", + 'type' => 'string', + 'example' => '2019-12-10T20:01:00Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range.'."\n", + 'type' => 'string', + 'example' => '2019-12-10T20:00:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval at which data is returned. Unit: seconds.'."\n" + ."\n" + .'The returned value varies based on the time range per query. Valid values: 60 (1 minute), 300 (5 minutes), and 3600 (1 hour). For more information, see the **Time granularity** section in the **API documentation**.'."\n", + 'type' => 'string', + 'example' => '60', + ], + 'RealTimeTrafficDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The details of traffic data in each time interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The traffic data. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-12-10T20:01:00Z', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'StartTime and EndTime can not be single.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'Specified end time does not math the specified start time.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'Abs.DomainName.Malformed', + 'errorMessage' => 'The size of DomainName is too big.', + ], + [ + 'errorCode' => 'InvalidInterval.Malformed', + 'errorMessage' => 'Specified Interval is malformed.', + ], + [ + 'errorCode' => 'InvalidIspParameter', + 'errorMessage' => 'The specified Isp is invalid.', + ], + [ + 'errorCode' => 'InvalidLocName', + 'errorMessage' => 'The specified LocName is not supported.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:01:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:00:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainRealTimeTrafficData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 100 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 1 hour is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|1 minute|Time range per query ≤ 1 hour|7 days|5 minutes|'."\n" + .'|5 minutes|1 Hour < Time range per query ≤ 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days < Time range per query ≤ 31 days|186 days|3 to 4 hours|', + ], + 'DescribeVodDomainRealTimeBpsData' => [ + 'summary' => 'Queries the bandwidth data for one or more accelerated domains. The minimum time granularity is 1 minute. The minimum data latency is 5 minutes. You can query data in the last 186 days. Compared with the DescribeVodDomainBpsData operation, this operation provides a smaller time granularity, lower data latency, and allows you to query historical data within a shorter time period.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39887', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'You can specify multiple domain names and separate them with commas (,). You can specify a maximum of 500 domain names in each call.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the ISP. If you do not set this parameter, all ISPs are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'telecom', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you do not set this parameter, data in all regions is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'shanghai', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-11-30T05:33:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-11-30T05:40:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BpsModel' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Bps' => [ + 'description' => 'The bandwidth. Unit: bit/s.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '16710625.733333332', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-11-30T05:41:00Z', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified StartTime or EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'Specified domain name is malformed.', + ], + [ + 'errorCode' => 'InvalidIspParameter', + 'errorMessage' => 'The specified Isp is invalid.', + ], + [ + 'errorCode' => 'InvalidLocName', + 'errorMessage' => 'The specified LocName is not supported.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B49E6DDA-F413-422B-B58E-2FA23F286726\\",\\n \\"Data\\": {\\n \\"BpsModel\\": [\\n {\\n \\"Bps\\": 16710625.733333332,\\n \\"TimeStamp\\": \\"2019-11-30T05:33:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainRealTimeBpsData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 500 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 1 hour is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|1 minute|Time range per query ≤ 1 hour|7 days|5 minutes|'."\n" + .'|5 minutes|1 Hour < Time range per query ≤ 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days < Time range per query ≤ 31 days|186 days|3 to 4 hours|', + ], + 'DescribeVodDomainRealTimeHttpCodeData' => [ + 'summary' => 'Queries the total number of HTTP status codes and proportion of each HTTP status code for one or more accelerated domains. The minimum time granularity is 1 minute. The minimum data latency is 5 minutes. You can query data in the last 186 days.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39890', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n" + ."\n" + .'* You can specify multiple domain names and separate them with commas (,). You can specify at most 100 domain names in each call.'."\n" + .'* If you specify multiple domain names, merged data is returned.'."\n" + .'* To obtain the accelerated domain name, perform the following steps: Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management > CDN Configuration > Domain Names**. On the Domain Names page, view the accelerated domain names. Alternatively, you can call the [DescribeVodUserDomains](~~DescribeVodUserDomains~~) operation to query the accelerated domain names.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-11-30T05:39:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-11-30T05:40:00Z', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the ISP. If you do not set this parameter, all ISPs are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'unicom', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you do not set this parameter, data in all regions is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'shanghai', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range.'."\n", + 'type' => 'string', + 'example' => '2019-11-30T05:40:00Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range.'."\n", + 'type' => 'string', + 'example' => '2019-11-30T05:39:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval at which data is returned. Unit: seconds.'."\n" + ."\n" + .'The returned value varies based on the time range per query. Valid values: 60 (1 minute), 300 (5 minutes), and 3600 (1 hour). For more information, see the **Time granularity** section in the **API documentation**.'."\n", + 'type' => 'string', + 'example' => '60', + ], + 'RealTimeHttpCodeData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UsageData' => [ + 'description' => 'The proportion of each HTTP status code in each time interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-11-30T05:39:00Z', + ], + 'Value' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RealTimeCodeProportionData' => [ + 'description' => 'The proportion of each HTTP status code is displayed in a data list.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'Proportion' => [ + 'description' => 'The proportion of the HTTP status code in percentage.'."\n", + 'type' => 'string', + 'example' => '28.4496124031008', + ], + 'Count' => [ + 'description' => 'The number of the HTTP status codes.'."\n", + 'type' => 'string', + 'example' => '100', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified EndTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:39:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeHttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2019-11-30T05:39:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeCodeProportionData\\": [\\n {\\n \\"Code\\": \\"500\\",\\n \\"Proportion\\": \\"28.4496124031008\\",\\n \\"Count\\": \\"100\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainRealTimeHttpCodeData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 100 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 1 hour is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available (days)|Data latency|'."\n" + .'|---|---|---|---|'."\n" + .'|1 minute|Time range per query ≤ 1 hour|7 days|5 minutes|'."\n" + .'|5 minutes|1 hour < Time range per query < 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days ≤ Time range per query < 31 days|186 days|3 to 4 hours|', + ], + 'DescribeVodDomainRealTimeQpsData' => [ + 'summary' => 'Queries the number of queries per second (QPS) for one or more accelerated domains. The minimum time granularity is 1 minute. The minimum data latency is 5 minutes. You can query data in the last 186 days.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39892', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'You can specify multiple domain names and separate them with commas (,). You can specify a maximum of 500 domain names in each call.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Internet service provider (ISP). If you do not set this parameter, all ISPs are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'unicom', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you do not set this parameter, data in all regions is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'shanghai', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-12-02T11:25:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-12-02T11:26:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'QpsModel' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Qps' => [ + 'description' => 'The number of queries per second.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '1851.25', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time follows the ISO 8601 standard. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-12-02T11:25:00Z', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified StartTime or EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'Specified domain name is malformed.', + ], + [ + 'errorCode' => 'InvalidIspParameter', + 'errorMessage' => 'The specified Isp is invalid.', + ], + [ + 'errorCode' => 'InvalidLocName', + 'errorMessage' => 'The specified LocName is not supported.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D\\",\\n \\"Data\\": {\\n \\"QpsModel\\": [\\n {\\n \\"Qps\\": 1851.25,\\n \\"TimeStamp\\": \\"2019-12-02T11:25:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainRealTimeQpsData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 500 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 1 hour is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|1 minute|Time range per query ≤ 1 hour|7 days|5 minutes|'."\n" + .'|5 minutes|1 Hour < Time range per query ≤ 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days < Time range per query ≤ 31 days|186 days|3 to 4 hours|', + ], + 'DescribeVodDomainRealTimeReqHitRateData' => [ + 'summary' => 'Queries the request hit ratio data for one or more accelerated domain names. The minimum time granularity is 1 minute. The minimum data latency is 5 minutes. You can query data in the last 186 days.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39893', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'You can specify multiple domain names and separate them with commas (,). You can specify a maximum of 100 domain names in each call. If you specify multiple domain names, merged data is returned.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-01-02T11:23:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-01-02T11:26:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ReqHitRateDataModel' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ReqHitRate' => [ + 'description' => 'The cache hit ratio that is calculated based on requests. The cache hit ratio is measured in percentage.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.8956940476262277', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-01-02T11:26:00Z', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified StartTime or EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'Specified domain name is malformed.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70A26B11-3673-479C-AEA8-E03FC5D3496D\\",\\n \\"Data\\": {\\n \\"ReqHitRateDataModel\\": [\\n {\\n \\"ReqHitRate\\": 0.8956940476262277,\\n \\"TimeStamp\\": \\"2024-01-02T11:26:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainRealTimeReqHitRateData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 100 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 1 hour is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + .'* By default, the POST method is used for Go. To use the FET method, you must declare `request.Method="GET"`.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|1 minute|Time range per query ≤ 1 hour|7 days|5 minutes|'."\n" + .'|5 minutes|1 hour < Time range per query < 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days ≤ Time range per query < 31 days|186 days|3 to 4 hours|', + ], + 'DescribeVodDomainRealTimeByteHitRateData' => [ + 'summary' => 'Queries the byte hit ratio for one or more accelerated domains. The minimum time granularity is 1 minute. The minimum data latency is 5 minutes. You can query data in the last 186 days.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39888', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'You can specify multiple domain names and separate them with commas (,). You can specify at most 100 domain names in each call.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2020-05-15T09:13:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2020-05-15T09:15:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ByteHitRateDataModel' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ByteHitRate' => [ + 'description' => 'The byte hit ratio in percentage.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.8956940476262277', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-05-15T09:13:00Z', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified StartTime or EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'Specified domain name is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidParameterType', + 'errorMessage' => 'The specified Type is invalid.', + ], + [ + 'errorCode' => 'InvalidTimeSpan', + 'errorMessage' => 'The time span exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid input parameter.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70A26B11-3673-479C-AEA8-E03FC5D3496D\\",\\n \\"Data\\": {\\n \\"ByteHitRateDataModel\\": [\\n {\\n \\"ByteHitRate\\": 0.8956940476262277,\\n \\"TimeStamp\\": \\"2020-05-15T09:13:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainRealTimeByteHitRateData', + 'description' => '* This operation is supported only in the **China (Shanghai)** region.'."\n" + .'* You can specify a maximum of 100 accelerated domain names.'."\n" + .'* If you specify neither `StartTime` nor `EndTime`, the data of the last 1 hour is queried. You can specify both `StartTime` and `EndTime` parameters to query data of a specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the `StartTime` and `EndTime` parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n" + .'|---|---|---|---|'."\n" + .'|1 minute|Time range per query ≤ 1 hour|7 days|5 minutes|'."\n" + .'|5 minutes|1 Hour < Time range per query ≤ 3 days|93 days|15 minutes|'."\n" + .'|1 hour|3 days < Time range per query ≤ 31 days|186 days|3 to 4 hours|', + ], + 'DescribeVodDomainRealTimeDetailData' => [ + 'summary' => 'Queries real-time monitoring data of one or more accelerated domain names.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39889', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name. You can specify a maximum of 20 accelerated domain names in each call. Separate domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2019-11-30T05:33:00Z.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-01-23T12:35:12Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2019-11-30T05:40:00Z.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-01-23T12:40:00Z', + ], + ], + [ + 'name' => 'Field', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of data that you want to query. You can specify multiple data types and separate them with commas (,). Valid values:'."\n" + ."\n" + .'qps: the number of queries per second bps: bandwidth data http_code: HTTP status codes'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'bps', + ], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the region. If you do not specify a region, data in all regions is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'shanghai', + ], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Internet service provider (ISP).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'unicom', + ], + ], + [ + 'name' => 'Merge', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return a summary value. Valid values:'."\n" + ."\n" + .'true false (default)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MergeLocIsp', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return a summary value. Valid values:'."\n" + ."\n" + .'* **true**: groups the results by domain name and merges the results by region and ISP.'."\n" + .'* **false**: groups the results by domain name.'."\n" + ."\n" + .'Default value: **false**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Data' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'string', + 'example' => '['."\n" + .' {'."\n" + .' "time_stp": "2018-06-05T20:00:00Z",'."\n" + .' "domain_name": "example.com",'."\n" + .' "location": "Guangdong",'."\n" + .' "isp": "telecom",'."\n" + .' "qps": 10'."\n" + .' },'."\n" + .' {'."\n" + .' "time_stp": "2018-06-05T20:00:00Z",'."\n" + .' "domain_name": "example.com",'."\n" + .' "location": "Jiangsu",'."\n" + .' "isp": "unicom",'."\n" + .' "qps": 11.1'."\n" + .' }'."\n" + .']', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '1710298E-8AFA-5F6D-A3E9-47103C52177D', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified StartTime or EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'Specified domain name is malformed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": \\"[\\\\n {\\\\n \\\\\\"time_stp\\\\\\": \\\\\\"2018-06-05T20:00:00Z\\\\\\",\\\\n \\\\\\"domain_name\\\\\\": \\\\\\"example.com\\\\\\",\\\\n \\\\\\"location\\\\\\": \\\\\\"Guangdong\\\\\\",\\\\n \\\\\\"isp\\\\\\": \\\\\\"telecom\\\\\\",\\\\n \\\\\\"qps\\\\\\": 10\\\\n },\\\\n {\\\\n \\\\\\"time_stp\\\\\\": \\\\\\"2018-06-05T20:00:00Z\\\\\\",\\\\n \\\\\\"domain_name\\\\\\": \\\\\\"example.com\\\\\\",\\\\n \\\\\\"location\\\\\\": \\\\\\"Jiangsu\\\\\\",\\\\n \\\\\\"isp\\\\\\": \\\\\\"unicom\\\\\\",\\\\n \\\\\\"qps\\\\\\": 11.1\\\\n }\\\\n]\\",\\n \\"RequestId\\": \\"1710298E-8AFA-5F6D-A3E9-47103C52177D\\"\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainRealTimeDetailData', + 'description' => 'You can query data within the last seven days. Data is collected every minute. You can call this API operation up to 10 times per second per account.'."\n", + ], + 'AddVodDomain' => [ + 'summary' => 'Adds a domain name to accelerate in ApsaraVideo VOD.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39790', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name that you want to accelerate. Wildcard domain names that start with periods (.) are supported. Example: .example.com.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'Sources', + 'in' => 'query', + 'schema' => [ + 'description' => 'The information about the addresses of origin servers. For more information, see the **Sources** table in this topic.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[{"content":"1.1.1.1","type":"ipaddr","priority":"20","port":80}]', + ], + ], + [ + 'name' => 'CheckUrl', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL that is used for health checks.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com/test.html', + ], + ], + [ + 'name' => 'Scope', + 'in' => 'query', + 'schema' => [ + 'description' => 'This parameter is applicable to users of level 3 or higher in the Chinese mainland and users outside the Chinese mainland. Default value: domestic. Valid values:'."\n" + ."\n" + .'* **domestic**: Chinese mainland'."\n" + .'* **overseas**: outside the Chinese mainland'."\n" + .'* **global**: regions in and outside the Chinese mainland'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'domestic', + ], + ], + [ + 'name' => 'TopLevelDomain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The top-level domain.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-****-2C4477247A74', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'Specified DomainName is malformed.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The input parameter cdnType that is mandatory for processing this request is not supplied.', + ], + [ + 'errorCode' => 'InvalidCdnType.Malformed', + 'errorMessage' => 'Specified CdnType is malformed.', + ], + [ + 'errorCode' => 'InvalidSources.Malformed', + 'errorMessage' => 'Specified Sources is malformed.', + ], + [ + 'errorCode' => 'InvalidSourceStr.Malformed', + 'errorMessage' => 'Specified SourceStr is malformed.', + ], + [ + 'errorCode' => 'InvalidSourceType.Malformed', + 'errorMessage' => 'Specified CdnType is malformed.', + ], + [ + 'errorCode' => 'InvalidSource.Priority.Malformed', + 'errorMessage' => 'The specified Source Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidTypeAndContent.MissMatch', + 'errorMessage' => 'The specified source type does not match the specified source content.', + ], + [ + 'errorCode' => 'InvalidScope.Malformed', + 'errorMessage' => 'Specified Scope is malformed.', + ], + [ + 'errorCode' => 'DomainOverLimit', + 'errorMessage' => 'The Number of Domain is over the limit', + ], + [ + 'errorCode' => 'DomainAlreadyExist', + 'errorMessage' => 'This domain name is exist already', + ], + [ + 'errorCode' => 'DomainNotRegistration', + 'errorMessage' => 'The Domain name is not registered', + ], + [ + 'errorCode' => 'InvaildParameter', + 'errorMessage' => 'Source name can not equal to domain name', + ], + [ + 'errorCode' => 'IllegalSources', + 'errorMessage' => 'The specified origin site information is invalid.', + ], + [ + 'errorCode' => 'SourceIp.Exceed', + 'errorMessage' => 'The Certificate you provided is malformed!', + ], + [ + 'errorCode' => 'InvalidCertificate', + 'errorMessage' => 'The Certificate you provided is malformed!', + ], + [ + 'errorCode' => 'InvalidCertificate.TooLong', + 'errorMessage' => 'The Certificate you provided is over the max length!', + ], + [ + 'errorCode' => 'InnerAddDomainDenied', + 'errorMessage' => 'Your account haven\'t bind aoneId, can not add domain.', + ], + [ + 'errorCode' => 'CheckSourceHealthFailed', + 'errorMessage' => 'sources ip or source domain check health failed,please input right source.', + ], + [ + 'errorCode' => 'ExtensiveAndAllBothExist', + 'errorMessage' => 'Extensive domain and the domain begins with \'all.\' can not exist at the same time.', + ], + [ + 'errorCode' => 'CdnTypeNotSupportExtensiveDomain', + 'errorMessage' => 'Extensive domain not supported for this cdn type.', + ], + [ + 'errorCode' => 'ExtensiveAndSpecificDomainConflict', + 'errorMessage' => 'Extensive domain and corresponding specific domain are mutually exclusive.', + ], + [ + 'errorCode' => 'DomainReserved', + 'errorMessage' => 'The root domain of your domain is reserved by another account. Submit a ticket to contact customer support.', + ], + [ + 'errorCode' => 'InvalidDomainNameLevel', + 'errorMessage' => 'Domain name suffixed with alicdn.com only support third level.', + ], + [ + 'errorCode' => 'InvalidTopLevelDomain.Malformed', + 'errorMessage' => 'Specified TopLevelDomain is malformed.', + ], + [ + 'errorCode' => 'TopLevelDomain.NotFound', + 'errorMessage' => 'The specified TopLevelDomain does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceGroup', + 'errorMessage' => 'The resource group does not exist.', + ], + [ + 'errorCode' => 'InvalidStatus.ResourceGroup', + 'errorMessage' => 'It\'s now allowed to do this operation because of the current status of resource-group.', + ], + [ + 'errorCode' => 'NotInternationRealIdentity', + 'errorMessage' => 'You need to do real name authentication when you use Chinese mainland resources.', + ], + [ + 'errorCode' => 'TopLevelDomain.Mismatch', + 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', + ], + [ + 'errorCode' => 'DomainOwnerVerifyFail', + 'errorMessage' => 'Owner verification of the root domain failed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-****-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<AddVodDomainResponse>\\r\\n <RequestId>15C66C7B-671A-4297-****-2C4477247A74</RequestId>\\r\\n</AddVodDomainResponse>","errorExample":""}]', + 'title' => 'AddVodDomain', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* Before you add a domain name to accelerate, you must activate ApsaraVideo VOD and apply for an Internet content provider (ICP) filing for the domain name. For more information about how to activate ApsaraVideo VOD, see [Activate ApsaraVideo VOD](~~51512~~).'."\n" + .'* If the content on the origin server is not stored on Alibaba Cloud, the content must be reviewed by Alibaba Cloud. The review will be complete by the end of the next business day after you submit an application.'."\n" + .'* You can add only one domain name to accelerate in a request. You can add a maximum of 20 accelerated domain names within an Alibaba Cloud account.'."\n", + 'requestParamsDescription' => '## Sources'."\n" + ."\n" + .'|Parameter|Type|Required|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|type|String|Yes|The type of the origin server. Valid values: <br>**ipaddr**: an IP address.<br> **domain**: a domain name. <br>**oss**: the domain of an Object Storage Service (OSS) bucket.|'."\n" + .'|content|String|Yes|The address of the origin server. You can specify an IP address or a domain name.|'."\n" + .'|port|Integer|No|The port number. Valid values: **443** and **80**. Default value: **80**. If you specify **443**, requests are redirected to the origin server over HTTPS. You can also specify a custom port.|'."\n" + .'|priority|String|No|The priority of the origin server if multiple origin servers are specified. Valid values: **20** and **30**. Default value: **20**. **20** indicates that the origin server is the primary origin server. **30** indicates that the origin server is a secondary origin server.|', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|InvalidDomainName.Malformed|Specified DomainName is malformed.|400|The error message returned because the value of the DomainName parameter is invalid.|'."\n" + .'|InvalidCdnType.Malformed|Specified CdnType is malformed.|400|The error message returned because the value of the CdnType parameter is invalid.|'."\n" + .'|InvalidSourceType.Malformed|Specified SourceType is malformed.|400|The error message returned because the value of the SourceType parameter is invalid.|'."\n" + .'|InvalidSources.Malformed|Specified Sources is malformed.|400|The error message returned because the origin address does not match the origin type.|'."\n" + .'|InvalidScope.Malformed|Specified Scope is malformed.|400|The error message returned because the value of the Scope parameter is invalid.|'."\n" + .'|InvaildParameter|The Certificate you provided is malformed!|400|The error message returned because the total length of the HTTPS certificate and private key exceeds the upper limit.|'."\n" + .'|BusinessExist|Business exist do not repeated submission|400|The error message returned because the domain name is being added. You cannot add duplicate domain names.|'."\n" + .'|DomainAlreadyExist|This domain name is exist already|400|The error message returned because the domain name is already added.|'."\n" + .'|DomainOverLimit|The Number of Domain is over the limit|403|The error message returned because the number of accelerated domain names exceeds the upper limit.|'."\n" + .'|DomainNotRegistration|The Domain name is not registered|404|The error message returned because the domain name does not have an ICP filing.|'."\n" + .'|IllegalOperation|Illegal domain operate is not permitted.|403|The error message returned because you are not authorized to perform this operation.|'."\n" + .'|ServiceBusy|The specified Domain is configuring, please retry later.|403|The error message returned because the domain name is being configured. Try again later.|'."\n" + .'|InvalidDomain.NotFound|The domain provided does not belong to you.|404|The error message returned because the specified domain name does not exist or does not belong to the current account.|'."\n" + .'|InnerAddDomainDenied|Your account haven\'t bind aoneId, can not add domain.|400|The error message returned because an internal account is not bound to an Aone ID. You cannot add a domain name by using the internal account.|'."\n" + .'|ExtensiveAndAllBothExist|Extensive domain and the domain begins with \'all.\' can not exist at the same time.|400|The error message returned because a wildcard domain name and a domain name that starts with all. exist. They cannot exist at the same time.|'."\n" + .'|CdnTypeNotSupportExtensiveDomain|Extensive domain not supported for this cdn type.|400|The error message returned because wildcard domain names are not supported for the specified business type.|'."\n" + .'|ExtensiveAndSpecificDomainConflict|Extensive domain and corresponding specific domain are mutually exclusive.|400|The error message returned because the specified domain name is an exact match of an existing wildcard domain name at the same level.|'."\n" + .'|InvalidParameter|Add live region parameters have error.|400|The error message returned because the system failed to specify the region for live streaming.|'."\n" + .'|InvalidRegion.Malformed|Specified Region is malformed.|400|The error message returned because the value of the region parameter is invalid.|'."\n" + .'|InvalidResourceGroupId.Malformed|Specified ResourceGroupId is malformed.|400|The error message returned because the value of the ResourceGroupId parameter is invalid.|'."\n" + .'|EntityNotExists.ResourceGroup|The resource group does not exist.|400|The error message returned because the specified resource group does not exist.|'."\n" + .'|InvalidStatus.ResourceGroup|It\'s now allowed to do this operation because of the current status of resource-group.|400|The error message returned because the resource group is in an invalid state.|'."\n" + .'|InvalidPriorities.Malformed|The length of priorities is not the same with source.|400|The error message returned because the number of priorities does not match the number of origin servers.|'."\n" + .'|NotInternationRealIdentity|You need to do real name authentication when you use Chinese mainland resources.|400|The error message returned because you have not completed real-name verification that is required to use resources in the Chinese mainland.|', + ], + 'DeleteVodDomain' => [ + 'summary' => 'Removes a domain name for CDN from ApsaraVideo VOD.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39847', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name for CDN that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-****-2C4477247A74', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'The specified DomainName is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ServiceBusy', + 'errorMessage' => 'The specified Domain is configuring, please retry later', + ], + ], + [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-****-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVodDomainResponse>\\r\\n <RequestId>15C66C7B-671A-4297-****-2C4477247A74</RequestId>\\r\\n</DeleteVodDomainResponse>","errorExample":""}]', + 'title' => 'DeleteVodDomain', + 'description' => '> * This operation is available only in the **China (Shanghai)** region.'."\n" + .'> * After a domain name for CDN is removed from ApsaraVideo VOD, the domain name becomes unavailable. Proceed with caution. We recommend that you restore the A record at your DNS service provider before you remove the domain name for CDN.'."\n" + .'> * After you call this operation to remove a domain name for CDN from ApsaraVideo VOD, all records that are related to the domain name are deleted. If you only want to disable a domain name for CDN, call the [BatchStopVodDomain](~~120208~~) operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvaildParameter | The specific value of parameter DomainName is malformed. | 400 | The error message returned because the value of the DomainName parameter is invalid. |', + ], + 'UpdateVodDomain' => [ + 'summary' => 'Modifies a specific accelerated domain name.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40233', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'Sources', + 'in' => 'query', + 'schema' => [ + 'description' => 'The information about the addresses of origin servers.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{"content":"1.1.1.1","type":"ipaddr","priority":"20","port":80}]', + ], + ], + [ + 'name' => 'TopLevelDomain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The top-level domain.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-****-2C4477247A74', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingDomainName', + 'errorMessage' => 'The domainName parameter is required.', + ], + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'The specified DomainName is invalid.', + ], + [ + 'errorCode' => 'InvalidSource.Content.Malformed', + 'errorMessage' => 'The specified Source Content is invalid.', + ], + [ + 'errorCode' => 'InvalidTypeContent.Mismatch', + 'errorMessage' => 'The specified source type does not match the specified source content.', + ], + [ + 'errorCode' => 'MissingSource.Content', + 'errorMessage' => 'The Source Content must be specified.', + ], + [ + 'errorCode' => 'MissingSource.Type', + 'errorMessage' => 'The Source Type must be specified.', + ], + [ + 'errorCode' => 'InvalidSource.Type.Malformed', + 'errorMessage' => 'The specified Source Type is invalid.', + ], + [ + 'errorCode' => 'InvalidSource.Priority.Malformed', + 'errorMessage' => 'The specified Source Priority is invalid.', + ], + [ + 'errorCode' => 'InvalidSources.Malformed', + 'errorMessage' => 'Specified Sources is malformed.', + ], + [ + 'errorCode' => 'IllegalSources', + 'errorMessage' => 'The specified origin site information is invalid.', + ], + [ + 'errorCode' => 'TopLevelDomain.NotFound', + 'errorMessage' => 'The specified TopLevelDomain does not exist.', + ], + ], + 403 => [ + [ + 'errorCode' => 'DomainInProtectedMode', + 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', + ], + [ + 'errorCode' => 'ServiceBusy', + 'errorMessage' => 'The specified Domain is configuring, please retry later', + ], + [ + 'errorCode' => 'IllegalOperation', + 'errorMessage' => 'Illegal domain operate is not permitted.', + ], + ], + [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-****-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'UpdateVodDomain', + 'description' => 'UpdateVodDomain', + 'requestParamsDescription' => 'Modifies a specific accelerated domain name.', + 'responseParamsDescription' => ' ', + 'extraInfo' => '> This operation is available only in the **China (Shanghai)** region.'."\n", + ], + 'DescribeVodUserDomains' => [ + 'summary' => 'Queries the domain names for CDN within your Alibaba Cloud account.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39917', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **20**. Maximum value: **50**. Valid values: **1** to **50**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '500', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name. The value of this parameter is used as a filter condition for a fuzzy match.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.aliyundoc.com', + ], + ], + [ + 'name' => 'DomainStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the domain name. Value values:'."\n" + ."\n" + .'* **online**: indicates that the domain name is enabled.'."\n" + .'* **offline**: indicates that the domain name is disabled.'."\n" + .'* **configuring**: indicates that the domain name is being configured.'."\n" + .'* **configure_failed**: indicates that the domain name failed to be configured.'."\n" + .'* **checking**: indicates that the domain name is under review.'."\n" + .'* **check_failed**: indicates that the domain name failed the review.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'online', + ], + ], + [ + 'name' => 'DomainSearchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The search method. Valid values:'."\n" + ."\n" + .'* **fuzzy_match** (default): fuzzy match.'."\n" + .'* **pre_match**: prefix match'."\n" + .'* **suf_match**: suffix match'."\n" + .'* **full_match**: exact match'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fuzzy_match', + 'default' => 'fuzzy_match', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The object of the tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of tag N. Valid values of N: **1** to **20**.'."\n" + ."\n" + .'By default, all tag keys are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'key', + ], + 'Value' => [ + 'description' => 'The value of tag N. Valid values of N: **1** to **20**.'."\n" + ."\n" + .'By default, all tag values are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E4EBD2BF-5EB0-4476-****-9D94E1B15267', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'Domains' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PageData' => [ + 'description' => 'The detailed information about each domain name for CDN. The returned information is displayed in the format that is specified by the PageData parameter.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The returned datas.', + 'type' => 'object', + 'properties' => [ + 'GmtCreated' => [ + 'description' => 'The time when the domain name for CDN was added. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-08-29T08:40:53Z', + ], + 'SslProtocol' => [ + 'description' => 'Indicates whether HTTPS is enabled.'."\n" + ."\n" + .'* **on**: HTTPS is enabled.'."\n" + .'* **off**: HTTPS is not eabled.'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'Description' => [ + 'description' => 'The remarks.'."\n", + 'type' => 'string', + 'example' => 'Zhejiang ICP Filing No. ****', + ], + 'Sandbox' => [ + 'description' => 'Indicates whether the accelerated domain name was in a sandbox.'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'Cname' => [ + 'description' => 'The CNAME that is assigned to the domain name for CDN.'."\n", + 'type' => 'string', + 'example' => 'learn.developer.aliyundoc.com', + ], + 'DomainStatus' => [ + 'description' => 'The status of the domain name for CDN. Valid values:'."\n" + ."\n" + .'* **online**: indicates that the domain name is enabled.'."\n" + .'* **offline**: indicates that the domain name is disabled.'."\n" + .'* **configuring**: indicates that the domain name is being configured.'."\n" + .'* **configure_failed**: indicates that the domain name failed to be configured.'."\n" + .'* **checking**: indicates that the domain name is under review.'."\n" + .'* **check_failed**: indicates that the domain name failed the review.'."\n", + 'type' => 'string', + 'example' => 'online', + ], + 'GmtModified' => [ + 'description' => 'The last time when the domain name for CDN was modified. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-12-29T09:24:12Z', + ], + 'DomainName' => [ + 'description' => 'The domain name for CDN.'."\n", + 'type' => 'string', + 'example' => 'example.aliyundoc.com', + ], + 'Sources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Source' => [ + 'description' => 'The information about the origin server.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the origin server.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the origin server. Valid values:'."\n" + ."\n" + .'* **ipaddr**: an IP address.'."\n" + .'* **domain**: an origin domain name'."\n" + .'* **oss**: the OSS domain of an Object Storage Service (OSS) bucket'."\n", + 'type' => 'string', + 'example' => 'oss', + ], + 'Priority' => [ + 'description' => 'The priority of the origin server.'."\n", + 'type' => 'string', + 'example' => '5', + ], + 'Port' => [ + 'description' => 'The port number. Valid values: **443** and **80**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'Content' => [ + 'description' => 'The address of the origin server.'."\n", + 'type' => 'string', + 'example' => '192.168.0.1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidPageNumber.ValueNotSupported', + 'errorMessage' => 'The specified value of PageNumber is not supported.', + ], + [ + 'errorCode' => 'InvalidPageSize.ValueNotSupported', + 'errorMessage' => 'The specified value of PageSize is invalid.', + ], + [ + 'errorCode' => 'InvalidDomainStatus.ValueNotSupported', + 'errorMessage' => 'The specified value of DomainStatus is invalid.', + ], + [ + 'errorCode' => 'InvalidDomainName.Malformed', + 'errorMessage' => 'The specified DomainName is invalid.', + ], + [ + 'errorCode' => 'InvalidDomainSearchType.ValueNotSupported', + 'errorMessage' => 'The specified value of DomainSearchType is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-****-9D94E1B15267\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 2,\\n \\"Domains\\": {\\n \\"PageData\\": [\\n {\\n \\"GmtCreated\\": \\"2017-08-29T08:40:53Z\\",\\n \\"SslProtocol\\": \\"on\\",\\n \\"Description\\": \\"浙ICP备****号\\",\\n \\"Sandbox\\": \\"normal\\",\\n \\"Cname\\": \\"learn.developer.aliyundoc.com\\",\\n \\"DomainStatus\\": \\"online\\",\\n \\"GmtModified\\": \\"2017-12-29T09:24:12Z\\",\\n \\"DomainName\\": \\"example.aliyundoc.com\\",\\n \\"Sources\\": {\\n \\"Source\\": [\\n {\\n \\"Type\\": \\"oss\\",\\n \\"Priority\\": \\"5\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"192.168.0.1\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodUserDomainsResponse>\\n <RequestId>E4EBD2BF-5EB0-4476-****-9D94E1B15267</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>20</PageSize>\\n <TotalCount>2</TotalCount>\\n <Domains>\\n <GmtCreated>2017-08-29T08:40:53Z</GmtCreated>\\n <SslProtocol>on</SslProtocol>\\n <Description>浙ICP备****号</Description>\\n <Sandbox>normal</Sandbox>\\n <Cname>learn.developer.aliyundoc.com</Cname>\\n <DomainStatus>online</DomainStatus>\\n <GmtModified>2017-12-29T09:24:12Z</GmtModified>\\n <DomainName>example.aliyundoc.com</DomainName>\\n <Sources>\\n <Type>oss</Type>\\n <Priority>5</Priority>\\n <Port>80</Port>\\n <Content>192.168.0.1</Content>\\n </Sources>\\n </Domains>\\n</DescribeVodUserDomainsResponse>","errorExample":""}]', + 'title' => 'DescribeVodUserDomains', + 'description' => '* You can filter domain names by name and status. Fuzzy match is supported for domain name-based query.'."\n" + .'* This operation is available only in the China (Shanghai) region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidPageNumber.ValueNotSupported | The specified value of parameter PageNumber is not supported. | 400 | The error message returned because the value of the PageNumber parameter is invalid. |'."\n" + .'| InvalidPageSize.ValueNotSupported | The specified value of parameter PageSize is not supported. | 400 | The error message returned because the value of the PageSize parameter is invalid. |'."\n" + .'| InvalidDomainName.Malformed | The specific value of parameter DomainName is malformed. | 400 | The error message returned because the value of the DomainName parameter is invalid. |'."\n" + .'| InvalidDomainStatus.ValueNotSupported | The specified value of parameter DomainStatus is not supported. | 400 | The error message returned because the value of the DomainStatus parameter is invalid. |'."\n" + .'| InvalidDomainSearchType.ValueNotSupported | The specified value of parameter DomainSearchType is not supported. | 400 | The error message returned because the value of the DomainSearchType parameter is invalid. |', + ], + 'DescribeVodDomainDetail' => [ + 'summary' => 'Queries the basic information about a specified domain name for CDN.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39880', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name for CDN.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned datas.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '09ABE829-6CD3-4FE0-556113E2****', + ], + 'DomainDetail' => [ + 'description' => 'The basic information about the domain name for CDN.'."\n", + 'type' => 'object', + 'properties' => [ + 'GmtCreated' => [ + 'description' => 'The time when the domain name for CDN was added. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-27T06:51:26Z', + ], + 'Weight' => [ + 'description' => 'The weight of the origin server.', + 'type' => 'string', + 'example' => '1', + ], + 'SSLPub' => [ + 'description' => 'The public key of the certificate. The value of this parameter is returned if HTTPS is enabled.'."\n", + 'type' => 'string', + 'example' => 'yourSSLPub', + ], + 'Description' => [ + 'description' => 'The description of the domain name for CDN.'."\n", + 'type' => 'string', + 'example' => 'testDescription', + ], + 'SSLProtocol' => [ + 'description' => 'Indicates whether the Secure Sockets Layer (SSL) certificate is enabled. Valid values:'."\n" + .'* **on**: indicates that the SSL certificate is enabled.'."\n" + .'* **off**: indicates that the SSL certificate is disabled.', + 'type' => 'string', + 'example' => 'on', + ], + 'CertName' => [ + 'description' => 'The name of the certificate. The value of this parameter is returned if HTTPS is enabled.'."\n", + 'type' => 'string', + 'example' => 'testCertName', + ], + 'Scope' => [ + 'description' => 'This parameter is applicable to users of level 3 or higher in mainland China and users outside mainland China. Valid values:'."\n" + .'* **domestic**: mainland China. This is the default value.'."\n" + .'* **overseas**: outside mainland China.'."\n" + .'* **global**: regions in and outside mainland China.', + 'type' => 'string', + 'example' => 'domestic', + ], + 'Cname' => [ + 'description' => 'The CNAME that is assigned to the domain name for CDN. You must add a CNAME record in the system of your Domain Name System (DNS) service provider to map the domain name for CDN to the CNAME.'."\n", + 'type' => 'string', + 'example' => 'example.com.w.alikunlun.net', + ], + 'DomainStatus' => [ + 'description' => 'The status of the domain name for CDN. Value values:'."\n" + .'* **online**: indicates that the domain name is enabled.'."\n" + .'* **offline**: indicates that the domain name is disabled.'."\n" + .'* **configuring**: indicates that the domain name is being configured.'."\n" + .'* **configure_failed**: indicates that the domain name failed to be configured.'."\n" + .'* **checking**: indicates that the domain name is under review.'."\n" + .'* **check_failed**: indicates that the domain name failed the review.', + 'type' => 'string', + 'example' => 'online', + ], + 'GmtModified' => [ + 'description' => 'The last time when the domain name for CDN was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-11-27T06:55:26Z', + ], + 'DomainName' => [ + 'description' => 'The domain name for CDN.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'Sources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Source' => [ + 'description' => 'The information about the origin server.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the origin server.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the origin server. Valid values:'."\n" + .'* **ipaddr**: a server that you can access by using an IP address.'."\n" + .'* **domain**: a server that you can access by using a domain name.'."\n" + .'* **oss**: the URL of an Object Storage Service (OSS) bucket.', + 'type' => 'string', + 'example' => 'oss', + ], + 'Priority' => [ + 'description' => 'The priority of the origin server.'."\n", + 'type' => 'string', + 'example' => '50', + ], + 'Port' => [ + 'description' => 'The port number. Valid values: 443 and 80.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'Content' => [ + 'description' => 'The address of the origin server.'."\n", + 'type' => 'string', + 'example' => '****.oss-cn-hangzhou.aliyuncs.com', + ], + 'Enabled' => [ + 'description' => 'The status of the origin server. Valid values:'."\n" + .'* **online**: indicates that the origin server is enabled.'."\n" + .'* **offline**: indicates that the origin server is disabled.', + 'type' => 'string', + 'example' => 'online', + ], + 'Weight' => [ + 'type' => 'string', + 'description' => 'The weight of the origin server if multiple origin servers have been specified.', + 'example' => '10', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"09ABE829-6CD3-4FE0-556113E2****\\",\\n \\"DomainDetail\\": {\\n \\"GmtCreated\\": \\"2017-11-27T06:51:26Z\\",\\n \\"Weight\\": \\"1\\",\\n \\"SSLPub\\": \\"yourSSLPub\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"SSLProtocol\\": \\"on\\",\\n \\"CertName\\": \\"testCertName\\",\\n \\"Scope\\": \\"domestic\\",\\n \\"Cname\\": \\"example.com.w.alikunlun.net\\",\\n \\"DomainStatus\\": \\"online\\",\\n \\"GmtModified\\": \\"2017-11-27T06:55:26Z\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"Sources\\": {\\n \\"Source\\": [\\n {\\n \\"Type\\": \\"oss\\",\\n \\"Priority\\": \\"50\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"****.oss-cn-hangzhou.aliyuncs.com\\",\\n \\"Enabled\\": \\"online\\",\\n \\"Weight\\": \\"1\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodDomainDetailResponse>\\n <RequestId>09ABE829-6CD3-4FE0-556113E2****</RequestId>\\n <DomainDetail>\\n <GmtCreated>2017-11-27T06:51:26Z</GmtCreated>\\n <Weight>1</Weight>\\n <SSLPub>yourSSLPub</SSLPub>\\n <Description>testDescription</Description>\\n <SSLProtocol>on</SSLProtocol>\\n <CertName>testCertName</CertName>\\n <Scope>domestic</Scope>\\n <Cname>example.com.w.alikunlun.net</Cname>\\n <DomainStatus>online</DomainStatus>\\n <GmtModified>2017-11-27T06:55:26Z</GmtModified>\\n <DomainName>example.com</DomainName>\\n <Sources>\\n <Type>oss</Type>\\n <Priority>50</Priority>\\n <Port>80</Port>\\n <Content>****.oss-cn-hangzhou.aliyuncs.com</Content>\\n <Enabled>online</Enabled>\\n </Sources>\\n </DomainDetail>\\n</DescribeVodDomainDetailResponse>","errorExample":""}]', + 'title' => 'DescribeVodDomainDetail', + 'description' => '> This operation is available only in the **China (Shanghai)** region.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => 'The following table describes the common errors that this operation can return. For more information about errors common to all operations, see [Error codes](https://www.alibabacloud.com/help/en/apsaravideo-for-vod/latest/api-reference-error-codes#topic-1235485). '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidDomain.NotFound | The domain provided does not belong to you. | 404 | The error message returned because the specified domain name does not exist or does not belong to you. |'."\n" + .'| ServiceBusy | The specified Domain is configuring, please retry again later. | 403 | The error message returned because the domain name is being configured. Try again later. |', + ], + 'BatchStartVodDomain' => [ + 'summary' => 'Enables accelerated domain names that are in the disabled state.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39800', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainNames', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-****-2C4477247A74', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'ServiceBusy', + 'errorMessage' => 'The specified Domain is configuring, please retry later', + ], + ], + [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-****-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<BatchStartVodDomainResponse>\\r\\n <RequestId>15C66C7B-671A-4297-****-2C4477247A74</RequestId>\\r\\n</BatchStartVodDomainResponse>","errorExample":""}]', + 'title' => 'BatchStartVodDomain', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* If the domain name that you want to enable is invalid or your Alibaba Cloud account has overdue payments, you cannot call this operation to enable the domain name.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'BatchStopVodDomain' => [ + 'summary' => 'Disables accelerated domain names.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39801', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainNames', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-****-2C4477247A74', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'ServiceBusy', + 'errorMessage' => 'The specified Domain is configuring, please retry later', + ], + ], + [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-****-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<BatchStopVodDomainResponse>\\r\\n <RequestId>15C66C7B-671A-4297-****-2C4477247A74</RequestId>\\r\\n</BatchStopVodDomainResponse>","errorExample":""}]', + 'title' => 'BatchStopVodDomain', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* After you disable an accelerated domain name, the information about the domain name is retained. The system automatically reroutes all the requests that are destined for the domain name to the origin server.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'VerifyVodDomainOwner' => [ + 'summary' => 'Verifies the ownership of a specified domain name.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40244', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name of which you want to verify the ownership. You can specify only one domain name in each call.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'VerifyType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The verification method. Valid values:'."\n" + ."\n" + .'* **dnsCheck**: uses a Domain Name System (DNS) record'."\n" + .'* **fileCheck**: uses a verification file'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dnsCheck', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'Content' => [ + 'description' => 'The verification content.'."\n", + 'type' => 'string', + 'example' => 'verify_dffeb661*********a59c32cd91f', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DomainOwnerVerifyFail', + 'errorMessage' => 'Owner verification of the root domain failed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Content\\": \\"verify_dffeb661*********a59c32cd91f\\",\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifyVodDomainOwnerResponse>\\n <Content>verify_dffeb661*********a59c32cd91f</Content>\\n <RequestId>E4EBD2BF-5EB0-4476-8829-9D94E1B1****</RequestId>\\n</VerifyVodDomainOwnerResponse>","errorExample":""}]', + 'title' => 'VerifyVodDomainOwner', + 'description' => 'This operation is available only in the **China (Shanghai)** region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVodVerifyContent' => [ + 'summary' => 'Queries the ownership verification content.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39922', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name for which you want to verify the ownership. You can specify only one domain name in each call.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Content' => [ + 'description' => 'The verification content.'."\n", + 'type' => 'string', + 'example' => 'verify_dffeb661*****3a59c31cd91f', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '34AB41F1-04A5-4688-634BDBE6****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Content\\": \\"verify_dffeb661*****3a59c31cd91f\\",\\n \\"RequestId\\": \\"34AB41F1-04A5-4688-634BDBE6****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodVerifyContentResponse>\\n <Content>verify_dffeb661*****3a59c31cd91f</Content>\\n <RequestId>34AB41F1-04A5-4688-634BDBE6****</RequestId>\\n</DescribeVodVerifyContentResponse>","errorExample":""}]', + 'title' => 'DescribeVodVerifyContent', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteVodSpecificConfig' => [ + 'summary' => 'Deletes the configurations of a domain name for CDN.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39850', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2317****', + ], + ], + [ + 'name' => 'Env', + 'in' => 'query', + 'schema' => [ + 'description' => 'The environment from which the domain name configurations are deleted. Valid values:'."\n" + ."\n" + .'* online: production environment'."\n" + .'* gray: simulation environment'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'online', + 'default' => 'online', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-****-6C044FE73368', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid%s.ValueNotSupported', + 'errorMessage' => 'FunctionName [%s] is not supported.', + ], + [ + 'errorCode' => 'EdgeScriptCountExceedLimit', + 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', + ], + [ + 'errorCode' => 'EdgeScripOptionsHasInnerConfig', + 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', + ], + [ + 'errorCode' => 'EdgeScriptGrammarNotSupport', + 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', + ], + [ + 'errorCode' => 'EdgeScriptNotSupportJs', + 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', + ], + [ + 'errorCode' => 'InvalidRule.Malformed ', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'ConfigurationConflicts', + 'errorMessage' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the staging'."\n" + .'environment. Set parameters in the staging environment before you publish them to the production environment.', + ], + [ + 'errorCode' => 'GrayConfigIsNull', + 'errorMessage' => 'You cannot delete all gary configurations. You can clear them by rolling back the simulation environment.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ServiceBusy', + 'errorMessage' => 'The specified Domain is configuring, please retry later', + ], + ], + [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-****-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVodSpecificConfigResponse>\\r\\n<RequestId>04F0F334-1335-436C-****-6C044FE73368</RequestId>\\r\\n</DeleteVodSpecificConfigResponse>","errorExample":""}]', + 'title' => 'DeleteVodSpecificConfig', + 'description' => '> '."\n" + ."\n" + .'* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* After the configurations of a domain name for CDN are deleted, the domain name becomes unavailable. We recommend that you restore the A record at your DNS service provider before you delete the configurations of the domain name for CDN.'."\n" + ."\n" + .'* After you call this operation to remove a domain name for CDN from ApsaraVideo VOD, all records that are related to the domain name are deleted. If you only want to disable a domain name for CDN, call the [BatchStopVodDomain](~~120208~~) operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => 'The following table describes the common errors that this operation can return. For more information about errors common to all operations, see [Common errors](https://www.alibabacloud.com/help/en/apsaravideo-for-vod/latest/api-reference-error-codes). '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| MissingParameter | The specified value of parameter DomainName can not be empty. | 400 | The error message returned because the DomainName parameter is not specified. |'."\n" + .'| MissingParameter | The specified value of parameter ConfigId can not be empty. | 400 | The error message returned because the ConfigId parameter is not specified. |'."\n" + .'| Invalid%s.ValueNotSupported | FunctionName [%s] is not supported. | 400 | The error message returned because the value of the FunctionName parameter is invalid. |', + ], + 'SetVodDomainCertificate' => [ + 'summary' => 'Enables or disables the certificate of a domain name and modifies the certificate information.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40153', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name that is secured by the certificate. The domain name must use HTTPS acceleration.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'CertName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cert_name', + ], + ], + [ + 'name' => 'SSLProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the SSL certificate. Default value: off. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'off', + ], + ], + [ + 'name' => 'SSLPub', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the certificate. This parameter is required only if you enable the SSL certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '****', + ], + ], + [ + 'name' => 'SSLPri', + 'in' => 'query', + 'schema' => [ + 'description' => 'The private key. This parameter is required only if you enable the SSL certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-****-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSSLProtocol.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter SSLProtocol is not supported.', + ], + [ + 'errorCode' => 'SSLPub.MissingParameter', + 'errorMessage' => 'An input parameter "SSLPub" that is mandatory for processing the request is not supplied.', + ], + [ + 'errorCode' => 'SSLPri.MissingParameter', + 'errorMessage' => 'An input parameter "SSLPri" that is mandatory for processing the request is not supplied.', + ], + [ + 'errorCode' => 'InvalidSSLPub', + 'errorMessage' => 'The SSLPub you provided is malformed!', + ], + [ + 'errorCode' => 'InvalidSSLPri', + 'errorMessage' => 'The SSLPri you provided is malformed!', + ], + [ + 'errorCode' => 'Certificate.MissMatch', + 'errorMessage' => 'The SSLPri does not math the specified Certificate!', + ], + [ + 'errorCode' => 'InvalidCertificate.TooLong', + 'errorMessage' => 'The Certificate you provided is over the max length!', + ], + [ + 'errorCode' => 'InvalidCertName.TooLong', + 'errorMessage' => 'The Certificate name you provided is over the max length 128!', + ], + [ + 'errorCode' => 'Certificate.NotPermittedOff', + 'errorMessage' => 'Turn off certificate will change domain scheduling, please contact customer service', + ], + [ + 'errorCode' => 'Certificate.SetNotEffect', + 'errorMessage' => 'Certificate was successfully set but doesn\'t take effect for protecting current service. Please contact customer service.', + ], + [ + 'errorCode' => 'AuthenticationFailed', + 'errorMessage' => 'Authentication failed.', + ], + [ + 'errorCode' => 'SetDomainCertificate.ParameterError', + 'errorMessage' => 'Parameters have error.', + ], + [ + 'errorCode' => 'InvalidSSLPubOrInvalidSSLPri', + 'errorMessage' => 'The SSLPri or SSLPub you provided is malformed!', + ], + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'Certificate is not exist or its status is error.', + ], + [ + 'errorCode' => 'DeleteFailed', + 'errorMessage' => 'Delete certificate is failed.', + ], + [ + 'errorCode' => 'Certificate.NotFind', + 'errorMessage' => 'Not find the certificate info.', + ], + [ + 'errorCode' => 'Certificate.Duplicated', + 'errorMessage' => 'The certificate name is duplicated.', + ], + [ + 'errorCode' => 'Certificate.FormatError', + 'errorMessage' => 'The certificate format is error.', + ], + [ + 'errorCode' => 'Certificate.KeyNull', + 'errorMessage' => 'The private key is not null.', + ], + [ + 'errorCode' => 'Key.Malformed', + 'errorMessage' => 'The private key format is error.', + ], + [ + 'errorCode' => 'CertStorage.failed', + 'errorMessage' => 'The certificate storage failed.', + ], + [ + 'errorCode' => 'CertificateContent.Duplicated', + 'errorMessage' => 'The certificate is already uploaded, please don\'t upload again.', + ], + [ + 'errorCode' => 'Certificate.Expired', + 'errorMessage' => 'The certificate is expired.', + ], + [ + 'errorCode' => 'InvalidDomain.notOnline', + 'errorMessage' => 'The domain is not online, please check the domain status and try again later.', + ], + [ + 'errorCode' => 'Decode.Error', + 'errorMessage' => 'The certificate sslpub or sslpri decode error.', + ], + [ + 'errorCode' => 'sslPub.Error', + 'errorMessage' => 'The SSLPub encoded failed.', + ], + [ + 'errorCode' => 'sslPri.Error', + 'errorMessage' => 'The SSLPri encoded failed.', + ], + [ + 'errorCode' => 'DomainInSafeMode', + 'errorMessage' => 'This domain is in the safe mode. if you want to do this operation, please contact us!', + ], + [ + 'errorCode' => 'DomainInProtectedMode', + 'errorMessage' => 'This domain is in the protected mode. if you want to do this operation, please contact us!', + ], + ], + 403 => [ + [ + 'errorCode' => 'IllegalOperation', + 'errorMessage' => 'Illegal domain operate is not permitted.', + ], + [ + 'errorCode' => 'ServiceBusy', + 'errorMessage' => 'The specified Domain is configuring, please retry later', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-****-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<SetVodDomainCertificateResponse>\\r\\n <RequestId>04F0F334-1335-436C-****-6C044FE73368</RequestId>\\r\\n</SetVodDomainCertificateResponse>","errorExample":""}]', + 'title' => 'SetVodDomainCertificate', + 'description' => '> This operation is available only in the **China (Shanghai)** region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|InvalidDomain.NotFound|The domain provided does not belong to you.|404|The error message returned because the specified domain name does not exist or does not belong to the current account.|'."\n" + .'|IllegalOperation|Illegal domain operate is not permitted.|403|The error message returned because you are not authorized to perform this operation.|'."\n" + .'|ServiceBusy|The specified Domain is configuring, please retry later.|403|The error message returned because the domain name is being configured. Try again later.|'."\n" + .'|InvalidDomain.Offline|The domain provided is offline.|400|The error message returned because the domain name is disabled.|'."\n" + .'|OperationDenied|Your CDN service is suspended.|403|The error message returned because your Alibaba Cloud account has overdue payments. Add funds to your account.|'."\n" + .'|InvalidSSLProtocol.ValueNotSupported|The specified value of parameter Enable is not supported.|400|The error message returned because the value of the SSLProtocol parameter is invalid.|'."\n" + .'|SSLPub.MissingParameter|An input parameter SSLPub that is mandatory for processing the request is not supplied.|400|The error message returned because the SSLPub parameter is not specified.|'."\n" + .'|SSLPri.MissingParameter|An input parameter SSLPri that is mandatory for processing the request is not supplied.|400|The error message returned because the SSLPri parameter is not specified.|'."\n" + .'|InvalidCertificate|The Certificate you provided is malformed!|400|The error message returned because the certificate content is invalid.|'."\n" + .'|InvalidSSLPri|The SSLPri you provided is malformed!|400|The error message returned because the private key is invalid.|'."\n" + .'|Certificate.MissMatch|The SSLPri does not math the specified Certificate!|400|The error message returned because the certificate and the private key do not match.|'."\n" + .'|InvalidCertificate.TooLong|The Certificate you provided is over the max length!|400|The error message returned because the length of the certificate content exceeds the upper limit.|'."\n" + .'|InvalidCertName.TooLong|The Certificate name you provided is over the max length 128!|400|The error message returned because the certificate name contains more than 128 characters.|'."\n" + .'|SetDomainSSLPub.ParameterError|Parameters have error.|400|The error message returned because one or more parameters are invalid.|'."\n" + .'|Certificate.StatusError|Certificate is not exist or its status is error.|400|The error message returned because the certificate does not exist or the certificate status is invalid.|'."\n" + .'|DeleteFailed|Delete certificate is failed.|400|The error message returned because the system failed to delete the specified certificate.|'."\n" + .'|Certificate.NotFind|Not find the certificate info.|400|The error message returned because the certificate was not found.|'."\n" + .'|Certificate.Duplicated|The certificate name is duplicated.|400|The error message returned because the certificate name already exists.|'."\n" + .'|Certificate.FormatError|The certificate format is error.|400|The error message returned because the certificate format is invalid.|'."\n" + .'|Certificate.StatusError|The certificate status is error.|400|The error message returned because the certificate status is invalid.|'."\n" + .'|Certificate.KeyNull|The SSLPri is not null.|400|The error message returned because the private key is not specified.|'."\n" + .'|SSLPri.Malformed|The SSLPri format is error.|400|The error message returned because the format of the private key is invalid.|'."\n" + .'|Certificate.NotPermittedOff|Turn off certificate will change domain scheduling, please contact customer service.|400|The error message returned because disabling the certificate may affect the scheduling of the domain name. Contact Customer Service.|'."\n" + .'|Certificate.SettedNotEffect|Certificate was successfully set but doesn\'t take effect for protecting current service, please contact customer service.|400|The error message returned because the certificate is configured but temporarily disabled to protect your service. To enable the certificate, contact Customer Service.|', + ], + 'DescribeVodDomainConfigs' => [ + 'summary' => 'Queries the configurations of a domain name for CDN. You can query the configurations of multiple features at a time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39879', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name for CDN.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com', + ], + ], + [ + 'name' => 'FunctionNames', + 'in' => 'query', + 'schema' => [ + 'description' => 'The feature name. Separate multiple names with commas (,). For more information, see **Feature description**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'filetype_based_ttl_set,set_req_host_header', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F8AA0364-0FDB-4AD5-****-D69FAB8924ED', + ], + 'DomainConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainConfig' => [ + 'description' => 'The configurations of the domain name.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the domain name.', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The configuration status. Valid values:'."\n" + ."\n" + .'* **success**'."\n" + .'* **testing**'."\n" + .'* **failed**'."\n" + .'* **configuring**'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'string', + 'example' => '5003576', + ], + 'FunctionName' => [ + 'description' => 'The feature name.'."\n", + 'type' => 'string', + 'example' => 'set_req_host_header', + ], + 'FunctionArgs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FunctionArg' => [ + 'description' => 'The feature parameters.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The parameters of each feature.', + 'type' => 'object', + 'properties' => [ + 'ArgName' => [ + 'description' => 'The parameter name.'."\n", + 'type' => 'string', + 'example' => 'file_type', + ], + 'ArgValue' => [ + 'description' => 'The parameter value.'."\n", + 'type' => 'string', + 'example' => 'txt', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Invalid%s.ValueNotSupported', + 'errorMessage' => 'FunctionName [%s] is not supported.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F8AA0364-0FDB-4AD5-****-D69FAB8924ED\\",\\n \\"DomainConfigs\\": {\\n \\"DomainConfig\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"ConfigId\\": \\"5003576\\",\\n \\"FunctionName\\": \\"set_req_host_header\\",\\n \\"FunctionArgs\\": {\\n \\"FunctionArg\\": [\\n {\\n \\"ArgName\\": \\"domain_name\\",\\n \\"ArgValue\\": \\"example.com\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodDomainConfigsResponse>\\r\\n <RequestId>F8AA0364-0FDB-4AD5-****-D69FAB8924ED</RequestId>\\r\\n\\t<DomainConfigs>\\r\\n\\t\\t<DomainConfig>\\r\\n\\t\\t\\t<FunctionArgs>\\r\\n\\t\\t\\t\\t<FunctionArg>\\r\\n\\t\\t\\t\\t\\t<ArgName>domain_name</ArgName>\\r\\n\\t\\t\\t\\t\\t<ArgValue>www.example.com</ArgValue>\\r\\n\\t\\t\\t\\t</FunctionArg>\\r\\n\\t\\t\\t</FunctionArgs>\\r\\n\\t\\t\\t<ConfigId>5003576</ConfigId>\\r\\n\\t\\t\\t<FunctionName>set_req_host_header</FunctionName>\\r\\n\\t\\t</DomainConfig>\\r\\n\\t\\t<DomainConfig>\\r\\n\\t\\t\\t<FunctionArgs>\\r\\n\\t\\t\\t\\t<FunctionArg>\\r\\n\\t\\t\\t\\t\\t<ArgName>file_type</ArgName>\\r\\n\\t\\t\\t\\t\\t<ArgValue>txt</ArgValue>\\r\\n\\t\\t\\t\\t</FunctionArg>\\r\\n\\t\\t\\t\\t<FunctionArg>\\r\\n\\t\\t\\t\\t\\t<ArgName>ttl</ArgName>\\r\\n\\t\\t\\t\\t\\t<ArgValue>13</ArgValue>\\r\\n\\t\\t\\t\\t</FunctionArg>\\r\\n\\t\\t\\t\\t<FunctionArg>\\r\\n\\t\\t\\t\\t\\t<ArgName>weight</ArgName>\\r\\n\\t\\t\\t\\t\\t<ArgValue>8</ArgValue>\\r\\n\\t\\t\\t\\t</FunctionArg>\\r\\n\\t\\t\\t</FunctionArgs>\\r\\n\\t\\t\\t<ConfigId>5068995</ConfigId>\\r\\n\\t\\t\\t<FunctionName>filetype_based_ttl_set</FunctionName>\\r\\n\\t\\t</DomainConfig>\\r\\n\\t</DomainConfigs>\\r\\n</DescribeVodDomainConfigsResponse>","errorExample":""}]', + 'title' => 'DescribeVodDomainConfigs', + 'description' => '> This operation is available only in the **China (Shanghai)** region.'."\n", + 'requestParamsDescription' => '## Feature description'."\n" + ."\n" + .'|Feature|Description|'."\n" + .'|---|---|'."\n" + .'|referer\\_white\\_list\\_set|Specifies the referer whitelist.|'."\n" + .'|referer\\_black\\_list\\_set|Specifies the referer blacklist.|'."\n" + .'|filetype\\_based\\_ttl\\_set|Specifies a time-to-live (TTL) period for a file.|'."\n" + .'|path\\_based\\_ttl\\_set|Specifies a TTL period for a directory.|'."\n" + .'|cc\\_defense|Configures protection against HTTP flood attacks.|'."\n" + .'|oss\\_auth|Configures authentication for access to an Object Storage Service (OSS) bucket.|'."\n" + .'|ip\\_black\\_list\\_set|Specifies the IP address blacklist.|'."\n" + .'|ip\\_white\\_list\\_set|Specifies the IP address whitelist.|'."\n" + .'|error\\_page|Redirects an error page to a specific page.|'."\n" + .'|tesla|Optimizes pages to accelerate access.|'."\n" + .'|set\\_req\\_host\\_header|Modifies the custom header of back-to-origin requests.|'."\n" + .'|set\\_hashkey\\_args|Ignores the specified URL parameters.|'."\n" + .'|aliauth|Configures Alibaba Cloud authentication.|'."\n" + .'|set\\_resp\\_header|Configures a response header. To verify the setting, you can check the response message from a browser.|'."\n" + .'|video\\_seek|Configures video seeking.|'."\n" + .'|range|Configures object chunking.|'."\n" + .'|gzip|Optimizes pages by using GNU zip (Gzip) compression.|'."\n" + .'|https\\_force|Configures redirection from HTTP to HTTPS.|'."\n" + .'|http\\_force|Configures redirection from HTTPS to HTTP.|'."\n" + .'|alivod|Configures ApsaraVideo VOD.|'."\n" + .'|forward\\_scheme|Configures the origin protocol and origin port.|'."\n" + .'|tmd\\_signature|Configures a custom rate limiting rule.|', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| DeleteFunctionFailed | Batch delete functions failed. | 400 | The error message returned because you failed to delete multiple features. |'."\n" + .'| InvalidFunctionName.ValueNotSupported | FunctionName %s is not supported. | 400 | The error message returned because the %s feature name is invalid. |', + ], + 'DescribeVodCertificateList' => [ + 'summary' => 'Queries the certificates of a specified domain name for CDN or all the domain names for CDN within your Alibaba Cloud account.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39875', + 'abilityTreeNodes' => [ + 'FEATUREvod0O92P0', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name for CDN.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'FC0E34AC-0239-44A7-****-800DE522C8DA', + ], + 'CertificateListModel' => [ + 'description' => 'The information about each certificate.'."\n", + 'type' => 'object', + 'properties' => [ + 'Count' => [ + 'description' => 'The number of certificates that are returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'CertList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cert' => [ + 'description' => 'The list of certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LastTime' => [ + 'description' => 'The time when the certificate was issued. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1512388610', + ], + 'Fingerprint' => [ + 'description' => 'The fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '****', + ], + 'CertName' => [ + 'description' => 'The name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'certificate', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => '****', + ], + 'CertId' => [ + 'description' => 'The ID of the certificate.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '235437', + ], + 'Common' => [ + 'description' => 'The common name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'CreateTime' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => 'The time when the certificate was created.', + 'example' => '1725206400000', + ], + 'EndTime' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => 'The time when the certificate expired.', + 'example' => '1759507200000', + ], + 'Algorithm' => [ + 'type' => 'string', + 'description' => 'The algorithm.'."\n", + 'example' => 'RSA', + ], + 'CertIdentifier' => [ + 'type' => 'string', + 'description' => 'The ID of the certificate.'."\n", + 'example' => '14173772-cn-hangzhou', + ], + 'DomainMatchCert' => [ + 'type' => 'boolean', + 'description' => 'DomainMatchCert.', + 'example' => 'false', + ], + 'InstanceId' => [ + 'type' => 'string', + 'description' => 'The ID of the instance.'."\n", + 'example' => 'cert-cn-cd806ae0fdfbfa60', + ], + 'SignAlgorithm' => [ + 'type' => 'string', + 'description' => 'The signAlgorithm.', + 'example' => 'sha256withrsa', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FC0E34AC-0239-44A7-****-800DE522C8DA\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"LastTime\\": 1512388610,\\n \\"Fingerprint\\": \\"****\\",\\n \\"CertName\\": \\"证书\\",\\n \\"Issuer\\": \\"****\\",\\n \\"CertId\\": 235437,\\n \\"Common\\": \\"test\\",\\n \\"CreateTime\\": 1725206400000,\\n \\"EndTime\\": 1725207200000,\\n \\"Algorithm\\": \\"RSA\\",\\n \\"CertIdentifier\\": \\"14173772-cn-hangzhou\\",\\n \\"DomainMatchCert\\": false,\\n \\"InstanceId\\": \\"cert-cn-cd806ae0fdfbfa60\\",\\n \\"SignAlgorithm\\": \\"sha256withrsa\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodCertificateListResponse>\\n<RequestId>FC0E34AC-0239-44A7-****-800DE522C8DA</RequestId>\\n<CertificateListModel>\\n <CertList>\\n <Cert>\\n <Fingerprint>****</Fingerprint>\\n <Issuer>****</Issuer>\\n <CertId>235437</CertId>\\n <CertName>证书</CertName>\\n <LastTime>1512388610</LastTime>\\n <Common>test</Common>\\n </Cert>\\n </CertList>\\n <Count>2</Count>\\n</CertificateListModel>\\n</DescribeVodCertificateListResponse>","errorExample":""}]', + 'title' => 'DescribeVodCertificateList', + 'description' => '> This operation is available only in the **China (Shanghai)** region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVodDomainCertificateInfo' => [ + 'summary' => 'Queries the certificate information about an accelerated domain name.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39877', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '5C1E43DC-9E51-4771-****-7D5ECEB547A1', + ], + 'CertInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CertInfo' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CertExpireTime' => [ + 'description' => 'The time at which the certificate expires. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-06-03T13:03:39Z', + ], + 'CertLife' => [ + 'description' => 'The validity period of the certificate. Unit: months or years.'."\n", + 'type' => 'string', + 'example' => '3 months', + ], + 'Status' => [ + 'description' => 'The status of the certificate.'."\n" + ."\n" + .'* **success**: The certificate is in effect.'."\n" + .'* **checking**: The system is checking whether the domain name is added to ApsaraVideo VOD.'."\n" + .'* **cname_error**: The domain name is not added to ApsaraVideo VOD.'."\n" + .'* **domain_invalid**: The domain name contains invalid characters.'."\n" + .'* **unsupport_wildcard**: The domain name is a wildcard domain name. Wildcard domain names are not supported.'."\n" + .'* **applying**: The certificate application is in progress.'."\n" + .'* **failed**: The certificate application failed.'."\n" + ."\n" + .'> A value is returned for this parameter only when you set `CertType` to `free`. Otherwise, an empty value is returned for this parameter.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'CertUpdateTime' => [ + 'type' => 'string', + 'description' => 'The time at which the certificate was updated.'."\n", + 'example' => '2023-04-26T20:23:38Z', + ], + 'CertDomainName' => [ + 'description' => 'The domain name that matches the certificate.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'ServerCertificateStatus' => [ + 'description' => 'The status of the SSL certificate.'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'example' => 'checking', + ], + 'CertOrg' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'Let\'s Encrypt', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name whose ICP filing status you want to update.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'CertStartTime' => [ + 'type' => 'string', + 'description' => 'The time when the certificate became effective.'."\n", + 'example' => '2023-04-26T20:23:38Z', + ], + 'CertType' => [ + 'description' => 'The type of the certificate. Valid values:'."\n" + ."\n" + .'* **free**: a free certificate.'."\n" + .'* **cas**: a certificate that is purchased from Certificate Management Service.'."\n" + .'* **upload**: a user-uploaded certificate.'."\n", + 'type' => 'string', + 'example' => 'free', + ], + 'CertName' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'cert-example.com', + ], + 'DomainCnameStatus' => [ + 'type' => 'string', + 'description' => 'The CNAME status of the domain name.'."\n" + ."\n" + .'* **ok**: The domain name points to the CNAME assigned by Alibaba Cloud CDN.'."\n" + .'* **cname_error**: An error occurred and the domain name cannot point to the CNAME.'."\n" + .'* **op_domain_cname_error** : An error occurred to the CNAME of the top-level domain. The domain name cannot point to the CNAME.'."\n" + .'* **unsupport_wildcard**: The wildcard domain name is not supported.', + 'example' => 'ok', + ], + 'ServerCertificate' => [ + 'type' => 'string', + 'description' => 'The public key of the certificate.'."\n", + 'example' => '****', + ], + 'CertId' => [ + 'type' => 'string', + 'description' => 'The ID of the certificate.'."\n", + 'example' => '13227737-cn-hangzhou', + ], + 'CertRegion' => [ + 'type' => 'string', + 'description' => 'The region where the certificate is used.'."\n", + 'example' => 'cn-hangzhou', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5C1E43DC-9E51-4771-****-7D5ECEB547A1\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertExpireTime\\": \\"2018-06-03T13:03:39Z\\",\\n \\"CertLife\\": \\"3 months\\",\\n \\"Status\\": \\"success\\",\\n \\"CertUpdateTime\\": \\"2023-04-26T20:23:38Z\\",\\n \\"CertDomainName\\": \\"example.com\\",\\n \\"ServerCertificateStatus\\": \\"on\\",\\n \\"CertOrg\\": \\"Let\'s Encrypt\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"CertStartTime\\": \\"2023-04-26T20:23:38Z\\",\\n \\"CertType\\": \\"free\\",\\n \\"CertName\\": \\"cert-example.com\\",\\n \\"DomainCnameStatus\\": \\"ok\\",\\n \\"ServerCertificate\\": \\"****\\",\\n \\"CertId\\": \\"13227737-cn-hangzhou\\",\\n \\"CertRegion\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodDomainCertificateInfoResponse>\\r\\n <CertInfos>\\r\\n\\t\\t<CertInfo>\\r\\n\\t\\t\\t<Status>success</Status>\\r\\n\\t\\t\\t<CertLife>3 months</CertLife>\\r\\n\\t\\t\\t<SSLProtocol>on</SSLProtocol>\\r\\n\\t\\t\\t<CertType>cas</CertType>\\r\\n\\t\\t\\t<CertName>cert-example.com</CertName>\\r\\n\\t\\t\\t<CertDomainName>example.com</CertDomainName>\\r\\n\\t\\t\\t<DomainName>example.com</DomainName>\\r\\n\\t\\t\\t<CertOrg>Let\'s Encrypt</CertOrg>\\r\\n\\t\\t\\t<CertExpireTime>2018-06-03T13:03:39Z</CertExpireTime>\\r\\n\\t\\t</CertInfo>\\r\\n\\t</CertInfos>\\r\\n\\t<RequestId>5C1E43DC-9E51-4771-****-7D5ECEB547A1</RequestId>\\r\\n</DescribeVodDomainCertificateInfoResponse>","errorExample":""}]', + 'title' => 'DescribeVodDomainCertificateInfo', + 'description' => 'This operation is available only in the **China (Shanghai)** region.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + ], + 'BatchSetVodDomainConfigs' => [ + 'summary' => 'Configures one or more domain names for CDN.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39799', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainNames', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name for CDN. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'Functions', + 'in' => 'query', + 'schema' => [ + 'description' => 'The features to configure.'."\n" + ."\n" + .'* Set this parameter in the following format: `[{"functionArgs":[{"argName":"domain_name","argValue":"www.example.com"}],"functionName":"set_req_host_header"}]`.'."\n" + .'* Specific features, such as filetype_based_ttl_set, support more than one configuration record. To update one of the configuration records, use the configId field to specify the record. `[{"functionArgs":[{"argName":"file_type","argValue":"jpg"},{"argName":"ttl","argValue":"18"},{"argName":"weight","argValue":"30"}],"functionName":"filetype_based_ttl_set","configId":5068995}]`'."\n" + .'* For more information, see the **Feature description** section.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[{"functionArgs":[{"argName":"domain_name","argValue":"www.example.com"}],"functionName":"set_req_host_header"}]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-****-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidFunctions.Malformed', + 'errorMessage' => 'The specified Functions is incorrectly formatted.', + ], + [ + 'errorCode' => 'InvalidArgValue.Malformed', + 'errorMessage' => 'The specified ArgValue is invalid.', + ], + [ + 'errorCode' => 'Invalid%s.ValueNotSupported', + 'errorMessage' => '[%s] is not supported.', + ], + [ + 'errorCode' => 'Invalid%s.Malformed', + 'errorMessage' => 'The specified ArgValue [%s] is invalid.', + ], + [ + 'errorCode' => 'MissingParameter%s', + 'errorMessage' => 'The specified value of ArgName[%s] is missing.', + ], + [ + 'errorCode' => 'InvalidFunctionArgs.Malformed', + 'errorMessage' => 'The specified FunctionArgs is invalid.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgValue is missing.', + ], + [ + 'errorCode' => 'InvalidHeaderKey.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter HeaderKey is not supported.', + ], + [ + 'errorCode' => 'TooManyDomains', + 'errorMessage' => 'The count of domain is over 50.', + ], + [ + 'errorCode' => 'InvalidRule.Malformed', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidFunction.NotSupported', + 'errorMessage' => 'The domain is not supported to set the function.', + ], + [ + 'errorCode' => 'InvalidDomain.BelongToConfigGroup', + 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', + ], + [ + 'errorCode' => 'EntityNotExist.Role', + 'errorMessage' => 'EntityNotExist.Role', + ], + [ + 'errorCode' => 'MissingParameterFunctions', + 'errorMessage' => 'The specified value of Functions is missing.', + ], + [ + 'errorCode' => 'NoPermission.SLR', + 'errorMessage' => 'The current user does not have permission to create servicelinkedrole. Please contact the Alibaba Cloud account or administrator to authorize AliyunCDNFullAccess or custom policy:Service Name:cdn-ddos.cdn.aliyuncs.com,Role: AliyunServiceRoleForCDNAccessingDDoS,Permission: ram: CreateServiceLinkedRole', + ], + [ + 'errorCode' => 'ConfigExceedLimit', + 'errorMessage' => 'Count of config entries exceeds the limit.', + ], + [ + 'errorCode' => 'EdgeScriptCountExceedLimit', + 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', + ], + [ + 'errorCode' => 'EdgeScripOptionsHasInnerConfig', + 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', + ], + [ + 'errorCode' => 'EdgeScriptGrammarNotSupport', + 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', + ], + [ + 'errorCode' => 'EdgeScriptNotSupportJs', + 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'Failed to invoke service.', + ], + [ + 'errorCode' => 'ConfigurationConflicts', + 'errorMessage' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the staging'."\n" + .'environment. Set parameters in the staging environment before you publish them to the production environment.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-****-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<BatchSetVodDomainConfigsResponse>\\r\\n<RequestId>04F0F334-1335-436C-****-6C044FE73368</RequestId>\\r\\n</BatchSetVodDomainConfigsResponse>","errorExample":""}]', + 'title' => 'BatchSetVodDomainConfigs', + 'description' => '> This operation is available only in the **China (Shanghai)** region.'."\n", + 'requestParamsDescription' => '## Feature description'."\n" + ."\n" + .'All parameter values are of the string type.'."\n" + ."\n" + .'| Feature | Description | Parameter |'."\n" + .'| ------- | ----------- | --------- |'."\n" + .'| referer_white_list_set | Specifies the referer whitelist. | refer_domain_allow_list: the referers to be added to the whitelist. Separate multiple referers with commas (,). <br /><br />allow_empty: specifies whether an empty referer is allowed. Valid values: **on and off**. |'."\n" + .'| referer_black_list_set | Specifies the referer blacklist. | refer_domain_deny_list: the referers to be added to the blacklist. Separate multiple referers with commas (,). <br /><br />allow_empty: specifies whether an empty referer is allowed. Valid values: **on and off**. |'."\n" + .'| filetype_based_ttl_set | Specifies the time period after which a file expires. | ttl: the expiration time of the cached content. Unit: seconds.<br /><br />file_type: the file type. Separate multiple file types with commas (,). Example: txt,jpg.<br /><br />weight: the weight of the file in the cache. Valid values: **1** to **199**. |'."\n" + .'| path_based_ttl_set | Specifies the time period after which a directory expires. | ttl: the expiration time of the cached content. Unit: seconds.<br /><br />path: the directory, which must start with a forward slash (/).<br /><br />weight: the weight of the directory in the cache. Valid values: **1** to **99**. |'."\n" + .'| oss_auth | Configures authentication for the access to an Object Storage Service (OSS) bucket. | oss_bucket_id: the ID of the bucket. |'."\n" + .'| ip_black_list_set | Specifies the IP address blacklist. | ip_list: the IP addresses to be added to the whitelist. Separate multiple IP addresses with commas (,). |'."\n" + .'| ip_allow_list_set | Specifies the IP address whitelist. | ip_list: the IP addresses to be added to the whitelist. Separate multiple IP addresses with commas (,). |'."\n" + .'| ip_white_list_set | Specifies the self-defined rules for the rate limit. | ip_list: the IP addresses to be added to the whitelist. Separate multiple IP addresses with commas (,). |'."\n" + .'| error_page | Redirects an error page to a specified page. | error_code: the error code.<br /><br />rewrite_page: the page to which the error page is redirected. |'."\n" + .'| set_req_host_header | Modifies the custom header of back-to-origin requests. | domain_name: the custom host header of back-to-origin requests. |'."\n" + .'| set_hashkey_args | Ignores the specified URL parameters. | hashkey_args: the parameters to be reserved. Separate multiple parameters with commas (,). <br /><br />disable: specifies whether to ignore all parameters. A value of on indicates that all parameters are ignored. A value of off indicates that none of the parameters are ignored. |'."\n" + .'| aliauth | Configures Alibaba Cloud authentication. | auth_type: the authentication type. Valid values: **no_auth**, **type_a**, **type_b**, and **type_c**. <br /><br />auth_key1: the primary authentication key.<br /><br />auth_key2: the secondary authentication key.<br /><br />ali_auth_delta: the custom buffer time for authentication.<br /><br />ali_auth_remote_desc: the pattern matching string. |'."\n" + .'| set_resp_header | Specifies a response header. To verify the setting, you can check the response message in a browser. | key: the name of the response header. Valid values: **Content-Type**, **Cache-Control**, **Content-Disposition**, **Content-Language**, **Expires**, **Access-Control-Allow-Origin**, **Access-Control-Allow-Methods**, **Access-Control-Allow-Headers**, **Access-Control-Max-Age**, and **Access-Control-Expose-Headers**. <br /><br />value: the content of the response header. If you want to delete the header, enter null. |'."\n" + .'| https_force | Configures force redirect to HTTPS. | enable: specifies whether to enable force redirect to HTTPS. Valid values: **on and off**. |'."\n" + .'| http_force | Configures force redirect to HTTP. | enable: specifies whether to enable force redirect to HTTP. Valid values: **on and off**. |'."\n" + .'| l2_oss_key | Configures private key authentication for back-to-origin requests from L2 nodes to private OSS buckets. | private_oss_auth: specifies whether to authenticate the access to a private OSS bucket. Valid values: **on and off**. |'."\n" + .'| green_manager | Configures pornography detection. | enable: specifies whether to enable pornography detection. Valid values: **on and off**. |'."\n" + .'| range | Configures object chunking. | enable: specifies whether to enable object chunking. Valid values: on, off, and force. |'."\n" + .'| video_seek | Configures video seeking. | enable: specifies whether to enable video seeking. Valid values: on and off. |'."\n" + .'| set_hashkey_args | Ignores the specified URL parameters. | hashkey_args: the parameters to be reserved. Separate multiple parameters with commas (,). <br /><br />disable: specifies whether to ignore all parameters. A value of on indicates that all parameters are ignored. A value of off indicates that none of the parameters are ignored. |'."\n" + .'| tmd_signature | Specifies the self-defined rules for the rate limit. | name: the name of the rule, which must be unique in the domain name.<br /><br />path: the URI path. You can specify duplicate URI paths. However, you must verify their validity. <br /><br />pathType: the matching rule. Valid values: 0 and 1. A value of **0** indicates a prefix match. A value of **1** indicates an exact match. <br /><br />interval: the interval at which data is monitored. Unit: seconds. The interval must be greater than or equal to **10** seconds. <br /><br />count: the number of visits from an IP address.<br /><br />action: the operation to be performed after the specified conditions are met. Valid values: 0 and 1. A value of **0** indicates blocking. A value of **1** indicates bot detection. <br /><br />ttl: the time period during which access is blocked. Unit: seconds. |'."\n" + .'| ali_business | Configures custom features. | ali_business_type: required. The business type.<br /><br />ali_business_table: the pattern matching string. |'."\n" + .'| hls_token_rewrite | Configures M3U8 encryption and rewriting. | enable: required. Specifies whether to enable M3U8 encryption and rewriting. Valid values: on and off. <br /><br />hls_token_arg_name: the name of the appended parameter. If you do not specify the name, the parameter name MtsHlsUriToken is used. |', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InvalidFunctions.Malformed | Specified Functions is malformed. | 400 | The error message returned because the value of the Functions parameter is invalid. |'."\n" + .'| InvalidFunctionName.ValueNotSupported | FunctionName %s is not supported. | 400 | The error message returned because the %s feature name is invalid. |'."\n" + .'| InvalidArgName.ValueNotSupported | ArgName %s is not supported. | 400 | The error message returned because the %s parameter is invalid. |'."\n" + .'| InvalidArgValue.Malformed | Specified ArgValue is malformed. | 400 | The error message returned because the value of the argValue field is invalid. |', + ], + 'DescribeVodRefreshTasks' => [ + 'summary' => 'Queries the information about one or more refresh or prefetch tasks.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39909', + 'abilityTreeNodes' => [ + 'FEATUREvod59E0PR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the task that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '70422****', + ], + ], + [ + 'name' => 'ObjectPath', + 'in' => 'query', + 'schema' => [ + 'description' => 'The path of the object. The path is used as a condition for exact matching.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://example.com/***.txt', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '42949672', + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'ObjectType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the task. Valid values:'."\n" + ."\n" + .'* **file**: refreshes one or more files.'."\n" + .'* **directory**: refreshes files in the specified directories.'."\n" + .'* **preload**: prefetches one or more files.'."\n" + ."\n" + .'> If you specify the DomainName or Status parameter, you must also specify the ObjectType parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'file', + ], + ], + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* **Complete**: The task is complete.'."\n" + .'* **Refreshing**: The task is in progress.'."\n" + .'* **Failed**: The task failed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Complete', + 'enum' => [ + 'Complete', + 'Refreshing', + 'Failed', + ], + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Default value: **20**. Maximum value: **50**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n" + ."\n" + .'> You can query data that is collected in the last three days.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-01T12:12:20Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-01T12:30:20Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '174F6032-AA26-470D-****-36F0EB205BEE', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'Tasks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Task' => [ + 'description' => 'The information about the returned tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'* **Complete**: The task is complete.'."\n" + .'* **Refreshing**: The task is in progress.'."\n" + .'* **Failed**: The task failed.'."\n" + .'* **Pending**: The task is pending.'."\n", + 'type' => 'string', + 'example' => 'Complete', + ], + 'CreationTime' => [ + 'description' => 'The time when the task was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2014-11-27T08:23:22Z', + ], + 'ObjectType' => [ + 'description' => 'The type of the task. Default value: file. Valid values:'."\n" + ."\n" + .'* **file**: refreshes one or more files.'."\n" + .'* **directory**: refreshes files in the specified directory.'."\n" + .'* **preload**: prefetches one or more files.'."\n", + 'type' => 'string', + 'example' => 'file', + ], + 'Process' => [ + 'description' => 'The progress of the task in percentage.'."\n", + 'type' => 'string', + 'example' => '100%', + ], + 'Description' => [ + 'description' => 'The type of error returned when the refresh or prefetch task failed. Valid values: Valid values:'."\n" + ."\n" + .'* **Internal Error**: An internal error occurred.'."\n" + .'* **Origin Timeout**: The response from the origin server timed out.'."\n" + .'* **Origin Return StatusCode 5XX**: The origin server returned an HTTP status code 5xx.'."\n", + 'type' => 'string', + 'example' => 'Internal Error', + ], + 'ObjectPath' => [ + 'description' => 'The URL of the object refreshed.'."\n", + 'type' => 'string', + 'example' => 'http://example.com/****.txt', + ], + 'TaskId' => [ + 'description' => 'The ID of the task.'."\n", + 'type' => 'string', + 'example' => '704225667', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified TaskId is invalid.', + ], + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified EndTime is invalid.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified StartTime is invalid.', + ], + [ + 'errorCode' => 'InvalidObjectType.ValueNotSupported', + 'errorMessage' => 'The specified ObjectType is not supported.', + ], + [ + 'errorCode' => 'InvalidStatus.ValueNotSupported', + 'errorMessage' => 'The specified Status is not supported.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"174F6032-AA26-470D-****-36F0EB205BEE\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 2,\\n \\"Tasks\\": {\\n \\"Task\\": [\\n {\\n \\"Status\\": \\"Complete\\",\\n \\"CreationTime\\": \\"2014-11-27T08:23:22Z\\",\\n \\"ObjectType\\": \\"file\\",\\n \\"Process\\": \\"100%\\",\\n \\"Description\\": \\"Internal Error\\",\\n \\"ObjectPath\\": \\"http://example.com/****.txt\\",\\n \\"TaskId\\": \\"704225667\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\r\\n<DescribeVodRefreshTasksResponse>\\r\\n <Tasks>\\r\\n <Task>\\r\\n <CreationTime>2014-11-27T08:23:22Z</CreationTime>\\r\\n <ObjectPath>http://example.com/****.txt</ObjectPath>\\r\\n <Status>Complete</Status>\\r\\n <TaskId>704225667</TaskId>\\r\\n <ObjectType>file</ObjectType>\\r\\n <Process>100%</Process>\\r\\n </Task>\\r\\n <Task>\\r\\n <CreationTime>2014-11-27T08:18:38Z</CreationTime>\\r\\n <ObjectPath>http://example.com/****.txt</ObjectPath>\\r\\n <Status>Complete</Status>\\r\\n <TaskId>704222904</TaskId>\\r\\n <ObjectType>file</ObjectType>\\r\\n <Process>100%</Process>\\r\\n </Task>\\r\\n </Tasks>\\r\\n <PageNumber>1</PageNumber>\\r\\n <PageSize>10</PageSize>\\r\\n <TotalCount>2</TotalCount>\\r\\n <RequestId>13DF2E2F-FBF8-4E1C-****-98141795443D</RequestId>\\r\\n</DescribeVodRefreshTasksResponse>","errorExample":""}]', + 'title' => 'DescribeVodRefreshTasks', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* If you do not specify the TaskId or ObjectPath parameter, the data in the last three days is returned on the first page. By default, one page displays a maximum of 20 entries. You can specify the TaskId and ObjectPath parameters at the same time.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|Throttling|Request was denied due to request throttling.|503|The error message returned because the request was denied due to throttling.|'."\n" + .'|OperationDenied|Your account does not open VOD service yet.|403|The error message returned because ApsaraVideo VOD is not activated for your Alibaba Cloud account.|'."\n" + .'|OperationDenied.Suspended|Your VOD service is suspended.|403|The error message returned because your Alibaba Cloud account has overdue payments. Add funds to your account.|'."\n" + .'|InvalidTaskId.Malformed|Specified TaskId is malformed.|400|The error message returned because the value of the TaskId parameter is in an invalid format.|', + ], + 'DescribeVodRefreshQuota' => [ + 'summary' => 'Queries the maximum number and remaining number of requests to refresh or prefetch files on the current day. You can prefetch files based on URLs and refresh files based on URLs or directories.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39908', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'BlockQuota' => [ + 'description' => 'The maximum number of Object Storage Service (OSS) buckets that can be refreshed each day.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'PreloadRemain' => [ + 'description' => 'The remaining number of URLs of files that can be prefetched on the current day.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '42E0554B-80F4-4921-****-ACFB22CAAAD0', + ], + 'blockRemain' => [ + 'description' => 'The remaining number of OSS buckets that can be refreshed on the current day.'."\n", + 'type' => 'string', + 'example' => '500', + ], + 'DirRemain' => [ + 'description' => 'The remaining number of directories of files that can be refreshed on the current day.'."\n", + 'type' => 'string', + 'example' => '99', + ], + 'UrlRemain' => [ + 'description' => 'The remaining number of URLs of files that can be refreshed on the current day.'."\n", + 'type' => 'string', + 'example' => '1996', + ], + 'DirQuota' => [ + 'description' => 'The maximum number of directories of files that can be refreshed each day.'."\n", + 'type' => 'string', + 'example' => '100', + ], + 'UrlQuota' => [ + 'description' => 'The maximum number of URLs of files that can be refreshed each day.'."\n", + 'type' => 'string', + 'example' => '2000', + ], + 'PreloadQuota' => [ + 'description' => 'The maximum number of URLs of files that can be prefetched each day.'."\n", + 'type' => 'string', + 'example' => '500', + ], + ], + ], + ], + ], + 'errorCodes' => [], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"BlockQuota\\": \\"500\\",\\n \\"PreloadRemain\\": \\"500\\",\\n \\"RequestId\\": \\"42E0554B-80F4-4921-****-ACFB22CAAAD0\\",\\n \\"blockRemain\\": \\"500\\",\\n \\"DirRemain\\": \\"99\\",\\n \\"UrlRemain\\": \\"1996\\",\\n \\"DirQuota\\": \\"100\\",\\n \\"UrlQuota\\": \\"2000\\",\\n \\"PreloadQuota\\": \\"500\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodRefreshQuotaResponse>\\r\\n <DirQuota>100</DirQuota>\\r\\n <DirRemain>99</DirRemain>\\r\\n <RequestId>A56FC7F8-CA97-482E-****-F77C2135BD22</RequestId>\\r\\n <UrlQuota>2000</UrlQuota>\\r\\n <UrlRemain>1996</UrlRemain>\\r\\n <PreloadQuota>500</PreloadQuota>\\r\\n <PreloadRemain>500</PreloadRemain>\\r\\n</DescribeVodRefreshQuotaResponse>","errorExample":""}]', + 'title' => 'DescribeVodRefreshQuota', + 'description' => '> * This operation is available only in the **China (Shanghai)** region.'."\n" + .'> * You can call the [RefreshVodObjectCaches](~~69215~~) operation to refresh content and the [PreloadVodObjectCaches](~~69211~~) operation to prefetch content.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| Throttling | Request was denied due to request throttling. | 503 | The error message returned because the request was denied due to throttling. |'."\n" + .'| OperationDenied | Your account does not open VOD service yet. | 403 | The error message returned because ApsaraVideo VOD has not been activated for your Alibaba Cloud account. |'."\n" + .'| OperationDenied.Suspended | Your VOD service is suspended. | 403 | The error message returned because your Alibaba Cloud account has overdue payments. Add funds to your account. |', + ], + 'PreloadVodObjectCaches' => [ + 'summary' => 'Prefetches resources from an origin server to L2 nodes. Users can directly hit the cache upon their first visits. This way, workloads on the origin server can be reduced.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40098', + 'abilityTreeNodes' => [ + 'FEATUREvod59E0PR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ObjectPath', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the file to be prefetched. Separate multiple URLs with line breaks (\\n or \\r\\n).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vod.test.com/test.txt', + ], + ], + [ + 'name' => 'Area', + 'in' => 'query', + 'schema' => [ + 'description' => 'The acceleration region in which you want to prefetch content. If you do not specify a region, the value overseas is used.'."\n" + ."\n" + .'* **domestic**: Chinese mainland'."\n" + .'* **overseas**: outside the Chinese mainland'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'domestic', + 'enum' => [ + 'domestic', + 'overseas', + ], + ], + ], + [ + 'name' => 'L2Preload', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to prefetch content to POPs. Valid values:'."\n" + ."\n" + .'* **true**: prefetches content to nodes that include L2 DCDN nodes.'."\n" + .'* **false**: prefetches content to L2 POPs or L3 POPs.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + ], + ], + [ + 'name' => 'WithHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom header for prefetch in the JSON format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{'."\n" + .' "Accept-Encoding": ['."\n" + .' "gzip, deflate, br"'."\n" + .' ]'."\n" + .'}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'PreloadTaskId' => [ + 'description' => 'The ID of the prefetch task. Separate multiple task IDs with commas (,).'."\n", + 'type' => 'string', + 'example' => '9524****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E5BD4B50-7A02-493A-*****-97B9024B4135', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SingleRequest.OverLimit', + 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', + ], + [ + 'errorCode' => 'QuotaExceeded.Preload', + 'errorMessage' => 'Your refresh attempts have exceeded the daily limit.', + ], + [ + 'errorCode' => 'InvalidObjectPath.Malformed', + 'errorMessage' => 'The specified ObjectPath is invalid.', + ], + [ + 'errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', + 'errorMessage' => 'The specified ExtensiveDomain is not supported.', + ], + [ + 'errorCode' => 'PreloadQueueFull', + 'errorMessage' => 'The warming queue is full; please try again later.', + ], + [ + 'errorCode' => 'InvalidCustomHeader', + 'errorMessage' => 'Parse preload header failed.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidDomain.Offline', + 'errorMessage' => 'The domain provided is offline.', + ], + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PreloadTaskId\\": \\"9524****\\",\\n \\"RequestId\\": \\"E5BD4B50-7A02-493A-*****-97B9024B4135\\"\\n}","errorExample":""},{"type":"xml","example":"<PreloadVodObjectCachesResponse>\\r\\n <PreloadTaskId>9525****</PreloadTaskId>\\r\\n <RequestId>5FF9B16E-FBAC-48E5-****-65B5F0184DB3</RequestId>\\r\\n</PreloadVodObjectCachesResponse>","errorExample":""}]', + 'title' => 'PreloadVodObjectCaches', + 'description' => '> * This operation is available only in the **China (Shanghai)** region.'."\n" + .'> * You can submit a maximum of 500 requests to prefetch resources based on URLs each day by using an Alibaba Cloud account. You cannot prefetch resources based on directories.'."\n" + .'> * You can call the [RefreshVodObjectCaches](~~69215~~) operation to refresh content and the [PreloadVodObjectCaches](~~69211~~l) operation to prefetch content.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| Throttling | Request was denied due to request throttling. | 503 | The error message returned because the request was denied due to throttling. |'."\n" + .'| IllegalOperation | Illegal domain operate is not permitted. | 403 | The error message returned because the domain name is invalid. |'."\n" + .'| OperationDenied | Your account does not open VOD service yet. | 403 | The error message returned because ApsaraVideo VOD has not been activated for your Alibaba Cloud account. |'."\n" + .'| OperationDenied.Suspended | Your VOD service is suspended. | 403 | The error message returned because your Alibaba Cloud account has overdue payments. Add funds to your account. If you do not settle your overdue payments within 15 days, you must re-activate ApsaraVideo VOD after you settle all the overdue payments. |'."\n" + .'| InvalidDomain.NotFound | The domain provided does not belong to you. | 404 | The error message returned because the domain name does not exist or does not belong to you. |'."\n" + .'| InvalidDomain.Offline | The domain provided is offline. | 404 | The error message returned because the domain name has been disabled. |'."\n" + .'| QuotaExceeded.Refresh | You’ve exceeded the prescribed refresh limits. | 400 | The error message returned because the number of requests to refresh or prefetch the content exceeds the upper limit on the current day. |'."\n" + .'| PreloadQueueFull | Preload queue is full, please try again later! | 403 | The error message returned because the number of URLs of the files being prefetched has reached the upper limit. Try again later. |'."\n" + .'| InvalidDomain.Configure_failed | Failed to configure the provided domain. | 500 | The error message returned because the system failed to configure the domain name and cannot refresh or prefetch the content. |'."\n" + .'| MissingParameter | The input parameter “ObjectPath” that is mandatory for processing this request is not supplied. | 400 | The error message returned because the ObjectPath parameter is not specified. |'."\n" + .'| InvalidObjectPath.Malformed | The specific value of parameter ObjectPath is malformed. | 400 | The error message returned because the value of the ObjectPath parameter is in an invalid format. |'."\n" + .'| InvalidExtensiveDomain.ValueNotSupported | Extensive domain not supported. | 400 | The error message returned because the domain name contains a wildcard character. |'."\n" + .'| InvalidObjectPath.Size.Malformed | The size of ObjectPath is bigger than 1000. | 400 | The error message returned because a maximum of 1,000 URLs of files can be prefetched at a time. |', + ], + 'RefreshVodObjectCaches' => [ + 'summary' => 'Refreshes files on Alibaba Cloud CDN nodes. You can refresh multiple files at a time based on URLs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40109', + 'abilityTreeNodes' => [ + 'FEATUREvod59E0PR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ObjectPath', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the file to be prefetched. Separate multiple URLs with line breaks (\\n or \\r\\n).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'abc.com/image/1.png', + ], + ], + [ + 'name' => 'ObjectType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the object that you want to refresh. Valid values:'."\n" + ."\n" + .'* **File** (default): refreshes one or more files.'."\n" + .'* **Directory**: refreshes the files in specified directories.'."\n" + .'* **Regex**: refreshes content based on regular expressions.'."\n" + .'* **IgnoreParams**: removes the question mark (?) and parameters after the question mark (?) in a request URL and refreshes content. After you call this operation with the request URL submitted, the system compares the submitted URL with the URL of the cached resource without specific parameters. If the URLs match, the POPs refresh the cached resource.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'File', + 'default' => 'File', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to purge resources in a directory if the resources requested are different from the resources on the origin server.'."\n" + ."\n" + .'* **true**: refreshes all resources in the directory. If you set this parameter to true, when the requested content matches the resource in the directory, the POP retrieves the resource from the origin server, returns the resource to the client, and caches the resource.'."\n" + .'* **false** (default): refreshes the changed resources in the directory. If you set this parameter to false, when the requested content matches the resource in the directory, the POP obtains the Last-Modified parameter of the resource from the origin server. If the value of the obtained Last-Modified parameter is the same as that of the cached resource, the cached resource is returned. Otherwise, the POP retrieves the resource from the origin server, returns the resource to the client, and caches the resource.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RefreshTaskId' => [ + 'description' => 'The ID of the refresh task. Multiple IDs are separated by commas (,). Refresh tasks are merged based on the following rules:'."\n" + ."\n" + .'If the tasks are set for the same accelerated domain name, submitted within the same second, and refresh content based on URLs instead of directories, the tasks IDs are merged into the same task ID (RefreshTaskId). If the number of these tasks exceeds 2,000, every 2,000 tasks IDs are merged into the same task ID (RefreshTaskId).'."\n", + 'type' => 'string', + 'example' => '70422*****2904', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'D61E4801-EAFF-4A63-****-FBF6CE1CFD1C', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SingleRequest.OverLimit', + 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', + ], + [ + 'errorCode' => 'InvalidObjectType.Malformed', + 'errorMessage' => 'The specified ObjectType is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.Refresh', + 'errorMessage' => 'Your refresh attempts have exceeded the daily limit.', + ], + [ + 'errorCode' => 'InvalidObjectPath.Malformed', + 'errorMessage' => 'The specified ObjectPath is invalid.', + ], + [ + 'errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', + 'errorMessage' => 'The specified ExtensiveDomain is not supported.', + ], + [ + 'errorCode' => 'QuotaPerMinuteExceeded.Refresh', + 'errorMessage' => 'You tried to refresh too frequently; please try again later.', + ], + [ + 'errorCode' => 'TooMany.Refresh', + 'errorMessage' => 'The refresh queue is full; please try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not belong to you.', + ], + [ + 'errorCode' => 'InvalidDomain.Offline', + 'errorMessage' => 'The domain provided is offline.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RefreshTaskId\\": \\"70422*****2904\\",\\n \\"RequestId\\": \\"D61E4801-EAFF-4A63-****-FBF6CE1CFD1C\\"\\n}","errorExample":""},{"type":"xml","example":"<RefreshVodObjectCachesResponse>\\n <RefreshTaskId>70422*****2904</RefreshTaskId>\\n <RequestId>D61E4801-EAFF-4A63-****-FBF6CE1CFD1C</RequestId>\\n</RefreshVodObjectCachesResponse>","errorExample":""}]', + 'title' => 'RefreshVodObjectCaches', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* You can submit a maximum of 2,000 requests to refresh resources based on URLs and 100 requests to refresh resources based on directories each day by using an Alibaba Cloud account.'."\n" + ."\n" + .'* You can call the [RefreshVodObjectCaches](~~69215~~) operation to refresh content and the [PreloadVodObjectCaches](~~69211~~) operation to prefetch content.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| Throttling | Request was denied due to request throttling. | 503 | The error message returned because the request was denied due to throttling. |'."\n" + .'| IllegalOperation | Illegal domain operate is not permitted. | 403 | The error message returned because the domain name is invalid. |'."\n" + .'| OperationDenied | Your account does not open VOD service yet. | 403 | The error message returned because ApsaraVideo VOD has not been activated for your Alibaba Cloud account. |'."\n" + .'| OperationDenied.Suspended | Your VOD service is suspended. | 403 | The error message returned because your Alibaba Cloud account has overdue payments. Add funds to your account. |'."\n" + .'| InvalidDomain.NotFound | The domain provided does not belong to you. | 404 | The error message returned because the domain name does not exist or does not belong to you. |'."\n" + .'| InvalidDomain.Offline | The domain provided is offline. | 404 | The error message returned because the domain name has been disabled. |'."\n" + .'| QuotaExceeded.Refresh | You’ve exceeded the prescribed refresh limits. | 400 | The error message returned because the number of requests to refresh or prefetch the content exceeds the upper limit on the current day. |'."\n" + .'| ServiceBusy | The specified Domain is configuring, please retry later. | 403 | The error message returned because the domain name is being configured. Try again later. |'."\n" + .'| InvalidDomain.Configure_failed | Failed to configure the provided domain. | 500 | The error message returned because the system failed to configure the domain name and cannot refresh or prefetch the content. |'."\n" + .'| MissingParameter | The input parameter “ObjectPath” that is mandatory for processing this request is not supplied. | 400 | The error message returned because the ObjectPath parameter is not specified. |'."\n" + .'| InvalidObjectType.ValueNotSupported | The specified value of "" is not supported. | 400 | The error message returned because the value of the ObjectType parameter is invalid. |'."\n" + .'| InvalidObjectPath.Malformed | The specific value of parameter ObjectPath is malformed. | 400 | The error message returned because the value of the ObjectPath parameter is in an invalid format. |'."\n" + .'| InvalidExtensiveDomain.ValueNotSupported | Extensive domain not supported. | 400 | The error message returned because the domain name contains a wildcard character. |'."\n" + .'| QuotaPerMinuteExceeded.Refresh | You’ve exceeded the prescribed refresh limits per minute. | 400 | The error message returned because the number of requests to refresh the content exceeds the upper limit per minute. |', + ], + 'RefreshMediaPlayUrls' => [ + 'summary' => 'Submits media refresh or prefetch tasks based on the media IDs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'MediaIds', + 'in' => 'query', + 'schema' => [ + 'title' => '媒资ID列表', + 'description' => 'The IDs of the media files that you want to refresh or prefetch. You can specify a maximum of 20 IDs. Separate multiple IDs with commas (,). You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD](https://vod.console.aliyun.com) console. In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the Video and Audio page, view the ID of the audio or video file. This method is applicable to files that are uploaded by using the ApsaraVideo VOD console.'."\n" + .'* Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload media files.'."\n" + .'* Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation that you call to query the media ID after the media file is uploaded.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ca3a8f6e4957b658067095869****, a6e49sfgd23p5g9ja7095863****', + ], + ], + [ + 'name' => 'TaskType', + 'in' => 'query', + 'schema' => [ + 'title' => 'Refresh: 刷新。Preload: 预热', + 'description' => 'The type of the task that you want to create. Valid values:'."\n" + ."\n" + .'* **Refresh**'."\n" + .'* **Preload**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Preload', + ], + ], + [ + 'name' => 'Formats', + 'in' => 'query', + 'schema' => [ + 'title' => '播放流格式', + 'description' => 'The formats of the media streams you want to refresh or prefetch. You can specify multiple formats. Separate multiple formats with commas (,). If you leave this parameter empty, media streams in all formats are refreshed or prefetched by default. Valid values:'."\n" + ."\n" + .'* **mp4**'."\n" + .'* **m3u8**'."\n" + .'* **mp3**'."\n" + .'* **flv**'."\n" + .'* **webm**'."\n" + .'* **ts**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mp4,m3u8', + ], + ], + [ + 'name' => 'Definitions', + 'in' => 'query', + 'schema' => [ + 'title' => '播放流清晰度', + 'description' => 'Specifies the resolutions of the media streams you want to refresh or prefetch. You can specify multiple resolutions. Separate multiple resolutions with commas (,). If you leave this parameter empty, media streams in all resolutions are refreshed or prefetched by default.'."\n" + ."\n" + .'> The value must be supported in the **Definition** section in [Parameters for media assets](~~124671~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HD, SD', + ], + ], + [ + 'name' => 'StreamType', + 'in' => 'query', + 'schema' => [ + 'title' => '播放流类型:视频或音频', + 'description' => 'Specifies the types of media streams you want to refresh or prefetch. You can specify multiple types. Separate multiple types with commas (,). If you leave this parameter empty, media streams in all types are refreshed or prefetched by default. Valid values:'."\n" + ."\n" + .'* **video**'."\n" + .'* **audio**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'video', + ], + ], + [ + 'name' => 'ResultType', + 'in' => 'query', + 'schema' => [ + 'title' => '结果类型:Single或Multiple', + 'description' => 'Specifies the type of the refresh or prefetch operation. Default value: Single. Valid values:'."\n" + ."\n" + .'* **Single**: Only one latest transcoded stream is refreshed or prefetched for each resolution and format.'."\n" + .'* **Multiple**: All transcoded streams are refreshed or prefetched for each resolution and format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Single', + ], + ], + [ + 'name' => 'SliceFlag', + 'in' => 'query', + 'schema' => [ + 'title' => 'M3U8文件是否获取ts链接', + 'description' => 'Specifies whether to refresh or prefetch the playback URLs of the TS files of the M3U8 media stream. Default value: false. Valid values:'."\n" + ."\n" + .'* **false**'."\n" + .'* **true**'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'SliceCount', + 'in' => 'query', + 'schema' => [ + 'title' => 'M3U8文件的ts链接数量', + 'description' => 'Specifies the number of the playback URLs of the TS files for the M3U8 media stream you want to refresh or prefetch. After you set this parameter, only the playback URLs of the first N TS files will be refreshed or prefetched. Valid values: 1 to 20. Default value: 5.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => [ + 'title' => '回调设置', + 'description' => 'The custom configurations such as callback configurations and upload acceleration configurations. The value must be a JSON string. For more information, see the "UserData: specifies the custom configurations for media upload" section in the [Request parameter](~~86952~~) topic.'."\n" + ."\n" + .'>* The callback configurations take effect only after you specify the HTTP callback URL and select specific callback events in the ApsaraVideo VOD console. For more information about how to configure HTTP callback settings in the ApsaraVideo VOD console, see [Configure callback settings](~~86071~~).'."\n" + .'>* To enable the upload acceleration feature, submit a ticket. For more information, see [Overview](~~55396~~). For more information about how to submit a ticket, see [Contact us](~~464625~~).', + 'type' => 'string', + 'required' => false, + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"}, "Extend":{"localId":"xxx","test":"www"}}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'MediaRefreshJobId' => [ + 'title' => '刷新预热任务ID', + 'description' => 'The ID of the refresh or prefetch task.'."\n", + 'type' => 'string', + 'example' => '41d465e31957****', + ], + 'NonExistMediaIds' => [ + 'title' => '不存在的媒资ID', + 'description' => 'The IDs of the media files that do not exist.'."\n", + 'type' => 'string', + 'example' => 'ca3a8f6e4957b658067095869****', + ], + 'ForbiddenMediaIds' => [ + 'title' => '没有多应用权限的视频ID', + 'description' => 'The IDs of the media files that cannot be operated on. In most cases, media files cannot be operated on because you are not authorized to perform the operations. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'example' => 'a6e49sfgd23p5g9ja7095863****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-04D5-D7393642****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"MediaRefreshJobId\\": \\"41d465e31957****\\",\\n \\"NonExistMediaIds\\": \\"ca3a8f6e4957b658067095869****\\",\\n \\"ForbiddenMediaIds\\": \\"a6e49sfgd23p5g9ja7095863****\\",\\n \\"RequestId\\": \\"25818875-5F78-4AF6-04D5-D7393642****\\"\\n}","errorExample":""},{"type":"xml","example":"<RefreshMediaPlayUrlsResponse>\\n <MediaRefreshJobId>41d465e31957****</MediaRefreshJobId>\\n <NonExistMediaIds>ca3a8f6e4957b658067095869****</NonExistMediaIds>\\n <ForbiddenMediaIds>a6e49sfgd23p5g9ja7095863****</ForbiddenMediaIds>\\n <RequestId>25818875-5F78-4AF6-04D5-D7393642****</RequestId>\\n</RefreshMediaPlayUrlsResponse>","errorExample":""}]', + 'title' => 'RefreshMediaPlayUrls', + 'description' => '* ApsaraVideo VOD allows you to purge and prefetch resources. The purge feature forces the point of presence (POP) to clear cached resources and retrieve the latest resources from origin servers. The prefetch feature allows the POP to retrieve frequently accessed resources from origin servers during off-peak hours. This increases the cache hit ratio.'."\n" + .'* You can call this operation to submit purge or prefetch tasks based on the media ID. You can also specify the format and resolution of the media streams to purge or prefetch based on your business requirements.'."\n" + .'* You can submit a maximum of 20 purge or prefetch tasks at a time.', + ], + 'GetMediaRefreshJobs' => [ + 'summary' => 'Queries the information about media refresh or prefetch jobs, such as the job status and filtering conditions.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'MediaRefreshJobId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the refresh or prefetch job. It is the value of the MediaRefreshJobId parameter that is returned from the call to the [RefreshMediaPlayUrls](~~RefreshMediaPlayUrls~~) operation.'."\n", + 'example' => '41d465e31957****', + 'required' => true, + 'title' => '媒资刷新预热任务ID', + 'type' => 'string', + ], + ], + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file. It is the value of the `MediaIds` parameter that you specify when you call the [RefreshMediaPlayUrls](~~RefreshMediaPlayUrls~~) operation. You can specify only one media ID.'."\n" + ."\n" + .'If you leave this parameter empty, information about all media files in the refresh or prefetch job specified by `MediaRefreshJobId` is returned. If you set this parameter, only the information about the specified media file is returned.``'."\n", + 'example' => 'ca3a8f6e4957b658067095869****', + 'required' => false, + 'title' => '媒资ID', + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + 'type' => 'string', + ], + 'MediaRefreshJobs' => [ + 'description' => 'The media refresh or prefetch jobs.'."\n", + 'items' => [ + 'description' => 'The information about the media refresh or prefetch job.'."\n", + 'properties' => [ + 'MediaRefreshJobId' => [ + 'description' => 'The ID of the job.'."\n", + 'example' => '41d465e31957****', + 'type' => 'string', + ], + 'MediaId' => [ + 'description' => 'The ID of the media file.'."\n", + 'example' => 'ca3a8f6e4957b658067095869****', + 'type' => 'string', + ], + 'TaskType' => [ + 'description' => 'The type of the job. Valid values:'."\n" + ."\n" + .'* **Refresh**'."\n" + .'* **Preload**'."\n", + 'example' => 'Preload', + 'type' => 'string', + ], + 'FilterPolicy' => [ + 'description' => 'The filtering conditions for stream playback. The value is a JSON string. This parameter is used as a request parameter of the [RefreshMediaPlayUrls](~~RefreshMediaPlayUrls~~) operation.'."\n", + 'example' => '{"Formats":"mp4,m3u8", "Definitions":"HD,SD", " StreamType":"video", "ResultType":"Single", " SliceFlag":false, "SliceCount": 3}', + 'type' => 'string', + ], + 'Status' => [ + 'description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'* **success**'."\n" + .'* **fail**'."\n", + 'example' => 'success', + 'type' => 'string', + ], + 'SuccessPlayUrls' => [ + 'description' => 'The playback URLs that were refreshed or prefetched.'."\n", + 'example' => 'https://shenzhen.****.aliyuncdn.com/74401a4f546007bf845cd8840****.m3u8,https://shenzhen.****.aliyuncdn.com/24041e7d13582d86604d8****.m3u8', + 'type' => 'string', + ], + 'TaskIds' => [ + 'description' => 'The IDs of the refresh or prefetch tasks for the playback URLs of media files. Only one URL can be refreshed or prefetched in a task. This value is used in the [DescribeVodRefreshTasks](~~DescribeVodRefreshTasks~~) operation, which queries the status of refresh or prefetch tasks for playback URLs of media files.'."\n", + 'example' => '70422****,9524****', + 'type' => 'string', + ], + 'ErrorCode' => [ + 'description' => 'The error code. This parameter is returned if the refresh or prefetch task fails.'."\n", + 'example' => 'PreloadQueueFull', + 'type' => 'string', + ], + 'ErrorMessage' => [ + 'description' => 'The error message. This parameter is returned if the refresh or prefetch task fails.'."\n", + 'example' => 'Preload queue is full, please try again later!', + 'type' => 'string', + ], + 'UserData' => [ + 'description' => 'The user data that you passed when you submit a refresh or prefetch task.'."\n", + 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"}, "Extend":{"localId":"xxx","test":"www"}}', + 'type' => 'string', + ], + 'GmtCreate' => [ + 'description' => 'The time when the task was created.'."\n", + 'example' => '2022-05-20T08:23:22Z', + 'type' => 'string', + ], + 'GmtModified' => [ + 'description' => 'The time when the task was modified.'."\n", + 'example' => '2022-05-21T08:23:22Z', + 'type' => 'string', + ], + ], + 'type' => 'object', + ], + 'type' => 'array', + ], + ], + 'type' => 'object', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"MediaRefreshJobs\\": [\\n {\\n \\"MediaRefreshJobId\\": \\"41d465e31957****\\",\\n \\"MediaId\\": \\"ca3a8f6e4957b658067095869****\\",\\n \\"TaskType\\": \\"Preload\\",\\n \\"FilterPolicy\\": \\"{\\\\\\"Formats\\\\\\":\\\\\\"mp4,m3u8\\\\\\", \\\\\\"Definitions\\\\\\":\\\\\\"HD,SD\\\\\\", \\\\\\" StreamType\\\\\\":\\\\\\"video\\\\\\", \\\\\\"ResultType\\\\\\":\\\\\\"Single\\\\\\", \\\\\\" SliceFlag\\\\\\":false, \\\\\\"SliceCount\\\\\\": 3}\\",\\n \\"Status\\": \\"success\\",\\n \\"SuccessPlayUrls\\": \\"https://shenzhen.****.aliyuncdn.com/74401a4f546007bf845cd8840****.m3u8,https://shenzhen.****.aliyuncdn.com/24041e7d13582d86604d8****.m3u8\\",\\n \\"TaskIds\\": \\"70422****,9524****\\",\\n \\"ErrorCode\\": \\"PreloadQueueFull\\",\\n \\"ErrorMessage\\": \\"Preload queue is full, please try again later!\\",\\n \\"UserData\\": \\"{\\\\\\"MessageCallback\\\\\\":{\\\\\\"CallbackURL\\\\\\":\\\\\\"http://example.aliyundoc.com\\\\\\"}, \\\\\\"Extend\\\\\\":{\\\\\\"localId\\\\\\":\\\\\\"xxx\\\\\\",\\\\\\"test\\\\\\":\\\\\\"www\\\\\\"}}\\",\\n \\"GmtCreate\\": \\"2022-05-20 08:23:22\\",\\n \\"GmtModified\\": \\"2022-05-21 08:23:22\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetMediaRefreshJobsResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n <MediaRefreshJobs>\\n <MediaRefreshJobId>41d465e31957****</MediaRefreshJobId>\\n <MediaId>ca3a8f6e4957b658067095869****</MediaId>\\n <TaskType>Preload</TaskType>\\n <FilterPolicy>{\\"Formats\\":\\"mp4,m3u8\\", \\"Definitions\\":\\"HD,SD\\", \\" StreamType\\":\\"video\\", \\"ResultType\\":\\"Single\\", \\" SliceFlag\\":false, \\"SliceCount\\": 3}</FilterPolicy>\\n <Status>success</Status>\\n <SuccessPlayUrls>https://shenzhen.****.aliyuncdn.com/74401a4f546007bf845cd8840****.m3u8,https://shenzhen.****.aliyuncdn.com/24041e7d13582d86604d8****.m3u8</SuccessPlayUrls>\\n <TaskIds>70422****,9524****</TaskIds>\\n <UserData>{\\"MessageCallback\\":{\\"CallbackURL\\":\\"http://example.aliyundoc.com\\"}, \\"Extend\\":{\\"localId\\":\\"xxx\\",\\"test\\":\\"www\\"}}</UserData>\\n <GmtCreate>2022-05-20T08:23:22Z</GmtCreate>\\n <GmtModified>2022-05-21T08:23:22Z</GmtModified>\\n </MediaRefreshJobs>\\n</GetMediaRefreshJobsResponse>","errorExample":""}]', + 'description' => 'You can query the information about all media files or a specific media file in a refresh or prefetch job.'."\n" + ."\n" + .'### QPS limits'."\n" + ."\n" + .'You can call this operation up to 50 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits on API operations in ApsaraVideo VoD](~~342790~~).', + 'title' => 'GetMediaRefreshJobs', + ], + 'DescribeVodDomainLog' => [ + 'summary' => 'Queries the information about the CDN access logs for a domain name, including the log path.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39884', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name for CDN.'."\n" + ."\n" + .'> You can specify only one domain name in each query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n" + ."\n" + .'* Default value: **300**.'."\n" + .'* Valid values: **1 to 1000**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '1000', + 'minimum' => '1', + 'example' => '300', + 'default' => '300', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2016-10-20T04:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. The maximum time range that can be specified is one year. Specify the time in the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2016-10-20T05:00:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '077D0284-F041-4A41-4D3C-B48377FD****', + ], + 'DomainLogDetails' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainLogDetail' => [ + 'description' => 'The details of CDN logs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The detailed data of Alibaba Cloud CDN logs.', + 'type' => 'object', + 'properties' => [ + 'LogCount' => [ + 'description' => 'The total number of entries returned on the current page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'DomainName' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'LogInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LogInfoDetail' => [ + 'description' => 'The queried CDN logs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The detailed information about Alibaba Cloud CDN logs.', + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range during which data was queried. The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-05-31T05:00:00Z', + ], + 'LogSize' => [ + 'description' => 'The size of the log file.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2645401', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range during which data was queried. The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-05-31T04:00:00Z', + ], + 'LogName' => [ + 'description' => 'The name of the log file.'."\n", + 'type' => 'string', + 'example' => 'example.com_2018_03_25_180000_19****.gz', + ], + 'LogPath' => [ + 'description' => 'The path of the log file.'."\n", + 'type' => 'string', + 'example' => 'example.com/2018_03_25/example.com_2018_03_25_180000_19****.gz?Expires=1522659931&OSSAccessKeyId=****&Signature=****', + ], + ], + ], + ], + ], + ], + 'PageInfos' => [ + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '300', + ], + 'Total' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'InvalidTime.ValueNotSupported', + 'errorMessage' => 'StartTime or EndTime is miss match.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter \\ is not valid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"077D0284-F041-4A41-4D3C-B48377FD****\\",\\n \\"DomainLogDetails\\": {\\n \\"DomainLogDetail\\": [\\n {\\n \\"LogCount\\": 2,\\n \\"DomainName\\": \\"example.com\\",\\n \\"LogInfos\\": {\\n \\"LogInfoDetail\\": [\\n {\\n \\"EndTime\\": \\"2018-05-31T05:00:00Z\\",\\n \\"LogSize\\": 2645401,\\n \\"StartTime\\": \\"2018-05-31T04:00:00Z\\",\\n \\"LogName\\": \\"example.com_2018_03_25_180000_19****.gz\\",\\n \\"LogPath\\": \\"example.com/2018_03_25/example.com_2018_03_25_180000_19****.gz?Expires=1522659931&OSSAccessKeyId=****&Signature=****\\"\\n }\\n ]\\n },\\n \\"PageInfos\\": {\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 300,\\n \\"Total\\": 2\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodDomainLogResponse>\\n <RequestId>077D0284-F041-4A41-4D3C-B48377FD****</RequestId>\\n <DomainLogDetails>\\n <LogCount>2</LogCount>\\n <DomainName>example.com</DomainName>\\n <LogInfos>\\n <EndTime>2018-05-31T05:00:00Z</EndTime>\\n <LogSize>2645401</LogSize>\\n <StartTime>2018-05-31T04:00:00Z</StartTime>\\n <LogName>example.com_2018_03_25_180000_19****.gz</LogName>\\n <LogPath>example.com/2018_03_25/example.com_2018_03_25_180000_19****.gz?Expires=1522659931&OSSAccessKeyId=****&Signature=****</LogPath>\\n </LogInfos>\\n <PageInfos>\\n <PageNumber>1</PageNumber>\\n <PageSize>300</PageSize>\\n <Total>2</Total>\\n </PageInfos>\\n </DomainLogDetails>\\n</DescribeVodDomainLogResponse>","errorExample":""}]', + 'title' => 'DescribeVodDomainLog', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* For more information about the log format and latency, see [Download logs](~~86099~~).'."\n" + .'* If you specify neither the StartTime parameter nor the EndTime parameter, the log data in the last 24 hours is queried.'."\n" + .'* You can specify both the StartTime and EndTime parameters to query the log data that is generated in the specified time range.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GenerateKMSDataKey' => [ + 'summary' => 'Generates a random Key Management Service (KMS) data key used for HLS encryption in ApsaraVideo VOD.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '144169', + 'abilityTreeNodes' => [ + 'FEATUREvodMVRCEC', + ], + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'KeyId' => [ + 'description' => 'The ID of the customer master key (CMK). The ID must be globally unique.'."\n", + 'type' => 'string', + 'example' => '7906979c-8e06-46a2-be2d-68e3ccbc****', + ], + 'CiphertextBlob' => [ + 'description' => 'The ciphertext of the encrypted data key. This is used as CipherText when you create a transcoding job.'."\n", + 'type' => 'string', + 'example' => 'ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****', + ], + 'Plaintext' => [ + 'description' => 'The Base64-encoded plaintext of the data key.'."\n", + 'type' => 'string', + 'example' => 'QmFzZTY0IGVuY29kZWQgcGxhaW50****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'EntityNotExist.Role', + 'errorMessage' => 'AliyunVODDefaultRole is not authorized by your account.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"KeyId\\": \\"7906979c-8e06-46a2-be2d-68e3ccbc****\\",\\n \\"CiphertextBlob\\": \\"ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****\\",\\n \\"Plaintext\\": \\"QmFzZTY0IGVuY29kZWQgcGxhaW50****\\"\\n}","type":"json"}]', + 'title' => 'GenerateKMSDataKey', + ], + 'DecryptKMSDataKey' => [ + 'summary' => 'Decrypts the ciphertext specified by CiphertextBlob in the Key Management Service (KMS) data key.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '146055', + 'abilityTreeNodes' => [ + 'FEATUREvodMVRCEC', + ], + ], + 'parameters' => [ + [ + 'name' => 'CipherText', + 'in' => 'query', + 'schema' => [ + 'title' => '待解密的密文。', + 'description' => 'The ciphertext to be decrypted.', + 'type' => 'string', + 'required' => true, + 'example' => 'DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'KeyId' => [ + 'description' => 'The ID of the customer master key (CMK) that was used to decrypt the ciphertext.'."\n", + 'type' => 'string', + 'example' => '202b9877-5a25-46e3-a763-e20791b5****', + ], + 'Plaintext' => [ + 'description' => 'The plaintext that is generated after decryption.'."\n", + 'type' => 'string', + 'example' => 'tRYXuCwgja12xxO1N/gZERDDCLw9doZEQiPDk/Bv****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'EntityNotExist.Role', + 'errorMessage' => 'AliyunVODDefaultRole is not authorized by your account.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"KeyId\\": \\"202b9877-5a25-46e3-a763-e20791b5****\\",\\n \\"Plaintext\\": \\"tRYXuCwgja12xxO1N/gZERDDCLw9doZEQiPDk/Bv****\\"\\n}","type":"json"}]', + 'title' => 'DecryptKMSDataKey', + ], + 'SubmitDigitalWatermarkExtractJob' => [ + 'summary' => 'Submits a digital watermark extraction job. You can call this operation to asynchronously extract a copyright watermark or user-tracing watermark.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video from which you want to extract the watermark. You can specify only one ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video** to view the video ID.'."\n" + .'* Obtain the VideoId from the response to the [SearchMedia](~~SearchMedia~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '0222e203cf80f9c22870a4d2c****', + ], + ], + [ + 'name' => 'ExtractType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the watermark that you want to extract. Valid values:'."\n" + ."\n" + .'* **TraceMark**: user-tracing watermark'."\n" + .'* **CopyrightMark**: copyright watermark'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TraceMark', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the watermark extraction job.'."\n", + 'type' => 'string', + 'example' => 'ad90a501b1b9472374ad005046****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-****-6C044FE73368', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"ad90a501b1b9472374ad005046****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-****-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'SubmitDigitalWatermarkExtractJob', + 'description' => '* **Make sure that you understand the billing methods and price of ApsaraVideo VOD before you call this operation. You are charged for generating and extracting digital watermarks. For more information, see [Billing](~~188310#62b9c940403se~~).**'."\n" + ."\n" + .'* This operation is supported only in the **China (Shanghai)** and **China (Beijing)** regions.'."\n" + ."\n" + .'* Before you submit a digital watermark extraction job, make sure that the following conditions are met:'."\n" + ."\n" + .' * The video from which you want to extract the watermark is uploaded to the ApsaraVideo VOD.'."\n" + .' * The video from which you want to extract the watermark is longer than 6 minutes.'."\n", + ], + 'GetDigitalWatermarkExtractResult' => [ + 'summary' => 'Queries the results of a digital watermark extraction job. You can call this operation to obtain information such as the job status and the content of the copyright or user-tracing watermark.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video from which you want to query the watermark content. You can specify only one ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video** to view the video ID.'."\n" + .'* Obtain the VideoId from the response to the [SearchMedia](~~SearchMedia~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '93ab850b4f6f54b6e91d24d81d4****', + ], + ], + [ + 'name' => 'ExtractType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the watermark. Valid values:'."\n" + ."\n" + .'* **TraceMark**: user-tracing watermark'."\n" + .'* **CopyrightMark**: copyright watermark'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'TraceMark', + ], + ], + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the watermark extraction job.'."\n" + ."\n" + .'* You can obtain the ID from the response to the [SubmitDigitalWatermarkExtractJob](~~SubmitDigitalWatermarkExtractJob~~) operation.'."\n" + .'* If you specify this parameter, the result of the specified watermark extraction job is returned. If you leave this parameter empty, the results of all watermark extraction jobs submitted for the video are returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2bf4390af9e5491c09cc720ad****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '42E0554B-80F4-4921-****-ACFB22CAAAD0', + ], + 'AiExtractResultList' => [ + 'description' => 'The details of the watermark extraction job.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'JobId' => [ + 'description' => 'The ID of the watermark extraction job.'."\n", + 'type' => 'string', + 'example' => '3af004763bcf459698860f4ede20****', + ], + 'CreateTime' => [ + 'description' => 'The time when the watermark extraction job was created.'."\n", + 'type' => 'string', + 'example' => '2023-09-16T02:49:04Z', + ], + 'ModifyTime' => [ + 'description' => 'The time when the watermark extraction job was last updated.'."\n", + 'type' => 'string', + 'example' => '2023-09-17T06:20:45Z', + ], + 'Status' => [ + 'description' => 'The status of the watermark extraction job. Valid values:'."\n" + ."\n" + .'* **Success**'."\n" + .'* **Failed**'."\n" + .'* **Processing**'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'ErrorMessage' => [ + 'description' => 'The error message.'."\n", + 'type' => 'string', + 'example' => 'successful', + ], + 'WaterMarkText' => [ + 'description' => 'The extracted watermark content.'."\n", + 'type' => 'string', + 'example' => 'test mark', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42E0554B-80F4-4921-****-ACFB22CAAAD0\\",\\n \\"AiExtractResultList\\": [\\n {\\n \\"JobId\\": \\"3af004763bcf459698860f4ede20****\\",\\n \\"CreateTime\\": \\"2023-09-16T02:49:04Z\\",\\n \\"ModifyTime\\": \\"2023-09-17T06:20:45Z\\",\\n \\"Status\\": \\"Failed\\",\\n \\"ErrorMessage\\": \\"query copyright info err\\",\\n \\"WaterMarkText\\": \\"test mark\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetDigitalWatermarkExtractResult', + 'description' => '* This operation is supported only in the China (Shanghai) and China (Beijing) regions.'."\n" + .'* You can call this operation to query the watermark content after you call the [SubmitDigitalWatermarkExtractJob](~~SubmitDigitalWatermarkExtractJob~~) operation to extract the copyright or user-tracing watermark in a video.'."\n" + .'* You can query watermark content extracted only from watermark extraction jobs that are submitted in the last 2 years.'."\n", + ], + 'GenerateDownloadSecretKey' => [ + 'summary' => 'Generates a key for secure download. ApsaraVideo Player SDK provides the secure download feature. Videos that are downloaded to your local device in this mode are encrypted. You can play the encrypted videos only by using the key file generated from the app that you specified. Secure download protects your videos from malicious playback or distribution.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39929', + 'abilityTreeNodes' => [ + 'FEATUREvodU0GZW5', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppIdentification', + 'in' => 'query', + 'schema' => [ + 'description' => 'The unique identifier of the app.'."\n" + ."\n" + .'* Android: the SHA-1 fingerprint of the keystore. The value is a string that contains a colon (:).'."\n" + .'* iOS: the bundle ID of the app.'."\n" + .'* Windows: the serial number in the digital signature certificate.'."\n" + ."\n" + .'For more information about how to obtain the unique identifier of an app, see [Obtain the unique app identifier](~~86107#section-wtj-9d7-lg2~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'BB:0D:AC:74:D3:21:09:EF:9C:71:1A:5E:77:2C:8E:BF:03:FD:FA:5A'."\n", + ], + ], + [ + 'name' => 'AppDecryptKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'A custom string of 16 to 32 characters in length. The string must contain uppercase letters, lowercase letters, and digits.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'AppDecryptKeyAndroid20230101', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AppEncryptKey' => [ + 'description' => 'The key file for secure download.'."\n", + 'type' => 'string', + 'example' => '***', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E99B9BAD-7F9D-552B-A689-B72E92EA040E', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AppEncryptKey\\": \\"***\\",\\n \\"RequestId\\": \\"E99B9BAD-7F9D-552B-A689-B72E92EA040E\\"\\n}","type":"json"}]', + 'title' => 'GenerateDownloadSecretKey', + 'description' => '* To use the secure download feature, you must enable the download feature in the ApsaraVideo VOD console and set the download method to secure download. For more information, see [Configure download settings](~~86107~~).'."\n" + .'* After you generate a key for secure download, you must configure the key in ApsaraVideo Player SDK. For more information, see [Secure download](~~124735~~).'."\n", + ], + 'DescribeVodDomainUsageData' => [ + 'summary' => 'Queries the traffic or bandwidth data of one or more accelerated domain names.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39904', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name. If you leave this parameter empty, the merged data of all your accelerated domain names is returned. Separate multiple accelerated domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2015-12-10T10:20:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2015-12-10T12:20:00Z', + ], + ], + [ + 'name' => 'Field', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the data to return. Valid values:'."\n" + ."\n" + .'* **bps**: bandwidth'."\n" + .'* **traf**: traffic'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'bps', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of content that you want to query. Valid values:'."\n" + ."\n" + .'* **static**: static content'."\n" + .'* **dynamic**: dynamic requests'."\n" + .'* **all**: all content'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'static', + ], + ], + [ + 'name' => 'Area', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The region in which you want to query data. Valid values:'."\n" + ."\n" + .'* **CN**: Chinese mainland'."\n" + .'* **OverSeas**: outside the Chinese mainland'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CN', + 'default' => 'CN', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time interval between the data entries to return. Unit: seconds. Valid values: **300** (5 minutes), **3600** (1 hour), and **86400** (1 day).'."\n" + ."\n" + .'* If **Interval** is set to **300**, you can query usage data in the last six months. The maximum time range per query that can be specified is three days.'."\n" + .'* If **Interval** is set to **3600** or **86400**, you can query usage data of the previous year.'."\n" + .'* If you do not set the **Interval** parameter, the maximum time range that you can query is one month. If you specify a time range of 1 to 3 days, the time interval between the entries that are returned is 1 hour. If you specify a time range of at least 4 days, the time interval between the entries that are returned is 1 day.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => [ + 'description' => 'The end of the time range during which data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-12-10T12:20:00Z', + ], + 'Type' => [ + 'description' => 'The type of the data. Valid values:'."\n" + ."\n" + .'* **bps**: bandwidth'."\n" + .'* **traf**: traffic'."\n", + 'type' => 'string', + 'example' => 'static', + ], + 'StartTime' => [ + 'description' => 'The start of the time range during which data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-12-10T10:20:00Z', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'B955107D-E658-4E77-****-E0AC3D31693E', + ], + 'Area' => [ + 'description' => 'The billable region where the data was collected.'."\n", + 'type' => 'string', + 'example' => 'CN', + ], + 'DomainName' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'DataInterval' => [ + 'description' => 'The time interval between the entries returned. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '300', + ], + 'UsageDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The traffic or bandwidth data returned at each interval.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The traffic or bandwidth data. Unit: bit/s.'."\n", + 'type' => 'string', + 'example' => '2592.3920000000003', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-12-10T10:00:00Z', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is not valid.', + ], + [ + 'errorCode' => 'InvalidParameterProduct', + 'errorMessage' => 'The specified parameter Product is invalid.', + ], + [ + 'errorCode' => 'InvalidParameterArea', + 'errorMessage' => 'The specified parameter Area is invalid.', + ], + [ + 'errorCode' => 'InvalidParameterField', + 'errorMessage' => 'The specified parameter Field is invalid.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'StartTime or EndTime is mismatch.', + ], + [ + 'errorCode' => 'InvalidParameterInterval', + 'errorMessage' => 'The specified Interval is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T12:20:00Z\\",\\n \\"Type\\": \\"bps\\",\\n \\"StartTime\\": \\"2015-12-10T10:20:00Z\\",\\n \\"RequestId\\": \\"B955107D-E658-4E77-****-E0AC3D31693E\\",\\n \\"Area\\": \\"CN\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"UsageDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"2592.3920000000003\\",\\n \\"TimeStamp\\": \\"2015-12-10T10:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodDomainUsageDataResponse>\\n <RequestId>B955107D-E658-4E77-****-E0AC3D31693E</RequestId>\\n <StartTime>2015-12-10T10:20:00Z</StartTime>\\n <EndTime>2015-12-10T12:21:00Z</EndTime>\\n <Area>CN</Area>\\n <Type>static</Type>\\n <DomainName>example.com</DomainName>\\n <DataInterval>300</DataInterval>\\n <UsageDataPerInterval>\\n <UsageData>\\n <TimeStamp>2015-12-10T11:00:00Z</TimeStamp>\\n <Value>2592.3920000000003</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2015-12-10T11:05:00Z</TimeStamp>\\n <Value>2592.3920000000003</Value>\\n </UsageData>\\n </UsageDataPerInterval>\\n</DescribeVodDomainUsageDataResponse>","errorExample":""}]', + 'title' => 'DescribeVodDomainUsageData', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* You can specify up to 100 accelerated domain names in a request. Separate multiple domain names with commas (,). If you do not specify an accelerated domain name, the data of all accelerated domain names within your Alibaba Cloud account is returned.'."\n" + ."\n" + .'* You can query data in the last year. The maximum time range that can be queried is three months. If you specify a time range of one to three days, the system returns data on an hourly basis. If you specify a time range of four days or more, the system returns data on a daily basis.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|Throttling|Request was denied due to request throttling.|503|The error message returned because the request was denied due to throttling.|'."\n" + .'|IllegalOperation|Illegal domain, operation is not permitted.|403|The error message returned because the domain name is invalid.|'."\n" + .'|OperationDenied|Your account does not open CDN service yet.|403|The error message returned because Alibaba Cloud CDN is not activated for your Alibaba Cloud account.|'."\n" + .'|OperationDenied|Your CDN service is suspended.|403|The error message returned because Alibaba Cloud CDN is suspended for your Alibaba Cloud account.|'."\n" + .'|InvalidDomain.NotFound|The domain provided does not belong to you.|404|The error message returned because the specified domain name does not exist or does not belong to the current account.|'."\n" + .'|InvalidDomain.Offline|The domain provided is offline.|404|The error message returned because the specified domain name is disabled.|'."\n" + .'|ServiceBusy|The specified Domain is configuring, please retry later.|403|The error message returned because the domain name is being configured. Try again later.|'."\n" + .'|InvalidDomain.Configure\\_failed|Failed to configure the provided domain.|500|The error message returned because the system failed to configure the domain name.|'."\n" + .'|InvalidParameter|Invalid Parameter.|400|The error message returned because one or more parameters are invalid.|'."\n" + .'|InvalidParameterProduct|Invalid Parameter Product.|400|The error message returned because the value of the Product parameter is invalid.|'."\n" + .'|InvalidParameterArea|Invalid Parameter Area.|400|The error message returned because the value of the Area parameter is invalid.|'."\n" + .'|InvalidParameterField|Invalid Parameter Field.|400|The error message returned because the value of the Field parameter is invalid.|'."\n" + .'|InvalidParameterStartTime|Invalid Parameter StartTime.|400|The error message returned because the value of the StartTime parameter is invalid.|'."\n" + .'|InvalidParameterEndTime|Invalid Parameter EndTime.|400|The error message returned because the value of the EndTime parameter is invalid.|'."\n" + .'|InvalidTimeRange|StartTime and EndTime range should less than 1 month.|400|The error message returned because the time range that is specified by the StartTime and EndTime parameters exceeds 31 days.|'."\n" + .'|InvalidParameterInterval|Invalid Parameter Interval.|400|The error message returned because the value of the Interval parameter is invalid.|.|', + ], + 'DescribeVodStorageData' => [ + 'summary' => 'Queries the usage of storage-related resources, including the storage volume and outbound traffic.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39912', + 'abilityTreeNodes' => [ + 'FEATUREvodUOYFRF', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-02-01T14:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-02-01T15:00:00Z', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region in which you want to query storage data. If you leave this parameter empty, data in all regions is returned. Separate multiple regions with commas (,). Valid values:'."\n" + ."\n" + .'* **cn-shanghai**: China (Shanghai)'."\n" + .'* **cn-beijing**: China (Beijing)'."\n" + .'* **eu-central-1**: Germany (Frankfurt)'."\n" + .'* **ap-southeast-1**: Singapore'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'StorageType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage class. Set the value to **OSS**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'OSS', + 'default' => 'OSS', + ], + ], + [ + 'name' => 'Storage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Object Storage Service (OSS) bucket. If you leave this parameter empty, data of all buckets is returned. Separate multiple transcoding specifications with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bucket', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. '."\n" + ."\n" + .'* Default value: **app-1000000**.', + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DataInterval' => [ + 'description' => 'The time granularity at which the data was queried. Valid values:'."\n" + ."\n" + .'* **hour**'."\n" + .'* **day**'."\n", + 'type' => 'string', + 'example' => 'day', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-****-9A87633D248E', + ], + 'StorageData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StorageDataItem' => [ + 'description' => 'The storage usage data returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-02-01T15:00:00Z', + ], + 'StorageUtilization' => [ + 'description' => 'The detailed usage data of storage-related resources. Unit: bytes.'."\n", + 'type' => 'string', + 'example' => '111111', + ], + 'NetworkOut' => [ + 'description' => 'The outbound traffic. Unit: bytes. The outbound traffic is generated when videos are directly downloaded or played from OSS buckets without Alibaba Cloud CDN acceleration.'."\n", + 'type' => 'string', + 'example' => '111111', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidParameterType', + 'errorMessage' => 'The specified Type is invalid.', + ], + [ + 'errorCode' => 'InvalidTimeSpan', + 'errorMessage' => 'The time span exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid input parameter.', + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'The specified Time is malformed.', + ], + [ + 'errorCode' => 'InvalidParameterInterval', + 'errorMessage' => 'The specified Interval is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataInterval\\": \\"day\\",\\n \\"RequestId\\": \\"C370DAF1-C838-4288-****-9A87633D248E\\",\\n \\"StorageData\\": {\\n \\"StorageDataItem\\": [\\n {\\n \\"TimeStamp\\": \\"2019-02-01T15:00:00Z\\",\\n \\"StorageUtilization\\": \\"111111\\",\\n \\"NetworkOut\\": \\"111111\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodStorageDataResponse>\\r\\n\\t<RequestId>C370DAF1-C838-4288-****-9A87633D248E</RequestId>\\r\\n\\t<DataInterval>day</DataInterval>\\r\\n\\t<StorageData>\\r\\n\\t\\t<StorageDataItem>\\r\\n\\t\\t\\t<StorageUtilization>111111</StorageUtilization>\\r\\n\\t\\t\\t<NetworkOut>111111</NetworkOut>\\r\\n\\t\\t\\t<TimeStamp>2019-02-01T15:00:00Z</TimeStamp>\\r\\n\\t\\t</StorageDataItem>\\r\\n\\t\\t<StorageDataItem>\\r\\n\\t\\t\\t<StorageUtilization>111111</StorageUtilization>\\r\\n\\t\\t\\t<NetworkOut>111111</NetworkOut>\\r\\n\\t\\t\\t<TimeStamp>2019-02-02T15:00:00Z</TimeStamp>\\r\\n\\t\\t</StorageDataItem>\\r\\n\\t</StorageData>\\r\\n</DescribeVodStorageDataResponse>","errorExample":""}]', + 'title' => 'DescribeVodStorageData', + 'description' => '> * This operation is available only in the **China (Shanghai)** region.'."\n" + .'>* If the time range to query is less than or equal to seven days, the system returns the statistics collected on an hourly basis. If the time range to query is greater than seven days, the system returns the statistics collected on a daily basis. The maximum time range that you can specify to query is 31 days.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|Throttling|Request was denied due to request throttling.|503|The error message returned because the request was denied due to throttling.|'."\n" + .'|OperationDenied|Your account does not open VOD service yet.|403|The error message returned because ApsaraVideo VOD is not activated for your Alibaba Cloud account.|'."\n" + .'|OperationDenied|Your VOD service is suspended.|403|The error message returned because ApsaraVideo VOD is suspended for your Alibaba Cloud account.|'."\n" + .'|InvalidParameter|Invalid Parameter.|400|The error message returned because one or more parameters are invalid.|'."\n" + .'|InvalidParameterAliUid|Invalid Parameter AliUid.|400|The error message returned because the value of the AliUid parameter is invalid.|'."\n" + .'|InvalidParameterStartTime|Invalid Parameter StartTime.|400|The error message returned because the value of the StartTime parameter is invalid.|'."\n" + .'|InvalidParameterEndTime|Invalid Parameter EndTime.|400|The error message returned because the value of the EndTime parameter is invalid.|'."\n" + .'|InvalidTimeRange|StartTime and EndTime range should less than 1 month.|400|The error message returned because the time range that is specified by the StartTime and EndTime parameters exceeds 31 days.|'."\n" + .'|InvalidParameterRegion|Invalid Parameter Region.|400|The error message returned because the value of the Region parameter is invalid.|', + ], + 'DescribeVodTranscodeData' => [ + 'summary' => 'Queries the transcoding statistics.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39915', + 'abilityTreeNodes' => [ + 'FEATUREvodJALMOJ', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-02-01T15:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-02-01T15:59:00Z', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region in which you want to query data. If you leave this parameter empty, data in all regions is returned. Separate multiple regions with commas (,). Valid values:'."\n" + ."\n" + .'* **cn-shanghai**: China (Shanghai)'."\n" + .'* **cn-beijing**: China (Beijing)'."\n" + .'* **eu-central-1**: Germany (Frankfurt)'."\n" + .'* **ap-southeast-1**: Singapore'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The interval at which you want to query data. Valid values:'."\n" + ."\n" + .'* **day**: days'."\n" + .'* **hour**: hours'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'day', + ], + ], + [ + 'name' => 'Storage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Object Storage Service (OSS) bucket. If you leave this parameter empty, data of all buckets is returned. Separate multiple bucket names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bucket01', + ], + ], + [ + 'name' => 'Specification', + 'in' => 'query', + 'schema' => [ + 'description' => 'The transcoding specification. If you leave this parameter empty, data of all transcoding specifications is returned. Separate multiple transcoding specifications with commas (,). Valid values:'."\n" + ."\n" + .'* **Audio**: audio transcoding'."\n" + .'* **Segmentation**: container format conversion'."\n" + .'* **H264.LD**, **H264.SD**, **H264.HD**, **H264.2K**, **H264.4K**, and more'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Audio', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. You can specify this parameter to query the transcoding statistics of a specific application. By default, the transcoding statistics of all applications is returned. You can obtain the application ID from the `AppId` parameter in the response to the [CreateAppInfo](~~CreateAppInfo~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DataInterval' => [ + 'description' => 'The interval at which the data was queried. Valid values:'."\n" + ."\n" + .'* **hour**'."\n" + .'* **day**'."\n", + 'type' => 'string', + 'example' => 'day', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-****-9A87633D248E', + ], + 'TranscodeData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TranscodeDataItem' => [ + 'description' => 'The transcoding statistics returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-02-01T16:00:00Z', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataItem' => [ + 'description' => 'The statistics on transcoding of different specifications.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The transcoding specification. Valid values:'."\n" + ."\n" + .'* **Audio**: audio transcoding'."\n" + .'* **Segmentation**: container format conversion'."\n" + .'* **H264.LD, H264.SD, H264.HD, H264.2K, H264.4K, and more**'."\n", + 'type' => 'string', + 'example' => 'H264.SD', + ], + 'Value' => [ + 'description' => 'The transcoding duration. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '111', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidParameterType', + 'errorMessage' => 'The specified Type is invalid.', + ], + [ + 'errorCode' => 'InvalidTimeSpan', + 'errorMessage' => 'The time span exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid input parameter.', + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'The specified Time is malformed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataInterval\\": \\"day\\",\\n \\"RequestId\\": \\"C370DAF1-C838-4288-****-9A87633D248E\\",\\n \\"TranscodeData\\": {\\n \\"TranscodeDataItem\\": [\\n {\\n \\"TimeStamp\\": \\"2019-02-01T16:00:00Z\\",\\n \\"Data\\": {\\n \\"DataItem\\": [\\n {\\n \\"Name\\": \\"H264.SD\\",\\n \\"Value\\": \\"111\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodTranscodeDataResponse>\\r\\n <RequestId>C370DAF1-C838-4288-****-9A87633D248E</RequestId>\\r\\n\\t<DataInterval>day</DataInterval>\\r\\n\\t<TranscodeData>\\r\\n\\t\\t<TranscodeDataItem>\\r\\n\\t\\t\\t<TimeStamp>2019-02-01T16:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Data>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>H264.SD</Name>\\r\\n\\t\\t\\t\\t\\t<Value>111</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>All</Name>\\r\\n\\t\\t\\t\\t\\t<Value>111</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t</Data>\\r\\n\\t\\t</TranscodeDataItem>\\r\\n\\t\\t<TranscodeDataItem>\\r\\n\\t\\t\\t<TimeStamp>2019-02-02T16:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Data>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>Audio</Name>\\r\\n\\t\\t\\t\\t\\t<Value>111</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>H264.SD</Name>\\r\\n\\t\\t\\t\\t\\t<Value>222</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>All</Name>\\r\\n\\t\\t\\t\\t\\t<Value>333</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t</Data>\\r\\n\\t\\t</TranscodeDataItem>\\r\\n\\t</TranscodeData>\\r\\n</DescribeVodTranscodeDataResponse>","errorExample":""}]', + 'title' => 'DescribeVodTranscodeData', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* If the time range to query is less than or equal to seven days, the system returns the statistics collected on an hourly basis. If the time range to query is greater than seven days, the system returns the statistics collected on a daily basis. The maximum time range that you can specify to query is 31 days.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|Throttling|Request was denied due to request throttling.|503|The error message returned because the request was denied due to throttling.|'."\n" + .'|OperationDenied|Your account does not open VOD service yet.|403|The error message returned because ApsaraVideo VOD is not activated for your Alibaba Cloud account.|'."\n" + .'|OperationDenied|Your VOD service is suspended.|403|The error message returned because ApsaraVideo VOD is suspended for your Alibaba Cloud account.|'."\n" + .'|InvalidParameter|Invalid Parameter.|400|The error message returned because one or more parameters are invalid.|'."\n" + .'|InvalidParameterAliUid|Invalid Parameter AliUid.|400|The error message returned because the value of the AliUid parameter is invalid.|'."\n" + .'|InvalidParameterStartTime|Invalid Parameter StartTime.|400|The error message returned because the value of the StartTime parameter is invalid.|'."\n" + .'|InvalidParameterEndTime|Invalid Parameter EndTime.|400|The error message returned because the value of the EndTime parameter is invalid.|'."\n" + .'|InvalidTimeRange|StartTime and EndTime range should less than 1 month.|400|The error message returned because the time range that is specified by the StartTime and EndTime parameters exceeds 31 days.|'."\n" + .'|InvalidParameterRegion|Invalid Parameter Region.|400|The error message returned because the value of the Region parameter is invalid.|', + ], + 'DescribeVodAIData' => [ + 'summary' => 'Queries the statistics on video AI of different types, such as automated review and media fingerprinting.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39873', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-02-01T13:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2019-02-01T15:00:00Z', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region in which you want to query data. If you leave this parameter empty, data in all regions is returned. Separate multiple regions with commas (,). Valid values:'."\n" + ."\n" + .'* **cn-shanghai**: China (Shanghai)'."\n" + .'* **cn-beijing**: China (Beijing)'."\n" + .'* **eu-central-1**: Germany (Frankfurt)'."\n" + .'* **ap-southeast-1**: Singapore'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'AIType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of video AI. If you leave this parameter empty, statistics on video AI of all types are returned. Separate multiple types with commas (,). Valid values:'."\n" + ."\n" + .'* **AIVideoCensor**: automated review'."\n" + .'* **AIVideoFPShot**: media fingerprinting'."\n" + .'* **AIVideoTag**: smart tagging'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AIVideoCensor', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'DataInterval' => [ + 'description' => 'The time granularity at which the data was queried. Valid values:'."\n" + ."\n" + .'* **hour**'."\n" + .'* **day**'."\n", + 'type' => 'string', + 'example' => 'day', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-****-9A87633D248E', + ], + 'AIData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AIDataItem' => [ + 'description' => 'The statistics on video AI.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-02-01T13:00:00Z', + ], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataItem' => [ + 'description' => 'The statistics on video AI of each type.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The type of video AI. Valid values:'."\n" + ."\n" + .'* **AIVideoCensor**: automated review'."\n" + .'* **AIVideoFPShot**: media fingerprinting'."\n" + .'* **AIVideoTag**: smart tagging'."\n", + 'type' => 'string', + 'example' => 'AIVideoCensor', + ], + 'Value' => [ + 'description' => 'The processing duration. Unit: seconds.'."\n", + 'type' => 'string', + 'example' => '111', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'InvalidParameter.', + ], + [ + 'errorCode' => 'InvalidParameterStartTime', + 'errorMessage' => 'Invalid Parameter StartTime.', + ], + [ + 'errorCode' => 'InvalidParameterEndTime', + 'errorMessage' => 'Invalid Parameter EndTime.', + ], + [ + 'errorCode' => 'InvalidTimeRange', + 'errorMessage' => 'Invalid StartTime and EndTime range.', + ], + [ + 'errorCode' => 'InvalidParameterInterval', + 'errorMessage' => 'Invalid Parameter interval.', + ], + [ + 'errorCode' => 'InvalidParameterRegion', + 'errorMessage' => 'Invalid Parameter Region.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataInterval\\": \\"day\\",\\n \\"RequestId\\": \\"C370DAF1-C838-4288-****-9A87633D248E\\",\\n \\"AIData\\": {\\n \\"AIDataItem\\": [\\n {\\n \\"TimeStamp\\": \\"2019-02-01T13:00:00Z\\",\\n \\"Data\\": {\\n \\"DataItem\\": [\\n {\\n \\"Name\\": \\"AIVideoCensor\\",\\n \\"Value\\": \\"111\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVodAIDataResponse>\\r\\n\\t<RequestId>C370DAF1-C838-4288-****-9A87633D248E</RequestId>\\r\\n\\t<DataInterval>day</DataInterval>\\r\\n\\t<AIData>\\r\\n\\t\\t<AIDataItem>\\r\\n\\t\\t\\t<TimeStamp>2019-02-01T16:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Data>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>AIVideoCensor</Name>\\r\\n\\t\\t\\t\\t\\t<Value>111</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t</Data>\\r\\n\\t\\t</AIDataItem>\\r\\n\\t\\t<AIDataItem>\\r\\n\\t\\t\\t<TimeStamp>2019-02-02T16:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Data>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>AIVideoCensor</Name>\\r\\n\\t\\t\\t\\t\\t<Value>111</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t\\t<Name>AIVideoFPShot</Name>\\r\\n\\t\\t\\t\\t\\t<Value>222</Value>\\r\\n\\t\\t\\t\\t</DataItem>\\r\\n\\t\\t\\t</Data>\\r\\n\\t\\t</AIDataItem>\\r\\n\\t</AIData>\\r\\n</DescribeVodAIDataResponse>","errorExample":""}]', + 'title' => 'DescribeVodAIData', + 'description' => '> * This operation is available only in the **China (Shanghai)** region.'."\n" + .'>* If the time range to query is less than or equal to seven days, the system returns the statistics collected on an hourly basis. If the time range to query is greater than seven days, the system returns the statistics collected on a daily basis. The maximum time range that you can specify to query is 31 days.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the error codes that this operation can return.'."\n" + ."\n" + .'|Error code|Error message|HTTP status code|Description|'."\n" + .'|---|---|---|---|'."\n" + .'|Throttling|Request was denied due to request throttling.|503|The error message returned because the request was denied due to throttling.|'."\n" + .'|OperationDenied|Your account does not open VOD service yet.|403|The error message returned because ApsaraVideo VOD is not activated for your Alibaba Cloud account.|'."\n" + .'|OperationDenied|Your VOD service is suspended.|403|The error message returned because ApsaraVideo VOD is suspended for your Alibaba Cloud account.|'."\n" + .'|InvalidParameter|Invalid Parameter.|400|The error message returned because one or more parameters are invalid.|'."\n" + .'|InvalidParameterAliUid|Invalid Parameter AliUid.|400|The error message returned because the value of the AliUid parameter is invalid.|'."\n" + .'|InvalidParameterStartTime|Invalid Parameter StartTime.|400|The error message returned because the value of the StartTime parameter is invalid.|'."\n" + .'|InvalidParameterEndTime|Invalid Parameter EndTime.|400|The error message returned because the value of the EndTime parameter is invalid.|'."\n" + .'|InvalidTimeRange|StartTime and EndTime range should less than 1 month.|400|The error message returned because the time range that is specified by the StartTime and EndTime parameters exceeds 31 days.|'."\n" + .'|InvalidParameterRegion|Invalid Parameter Region.|400|The error message returned because the value of the Region parameter is invalid.|', + ], + 'DescribeVodTieringStorageData' => [ + 'summary' => 'Queries the usage of tiered storage for media assets.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '216951', + 'abilityTreeNodes' => [ + 'FEATUREvodUOYFRF', + ], + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. If you leave this parameter empty, data in the last 24 hours is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-05-29T01:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time at which data is obtained. The end time must be later than the start time. The difference cannot exceed 31 days. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-05-29T02:00:00Z', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region in which you want to query data. If you leave this parameter empty, data in all regions is returned. Separate multiple regions with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'StorageClass', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage type. By default, all storage types are returned. Valid values:'."\n" + ."\n" + .'* **IA**'."\n" + .'* **Archive**'."\n" + .'* **ColdArchive**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IA', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'StorageData' => [ + 'description' => 'The storage usage data returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => '2023-05-29T01:00:00Z'."\n", + ], + 'Region' => [ + 'description' => 'The region in which data is queried.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'StorageClass' => [ + 'description' => 'The storage type.'."\n", + 'type' => 'string', + 'example' => 'IA', + ], + 'StorageUtilization' => [ + 'description' => 'The storage usage. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234', + ], + 'LessthanMonthDatasize' => [ + 'description' => 'The data that is stored less than a month. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidParameterType', + 'errorMessage' => 'The specified Type is invalid.', + ], + [ + 'errorCode' => 'InvalidTimeSpan', + 'errorMessage' => 'The time span exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid input parameter.', + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'The specified Time is malformed.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"StorageData\\": [\\n {\\n \\"TimeStamp\\": \\"2023-05-29T01:00:00Z\\",\\n \\"Region\\": \\"cn-beijing\\",\\n \\"StorageClass\\": \\"IA\\",\\n \\"StorageUtilization\\": 1234,\\n \\"LessthanMonthDatasize\\": 123\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeVodTieringStorageData', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* If you specify a time range within 7 days, the request returns the data based on hours. If you specify a time range longer than 7 days, the request returns the data based on days. The maximum time range is 31 days.', + ], + 'DescribeVodTieringStorageRetrievalData' => [ + 'summary' => 'Queries the data retrieval from tiered storage.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '216979', + 'abilityTreeNodes' => [ + 'FEATUREvodUOYFRF', + ], + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The minimum time range is 5 minutes. If you leave this parameter empty, data in the last 24 hours is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-06-02T10:20:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. The time range cannot exceed 31 days. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-06-02T11:20:00Z'."\n", + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region in which you want to query data. If you leave this parameter empty, data in all regions is returned. Separate multiple regions with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'StorageClass', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage type. Valid values:'."\n" + ."\n" + .'* **IA**'."\n" + .'* **Archive**'."\n" + .'* **ColdArchive**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IA', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-D73936****', + ], + 'RetrievalData' => [ + 'description' => 'The data retrieval information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-06-02T10:20:00Z'."\n", + ], + 'Region' => [ + 'description' => 'The storage region.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'StorageClass' => [ + 'description' => 'The storage type.'."\n", + 'type' => 'string', + 'example' => 'IA', + ], + 'RetrievalData' => [ + 'description' => 'The data retrieval information.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234', + ], + 'CAStdRetrievalData' => [ + 'description' => 'The retrieved Cold Archive data in the standard mode.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123', + ], + 'CABulkRetrievalData' => [ + 'description' => 'The retrieved Cold Archive data in the bulk mode.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123', + ], + 'CAHighPriorRetrievalData' => [ + 'description' => 'The retrieved Cold Archive data in the expedited mode.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidParameterType', + 'errorMessage' => 'The specified Type is invalid.', + ], + [ + 'errorCode' => 'InvalidTimeSpan', + 'errorMessage' => 'The time span exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid input parameter.', + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'The specified Time is malformed.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-D73936****\\",\\n \\"RetrievalData\\": [\\n {\\n \\"TimeStamp\\": \\"2023-06-02T10:20:00Z\\\\n\\",\\n \\"Region\\": \\"cn-beijing\\",\\n \\"StorageClass\\": \\"IA\\",\\n \\"RetrievalData\\": 1234,\\n \\"CAStdRetrievalData\\": 123,\\n \\"CABulkRetrievalData\\": 123,\\n \\"CAHighPriorRetrievalData\\": 123\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeVodTieringStorageRetrievalData', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* If you specify a time range within 7 days, the request returns the data based on hours. If you specify a time range longer than 7 days, the request returns the data based on days. The maximum time range is 31 days.', + 'responseParamsDescription' => 'The CAStdRetrievalData, CABulkRetrievalData, and CAHighPriorRetrievalData parameters are returned only when Cold Archive data is retrieved within the specified period of time.'."\n", + ], + 'DescribeVodPlayerMetricData' => [ + 'summary' => '查询播放器指标数据', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '273926', + 'abilityTreeNodes' => [ + 'FEATUREvod2L0PVC', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'app-1000000', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => '2025-06-24T00:55:06Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => '2025-06-05T15:59:59Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => '1d', + ], + ], + [ + 'name' => 'TerminalType', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'web', + ], + ], + [ + 'name' => 'Filters', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '['."\n" + .' {'."\n" + .' "Field": "codec",'."\n" + .' "Op": "=",'."\n" + .' "Value": "h265#_#h264"'."\n" + .' },'."\n" + .' {'."\n" + .' "Field": "os",'."\n" + .' "Op": "=",'."\n" + .' "Value": "Android#_#iOS"'."\n" + .' }'."\n" + .']', + ], + ], + [ + 'name' => 'Metrics', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'Vv,Uv,AvgPerVv', + ], + ], + [ + 'name' => 'Top', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5000', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'zh', + ], + ], + [ + 'name' => 'Os', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'Android、iOS、Windows', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'PageNumber' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5000', + ], + 'TotalCnt' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '500', + ], + 'DataList' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2025-06-24T00:55:06Z'."\n", + ], + 'Dimension' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'H265_MP4_WIFI', + ], + 'Uv' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '500', + ], + 'Vv' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '800', + ], + 'RealVv' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '1000', + ], + 'FirstFrame' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100', + ], + 'SecondPlayRate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.8', + ], + 'SlowPlayRate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.2', + ], + 'StuckCountRate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.1', + ], + 'SeekDuration' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100', + ], + 'StuckDuration100s' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '200', + ], + 'PlayFailRate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.2', + ], + 'SeedFailRate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.01', + ], + 'AvgPlayBitrate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100', + ], + 'AvgStartBitrate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100', + ], + 'ErrorCount100s' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '1', + ], + 'AvgPerVv' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '10', + ], + 'AvgVideoDuration' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100000', + ], + 'AvgPerPlayDuration' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100000', + ], + 'AvgPerCompletionVv' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '2', + ], + 'CompletionVv' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '500', + ], + 'CompletionRate' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.8', + ], + 'AvgPlayDuration' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100000'."\n", + ], + 'JumpRate5s' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.1', + ], + 'TotalPlayDuration' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100000', + ], + 'StuckCount100s' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2', + ], + ], + ], + ], + 'Extend' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ActualStartTime' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2025-06-24T00:55:06Z', + ], + 'ActualEndTime' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2025-06-05T15:59:59Z', + ], + 'IntervalSeconds' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3600', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Meter.ParamError', + 'errorMessage' => 'Param Error:%s,Please Check Again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Meter.AuthError', + 'errorMessage' => 'Authentication Failed,Please Try Again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Meter.ServerInternalError', + 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', + ], + [ + 'errorCode' => 'Meter.DataSourceQueryError', + 'errorMessage' => 'Data Source Error:%s,Please Try Again.', + ], + ], + 502 => [ + [ + 'errorCode' => 'Meter.ReadyTsError', + 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 5000,\\n \\"TotalCnt\\": 500,\\n \\"DataList\\": [\\n {\\n \\"TimeStamp\\": \\"2025-06-24T00:55:06Z\\\\n\\",\\n \\"Dimension\\": \\"H265_MP4_WIFI\\",\\n \\"Uv\\": 500,\\n \\"Vv\\": 800,\\n \\"RealVv\\": 1000,\\n \\"FirstFrame\\": 100,\\n \\"SecondPlayRate\\": 0.8,\\n \\"SlowPlayRate\\": 0.2,\\n \\"StuckCountRate\\": 0.1,\\n \\"SeekDuration\\": 100,\\n \\"StuckDuration100s\\": 200,\\n \\"PlayFailRate\\": 0.2,\\n \\"SeedFailRate\\": 0.01,\\n \\"AvgPlayBitrate\\": 100,\\n \\"AvgStartBitrate\\": 100,\\n \\"ErrorCount100s\\": 1,\\n \\"AvgPerVv\\": 10,\\n \\"AvgVideoDuration\\": 100000,\\n \\"AvgPerPlayDuration\\": 100000,\\n \\"AvgPerCompletionVv\\": 2,\\n \\"CompletionVv\\": 500,\\n \\"CompletionRate\\": 0.8,\\n \\"AvgPlayDuration\\": 100000,\\n \\"JumpRate5s\\": 0.1,\\n \\"TotalPlayDuration\\": 100000,\\n \\"StuckCount100s\\": \\"2\\"\\n }\\n ],\\n \\"Extend\\": {\\n \\"ActualStartTime\\": \\"2025-06-24T00:55:06Z\\",\\n \\"ActualEndTime\\": \\"2025-06-05T15:59:59Z\\",\\n \\"IntervalSeconds\\": 3600\\n }\\n}","type":"json"}]', + ], + 'DescribeVodPlayerCollectData' => [ + 'summary' => '查询播放器指标数据', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '274030', + 'abilityTreeNodes' => [ + 'FEATUREvod2L0PVC', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'app-1000000', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => '2025-06-24T00:55:06Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => '2025-06-05T15:59:59Z', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => '1d', + ], + ], + [ + 'name' => 'TerminalType', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'web', + ], + ], + [ + 'name' => 'Os', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'Android、iOS、Windows', + ], + ], + [ + 'name' => 'Metrics', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'Vv,Uv,AvgPerVv', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '1d', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'DataList' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Metric' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'Vv', + ], + 'Value' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '100.0', + ], + 'ValueRefer' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '200.0', + ], + 'ValueRatio' => [ + 'description' => '', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.5', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Meter.ParamError', + 'errorMessage' => 'Param Error:%s,Please Check Again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Meter.AuthError', + 'errorMessage' => 'Authentication Failed,Please Try Again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Meter.ServerInternalError', + 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', + ], + [ + 'errorCode' => 'Meter.DataSourceQueryError', + 'errorMessage' => 'Data Source Error:%s,Please Try Again.', + ], + ], + 502 => [ + [ + 'errorCode' => 'Meter.ReadyTsError', + 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"DataList\\": [\\n {\\n \\"Metric\\": \\"Vv\\",\\n \\"Value\\": 100,\\n \\"ValueRefer\\": 200,\\n \\"ValueRatio\\": 0.5\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeVodPlayerDimensionData' => [ + 'summary' => '查询播放器指标数据', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '273845', + 'abilityTreeNodes' => [ + 'FEATUREvod2L0PVC', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'app-1000000', + ], + ], + [ + 'name' => 'Dimension', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'Os', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '2025-06-24T00:55:06Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '2025-06-05T15:59:59Z', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'ALL', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'DataList' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'Android', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Meter.ParamError', + 'errorMessage' => 'Param Error:%s,Please Check Again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Meter.AuthError', + 'errorMessage' => 'Authentication Failed,Please Try Again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Meter.ServerInternalError', + 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', + ], + [ + 'errorCode' => 'Meter.DataSourceQueryError', + 'errorMessage' => 'Data Source Error:%s,Please Try Again.', + ], + ], + 502 => [ + [ + 'errorCode' => 'Meter.ReadyTsError', + 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"DataList\\": [\\n \\"Android\\"\\n ]\\n}","type":"json"}]', + ], + 'GetDailyPlayRegionStatis' => [ + 'summary' => 'Obtains all media traffic data of a specific date and region. The data is generated based on Alibaba Cloud CDN traffic logs and reflects the traffic consumption of videos. The data is exported as a CSV file, including the date, video ID, domain name, traffic, application ID, and category ID. You can download the file to your local storage for operational data analysis and billing.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '267530', + 'abilityTreeNodes' => [ + 'FEATUREvodKNCWCD', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'Date', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => '2025-03-20', + ], + ], + [ + 'name' => 'MediaRegion', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '', + 'type' => 'string', + 'example' => '67720502-CDDB-3F1C-8A91-12258*******', + ], + 'DailyPlayRegionStatisList' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2025-03-20', + ], + 'FileUrl' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'https://outin-e70266d4ed*******0163e1403e7.oss-cn-shanghai.aliyuncs.com/dataexport/play/cn_hangzhou_20250320_video_traffic.csv?*******', + ], + ], + ], + ], + 'FailDates' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => '[]', + ], + ], + 'EmptyDates' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => '[]', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"67720502-CDDB-3F1C-8A91-12258*******\\",\\n \\"DailyPlayRegionStatisList\\": [\\n {\\n \\"Date\\": \\"2025-03-20\\",\\n \\"FileUrl\\": \\"https://outin-e70266d4ed*******0163e1403e7.oss-cn-shanghai.aliyuncs.com/dataexport/play/cn_hangzhou_20250320_video_traffic.csv?*******\\"\\n }\\n ],\\n \\"FailDates\\": [\\n \\"[]\\"\\n ],\\n \\"EmptyDates\\": [\\n \\"[]\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetDailyPlayRegionStatis', + ], + 'DescribeVodMediaPlayData' => [ + 'summary' => 'Queries the playback statistics based on the media ID. You can call this operation to query information such as the number of visits, average video views per viewer, total number of views, average playback duration per viewer, and total playback duration.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '207593', + 'abilityTreeNodes' => [ + 'FEATUREvodKNCWCD', + ], + ], + 'parameters' => [ + [ + 'name' => 'PlayDate', + 'in' => 'query', + 'schema' => [ + 'description' => 'The playback time. Specify the value in the yyyyMMdd format.'."\n" + ."\n" + .'> * You can query data only by day.'."\n" + .'> * You can query only data within the last 30 days.', + 'type' => 'string', + 'required' => false, + 'example' => '20240322', + ], + ], + [ + 'name' => 'TerminalType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the player SDK. You can specify this parameter to query all playback data generated by using a specific type of player SDK. Valid values:'."\n" + ."\n" + .'* **Native**: ApsaraVideo Player SDK for Android or ApsaraVideo Player SDK for iOS'."\n" + .'* **Web**: ApsaraVideo Player SDK for Web'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Native', + ], + ], + [ + 'name' => 'Os', + 'in' => 'query', + 'schema' => [ + 'description' => 'The operating system of the player. You can specify this parameter to query all playback data generated on a specific operating system. Valid values:'."\n" + ."\n" + .'* **Android**'."\n" + .'* **iOS**'."\n" + .'* **Windows**'."\n" + .'* **macOS**'."\n" + .'* **Linux**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Android', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region in which ApsaraVideo VOD is activated. You can specify this parameter to query all playback data generated only in a specific region. Valid values:'."\n" + ."\n" + .'* **cn-beijing**: China (Beijing)'."\n" + .'* **cn-shanghai**: China (Shanghai)'."\n" + .'* **cn-shenzhen**: China (Shenzhen)'."\n" + .'* **ap-northeast-1**: Japan (Tokyo)'."\n" + .'* **ap-southeast-1**: Singapore'."\n" + .'* **ap-southeast-5**: Indonesia (Jakarta)'."\n" + .'* **eu-central-1**: Germany (Frankfurt)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'MediaId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the media file (VideoId). You can specify this parameter to query all playback data of a media file. You can specify only one media ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the page that appears, view the media ID.'."\n" + .'* Obtain the value of the VideoId parameter in the response to the [CreateUploadVideo](~~CreateUploadVideo~~) operation that you called to upload the audio or video file.'."\n" + .'* Obtain the value of VideoId by calling the [SearchMedia](~~SearchMedia~~) operation. This method is applicable to files that have been uploaded.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '9ae2af636ca6c10412f44891fc****', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page. You can specify a page number to return data from the specified page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '20', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sort type. This parameter must be specified together with the `OrderName` parameter. You can specify this parameter to sort the returned data in ascending or descending order based on specific metrics. Valid values:'."\n" + ."\n" + .'* **ASC**: The returned data is sorted in ascending order.'."\n" + .'* **DESC**: The returned data is sorted in descending order.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ASC', + ], + ], + [ + 'name' => 'OrderName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the metric. This parameter must be specified together with the `OrderType` parameter. You can specify this parameter to sort the returned data in ascending or descending order based on specific metrics. Valid values:'."\n" + ."\n" + .'* **PlaySuccessVv**: the total number of views.'."\n" + .'* **PlayPerVv**: the average views per viewer.'."\n" + .'* **PlayDuration**: the total playback duration.'."\n" + .'* **PlayDurationPerUv**: the average playback duration per viewer.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PlaySuccessVv', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageNo' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'QoeInfoList' => [ + 'description' => 'The data returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'VideoTitle' => [ + 'description' => 'The name of the audio or video file.'."\n", + 'type' => 'string', + 'example' => 'title', + ], + 'VideoDuration' => [ + 'description' => 'The duration of the audio or video file. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '246', + ], + 'MediaId' => [ + 'description' => 'The ID of the media file (VideoId).'."\n", + 'type' => 'string', + 'example' => '9ae2af636ca6c10412f44891fc****', + ], + 'DAU' => [ + 'description' => 'The number of visits to the audio or video per day.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '5', + ], + 'PlaySuccessVv' => [ + 'description' => 'The total number of times the audio or video has been played.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '20', + ], + 'PlayDurationPerUv' => [ + 'description' => 'The average playback duration of the audio or video per viewer. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '120', + ], + 'PlayDuration' => [ + 'description' => 'The total playback duration of the audio or video. Unit: seconds.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '2400', + ], + 'PlayPerVv' => [ + 'description' => 'The average number of times that the audio or video was played per viewer.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '4', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Meter.ParamError', + 'errorMessage' => 'Param Error:%s,Please Check Again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Meter.AuthError', + 'errorMessage' => 'Authentication Failed,Please Try Again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'Meter.ServerInternalError', + 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', + ], + [ + 'errorCode' => 'Meter.DataSourceQueryError', + 'errorMessage' => 'Data Source Error:%s,Please Try Again.', + ], + ], + 502 => [ + [ + 'errorCode' => 'Meter.ReadyTsError', + 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"TotalCount\\": 1,\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 20,\\n \\"QoeInfoList\\": [\\n {\\n \\"VideoTitle\\": \\"阿里云VOD视频标题\\",\\n \\"VideoDuration\\": 246,\\n \\"MediaId\\": \\"9ae2af636ca6c10412f44891fc****\\",\\n \\"DAU\\": 5,\\n \\"PlaySuccessVv\\": 20,\\n \\"PlayDurationPerUv\\": 120,\\n \\"PlayDuration\\": 2400,\\n \\"PlayPerVv\\": 4\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeVodMediaPlayData', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + ."\n" + .'* Only playback data in ApsaraVideo Player SDK is collected.'."\n" + ."\n" + .'* You can query only data within the last 30 days.'."\n" + ."\n" + .'* Before you call this operation, make sure that the following requirements are met:'."\n" + ."\n" + .' * ApsaraVideo Player SDK for Android or iOS'."\n" + ."\n" + .' * ApsaraVideo Player SDK for Android or iOS V5.4.9.2 or later is used.'."\n" + .' * A license for ApsaraVideo Player SDK is obtained. For more information, see [Manage licenses](~~469166~~).'."\n" + .' * The log reporting feature is enabled. By default, the feature is enabled for ApsaraVideo Player SDKs. For more information, see [Integrate ApsaraVideo Player SDK for Android](~~311525#section-dc4-gp6-xk2~~) and [Integrate ApsaraVideo Player SDK for iOS](~~313855#section-cmf-k7d-jg5~~).'."\n" + ."\n" + .' * ApsaraVideo Player SDK for Web'."\n" + ."\n" + .' * ApsaraVideo Player SDK for Web V2.16.0 or later is used.'."\n" + .' * A license for **playback quality monitoring** is obtained. To apply for the license, [submit a request on Yida to enable value-added features for ApsaraVideo Player SDK for Web](https://yida.alibaba-inc.com/o/webplayer#/). For more information, see the description of the `license` parameter in the [API operations](~~125572#section-3ty-gwp-6pa~~) topic.'."\n" + .' * The log reporting feature is enabled. By default, the feature is enabled for ApsaraVideo Player SDKs.'."\n", + ], + 'DescribePlayTopVideos' => [ + 'summary' => 'Queries daily playback statistics on top videos, including video views, unique visitors, and total playback duration.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39858', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'BizDate', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2016-06-29T13:00:00Z', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. The default value is **100**. The maximum value is **1000**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '1000', + 'minimum' => '10', + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageNo' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '4B0BCF9F-2FD5-4817-****-7BEBBE3AF90B"', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + 'TotalNum' => [ + 'description' => 'The total number of entries that were collected in playback statistics on top videos.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'TopPlayVideos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TopPlayVideoStatis' => [ + 'description' => 'The daily playback statistics on each top video.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Title' => [ + 'description' => 'The title of the video.'."\n", + 'type' => 'string', + 'example' => 'Four streams (two streams encrypted): LD-HLS-encrypted + SD-MP4 + HD-H', + ], + 'VV' => [ + 'description' => 'The number of video views.'."\n", + 'type' => 'string', + 'example' => '107', + ], + 'PlayDuration' => [ + 'description' => 'The total playback duration. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '4640369', + ], + 'VideoId' => [ + 'description' => 'The ID of the video.'."\n", + 'type' => 'string', + 'example' => '2a8d4cb9ecbb487681473a15****8fda', + ], + 'UV' => [ + 'description' => 'The number of unique visitors.'."\n", + 'type' => 'string', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidBizDate.Malformed', + 'errorMessage' => 'Specified BizDate is malformed.', + ], + [ + 'errorCode' => 'InvalidBizDate.BeyondCurrent', + 'errorMessage' => 'BizDate beyond current time.', + ], + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNo\\": 1,\\n \\"RequestId\\": \\"4B0BCF9F-2FD5-4817-****-7BEBBE3AF90B\\\\\\"\\",\\n \\"PageSize\\": 100,\\n \\"TotalNum\\": 2,\\n \\"TopPlayVideos\\": {\\n \\"TopPlayVideoStatis\\": [\\n {\\n \\"Title\\": \\"阿里云视频\\",\\n \\"VV\\": \\"107\\",\\n \\"PlayDuration\\": \\"4640369\\",\\n \\"VideoId\\": \\"2a8d4cb9ecbb487681473a15****8fda\\",\\n \\"UV\\": \\"1\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\":\\"1FAFB884-D5A7-47D1-82B5-8928AA9C8720\\",\\n \\"HostId\\":\\"vod.cn-shanghai.aliyuncs.com\\",\\n \\"Code\\":\\"InvalidStartTime.Malformed\\",\\n \\"Message\\":\\"Specified StartTime is malformed.\\"\\n} "},{"type":"xml","example":"<DescribePlayTopVideosResponse>\\n <TopPlayVideos>\\n <TopPlayVideoStatis>\\n <VideoId>2a8d4cb9ecbb487681473**53aba8fda</VideoId>\\n <VV>107</VV>\\n <Title>4路(2路加密):流畅-HLS-加密+标清-MP4+高清-H</Title>\\n <UV>1</UV>\\n <PlayDuration>4640369</PlayDuration>\\n </TopPlayVideoStatis>\\n <TopPlayVideoStatis>\\n <VideoId>cca9dbd11b7045808cc9b**c56f5bad2</VideoId>\\n <VV>33</VV>\\n <Title>2路(全加密):标清-HLS-加密+超清-HLS-加密</Title>\\n <UV>1</UV>\\n <PlayDuration>4689369</PlayDuration>\\n </TopPlayVideoStatis>\\n </TopPlayVideos>\\n <PageSize>1000</PageSize>\\n <PageNo>1</PageNo>\\n <Total>150</Total>\\n <RequestId>4B0BCF9F-2FD5-4817-****-7BEBBE3AF90B</RequestId>\\n</DescribePlayTopVideosResponse>","errorExample":""}]', + 'title' => 'DescribePlayTopVideos', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* You can query playback statistics on top 1,000 videos at most on a specified day. By default, top videos are sorted in descending order based on video views.'."\n" + .'* You can call this operation to query only playback statistics collected on videos that are played by using ApsaraVideo Player SDKs.'."\n" + .'* Playback statistics for the previous day are generated at 09:00 on the current day, in UTC+8.'."\n" + .'* You can query data that is generated since January 1, 2018. The maximum time range to query is 180 days.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InternalError | The request processing has failed due to some unknown error. | 500 | The error message returned because an unknown error has occurred. |'."\n" + .'| InvalidBizDate.Malformed | Specified BizDate is malformed. | 400 | The error message returned because the format of the time that is specified by the BizDate parameter is invalid. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC. |'."\n" + .'| InvalidBizDate.BeyondCurrent | EndTime beyond current time. | 400 | The error message returned because the time that is specified by the BizDate parameter is later than the current time. |', + ], + 'DescribePlayUserAvg' => [ + 'summary' => 'Queries the statistics on average playback each day in a specified time range. ', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39859', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2016-06-29T13:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. The end time must be later than the start time. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2016-06-30T13:00:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6C7F90B2-BDA4-4FAC-****-A38A121DFE19', + ], + 'UserPlayStatisAvgs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserPlayStatisAvg' => [ + 'description' => 'The statistics on average playback each day.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => [ + 'description' => 'The date when the statistics were generated. The date follows the *yyyy-MM-dd* format.'."\n", + 'type' => 'string', + 'example' => '20170120', + ], + 'AvgPlayDuration' => [ + 'description' => 'The average playback duration. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '1035902.8', + ], + 'AvgPlayCount' => [ + 'description' => 'The average number of video views.'."\n", + 'type' => 'string', + 'example' => '170', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.BeyondCurrent', + 'errorMessage' => 'EndTime beyond current time.', + ], + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'StartTime or EndTime is mismatch.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6C7F90B2-BDA4-4FAC-****-A38A121DFE19\\",\\n \\"UserPlayStatisAvgs\\": {\\n \\"UserPlayStatisAvg\\": [\\n {\\n \\"Date\\": \\"2016-06-30T13:00:00Z\\",\\n \\"AvgPlayDuration\\": \\"1035902.8\\",\\n \\"AvgPlayCount\\": \\"2.0\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\":\\"1FAFB884-D5A7-47D1-82B5-8928AA9C8720\\",\\n \\"HostId\\":\\"vod.cn-shanghai.aliyuncs.com\\",\\n \\"Code\\":\\"InvalidStartTime.Malformed\\",\\n \\"Message\\":\\"Specified StartTime is malformed.\\"\\n}"},{"type":"xml","example":"<DescribePlayUserAvgResponse>\\r\\n\\t<UserPlayStatisAvgs>\\r\\n\\t\\t<UserPlayStatisAvg>\\r\\n\\t\\t\\t<AvgPlayDuration>1035902.8</AvgPlayDuration>\\r\\n\\t\\t\\t<Date>20171127</Date>\\r\\n\\t\\t\\t<AvgPlayCount>17.0</AvgPlayCount>\\r\\n\\t\\t</UserPlayStatisAvg>\\r\\n\\t\\t<UserPlayStatisAvg>\\r\\n\\t\\t\\t<AvgPlayDuration>3113356.7</AvgPlayDuration>\\r\\n\\t\\t\\t<Date>20171128</Date>\\r\\n\\t\\t\\t<AvgPlayCount>41.0</AvgPlayCount>\\r\\n\\t\\t</UserPlayStatisAvg>\\r\\n\\t\\t<UserPlayStatisAvg>\\r\\n\\t\\t\\t<AvgPlayDuration>4290368.0</AvgPlayDuration>\\r\\n\\t\\t\\t<Date>20171129</Date>\\r\\n\\t\\t\\t<AvgPlayCount>59.8</AvgPlayCount>\\r\\n\\t\\t</UserPlayStatisAvg>\\r\\n\\t</UserPlayStatisAvgs>\\r\\n\\t<RequestId>6C7F90B2-BDA4-4FAC-****-A38A121DFE19</RequestId>\\r\\n</DescribePlayUserAvgResponse>","errorExample":""}]', + 'title' => 'DescribePlayUserAvg', + 'description' => '> * This operation is available only in the **China (Shanghai)** region.'."\n" + .'> * You can call this operation to query only playback statistics collected on videos that are played by using ApsaraVideo Player SDKs.'."\n" + .'> * Playback statistics for the previous day are generated at 09:00 on the current day, in UTC+8.'."\n" + .'> * You can query data that is generated since January 1, 2018. The maximum time range to query is 180 days.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InternalError | The request processing has failed due to some unknown error. | 500 | The error message returned because an unknown error has occurred. |'."\n" + .'| InvalidStartTime.Malformed | Specified StartTime is malformed. | 400 | The error message returned because the format of the start time that is specified by the StartTime parameter is invalid. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC. |'."\n" + .'| InvalidEndTime.Malformed | Specified EndTime is malformed. | 400 | The error message returned because the format of the end time that is specified by the EndTime parameter is invalid. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC. |'."\n" + .'| InvalidEndTime.BeyondCurrent | EndTime beyond current time. | 400 | The error message returned because the end time that is specified by the EndTime parameter is later than the current time. |'."\n" + .'| InvalidEndTime.Mismatch | StartTime or EndTime is mismatch. | 400 | The error message returned because the time range that is specified by the StartTime and EndTime parameters is invalid. |', + ], + 'DescribePlayUserTotal' => [ + 'summary' => 'Queries the daily playback statistics in a specified time range. The playback statistics include the total number of views, total number of viewers, total playback duration, and playback duration distribution.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39860', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2016-06-29T13:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time. The interval between the start time and the end time cannot exceed 180 days.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2016-06-30T13:00:00Z', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '1FAFB884-D5A7-47D1-****-8928AA9C8720', + ], + 'UserPlayStatisTotals' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UserPlayStatisTotal' => [ + 'description' => 'The daily playback statistics.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => [ + 'description' => 'The date. The date is displayed in the yyyy-MM-dd format.'."\n", + 'type' => 'string', + 'example' => '20170120', + ], + 'PlayDuration' => [ + 'description' => 'The total playback duration. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '9340070', + ], + 'PlayRange' => [ + 'description' => 'The distribution of the playback duration.'."\n", + 'type' => 'string', + 'example' => '"<=1m:74.3%;>1<=5m:22.8%;>5<=10m:1.0%;>10<=15m:1.0%;>15<=30m:1.0%"', + ], + 'VV' => [ + 'description' => 'The total number of video views.'."\n", + 'type' => 'object', + 'properties' => [ + 'Flash' => [ + 'description' => 'The total number of video views played by using the Flash player.'."\n", + 'type' => 'string', + 'example' => '2', + ], + 'iOS' => [ + 'description' => 'The total number of video views played by using ApsaraVideo Player SDK for iOS.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'HTML5' => [ + 'description' => 'The total number of video views played by using the HTML5 player.'."\n", + 'type' => 'string', + 'example' => '2', + ], + 'Android' => [ + 'description' => 'The total number of video views played by using ApsaraVideo Player SDK for Android.'."\n", + 'type' => 'string', + 'example' => '161', + ], + ], + ], + 'UV' => [ + 'description' => 'The total number of unique visitors.'."\n", + 'type' => 'object', + 'properties' => [ + 'Flash' => [ + 'description' => 'The total number of unique visitors who use the Flash player.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'iOS' => [ + 'description' => 'The total number of unique visitors who use ApsaraVideo Player SDK for iOS.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'HTML5' => [ + 'description' => 'The total number of unique visitors who use the HTML5 player.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'Android' => [ + 'description' => 'The total number of unique visitors who use ApsaraVideo Player SDK for Android.'."\n", + 'type' => 'string', + 'example' => '2', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.BeyondCurrent', + 'errorMessage' => 'EndTime beyond current time.', + ], + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'StartTime or EndTime is mismatch.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1FAFB884-D5A7-47D1-****-8928AA9C8720\\",\\n \\"UserPlayStatisTotals\\": {\\n \\"UserPlayStatisTotal\\": [\\n {\\n \\"Date\\": \\"2016-06-30T13:00:00Z\\",\\n \\"PlayDuration\\": \\"9340070\\",\\n \\"PlayRange\\": \\"\\\\\\"<=1m:74.3%;>1<=5m:22.8%;>5<=10m:1.0%;>10<=15m:1.0%;>15<=30m:1.0%\\\\\\"\\",\\n \\"VV\\": {\\n \\"Flash\\": \\"2\\",\\n \\"iOS\\": \\"0\\",\\n \\"HTML5\\": \\"2\\",\\n \\"Android\\": \\"161\\"\\n },\\n \\"UV\\": {\\n \\"Flash\\": \\"1\\",\\n \\"iOS\\": \\"0\\",\\n \\"HTML5\\": \\"1\\",\\n \\"Android\\": \\"2\\"\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\":\\"1FAFB884-D5A7-47D1-82B5-8928AA9C8720\\",\\n \\"HostId\\":\\"vod.cn-shanghai.aliyuncs.com\\",\\n \\"Code\\":\\"InvalidStartTime.Malformed\\",\\n \\"Message\\":\\"Specified StartTime is malformed.\\"\\n}"},{"type":"xml","example":"<DescribePlayUserTotalResponse>\\r\\n <UserPlayStatisTotals>\\r\\n\\t\\t<UserPlayStatisTotal>\\r\\n\\t\\t\\t<PlayRange><=1m:74.3%;>1<=5m:22.8%;>5<=10m:1.0%;>10<=15m:1.0%;>15<=30m:1.0%</PlayRange>\\r\\n\\t\\t\\t<Date>20180101</Date>\\r\\n\\t\\t\\t<VV>\\r\\n\\t\\t\\t\\t<Android>101</Android>\\r\\n\\t\\t\\t\\t<iOS>1</iOS>\\r\\n\\t\\t\\t</VV>\\r\\n\\t\\t\\t<PlayDuration>6215417</PlayDuration>\\r\\n\\t\\t\\t<UV>\\r\\n\\t\\t\\t\\t<Android>5</Android>\\r\\n\\t\\t\\t\\t<iOS>1</iOS>\\r\\n\\t\\t\\t</UV>\\r\\n\\t\\t</UserPlayStatisTotal>\\r\\n\\t\\t<UserPlayStatisTotal>\\r\\n\\t\\t\\t<PlayRange><=1m:73.6%;>1<=5m:23.9%;>5<=10m:2.5%</PlayRange>\\r\\n\\t\\t\\t<Date>20180102</Date>\\r\\n\\t\\t\\t<VV>\\r\\n\\t\\t\\t\\t<Android>161</Android>\\r\\n\\t\\t\\t\\t<Flash>2</Flash>\\r\\n\\t\\t\\t\\t<HTML5>1</HTML5>\\r\\n\\t\\t\\t</VV>\\r\\n\\t\\t\\t<PlayDuration>9340070</PlayDuration>\\r\\n\\t\\t\\t<UV>\\r\\n\\t\\t\\t\\t<Android>1</Android>\\r\\n\\t\\t\\t\\t<Flash>2</Flash>\\r\\n\\t\\t\\t\\t<HTML5>1</HTML5>\\r\\n\\t\\t\\t</UV>\\r\\n\\t\\t</UserPlayStatisTotal>\\r\\n\\t</UserPlayStatisTotals>\\r\\n\\t<RequestId>0B9BA42C-8BDE-4611-****-C856BBE20898</RequestId>\\r\\n</DescribePlayUserTotalResponse>","errorExample":""}]', + 'title' => 'DescribePlayUserTotal', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* You can call this operation to query only playback statistics collected on videos that are played by using ApsaraVideo Player SDKs.'."\n" + .'* Playback statistics for the current day are generated at 09:00 (UTC+8) on the next day.'."\n" + .'* You can query data that is generated since January 1, 2018. The maximum time range to query is 180 days.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InternalError | The request processing has failed due to some unknown error. | 500 | The error message returned because an unknown error has occurred. |'."\n" + .'| InvalidStartTime.Malformed | Specified StartTime is malformed. | 400 | The error message returned because the format of the start time that is specified by the StartTime parameter is invalid. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC. |'."\n" + .'| InvalidEndTime.Malformed | Specified EndTime is malformed. | 400 | The error message returned because the format of the end time that is specified by the EndTime parameter is invalid. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC. |'."\n" + .'| InvalidEndTime.BeyondCurrent | EndTime beyond current time. | 400 | The error message returned because the end time that is specified by the EndTime parameter is later than the current time. |'."\n" + .'| InvalidEndTime.Mismatch | StartTime or EndTime is mismatch. | 400 | The error message returned because the time range that is specified by the StartTime and EndTime parameters is invalid. |', + ], + 'DescribePlayVideoStatis' => [ + 'summary' => 'Queries daily playback statistics on a video in the specified time range.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39861', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2016-06-29T13:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time. The interval between the start time and the end time cannot exceed 180 days.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2016-06-30T13:00:00Z', + ], + ], + [ + 'name' => 'VideoId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the video. You can specify only one ID. You can use one of the following methods to obtain the ID:'."\n" + ."\n" + .'* Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video**. On the page that appears, view the video ID.'."\n" + .'* Obtain the video ID from the response to the [CreateUploadVideo](~~CreateUploadVideo~~) operation that you call to obtain the upload URL and credential.'."\n" + .'* Obtain the video ID from the response to the [SearchMedia](~~SearchMedia~~) operation that you call to query the audio or video file.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2a8d4cb9ecbb487681473****aba8fda', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'A92D3600-A3E7-43D6-****-B6E3B4A1FE6B', + ], + 'VideoPlayStatisDetails' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VideoPlayStatisDetail' => [ + 'description' => 'The daily playback statistics on the video.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PlayDuration' => [ + 'description' => 'The total playback duration. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '967277', + ], + 'Date' => [ + 'description' => 'The date. The time follows the ISO 8601 standard in the *YYYY-MM-DD*T*hh:mm:ss* format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '20170120', + ], + 'VV' => [ + 'description' => 'The number of video views.'."\n", + 'type' => 'string', + 'example' => '24', + ], + 'Title' => [ + 'description' => 'The video title.'."\n", + 'type' => 'string', + 'example' => 'Four streams (one stream encrypted): LD-HLS + SD-MP4 + HD-HLS-encrypted + UHD-MP4', + ], + 'UV' => [ + 'description' => 'The number of unique visitors.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'PlayRange' => [ + 'description' => 'The distribution of the playback duration.'."\n", + 'type' => 'string', + 'example' => '<=1m:79.2%;>1<=5m:16.7%;>5<=10m:4.2%', + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidParamter', + 'errorMessage' => '%s', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'StartTime or EndTime is mismatch.', + ], + [ + 'errorCode' => 'InvalidEndTime.BeyondCurrent', + 'errorMessage' => 'EndTime beyond current time.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => '%s', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A92D3600-A3E7-43D6-****-B6E3B4A1FE6B\\",\\n \\"VideoPlayStatisDetails\\": {\\n \\"VideoPlayStatisDetail\\": [\\n {\\n \\"PlayDuration\\": \\"967277\\",\\n \\"Date\\": \\"2024-06-12T16:00:00Z\\",\\n \\"VV\\": \\"24\\",\\n \\"Title\\": \\"阿里云视频\\",\\n \\"UV\\": \\"1\\",\\n \\"PlayRange\\": \\"<=1m:79.2%;>1<=5m:16.7%;>5<=10m:4.2%\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribePlayVideoStatisResponse>\\r\\n\\t<RequestId>A92D3600-A3E7-43D6-****-B6E3B4A1FE6B</RequestId>\\r\\n\\t<VideoPlayStatisDetails>\\r\\n\\t\\t<VideoPlayStatisDetail>\\r\\n\\t\\t\\t<Date>20180101</Date>\\r\\n\\t\\t\\t<PlayDuration>3288</PlayDuration>\\r\\n\\t\\t\\t<PlayRange><=1m:79.2%;>1<=5m:16.7%;>5<=10m:4.2%</PlayRange>\\r\\n\\t\\t\\t<Title>4路(1路加密):流畅-HLS+标清-MP4+高清-HLS-加密+超清-MP4</Title>\\r\\n\\t\\t\\t<UV>1</UV>\\r\\n\\t\\t\\t<VV>1</VV>\\r\\n\\t\\t</VideoPlayStatisDetail>\\r\\n\\t\\t<VideoPlayStatisDetail>\\r\\n\\t\\t\\t<Date>20180102</Date>\\r\\n\\t\\t\\t<PlayDuration>967277</PlayDuration>\\r\\n\\t\\t\\t<PlayRange><=1m:79.2%;>1<=5m:16.7%;>5<=10m:4.2%</PlayRange>\\r\\n\\t\\t\\t<Title>4路(1路加密):流畅-HLS+标清-MP4+高清-HLS-加密+超清-MP4</Title>\\r\\n\\t\\t\\t<UV>1</UV>\\r\\n\\t\\t\\t<VV>24</VV>\\r\\n\\t\\t</VideoPlayStatisDetail>\\r\\n\\t</VideoPlayStatisDetails>\\r\\n</DescribePlayVideoStatisResponse>","errorExample":""}]', + 'title' => 'DescribePlayVideoStatis', + 'description' => '* This operation is available only in the **China (Shanghai)** region.'."\n" + .'* You can call this operation to query only playback statistics collected on videos that are played by using ApsaraVideo Player SDKs.'."\n" + .'* Playback statistics for the current day are generated at 09:00 (UTC+8) on the next day.'."\n" + .'* You can query only data in the last 730 days. The maximum time range to query is 180 days.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return. '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| InternalError | The request processing has failed due to some unknown error. | 500 | The error message returned because an unknown error has occurred. |'."\n" + .'| InvalidStartTime.Malformed | Specified StartTime is malformed. | 400 | The error message returned because the format of the start time that is specified by the StartTime parameter is invalid. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC. |'."\n" + .'| InvalidEndTime.Malformed | Specified EndTime is malformed. | 400 | The error message returned because the format of the end time that is specified by the EndTime parameter is invalid. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC. |'."\n" + .'| InvalidEndTime.BeyondCurrent | EndTime beyond current time. | 400 | The error message returned because the end time that is specified by the EndTime parameter is later than the current time. |'."\n" + .'| InvalidEndTime.Mismatch | StartTime or EndTime is mismatch. | 400 | The error message returned because the time range that is specified by the StartTime and EndTime parameters is invalid. |', + ], + 'CreateAppInfo' => [ + 'summary' => 'Creates an application.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39806', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the application. The application name must be unique.'."\n" + ."\n" + .'* The name can contain letters, digits, periods (.), hyphens (-), and at signs (@). The name can be up to 128 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the application.'."\n" + ."\n" + .'* The description can contain up to 512 characters in length.'."\n" + .'* The value must be encoded in UTF-8.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'myfirstapp', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The resource group ID.'."\n", + 'example' => 'rg-aekzko7fsuj****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-34D5-D7393642****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AppId\\": \\"app-****\\",\\n \\"RequestId\\": \\"25818875-5F78-4A13-34D5-D7393642****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateAppInfoResponse>\\n <AppId>app-****</AppId>\\n <RequestId>25818875-5F78-4A13-34D5-D7393642****</RequestId>\\n</CreateAppInfoResponse>","errorExample":""}]', + 'title' => 'CreateAppInfo', + 'description' => 'You can create up to 10 applications within an Alibaba Cloud account. For more information, see [Multi-application service](~~113600~~).'."\n" + ."\n" + .'### QPS limits'."\n" + ."\n" + .'You can call this operation up to 50 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits on API operations in ApsaraVideo VOD](~~342790~~).'."\n", + ], + 'DeleteAppInfo' => [ + 'summary' => 'Deletes the information about applications.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '39824', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAppInfoResponse>\\n <RequestId>25818875-5F78-4A13-BEF6-****</RequestId>\\n</DeleteAppInfoResponse>","errorExample":""}]', + 'title' => 'DeleteAppInfo', + 'description' => 'Application with resources can not be deleted.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | The error message returned because the multi-application service has not been activated. |'."\n" + .'| Forbidden.OperateApp | User not authorized to operate app. | 403 | The error message returned because you are not authorized to manage the application. |'."\n" + .'| Forbidden.ResourceNotEmpty | The App: app-**** has **** resource, can not be deleted. | 403 | The error message returned because the application has resources. |', + ], + 'UpdateAppInfo' => [ + 'summary' => 'Updates the information about an application.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '40207', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application.'."\n" + ."\n" + .'* Default value: **app-1000000**.'."\n" + .'* For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-****', + ], + ], + [ + 'name' => 'AppName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the application.'."\n" + ."\n" + .'* The name can contain up to 128 characters in length, including Chinese letters, digits, and periods (.), dash (-), and at character (@).'."\n" + .'* The name can contain only UTF-8 characters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the application.'."\n" + ."\n" + .'* The description can contain up to 512 characters in length.'."\n" + .'* The description can contain only UTF-8 characters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'my first app.', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the application. Valid values:'."\n" + ."\n" + .'* **Normal**'."\n" + .'* **Disable**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Disable', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-DF45-D7393642****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-DF45-D7393642****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAppInfoResponse>\\n <RequestId>25818875-5F78-4A13-DF45-D7393642****</RequestId>\\n</UpdateAppInfoResponse>","errorExample":""}]', + 'title' => 'UpdateAppInfo', + 'description' => '## QPS limit'."\n" + ."\n" + .'A single user can perform a maximum of 30 queries per second (QPS). Throttling is triggered when the number of calls per second exceeds the QPS limit. The throttling may affect your business. Thus, we recommend that you observe the QPS limit on this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => 'The following table describes the common errors that this operation can return. For more information about errors common to all operations, see [Common errors](https://www.alibabacloud.com/help/en/apsaravideo-for-vod/latest/api-reference-error-codes). '."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | The error message returned because the multi-application service has not been activated. |'."\n" + .'| Forbidden.OperateApp | User not authorized to operate app. | 403 | The error message returned because you are not authorized to manage the application. |', + ], + 'GetAppInfos' => [ + 'summary' => 'Queries the information about one or more applications based on application IDs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39937', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of applications. You can obtain application IDs from the response to the [CreateAppInfo](~~113266~~) or [ListAppInfo](~~114000~~) operation.'."\n" + ."\n" + .'* You can specify a maximum of 10 application IDs.'."\n" + .'* Separate application IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-4DC4-D7393642****', + ], + 'NonExistAppIds' => [ + 'description' => 'The IDs of applications that do not exist.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the application that does not exist.'."\n", + 'type' => 'string', + 'example' => 'app-12****', + ], + ], + 'AppInfoList' => [ + 'description' => 'The details of applications.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the application.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the application. Valid values:'."\n" + ."\n" + .'* **System**'."\n" + .'* **Custom**'."\n", + 'type' => 'string', + 'example' => 'System', + ], + 'Status' => [ + 'description' => 'The status of the application. Valid values:'."\n" + ."\n" + .'* **Normal**'."\n" + .'* **Disable**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the application was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-03-01T08:00:00Z', + ], + 'AppName' => [ + 'description' => 'The name of the application.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'Description' => [ + 'description' => 'The description of the application.'."\n", + 'type' => 'string', + 'example' => 'my first app.', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'ModificationTime' => [ + 'description' => 'The last time when the application was modified. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-03-01T09:00:00Z', + ], + 'ResourceGroupId' => [ + 'type' => 'string', + 'description' => 'The resource group ID.'."\n", + 'example' => 'rg-aekzko7fsuj****', + ], + ], + ], + ], + 'Code' => [ + 'description' => 'The HTTP status code that is returned.'."\n", + 'type' => 'string', + 'example' => '200', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-4DC4-D7393642****\\",\\n \\"NonExistAppIds\\": [\\n \\"app-12****\\"\\n ],\\n \\"AppInfoList\\": [\\n {\\n \\"Type\\": \\"System\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2019-03-01T08:00:00Z\\",\\n \\"AppName\\": \\"test\\",\\n \\"Description\\": \\"my first app.\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"ModificationTime\\": \\"2019-03-01T09:00:00Z\\",\\n \\"ResourceGroupId\\": \\"rg-aekzko7fsuj****\\"\\n }\\n ],\\n \\"Code\\": \\"200\\"\\n}","errorExample":""},{"type":"xml","example":"<GetAppInfosResponse>\\n <RequestId>25818875-5F78-4A13-4DC4-D7393642****</RequestId>\\n <NonExistAppIds>1</NonExistAppIds>\\n <AppInfoList>\\n <Type>System</Type>\\n <Status>Normal</Status>\\n <CreationTime>2019-03-01T08:00:00Z</CreationTime>\\n <AppName>test</AppName>\\n <Description>my first app.</Description>\\n <AppId>app-****</AppId>\\n <ModificationTime>2019-03-01T09:00:00Z</ModificationTime>\\n </AppInfoList>\\n</GetAppInfosResponse>","errorExample":""}]', + 'title' => 'GetAppInfos', + 'description' => 'You can specify multiple accelerated domain names in a request.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | The error message returned because the multi-application service has not been activated. |', + ], + 'ListAppInfo' => [ + 'summary' => 'Queries the applications that you are authorized to manage based on query conditions.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40042', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the application. You can specify the status of the applications that you want to query. After an application is created, it enters the **Normal** state. Valid values:'."\n" + ."\n" + .'* **Normal**'."\n" + .'* **Disable**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **10**. Maximum value: **100**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource group ID to which the instance belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzko7fsuj****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Total' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-4D5C-D7393642****', + ], + 'AppInfoList' => [ + 'description' => 'The details of applications.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the application.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the application. Valid values:'."\n" + ."\n" + .'* **System**'."\n" + .'* **Custom**'."\n", + 'type' => 'string', + 'example' => 'System', + ], + 'Status' => [ + 'description' => 'The status of the application. Valid values:'."\n" + ."\n" + .'* **Normal**'."\n" + .'* **Disable**'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the application was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-03-01T08:00:00Z', + ], + 'AppName' => [ + 'description' => 'The name of the application.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'Description' => [ + 'description' => 'The description of the application.'."\n", + 'type' => 'string', + 'example' => 'my first app.', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'ModificationTime' => [ + 'description' => 'The last time when the application was modified. The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-03-01T09:00:00Z', + ], + 'RegionId' => [ + 'description' => 'The region.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-aekzko7fsuj****', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Total\\": 10,\\n \\"RequestId\\": \\"25818875-5F78-4A13-4D5C-D7393642****\\",\\n \\"AppInfoList\\": [\\n {\\n \\"Type\\": \\"System\\",\\n \\"Status\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2019-03-01T08:00:00Z\\",\\n \\"AppName\\": \\"test\\",\\n \\"Description\\": \\"my first app.\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"ModificationTime\\": \\"2019-03-01T09:00:00Z\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"ResourceGroupId\\": \\"rg-aekzko7fsuj****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAppInfoResponse>\\n <Total>10</Total>\\n <RequestId>25818875-5F78-4A13-4D5C-D7393642****</RequestId>\\n <AppInfoList>\\n <Type>System</Type>\\n <Status>Normal</Status>\\n <CreationTime>2019-03-01T08:00:00Z</CreationTime>\\n <AppName>test</AppName>\\n <Description>my first app.</Description>\\n <AppId>app-****</AppId>\\n <ModificationTime>2019-03-01T09:00:00Z</ModificationTime>\\n </AppInfoList>\\n</ListAppInfoResponse>","errorExample":""}]', + 'title' => 'ListAppInfo', + 'description' => '### [](#)Usage notes'."\n" + ."\n" + .'You can query applications based on states.'."\n" + ."\n" + .'### [](#qps-)QPS limit'."\n" + ."\n" + .'You can call this operation up to 30 times per second per account. Requests that exceed this limit are dropped and you may experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see [QPS limits on API operations](~~342790~~).'."\n", + ], + 'AddVodStorageForApp' => [ + 'summary' => 'Binds a storage bucket to one or more applications in ApsaraVideo VOD.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '200259', + 'abilityTreeNodes' => [ + 'FEATUREvod3O95DN', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of applications. You can obtain the application ID from the `AppId` parameter in the response to the [CreateAppInfo](~~CreateAppInfo~~) or [ListAppInfo](~~ListAppInfo~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-****', + ], + ], + [ + 'name' => 'StorageLocation', + 'in' => 'query', + 'schema' => [ + 'description' => 'The address of an Object Storage Service (OSS) bucket. This parameter does not take effect. You can call this operation to add only VOD buckets.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', + ], + ], + [ + 'name' => 'StorageType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The storage class. Default value: **vod_oss_bucket**.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'vod_oss_bucket', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'StorageLocation' => [ + 'description' => 'The address of the VOD bucket.'."\n", + 'type' => 'string', + 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', + ], + ], + ], + ], + [], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"StorageLocation\\": \\"out-****.oss-cn-shanghai.aliyuncs.com\\"\\n}","type":"json"}]', + 'title' => 'AddVodStorageForApp', + 'description' => 'You can call this operation to add a buckets to an ApsaraVideo VOD applications.'."\n" + ."\n" + .'> You can add only one ApsaraVideo VOD bucket for each application. If you specify an AppId that does not exist or the ID of an application for which an VOD bucket is enabled, an error is returned.'."\n", + ], + 'AttachAppPolicyToIdentity' => [ + 'summary' => 'Grants a RAM user or RAM role permissions to access ApsaraVideo VOD applications.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39798', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'IdentityType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the identity. Valid values:'."\n" + ."\n" + .'* **RamUser**: a RAM user'."\n" + .'* **RamRole**: a RAM role'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'RamRole', + ], + ], + [ + 'name' => 'IdentityName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the RAM user or the name of the RAM role.'."\n" + ."\n" + .'* Specify the ID of the RAM user when the IdentityType parameter is set to RamUser.'."\n" + .'* Specify the name of the RAM role when the IdentityType parameter is set to RamRole.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '****', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Multi-application service](~~113600~~).'."\n" + ."\n" + .'> This parameter is optional only if you set the policy name to VODAppAdministratorAccess.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'app-****', + ], + ], + [ + 'name' => 'PolicyNames', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the policy. Only system policies are supported. Separate multiple policy names with commas (,). Valid values:'."\n" + ."\n" + .'* **VODAppFullAccess**: permissions to manage all resources in an application.'."\n" + .'* **VODAppReadOnlyAccess**: permissions to read all resources in an application.'."\n" + .'* **VODAppAdministratorAccess**: permissions of the application administrator.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VODAppFullAccess', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-****-D7393642CA58', + ], + 'NonExistPolicyNames' => [ + 'description' => 'The names of the policies that were not found.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the policy that was not found.'."\n", + 'type' => 'string', + 'example' => 'test****1', + ], + ], + 'FailedPolicyNames' => [ + 'description' => 'The names of the policies that failed to be granted to the RAM user or RAM role.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the policy that failed to be granted to the RAM user or RAM role.'."\n", + 'type' => 'string', + 'example' => 'test****2', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-****-D7393642CA58\\",\\n \\"NonExistPolicyNames\\": [\\n \\"test****1\\"\\n ],\\n \\"FailedPolicyNames\\": [\\n \\"test****2\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AttachAppPolicyToIdentityResponse>\\n <RequestId>25818875-5F78-4A13-****-D7393642CA58</RequestId>\\n <NonExistPolicyNames>test****1</NonExistPolicyNames>\\n <FailedPolicyNames>test****2</FailedPolicyNames>\\n</AttachAppPolicyToIdentityResponse>","errorExample":""}]', + 'title' => 'AttachAppPolicyToIdentity', + 'description' => '> You can grant a RAM user or RAM role permissions to access up to 10 applications.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | The error message returned because the multi-application service has not been activated. |'."\n" + .'| Forbidden.OperateApp | User not authorized to operate app. | 403 | The error message returned because you are not authorized to manage the application. |', + ], + 'DetachAppPolicyFromIdentity' => [ + 'summary' => 'Revokes application permissions from the specified identity. The identity may a RAM user or RAM role.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39923', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'IdentityType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the identity. Valid values:'."\n" + ."\n" + .'* **RamUser**: RAM user'."\n" + .'* **RamRole**: RAM role'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'RamUser', + ], + ], + [ + 'name' => 'IdentityName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the RAM user or the name of the RAM role.'."\n" + ."\n" + .'* Specifies the ID of the RAM user for this parameter if you set IdentityType to RamUser.'."\n" + .'* Specifies the name of the RAM role for this parameter if you set IdentityType to RamRole.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'test****name', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. This parameter is optional if you set PolicyNames to VODAppAdministratorAccess. This parameter is required if you set PolicyNames to a value other than VODAppAdministratorAccess.'."\n" + ."\n" + .'* Default value: **app-1000000**.'."\n" + .'* For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'app-****', + ], + ], + [ + 'name' => 'PolicyNames', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the policy. Separate multiple names with commas (,). Only system policies are supported.'."\n" + ."\n" + .'* **VODAppFullAccess**: permissions to manage all resources in an application'."\n" + .'* **VODAppReadOnlyAccess**: permissions to read all resources in an application'."\n" + .'* **VODAppAdministratorAccess**: permissions of the application administrator'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'VODAppFullAccess', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-****-D7393642C', + ], + 'NonExistPolicyNames' => [ + 'description' => 'The name of the policy that was not found.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the policy that was not found.'."\n", + 'type' => 'string', + 'example' => 'test****1', + ], + ], + 'FailedPolicyNames' => [ + 'description' => 'The names of the policies that failed to be granted to the RAM user or RAM role.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the policy that failed to be granted to the RAM user or RAM role.'."\n", + 'type' => 'string', + 'example' => 'test****2', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-****-D7393642C\\",\\n \\"NonExistPolicyNames\\": [\\n \\"test****1\\"\\n ],\\n \\"FailedPolicyNames\\": [\\n \\"test****2\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DetachAppPolicyFromIdentityResponse>\\n <RequestId>25818875-5F78-4A13-****-D7393642C</RequestId>\\n <FailedPolicyNames>test****1</FailedPolicyNames>\\n <NonExistPolicyNames>test****2</NonExistPolicyNames>\\n</DetachAppPolicyFromIdentityResponse>","errorExample":""}]', + 'title' => 'DetachAppPolicyFromIdentity', + 'description' => '> You can grant a maximum of 10 application permissions to a RAM user or RAM role.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | The error message returned because the multi-application service has not been activated. |'."\n" + .'| Forbidden.OperateApp | User not authorized to operate app. | 403 | The error message returned because you are not authorized to manage the application. |', + ], + 'ListAppPoliciesForIdentity' => [ + 'summary' => 'Queries the application policies that are attached to the specified identity. The identity may be a RAM user or RAM role.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40044', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'IdentityType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the identity. Valid values:'."\n" + ."\n" + .'* **RamUser**: a RAM user.'."\n" + .'* **RamRole**: a RAM role.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'RamUser', + ], + ], + [ + 'name' => 'IdentityName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the identity.'."\n" + ."\n" + .'* Specifies the ID of the RAM user when the IdentityType parameter is set to RamUser.'."\n" + .'* Specifies the name of the RAM role when the IdentityType parameter is set to RamRole.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'test****name', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C9F3E715-B3B8-4D*****27-3A70346F0E04', + ], + 'AppPolicyList' => [ + 'description' => 'The details of each policy.'."\n" + ."\n" + .'> A maximum of 100 entries can be returned.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the application policy was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-01T01:01:01Z', + ], + 'Description' => [ + 'description' => 'The description of the policy.'."\n", + 'type' => 'string', + 'example' => 'App full access permission', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-****', + ], + 'PolicyValue' => [ + 'description' => 'The content of the policy.'."\n", + 'type' => 'string', + 'example' => '****', + ], + 'PolicyName' => [ + 'description' => 'The name of the policy.'."\n", + 'type' => 'string', + 'example' => 'VODAppFullAccess', + ], + 'ModificationTime' => [ + 'description' => 'The last time when the application policy was modified. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2019-01-01T01:08:01Z', + ], + 'PolicyType' => [ + 'description' => 'The type of the policy. Valid values:'."\n" + ."\n" + .'* **System**'."\n" + .'* **Custom**'."\n", + 'type' => 'string', + 'example' => 'System', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C9F3E715-B3B8-4D*****27-3A70346F0E04\\",\\n \\"AppPolicyList\\": [\\n {\\n \\"CreationTime\\": \\"2019-01-01T01:01:01Z\\",\\n \\"Description\\": \\"App full access permission\\",\\n \\"AppId\\": \\"app-****\\",\\n \\"PolicyValue\\": \\"****\\",\\n \\"PolicyName\\": \\"VODAppFullAccess\\",\\n \\"ModificationTime\\": \\"2019-01-01T01:08:01Z\\",\\n \\"PolicyType\\": \\"System\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAppPoliciesForIdentityResponse>\\n<RequestId>C9F3E715-B3B8-4D*****27-3A70346F0E04</RequestId>\\n<AppPolicyList>\\n <PolicyType>System</PolicyType>\\n <Description>App full access permission</Description>\\n <AppId>app-****</AppId>\\n <PolicyName>VODAppFullAccess</PolicyName>\\n <PolicyValue>****</PolicyValue>\\n <CreationTime>2019-01-01T01:01:01Z</CreationTime>\\n <ModificationTime>2019-01-01T01:08:01Z</ModificationTime>\\n</AppPolicyList>\\n</ListAppPoliciesForIdentityResponse>","errorExample":""}]', + 'title' => 'ListAppPoliciesForIdentity', + 'description' => '> The IdentityType and IdentityName parameters take effect only when an identity assumes the application administrator role to call this operation. Otherwise, only application policies that are attached to the current identity are returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | The error message returned because the multi-application service has not been activated. |', + ], + 'MoveAppResource' => [ + 'summary' => 'Migrates resources between applications. The application administrator can directly migrate resources between applications. Resource Access Management (RAM) users or RAM roles must obtain the write permissions on the source and destination applications before they migrate resources between applications. Multiple resources can be migrated at a time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40094', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TargetAppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application to which resources are migrated. Default value: **app-1000000**. For more information, see [Use the multi-application service](~~113600~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'app-****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource type. Valid values:'."\n" + ."\n" + .'* **video**: video files.'."\n" + .'* **image**: image files.'."\n" + .'* **attached**: auxiliary media assets.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'video', + ], + ], + [ + 'name' => 'ResourceIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource ID. You can specify a maximum of 20 IDs at a time. Separate multiple IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '9afb4****06de180880e,f7bba****caa546cfe2ba', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-BEF6-****', + ], + 'NonExistResourceIds' => [ + 'description' => 'The IDs of the resources that were not found.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the resource that was not found.'."\n", + 'type' => 'string', + 'example' => '9afb4****06de180880e', + ], + ], + 'FailedResourceIds' => [ + 'description' => 'The IDs of the resources that failed to be migrated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the resource that failed to be migrated.'."\n", + 'type' => 'string', + 'example' => 'f7bba****caa546cfe2ba', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-****\\",\\n \\"NonExistResourceIds\\": [\\n \\"9afb4****06de180880e\\"\\n ],\\n \\"FailedResourceIds\\": [\\n \\"f7bba****caa546cfe2ba\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<MoveAppResourceResponse>\\n <RequestId>25818875-5F78-4A13-BEF6-****</RequestId>\\n <FailedResourceIds>9afb4****06de180880e</FailedResourceIds>\\n <NonExistResourceIds>f7bba****caa546cfe2ba</NonExistResourceIds>\\n</MoveAppResourceResponse>","errorExample":""}]', + 'title' => 'MoveAppResource', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## Common errors'."\n" + ."\n" + .'The following table describes the common errors that this operation can return.'."\n" + ."\n" + .'| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------- | ------------- | ---------------- | ----------- |'."\n" + .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | The error message returned because the multi-application service has not been activated. |'."\n" + .'| Forbidden.OperateAppResource | Invalid app permission to operate on the specified resource. | 403 | The error message returned because you are not authorized to manage resources under the destination application. |', + ], + 'GetAppPlayKey' => [ + 'summary' => '获取应用播放密钥', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39805', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'AppPlayKey' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AppId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'app-1000000', + ], + 'PlayKey' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'yzNgTUtAl6HAuosIA', + ], + 'CreationTime' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2025-03-18T03:59:01Z', + ], + 'ModificationTime' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2025-03-18T03:59:01Z', + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"AppPlayKey\\": {\\n \\"AppId\\": \\"app-1000000\\",\\n \\"PlayKey\\": \\"yzNgTUtAl6HAuosIA\\",\\n \\"CreationTime\\": \\"2025-03-18T03:59:01Z\\",\\n \\"ModificationTime\\": \\"2025-03-18T03:59:01Z\\"\\n }\\n}","type":"json"}]', + ], + 'SetAppPlayKey' => [ + 'summary' => '设置应用播放密钥', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39805', + 'abilityTreeNodes' => [ + 'FEATUREvodHJ3KAX', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000231', + ], + ], + [ + 'name' => 'PlayKey', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'yzNgTUtAl6HAuosIA', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","type":"json"}]', + ], + 'SetCrossdomainContent' => [ + 'summary' => 'Updates the cross-domain policy file crossdomain.xml.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40126', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Content', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the cross-domain policy file. The file must be in the XML format and can contain up to 2,048 characters.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '<cross-domain-policy><allow-access-from domain="*"/><allow-http-request-headers-from domain="*" headers="*" secure="false"/></cross-domain-policy>', + ], + ], + [ + 'name' => 'StorageLocation', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the Object Storage Service (OSS) bucket.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'outin-67870fd5b****1e98a3900163e1c35d5.oss-cn-shanghai.aliyuncs.com', + ], + ], + [ + 'name' => 'ResourceRealOwnerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource owner.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '3461111', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-****-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-****-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<SetCrossdomainContentResponse>\\r\\n <RequestId>25818875-5F78-4A13-****-D7393642CA58</RequestId>\\r\\n</SetCrossdomainContentResponse>","errorExample":""}]', + 'title' => 'SetCrossdomainContent', + 'description' => '> After you use the cross-domain policy file to update the resources on the origin server, you must refresh the resources that are cached on Alibaba Cloud CDN nodes. You can use the ApsaraVideo VOD console to refresh resources. For more information, see [Refresh and prefetch](~~86098~~). Alternatively, you can call the [RefreshVodObjectCaches](~~69215~~) operation to refresh resources.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteMessageCallback' => [ + 'summary' => 'Deletes the callback method, callback URL, and event type of an event notification.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39838', + 'abilityTreeNodes' => [ + 'FEATUREvod9NUA3V', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. If you do not set this parameter, the default value **app-1000000** is used.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'app-1000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A13-****-D7393642CA58', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-****-D7393642CA58\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteMessageCallbackResponse>\\r\\n <RequestId>25818875-5F78-4A13-****-D7393642CA58</RequestId>\\r\\n</DeleteMessageCallbackResponse>","errorExample":""}]', + 'title' => 'DeleteMessageCallback', + 'description' => '> For more information, see [Overview](~~55627~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SetMessageCallback' => [ + 'summary' => 'Sets the callback method, callback URL, and event type of an event notification.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '40150', + 'abilityTreeNodes' => [ + 'FEATUREvod9NUA3V', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CallbackType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The callback method. Valid values:'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **Simple Message Queue(formerly MNS)**', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + ], + [ + 'name' => 'CallbackURL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The callback URL. This parameter is required if you set CallbackType to **HTTP**. The callback URL cannot exceed 256 bytes in length. You can specify only one callback URL.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'http://developer.aliyundoc.com', + ], + ], + [ + 'name' => 'EventTypeList', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the callback event. If you do not set this parameter, notifications for all types of events are disabled. If you set this parameter to **ALL**, notifications for all types of events are enabled. You can specify the event types for which notifications are enabled. Separate multiple event types with commas (,). For more information about the valid values of this parameter, see [Overview](~~55627~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FileUploadComplete', + ], + ], + [ + 'name' => 'AuthSwitch', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable callback authentication. This parameter takes effect only when you set CallbackType to **HTTP**. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + ], + ], + [ + 'name' => 'AuthKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The authentication key. The key can be up to 32 characters in length and must contain uppercase letters, lowercase letters, and digits. This parameter takes effect only when you set CallbackType to **HTTP**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Dsf346dvet', + ], + ], + [ + 'name' => 'MnsEndpoint', + 'in' => 'query', + 'schema' => [ + 'description' => 'The public endpoint of Message Service (MNS). This parameter only takes effect when the CallbackType parameter is set to **Simple Message Queue(formerly MNS)**. To obtain the public endpoint, log on to the [Simple Message Queue(formerly MNS) console](https://account.aliyun.com/login/login.html) and click **Get Endpoint** in the upper-right corner of the Topics page. For more information, see [Endpoint](~~27480~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'http://****.mns.cn-shanghai.aliyuncs.com/', + ], + ], + [ + 'name' => 'MnsQueueName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Simple Message Queue(formerly MNS). You can obtain the name of the Simple Message Queue(formerly MNS) on the **Queues** page in the [Simple Message Queue(formerly MNS) console](https://account.aliyun.com/login/login.html). This parameter is required when you set CallbackType to **Simple Message Queue(formerly MNS)**.', + 'type' => 'string', + 'required' => false, + 'example' => 'quene_name', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. If you leave this parameter empty, the default value **app-1000000** is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetMessageCallbackResponse>\\n <RequestId>25818875-5F78-4AF6-D7393642CA58****</RequestId>\\n</SetMessageCallbackResponse>","errorExample":""}]', + 'title' => 'SetMessageCallback', + 'description' => 'HTTP callbacks and MNS callbacks are supported. For more information, see [Overview](~~55627~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetMessageCallback' => [ + 'summary' => 'Queries the callback method, callback URL, and event type of an event notification.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '39965', + 'abilityTreeNodes' => [ + 'FEATUREvod9NUA3V', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. If you do not set this parameter, the default value **app-1000000** is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-1000000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '272A222A-F7F7-4A3E-****-F531574F1234', + ], + 'MessageCallback' => [ + 'description' => 'The configuration of the event notification.'."\n", + 'type' => 'object', + 'properties' => [ + 'CallbackType' => [ + 'description' => 'The callback method. Valid values:'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **MNS**'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'CallbackURL' => [ + 'description' => 'The callback URL. This parameter is returned only for HTTP callbacks.'."\n", + 'type' => 'string', + 'example' => 'http://test.com/test', + ], + 'EventTypeList' => [ + 'description' => 'The type of the callback event.'."\n", + 'type' => 'string', + 'example' => 'FileUploadComplete,StreamTranscodeComplete,TranscodeComplete,SnapshotComplete,AIComplete,AddLiveRecordVideoComplete,CreateAuditComplete,UploadByURLComplete,ProduceMediaComplete,LiveRecordVideoComposeStart,ImageUploadComplete,VideoAnalysisComplete', + ], + 'AppId' => [ + 'description' => 'The ID of the application.'."\n", + 'type' => 'string', + 'example' => 'app-1000000', + ], + 'MnsQueueName' => [ + 'description' => 'The name of the Message Service (MNS) queue. This parameter is returned only for MNS callbacks.'."\n", + 'type' => 'string', + 'example' => 'vodcallback', + ], + 'AuthKey' => [ + 'description' => 'The cryptographic key. This parameter is returned only for HTTP callbacks.'."\n", + 'type' => 'string', + 'example' => '12345678abc', + ], + 'AuthSwitch' => [ + 'description' => 'Indicates whether callback authentication is enabled. This parameter is returned only for HTTP callbacks. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'MnsEndpoint' => [ + 'description' => 'The public endpoint of MNS. This parameter is returned only for MNS callbacks.'."\n", + 'type' => 'string', + 'example' => 'http://1234567.mns.cn-shanghai-internal.aliyuncs.com/', + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"272A222A-F7F7-4A3E-****-F531574F1234\\",\\n \\"MessageCallback\\": {\\n \\"CallbackType\\": \\"HTTP\\",\\n \\"CallbackURL\\": \\"http://test.com/test\\",\\n \\"EventTypeList\\": \\"FileUploadComplete,StreamTranscodeComplete,TranscodeComplete,SnapshotComplete,AIComplete,AddLiveRecordVideoComplete,CreateAuditComplete,UploadByURLComplete,ProduceMediaComplete,LiveRecordVideoComposeStart,ImageUploadComplete,VideoAnalysisComplete\\",\\n \\"AppId\\": \\"app-1000000\\",\\n \\"MnsQueueName\\": \\"vodcallback\\",\\n \\"AuthKey\\": \\"12345678abc\\",\\n \\"AuthSwitch\\": \\"on\\",\\n \\"MnsEndpoint\\": \\"http://1234567.mns.cn-shanghai-internal.aliyuncs.com/\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMessageCallbackResponse>\\r\\n\\t<MessageCallback>\\r\\n\\t\\t<CallbackType>HTTP</CallbackType>\\r\\n\\t\\t<EventTypeList>FileUploadComplete,StreamTranscodeComplete,TranscodeComplete,SnapshotComplete,AIComplete,AddLiveRecordVideoComplete,CreateAuditComplete,UploadByURLComplete,ProduceMediaComplete,LiveRecordVideoComposeStart,ImageUploadComplete,VideoAnalysisComplete</EventTypeList>\\r\\n\\t\\t<AuthKey>12345678abc</AuthKey>\\r\\n\\t\\t<AppId>app-1000000</AppId>\\r\\n\\t\\t<MnsQueueName>vodcallback</MnsQueueName>\\r\\n\\t\\t<CallbackURL>http://test.com/test</CallbackURL>\\r\\n\\t\\t<MnsEndpoint>http://1234567.mns.cn-shanghai-internal.aliyuncs.com/</MnsEndpoint>\\r\\n\\t\\t<AuthSwitch>off</AuthSwitch>\\r\\n\\t</MessageCallback>\\r\\n\\t<RequestId>272A222A-F7F7-4A3E-****-F531574F1234</RequestId>\\r\\n</GetMessageCallbackResponse>","errorExample":""}]', + 'title' => 'GetMessageCallback', + 'description' => '> For more information, see [Event notification](~~55627~~).'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ChangeResourceGroup' => [ + 'summary' => 'Transfers a resource to a specified resource group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '161156', + 'abilityTreeNodes' => [ + 'FEATUREvod7FWSSO', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'title' => '资源类型', + 'description' => 'The type of resource', + 'type' => 'string', + 'required' => false, + 'example' => 'AppInfo', + 'default' => 'Storage', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'title' => '资源Id', + 'description' => 'The ID of resource', + 'type' => 'string', + 'required' => true, + 'example' => 'app-xxxxxxx', + ], + ], + [ + 'name' => 'ResourceRegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '地域Id', + 'description' => 'The ID of the region.', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '目标资源组', + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'rg-aekzko7fsuj****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission.ChangeResourceGroup', + 'errorMessage' => 'You are not authorized to change resourcegroup', + ], + [ + 'errorCode' => 'MissingParameter.ResourceRegionId', + 'errorMessage' => 'The ResourceRegionId parameters that are required for processing this request are missing', + ], + [ + 'errorCode' => 'MissingParameter.ResourceId', + 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing', + ], + [ + 'errorCode' => 'MissingParameter.ResourceGroupId', + 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing', + ], + [ + 'errorCode' => 'InvalidResourceGroup', + 'errorMessage' => 'The specified ResourceGroupId is invalid', + ], + [ + 'errorCode' => 'SystemError', + 'errorMessage' => 'A system error occurred while processing your request', + ], + [ + 'errorCode' => 'ResourceNotFound', + 'errorMessage' => ' The specified resource is not found', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","type":"json"}]', + 'title' => 'ChangeResourceGroup', + ], + 'DescribeVodDomainMax95BpsData' => [ + 'summary' => 'Queries the 95th percentile bandwidth data of an accelerated domain name.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '235311', + 'abilityTreeNodes' => [ + 'FEATUREvodB8HTWV', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name to be queried for acceleration. If the parameter is empty, the data merged from all accelerated domain names will be returned by default.'."\n" + ."\n" + .'> Batch domain name queries are not supported.', + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'Start time point. The date format follows the ISO8601 representation and uses UTC time, in the format yyyy-MM-dd\'T\'HH:mm:ssZ.', + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-11T12:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'End time point. The date format follows the ISO8601 representation and uses UTC time, in the format yyyy-MM-dd\'T\'HH:mm:ssZ.', + 'type' => 'string', + 'required' => false, + 'example' => '2017-01-12T13:00:00Z', + ], + ], + [ + 'name' => 'TimePoint', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start time point for getting the data. The date format follows the ISO8601 representation and uses UTC time, in the format yyyy-MM-dd\'T\'HH:mm:ssZ.', + 'type' => 'string', + 'required' => false, + 'example' => '2017-12-21T10:00:00Z', + ], + ], + [ + 'name' => 'Cycle', + 'in' => 'query', + 'schema' => [ + 'description' => 'The cycle to query the 95th percentile bandwidth data. Valid values:'."\n" + ."\n" + .'* day (default)'."\n" + .'* month'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'month', + 'enum' => [ + 'day', + 'month', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4A*****F6-D7393642CA58', + ], + 'DomainName' => [ + 'description' => 'The domain name for CDN.', + 'type' => 'string', + 'example' => 'example.com', + ], + 'EndTime' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T13:00:00Z', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'example' => '2017-01-11T12:00:00Z', + ], + 'DomesticMax95Bps' => [ + 'description' => 'The 95th percentile bandwidth in the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '16777590.28'."\n", + ], + 'OverseasMax95Bps' => [ + 'description' => 'The 95th percentile bandwidth outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'Max95Bps' => [ + 'description' => 'The 95th percentile bandwidth.'."\n", + 'type' => 'string', + 'example' => '16777590.28'."\n", + ], + 'DetailData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Max95Detail' => [ + 'description' => 'Details of the 95th percentile bandwidth.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'The timestamp of the returned data.'."\n", + 'type' => 'string', + 'example' => '2024-01-18 10:11:32', + ], + 'Area' => [ + 'description' => 'The billable region where the peak 95 data was collected.', + 'type' => 'string', + 'example' => 'CN', + ], + 'Max95BpsPeakTime' => [ + 'description' => 'The time corresponding to the 95th percentile bandwidth peak.', + 'type' => 'string', + 'example' => '2015-12-11T21:05:00Z'."\n", + ], + 'Max95Bps' => [ + 'description' => 'The 95th percentile bandwidth.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '16777590.28'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified value of parameter StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified value of parameter EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', + ], + [ + 'errorCode' => 'InvalidTimePoint.Malformed', + 'errorMessage' => 'Specified TimePoint is malformed.', + ], + [ + 'errorCode' => 'InvalidTimeSpan', + 'errorMessage' => 'The time span exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified StartTime or EndTime is malformed.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided does not exist in our records.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"EndTime\\": \\"2017-01-11T13:00:00Z\\",\\n \\"StartTime\\": \\"2017-01-11T12:00:00Z\\",\\n \\"DomesticMax95Bps\\": \\"16777590.28\\\\n\\",\\n \\"OverseasMax95Bps\\": \\"0\\",\\n \\"Max95Bps\\": \\"16777590.28\\\\n\\",\\n \\"DetailData\\": {\\n \\"Max95Detail\\": [\\n {\\n \\"TimeStamp\\": \\"2024-01-18 10:11:32\\",\\n \\"Area\\": \\"CN\\",\\n \\"Max95BpsPeakTime\\": \\"2015-12-11T21:05:00Z\\\\n\\",\\n \\"Max95Bps\\": 16777590.28\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodDomainMax95BpsData', + ], + 'DescribeVodSSLCertificateList' => [ + 'summary' => 'Queries the certificates by domain name.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '236814', + 'abilityTreeNodes' => [ + 'FEATUREvod0O92P0', + ], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: integers from 1 to 1000.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + 'default' => '1000', + ], + ], + [ + 'name' => 'SearchKeyword', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword that is used to query certificates.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'certabc'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '25818875-5F78-4AF6-D7393642CA58****', + ], + 'CertificateListModel' => [ + 'description' => 'The information about certificates.'."\n", + 'type' => 'object', + 'properties' => [ + 'Count' => [ + 'description' => 'The number of certificates that are returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'CertList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cert' => [ + 'description' => 'The list of certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the certificate.'."\n", + 'type' => 'object', + 'properties' => [ + 'LastTime' => [ + 'description' => 'The time when the certificate was last modified. Unit: milliseconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1512388610', + ], + 'Fingerprint' => [ + 'description' => 'The fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '****', + ], + 'CertName' => [ + 'description' => 'The name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'video-ssl', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => '****', + ], + 'CertId' => [ + 'description' => 'The ID of the certificate.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '235437', + ], + 'Common' => [ + 'description' => 'The Common Name (CN) attribute of the certificate. In most cases, the CN is a domain name.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'CertRegion' => [ + 'description' => 'The region of the certificate. Valid values: **cn-hangzhou** and **ap-southeast-1**. Default value: **cn-hangzhou**.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + 'PageNumber' => [ + 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page. Valid values: integers from 1 to 1000.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotFoundCertList', + 'errorMessage' => 'The certList is null.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"LastTime\\": 1512388610,\\n \\"Fingerprint\\": \\"****\\",\\n \\"CertName\\": \\"video-ssl\\",\\n \\"Issuer\\": \\"****\\",\\n \\"CertId\\": 235437,\\n \\"Common\\": \\"test\\",\\n \\"CertRegion\\": \\"cn-hangzhou\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n }\\n}","type":"json"}]', + 'title' => 'DescribeVodSSLCertificateList', + ], + 'SetVodDomainSSLCertificate' => [ + 'summary' => 'Enables or disables the SSL certificate of a domain name and updates the certificate information.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '236821', + 'abilityTreeNodes' => [ + 'FEATUREvod0O92P0', + ], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => 'VOD acceleration domain.', + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'CertName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cert_name', + ], + ], + [ + 'name' => 'CertId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the certificate.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12342707', + ], + ], + [ + 'name' => 'CertType', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The type of the certificate.'."\n" + ."\n" + .'* **upload**: a user-uploaded SSL certificate.'."\n" + .'* **cas**: a certificate that is acquired through Certificate Management Service.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cas', + 'enum' => [ + 'cas', + 'upload', + ], + ], + ], + [ + 'name' => 'SSLProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the SSL certificate. Default value: off. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'off', + ], + ], + [ + 'name' => 'SSLPub', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the certificate. This parameter is required only if you enable the SSL certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '****', + ], + ], + [ + 'name' => 'SSLPri', + 'in' => 'query', + 'schema' => [ + 'description' => 'The private key. This parameter is required only if you enable the certificate.', + 'type' => 'string', + 'required' => false, + 'example' => '****', + ], + ], + [ + 'name' => 'CertRegion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region of the certificate. Valid values:'."\n" + ."\n" + .'* **ap-southeast-1**: Singapore'."\n" + .'* **cn-hangzhou**: China (Hangzhou)'."\n" + ."\n" + .'Default value: **cn-hangzhou**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Env', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether the certificate is issued in canary releases. If you set this parameter to **staging**, the certificate is issued in canary releases. If you do not specify this parameter or set this parameter to other values, the certificate is officially issued.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'staging', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F4C6D5BE-BF13-45*****6C-516EA8906DCD', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidSSLProtocol.ValueNotSupported', + 'errorMessage' => 'The specified SSLProtocol is invalid.', + ], + [ + 'errorCode' => 'SSLPub.MissingParameter', + 'errorMessage' => 'The SSLPub parameter is required.', + ], + [ + 'errorCode' => 'SSLPri.MissingParameter', + 'errorMessage' => 'The SSLPri parameter is required.', + ], + [ + 'errorCode' => 'InvalidSSLPub', + 'errorMessage' => 'The specified SSLPub is invalid.', + ], + [ + 'errorCode' => 'InvalidSSLPri', + 'errorMessage' => 'The specified SSLPri is invalid.', + ], + [ + 'errorCode' => 'Certificate.MissMatch', + 'errorMessage' => 'The SSLPri does not match the certificate.', + ], + [ + 'errorCode' => 'InvalidCertificate.TooLong', + 'errorMessage' => 'The maximum length of the certificate is exceeded.', + ], + [ + 'errorCode' => 'InvalidCertName.TooLong', + 'errorMessage' => 'The length of the certificate name cannot exceed 128 characters.', + ], + [ + 'errorCode' => 'AuthenticationFailed', + 'errorMessage' => 'Error performing verification.', + ], + [ + 'errorCode' => 'SetDomainCertificate.ParameterError', + 'errorMessage' => 'The specified parameters are invalid.', + ], + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + ], + [ + 'errorCode' => 'DeleteFailed', + 'errorMessage' => 'Error deleting the certificate.', + ], + [ + 'errorCode' => 'Certificate.NotFind', + 'errorMessage' => 'The certificate does not exist.', + ], + [ + 'errorCode' => 'Certificate.Duplicated', + 'errorMessage' => 'The certificate name already exists.', + ], + [ + 'errorCode' => 'Certificate.FormatError', + 'errorMessage' => 'The format of the certificate is invalid.', + ], + [ + 'errorCode' => 'Certificate.KeyNull', + 'errorMessage' => 'The private key is required.', + ], + [ + 'errorCode' => 'Key.Malformed', + 'errorMessage' => 'The specified Key format is invalid.', + ], + [ + 'errorCode' => 'CertStorage.failed', + 'errorMessage' => 'Error saving the certificate.', + ], + [ + 'errorCode' => 'CertificateContent.Duplicated', + 'errorMessage' => 'The certificate has been uploaded; do not upload again.', + ], + [ + 'errorCode' => 'Certificate.Expired', + 'errorMessage' => 'The certificate has expired.', + ], + [ + 'errorCode' => 'InvalidDomain.notOnline', + 'errorMessage' => 'The domain is offline. Check the status of the domain and try again later.', + ], + [ + 'errorCode' => 'Decode.Error', + 'errorMessage' => 'Error decoding the SSLPub or SSLPri certificate.', + ], + [ + 'errorCode' => 'sslPub.Error', + 'errorMessage' => 'Error encoding SSLPub.', + ], + [ + 'errorCode' => 'sslPri.Error', + 'errorMessage' => 'Error encoding SSLPri.', + ], + [ + 'errorCode' => 'DomainInSafeMode', + 'errorMessage' => 'The domain is in safe mode. To request permission, contact Customer Service.', + ], + [ + 'errorCode' => 'CreateCertificateFailed', + 'errorMessage' => 'Create certificate failed,please try again.', + ], + [ + 'errorCode' => 'Abs.CertRegion.ValueNotSupported', + 'errorMessage' => 'CertRegion is not supported.', + ], + [ + 'errorCode' => 'CertNameAlreadyExists', + 'errorMessage' => 'The CertName already exists.', + ], + [ + 'errorCode' => 'InvalidDomain.Offline', + 'errorMessage' => 'The domain provided is offline.', + ], + [ + 'errorCode' => 'DomainOwnerVerifyFail', + 'errorMessage' => 'Owner verification of the root domain failed.', + ], + ], + 403 => [ + [ + 'errorCode' => 'DomainInProtectedMode', + 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', + ], + ], + [ + [ + 'errorCode' => 'CertName.MissingParameter', + 'errorMessage' => 'You must specify CertName.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F4C6D5BE-BF13-45*****6C-516EA8906DCD\\"\\n}","type":"json"}]', + 'title' => 'SetVodDomainSSLCertificate', + ], + 'DescribeVodEditingUsageData' => [ + 'summary' => 'Queries the online editing usage in ApsaraVideo VOD.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '208113', + 'abilityTreeNodes' => [ + 'FEATUREvodXLM48P', + ], + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '2024-11-06T16:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '2024-11-07T16:00:00Z', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'Specification', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'H264.SD', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'app-****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => '6CB55B62-6E5F-54D1-80BF-DFA3DE9F0***', + ], + 'StartTime' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2024-11-06T16:00:00Z', + ], + 'EndTime' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2024-11-07T16:00:00Z', + ], + 'EditingData' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Specification' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'H264.SD', + ], + 'Region' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'cn-beijing', + ], + 'TimeStamp' => [ + 'description' => '', + 'type' => 'string', + 'example' => '2024-11-06T16:00:00Z', + ], + 'Duration' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'Specified StartTime is malformed.', + ], + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'Specified EndTime is malformed.', + ], + [ + 'errorCode' => 'InvalidParameterType', + 'errorMessage' => 'The specified Type is invalid.', + ], + [ + 'errorCode' => 'InvalidTimeSpan', + 'errorMessage' => 'The time span exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid input parameter.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6CB55B62-6E5F-54D1-80BF-DFA3DE9F0***\\",\\n \\"StartTime\\": \\"2024-11-06T16:00:00Z\\",\\n \\"EndTime\\": \\"2024-11-07T16:00:00Z\\",\\n \\"EditingData\\": [\\n {\\n \\"Specification\\": \\"H264.SD\\",\\n \\"Region\\": \\"cn-beijing\\",\\n \\"TimeStamp\\": \\"2024-11-06T16:00:00Z\\",\\n \\"Duration\\": 123\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeVodEditingUsageData', + ], + 'DescribeVodUserVipsByDomain' => [ + 'summary' => '获取域名Vip', + 'path' => '', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREvodHI57GB', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'Available', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'DomainName' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'example.com', + ], + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => '6730AC93-7B12-4B*****7F-49EE1FE8BC49', + ], + 'Vips' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Vip' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => '163.181.xxx.xxx', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified value of parameter "DomainName" can not be empty.', + ], + [ + 'errorCode' => 'InvalidDomain.NotFound', + 'errorMessage' => 'The domain provided is offline or not exist.', + ], + [ + 'errorCode' => 'IllegalOperation', + 'errorMessage' => 'Illegal domain operate is not permitted.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"6730AC93-7B12-4B*****7F-49EE1FE8BC49\\",\\n \\"Vips\\": {\\n \\"Vip\\": [\\n \\"163.181.xxx.xxx\\"\\n ]\\n }\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'vod.cn-beijing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'vod.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'vod.cn-shenzhen.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'vod.cn-hongkong.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'vod.ap-northeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'vod.ap-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'vod.ap-southeast-5.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'vod.eu-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'vod.us-west-1.aliyuncs.com', + ], + ], +]; |
