summaryrefslogtreecommitdiff
path: root/data/en_us/vod
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/vod
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
Diffstat (limited to 'data/en_us/vod')
-rw-r--r--data/en_us/vod/2017-03-21/api-docs.php46391
1 files changed, 20841 insertions, 25550 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
index bd7ce89..051422c 100644
--- a/data/en_us/vod/2017-03-21/api-docs.php
+++ b/data/en_us/vod/2017-03-21/api-docs.php
@@ -1,618 +1,322 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'vod',
- 'version' => '2017-03-21',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'vod', 'version' => '2017-03-21'],
'directories' => [
[
- 'id' => 347483,
- 'title' => null,
+ 'children' => ['CreateUploadVideo', 'RefreshUploadVideo', 'CreateUploadImage', 'CreateUploadAttachedMedia', 'GetUploadDetails', 'RegisterMedia'],
'type' => 'directory',
- 'children' => [
- 'CreateUploadVideo',
- 'RefreshUploadVideo',
- 'CreateUploadImage',
- 'CreateUploadAttachedMedia',
- 'UploadMediaByURL',
- 'GetURLUploadInfos',
- 'CancelUrlUploadJobs',
- 'UploadStreamByURL',
- 'DeleteMultipartUpload',
- 'GetUploadDetails',
- 'RegisterMedia',
- ],
+ 'title' => 'Media upload',
],
[
- 'id' => 347495,
- 'title' => null,
+ 'children' => ['GetVideoPlayAuth'],
'type' => 'directory',
- 'children' => [
- 'GetPlayInfo',
- 'GetVideoPlayAuth',
- ],
+ 'title' => 'Audio and video playback',
],
[
- 'id' => 347498,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347499,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'SearchMedia',
- ],
- ],
- [
- 'id' => 347501,
- 'title' => null,
+ 'children' => ['GetVideoInfo', 'GetVideoInfos', 'GetMezzanineInfo', 'UpdateVideoInfo', 'UpdateVideoInfos', 'DeleteMezzanines', 'DeleteStream', 'DeleteVideo'],
'type' => 'directory',
- 'children' => [
- 'UpdateMediaStorageClass',
- 'RestoreMedia',
- ],
+ 'title' => 'Audio and video management',
],
[
- 'id' => 347504,
- 'title' => null,
+ 'children' => ['GetAttachedMediaInfo', 'UpdateAttachedMediaInfos'],
'type' => 'directory',
- 'children' => [
- 'AddCategory',
- 'UpdateCategory',
- 'DeleteCategory',
- 'GetCategories',
- ],
+ 'title' => 'Auxiliary media asset management',
],
[
- 'id' => 347509,
- 'title' => null,
+ 'children' => ['GetImageInfos', 'UpdateImageInfos'],
'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',
- ],
+ 'title' => 'Image management',
],
],
+ 'type' => 'directory',
+ 'title' => 'Media asset management',
],
[
- 'id' => 347534,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347535,
- 'title' => null,
+ 'children' => ['SubmitTranscodeJobs', 'SubmitPreprocessJobs', 'SubmitWorkflowJob'],
'type' => 'directory',
- 'children' => [
- 'SubmitTranscodeJobs',
- 'SubmitSnapshotJob',
- 'SubmitPreprocessJobs',
- 'SubmitDynamicImageJob',
- 'SubmitWorkflowJob',
- ],
+ 'title' => 'Initiate processing',
],
[
- 'id' => 347541,
- 'title' => null,
+ 'children' => ['AddTranscodeTemplateGroup', 'UpdateTranscodeTemplateGroup', 'GetTranscodeTemplateGroup'],
'type' => 'directory',
- 'children' => [
- 'AddTranscodeTemplateGroup',
- 'UpdateTranscodeTemplateGroup',
- 'SetDefaultTranscodeTemplateGroup',
- 'ListTranscodeTemplateGroup',
- 'GetTranscodeTemplateGroup',
- 'DeleteTranscodeTemplateGroup',
- ],
- ],
- [
- 'id' => 347548,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'AddVodTemplate',
- 'UpdateVodTemplate',
- 'GetVodTemplate',
- 'ListVodTemplate',
- 'DeleteVodTemplate',
- ],
+ 'title' => 'Transcoding templates',
],
[
- 'id' => 347554,
- 'title' => null,
+ 'children' => ['ListVodTemplate'],
'type' => 'directory',
- 'children' => [
- 'AddWatermark',
- 'UpdateWatermark',
- 'DeleteWatermark',
- 'SetDefaultWatermark',
- 'GetWatermark',
- 'ListWatermark',
- ],
+ 'title' => 'Snapshot templates',
],
[
- 'id' => 347561,
- 'title' => null,
+ 'children' => ['AddWatermark', 'GetWatermark', 'ListWatermark'],
'type' => 'directory',
- 'children' => [
- 'GetTranscodeSummary',
- 'ListTranscodeTask',
- 'GetTranscodeTask',
- ],
+ 'title' => 'Image and text watermark templates',
],
[
- 'id' => 347565,
- 'title' => null,
+ 'children' => ['GetJobDetail'],
'type' => 'directory',
- 'children' => [
- 'ListJobInfo',
- 'GetJobDetail',
- ],
+ 'title' => 'Task management',
],
],
+ 'type' => 'directory',
+ 'title' => 'Media processing',
],
[
- 'id' => 347568,
- 'title' => null,
- 'type' => 'directory',
'children' => [
'ProduceEditingProjectVideo',
[
- 'id' => 347570,
- 'title' => null,
+ 'children' => ['AddEditingProject'],
'type' => 'directory',
- 'children' => [
- 'AddEditingProject',
- 'UpdateEditingProject',
- 'DeleteEditingProject',
- 'SetEditingProjectMaterials',
- 'GetEditingProject',
- 'GetEditingProjectMaterials',
- 'SearchEditingProject',
- 'AddEditingProjectMaterials',
- 'DeleteEditingProjectMaterials',
- ],
+ 'title' => 'Online editing project management',
],
],
+ 'type' => 'directory',
+ 'title' => 'Video editing (online editing)',
],
[
- 'id' => 347580,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347581,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'SetAuditSecurityIp',
- 'ListAuditSecurityIp',
- ],
- ],
- [
- 'id' => 347584,
- 'title' => null,
+ 'children' => ['SubmitAIMediaAuditJob', 'SubmitAIImageAuditJob', 'GetAIMediaAuditJob', 'GetMediaAuditResult', 'GetMediaAuditAudioResultDetail'],
'type' => 'directory',
- 'children' => [
- 'SubmitAIMediaAuditJob',
- 'SubmitAIImageAuditJob',
- 'GetAIMediaAuditJob',
- 'GetMediaAuditResult',
- 'GetMediaAuditResultDetail',
- 'GetMediaAuditResultTimeline',
- 'GetMediaAuditAudioResultDetail',
- ],
- ],
- [
- 'id' => 347592,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'CreateAudit',
- 'GetAuditHistory',
- ],
+ 'title' => 'Automated review',
],
],
+ 'type' => 'directory',
+ 'title' => 'Media review',
],
[
- 'id' => 347595,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347596,
- 'title' => null,
+ 'children' => ['AddAITemplate'],
'type' => 'directory',
- 'children' => [
- 'AddAITemplate',
- 'DeleteAITemplate',
- 'UpdateAITemplate',
- 'SetDefaultAITemplate',
- 'GetAITemplate',
- 'ListAITemplate',
- 'GetDefaultAITemplate',
- ],
+ 'title' => 'AI templates',
],
[
- 'id' => 347604,
- 'title' => null,
+ 'children' => ['ListAIJob', 'SubmitAIJob'],
'type' => 'directory',
- 'children' => [
- 'ListAIJob',
- 'SubmitAIJob',
- ],
+ 'title' => 'AI jobs',
],
[
- 'id' => 347607,
- 'title' => null,
+ 'children' => ['GetAIVideoTagResult'],
'type' => 'directory',
- 'children' => [
- 'GetMediaDNAResult',
- 'SubmitMediaDNADeleteJob',
- ],
+ 'title' => 'Smart tagging',
],
[
- 'id' => 347610,
- 'title' => null,
+ 'children' => ['SubmitAIImageJob'],
'type' => 'directory',
- 'children' => [
- 'GetAIVideoTagResult',
- ],
- ],
- [
- 'id' => 347612,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'SubmitAIImageJob',
- 'GetAIImageJobs',
- 'ListAIImageInfo',
- 'DeleteAIImageInfos',
- ],
+ 'title' => 'Smart thumbnail',
],
],
+ 'type' => 'directory',
+ 'title' => 'Video AI',
],
[
- 'id' => 347617,
- 'title' => null,
+ 'children' => ['ListLiveRecordVideo'],
'type' => 'directory',
- 'children' => [
- 'ListLiveRecordVideo',
- ],
+ 'title' => 'Live to VOD',
],
[
- '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,
+ 'children' => ['DescribeVodDomainTrafficData', 'DescribeVodRangeDataByLocateAndIspService'],
'type' => 'directory',
- 'children' => [
- 'DescribeVodDomainSrcTrafficData',
- 'DescribeVodDomainSrcBpsData',
- ],
+ 'title' => 'Resource access data',
],
[
- 'id' => 347632,
- 'title' => null,
+ 'children' => ['DescribeVodDomainRealTimeByteHitRateData'],
'type' => 'directory',
- 'children' => [
- 'DescribeVodDomainRealTimeTrafficData',
- 'DescribeVodDomainRealTimeBpsData',
- 'DescribeVodDomainRealTimeHttpCodeData',
- 'DescribeVodDomainRealTimeQpsData',
- 'DescribeVodDomainRealTimeReqHitRateData',
- 'DescribeVodDomainRealTimeByteHitRateData',
- 'DescribeVodDomainRealTimeDetailData',
- ],
+ 'title' => 'Real-time access data',
],
],
- ],
- [
- 'id' => 347640,
- 'title' => null,
'type' => 'directory',
- 'children' => [
- 'AddVodDomain',
- 'DeleteVodDomain',
- 'UpdateVodDomain',
- 'DescribeVodUserDomains',
- 'DescribeVodDomainDetail',
- 'BatchStartVodDomain',
- 'BatchStopVodDomain',
- ],
+ 'title' => 'Monitoring and query',
],
[
- 'id' => 347648,
- 'title' => null,
+ 'children' => ['AddVodDomain'],
'type' => 'directory',
- 'children' => [
- 'VerifyVodDomainOwner',
- 'DescribeVodVerifyContent',
- ],
+ 'title' => 'Domain name management',
],
[
- 'id' => 347651,
- 'title' => null,
+ 'children' => ['DescribeVodDomainConfigs', 'DescribeVodCertificateList', 'DescribeVodDomainCertificateInfo'],
'type' => 'directory',
- 'children' => [
- 'DeleteVodSpecificConfig',
- 'SetVodDomainCertificate',
- 'DescribeVodDomainConfigs',
- 'DescribeVodCertificateList',
- 'DescribeVodDomainCertificateInfo',
- 'BatchSetVodDomainConfigs',
- ],
+ 'title' => 'Domain name configuration',
],
[
- 'id' => 347658,
- 'title' => null,
+ 'children' => ['RefreshMediaPlayUrls'],
'type' => 'directory',
- 'children' => [
- 'DescribeVodRefreshTasks',
- 'DescribeVodRefreshQuota',
- 'PreloadVodObjectCaches',
- 'RefreshVodObjectCaches',
- 'RefreshMediaPlayUrls',
- 'GetMediaRefreshJobs',
- ],
- ],
- [
- 'id' => 347665,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'DescribeVodDomainLog',
- ],
+ 'title' => 'Purge and prefetch',
],
],
+ 'type' => 'directory',
+ 'title' => 'VOD CDN',
],
[
- 'id' => 347667,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347668,
- 'title' => null,
+ 'children' => ['SubmitDigitalWatermarkExtractJob'],
'type' => 'directory',
- 'children' => [
- 'GenerateKMSDataKey',
- 'DecryptKMSDataKey',
- ],
- ],
- [
- 'id' => 347671,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'SubmitDigitalWatermarkExtractJob',
- 'GetDigitalWatermarkExtractResult',
- ],
- ],
- [
- 'id' => 347674,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'GenerateDownloadSecretKey',
- ],
+ 'title' => 'Digital watermarking',
],
],
+ 'type' => 'directory',
+ 'title' => 'Video security',
],
[
- 'id' => 347676,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347677,
- 'title' => null,
+ 'children' => ['DescribeVodTieringStorageData', 'DescribeVodTieringStorageRetrievalData'],
'type' => 'directory',
- 'children' => [
- 'DescribeVodDomainUsageData',
- 'DescribeVodStorageData',
- 'DescribeVodTranscodeData',
- 'DescribeVodAIData',
- 'DescribeVodTieringStorageData',
- 'DescribeVodTieringStorageRetrievalData',
- ],
+ 'title' => 'Usage data',
],
[
- 'id' => 347684,
- 'title' => null,
+ 'children' => ['DescribeVodPlayerMetricData', 'DescribeVodPlayerCollectData', 'DescribeVodPlayerDimensionData'],
'type' => 'directory',
- 'children' => [
- 'DescribeVodPlayerMetricData',
- 'DescribeVodPlayerCollectData',
- 'DescribeVodPlayerDimensionData',
- ],
+ 'title' => 'Playback quality (QoS/QoE)',
],
[
- 'id' => 347688,
- 'title' => null,
+ 'children' => ['GetDailyPlayRegionStatis', 'DescribeVodMediaPlayData'],
'type' => 'directory',
- 'children' => [
- 'GetDailyPlayRegionStatis',
- 'DescribeVodMediaPlayData',
- ],
+ 'title' => 'Playback data (new)',
],
[
- 'id' => 347691,
- 'title' => null,
+ 'children' => ['DescribePlayTopVideos', 'DescribePlayVideoStatis'],
'type' => 'directory',
- 'children' => [
- 'DescribePlayTopVideos',
- 'DescribePlayUserAvg',
- 'DescribePlayUserTotal',
- 'DescribePlayVideoStatis',
- ],
+ 'title' => 'Playback data (legacy)',
],
],
+ 'type' => 'directory',
+ 'title' => 'Data statistics',
],
[
- 'id' => 347696,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347697,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'CreateAppInfo',
- 'DeleteAppInfo',
- 'UpdateAppInfo',
- 'GetAppInfos',
- 'ListAppInfo',
- 'AddVodStorageForApp',
- ],
- ],
- [
- 'id' => 347704,
- 'title' => null,
+ 'children' => ['CreateAppInfo', 'ListAppInfo'],
'type' => 'directory',
- 'children' => [
- 'AttachAppPolicyToIdentity',
- 'DetachAppPolicyFromIdentity',
- 'ListAppPoliciesForIdentity',
- ],
+ 'title' => 'Application management',
],
[
- 'id' => 347708,
- 'title' => null,
+ 'children' => ['AttachAppPolicyToIdentity'],
'type' => 'directory',
- 'children' => [
- 'MoveAppResource',
- ],
+ 'title' => 'Authorization management',
],
[
- 'id' => 347710,
- 'title' => null,
+ 'children' => ['GetAppPlayKey', 'SetAppPlayKey'],
'type' => 'directory',
- 'children' => [
- 'GetAppPlayKey',
- 'SetAppPlayKey',
- ],
+ 'title' => 'Playback key',
],
],
+ 'type' => 'directory',
+ 'title' => 'Multi-application system',
],
[
- 'id' => 347713,
- 'title' => null,
- 'type' => 'directory',
'children' => [
[
- 'id' => 347714,
- 'title' => null,
+ 'children' => ['SetMessageCallback'],
'type' => 'directory',
- 'children' => [
- 'SetCrossdomainContent',
- ],
- ],
- [
- 'id' => 347716,
- 'title' => null,
- 'type' => 'directory',
- 'children' => [
- 'DeleteMessageCallback',
- 'SetMessageCallback',
- 'GetMessageCallback',
- ],
+ 'title' => 'Event notification',
],
],
+ 'type' => 'directory',
+ 'title' => 'Global configuration',
],
[
- 'id' => 347720,
- 'title' => null,
- 'type' => 'directory',
'children' => [
- 'ChangeResourceGroup',
- 'DescribeVodDomainMax95BpsData',
- 'DescribeVodSSLCertificateList',
- 'SetVodDomainSSLCertificate',
- 'DescribeVodEditingUsageData',
- 'DescribeVodUserVipsByDomain',
+ 'DescribeVodDomainMax95BpsData', 'DescribeVodSSLCertificateList', 'SetVodDomainSSLCertificate', 'DescribeVodEditingUsageData', 'DescribeVodUserVipsByDomain', 'AddCategory', 'AddEditingProjectMaterials', 'AddVodStorageForApp', 'AddVodTemplate', 'BatchGetMediaInfos', 'BatchSetVodDomainConfigs', 'BatchStartVodDomain', 'BatchStopVodDomain', 'CancelUrlUploadJobs', 'ChangeResourceGroup', 'CreateAudit', 'DecryptKMSDataKey', 'DeleteAIImageInfos', 'DeleteAITemplate', 'DeleteAppInfo',
+ 'DeleteAttachedMedia', 'DeleteCategory', 'DeleteDynamicImage', 'DeleteEditingProject', 'DeleteEditingProjectMaterials', 'DeleteImage', 'DeleteMessageCallback', 'DeleteMultipartUpload', 'DeleteTranscodeTemplateGroup', 'DeleteVodDomain', 'DeleteVodSpecificConfig', 'DeleteVodTemplate', 'DeleteWatermark', 'DescribeMediaDistribution', 'DescribePlayUserAvg', 'DescribePlayUserTotal', 'DescribeVodAIData', 'DescribeVodDomainBpsData', 'DescribeVodDomainBpsDataByLayer', 'DescribeVodDomainDetail',
+ 'DescribeVodDomainHitRateData', 'DescribeVodDomainLog', 'DescribeVodDomainQpsData', 'DescribeVodDomainRealTimeBpsData', 'DescribeVodDomainRealTimeDetailData', 'DescribeVodDomainRealTimeHttpCodeData', 'DescribeVodDomainRealTimeQpsData', 'DescribeVodDomainRealTimeReqHitRateData', 'DescribeVodDomainRealTimeTrafficData', 'DescribeVodDomainReqHitRateData', 'DescribeVodDomainSrcBpsData', 'DescribeVodDomainSrcTrafficData', 'DescribeVodDomainUsageData', 'DescribeVodRefreshQuota', 'DescribeVodRefreshTasks', 'DescribeVodStorageData', 'DescribeVodTranscodeData', 'DescribeVodUserDomains', 'DescribeVodVerifyContent', 'DetachAppPolicyFromIdentity',
+ 'GenerateDownloadSecretKey', 'GenerateKMSDataKey', 'GetAIImageJobs', 'GetAITemplate', 'GetAppInfos', 'GetAuditHistory', 'GetCategories', 'GetDefaultAITemplate', 'GetDigitalWatermarkExtractResult', 'GetEditingProject', 'GetEditingProjectMaterials', 'GetImageInfo', 'GetMediaAuditResultDetail', 'GetMediaAuditResultTimeline', 'GetMediaDNAResult', 'GetMediaRefreshJobs', 'GetMessageCallback', 'GetPlayInfo', 'GetTranscodeSummary', 'GetTranscodeTask',
+ 'GetURLUploadInfos', 'GetVideoList', 'GetVodTemplate', 'ListAIImageInfo', 'ListAITemplate', 'ListAppPoliciesForIdentity', 'ListAuditSecurityIp', 'ListDynamicImage', 'ListJobInfo', 'ListSnapshots', 'ListTranscodeTask', 'ListTranscodeTemplateGroup', 'MoveAppResource', 'PreloadVodObjectCaches', 'RefreshVodObjectCaches', 'RestoreMedia', 'SearchEditingProject', 'SearchMedia', 'SetAuditSecurityIp', 'SetCrossdomainContent',
+ 'SetDefaultAITemplate', 'SetDefaultTranscodeTemplateGroup', 'SetDefaultWatermark', 'SetEditingProjectMaterials', 'SetVodDomainCertificate', 'SubmitDynamicImageJob', 'SubmitMediaDNADeleteJob', 'SubmitSnapshotJob', 'UpdateAITemplate', 'UpdateAppInfo', 'UpdateCategory', 'UpdateEditingProject', 'UpdateMediaStorageClass', 'UpdateVodDomain', 'UpdateVodTemplate', 'UpdateWatermark', 'UploadMediaByURL', 'UploadStreamByURL', 'VerifyVodDomainOwner',
],
+ 'type' => 'directory',
+ 'title' => 'Others',
],
],
'components' => [
- 'schemas' => [],
+ 'schemas' => [
+ 'AppInfoDTO' => [
+ 'title' => 'A short description of struct',
+ 'description' => '应用信息',
+ 'type' => 'object',
+ 'properties' => [
+ 'ItemId' => ['title' => '应用标识', 'type' => 'string', 'backendName' => 'itemId'],
+ 'AppName' => ['title' => '应用名称', 'type' => 'string', 'backendName' => 'appName'],
+ 'UserId' => ['title' => '用户ID', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'userId'],
+ 'AppType' => ['title' => '应用类型', 'type' => 'integer', 'format' => 'int32', 'example' => '1-普通应用,2-内嵌SDK.', 'backendName' => 'appType'],
+ 'GmtCreate' => ['title' => '创建时间', 'type' => 'string', 'backendName' => 'gmtCreate'],
+ 'Platforms' => [
+ 'title' => '应用包含的平台信息列表',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['title' => '平台类型', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'type'],
+ 'PlatformType' => ['title' => '平台类型', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'type'],
+ 'PkgName' => ['title' => '包名', 'type' => 'string', 'backendName' => 'pkgName'],
+ 'PkgSignature' => ['title' => '包签名', 'type' => 'string', 'backendName' => 'pkgSignature'],
+ 'ItemId' => ['title' => '平台标志', 'type' => 'string', 'backendName' => 'itemId'],
+ 'LicenseItemIds' => [
+ 'title' => '授权列表',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => '授权itemId'],
+ 'backendName' => 'licenseItemIds',
+ 'itemName' => 'licenseItemIds',
+ ],
+ ],
+ ],
+ 'backendName' => 'platforms',
+ ],
+ 'CreationTime' => ['title' => '创建时间', 'type' => 'string', 'backendName' => 'creationTime'],
+ 'ModificationTime' => ['title' => '更新时间', 'type' => 'string', 'backendName' => 'modificationTime'],
+ 'GmtModified' => ['title' => '更新时间', 'type' => 'string', 'backendName' => 'gmtModified'],
+ ],
+ ],
+ 'LicenseInstanceAppDTO' => [
+ 'title' => 'A short description of struct',
+ 'type' => 'object',
+ 'properties' => [
+ 'ItemId' => ['title' => 'itemId', 'type' => 'string', 'backendName' => 'itemId'],
+ 'UserId' => ['title' => 'userId', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'userId'],
+ 'BeginOn' => ['title' => 'beginOn', 'type' => 'string', 'backendName' => 'beginOn'],
+ 'ExpiredOn' => ['title' => 'expiredOn', 'type' => 'string', 'backendName' => 'expiredOn'],
+ 'Status' => ['title' => 'status', 'type' => 'string', 'backendName' => 'status'],
+ 'InstanceId' => ['title' => 'instanceId', 'type' => 'string', 'backendName' => 'instanceId'],
+ 'ContractNo' => ['title' => 'contractNo', 'type' => 'string', 'backendName' => 'contractNo'],
+ 'CreationTime' => ['title' => 'creationTime', 'type' => 'string', 'backendName' => 'creationTime'],
+ 'ModificationTime' => ['title' => 'modificationTime', 'type' => 'string', 'backendName' => 'modificationTime'],
+ 'AppId' => ['title' => 'appId', 'type' => 'string', 'backendName' => 'appId'],
+ 'LicenseConfigs' => [
+ 'title' => 'LicenseConfigDTOS',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SubscriptionImp' => ['title' => 'subscriptionImp', 'type' => 'string', 'backendName' => 'subscriptionImp'],
+ 'SubscriptionPkg' => ['title' => 'subscriptionPkg', 'type' => 'string', 'backendName' => 'subscriptionPkg'],
+ 'SdkId' => ['title' => 'sdkId', 'type' => 'integer', 'format' => 'int32', 'backendName' => 'sdkId'],
+ 'BusinessType' => ['title' => 'businessType', 'type' => 'string', 'backendName' => 'businessType'],
+ 'SdkName' => ['title' => 'sdkName', 'type' => 'string', 'backendName' => 'sdkName'],
+ 'Subscription' => ['title' => 'subscription', 'type' => 'string', 'backendName' => 'subscription'],
+ 'FeatureIds' => ['title' => 'featureIds', 'type' => 'string', 'backendName' => 'featureIds'],
+ 'IsTrial' => ['title' => 'isTrial', 'type' => 'boolean', 'backendName' => 'isTrial'],
+ ],
+ ],
+ 'backendName' => 'licenseConfigDTOS',
+ ],
+ ],
+ ],
+ ],
],
'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',
- ],
+ 'AddAITemplate' => [
+ 'summary' => 'Call this operation to add an AI template for automated review and intelligent thumbnail tasks.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -624,581 +328,741 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39819',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'abilityTreeCode' => '39782',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'CoverURL',
+ 'name' => 'TemplateName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The URL of the custom video thumbnail.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'https://example.aliyundoc.com/image/D22F553TEST****.jpeg',
- ],
+ 'schema' => ['description' => 'The name of the AI template. The name can be up to 128 bytes in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'AI-media-test'],
],
[
- 'name' => 'Description',
+ 'name' => 'TemplateType',
'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',
- ],
+ 'schema' => ['description' => 'The type of the AI template. Valid values:'."\n"
+ ."\n"
+ .'- **AIMediaAudit**: automated review.'."\n"
+ .'- **AIImage**: intelligent thumbnail.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'AIMediaAudit'],
],
[
- 'name' => 'FileName',
+ '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~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '{"AuditItem":["terrorism","porn"],"AuditRange":["image-cover","text-title","video"],"AuditContent":["screen"],"AuditAutoBlock":"yes"}'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The returned results.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TemplateId' => ['description' => 'The ID of the AI template.', 'type' => 'string', 'title' => '', 'example' => '1706a0063dd733f6a823ef32e0a5****'],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4A13-BEF6-****'],
+ ],
+ 'title' => '',
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'AddAITemplate',
+ 'description' => '- This operation is supported in the following regions: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n"
+ .'- Before you add an AI template for automated review and intelligent thumbnail tasks, make sure that you have activated [Automated Review](https://ai.aliyun.com/vi/censor) or [Intelligent Thumbnail](https://ai.aliyun.com/vi/cover).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:20.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddAITemplate'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'FileSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The size of the source file. Unit: bytes.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '123',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateId\\": \\"1706a0063dd733f6a823ef32e0a5****\\",\\n \\"RequestId\\": \\"25818875-5F78-4A13-BEF6-****\\"\\n}","type":"json"}]',
+ ],
+ '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' => [
[
- 'name' => 'Title',
+ '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 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',
- ],
+ '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' => 'Comedy', 'title' => ''],
],
[
- 'name' => 'CateId',
+ 'name' => 'ParentId',
'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****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'Tags',
+ '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', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ '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', 'title' => ''],
+ 'ParentId' => ['description' => 'The ID of the parent category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100012', 'title' => ''],
+ 'CateName' => ['description' => 'The name of the category.'."\n", 'type' => 'string', 'example' => 'Comedy', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"Category\\": {\\n \\"Type\\": \\"default\\",\\n \\"ParentId\\": 100012,\\n \\"CateName\\": \\"Comedy\\",\\n \\"CateId\\": 10020,\\n \\"Level\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"","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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:51.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:28.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCategory'],
+ ],
+ ],
+ 'ramActions' => [
[
- '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"}}',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddCategory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ ],
+ 'AddEditingProject' => [
+ 'summary' => 'Call this operation to create an online editing project (video editing task).',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'TemplateGroupId',
+ '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 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****',
- ],
+ 'schema' => ['description' => 'The title of the online editing project.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'testtimeline'],
],
[
- 'name' => 'WorkflowId',
+ 'name' => 'Description',
'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****',
- ],
+ 'schema' => ['description' => 'The description of the online editing project.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testtimeline001desciption'],
],
[
- 'name' => 'StorageLocation',
+ 'name' => 'Timeline',
'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',
- ],
+ 'schema' => ['description' => 'The timeline of the online editing project. The value must be a JSON string. For more information about the data structure, see [Timeline](~~52839~~).'."\n"
+ ."\n"
+ .'If this parameter is left empty, an empty timeline is created and the total duration of the online editing project is 0.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"cc3308ac5006aed55a54328bc3443****"},{"MediaId":"95948ddba24446b6aed5db985e78****"}]}]}'],
],
[
- 'name' => 'AppId',
+ 'name' => 'CoverURL',
'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',
- ],
+ 'schema' => ['description' => 'The thumbnail of the online editing project. If this parameter is left empty and materials exist in the video track of the timeline, the thumbnail of the first material in the timeline is used as the thumbnail of the online editing project.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png'],
],
[
- 'name' => 'ReferenceId',
+ 'name' => 'Division',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ 'schema' => ['description' => 'The region where the service is activated.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-shanghai'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response parameters.',
'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****',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****'],
+ 'Project' => [
+ 'description' => 'The online editing project. For more information about the data structure, see [EditingProject](~~52839~~).',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => ['description' => 'The time when the online editing project was created. The time follows the *yyyy-MM-dd*T*HH:mm:ss*Z format in the UTC time zone.', 'type' => 'string', 'title' => '', 'example' => '2017-01-11T12:00:00Z'],
+ 'Status' => ['description' => 'The status of the online editing project. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The project is a draft.'."\n"
+ .'- **Producing**: The video is being produced.'."\n"
+ .'- **Produced**: The video was produced.'."\n"
+ .'- **ProduceFailed**: The video failed to be produced.', 'type' => 'string', 'title' => '', 'example' => 'Normal'],
+ 'ModifiedTime' => ['description' => 'The time when the online editing project was last modified. The time follows the *yyyy-MM-dd*T*HH:mm:ss*Z format in the UTC time zone.', 'type' => 'string', 'title' => '', 'example' => '2017-01-11T13:00:00Z'],
+ 'Description' => ['description' => 'The description of the online editing project.', 'type' => 'string', 'title' => '', 'example' => 'testtimeline001desciption'],
+ 'ProjectId' => ['description' => 'The ID of the online editing project.', 'type' => 'string', 'title' => '', 'example' => 'fb2101bf24bf4df34c4cb3187****'],
+ 'Title' => ['description' => 'The title of the online editing project.', 'type' => 'string', 'title' => '', 'example' => 'testtimeline'],
+ ],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'AddEditingProject',
+ 'description' => '- For more information about online editing, see [Online editing](~~95482~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:35.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddEditingProject'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ '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' => '40108',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'abilityTreeCode' => '39786',
+ 'abilityTreeNodes' => ['FEATUREvod89J0DP'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ 'name' => 'ProjectId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the online editing project.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'afa31b483b5c41609185de0e1b790579', 'title' => ''],
],
[
- 'name' => 'ReferenceId',
+ 'name' => 'MaterialIds',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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****',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '85237CDA-0B54-5CED-BA10-A8A71AA13C1A', 'title' => ''],
+ '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', 'title' => ''],
+ 'CateId' => ['description' => 'The ID of the category.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1000487543', 'title' => ''],
+ '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', 'title' => ''],
+ 'MaterialType' => ['description' => 'The type of the material. Valid values:'."\n"
+ ."\n"
+ .'* **video**'."\n"
+ .'* **audio**'."\n"
+ .'* **image**'."\n", 'type' => 'string', 'example' => 'video', 'title' => ''],
+ 'Tags' => ['description' => 'The tag of the material. Multiple tags are separated by commas (,).'."\n", 'type' => 'string', 'example' => 'tag1,tag2', 'title' => ''],
+ 'SpriteConfig' => ['description' => 'The configuration of the sprite snapshot.'."\n", 'type' => 'string', 'example' => 'xxx', 'title' => ''],
+ 'CateName' => ['description' => 'The category name of the material.'."\n", 'type' => 'string', 'example' => 'Category 1', 'title' => ''],
+ 'Description' => ['description' => 'The description of the material.'."\n", 'type' => 'string', 'example' => 'Material description', 'title' => ''],
+ 'MaterialId' => ['description' => 'The ID of the material.'."\n", 'type' => 'string', 'example' => '85befc4118b84c6723e53b80b1****', 'title' => ''],
+ 'Size' => ['description' => 'The size of the material.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1682694', 'title' => ''],
+ 'CoverURL' => ['description' => 'The thumbnail URL.'."\n", 'type' => 'string', 'example' => 'http://example.aliyundoc.com/aivideocover/46fa444aa34065cb9250f6c****/image_01.jpg', 'title' => ''],
+ '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', 'title' => ''],
+ 'CustomerId' => ['description' => 'The ID of the user.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1234751840694470', 'title' => ''],
+ 'Title' => ['description' => 'The title of the material.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ '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', 'title' => ''],
+ 'Sprites' => [
+ 'description' => 'The URLs of sprite snapshots.'."\n",
+ 'type' => 'array',
+ 'items' => ['description' => 'The URL of the sprite snapshot.'."\n", 'type' => 'string', 'example' => '"http://example.aliyundoc.com/material_big_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key=****"', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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="', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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\\": \\"Category 1\\",\\n \\"Description\\": \\"Material 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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:51.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:24.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddEditingProjectMaterials'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'AddTranscodeTemplateGroup' => [
+ 'summary' => 'Use this operation to create a transcode template group or add transcode templates to an existing group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39817',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'abilityTreeCode' => '39789',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'Title',
+ 'name' => 'Name',
'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',
- ],
+ 'schema' => ['description' => 'The name of the transcode template group.'."\n"
+ ."\n"
+ .'- The name can be up to 128 bytes in length.'."\n"
+ ."\n"
+ .'- The name must be UTF-8 encoded.'."\n"
+ ."\n"
+ .'> You must specify either `TranscodeTemplateGroupId` or `Name`.', 'type' => 'string', 'required' => false, 'example' => 'transcodetemplate', 'title' => ''],
],
[
- 'name' => 'ImageType',
+ 'name' => 'TranscodeTemplateList',
'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',
- ],
+ 'schema' => ['description' => 'The configurations of the transcode templates, specified as a JSON string. For more information about the parameter structure, see [TranscodeTemplate](~~52839~~).'."\n"
+ ."\n"
+ .'> - If you do not specify this parameter, a transcoding workflow is not created, and video uploads do not trigger transcoding.'."\n"
+ .'>'."\n"
+ .'> - If you do not need to set the `Width` or `Height` properties, omit them from the request. Do not set them to an empty string, such as `"Height":""`.', 'type' => 'string', 'required' => false, 'example' => '[{"Video":{"Bitrate":"400","Codec":"H.264","Fps":"30","Height":360,"Width":640},"Definition":"SD","Container":{"Format":"mp4"},"TemplateName":"testName","MuxConfig":{},"Audio":{"Codec":"AAC","Bitrate":"64","Samplerate":"44100"}}]', 'title' => ''],
],
[
- 'name' => 'ImageExt',
+ 'name' => 'TranscodeTemplateGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the transcode template group. If you specify this ID, you can add new transcode templates to the specified group.'."\n"
+ ."\n"
+ .'> You must specify either `TranscodeTemplateGroupId` or `Name`.', 'type' => 'string', 'required' => false, 'example' => '4c71a339fe52b4fa6f4527****', 'title' => ''],
],
[
- 'name' => 'OriginalFileName',
+ 'name' => 'AppId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the application. The default value is **`app-1000000`**. For more information, see [Multi-application](~~113600~~).', 'type' => 'string', 'required' => false, 'example' => 'app-****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The returned parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TranscodeTemplateGroupId' => ['description' => 'The ID of the transcode template group.', 'type' => 'string', 'example' => '34e908aa4024af7821c31f93a2a****', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'AddTranscodeTemplateGroup',
+ 'description' => '- You cannot modify a transcode template group that is **locked** by the ApsaraVideo VOD service. To check if a group is locked, call the [GetTranscodeTemplateGroup](~~GetTranscodeTemplateGroup~~) operation and check the `Locked` parameter in the response. To modify a locked group, you must first call the [UpdateTranscodeTemplateGroup](~~UpdateTranscodeTemplateGroup~~) operation to unlock it.'."\n"
+ ."\n"
+ .'- You cannot add a transcode template group without a valid storage location, as transcoding requires a storage address. To obtain a usable storage address, go to the **ApsaraVideo VOD console**, navigate to **Configuration Management > Media Asset Management > Storage Management**, and activate the **VOD system bucket**.'."\n"
+ ."\n"
+ .'- You cannot add transcode templates to a **no transcoding** template group.'."\n"
+ ."\n"
+ .'- You must specify either **`TranscodeTemplateGroupId`** or **`Name`**.'."\n"
+ ."\n"
+ .'- You can create a maximum of 20 transcode template groups.'."\n"
+ ."\n"
+ .'- You can add a maximum of 20 transcode templates to a single transcode template group.'."\n"
+ ."\n"
+ .'- To generate adaptive streaming URLs, you can add a maximum of 10 video packaging templates to a transcode template group. If you add more than 10 templates, the service generates URLs for individual streams but not an adaptive streaming URL.'."\n"
+ ."\n"
+ .'### QPS limit'."\n"
+ ."\n"
+ .'The QPS limit for this operation is 5 per user. Calls that exceed this limit are rate-limited. For more information, see [QPS limit](~~342790~~).',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:51.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:28.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddTranscodeTemplateGroup'],
+ ],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TranscodeTemplateGroupId\\": \\"34e908aa4024af7821c31f93a2a****\\",\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","type":"json"}]',
+ ],
+ 'AddVodDomain' => [
+ 'summary' => 'Adds a domain name to accelerate in ApsaraVideo VOD.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'StorageLocation',
+ '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 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',
- ],
+ 'schema' => ['description' => 'The domain name that you want to accelerate. Wildcard domain names that start with periods (.) are supported. Example: .example.com.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'CateId',
+ 'name' => 'Sources',
'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****',
- ],
+ 'schema' => ['description' => 'The information about the addresses of origin servers. For more information, see the **Sources** table in this topic.', 'type' => 'string', 'required' => true, 'example' => '[{"content":"1.1.1.1","type":"ipaddr","priority":"20","port":80}]', 'title' => ''],
],
[
- 'name' => 'UserData',
+ 'name' => 'CheckUrl',
'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"}}',
- ],
+ 'schema' => ['description' => 'The URL that is used for health checks.', 'type' => 'string', 'required' => false, 'example' => 'www.example.com/test.html', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'Scope',
'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',
- ],
+ '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"
+ ."\n"
+ .'- **overseas**: outside the Chinese mainland'."\n"
+ ."\n"
+ .'- **global**: regions in and outside the Chinese mainland', 'type' => 'string', 'required' => false, 'example' => 'domestic', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'TopLevelDomain',
'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',
- ],
+ 'schema' => ['description' => 'The top-level domain.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
],
],
'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****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '15C66C7B-671A-4297-****-2C4477247A74', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified DomainName is malformed.', 'description' => ''],
+ ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter cdnType that is mandatory for processing this request is not supplied.', 'description' => ''],
+ ['errorCode' => 'InvalidCdnType.Malformed', 'errorMessage' => 'Specified CdnType is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidSources.Malformed', 'errorMessage' => 'Specified Sources is malformed.', 'description' => 'The origin information is in an invalid format.'],
+ ['errorCode' => 'InvalidSourceStr.Malformed', 'errorMessage' => 'Specified SourceStr is malformed.', 'description' => 'The format of the incoming source information is incorrect.'],
+ ['errorCode' => 'InvalidSourceType.Malformed', 'errorMessage' => 'Specified CdnType is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidSource.Priority.Malformed', 'errorMessage' => 'The specified Source Priority is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidTypeAndContent.MissMatch', 'errorMessage' => 'The specified source type does not match the specified source content.', 'description' => ''],
+ ['errorCode' => 'InvalidScope.Malformed', 'errorMessage' => 'Specified Scope is malformed.', 'description' => ''],
+ ['errorCode' => 'DomainOverLimit', 'errorMessage' => 'The Number of Domain is over the limit', 'description' => ''],
+ ['errorCode' => 'DomainAlreadyExist', 'errorMessage' => 'This domain name is exist already', 'description' => ''],
+ ['errorCode' => 'DomainNotRegistration', 'errorMessage' => 'The Domain name is not registered', 'description' => ''],
+ ['errorCode' => 'InvaildParameter', 'errorMessage' => 'Source name can not equal to domain name', 'description' => ''],
+ ['errorCode' => 'IllegalSources', 'errorMessage' => 'The specified origin site information is invalid.', 'description' => 'The origin information of the accelerated domain name is incorrect.'],
+ ['errorCode' => 'SourceIp.Exceed', 'errorMessage' => 'The Certificate you provided is malformed!', 'description' => ''],
+ ['errorCode' => 'InvalidCertificate', 'errorMessage' => 'The Certificate you provided is malformed!', 'description' => ''],
+ ['errorCode' => 'InvalidCertificate.TooLong', 'errorMessage' => 'The Certificate you provided is over the max length!', 'description' => ''],
+ ['errorCode' => 'InnerAddDomainDenied', 'errorMessage' => 'Your account haven\'t bind aoneId, can not add domain.', 'description' => ''],
+ ['errorCode' => 'CheckSourceHealthFailed', 'errorMessage' => 'sources ip or source domain check health failed,please input right source.', 'description' => ''],
+ ['errorCode' => 'ExtensiveAndAllBothExist', 'errorMessage' => 'Extensive domain and the domain begins with \'all.\' can not exist at the same time.', 'description' => ''],
+ ['errorCode' => 'CdnTypeNotSupportExtensiveDomain', 'errorMessage' => 'Extensive domain not supported for this cdn type.', 'description' => ''],
+ ['errorCode' => 'ExtensiveAndSpecificDomainConflict', 'errorMessage' => 'Extensive domain and corresponding specific domain are mutually exclusive.', 'description' => 'Wildcard domain names and specific domain names of the same level as the wildcard domain names are mutually exclusive. Enter another domain name.'],
+ ['errorCode' => 'DomainReserved', 'errorMessage' => 'The root domain of your domain is reserved by another account. Submit a ticket to contact customer support.', 'description' => 'The root domain name is already in use. Submit a ticket.'],
+ ['errorCode' => 'InvalidDomainNameLevel', 'errorMessage' => 'Domain name suffixed with alicdn.com only support third level.', 'description' => ''],
+ ['errorCode' => 'InvalidTopLevelDomain.Malformed', 'errorMessage' => 'Specified TopLevelDomain is malformed.', 'description' => ''],
+ ['errorCode' => 'TopLevelDomain.NotFound', 'errorMessage' => 'The specified TopLevelDomain does not exist.', 'description' => ''],
+ ['errorCode' => 'EntityNotExists.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => ''],
+ ['errorCode' => 'InvalidStatus.ResourceGroup', 'errorMessage' => 'It\'s now allowed to do this operation because of the current status of resource-group.', 'description' => ''],
+ ['errorCode' => 'NotInternationRealIdentity', 'errorMessage' => 'You need to do real name authentication when you use Chinese mainland resources.', 'description' => 'You have not passed real-name verification. According to the regulations issued by MIIT, you must pass real-name verification if you want to purchase IT services in the Chinese mainland. '],
+ ['errorCode' => 'TopLevelDomain.Mismatch', 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', 'description' => ''],
+ ['errorCode' => 'DomainOwnerVerifyFail', 'errorMessage' => 'Owner verification of the root domain failed.', 'description' => 'Failed to verify domain ownership.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'AddVodDomain',
+ 'description' => '- This operation is available only in the **China (Shanghai)** region.'."\n"
+ ."\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"
+ ."\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"
+ ."\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.',
+ '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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:39.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:46.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddVodDomain'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-****-2C4477247A74\\"\\n}","type":"json"}]',
+ ],
+ 'AddVodStorageForApp' => [
+ 'summary' => 'Binds a storage bucket to one or more applications in ApsaraVideo VOD.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1210,459 +1074,438 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39816',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'abilityTreeCode' => '200259',
+ 'abilityTreeNodes' => ['FEATUREvod3O95DN'],
'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',
+ 'name' => 'AppId',
'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',
- ],
+ '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-****', 'title' => ''],
],
[
- 'name' => 'MediaExt',
+ 'name' => 'StorageLocation',
'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",
+ '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,
- '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',
+ 'enumValueTitles' => [],
+ 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com',
+ 'title' => '',
],
],
[
- 'name' => 'FileName',
+ 'name' => 'StorageType',
'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",
+ 'description' => 'The storage class. Default value: **vod_oss_bucket**.'."\n",
'type' => 'string',
'required' => false,
- 'example' => 'D:\\test.png',
+ 'enumValueTitles' => [],
+ 'example' => 'vod_oss_bucket',
+ 'title' => '',
],
],
- [
- 'name' => 'FileSize',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The size of the auxiliary media asset. Unit: byte.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123',
+ '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', 'title' => ''],
+ ],
],
],
+ [],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:42.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:43.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddVodStorageForApp'],
+ ],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddVodStorageForApp',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"StorageLocation\\": \\"out-****.oss-cn-shanghai.aliyuncs.com\\"\\n}","type":"json"}]',
+ ],
+ 'AddVodTemplate' => [
+ 'summary' => 'Adds a snapshot template or frame animation template.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39791',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
[
- 'name' => 'Description',
+ 'name' => 'Name',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'UserData',
+ 'name' => 'TemplateType',
'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"}}',
- ],
+ 'schema' => ['description' => 'The type of the template. Set the value to **Snapshot**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Snapshot', 'title' => ''],
],
[
- 'name' => 'CateIds',
+ 'name' => 'TemplateConfig',
'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****',
- ],
+ '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"}', 'title' => ''],
],
[
'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-****',
- ],
+ '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-****', 'title' => ''],
],
],
'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****',
- ],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ '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' => ' ',
- ],
- 'UploadMediaByURL' => [
- 'summary' => 'Uploads media files based on URLs.',
- 'methods' => [
- 'post',
- 'get',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:41.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:49.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddVodTemplate'],
+ ],
],
+ ],
+ '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',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
- 'abilityTreeCode' => '40242',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39792',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'UploadURLs',
+ 'name' => 'Type',
'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',
- ],
+ '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' => 'Image', 'title' => ''],
],
[
- 'name' => 'TemplateGroupId',
+ 'name' => 'Name',
'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****',
- ],
+ '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' => 'Image watermark template', 'title' => ''],
],
[
- 'name' => 'StorageLocation',
+ 'name' => 'WatermarkConfig',
'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',
- ],
+ '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' => '{'."\n"
+ .' "Width": "55",'."\n"
+ .' "Height": "55",'."\n"
+ .' "Dx": "9",'."\n"
+ .' "Dy": "9",'."\n"
+ .' "ReferPos": "BottomLeft"'."\n"
+ .'}', 'title' => ''],
],
[
- 'name' => 'UploadMetadatas',
+ 'name' => 'FileUrl',
'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"}]',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'UserData',
+ '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-****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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"}}',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ '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', 'title' => ''],
+ 'Type' => ['description' => 'The type of the watermark template.'."\n"
+ ."\n"
+ .'* **Image**: image watermark template'."\n"
+ .'* **Text**: text watermark template'."\n", 'type' => 'string', 'example' => 'Image', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the watermark template is the default one. Valid values:'."\n"
+ ."\n"
+ .'* **Default**'."\n"
+ .'* **NotDefault**'."\n", 'type' => 'string', 'example' => 'NotDefault', 'title' => ''],
+ '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****', 'title' => ''],
+ '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' => '{'."\n"
+ .' "Width": "55",'."\n"
+ .' "Height": "55",'."\n"
+ .' "Dx": "9",'."\n"
+ .' "Dy": "9",'."\n"
+ .' "ReferPos": "BottomLeft"'."\n"
+ .'}', 'title' => ''],
+ 'Name' => ['description' => 'The name of the watermark template.'."\n", 'type' => 'string', 'example' => 'Image watermark template', 'title' => ''],
+ 'WatermarkId' => ['description' => 'The ID of the watermark template.'."\n", 'type' => 'string', 'example' => '9bcc8bfadb84*****109a2671d0df97', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ '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\\": \\"Image watermark template\\",\\n \\"WatermarkId\\": \\"9bcc8bfadb84*****109a2671d0df97\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:20.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:50.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:21.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddWatermark'],
+ ],
+ ],
+ 'ramActions' => [
[
- '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-****',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ ],
+ 'AttachAppPolicyToIdentity' => [
+ 'summary' => 'Grants a RAM user or RAM role permissions to access ApsaraVideo VOD applications.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'WorkflowId',
+ '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 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****',
- ],
+ 'schema' => ['description' => 'The identity type. Valid values:'."\n"
+ ."\n"
+ .'- **RamUser**'."\n"
+ .'- **RamRole**', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'RamRole'],
],
[
- 'name' => 'SessionId',
+ 'name' => 'IdentityName',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the RAM user or the name of the RAM role.'."\n"
+ ."\n"
+ .'- Specifies the RAM user ID when the IdentityType parameter is set to RamUser.'."\n"
+ .'- Specifies the name of the RAM role when the IdentityType parameter is set to RamRole.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '****'],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The application ID. Default value: **app-1000000**. For more information, see [Multi-application](t1959305.xdita#).'."\n"
+ ."\n"
+ .'> This parameter is optional only if you set PolicyNames to VODAppAdministratorAccess.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'title' => '', 'example' => 'app-****'],
+ ],
+ [
+ 'name' => 'PolicyNames',
+ 'in' => 'query',
+ 'schema' => ['description' => '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**: application administrator permissions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'VODAppFullAccess'],
],
],
'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****',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4A13-****-D7393642CA58'],
+ 'NonExistPolicyNames' => [
+ 'description' => 'The names of the policies that were not found.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The names of the policies that were not found.', 'type' => 'string', 'title' => '', 'example' => 'test****1'],
+ 'title' => '',
],
- 'UploadJobs' => [
- 'description' => 'The ID of the upload job.'."\n",
+ 'FailedPolicyNames' => [
+ 'description' => 'The names of the policies that failed to be granted to the RAM user or RAM role.',
'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****',
- ],
- ],
- ],
+ 'items' => ['description' => 'The names of the policies that failed to be granted to the RAM user or RAM role.', 'type' => 'string', 'title' => '', 'example' => 'test****2'],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A13-****-D7393642CA58\\",\\n \\"NonExistPolicyNames\\": [\\n \\"test****1\\"\\n ],\\n \\"FailedPolicyNames\\": [\\n \\"test****2\\"\\n ]\\n}","type":"json"}]',
+ 'title' => 'AttachAppPolicyToIdentity',
+ 'description' => '- Each RAM user or RAM role can be granted permissions to access a maximum of 10 applications.'."\n"
+ .'- To call this operation, you must have application administrator permissions. We recommend that you use your Alibaba Cloud account for the first call.'."\n"
+ .'- The AppId parameter is optional only if you set PolicyNames to VODAppAdministratorAccess.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
."\n"
- .'The following table describes the common errors that this operation can return. '."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:11.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:02.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachAppPolicyToIdentity'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:AttachAppPolicyToIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'BatchGetMediaInfos' => [
+ 'summary' => 'Retrieves basic information and source file information for multiple media assets.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1674,432 +1517,695 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39992',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'abilityTreeCode' => '257507',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'JobIds',
+ 'name' => 'MediaIds',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the media asset, which is the audio or video ID (VideoId). Separate multiple IDs with commas (,). You can specify up to 20 IDs. You can obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- For audio or video files uploaded in the console, log on to the VOD console and choose Media Assets > Audio/Video to view the audio or video ID.'."\n"
+ ."\n"
+ .'- The value of the VideoId parameter that is returned after you call the operation to obtain an upload URL and credential.'."\n"
+ ."\n"
+ .'- The value of the VideoId parameter that is returned after you call the SearchMedia operation.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => '61ccbdb06fa83012be4d8083f6****,7d2fbc380b0e08e55f****', 'title' => ''],
],
[
- 'name' => 'UploadURLs',
+ 'name' => 'ReferenceIds',
'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',
- ],
+ 'schema' => ['description' => 'A list of custom IDs. Separate multiple IDs with commas (,). You can specify up to 20 IDs.', 'type' => 'string', 'example' => '123-123,1234-1234', 'title' => '', 'required' => false],
],
],
'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****',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9E290613-04F4-47F4-795D30732077****', 'title' => ''],
+ 'NonExistMediaIds' => [
+ 'description' => 'A list of media asset IDs that do not exist.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A list of media asset IDs that do not exist.', 'type' => 'string', 'example' => '["bbc65bba53f6ed90de118a7849****"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'NonExists' => [
- 'description' => 'The job IDs or upload URLs that do not exist.'."\n",
+ 'NonExistReferenceIds' => [
'type' => 'array',
- 'items' => [
- 'description' => 'The job ID or upload URL.',
- 'type' => 'string',
- 'example' => '["****1", "****2"]',
- ],
+ 'items' => ['description' => 'A list of custom IDs that do not exist.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
+ 'description' => 'A list of custom IDs that do not exist.',
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ 'ForbiddenMediaIds' => [
+ 'description' => 'A list of media asset IDs for which the operation is forbidden. This is usually because you do not have permissions on multiple applications. For more information, see [Multi-application service](~~113600~~).',
+ 'type' => 'array',
+ 'items' => ['description' => 'A list of media asset IDs for which the operation is forbidden. This is usually because you do not have permissions on multiple applications. For more information, see [Multi-application service](~~113600~~).', 'type' => 'string', 'example' => '["bbc65bba53f6ed90de118a7849****"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'MediaInfos' => [
+ 'description' => 'A list of media assets.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'A list of media assets.',
'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****',
+ 'MediaId' => ['description' => 'The ID of the media asset.', 'type' => 'string', 'example' => '10a5fa364a5b71ef89246733a78e****', 'title' => ''],
+ 'MediaInfo' => [
+ 'description' => 'The basic information about the media asset.',
+ 'type' => 'object',
+ 'properties' => [
+ 'StorageLocation' => ['description' => 'The storage address of the audio or video file.', 'type' => 'string', 'example' => 'outin-***.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'CreationTime' => ['description' => 'The time when the audio or video file was created. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2017-11-14T09:15:50Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the video. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The video is being uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The video failed to be uploaded.'."\n"
+ ."\n"
+ .'- **UploadSucc**: The video is uploaded.'."\n"
+ ."\n"
+ .'- **Transcoding**: The video is being transcoded.'."\n"
+ ."\n"
+ .'- **TranscodeFail**: The video failed to be transcoded.'."\n"
+ ."\n"
+ .'- **Blocked**: The video is blocked.'."\n"
+ ."\n"
+ .'- **Normal**: The video is in a normal state.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '781111****', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the media asset.', 'type' => 'string', 'example' => '7753d144efd74d6c45fe0570****', 'title' => ''],
+ 'DownloadSwitch' => ['description' => 'The status of the offline download switch. After you enable offline download, users can use ApsaraVideo Player to cache videos to their local devices for offline viewing. For more information, see [Offline download](~~86107~~). Valid values:'."\n"
+ ."\n"
+ .'- **on**: Offline download is enabled.'."\n"
+ ."\n"
+ .'- **off**: Offline download is disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'Tags' => ['description' => 'The tags of the audio or video file. Separate multiple tags with commas (,).', 'type' => 'string', 'example' => 'tag1, tag2', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the audio or video file was last updated. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2017-06-26T06:38:48Z', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'cate1', 'title' => ''],
+ 'Description' => ['description' => 'The description of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD video description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'CoverURL' => ['description' => 'The URL of the thumbnail.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/****.jpg', 'title' => ''],
+ 'TemplateGroupId' => ['description' => 'The ID of the transcoding template group.', 'type' => 'string', 'example' => 'b4039216985f4312a5382a4ed****', 'title' => ''],
+ 'Title' => ['description' => 'The title of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Video Title', 'title' => ''],
+ 'Snapshots' => [
+ 'description' => 'An array of video snapshot URLs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'An array of video snapshot URLs.'."\n"
+ ."\n"
+ .'> This operation returns only the data of video thumbnails. To query the data of normal snapshots, sprites, original sprite images, and WebVTT snapshots that are captured using the [snapshot](~~99368~~) feature, call the [ListSnapshots](~~ListSnapshots~~) operation.', '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****",...]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**: Standard.'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access (IA).'."\n"
+ ."\n"
+ .'- **Archive**: Archive.'."\n"
+ ."\n"
+ .'- **ColdArchive**: Cold Archive.'."\n"
+ ."\n"
+ .'- **SourceIA**: Source IA.'."\n"
+ ."\n"
+ .'- **SourceArchive**: Source Archive.'."\n"
+ ."\n"
+ .'- **SourceColdArchive**: Source Cold Archive.'."\n"
+ ."\n"
+ .'- **Changing**: The storage class of the media asset is being changed.'."\n"
+ ."\n"
+ .'- **SourceChanging**: The storage class of the source file is being changed.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'RestoreStatus' => ['description' => 'The restoration status of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Processing**: The media asset is being restored.'."\n"
+ ."\n"
+ .'- **Success**: The media asset is restored.'."\n"
+ ."\n"
+ .'- **Failed**: The media asset failed to be restored.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'RestoreExpiration' => ['description' => 'The expiration time of the restored media asset.', 'type' => 'string', 'example' => '2023-03-30T10:14:14Z', 'title' => ''],
+ 'UserData' => ['description' => 'The custom parameters.', 'type' => 'string', 'example' => '{"Extend":"xxx","MessageCallback":"xxx"}', 'title' => ''],
+ 'ReferenceId' => ['description' => 'The custom ID. The ID can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for a user.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'FileSize' => [
- 'description' => 'The size of the uploaded media file. Unit: byte.'."\n",
- 'type' => 'string',
- 'example' => '24',
+ 'MezzanineInfo' => [
+ 'description' => 'The information about the source file.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => ['description' => 'The time when the file was created. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2017-11-14T09:15:50Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the file. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The file is being uploaded. This is the initial state.'."\n"
+ ."\n"
+ .'- **Normal**: The file is uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The file failed to be uploaded.'."\n"
+ ."\n"
+ .'- **Deleted**: The file is deleted.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'FileURL' => ['description' => 'The URL of the source file.', 'type' => 'string', 'example' => 'http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/27ffc438-164h67f57ef-0005-6884-51a-1****.mp4', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the media asset.', 'type' => 'string', 'example' => '1f1a6fc03ca04814031b8a6559e****', 'title' => ''],
+ 'Height' => ['description' => 'The height of the file in pixels (px).', 'type' => 'integer', 'format' => 'int64', 'example' => '540', 'title' => ''],
+ 'Bitrate' => ['description' => 'The bitrate of the file in Kbps.', 'type' => 'string', 'example' => '771.2280', 'title' => ''],
+ 'FileName' => ['description' => 'The name of the file.', 'type' => 'string', 'example' => '27ffc438-164h67f57ef-0005-6884-51a-1****.mp4'."\n", 'title' => ''],
+ 'Width' => ['description' => 'The width of the file in pixels (px).', 'type' => 'integer', 'format' => 'int64', 'example' => '960', 'title' => ''],
+ 'Size' => ['description' => 'The size of the file in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '4096477', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the file in seconds.', 'type' => 'string', 'example' => '42.4930', 'title' => ''],
+ 'Fps' => ['description' => 'The frame rate of the file in frames per second.', 'type' => 'string', 'example' => '25.0000', 'title' => ''],
+ 'AudioStreamList' => [
+ 'description' => 'The information about the audio stream.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the audio stream.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Index' => ['description' => 'The sequence number of the audio stream. This number indicates the position of the audio stream in the media stream.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Timebase' => ['description' => 'The time base.', 'type' => 'string', 'example' => '0.000000', 'title' => ''],
+ 'SampleFmt' => ['description' => 'The sampling format.', 'type' => 'string', 'example' => 'fltp', 'title' => ''],
+ 'SampleRate' => ['description' => 'The sample rate.', 'type' => 'string', 'example' => '44100', 'title' => ''],
+ 'ChannelLayout' => ['description' => 'The output layout of the sound channel. Valid values:'."\n"
+ ."\n"
+ .'- **mono**: mono.'."\n"
+ ."\n"
+ .'- **stereo**: stereo.', 'type' => 'string', 'example' => 'mono', 'title' => ''],
+ 'Lang' => ['description' => 'The language.', 'type' => 'string', 'example' => 'und', 'title' => ''],
+ 'CodecLongName' => ['description' => 'The long name of the encoding format.', 'type' => 'string', 'example' => 'AAC (Advanced Audio Coding)'."\n", 'title' => ''],
+ 'Channels' => ['description' => 'The number of sound channels.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'NumFrames' => ['description' => 'The total number of frames.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Bitrate' => ['description' => 'The bitrate.', 'type' => 'string', 'example' => '62.885', 'title' => ''],
+ 'CodecTagString' => ['description' => 'The tag text of the encoding format.', 'type' => 'string', 'example' => 'mp4a', 'title' => ''],
+ 'StartTime' => ['description' => 'The start time. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2017-01-11T12:00:00Z', 'title' => ''],
+ 'CodecName' => ['description' => 'The short name of the encoding format.', 'type' => 'string', 'example' => 'aac', 'title' => ''],
+ 'Duration' => ['description' => 'The duration.', 'type' => 'string', 'example' => '3.227574', 'title' => ''],
+ 'CodecTag' => ['description' => 'The tag of the encoding format.', 'type' => 'string', 'example' => '0x6134706d', 'title' => ''],
+ 'CodecTimeBase' => ['description' => 'The codec time base.', 'type' => 'string', 'example' => '1/44100', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'VideoStreamList' => [
+ 'description' => 'The information about the video stream.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the video stream.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Timebase' => ['description' => 'The time base.', 'type' => 'string', 'example' => '0.000000', 'title' => ''],
+ 'Index' => ['description' => 'The sequence number of the video stream. This number indicates the position of the video stream in the media stream.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'AvgFPS' => ['description' => 'The average frame rate.', 'type' => 'string', 'example' => '30.0', 'title' => ''],
+ 'PixFmt' => ['description' => 'The pixel format.', 'type' => 'string', 'example' => 'yuv420p', 'title' => ''],
+ 'Lang' => ['description' => 'The language.', 'type' => 'string', 'example' => 'und', 'title' => ''],
+ 'Sar' => ['description' => 'The sample aspect ratio (SAR).', 'type' => 'string', 'example' => '0:1', 'title' => ''],
+ 'Height' => ['description' => 'The height of the video.', 'type' => 'string', 'example' => '320', 'title' => ''],
+ 'CodecLongName' => ['description' => 'The long name of the encoding format.', 'type' => 'string', 'example' => 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10', 'title' => ''],
+ 'NumFrames' => ['description' => 'The total number of frames.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Bitrate' => ['description' => 'The bitrate of the file in Kbps.', 'type' => 'string', 'example' => '500', 'title' => ''],
+ 'Rotate' => ['description' => 'The rotation angle of the video. Valid values: \\[0, 360).', 'type' => 'string', 'example' => '90', 'title' => ''],
+ 'CodecTagString' => ['description' => 'The tag text of the encoding format.', 'type' => 'string', 'example' => 'avc1', 'title' => ''],
+ 'HasBFrames' => ['description' => 'Indicates whether B-frames exist.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Profile' => ['description' => 'The codec profile.', 'type' => 'string', 'example' => 'Main', 'title' => ''],
+ 'StartTime' => ['description' => 'The start time. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2017-01-11T12:00:00Z', 'title' => ''],
+ 'Dar' => ['description' => 'The display aspect ratio (DAR).', 'type' => 'string', 'example' => '0:1', 'title' => ''],
+ 'CodecName' => ['description' => 'The short name of the encoding format.', 'type' => 'string', 'example' => 'h264', 'title' => ''],
+ 'Width' => ['description' => 'The width of the video.', 'type' => 'string', 'example' => '568', 'title' => ''],
+ 'Duration' => ['description' => 'The duration.', 'type' => 'string', 'example' => '3.166667', 'title' => ''],
+ 'Fps' => ['description' => 'The frame rate.', 'type' => 'string', 'example' => '30.0', 'title' => ''],
+ 'CodecTag' => ['description' => 'The tag of the encoding format.', 'type' => 'string', 'example' => '0x31637661', 'title' => ''],
+ 'CodecTimeBase' => ['description' => 'The codec time base.', 'type' => 'string', 'example' => '1/60', 'title' => ''],
+ 'Level' => ['description' => 'The encoding level.', 'type' => 'string', 'example' => '30', 'title' => ''],
+ 'HDRType' => ['description' => 'The High Dynamic Range (HDR) type of the video stream.', 'type' => 'string', 'title' => '', 'example' => 'HDR'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'FileMD5' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'RegisteredMediaId' => [
- 'title' => '已注册的媒资ID。',
- 'type' => 'string',
- 'example' => '93ab850b4f654b6e91d24d81d44****',
+ 'PlayInfoList' => [
+ 'description' => 'The playback information about the audio or video file. This is the stream information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the audio or video file.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => ['description' => 'The time when the stream was created. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-04-18T07:37:15Z'."\n", 'title' => ''],
+ 'Status' => ['description' => 'The status of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The media stream is in the normal state. This status is assigned to the latest transcoded stream of each definition and format.'."\n"
+ ."\n"
+ .'- **Invisible**: The media stream is invisible. If multiple streams are transcoded for the same definition and format, the latest transcoded stream is marked as Normal and the other streams are marked as Invisible.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'Specification' => ['description' => 'The output specifications of audio and video transcoding. For more information about the valid values and descriptions, see [Output specifications: Specification](~~124671#section-6bv-l0g-opq~~).', 'type' => 'string', 'example' => 'H264.LD', 'title' => ''],
+ 'NarrowBandType' => ['description' => 'The transcoding type. Valid values:'."\n"
+ ."\n"
+ .'- **0**: normal transcoding.'."\n"
+ ."\n"
+ .'- **1.0**: Narrowband HD 1.0 transcoding.'."\n"
+ ."\n"
+ .'- **2.0**: Narrowband HD 2.0 transcoding.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Height' => ['description' => 'The height of the media stream in pixels (px).', 'type' => 'integer', 'format' => 'int64', 'example' => '640', 'title' => ''],
+ 'Bitrate' => ['description' => 'The bitrate of the media stream in Kbps.', 'type' => 'string', 'example' => '450.878', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the stream was last updated. The time is in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-04-20T06:32:19Z', 'title' => ''],
+ 'WatermarkId' => ['description' => 'The ID of the watermark template that is associated with the media stream.', 'type' => 'string', 'example' => 'dgfn26457856****', 'title' => ''],
+ 'Encrypt' => ['description' => 'Indicates whether the media stream is encrypted. Valid values:'."\n"
+ ."\n"
+ .'- **0**: no.'."\n"
+ ."\n"
+ .'- **1**: yes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'Definition' => ['description' => 'The definition of the video stream. Valid values:'."\n"
+ ."\n"
+ .'- **FD**: low definition.'."\n"
+ ."\n"
+ .'- **LD**: standard definition.'."\n"
+ ."\n"
+ .'- **SD**: high definition.'."\n"
+ ."\n"
+ .'- **HD**: ultra-high definition'."\n"
+ ."\n"
+ .'- **OD**: original quality.'."\n"
+ ."\n"
+ .'- **2K**: 2K.'."\n"
+ ."\n"
+ .'- **4K**: 4K.'."\n"
+ ."\n"
+ .'- **SQ**: standard-quality audio.'."\n"
+ ."\n"
+ .'- **HQ**: high-quality audio.'."\n"
+ ."\n"
+ .'- **AUTO**: adaptive bitrate.', 'type' => 'string', 'example' => 'LD', 'title' => ''],
+ 'EncryptType' => ['description' => 'The encryption type of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- **AliyunVoDEncryption**: Alibaba Cloud proprietary cryptography.'."\n"
+ ."\n"
+ .'- **HLSEncryption**: HLS encryption.'."\n"
+ ."\n"
+ .'> If the encryption type is **AliyunVoDEncryption**, you can play the stream only using ApsaraVideo Player SDK.', 'type' => 'string', 'example' => 'AliyunVoDEncryption', 'title' => ''],
+ 'EncryptMode' => ['description' => 'The encryption mode of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- **License**: local decryption mode.'."\n"
+ ."\n"
+ .'> If the encryption mode is **License**, you can play the stream only using ApsaraVideo Player SDK.', 'type' => 'string', 'example' => 'License', 'title' => ''],
+ 'StreamType' => ['description' => 'The type of the media stream.'."\n"
+ .'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**.', 'type' => 'string', 'example' => 'video', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the transcoding job for the media stream. This ID serves as the unique identifier of the media stream.', 'type' => 'string', 'example' => '80e9c6580e754a798c3c19c59b16****', 'title' => ''],
+ 'Size' => ['description' => 'The size of the media stream in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '418112', 'title' => ''],
+ 'Width' => ['description' => 'The width of the media stream in pixels (px).', 'type' => 'integer', 'format' => 'int64', 'example' => '360', 'title' => ''],
+ 'Fps' => ['description' => 'The frame rate of the media stream in frames per second.', 'type' => 'string', 'example' => '25', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the media stream in seconds.', 'type' => 'string', 'example' => '9.0464', 'title' => ''],
+ 'PlayURL' => ['description' => 'The playback URL of the video stream.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/d52ee123f331466aabf6ab32a93d****/a777f9e24e6e47a2a942467d5c38ea37-8ee8e04293c6657fdda282bc422704****.m3u8', 'title' => ''],
+ 'Format' => ['description' => 'The format of the media stream.'."\n"
+ ."\n"
+ .'- If the media file is a video, valid values are **mp4** and **m3u8**.'."\n"
+ ."\n"
+ .'- If the media file is audio-only, the value is **mp3**.', 'type' => 'string', 'example' => 'm3u8', 'title' => ''],
+ 'HDRType' => ['description' => 'The HDR type of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- HDR'."\n"
+ ."\n"
+ .'- HDR10'."\n"
+ ."\n"
+ .'- HLG'."\n"
+ ."\n"
+ .'- DolbyVision'."\n"
+ ."\n"
+ .'- HDRVivid'."\n"
+ ."\n"
+ .'- SDR+', 'type' => 'string', 'title' => '', 'example' => 'HLG'],
+ 'BitDepth' => ['description' => 'The color depth. The value is an integer.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8'],
+ 'JobType' => ['description' => 'The type of the digital watermark. Valid values:'."\n"
+ ."\n"
+ .'- **1**: tracing watermark.'."\n"
+ ."\n"
+ .'- **2**: copyright watermark.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'JobExt' => ['description' => 'The custom watermark information for the copyright watermark. This parameter is returned only when `JobType` is `2`.', 'type' => 'string', 'example' => 'CopyrightMarkTest', 'title' => ''],
+ 'CodecName' => ['description' => 'The short name of the encoding format.', 'type' => 'string', 'example' => 'h264', 'title' => ''],
+ 'TemplateId' => ['description' => 'The ID of the transcoding template.', 'type' => 'string', 'example' => 'a86a4338dd2e83da45154004a541****', 'title' => ''],
+ 'TemplateGroupId' => ['description' => 'The ID of the transcoding template group.', 'type' => 'string', 'example' => 'fb0716154b21a4ecb5b70a26ccc8****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ '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 retrieve information for up to 20 audio or video files in a single request.'."\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',
+ .'- The media asset information is generated asynchronously because Video on Demand (VOD) analyzes the source file after it is uploaded. You can configure [event notifications](~~55627~~) for [Audio/Video Analysis Complete](~~99935~~). After you receive the notification, call this operation to retrieve the audio or video information.',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:03.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:18.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetMediaInfos'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:BatchGetMediaInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'BatchSetVodDomainConfigs' => [
+ 'summary' => 'Configures one or more domain names for CDN.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '46269',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'abilityTreeCode' => '39799',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'JobIds',
+ 'name' => 'DomainNames',
'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****',
- ],
+ 'schema' => ['description' => 'The domain name for CDN. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'UploadUrls',
+ 'name' => 'Functions',
'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',
- ],
+ '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"}]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => '',
'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',
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-****-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidFunctions.Malformed', 'errorMessage' => 'The specified Functions is incorrectly formatted.', 'description' => ''],
+ ['errorCode' => 'InvalidArgValue.Malformed', 'errorMessage' => 'The specified ArgValue is invalid.', 'description' => ''],
+ ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => '[%s] is not supported.', 'description' => ''],
+ ['errorCode' => 'Invalid%s.Malformed', 'errorMessage' => 'The specified ArgValue [%s] is invalid.', 'description' => ''],
+ ['errorCode' => 'MissingParameter%s', 'errorMessage' => 'The specified value of ArgName[%s] is missing.', 'description' => ''],
+ ['errorCode' => 'InvalidFunctionArgs.Malformed', 'errorMessage' => 'The specified FunctionArgs is invalid.', 'description' => ''],
+ ['errorCode' => 'MissingParameter', 'errorMessage' => 'The specified ArgValue is missing.', 'description' => ''],
+ ['errorCode' => 'InvalidHeaderKey.ValueNotSupported', 'errorMessage' => 'The specified value of parameter HeaderKey is not supported.', 'description' => ''],
+ ['errorCode' => 'TooManyDomains', 'errorMessage' => 'The count of domain is over 50.', 'description' => ''],
+ ['errorCode' => 'InvalidRule.Malformed', 'errorMessage' => '%s', 'description' => ''],
+ ['errorCode' => 'InvalidFunction.NotSupported', 'errorMessage' => 'The domain is not supported to set the function.', 'description' => ''],
+ ['errorCode' => 'InvalidDomain.BelongToConfigGroup', 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', 'description' => ''],
+ ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'EntityNotExist.Role', 'description' => ''],
+ ['errorCode' => 'MissingParameterFunctions', 'errorMessage' => 'The specified value of Functions is missing.', 'description' => ''],
+ ['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', 'description' => ''],
+ ['errorCode' => 'ConfigExceedLimit', 'errorMessage' => 'Count of config entries exceeds the limit.', 'description' => ''],
+ ['errorCode' => 'EdgeScriptCountExceedLimit', 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', 'description' => 'You can configure only one script. 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.', 'description' => ''],
+ ['errorCode' => 'EdgeScriptGrammarNotSupport', 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => ''],
+ ['errorCode' => 'EdgeScriptNotSupportJs', 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'description' => ''],
+ ['errorCode' => 'ServiceInvokeFailed', 'errorMessage' => 'Failed to invoke service.', 'description' => ''],
+ ['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.', 'description' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the staging 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",
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:44.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:12.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:BatchSetVodDomainConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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. |',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetVodDomainConfigs'],
+ ],
],
+ ],
+ 'BatchStartVodDomain' => [
+ 'summary' => 'Enables accelerated domain names that are in the disabled state.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '100689',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39800',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'StreamURL',
+ 'name' => 'DomainNames',
'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',
- ],
+ 'schema' => ['description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
- [
- 'name' => 'MediaId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The media ID in ApsaraVideo VOD.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ca3a8f6e49*****57b65806709586',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '15C66C7B-671A-4297-****-2C4477247A74', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'ServiceBusy', 'errorMessage' => 'The specified Domain is configuring, please retry later', 'description' => ''],
],
[
- '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',
- ],
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
],
- [
- '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',
+ ],
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:57.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:BatchStartVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStartVodDomain'],
+ ],
+ ],
+ ],
+ 'BatchStopVodDomain' => [
+ 'summary' => 'Disables accelerated domain names.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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"}}',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39801',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
[
- 'name' => 'UploadMetadata',
+ 'name' => 'DomainNames',
'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"}',
- ],
+ 'schema' => ['description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
],
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '15C66C7B-671A-4297-****-2C4477247A74', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'ServiceBusy', 'errorMessage' => 'The specified Domain is configuring, please retry later', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
+ ],
+ ],
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:19.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:57.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:BatchStopVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStopVodDomain'],
+ ],
],
+ ],
+ 'CancelUrlUploadJobs' => [
+ 'summary' => 'Cancels URL-based upload jobs in the queue.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2108,281 +2214,181 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39840',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
+ 'abilityTreeCode' => '46269',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaId',
+ 'name' => 'JobIds',
'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****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'MediaType',
+ 'name' => 'UploadUrls',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned results.'."\n",
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4AF6-D7393642CA58****',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4D5C-3C3D-D7393642****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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.',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:50.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:25.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelUrlUploadJobs'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:CancelUrlUploadJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'ChangeResourceGroup' => [
+ 'summary' => 'Transfers a resource to a specified resource group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39988',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '161156',
+ 'abilityTreeNodes' => ['FEATUREvod7FWSSO'],
],
'parameters' => [
[
- 'name' => 'MediaIds',
+ 'name' => 'ResourceType',
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The type of resource', 'type' => 'string', 'required' => false, 'example' => 'AppInfo', 'default' => 'Storage'],
],
[
- 'name' => 'MediaType',
+ 'name' => 'ResourceId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of resource', 'type' => 'string', 'required' => true, 'example' => 'app-xxxxxxx'],
+ ],
+ [
+ 'name' => 'ResourceRegionId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', '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' => [
- 'description' => 'The returned data.',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NoPermission.ChangeResourceGroup', 'errorMessage' => 'You are not authorized to change resourcegroup', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceRegionId', 'errorMessage' => 'The ResourceRegionId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceId', 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceGroupId', 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'InvalidResourceGroup', 'errorMessage' => 'The specified ResourceGroupId is invalid', 'description' => ''],
+ ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred while processing your request', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound', 'errorMessage' => ' The specified resource is not found', 'description' => ''],
+ ],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","type":"json"}]',
+ 'title' => 'ChangeResourceGroup',
+ 'description' => '调用该接口将资源转移至另一个资源组下。',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:39.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:20.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:ChangeResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ChangeResourceGroup'],
+ ],
],
+ ],
+ 'CreateAppInfo' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2394,378 +2400,278 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '43406',
- 'abilityTreeNodes' => [
- 'FEATUREvodVQ27S4',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '39806',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
],
'parameters' => [
[
- 'name' => 'RegisterMetadatas',
+ 'name' => 'AppName',
'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"}]',
- ],
+ 'schema' => ['description' => 'The name of the application. The name must be unique.'."\n"
+ ."\n"
+ .'- The name can be up to 128 characters in length and can contain Chinese characters, uppercase and lowercase letters, digits, periods (.), hyphens (-), and at signs (@).'."\n"
+ ."\n"
+ .'- The name must be encoded in UTF-8.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'test'],
],
[
- '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',
+ 'name' => 'Description',
'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"}}',
- ],
+ 'schema' => ['description' => 'The description of the application.'."\n"
+ ."\n"
+ .'- The description can be up to 512 characters in length.'."\n"
+ ."\n"
+ .'- The description must be encoded in UTF-8.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'myfirstapp'],
],
[
- 'name' => 'WorkflowId',
+ 'name' => 'ResourceGroupId',
'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****',
- ],
+ 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The ID of the resource group.', 'title' => '', 'example' => 'rg-aekzko7fsuj****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned results.'."\n",
+ 'description' => 'The response.',
'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****',
- ],
- ],
- ],
- ],
+ 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'title' => '', 'example' => 'app-****'],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4A13-34D5-D7393642****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'title' => 'CreateAppInfo',
+ 'summary' => 'You can call this API operation to create a new application.',
+ 'description' => 'Each account can have a maximum of 10 applications. For more information, see [Multi-application development guide](~~113600~~).'."\n"
."\n"
- .'The following table describes the metadata of the media file.'."\n"
+ .'### QPS limit'."\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',
+ .'The queries per second (QPS) limit for a single user is 50 calls per second. If you exceed this limit, API calls are throttled, which may affect your business. Call this API operation at a reasonable frequency. For more information, see [QPS limit](~~342790~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:02.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-19T08:27:34.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-18T07:27:36.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-17T07:30:27.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAppInfo'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AppId\\": \\"app-****\\",\\n \\"RequestId\\": \\"25818875-5F78-4A13-34D5-D7393642****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateAudit' => [
+ 'summary' => 'Performs manual review on media files, such as audio and video files.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39972',
- 'abilityTreeNodes' => [
- 'FEATUREvodCOWQO0',
- ],
+ 'abilityTreeCode' => '39808',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ '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":"Pornographic video","Comment":"Contains explicit content"}]', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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****',
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:40.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:05.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAudit'],
+ ],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateAudit',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ ],
+ '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' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39816',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
[
- 'name' => 'OutputType',
+ 'name' => 'Title',
'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',
- ],
+ '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' => 'Test', 'title' => ''],
],
[
- 'name' => 'StreamType',
+ 'name' => 'BusinessType',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ReAuthInfo',
+ 'name' => 'MediaExt',
'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",
+ '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,
- 'example' => '{"uid":"12345","rand":"abckljd"}',
+ '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',
+ 'title' => '',
],
],
[
- 'name' => 'Definition',
+ 'name' => 'FileName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ResultType',
+ 'name' => 'FileSize',
'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',
- ],
+ 'schema' => ['description' => 'The size of the auxiliary media asset. Unit: byte.'."\n", 'type' => 'string', 'required' => false, 'example' => '123', 'title' => ''],
],
[
- 'name' => 'PlayConfig',
+ 'name' => 'Tags',
'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"}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AdditionType',
+ 'name' => 'StorageLocation',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Trace',
+ 'name' => 'Description',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'DigitalWatermarkType',
+ 'name' => 'UserData',
'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',
- ],
+ '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"}}', 'title' => ''],
],
[
- 'name' => 'CodecName',
+ 'name' => 'CateIds',
'in' => 'query',
- 'schema' => [
- 'title' => '编码类型。',
- 'type' => 'string',
- 'example' => 'H264',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'ReferenceId',
+ 'name' => 'AppId',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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-****', 'title' => ''],
],
],
'responses' => [
@@ -2774,1485 +2680,511 @@
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73254DE5-F260-4720-D06856B63C01****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the auxiliary media asset.'."\n", 'type' => 'string', 'example' => '97dc17a5abc3668489b84ce9****', 'title' => ''],
+ '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=****', 'title' => ''],
+ '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****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ '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' => ' ',
- '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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:44.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:51.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUploadAttachedMedia'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateUploadAttachedMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40001',
- 'abilityTreeNodes' => [
- 'FEATUREvodCOWQO0',
- ],
+ 'abilityTreeCode' => '39817',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ 'name' => 'Title',
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AuthInfoTimeout',
+ 'name' => 'ImageType',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ApiVersion',
+ 'name' => 'ImageExt',
'in' => 'query',
- 'schema' => [
- 'description' => 'The API version. Set the value to **1.0.0**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1.0.0',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ReferenceId',
+ 'name' => 'OriginalFileName',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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****', 'title' => ''],
+ ],
+ [
+ '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"}}', 'title' => ''],
+ ],
+ [
+ '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' => 'Image upload test', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned result.'."\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',
- ],
- ],
- ],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-AEF6-D7393642****', 'title' => ''],
+ '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****', 'title' => ''],
+ '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', 'title' => ''],
+ 'ImageId' => ['description' => 'The ID of the image file.'."\n", 'type' => 'string', 'example' => '93ab850b4f6f46e91d24d81d4****', 'title' => ''],
+ '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****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:11.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:56.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUploadImage'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateUploadImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'CreateUploadVideo' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40118',
- 'abilityTreeNodes' => [
- 'FEATUREvodCOT3DK',
- ],
+ 'abilityTreeCode' => '39819',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'SearchType',
+ 'name' => 'CoverURL',
'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',
- ],
+ 'schema' => ['description' => 'The URL of the custom video cover.', 'type' => 'string', 'required' => false, 'example' => 'https://example.aliyundoc.com/image/D22F553TEST****.jpeg', 'title' => ''],
],
[
- 'name' => 'Fields',
+ 'name' => 'Description',
'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',
- ],
+ 'schema' => ['description' => 'The description of the media file that is displayed in ApsaraVideo VOD after the upload is complete.'."\n"
+ ."\n"
+ .'- The description can be up to 1,024 characters in length.'."\n"
+ ."\n"
+ .'- The value must be encoded in UTF-8.', 'type' => 'string', 'required' => false, 'example' => 'UploadTest', 'title' => ''],
],
[
- 'name' => 'Match',
+ 'name' => 'FileName',
'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',
- ],
+ 'schema' => ['description' => 'The path of the source media file to upload.'."\n"
+ ."\n"
+ .'- The file name must include an extension, which is case-insensitive.'."\n"
+ ."\n"
+ .'- For a list of supported file extensions, see [Upload overview](~~55396~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'D:\\video_01.mp4', 'title' => ''],
],
[
- 'name' => 'SortBy',
+ 'name' => 'FileSize',
'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',
- ],
+ 'schema' => ['description' => 'The size of the source media file, in bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '123', 'title' => ''],
],
[
- 'name' => 'PageNo',
+ 'name' => 'Title',
'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',
- ],
+ 'schema' => ['description' => 'The title of the media file that is displayed in ApsaraVideo VOD after the upload is complete.'."\n"
+ ."\n"
+ .'- The title can be up to 128 characters in length.'."\n"
+ ."\n"
+ .'- The value must be encoded in UTF-8.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'UploadTest', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'CateId',
'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',
- ],
+ 'schema' => ['description' => 'The category ID. You can obtain the category ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Settings** > **Media Asset Management** > **Category Management** to view the category ID.'."\n"
+ ."\n"
+ .'- The category ID is the value of the `CateId` parameter in the response to the [AddCategory](~~AddCategory~~) operation.'."\n"
+ ."\n"
+ .'- The category ID is the value of the `CateId` parameter in the response to the [GetCategories](~~GetCategories~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100036****', 'title' => ''],
],
[
- 'name' => 'ScrollToken',
+ 'name' => 'Tags',
'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****',
- ],
+ 'schema' => ['description' => 'The tags of the media file.'."\n"
+ ."\n"
+ .'- A maximum of 16 tags are supported.'."\n"
+ ."\n"
+ .'- To add multiple tags, separate them with commas (,).'."\n"
+ ."\n"
+ .'- A single tag can be up to 32 characters in length.'."\n"
+ ."\n"
+ .'- The value must be encoded in UTF-8.', 'type' => 'string', 'required' => false, 'example' => 'tag1,tag2', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserData',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Custom settings in a JSON string format. This parameter lets you configure features such as message callbacks and upload acceleration. For more information, see [UserData](~~86952~~).'."\n"
+ ."\n"
+ .'> - To use message callbacks, you must configure an HTTP callback URL and select the corresponding event types in the ApsaraVideo VOD console. Otherwise, the callback settings are ignored. If you do not specify a callback URL for subsequent tasks, event notifications are sent to the configured URL by default. For more information about how to configure HTTP callbacks in the console, see [Callback settings](~~86071~~).'."\n"
+ .'>'."\n"
+ .'> - To use the upload acceleration feature, you must [fill out a form on Yida](https://yida.alibaba-inc.com/o/ticketapply) to activate the feature. For more information, see [Upload-related instructions](~~55396~~).', 'type' => 'string', 'required' => false, 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', 'title' => ''],
+ ],
+ [
+ 'name' => 'TemplateGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the transcoding template group. You can obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Settings** > **Media Processing Settings** > **Transcoding Template Group** to view the transcoding template group ID.'."\n"
+ ."\n"
+ .'- The ID is the value of the `TranscodeTemplateGroupId` parameter in the response to the [AddTranscodeTemplateGroup](~~102665~~) operation.'."\n"
+ ."\n"
+ .'- The ID is the value of the `TranscodeTemplateGroupId` parameter in the response to the [ListTranscodeTemplateGroup](~~102669~~) operation.'."\n"
+ ."\n"
+ .'> * If you specify both `WorkflowId` and `TemplateGroupId`, `WorkflowId` takes precedence.'."\n"
+ .'>'."\n"
+ .'> * If you do not specify this parameter, the default transcoding template group is used. If you specify this parameter, the specified template group is used.'."\n"
+ .'>'."\n"
+ .'> * If you set this parameter to the built-in **No Transcoding** template group, only the [UploadComplete](~~55630~~) event notification is sent after the upload. No [TranscodeComplete](~~55636~~) event notification is sent.'."\n"
+ .'>'."\n"
+ .'> * This parameter triggers an [asynchronous task](~~3027551~~). After the request is sent, the task is queued for background processing.'."\n"
+ .'>'."\n"
+ .'> * To ensure proper playback, if you use the built-in **No Transcoding** template group, only the following formats can be played directly without transcoding: MP4, FLV, MP3, M3U8, and WEBM. Other formats can only be stored (the format is determined by the extension in `FileName`). If you use Alibaba Cloud Player, its version must be 3.1.0 or later.', 'type' => 'string', 'required' => false, 'example' => '405477f9e214d19ea2c7c854****', 'title' => ''],
+ ],
+ [
+ 'name' => 'WorkflowId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The workflow ID. To view the workflow ID, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Settings** > **Media Processing Settings** > **Workflow Management**.'."\n"
+ ."\n"
+ .'> - If you specify both `WorkflowId` and `TemplateGroupId`, `WorkflowId` takes precedence. For more information, see [Workflows](~~115347~~).'."\n"
+ .'>'."\n"
+ .'> - This parameter triggers an [asynchronous task](~~3027551~~). After the request is sent, the task is queued for background processing.', 'type' => 'string', 'required' => false, 'example' => '613efff3887ec34af685714cc461****', 'title' => ''],
+ ],
+ [
+ 'name' => 'StorageLocation',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The storage location. To view the storage location, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Settings** > **Media Asset Management** > **Storage Management**.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the media file is uploaded to the default storage location. If no default storage location is specified, the file is uploaded to the first storage location in the list. If you specify this parameter, the file is uploaded to the specified storage location.', 'type' => 'string', 'required' => false, 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The application ID. Default value: **app-1000000**. For more information, see [Multi-application](~~113600~~).', 'type' => 'string', 'required' => false, 'example' => 'app-1000000', 'title' => ''],
+ ],
+ [
+ 'name' => 'ReferenceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A custom ID. It can contain only lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and must be unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => '', 'required' => false],
+ ],
+ [
+ 'name' => 'EnableFirstFrameCover',
+ 'in' => 'query',
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ [
+ 'name' => 'GenerateThumbnail',
+ 'in' => 'query',
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-04D5-D7393642****', 'title' => ''],
+ 'UploadAddress' => ['description' => 'The upload address.'."\n"
+ ."\n"
+ .'> The upload address returned by this operation is Base64-encoded. You must Base64-decode the address before you use it to upload a media file. This parsing is required only when using an OSS SDK or an OSS API to upload files.', 'type' => 'string', 'example' => 'eyJTZWN1cml0a2VuIjoiQ0FJU3p3TjF****', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the media file. Use this ID as a request parameter for operations such as media asset management, media processing, and media moderation.', 'type' => 'string', 'example' => '93ab850b4f6f54b6e91d24d81d44****', 'title' => ''],
+ 'UploadAuth' => ['description' => 'The upload credential.'."\n"
+ ."\n"
+ .'> The upload credential returned by this operation is Base64-encoded. You must Base64-decode the credential before you use it to upload a media file. This parsing is required only when using an OSS SDK or an OSS API to upload files.', 'type' => 'string', 'example' => 'eyJFbmRwb2ludCI6Imm****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'CreateUploadVideo',
+ 'summary' => 'ApsaraVideo VOD provides an upload address and credential for secure and authorized uploads. Call this operation to obtain the upload address and credential, create a media ID (returned as VideoId), and set basic information for the media file.',
+ 'description' => '- **Before you use this operation, make sure you understand the billing methods and pricing of ApsaraVideo VOD. Uploading a media file incurs media storage fees. For more information, see [Media storage billing](~~188308#section_e97_xrp_mzz~~). If you have enabled storage and transfer acceleration, you are also charged for upload acceleration. For more information, see [Storage and transfer acceleration billing](~~188310#section_sta_zm2_tsv~~). Storage fees are calculated after the file is successfully uploaded. Acceleration fees are charged for uploads after the feature is enabled. Calling this operation alone does not incur any charges.**'."\n"
."\n"
- .'* Method 1: Traverse data by page'."\n"
+ .'- Obtaining an upload address and credential is the first step for every upload to ApsaraVideo VOD. The service supports various upload methods, each with different requirements for obtaining the address and credential. For more information, see [Upload address and credential](~~55397~~).'."\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"
+ .'- This operation only obtains the upload address, credential, and basic media information. It does not upload the media file itself. For a complete example of how to upload a media file by using an API, see [Upload a media file by using the ApsaraVideo VOD API](~~476208~~).'."\n"
."\n"
- .'* Method 2: Traverse all data (available only for audio and video files)'."\n"
+ .'- You can call this operation to obtain the upload address and credential for both video and audio files. For more information, see [Upload address and credential](~~55397~~).'."\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"
+ .'- If the upload credential expires (the default validity period is 3,000 seconds), call the [RefreshUploadVideo](~~RefreshUploadVideo~~) operation to obtain a new one.'."\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"
+ .'- After the upload is complete, you can configure a callback to receive an [event notification](~~55396~~) or call the [GetMezzanineInfo](~~59624~~) operation to check the file status and verify that the upload was successful.'."\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' => ' ',
+ .'- Use the returned `VideoId` for media asset lifecycle management or media processing.',
'extraInfo' => '## Common errors'."\n"
."\n"
- .'The following table describes the common errors that this operation can return. '."\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"
- .'| 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',
+ .'|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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:55.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:20.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUploadVideo'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateUploadVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-04D5-D7393642****\\",\\n \\"UploadAddress\\": \\"eyJTZWN1cml0a2VuIjoiQ0FJU3p3TjF****\\",\\n \\"VideoId\\": \\"93ab850b4f6f54b6e91d24d81d44****\\",\\n \\"UploadAuth\\": \\"eyJFbmRwb2ludCI6Imm****\\"\\n}","type":"json"}]',
+ ],
+ 'DecryptKMSDataKey' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '171759',
- 'abilityTreeNodes' => [
- 'FEATUREvodM1QLPK',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '146055',
+ 'abilityTreeNodes' => ['FEATUREvodMVRCEC'],
],
'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',
+ 'name' => 'CipherText',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ciphertext to be decrypted.', 'type' => 'string', 'required' => true, 'example' => 'DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned results.'."\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',
- ],
- ],
- ],
- ],
- ],
- ],
+ '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****'],
],
],
],
],
- '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',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'AliyunVODDefaultRole is not authorized by your account.', 'description' => 'The AliyunVODDefaultRole does not have permissions to access the resources. Authorize the role based on the documentation.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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',
+ 'summary' => 'Decrypts the ciphertext specified by CiphertextBlob in the Key Management Service (KMS) data key.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DecryptKMSDataKey'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DecryptKMSDataKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DeleteAIImageInfos' => [
+ 'summary' => 'Deletes the information about one or more images that are submitted for AI processing.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4261,208 +3193,93 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '171760',
- 'abilityTreeNodes' => [
- 'FEATUREvodM1QLPK',
- ],
+ 'abilityTreeCode' => '39822',
+ 'abilityTreeNodes' => ['FEATUREvodIPBMLH'],
'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',
+ 'name' => 'AIImageInfoIds',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned data.'."\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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FCDC80EA-363C-41*****B8-0DF14033D643', 'title' => ''],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:44.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:50.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:07.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAIImageInfos'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAIImageInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteAITemplate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39783',
- 'abilityTreeNodes' => [
- 'FEATUREvodUYOK6S',
- ],
+ 'abilityTreeCode' => '39823',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'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',
+ 'name' => 'TemplateId',
'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',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
@@ -4471,85 +3288,49 @@
'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',
- ],
- ],
- ],
+ 'TemplateId' => ['description' => 'The ID of the AI template.'."\n", 'type' => 'string', 'example' => '1706a0063dd733f6a823ef32e0a5****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-BEF6-****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteAITemplate',
+ 'summary' => 'Deletes an AI template.',
+ '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' => ' ',
- '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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:34.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:59.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAITemplate'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteAppInfo' => [
+ 'summary' => 'Deletes the information about applications.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4558,68 +3339,32 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '40213',
- 'abilityTreeNodes' => [
- 'FEATUREvodUYOK6S',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '39824',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
],
'parameters' => [
[
- 'name' => 'CateName',
+ 'name' => 'AppId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'app-****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4AF6-D7393642CA58****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-BEF6-****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- '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",
+ '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"
@@ -4628,18 +3373,37 @@
."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:46.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:40.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:52.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAppInfo'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [],
@@ -4651,89 +3415,88 @@
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39827',
- 'abilityTreeNodes' => [
- 'FEATUREvodUYOK6S',
- ],
+ 'abilityTreeCode' => '39826',
+ 'abilityTreeNodes' => ['FEATUREvod8R2V42'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'CateId',
+ 'name' => 'MediaIds',
'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****',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned results.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4AF6-D7393642CA58****',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ '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****"]', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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",
+ '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' => '## 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',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:44.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:32.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAttachedMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAttachedMedia'],
+ ],
],
+ ],
+ 'DeleteCategory' => [
+ 'summary' => 'Deletes a category and its subcategories.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39943',
- 'abilityTreeNodes' => [
- 'FEATUREvodUYOK6S',
- ],
+ 'abilityTreeCode' => '39827',
+ 'abilityTreeNodes' => ['FEATUREvodUYOK6S'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -4741,64 +3504,12 @@
[
'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',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
@@ -4807,124 +3518,16 @@
'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.',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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"
@@ -4934,32 +3537,48 @@
.'| 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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:33.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:05.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCategory'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteCategory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'DeleteDynamicImage' => [
+ 'summary' => 'Deletes the information about animated stickers.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39998',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39831',
+ 'abilityTreeNodes' => ['FEATUREvod3O95DN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -4967,1282 +3586,298 @@
[
'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****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'ReferenceId',
+ 'name' => 'DynamicImageIds',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0C8F0FDD-A99F-4188-B41934C97A54****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteDynamicImage',
+ 'description' => '> This operation deletes only the information about animated stickers, but not the animated stickers themselves.',
'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',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:51.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDynamicImage'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteDynamicImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'DeleteEditingProject' => [
+ 'summary' => 'Deletes online editing projects.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '43387',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39832',
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => '7753d144efd8e649c6c45fe0579****,7753d144efd74d6c45fe0570****',
- ],
- ],
- [
- 'name' => 'ReferenceIds',
+ 'name' => 'ProjectIds',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。',
- 'type' => 'string',
- 'example' => '123-123,1234-1234',
- ],
+ 'schema' => ['description' => 'The ID of the online editing project. Separate multiple IDs with commas (,).'."\n", 'type' => 'string', 'required' => true, 'example' => 'fb2101bf24bf41*****cb318787dc', 'title' => ''],
],
],
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ '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' => ' ',
- '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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:39.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:08.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEditingProject'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteEditingProjectMaterials' => [
+ 'summary' => 'Deletes the materials to be edited for an online editing project.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40000',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39833',
+ 'abilityTreeNodes' => ['FEATUREvod8R2V42'],
'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',
+ 'name' => 'ProjectId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the online editing project.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '198236101*****1093374', 'title' => ''],
],
[
- 'name' => 'StorageLocation',
+ 'name' => 'MaterialIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The storage address of the media file.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com',
- ],
+ 'schema' => ['description' => 'The material ID. Separate multiple material IDs with commas (,).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '9e3101bf24bf41c*****123318788ca', 'title' => ''],
],
[
- 'name' => 'ReferenceIds',
+ 'name' => 'MaterialType',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。',
- 'type' => 'string',
- 'example' => '123-123,1234-1234',
- ],
+ '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', 'title' => ''],
],
],
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '746FFA07-8BBB-46*****B1-3E94E3B2915E', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteEditingProjectMaterials',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:47.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:52.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEditingProjectMaterials'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"746FFA07-8BBB-46*****B1-3E94E3B2915E\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteImage' => [
+ 'summary' => 'Deletes uploaded images and video snapshots that are automatically captured.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39967',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39834',
+ 'abilityTreeNodes' => ['FEATUREvod8R2V42'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ 'name' => 'DeleteImageType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the video.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => '1f1a6fc03ca04814031b8a6559e****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AuthTimeout',
+ 'name' => 'ImageURLs',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'OutputType',
+ 'name' => 'ImageIds',
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'AdditionType',
+ 'name' => 'VideoId',
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'ReferenceId',
+ 'name' => 'ImageType',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned result.'."\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',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- '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",
+ '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"
@@ -6251,185 +3886,105 @@
."\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',
+ .'| NoSuchResource | The specified resource does not exist. | 404 | The error message returned because the specified image does not exist. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:33.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:38.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteImage'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteMessageCallback' => [
+ 'summary' => 'Deletes the callback method, callback URL, and event type of an event notification.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40229',
- 'abilityTreeNodes' => [
- 'FEATUREvod7B2GUR',
- ],
+ 'abilityTreeCode' => '39838',
+ 'abilityTreeNodes' => ['FEATUREvod9NUA3V'],
'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',
+ 'name' => 'AppId',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4AF6-D7393642CA58****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-****-D7393642CA58', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteMessageCallback',
+ 'description' => '> 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. |',
- ],
- 'UpdateVideoInfos' => [
- 'summary' => 'Modifies information about multiple audio or video files at a time.',
- 'methods' => [
- 'post',
- 'get',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:31.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:19.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:39.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMessageCallback'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteMessageCallback',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'DeleteMezzanines' => [
+ 'summary' => 'Deletes the source files for one or more audio or video files.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6438,29 +3993,41 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40231',
- 'abilityTreeNodes' => [
- 'FEATUREvod7B2GUR',
- ],
+ 'abilityTreeCode' => '39839',
+ 'abilityTreeNodes' => ['FEATUREvod8R2V42'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'UpdateContent',
+ 'name' => 'VideoIds',
'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"}]',
- ],
+ 'schema' => ['description' => 'The IDs of the audio or video files whose source files are to be deleted. You can specify up to 20 IDs. Separate multiple IDs with commas (,). Obtain the IDs in one of the following ways:'."\n"
+ ."\n"
+ .'- For audio or video files uploaded in the console, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Library** > **Audio/Video** to view the IDs.'."\n"
+ ."\n"
+ .'- The audio or video ID is the value of the VideoId parameter in the response to the [CreateUploadVideo](~~55407~~) operation.'."\n"
+ ."\n"
+ .'- After an audio or video file is uploaded, you can call the [SearchMedia](~~86044~~) operation to query the audio or video ID. The ID is the value of the VideoId parameter in the response.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '23ab850b4f654b6e91d24d8157****,93ab850b4f6f4b6e91d24d81d4****'],
+ ],
+ [
+ 'name' => 'Force',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to force delete the source file. Valid values:'."\n"
+ ."\n"
+ .'- **false**: No. This is the default value.'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'> If the video transcoding mode is no transcoding or asynchronous transcoding, the source file is used for playback in the original quality. By default, you cannot delete the source file of the video. To force delete the source file, set this parameter to **true**.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
+ ],
+ [
+ 'name' => 'ReferenceIds',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The list of custom IDs. You can specify up to 20 IDs. Separate multiple IDs with commas (,).', 'required' => false, 'example' => '123-123,1234-1234'],
],
],
'responses' => [
@@ -6469,72 +4036,72 @@
'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~~).',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4AF6-D7393642CA58****'],
+ 'UnRemoveableVideoIds' => [
+ 'description' => 'The list of IDs of audio or video files that cannot be deleted.'."\n"
+ ."\n"
+ .'> Deletion may fail because the source file is used for playback in original quality or because you lack the required [permissions](~~113600~~). If the video transcoding mode is no transcoding or asynchronous transcoding, the source file is used for playback in original quality and cannot be deleted by default.',
'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****',
- ],
+ 'items' => ['description' => 'The list of IDs of audio or video files that cannot be deleted.'."\n"
+ ."\n"
+ .'> Deletion may fail because the source file is used for playback in original quality or because you lack the required [permissions](~~113600~~). If the video transcoding mode is no transcoding or asynchronous transcoding, the source file is used for playback in original quality and cannot be deleted by default.', 'type' => 'string', 'title' => '', 'example' => '23ab850b4f6f44b6e91d24d8157****'],
+ 'title' => '',
+ 'example' => '',
],
'NonExistVideoIds' => [
- 'description' => 'The IDs of the videos that do not exist.',
+ 'description' => 'A list of IDs of audio or video files that do not exist.',
'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the videos that do not exist.',
- 'type' => 'string',
- 'example' => 'f45cf4eba5cb90233389558c39****',
- ],
+ 'items' => ['description' => 'A list of IDs of audio or video files that do not exist.', 'type' => 'string', 'title' => '', 'example' => '93ab850b4f6f4b6e91d24d81d4****'],
+ 'title' => '',
+ 'example' => '',
],
'NonExistReferenceIds' => [
- 'title' => '不存在的自定义 ID 列表。',
'type' => 'array',
- 'items' => [
- 'title' => '不存在的自定义 ID 列表。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ 'items' => ['type' => 'string', 'description' => 'A list of custom IDs that do not exist.', 'title' => '', 'example' => '123-123'],
+ 'description' => 'A list of custom IDs that do not exist.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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. |',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"UnRemoveableVideoIds\\": [\\n \\"23ab850b4f6f44b6e91d24d8157****\\"\\n ],\\n \\"NonExistVideoIds\\": [\\n \\"93ab850b4f6f4b6e91d24d81d4****\\"\\n ],\\n \\"NonExistReferenceIds\\": [\\n \\"123-123\\"\\n ]\\n}","type":"json"}]',
+ 'title' => 'DeleteMezzanines',
+ 'description' => 'All media processing operations in ApsaraVideo VOD, such as transcoding, snapshotting, and reviewing, are performed on source files. If a source file is deleted, subsequent media processing operations cannot be performed. Therefore, delete source files with caution.',
+ 'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- ],
- 'DeleteMezzanines' => [
- 'summary' => 'Deletes one or more source files at a time.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:15.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:37.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMezzanines'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteMezzanines',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteMultipartUpload' => [
+ 'summary' => 'Deletes the parts generated during an upload.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6546,52 +4113,25 @@
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39839',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
+ 'abilityTreeCode' => '39840',
+ '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',
+ 'name' => 'MediaId',
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'ReferenceIds',
+ 'name' => 'MediaType',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。',
- 'type' => 'string',
- 'example' => '123-123,1234-1234',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -6600,65 +4140,60 @@
'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',
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- '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",
+ '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' => ' ',
- ],
- 'DeleteStream' => [
- 'summary' => 'Deletes media streams such as video or audio streams and their storage files.',
- 'methods' => [
- 'post',
- 'get',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:23.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMultipartUpload'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteMultipartUpload',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteStream' => [
+ 'summary' => 'Deletes the information and stored files that are associated with media streams, such as video and audio streams.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6671,9 +4206,7 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '39842',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
+ 'abilityTreeNodes' => ['FEATUREvod8R2V42'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -6681,60 +4214,52 @@
[
'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****',
- ],
+ 'schema' => ['description' => 'The IDs of the transcoding jobs for the media streams. You can specify one or more job IDs.'."\n"
+ ."\n"
+ .'- Separate multiple IDs with commas (,). You can specify up to 20 job IDs for a single video.'."\n"
+ ."\n"
+ .'- You can obtain the job ID from the PlayInfo struct returned by the [GetPlayInfo](~~56124~~) operation. Each media stream has a unique job ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '35eb4dbda18c49cc0025df374b46****'],
],
[
'name' => 'VideoId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the video.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => '95948ddba24446b6aed5db985e78****',
- ],
+ 'schema' => ['description' => 'The ID of the video. You can obtain the video ID in one of the following ways:'."\n"
+ ."\n"
+ .'- For a video uploaded in the console, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Files** > **Audio/Video** to view the video ID.'."\n"
+ ."\n"
+ .'- The value of VideoId in the response to the [CreateUploadVideo](~~55407~~) operation.'."\n"
+ ."\n"
+ .'- The value of VideoId in the response to the [SearchMedia](~~86044~~) operation, which you can call after the video is uploaded.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '95948ddba24446b6aed5db985e78****'],
],
[
'name' => 'ReferenceId',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The custom ID. The ID can contain only lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). It must be 6 to 64 characters in length and unique for each user.', 'required' => false, 'example' => '123-123'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A7U43F6-D7393642****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4A7U43F6-D7393642****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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":""}]',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A7U43F6-D7393642****\\"\\n}","type":"json"}]',
'title' => 'DeleteStream',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'This operation supports batch deletion.'."\n"
+ ."\n"
+ .'### QPS limits'."\n"
+ ."\n"
+ .'The queries-per-second (QPS) limit for this operation is 50 for each user. If you exceed the limit, API calls are throttled, which can impact your business. We recommend that you call this operation at a reasonable rate. For more information, see [QPS limits](~~342790~~).',
'extraInfo' => '## Common errors'."\n"
."\n"
.'The following table describes the common errors that this operation can return.'."\n"
@@ -6745,1417 +4270,606 @@
.'| 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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:37.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:34:04.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStream'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteStream',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39846',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
+ 'abilityTreeCode' => '39844',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoIds',
+ 'name' => 'TranscodeTemplateGroupId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4c71a339fec*****152b4fa6f4527', 'title' => ''],
],
[
- 'name' => 'ReferenceIds',
+ 'name' => 'TranscodeTemplateIds',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。',
- 'type' => 'string',
- 'example' => '123-123,1234-1234',
- ],
+ '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"]', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.',
+ 'description' => 'The returned result.'."\n",
'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 列表。',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ 'NonExistTranscodeTemplateIds' => [
+ 'description' => 'The IDs of transcoding templates that were not found.'."\n",
'type' => 'array',
- 'items' => [
- 'title' => '不存在的自定义 ID 列表。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ 'items' => ['description' => 'The ID of the transcoding template that was not found.'."\n", 'type' => 'string', 'example' => '["613702defdc4*****6a3b94cace1129e","bfd6c90253a2*****7fc054d7c5825"]', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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~~).',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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"
+ .'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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:20.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:40.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:49.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTranscodeTemplateGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteVideo' => [
+ 'summary' => 'Deletes a complete video, including its source file, transcoded streams, and thumbnails.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '257507',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39846',
+ 'abilityTreeNodes' => ['FEATUREvod8R2V42'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaIds',
+ 'name' => 'VideoIds',
'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****',
- ],
+ 'schema' => ['description' => 'A list of video IDs. You can specify one or more video IDs. Separate multiple IDs with commas (,). You can specify a maximum of 20 IDs. You can obtain video IDs in the following ways:'."\n"
+ ."\n"
+ .'- For videos that are uploaded using the console, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Files** > **Audio/Video** to view the video IDs.'."\n"
+ ."\n"
+ .'- If you upload a video by calling the [CreateUploadVideo](~~55407~~) operation, the video ID is the value of the VideoId parameter in the response.'."\n"
+ ."\n"
+ .'- After a video is uploaded, you can call the [SearchMedia](~~86044~~) operation to query the video ID. The video ID is the value of the VideoId parameter in the response.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'e44ebf1147hdsa2d2adbea8b****,e44ebf11oj984adbea8****,73ab850b4f6f4b6e91d24d81d54****'],
],
[
'name' => 'ReferenceIds',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID 列表。由一个或多个自定义 ID 组成,多个 ID 之间使用半角逗号(,)分隔。最多支持 20 个。',
- 'type' => 'string',
- 'example' => '123-123,1234-1234',
- ],
+ 'schema' => ['type' => 'string', 'title' => '', 'description' => 'A list of custom IDs. You can specify one or more custom IDs. Separate multiple IDs with commas (,). You can specify a maximum of 20 IDs.', 'required' => false, 'example' => '123-123,1234-1234'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response.',
'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",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****'],
+ 'ForbiddenVideoIds' => [
+ 'description' => 'A list of video IDs for which the operation is forbidden.'."\n"
+ ."\n"
+ .'> This is usually because you do not have the required [permissions](~~113600~~).',
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the media assets that do not exist.'."\n",
- 'type' => 'string',
- 'example' => '["bbc65bba53f6ed90de118a7849****"]',
- ],
+ 'items' => ['description' => 'A list of video IDs for which the operation is forbidden.'."\n"
+ ."\n"
+ .'> This is usually because you do not have the required [permissions](~~113600~~).', 'type' => 'string', 'title' => '', 'example' => '73ab850b4f6f4b6e91d24d81d54****'],
+ 'title' => '',
+ 'example' => '',
],
- 'NonExistReferenceIds' => [
- 'title' => '不存在的自定义 ID 列表。',
+ 'NonExistVideoIds' => [
+ 'description' => 'A list of video IDs that do not exist.',
'type' => 'array',
- 'items' => [
- 'title' => '不存在的自定义 ID 列表。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ 'items' => ['description' => 'A list of video IDs that do not exist.'."\n"
+ ."\n"
+ .'> If some of the video IDs that you want to delete do not exist, the IDs of these videos are returned. If all the video IDs that you want to delete do not exist, a 404 error is reported.', 'type' => 'string', 'title' => '', 'example' => 'e44ebf1147hdsa2d2adbea8b****'],
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ 'NonExistReferenceIds' => [
'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****',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'items' => ['type' => 'string', 'title' => '', 'description' => 'A list of custom IDs that do not exist.', 'example' => '123-123'],
+ 'title' => '',
+ 'description' => 'A list of custom IDs that do not exist.',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'DeleteVideo',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'- **This operation physically deletes the video. The video cannot be recovered. Proceed with caution.**'."\n"
+ ."\n"
+ .'- This operation supports batch deletion.'."\n"
+ ."\n"
+ .'- When you delete a video, its source file, transcoded streams, and thumbnails are also deleted. However, the CDN cache is not purged at the same time. If needed, you can use the purge feature in the ApsaraVideo VOD console to remove obsolete data from CDN nodes. For more information, see [Refresh and prefetch](~~86098~~).'."\n"
+ ."\n"
+ .'### QPS limit'."\n"
+ ."\n"
+ .'The queries per second (QPS) limit for a single user is 30. If you exceed this limit, API calls are throttled. This may affect your business. We recommend that you call this API operation at a reasonable rate. For more information, see [QPS limits](~~342790~~).',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:07.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:37.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVideo'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteVodDomain' => [
+ 'summary' => 'Removes a domain name for CDN from ApsaraVideo VOD.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'list',
- 'abilityTreeCode' => '254961',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39847',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
+ '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. 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',
+ 'name' => 'DomainName',
'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',
- ],
+ 'schema' => ['description' => 'The domain name for CDN that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
],
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '15C66C7B-671A-4297-****-2C4477247A74', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'ServiceBusy', 'errorMessage' => 'The specified Domain is configuring, please retry later', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:50.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:19.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVodDomain'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'DeleteVodSpecificConfig' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39939',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39850',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaIds',
+ 'name' => 'DomainName',
'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****',
- ],
+ 'schema' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'www.example.com', 'title' => ''],
],
[
- 'name' => 'AuthTimeout',
+ 'name' => 'ConfigId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the configuration.'."\n", 'type' => 'string', 'required' => true, 'example' => '2317****', 'title' => ''],
],
[
- 'name' => 'OutputType',
+ 'name' => 'Env',
'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',
- ],
+ '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', 'title' => ''],
],
],
'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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-****-6C044FE73368', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => 'FunctionName [%s] is not supported.', 'description' => ''],
+ ['errorCode' => 'EdgeScriptCountExceedLimit', 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', 'description' => 'You can configure only one script. 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.', 'description' => ''],
+ ['errorCode' => 'EdgeScriptGrammarNotSupport', 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => ''],
+ ['errorCode' => 'EdgeScriptNotSupportJs', 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'description' => ''],
+ ['errorCode' => 'InvalidRule.Malformed ', 'errorMessage' => '%s', 'description' => ''],
+ ['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.', 'description' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the staging 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.', 'description' => 'After you remove all rules in the staging environment, configurations on POPs are not removed. You can roll back the staging environment to remove configurations from the staging environment.'."\n"],
+ ],
+ 403 => [
+ ['errorCode' => 'ServiceBusy', 'errorMessage' => 'The specified Domain is configuring, please retry later', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
+ ],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteVodSpecificConfig',
+ 'summary' => 'Deletes the configurations of a domain name for CDN.',
+ '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 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',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:29:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:24:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:19:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:16:20.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:40.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:25.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVodSpecificConfig'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVodSpecificConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteVodTemplate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40211',
- 'abilityTreeNodes' => [
- 'FEATUREvod7B2GUR',
- ],
+ 'abilityTreeCode' => '39851',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'UpdateContent',
+ 'name' => 'VodTemplateId',
'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"}]',
- ],
+ 'schema' => ['description' => 'The ID of the snapshot template.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'f5b228fe6930e*****d6bf55bd87789'],
],
],
'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****"]',
- ],
- ],
+ '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 \\"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.|',
+ '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',
+ 'summary' => 'Deletes a snapshot template.',
+ 'requestParamsDescription' => ' ',
'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',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVodTemplate'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteWatermark' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39826',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
+ 'abilityTreeCode' => '39852',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaIds',
+ 'name' => 'WatermarkId',
'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****',
- ],
+ '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', 'title' => ''],
],
],
'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****"]',
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteWatermark',
+ 'summary' => 'Deletes an image watermark or text watermark template.',
+ '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' => ' ',
- ],
- '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',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:28.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:51.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:17.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteWatermark'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'DescribeMediaDistribution' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -8164,189 +4878,66 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39955',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '254961',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
],
'parameters' => [
[
- 'name' => 'ImageId',
+ 'name' => 'StartTime',
'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****',
- ],
+ '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' => 'AuthTimeout',
+ 'name' => 'EndTime',
'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',
- ],
+ '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' => 'OutputType',
+ 'name' => 'StorageClass',
'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',
- ],
+ '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' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned data.'."\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',
- ],
- ],
+ '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'],
],
],
],
@@ -8354,94 +4945,61 @@
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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',
+ 'summary' => 'Queries the distribution of media asset data by time. The maximum time range to query is 6 months.',
+ '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",
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeMediaDistribution',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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&amp;OSSAccessKeyId=*****&amp;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',
- ],
+ 'DescribePlayTopVideos' => [
+ 'summary' => 'Call this operation to obtain daily playback statistics for top videos. The statistics include view counts, unique visitors (UVs), and total playback duration.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39858',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'ImageIds',
+ 'name' => 'BizDate',
'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****',
- ],
+ 'schema' => ['description' => 'The date to query. The date must be in the yyyy-MM-ddTHH:mm:ssZ format in UTC.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2016-06-29T13:00:00Z'],
],
[
- 'name' => 'AuthTimeout',
+ 'name' => 'PageNo',
'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',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'],
],
[
- 'name' => 'OutputType',
+ 'name' => 'PageSize',
'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',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Default value: **100**. Maximum value: **1000**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1000', 'minimum' => '10', 'title' => '', 'example' => '100'],
],
],
'responses' => [
@@ -8449,245 +5007,215 @@
'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",
+ 'PageNo' => ['description' => 'The number of the page returned.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1'],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '4B0BCF9F-2FD5-4817-****-7BEBBE3AF90B"'],
+ 'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '100'],
+ 'TotalNum' => ['description' => 'The total number of top videos.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '2'],
+ 'TopPlayVideos' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'TopPlayVideoStatis' => [
+ 'description' => 'The playback data of the top videos of the day.',
+ 'type' => 'array',
+ 'items' => [
'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',
- ],
+ 'Title' => ['description' => 'The title of the video.', 'type' => 'string', 'title' => '', 'example' => 'Alibaba Cloud video'],
+ 'VV' => ['description' => 'The number of views.', 'type' => 'string', 'title' => '', 'example' => '107'],
+ 'PlayDuration' => ['description' => 'The total playback duration. Unit: milliseconds.', 'type' => 'string', 'title' => '', 'example' => '4640369'],
+ 'VideoId' => ['description' => 'The ID of the video.', 'type' => 'string', 'title' => '', 'example' => '2a8d4cb9ecbb487681473a15****8fda'],
+ 'UV' => ['description' => 'The number of unique visitors.', 'type' => 'string', 'title' => '', 'example' => '1'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
- ],
- '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' => '',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidBizDate.Malformed', 'errorMessage' => 'Specified BizDate is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidBizDate.BeyondCurrent', 'errorMessage' => 'BizDate beyond current time.', 'description' => ''],
+ ['errorCode' => 'InvalidParamter', 'errorMessage' => '%s', 'description' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNo\\": 1,\\n \\"RequestId\\": \\"4B0BCF9F-2FD5-4817-****-7BEBBE3AF90B\\\\\\"\\",\\n \\"PageSize\\": 100,\\n \\"TotalNum\\": 2,\\n \\"TopPlayVideos\\": {\\n \\"TopPlayVideoStatis\\": [\\n {\\n \\"Title\\": \\"Alibaba Cloud video\\",\\n \\"VV\\": \\"107\\",\\n \\"PlayDuration\\": \\"4640369\\",\\n \\"VideoId\\": \\"2a8d4cb9ecbb487681473a15****8fda\\",\\n \\"UV\\": \\"1\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribePlayTopVideos',
+ 'description' => '- This endpoint is supported only in the **China (Shanghai)** region.'."\n"
+ .'- You can query playback statistics for up to 1,000 top videos per day. By default, the list of top videos is sorted by view count in descending order.'."\n"
+ .'- Only playback data collected by the ApsaraVideo Player SDK is supported.'."\n"
+ .'- Playback statistics for the previous day are generated at 09:00 (UTC+8) every day.'."\n"
+ .'- You can query data generated after January 1, 2018. The maximum query time range is 180 days.',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:23:55.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayTopVideos'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayTopVideos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'machine',
+ ],
+ 'DescribePlayUserAvg' => [
+ 'summary' => 'Queries the statistics on average playback each day in a specified time range. ',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40221',
- 'abilityTreeNodes' => [
- 'FEATUREvod7B2GUR',
- ],
+ 'abilityTreeCode' => '39859',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'UpdateContent',
+ 'name' => 'StartTime',
'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"}]',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6C7F90B2-BDA4-4FAC-****-A38A121DFE19', 'title' => ''],
+ 'UserPlayStatisAvgs' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'ImageId' => [
- 'description' => 'The IDs of the images that do not exist.'."\n",
+ 'UserPlayStatisAvg' => [
+ 'description' => 'The statistics on average playback each day.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The ID of the image that do not exist.'."\n",
- 'type' => 'string',
- 'example' => 'f45cf4eba5c80233389558c39****',
+ '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', 'title' => ''],
+ 'AvgPlayDuration' => ['description' => 'The average playback duration. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '1035902.8', 'title' => ''],
+ 'AvgPlayCount' => ['description' => 'The average number of video views.'."\n", 'type' => 'string', 'example' => '170', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.BeyondCurrent', 'errorMessage' => 'EndTime beyond current time.', 'description' => ''],
+ ['errorCode' => 'InvalidParamter', 'errorMessage' => '%s', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'StartTime or EndTime is mismatch.', 'description' => 'The start time and end time do not match.'],
+ ],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6C7F90B2-BDA4-4FAC-****-A38A121DFE19\\",\\n \\"UserPlayStatisAvgs\\": {\\n \\"UserPlayStatisAvg\\": [\\n {\\n \\"Date\\": \\"20170120\\",\\n \\"AvgPlayDuration\\": \\"1035902.8\\",\\n \\"AvgPlayCount\\": \\"170\\"\\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"
- .'**Note** You must convert the UpdateContent parameter to a string before you pass it in.'."\n"
+ .'The following table describes the common errors that this operation can return. '."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:26:01.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayUserAvg',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayUserAvg'],
+ ],
],
+ ],
+ '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' => [],
@@ -8695,320 +5223,276 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40067',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39860',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'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',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Default value: **20**. Maximum value: **100**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PageNo',
+ 'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ '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', 'title' => ''],
],
],
'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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '1FAFB884-D5A7-47D1-****-8928AA9C8720', 'title' => ''],
+ 'UserPlayStatisTotals' => [
'type' => 'object',
+ 'itemNode' => true,
'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' => [
+ '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', 'title' => ''],
+ 'PlayDuration' => ['description' => 'The total playback duration. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '9340070', 'title' => ''],
+ '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%"', 'title' => ''],
+ 'VV' => [
+ 'description' => 'The total number of video views.'."\n",
'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',
- ],
+ 'Flash' => ['description' => 'The total number of video views played by using the Flash player.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'iOS' => ['description' => 'The total number of video views played by using ApsaraVideo Player SDK for iOS.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'HTML5' => ['description' => 'The total number of video views played by using the HTML5 player.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'Android' => ['description' => 'The total number of video views played by using ApsaraVideo Player SDK for Android.'."\n", 'type' => 'string', 'example' => '161', 'title' => ''],
],
- 'description' => 'The snapshot data.',
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'iOS' => ['description' => 'The total number of unique visitors who use ApsaraVideo Player SDK for iOS.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'HTML5' => ['description' => 'The total number of unique visitors who use the HTML5 player.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Android' => ['description' => 'The total number of unique visitors who use ApsaraVideo Player SDK for Android.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''],
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.BeyondCurrent', 'errorMessage' => 'EndTime beyond current time.', 'description' => ''],
+ ['errorCode' => 'InvalidParamter', 'errorMessage' => '%s', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'StartTime or EndTime is mismatch.', 'description' => 'The start time and end time do not match.'],
+ ],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1FAFB884-D5A7-47D1-****-8928AA9C8720\\",\\n \\"UserPlayStatisTotals\\": {\\n \\"UserPlayStatisTotal\\": [\\n {\\n \\"Date\\": \\"20170120\\",\\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>&lt;=1m:74.3%;&gt;1&lt;=5m:22.8%;&gt;5&lt;=10m:1.0%;&gt;10&lt;=15m:1.0%;&gt;15&lt;=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>&lt;=1m:73.6%;&gt;1&lt;=5m:23.9%;&gt;5&lt;=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"
+ .'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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:55.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayUserTotal',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayUserTotal'],
+ ],
],
+ ],
+ 'DescribePlayVideoStatis' => [
+ 'summary' => 'Queries daily playback statistics on a video in the specified time range.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39834',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
+ 'abilityTreeCode' => '39861',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'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',
+ 'name' => 'StartTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ImageIds',
+ 'name' => 'EndTime',
'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****',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
],
'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****',
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A92D3600-A3E7-43D6-****-B6E3B4A1FE6B', 'title' => ''],
+ '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', 'title' => ''],
+ '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' => '2024-06-12T16:00:00Z', 'title' => ''],
+ 'VV' => ['description' => 'The number of video views.'."\n", 'type' => 'string', 'example' => '24', 'title' => ''],
+ 'Title' => ['description' => 'The video title.'."\n", 'type' => 'string', 'example' => 'Alibaba Cloud video', 'title' => ''],
+ 'UV' => ['description' => 'The number of unique visitors.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'PlayRange' => ['description' => 'The distribution of the playback duration.'."\n", 'type' => 'string', 'example' => '<=1m:79.2%;>1<=5m:16.7%;>5<=10m:4.2%', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidParamter', 'errorMessage' => '%s', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'StartTime or EndTime is mismatch.', 'description' => 'The start time and end time do not match.'],
+ ['errorCode' => 'InvalidEndTime.BeyondCurrent', 'errorMessage' => 'EndTime beyond current time.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => '%s', 'description' => ''],
+ ],
],
- '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",
+ '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\\": \\"Alibaba Cloud video\\",\\n \\"UV\\": \\"1\\",\\n \\"PlayRange\\": \\"<=1m:79.2%;>1<=5m:16.7%;>5<=10m:4.2%\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","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"
+ .'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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:10.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayVideoStatis'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayVideoStatis',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => [],
@@ -9016,1195 +5500,1359 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40053',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39873',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the video.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '2e114f1100590c3193918fd449a****',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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',
+ 'DataInterval' => ['description' => 'The time granularity at which the data was queried. Valid values:'."\n"
+ ."\n"
+ .'* **hour**'."\n"
+ .'* **day**'."\n", 'type' => 'string', 'example' => 'day', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C370DAF1-C838-4288-****-9A87633D248E', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Value' => ['description' => 'The processing duration. Unit: seconds.'."\n", 'type' => 'string', 'example' => '111', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter.', 'description' => ''],
+ ['errorCode' => 'InvalidParameterStartTime', 'errorMessage' => 'Invalid Parameter StartTime.', 'description' => 'The StartTime parameter is invalid.'],
+ ['errorCode' => 'InvalidParameterEndTime', 'errorMessage' => 'Invalid Parameter EndTime.', 'description' => ''],
+ ['errorCode' => 'InvalidTimeRange', 'errorMessage' => 'Invalid StartTime and EndTime range.', 'description' => 'The time frame is not legal.'],
+ ['errorCode' => 'InvalidParameterInterval', 'errorMessage' => 'Invalid Parameter interval.', 'description' => ''],
+ ['errorCode' => 'InvalidParameterRegion', 'errorMessage' => 'Invalid Parameter Region.', 'description' => ''],
+ ],
],
- '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',
+ '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' => ' ',
- ],
- 'DeleteDynamicImage' => [
- 'summary' => 'Deletes the information about animated stickers.',
- 'methods' => [
- 'post',
- 'get',
+ '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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:09.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodAIData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodAIData'],
+ ],
],
+ ],
+ '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' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39831',
- 'abilityTreeNodes' => [
- 'FEATUREvod3O95DN',
- ],
+ 'abilityTreeCode' => '39875',
+ 'abilityTreeNodes' => ['FEATUREvod0O92P0'],
'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',
+ 'name' => 'DomainName',
'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****',
- ],
+ 'schema' => ['description' => 'The domain name for CDN.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
],
],
'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****',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FC0E34AC-0239-44A7-****-800DE522C8DA', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Fingerprint' => ['description' => 'The fingerprint of the certificate.'."\n", 'type' => 'string', 'example' => '****', 'title' => ''],
+ 'CertName' => ['description' => 'The name of the certificate.'."\n", 'type' => 'string', 'example' => 'Certificate', 'title' => ''],
+ 'Issuer' => ['description' => 'The certificate authority (CA) that issued the certificate.'."\n", 'type' => 'string', 'example' => '****', 'title' => ''],
+ 'CertId' => ['description' => 'The ID of the certificate.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '235437', 'title' => ''],
+ 'Common' => ['description' => 'The common name of the certificate.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'CreateTime' => ['type' => 'integer', 'format' => 'int64', 'description' => 'The time when the certificate was created.', 'example' => '1725206400000', 'title' => ''],
+ 'EndTime' => ['type' => 'integer', 'format' => 'int64', 'description' => 'The time when the certificate expired.', 'example' => '1725207200000', 'title' => ''],
+ 'Algorithm' => ['type' => 'string', 'description' => 'The algorithm.'."\n", 'example' => 'RSA', 'title' => ''],
+ 'CertIdentifier' => ['type' => 'string', 'description' => 'The ID of the certificate.'."\n", 'example' => '14173772-cn-hangzhou', 'title' => ''],
+ 'DomainMatchCert' => ['type' => 'boolean', 'description' => 'DomainMatchCert.', 'example' => 'false', 'title' => ''],
+ 'InstanceId' => ['type' => 'string', 'description' => 'The ID of the instance.'."\n", 'example' => 'cert-cn-cd806ae0fdfbfa60', 'title' => ''],
+ 'SignAlgorithm' => ['type' => 'string', 'description' => 'The signAlgorithm.', 'example' => 'sha256withrsa', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
+ '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\\": \\"Certificate\\",\\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":"","errorExample":""}]',
+ 'title' => 'DescribeVodCertificateList',
+ 'description' => '> This operation is available only in the **China (Shanghai)** region.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'SubmitTranscodeJobs' => [
- 'summary' => 'Submits a transcoding job to start transcoding in an asynchronous manner.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:05.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodCertificateList'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodCertificateList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DescribeVodDomainBpsData' => [
+ 'summary' => 'Queries the bandwidth for one or more specified domain names for CDN.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40196',
- 'abilityTreeNodes' => [
- 'FEATUREvodAFH3DF',
- ],
+ 'abilityTreeCode' => '39876',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'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',
+ 'name' => 'DomainName',
'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"}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'OverrideParams',
+ 'name' => 'StartTime',
'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"}]}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Priority',
+ 'name' => 'EndTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'UserData',
+ 'name' => 'Interval',
'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":"***"}}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'SessionId',
+ 'name' => 'IspNameEn',
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ReferenceId',
+ 'name' => 'LocationNameEn',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => '',
'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' => [
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3C6CCEC4-6B88-4D4A-****-D47B3D92CF8F', 'title' => ''],
+ 'IspNameEn' => ['description' => 'The name of the ISP. By default, the data of all ISPs is returned.', 'type' => 'string', 'example' => 'Alibaba', 'title' => ''],
+ 'LocationNameEn' => ['description' => 'The name of the region. By default, the data in all regions is returned.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''],
+ 'DomainName' => ['description' => 'The domain name for CDN.', 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval between the returned entries. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''],
+ 'BpsDataPerInterval' => [
'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",
+ 'DataModule' => [
+ 'description' => 'The bandwidth data that is collected for each interval.'."\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****',
- ],
+ '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', 'title' => ''],
+ 'Value' => ['description' => 'The bandwidth. Unit: bit/s.'."\n", 'type' => 'string', 'example' => '11288111', 'title' => ''],
+ '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', 'title' => ''],
+ 'HttpsValue' => ['description' => 'The total HTTPS bandwidth on L1 nodes. Unit: bit/s.'."\n", 'type' => 'string', 'example' => '11288111', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'End time is earlier than start time'],
+ ['errorCode' => 'Invalid.IspNameEn', 'errorMessage' => 'The IspNameEn is invalid.', 'description' => ''],
+ ['errorCode' => 'Invalid.LocationNameEn', 'errorMessage' => 'The LocationNameEn is invalid.', 'description' => ''],
+ ],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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"
+ .'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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:33.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainBpsData'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainBpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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\\": \\"Alibaba\\",\\n \\"LocationNameEn\\": \\"cn-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":""}]',
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40195',
- 'abilityTreeNodes' => [
- 'FEATUREvodFAR72I',
- ],
+ 'abilityTreeCode' => '178978',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'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',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Height',
+ 'name' => 'StartTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Count',
+ 'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of snapshots. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'SpriteSnapshotConfig',
+ 'name' => 'IspNameEn',
'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}',
- ],
+ 'schema' => ['description' => 'The name of the Internet service provider (ISP).'."\n", 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''],
],
[
- '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',
+ 'name' => 'LocationNameEn',
'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"}}',
- ],
+ 'schema' => ['description' => 'The name of the region.'."\n", 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''],
],
[
- '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',
+ 'name' => 'Layer',
'in' => 'query',
- 'schema' => [
- 'title' => '自定义 ID,仅支持小写字母、大写字母、数字、横线、下划线,长度 6-64 位。用户维度唯一。',
- 'type' => 'string',
- 'example' => '123-123',
- ],
+ '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', 'title' => ''],
],
],
'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",
+ 'DataInterval' => ['description' => 'The time interval between the entries returned. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ 'BpsDataInterval' => [
'type' => 'object',
+ 'itemNode' => true,
'properties' => [
- 'JobId' => [
- 'description' => 'The ID of the snapshot job.'."\n",
- 'type' => 'string',
- 'example' => 'ad90a501b1b94b72374ad0050464****',
+ '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', 'title' => ''],
+ 'TrafficValue' => ['description' => 'The total traffic. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'StartTime or EndTime is mismatch.', 'description' => 'The start time and end time do not match.'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified start time has invalid value.', 'description' => 'The start time is invalid.'],
+ ],
],
- '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"
+ '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\\": \\"2024-02-08T10:09:19Z\\"\\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 following table describes the common errors that this operation can return. '."\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"
- .'| 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',
+ .'|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|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:48.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:19:45.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:16:22.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainBpsDataByLayer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainBpsDataByLayer'],
+ ],
],
+ ],
+ 'DescribeVodDomainCertificateInfo' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40191',
- 'abilityTreeNodes' => [
- 'FEATUREvodAFH3DF',
- ],
+ 'abilityTreeCode' => '39877',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ 'name' => 'DomainName',
'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****',
- ],
+ 'schema' => ['description' => 'The accelerated domain name added to ApsaraVideo for VOD.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'PreprocessType',
+ 'name' => 'HeraApiAutoVersion',
'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',
- ],
+ 'schema' => ['type' => 'string', 'default' => '15682584300', 'description' => '', 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****',
- ],
- 'PreprocessJobs' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5C1E43DC-9E51-4771-****-7D5ECEB547A1', 'title' => ''],
+ 'CertInfos' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'PreprocessJob' => [
- 'description' => 'The information about the job.'."\n",
+ 'CertInfo' => [
+ 'description' => 'The certificate information.',
'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****',
- ],
+ 'CertExpireTime' => ['description' => 'The time when the certificate expires. The time is in UTC and formatted as *yyyy-MM-dd*T*HH:mm:ss*Z.', 'type' => 'string', 'example' => '2018-06-03T13:03:39Z', 'title' => ''],
+ 'CertLife' => ['description' => 'The validity period of the certificate.', 'type' => 'string', 'example' => '3 months', 'title' => ''],
+ 'Status' => ['description' => 'The status of the certificate.'."\n"
+ ."\n"
+ .'- **success**: The certificate is active.'."\n"
+ ."\n"
+ .'- **checking**: The system is checking if the domain name has been added to ApsaraVideo for VOD.'."\n"
+ ."\n"
+ .'- **cname\\_error**: The domain name is not mapped to the CNAME provided by ApsaraVideo for VOD.'."\n"
+ ."\n"
+ .'- **domain\\_invalid**: The domain name contains invalid characters.'."\n"
+ ."\n"
+ .'- **unsupport\\_wildcard**: Wildcard domains are not supported.'."\n"
+ ."\n"
+ .'- **applying**: The certificate application is in progress.'."\n"
+ ."\n"
+ .'- **failed**: The certificate application failed.'."\n"
+ ."\n"
+ .'> This parameter is empty for other certificate types.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'CertUpdateTime' => ['description' => 'The time when the certificate was last updated.', 'type' => 'string', 'example' => '2023-04-26T20:23:38Z', 'title' => ''],
+ 'CertDomainName' => ['description' => 'The domain name that matches the certificate.', 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'ServerCertificateStatus' => ['description' => 'Indicates whether HTTPS is enabled for the domain.'."\n"
+ ."\n"
+ .'- **on**: Enabled'."\n"
+ ."\n"
+ .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'CertOrg' => ['description' => 'The certificate authority (CA) that issued the certificate.', 'type' => 'string', 'example' => 'Let\'s Encrypt', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'CertStartTime' => ['description' => 'The time when the certificate\'s validity begins.', 'type' => 'string', 'example' => '2023-04-26T20:23:38Z', 'title' => ''],
+ 'CertType' => ['description' => 'The type of the certificate. Valid values:'."\n"
+ ."\n"
+ .'- **free**: free certificate'."\n"
+ ."\n"
+ .'- **cas**: CAS certificate'."\n"
+ ."\n"
+ .'- **upload**: A custom certificate that was uploaded', 'type' => 'string', 'example' => 'free', 'title' => ''],
+ 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'example' => 'cert-example.com', 'title' => ''],
+ 'DomainCnameStatus' => ['description' => 'The CNAME status of the domain name:'."\n"
+ ."\n"
+ .'- **ok**: The domain name is mapped to the CNAME provided by ApsaraVideo for VOD. **cname\\_error**: The domain name cannot be mapped to the CNAME.'."\n"
+ ."\n"
+ .'- **op\\_domain\\_cname\\_error**: The domain name cannot be mapped because the CNAME of the root domain is invalid.'."\n"
+ ."\n"
+ .'- **unsupport\\_wildcard**: Wildcard domains are not supported.', 'type' => 'string', 'example' => 'ok', 'title' => ''],
+ 'ServerCertificate' => ['description' => 'The certificate public key.', 'type' => 'string', 'example' => '****', 'title' => ''],
+ 'CertId' => ['description' => 'The certificate ID.', 'type' => 'string', 'example' => '13227737-cn-hangzhou', 'title' => ''],
+ 'CertRegion' => ['description' => 'The service region where the certificate is used.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeVodDomainCertificateInfo',
+ 'summary' => 'This operation queries the certificate information for a specified accelerated domain name.',
+ 'description' => 'This operation is available only in the **China (Shanghai)** service region.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Common errors'."\n"
- ."\n"
- .'The following table describes the common errors that this operation can return.'."\n"
+ 'extraInfo' => '## 接口错误码'."\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',
+ .'下表列举了本接口特有的错误码。'."\n"
+ .'| 错误代码 | 错误信息 | HTTP 状态码 | 说明 |'."\n"
+ .'| ------------- |------------ | ----- | ------ |'."\n"
+ .'| InvalidDomain.NotFound | The domain provided does not belong to you. | 404 | 域名不存在或不属于当前用户。|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:47.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainCertificateInfo'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainCertificateInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'DescribeVodDomainConfigs' => [
+ 'summary' => 'Queries the feature configurations of a domain name.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40185',
- 'abilityTreeNodes' => [
- 'FEATUREvodFAR72I',
- ],
+ 'abilityTreeCode' => '39879',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'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',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the frame animation template.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1a443dc52ef10abc4794d700*****',
- ],
+ 'schema' => ['description' => 'The accelerated domain name for ApsaraVideo VOD. You can query only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'www.example.com', 'title' => ''],
],
[
- 'name' => 'OverrideParams',
+ 'name' => 'FunctionNames',
'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****"}]}',
- ],
+ 'schema' => ['description' => 'The name of the feature. You can query the configurations of multiple features at a time. Separate multiple feature names with commas (,). For features that can be configured for accelerated domain names for ApsaraVideo VOD and the names of the features, see [Functions for domain name configurations](~~2411639~~).', 'type' => 'string', 'required' => true, 'example' => 'filetype_based_ttl_set,set_req_host_header', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F8AA0364-0FDB-4AD5-****-D69FAB8924ED', 'title' => ''],
+ 'DomainConfigs' => [
'type' => 'object',
+ 'itemNode' => true,
'properties' => [
- 'JobId' => [
- 'description' => 'The ID of the animated image job.'."\n",
- 'type' => 'string',
- 'example' => 'ad90a501b1bfb72374ad0050746****',
+ 'DomainConfig' => [
+ 'description' => 'The configurations of the domain name.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the domain name configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => ['description' => 'The status of the domain name configuration. Valid values:'."\n"
+ ."\n"
+ .'- **success**: The configuration is successful.'."\n"
+ ."\n"
+ .'- **testing**: The configuration is being tested.'."\n"
+ ."\n"
+ .'- **failed**: The configuration failed.'."\n"
+ ."\n"
+ .'- **configuring**: The feature is being configured.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'ConfigId' => ['description' => 'The ID of the configuration.', 'type' => 'string', 'example' => '5003576', 'title' => ''],
+ 'FunctionName' => ['description' => 'The name of the feature.', 'type' => 'string', 'example' => 'set_req_host_header', 'title' => ''],
+ 'FunctionArgs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'FunctionArg' => [
+ 'description' => 'The details of the feature configuration.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the feature configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ArgName' => ['description' => 'The name of the parameter, which is a configuration item of functionName.', 'type' => 'string', 'example' => 'domain_name', 'title' => ''],
+ 'ArgValue' => ['description' => 'The value of the parameter, which is the value of the configuration item for functionName.', 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => 'FunctionName [%s] is not supported.', 'description' => ''],
+ ],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeVodDomainConfigs',
+ 'description' => '- Supported endpoint: **China (Shanghai)** region only.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## Common errors'."\n"
."\n"
- .'### QPS limits'."\n"
+ .'The following table describes the common errors that this operation can return.'."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:36:11.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:11.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainConfigs'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'DescribeVodDomainDetail' => [
+ 'summary' => 'Queries the basic information about a specified domain name for CDN.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40198',
- 'abilityTreeNodes' => [
- 'FEATUREvodR23QUR',
- ],
+ 'abilityTreeCode' => '39880',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'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',
+ 'name' => 'DomainName',
'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****',
- ],
+ 'schema' => ['description' => 'The domain name for CDN.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The returned datas.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'A01C8FF4-C106-4431-418F973DADB7****',
- ],
- 'TaskId' => [
- 'type' => 'string',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '09ABE829-6CD3-4FE0-556113E2****', 'title' => ''],
+ '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', 'title' => ''],
+ 'Weight' => ['description' => 'The weight of the origin server.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'SSLPub' => ['description' => 'The public key of the certificate. The value of this parameter is returned if HTTPS is enabled.'."\n", 'type' => 'string', 'example' => 'yourSSLPub', 'title' => ''],
+ 'Description' => ['description' => 'The description of the domain name for CDN.'."\n", 'type' => 'string', 'example' => 'testDescription', 'title' => ''],
+ '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', 'title' => ''],
+ 'CertName' => ['description' => 'The name of the certificate. The value of this parameter is returned if HTTPS is enabled.'."\n", 'type' => 'string', 'example' => 'testCertName', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'DomainName' => ['description' => 'The domain name for CDN.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ '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', 'title' => ''],
+ 'Priority' => ['description' => 'The priority of the origin server.'."\n", 'type' => 'string', 'example' => '50', 'title' => ''],
+ 'Port' => ['description' => 'The port number. Valid values: 443 and 80.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'Content' => ['description' => 'The address of the origin server.'."\n", 'type' => 'string', 'example' => '****.oss-cn-hangzhou.aliyuncs.com', 'title' => ''],
+ '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', 'title' => ''],
+ 'Weight' => ['type' => 'string', 'description' => 'The weight of the origin server if multiple origin servers have been specified.', 'example' => '10', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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~~).',
+ 'errorCodes' => [
+ 404 => [
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
+ ],
+ ],
+ '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\\": \\"10\\"\\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' => ' ',
- ],
- 'AddTranscodeTemplateGroup' => [
- 'summary' => 'Creates a transcoding template group or adds transcoding templates to a transcoding template group.',
- 'methods' => [
- 'post',
- 'get',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:48.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:35:40.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T07:33:25.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainDetail'],
+ ],
],
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39789',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39881',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'Name',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TranscodeTemplateList',
+ 'name' => 'StartTime',
'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"}}]',
- ],
+ '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", 'title' => ''],
],
[
- 'name' => 'TranscodeTemplateGroupId',
+ 'name' => 'EndTime',
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'Interval',
'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-****',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned results.'."\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****',
+ 'EndTime' => ['description' => 'The end of the time range.'."\n", 'type' => 'string', 'example' => '2024-01-20T14:59:58Z', 'title' => ''],
+ 'StartTime' => ['description' => 'The beginning of the time range.'."\n", 'type' => 'string', 'example' => '2024-01-20T13:59:58Z', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D94E471F-1A27-442E-552D-D4D2000C****', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n", 'type' => 'string', 'example' => '300', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'HttpsValue' => ['description' => 'The HTTPS byte hit rate.'."\n", 'type' => 'string', 'example' => '50', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'Both start time and end must be specified'],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'End time is earlier than start time'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ],
],
- '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"
+ '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"
- .'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"
+ .'**Time granularity**'."\n"
."\n"
- .'The following table describes the common errors that this operation can return. '."\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"
- .'| 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',
+ .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n"
+ .'|---|---|---|---|'."\n"
+ .'|5 minutes|Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days ≤ Time range per query &#x3C; 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|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:28.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainHitRateData'],
+ ],
],
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40227',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39884',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'Name',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TranscodeTemplateList',
+ 'name' => 'PageSize',
'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"}}]',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Locked',
+ 'name' => 'PageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'TranscodeTemplateGroupId',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transcoding template group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '4c71a339fe*****52b4fa6f4527',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned results.'."\n",
+ 'description' => 'The response parameters.'."\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',
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '077D0284-F041-4A41-4D3C-B48377FD****', 'title' => ''],
+ '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', 'title' => ''],
+ 'DomainName' => ['description' => 'The domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ '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', 'title' => ''],
+ 'LogSize' => ['description' => 'The size of the log file.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2645401', 'title' => ''],
+ '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', 'title' => ''],
+ 'LogName' => ['description' => 'The name of the log file.'."\n", 'type' => 'string', 'example' => 'example.com_2018_03_25_180000_19****.gz', 'title' => ''],
+ '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=****', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'PageInfos' => [
+ 'description' => 'The pagination information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''],
+ 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter \\ is not valid.', 'description' => ''],
+ ],
],
- '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",
+ '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&amp;OSSAccessKeyId=****&amp;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' => '## 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',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:26.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainLog'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainLog',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeVodDomainMax95BpsData' => [
+ 'summary' => 'Queries the 95th percentile bandwidth data of an accelerated domain name.',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40136',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '235311',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TranscodeTemplateGroupId',
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'Cycle',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the transcoding template group.'."\n",
+ 'description' => 'The cycle to query the 95th percentile bandwidth data. Valid values:'."\n"
+ ."\n"
+ .'- day (default)'."\n"
+ ."\n"
+ .'- month',
'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'd58079958be8d*****b699ab7ab6e1bf',
+ 'required' => false,
+ 'enum' => ['day', 'month'],
+ 'example' => 'month',
+ 'title' => '',
],
],
],
@@ -10213,41 +6861,115 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A*****F6-D7393642CA58',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ 'DomainName' => ['description' => 'The domain name for CDN.', 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2017-01-11T13:00:00Z', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2017-01-11T12:00:00Z', 'title' => ''],
+ 'DomesticMax95Bps' => ['description' => 'The 95th percentile bandwidth in the Chinese mainland.', 'type' => 'string', 'example' => '16777590.28'."\n", 'title' => ''],
+ 'OverseasMax95Bps' => ['description' => 'The 95th percentile bandwidth outside the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Max95Bps' => ['description' => 'The 95th percentile bandwidth.', 'type' => 'string', 'example' => '16777590.28'."\n", 'title' => ''],
+ 'DetailData' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Max95Detail' => [
+ 'description' => 'Details of the 95th percentile bandwidth.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2024-01-18 10:11:32', 'title' => ''],
+ 'Area' => ['description' => 'The billable region where the peak 95 data was collected.', 'type' => 'string', 'example' => 'CN', 'title' => ''],
+ 'Max95BpsPeakTime' => ['description' => 'The time corresponding to the 95th percentile bandwidth peak.', 'type' => 'string', 'example' => '2015-12-11T21:05:00Z'."\n", 'title' => ''],
+ 'Max95Bps' => ['description' => 'The 95th percentile bandwidth.', 'type' => 'number', 'format' => 'float', 'example' => '16777590.28'."\n", 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => ''],
+ ['errorCode' => 'InvalidTimePoint.Malformed', 'errorMessage' => 'Specified TimePoint is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => ''],
+ ],
+ 404 => [
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => ''],
+ ],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeVodDomainMax95BpsData',
+ 'description' => '**Query methods**'."\n"
."\n"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'- If you specify both StartTime and EndTime, the system queries the 95th percentile peak value for the day on which StartTime falls if the difference between EndTime and StartTime is within 24 hours. Otherwise, the system queries the 95th percentile peak value for the month on which StartTime falls.'."\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',
+ .'- If you specify both TimePoint and Cycle, the system returns the 95th percentile peak value for the cycle in which TimePoint falls.'."\n"
+ ."\n"
+ .'- If you specify StartTime and EndTime, and additionally specify Cycle, the system can return the 95th percentile peak values corresponding to all specified cycles within the query range.'."\n"
+ ."\n"
+ .'If none of these three methods are specified, the 95th percentile peak value for the past 24 hours is returned by default.'."\n"
+ ."\n"
+ .'- Maximum query span: 90 days'."\n"
+ ."\n"
+ .'- Minimum query granularity: 1 day'."\n"
+ ."\n"
+ .'- Maximum query range: 90 days'."\n"
+ ."\n"
+ .'- Maximum queries per second: 100 per user.'."\n"
+ ."\n"
+ .'- Data unit: bit/s.',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:26:16.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainMax95BpsData'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainMax95BpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ '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' => [],
@@ -10255,26 +6977,46 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40075',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39886',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppId',
+ 'name' => 'DomainName',
'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-****',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -10282,113 +7024,147 @@
'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',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58*****', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", 'type' => 'string', 'example' => '300', 'title' => ''],
+ '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', 'title' => ''],
+ 'AccDomesticValue' => ['description' => 'The number of requests in the Chinese mainland.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'AccOverseasValue' => ['description' => 'The number of requests outside the Chinese mainland.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'HttpsValue' => ['description' => 'The QPS that is calculated based on the HTTPS requests sent to points of presence (POPs).'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HttpsOverseasValue' => ['description' => 'The QPS that is calculated based on the HTTPS requests sent to POPs outside the Chinese mainland.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'DomesticValue' => ['description' => 'The QPS data in the Chinese mainland.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'HttpsAccOverseasValue' => ['description' => 'The number of HTTPS requests sent to POPs outside the Chinese mainland.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HttpsDomesticValue' => ['description' => 'The QPS that is calculated based on the HTTPS requests sent to POPs in the Chinese mainland.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HttpsAccValue' => ['description' => 'The number of HTTPS requests sent to POPs.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Value' => ['description' => 'The total QPS.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'OverseasValue' => ['description' => 'The QPS data outside the Chinese mainland.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ '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', 'title' => ''],
+ 'HttpsAccDomesticValue' => ['description' => 'The QPS that is calculated based on the HTTPS requests sent to POPs in the Chinese mainland.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'Both start time and end must be specified'],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'End time is earlier than start time'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ],
],
- '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',
+ '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"
+ .'---',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:27.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainQpsData'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainQpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39986',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39887',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TranscodeTemplateGroupId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transcoding template group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'a591f697c7167*****6ae1502142d0',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -10396,396 +7172,285 @@
'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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726', 'title' => ''],
+ 'Data' => [
'type' => 'object',
+ 'itemNode' => true,
'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",
+ 'BpsModel' => [
+ 'description' => 'The returned data.'."\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"
- .'}',
- ],
+ 'Bps' => ['description' => 'The bandwidth. Unit: bit/s.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '16710625.733333332', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified domain name is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidIspParameter', 'errorMessage' => 'The specified Isp is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidLocName', 'errorMessage' => 'The specified LocName is not supported.', 'description' => ''],
+ ],
],
- '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"
+ '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:41: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"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'**Time granularity**'."\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',
+ .'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 &#x3C; Time range per query ≤ 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days &#x3C; Time range per query ≤ 31 days|186 days|3 to 4 hours|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:41.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeBpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeBpsData'],
+ ],
],
+ ],
+ 'DescribeVodDomainRealTimeByteHitRateData' => [
+ 'summary' => 'Queries the byte hit ratio of accelerated domain names. The minimum time granularity for a query is 1 minute, and the data has a latency of at least 5 minutes. You can query data from the last 186 days.',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39844',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39888',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TranscodeTemplateGroupId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the transcoding template group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '4c71a339fec*****152b4fa6f4527',
- ],
+ 'schema' => ['description' => 'The accelerated domain name to query.'."\n"
+ ."\n"
+ .'- Separate multiple domain names with commas (,). You can query a maximum of 100 domain names in a single request.'."\n"
+ ."\n"
+ .'- If you query multiple domain names, the returned data is aggregated.'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the navigation pane on the left, choose **Configuration Management > CDN Configuration > Domain Names** to view the accelerated domain names. You can also call the [DescribeVodUserDomains](~~455030~~) operation to query the list of accelerated domain names.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'TranscodeTemplateIds',
+ 'name' => 'StartTime',
'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"]',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '2020-05-15T09:13:00Z', 'title' => ''],
],
[
- 'name' => 'ForceDelGroup',
+ 'name' => 'EndTime',
'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',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '2020-05-15T09:15:00Z', 'title' => ''],
],
],
'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"]',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', 'title' => ''],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ByteHitRateDataModel' => [
+ 'description' => 'The details of the returned data.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ByteHitRate' => ['description' => 'The byte hit ratio, in percentage.', 'type' => 'number', 'format' => 'float', 'example' => '0.8956940476262277', 'title' => ''],
+ 'TimeStamp' => ['description' => 'The data timestamp. The time is specified in the ISO 8601 standard and is in UTC.', 'type' => 'string', 'example' => '2020-05-15T09:13:00Z', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified domain name is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidParameterType', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The Type parameter is invalid. Modify the value of the Type parameter based on the documentation.'],
+ ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid input parameter.', 'description' => 'Input parameter error.'],
+ ],
],
- '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"
+ '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' => '- The endpoint for this operation is available only in the **China (Shanghai)** region.'."\n"
."\n"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'- You can query data for up to 100 domain names in a single batch request.'."\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',
+ .'- If you do not specify `StartTime` and `EndTime`, the operation returns data from the last hour by default. If you specify `StartTime` and `EndTime`, the operation returns data for the specified time range.'."\n"
+ ."\n"
+ .'**Data granularity**'."\n"
+ ."\n"
+ .'The time granularity of the returned data depends on the time range that you specify between `StartTime` and `EndTime`. The following table describes the time granularity, queryable time range, and data latency.'."\n"
+ ."\n"
+ .'| Time granularity | Time span per query | Queryable time range | Data latency |'."\n"
+ .'| ---------------- | -------------------------------------- | -------------------- | ------------ |'."\n"
+ .'| 1 minute | Time span per query ≤ 1 hour | 7 days | 5 minutes |'."\n"
+ .'| 5 minutes | 1 hour < Time span per query < 3 days | 93 days | 15 minutes |'."\n"
+ .'| 1 hour | 3 days ≤ Time span per query < 31 days | 186 days | 3 to 4 hours |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:08.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeByteHitRateData'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeByteHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeVodDomainRealTimeDetailData' => [
+ 'summary' => 'Queries real-time monitoring data of one or more accelerated domain names.',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39791',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39889',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'Name',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TemplateType',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the template. Set the value to **Snapshot**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Snapshot',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TemplateConfig',
+ 'name' => 'EndTime',
'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"}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'Field',
'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-****',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'IspNameEn',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the Internet service provider (ISP).'."\n", 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -10793,93 +7458,115 @@
'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',
- ],
+ '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"
+ .']', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '1710298E-8AFA-5F6D-A3E9-47103C52177D', 'title' => ''],
],
'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified domain name is malformed.', 'description' => ''],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeDetailData'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeDetailData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40235',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39890',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VodTemplateId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the snapshot template.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '8c75a02e339b*****0b0d2c48171a22',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'StartTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TemplateConfig',
+ 'name' => 'EndTime',
'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}',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -10887,38 +7574,114 @@
'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',
+ 'EndTime' => ['description' => 'The end of the time range.'."\n", 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''],
+ 'StartTime' => ['description' => 'The beginning of the time range.'."\n", 'type' => 'string', 'example' => '2019-11-30T05:39:00Z', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Proportion' => ['description' => 'The proportion of the HTTP status code in percentage.'."\n", 'type' => 'string', 'example' => '28.4496124031008', 'title' => ''],
+ 'Count' => ['description' => 'The number of the HTTP status codes.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'Both start time and end must be specified'],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'End time is earlier than start time'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ],
],
- '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',
+ '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 &#x3C; Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days ≤ Time range per query &#x3C; 31 days|186 days|3 to 4 hours|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:47.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeHttpCodeData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeHttpCodeData'],
+ ],
],
+ ],
+ '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' => [],
@@ -10929,24 +7692,42 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40007',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39892',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VodTemplateId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the snapshot template.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '7c49f2f4c0969*****fcd446690',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -10954,80 +7735,85 @@
'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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D', 'title' => ''],
+ 'Data' => [
'type' => 'object',
+ 'itemNode' => true,
'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',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified domain name is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidIspParameter', 'errorMessage' => 'The specified Isp is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidLocName', 'errorMessage' => 'The specified LocName is not supported.', 'description' => ''],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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 &#x3C; Time range per query ≤ 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days &#x3C; Time range per query ≤ 31 days|186 days|3 to 4 hours|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:48.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeQpsData'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeQpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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"}]',
+ ],
+ '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' => [],
@@ -11035,37 +7821,35 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40083',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39893',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TemplateType',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the template. Set the value to **Snapshot**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'Snapshot',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'StartTime',
'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-****',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -11073,116 +7857,131 @@
'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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified domain name is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is not valid.', 'description' => 'The specified parameter is invalid.'],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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 &#x3C; Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days ≤ Time range per query &#x3C; 31 days|186 days|3 to 4 hours|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:58.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeReqHitRateData'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeReqHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ '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' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39851',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39896',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VodTemplateId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the snapshot template.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'f5b228fe6930e*****d6bf55bd87789',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -11190,502 +7989,699 @@
'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',
+ 'EndTime' => ['description' => 'The end of the time range.'."\n", 'type' => 'string', 'example' => '2019-12-10T20:01:00Z', 'title' => ''],
+ 'StartTime' => ['description' => 'The beginning of the time range.'."\n", 'type' => 'string', 'example' => '2019-12-10T20:00:00Z', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified end time does not math the specified start time.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'Abs.DomainName.Malformed', 'errorMessage' => 'The size of DomainName is too big.', 'description' => ''],
+ ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidIspParameter', 'errorMessage' => 'The specified Isp is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidLocName', 'errorMessage' => 'The specified LocName is not supported.', 'description' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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 &#x3C; Time range per query ≤ 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days &#x3C; Time range per query ≤ 31 days|186 days|3 to 4 hours|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:18.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeTrafficData'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeTrafficData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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:01:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39792',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '219327',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
],
'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',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'WatermarkConfig',
+ 'name' => 'StartTime',
'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"}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'FileUrl',
+ 'name' => 'EndTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'Interval',
'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-****',
- ],
+ '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', 'title' => ''],
],
],
'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',
- ],
- 'WatermarkInfo' => [
- 'description' => 'The information about the watermark template.'."\n",
+ 'EndTime' => ['description' => 'The end of the time range.'."\n", 'type' => 'string', 'example' => '2023-12-22T08:00:00Z', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D94E471F-1A27-442E-552D-D4D2000C****', 'title' => ''],
+ 'Data' => [
'type' => 'object',
+ 'itemNode' => true,
'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',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'HttpsValue' => ['description' => 'The HTTPS request hit rate.'."\n", 'type' => 'string', 'example' => '50', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'StartTime' => ['description' => 'The beginning of the time range.'."\n", 'type' => 'string', 'example' => '2023-12-21T08:00:00Z', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n", 'type' => 'string', 'example' => '300', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => ''],
+ ],
],
- '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&amp;OSSAccessKeyId=****&amp;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"
+ '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"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'**Time granularity**'."\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',
+ .'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 &#x3C; 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days ≤ Time range per query &#x3C; 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|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:47.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:19:45.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:16:21.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainReqHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainReqHitRateData'],
+ ],
],
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40237',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39898',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'Name',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'WatermarkId',
+ 'name' => 'StartTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'WatermarkConfig',
+ 'name' => 'EndTime',
'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"}',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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',
- ],
- 'WatermarkInfo' => [
- 'description' => 'The information about the watermark template.'."\n",
+ 'EndTime' => ['description' => 'The end of the time range.'."\n", 'type' => 'string', 'example' => '2022-08-23T02:02:57Z', 'title' => ''],
+ 'StartTime' => ['description' => 'The beginning of the time range.'."\n", 'type' => 'string', 'example' => '2022-07-12T16:00:00Z', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-BEF6-****', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name whose ICP filing status you want to update.'."\n", 'type' => 'string', 'example' => 'sample.com', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n", 'type' => 'string', 'example' => '300', 'title' => ''],
+ 'SrcBpsDataPerInterval' => [
'type' => 'object',
+ 'itemNode' => true,
'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',
+ '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', 'title' => ''],
+ '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", 'title' => ''],
+ 'HttpsValue' => ['description' => 'The bandwidth consumed for fetching resources from the origin over HTTPS.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ ],
+ 'description' => 'The origin bandwidth data at each time interval.'."\n",
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
- 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified end time does not math the specified start time.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'Abs.DomainName.Malformed', 'errorMessage' => 'The size of DomainName is too big.', 'description' => ''],
+ ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => ''],
+ ],
],
- '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&amp;OSSAccessKeyId=****&amp;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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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 &#x3C; 3 days|93 days|15 minutes|'."\n"
+ .'|1 hour|3 days ≤ Time range per query &#x3C; 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|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:46.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainSrcBpsData'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainSrcBpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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-08-23T02:02:57Z\\\\n\\",\\n \\"HttpsValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39852',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39899',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'WatermarkId',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A*****F6-D7393642CA58',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'TotalTraffic' => ['description' => 'The total traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '5906662826', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval between the entries returned. Unit: seconds.'."\n", 'type' => 'string', 'example' => '300', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'HttpsValue' => ['description' => 'The amount of traffic generated by origin HTTPS requests.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
- 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified end time does not math the specified start time.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'Abs.DomainName.Malformed', 'errorMessage' => 'The size of DomainName is too big.', 'description' => ''],
+ ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => ''],
+ ],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'### Time granularity'."\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',
+ .'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|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:26:01.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainSrcTrafficData'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainSrcTrafficData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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-09-23T15:59:59Z\\",\\n \\"HttpsValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'DescribeVodDomainTrafficData' => [
+ 'summary' => 'Queries traffic data for accelerated domain names. Compared to DescribeVodDomainRealTimeTrafficData, this operation supports longer historical queries (up to 366 days) but with larger time granularity (minimum 5 minutes) and higher latency.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40142',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39903',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'WatermarkId',
+ 'name' => 'DomainName',
'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',
- ],
+ 'schema' => ['description' => 'The accelerated domain name that you want to query.'."\n"
+ ."\n"
+ .'- If you do not specify this parameter, the pooled data of all accelerated domain names is returned by default.'."\n"
+ ."\n"
+ .'- Batch queries are supported. Separate multiple domain names with commas (,). You can query a maximum of 500 domain names at a time.'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Configuration Management > CDN Configuration > Domain Names** in the navigation pane on the left to view the accelerated domain names that are added to ApsaraVideo VOD. You can also call the [DescribeVodUserDomains](~~455030~~) operation to query the list of accelerated domain names.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The beginning of the time range to query.'."\n"
+ ."\n"
+ .'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-01-20T13:59:58Z', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end of the time range to query.'."\n"
+ ."\n"
+ .'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n"
+ ."\n"
+ .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-01-20T14:59:58Z', 'title' => ''],
+ ],
+ [
+ 'name' => 'Interval',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The time granularity of the data to query. Unit: seconds. Valid values: **300**, **3600**, and **86400**. If you do not set this parameter, or if you set it to an unsupported value, the default value is used. The supported time granularity varies based on the time range specified by `StartTime` and `EndTime`:'."\n"
+ ."\n"
+ .'- If the time range is less than 3 days, valid values are **300** (default), **3600**, and **86400**.'."\n"
+ ."\n"
+ .'- If the time range is from 3 to 31 days, valid values are **3600** (default) and **86400**.'."\n"
+ ."\n"
+ .'- If the time range is more than 31 days, the valid value is **86400** (default).', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''],
+ ],
+ [
+ 'name' => 'IspNameEn',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the carrier. If you do not set this parameter, data of all carriers is queried.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''],
+ ],
+ [
+ 'name' => 'LocationNameEn',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the region. If you do not set this parameter, data in all regions is queried. Currently, only the Shanghai region is supported.', 'type' => 'string', 'required' => false, 'example' => 'shanghai', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A*****F6-D7393642CA58',
+ 'EndTime' => ['description' => 'The end of the time range.', 'type' => 'string', 'example' => '2019-01-20T14:59:58Z', 'title' => ''],
+ 'StartTime' => ['description' => 'The beginning of the time range.', 'type' => 'string', 'example' => '2019-01-20T13:59:58Z', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D94E471F-1A27-442E-552D-D4D2000C****', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'TotalTraffic' => ['description' => 'The total traffic.', 'type' => 'string', 'example' => '5906662826', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval between two consecutive data entries. This is the time granularity of the data. Unit: seconds.', 'type' => 'string', 'example' => '300'."\n", 'title' => ''],
+ 'TrafficDataPerInterval' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The list of traffic data at each time interval.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpsDomesticValue' => ['description' => 'The HTTPS traffic on L1 nodes in the Chinese mainland. Unit: bytes.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Value' => ['description' => 'The total traffic. Unit: bytes.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'OverseasValue' => ['description' => 'The traffic outside the Chinese mainland. Unit: bytes.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'HttpsValue' => ['description' => 'The total HTTPS traffic on L1 nodes. Unit: bytes.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'HttpsOverseasValue' => ['description' => 'The HTTPS traffic on L1 nodes outside the Chinese mainland. Unit: bytes.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'TimeStamp' => ['description' => 'The data timestamp. The time follows the ISO 8601 standard and is displayed in UTC.', 'type' => 'string', 'example' => '2019-01-20T13:59:58Z', 'title' => ''],
+ 'DomesticValue' => ['description' => 'The traffic in the Chinese mainland. Unit: bytes.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ ],
+ 'description' => 'The information about the network traffic.'."\n",
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'Both start time and end must be specified'],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'End time is earlier than start time'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'DescribeVodDomainTrafficData',
+ 'description' => '- The endpoint for this operation is available only in the **China (Shanghai)** region.'."\n"
+ ."\n"
+ .'- This operation supports batch queries. You can query data for up to 500 domain names in a single request.'."\n"
+ ."\n"
+ .'- If you do not specify the `StartTime` and `EndTime` parameters, data from the last 24 hours is returned by default. If you specify `StartTime` and `EndTime`, data within the specified time range is returned.'."\n"
+ ."\n"
+ .'**Data time granularity**'."\n"
+ ."\n"
+ .'If you do not set the `Interval` parameter, the default time granularity of the returned data is determined by the time range that you specify between `StartTime` and `EndTime`. The following table describes the time granularity, the supported time range for historical data queries, and the data latency.'."\n"
+ ."\n"
+ .'| Time granularity | Time span of a single query | Queryable time range for historical data | Data latency |'."\n"
+ .'| ---------------- | ------------------------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------------------------ |'."\n"
+ .'| 5 minutes | The time span of a single query is less than 3 days | 93 days | 15 minutes |'."\n"
+ .'| 1 hour | The time span of a single query is greater than or equal to 3 days and less than 31 days | 186 days | Usually 3 to 4 hours |'."\n"
+ .'| 1 day | The time span of a single query is greater than or equal to 31 days and less than or equal to 366 days | 366 days | Usually 4 hours, but no more than 24 hours |',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
."\n"
- .'The following table describes the common errors that this operation can return.'."\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"
- .'| 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',
+ .'|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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:01.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainTrafficData'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainTrafficData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DescribeVodDomainUsageData' => [
+ 'summary' => 'Queries the traffic or bandwidth data of one or more accelerated domain names.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -11696,27 +8692,61 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40009',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39904',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'WatermarkId',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -11724,124 +8754,155 @@
'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",
+ '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', 'title' => ''],
+ 'Type' => ['description' => 'The type of the data. Valid values:'."\n"
+ ."\n"
+ .'* **bps**: bandwidth'."\n"
+ .'* **traf**: traffic'."\n", 'type' => 'string', 'example' => 'static', 'title' => ''],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B955107D-E658-4E77-****-E0AC3D31693E', 'title' => ''],
+ 'Area' => ['description' => 'The billable region where the data was collected.'."\n", 'type' => 'string', 'example' => 'CN', 'title' => ''],
+ 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'DataInterval' => ['description' => 'The time interval between the entries returned. Unit: seconds.'."\n", 'type' => 'string', 'example' => '300', 'title' => ''],
+ 'UsageDataPerInterval' => [
'type' => 'object',
+ 'itemNode' => true,
'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',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- '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&amp;OSSAccessKeyId=****&amp;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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is not valid.', 'description' => 'The specified parameter is invalid.'],
+ ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'The specified parameter Product is invalid.', 'description' => 'The value of Product is invalid. Set the parameter based on the parameter description in the official documentation.'],
+ ['errorCode' => 'InvalidParameterArea', 'errorMessage' => 'The specified parameter Area is invalid.', 'description' => 'The value of Area is invalid. Set the parameter based on the parameter description in the API documentation.'],
+ ['errorCode' => 'InvalidParameterField', 'errorMessage' => 'The specified parameter Field is invalid.', 'description' => 'The value of Field is invalid. Set the parameter based on the parameter description in the API documentation.'],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'StartTime or EndTime is mismatch.', 'description' => 'The start time and end time do not match.'],
+ ['errorCode' => 'InvalidParameterInterval', 'errorMessage' => 'The specified Interval is invalid.', 'description' => 'The specified time granularity is invalid. Specify the time granularity based on the requirements described in the API documentation.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T12:20:00Z\\",\\n \\"Type\\": \\"static\\",\\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 common errors that this operation can return.'."\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"
- .'| 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',
+ .'|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.|.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:58.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainUsageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainUsageData'],
+ ],
],
+ ],
+ 'DescribeVodEditingUsageData' => [
+ 'summary' => 'Calls DescribeVodEditingUsageData to query the usage of video-on-demand online editing.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40085',
- 'abilityTreeNodes' => [
- 'FEATUREvodCOT3DK',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '208113',
+ 'abilityTreeNodes' => ['FEATUREvodXLM48P'],
],
'parameters' => [
[
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The start time for data retrieval. The date format follows the ISO8601 notation and uses UTC time. Format: YYYY-MM-DDThh:mmZ.'."\n"
+ ."\n"
+ .'If this parameter is empty, data from the last 24 hours is read by default.', 'type' => 'string', 'required' => false, 'example' => '2024-11-06T16:00:00Z', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end time for data retrieval. The date format follows the ISO8601 notation and uses UTC time. Format: YYYY-MM-DDThh:mmZ.', 'type' => 'string', 'required' => false, 'example' => '2024-11-07T16:00:00Z', 'title' => ''],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Region. Returns all regions by default. Supports batch queries, with multiple regions separated by commas (,).', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
+ ],
+ [
+ 'name' => 'Specification',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Output specification.', 'type' => 'string', 'required' => false, 'example' => 'H264.SD', 'title' => ''],
+ ],
+ [
'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-****',
- ],
+ 'schema' => ['description' => 'Application ID. For more information, see [Multi-application](~~113600~~).', 'type' => 'string', 'required' => false, 'example' => 'app-****', 'title' => ''],
],
],
'responses' => [
@@ -11849,91 +8910,79 @@
'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",
+ 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '6CB55B62-6E5F-54D1-80BF-DFA3DE9F0***', 'title' => ''],
+ 'StartTime' => ['description' => 'The start time for data retrieval. Format: *yyyy-MM-dd*T*HH:mm:ss*Z (UTC time).', 'type' => 'string', 'example' => '2024-11-06T16:00:00Z', 'title' => ''],
+ 'EndTime' => ['description' => 'The end time for data retrieval. Format: *yyyy-MM-dd*T*HH:mm:ss*Z (UTC time).', 'type' => 'string', 'example' => '2024-11-07T16:00:00Z', 'title' => ''],
+ 'EditingData' => [
+ 'description' => 'Usage data.',
'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',
- ],
+ 'Specification' => ['description' => 'Output specification.', 'type' => 'string', 'example' => 'H264.SD', 'title' => ''],
+ 'Region' => ['description' => 'Region.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
+ 'TimeStamp' => ['description' => 'Start time of the time slice. Uses UTC time, format: *yyyy-MM-dd*T*HH:mm:ss*Z (UTC time).', 'type' => 'string', 'example' => '2024-11-06T16:00:00Z', 'title' => ''],
+ 'Duration' => ['description' => 'Audio/video duration. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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&amp;OSSAccessKeyId=****&amp;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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The start time is in an invalid format.'],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidParameterType', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The Type parameter is invalid. Modify the value of the Type parameter based on the documentation.'],
+ ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid input parameter.', 'description' => 'Input parameter error.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'DescribeVodEditingUsageData',
+ 'description' => '- Request rate limit per user: 10 requests per second'."\n"
+ ."\n"
+ .'**Supported time granularity**:'."\n"
+ ."\n"
+ .'Based on the maximum time span for a single query, the corresponding automatic rotation time granularity and queryable historical data time range are as follows:'."\n"
+ ."\n"
+ .'| Time granularity | Maximum time span for a single query | Queryable historical data time range |'."\n"
+ .'| ---------------- | ------------------------------------ | ------------------------------------ |'."\n"
+ .'| 1 hour | 7 days | 31 days |'."\n"
+ .'| 1 day | 31 days | 366 days |',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodEditingUsageData'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodEditingUsageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'DescribeVodMediaPlayData' => [
+ 'summary' => 'Retrieves playback data for an audio or video file on a specified date using its media ID. The data includes the number of unique visitors, average playback count per user, total playback count, average playback duration per user, and total playback duration.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -11942,287 +8991,319 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39982',
- 'abilityTreeNodes' => [
- 'FEATUREvodAFH3DF',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '207593',
+ 'abilityTreeNodes' => ['FEATUREvodKNCWCD'],
],
'parameters' => [
[
- 'name' => 'VideoIds',
+ 'name' => 'PlayDate',
'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"',
- ],
+ 'schema' => ['description' => 'The playback date in the yyyyMMdd format.'."\n"
+ ."\n"
+ .'> - You can query data by day only.'."\n"
+ .'>'."\n"
+ .'> - You can query data from the last 30 days only.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '20240322'],
+ ],
+ [
+ 'name' => 'TerminalType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of terminal that uses the player SDK. Use this parameter to query playback data for a specific terminal type. Valid values:'."\n"
+ ."\n"
+ .'- **Native**: ApsaraVideo Player SDK for Android or ApsaraVideo Player SDK for iOS.'."\n"
+ ."\n"
+ .'- **Web**: ApsaraVideo Player SDK for Web.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Native'],
+ ],
+ [
+ 'name' => 'Os',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The operating system of the client. Use this parameter to query playback data for a specific operating system. Valid values:'."\n"
+ ."\n"
+ .'- **Android**'."\n"
+ ."\n"
+ .'- **iOS**'."\n"
+ ."\n"
+ .'- **Windows**'."\n"
+ ."\n"
+ .'- **macOS**'."\n"
+ ."\n"
+ .'- **Linux**', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Android'],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The service region. Use this parameter to query playback data for a specific service region. Valid values:'."\n"
+ ."\n"
+ .'- **cn-beijing**: China (Beijing)'."\n"
+ ."\n"
+ .'- **cn-shanghai**: China (Shanghai)'."\n"
+ ."\n"
+ .'- **cn-shenzhen**: China (Shenzhen)'."\n"
+ ."\n"
+ .'- **ap-northeast-1**: Japan (Tokyo)'."\n"
+ ."\n"
+ .'- **ap-southeast-1**: Singapore'."\n"
+ ."\n"
+ .'- **ap-southeast-5**: Indonesia (Jakarta)'."\n"
+ ."\n"
+ .'- **eu-central-1**: Germany (Frankfurt)', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-beijing'],
+ ],
+ [
+ 'name' => 'MediaId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the media asset. This is the same as the audio or video ID (VideoId). Use this parameter to query the playback data of a specific media asset. You can specify only one media ID. You can obtain the media ID in one of the following ways:'."\n"
+ ."\n"
+ .'- For audio or video files uploaded in the console, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Assets** > **Audio/Video** to view the audio or video ID.'."\n"
+ ."\n"
+ .'- When you upload an audio or video file by calling the [CreateUploadVideo](~~CreateUploadVideo~~) operation, the audio or video ID is the value of the VideoId parameter in the response.'."\n"
+ ."\n"
+ .'- After an audio or video file is uploaded, you can call the [SearchMedia](~~SearchMedia~~) operation to query the audio or video ID. The ID is the value of the VideoId parameter in the response.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '9ae2af636ca6c10412f44891fc****'],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'title' => '', 'example' => '1'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. The maximum value is 100.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'title' => '', 'example' => '20'],
+ ],
+ [
+ 'name' => 'OrderType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The sort order. This parameter must be used with the `OrderName` parameter. Use this parameter to sort the returned data by a specific metric. Valid values:'."\n"
+ ."\n"
+ .'- **ASC**: ascending order. The data is sorted from smallest to largest.'."\n"
+ ."\n"
+ .'- **DESC**: descending order. The data is sorted from largest to smallest.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ASC'],
+ ],
+ [
+ 'name' => 'OrderName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The metric for sorting. This parameter must be used with the `OrderType` parameter. Use this parameter to sort the returned data by a specific metric. Valid values:'."\n"
+ ."\n"
+ .'- **PlaySuccessVv**: total playback count.'."\n"
+ ."\n"
+ .'- **PlayPerVv**: average playback count per user.'."\n"
+ ."\n"
+ .'- **PlayDuration**: total playback duration.'."\n"
+ ."\n"
+ .'- **PlayDurationPerUv**: average playback duration per user.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'PlaySuccessVv'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****'],
+ 'TotalCount' => ['description' => 'The total number of returned entries.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1'],
+ 'PageNo' => ['description' => 'The page number of the returned data.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1'],
+ 'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '20'],
+ 'QoeInfoList' => [
+ 'description' => 'The list of returned data.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of the returned data.',
'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"]',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'VideoTitle' => ['description' => 'The name of the audio or video file.', 'type' => 'string', 'title' => '', 'example' => 'Alibaba Cloud VOD video title'],
+ 'VideoDuration' => ['description' => 'The duration of the audio or video file, in seconds.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '246'],
+ 'MediaId' => ['description' => 'The media ID, which is the audio or video ID (VideoId).', 'type' => 'string', 'title' => '', 'example' => '9ae2af636ca6c10412f44891fc****'],
+ 'DAU' => ['description' => 'The number of unique visitors for the audio or video file.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '5'],
+ 'PlaySuccessVv' => ['description' => 'The total number of playbacks for the audio or video file.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '20'],
+ 'PlayDurationPerUv' => ['description' => 'The average playback duration per user for the audio or video file, in seconds.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '120'],
+ 'PlayDuration' => ['description' => 'The total playback duration for the audio or video file, in seconds.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '2400'],
+ 'PlayPerVv' => ['description' => 'The average number of playbacks per user for the audio or video file.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => '4'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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>{&quot;EncryptType&quot;:&quot;AliyunVoDEncryption&quot;}</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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Meter.ParamError', 'errorMessage' => 'Param Error:%s,Please Check Again.', 'description' => 'One or more parameters are invalid.'],
+ ],
+ 403 => [
+ ['errorCode' => 'Meter.AuthError', 'errorMessage' => 'Authentication Failed,Please Try Again.', 'description' => 'You do not have permissions to perform this operation.'],
+ ],
+ 500 => [
+ ['errorCode' => 'Meter.ServerInternalError', 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', 'description' => 'An internal error occurred.'],
+ ['errorCode' => 'Meter.DataSourceQueryError', 'errorMessage' => 'Data Source Error:%s,Please Try Again.', 'description' => 'An internal data source error occurred.'],
+ ],
+ 502 => [
+ ['errorCode' => 'Meter.ReadyTsError', 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', 'description' => 'The data is not prepared.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"TotalCount\\": 1,\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 20,\\n \\"QoeInfoList\\": [\\n {\\n \\"VideoTitle\\": \\"Alibaba Cloud VOD video title\\",\\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' => '- The endpoint for this operation is available only in the **China (Shanghai)** region.'."\n"
+ ."\n"
+ .'- This operation collects playback data only from ApsaraVideo Player SDK. Traffic statistics for audio-only files are not supported.'."\n"
+ ."\n"
+ .'- You can query data from the last 30 days only.'."\n"
+ ."\n"
+ .'><notice>'."\n"
+ ."\n"
+ .'Before you call this operation, ensure that your ApsaraVideo Player SDK meets the following requirements:'."\n"
+ ."\n"
+ .'></notice>'."\n"
+ ."\n"
+ .'- ApsaraVideo Player SDK for Android or iOS'."\n"
+ ."\n"
+ .' - The SDK version is 5.4.9.2 or later.'."\n"
+ ."\n"
+ .' - A license for the player SDK has been obtained and configured. For more information, see [License management](~~469166~~).'."\n"
+ ."\n"
+ .' - The instrumentation log reporting feature of the player SDK is enabled. This feature is enabled by default. For more information, see [Create a player for Android](~~311525#section-dc4-gp6-xk2~~) and [Create a player for iOS](~~313855#section-cmf-k7d-jg5~~).'."\n"
+ ."\n"
+ .'- ApsaraVideo Player SDK for Web'."\n"
+ ."\n"
+ .' - The SDK version is 2.16.0 or later.'."\n"
+ ."\n"
+ .' - A license for the **Playback Quality Monitoring** value-added service has been requested and configured. To request the license, fill out the [ApsaraVideo Player SDK for Web Value-added Service Request form](https://yida.alibaba-inc.com/o/webplayer#/). For information about how to configure the license, see the `license` property in [Web client API reference](~~125572#section-3ty-gwp-6pa~~).'."\n"
+ ."\n"
+ .' - The instrumentation log reporting feature of the player SDK is enabled. This feature is enabled by default.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodMediaPlayData'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodMediaPlayData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'machine',
+ ],
+ 'DescribeVodPlayerCollectData' => [
+ 'summary' => 'Queries the summary of player playback data.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40073',
- 'abilityTreeNodes' => [
- 'FEATUREvodAFH3DF',
- ],
+ 'abilityTreeCode' => '274030',
+ 'abilityTreeNodes' => ['FEATUREvod2L0PVC'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ 'name' => 'AppId',
'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',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The ID of the application.', 'title' => '', 'example' => 'app-1000000'],
],
[
'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',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The start of the time range to query. The time is in the *yyyy-mm-dd*T*hh:mm:ss*Z format in UTC.'."\n"
+ ."\n"
+ .'> - You can query the playback data in the last year.'."\n"
+ .'> - The maximum time range for a single query is 31 days.'."\n"
+ .'> - The time range is a left-closed, right-open interval. The range includes the start time but not the end time. \\[StartTime, EndTime).', 'title' => '', 'example' => '2025-06-24T00:55:06Z'],
],
[
'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',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The end of the time range to query. The time is in the yyyy-mm-ddThh:mm:ssZ format in UTC.', 'title' => '', 'example' => '2025-06-05T15:59:59Z'],
],
[
- 'name' => 'PageSize',
+ 'name' => 'Interval',
'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',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The time granularity of the query. Valid values: **5m**, **1h**, and **1d**. The supported time granularities vary based on the time range specified by `StartTime` and `EndTime`:'."\n"
+ ."\n"
+ .'- If the time range is within 3 days, you can set this parameter to **5m**, **1h**, or **1d**.'."\n"
+ .'- If the time range is from 4 to 7 days, you can set this parameter to **1h** or **1d**.'."\n"
+ .'- If the time range is more than 7 days, you can set this parameter to **1d**.', 'title' => '', 'example' => '1d'],
],
[
- 'name' => 'PageNo',
+ 'name' => 'TerminalType',
'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',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The terminal type. Valid values:'."\n"
+ ."\n"
+ .'- **web**: web client.'."\n"
+ .'- **mobile**: native client.', 'title' => '', 'example' => 'web'],
+ ],
+ [
+ 'name' => 'Os',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The operating system of the player. If you specify this parameter, you can query the playback data of a specified operating system. Valid values include **Android**, **iOS**, **Harmony**, **Windows**, **MacOS**, and **Linux**. The valid values vary based on the terminal type. The following list describes the mappings:'."\n"
+ ."\n"
+ .'- **native**: Android, iOS, and Harmony.'."\n"
+ .'- **web**: Android, iOS, Harmony, Windows, MacOS, and Linux.'."\n"
+ ."\n"
+ .'Separate multiple operating systems with #\\_#.', 'title' => '', 'example' => 'Android、iOS、Windows'],
+ ],
+ [
+ 'name' => 'Metrics',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The metric type. You can specify multiple metrics. You can specify a maximum of three metrics.'."\n"
+ ."\n"
+ .'> - The values of percentage-related data are returned in the decimal format.'."\n"
+ ."\n"
+ .'Quality of Service (QoS) metrics:'."\n"
+ ."\n"
+ .'- Vv: the number of playbacks.'."\n"
+ .'- RealVv: the number of actual playbacks.'."\n"
+ .'- FirstFrame: the first frame latency.'."\n"
+ .'- SecondPlayRate: the rate of starting playback within 1 second.'."\n"
+ .'- SlowPlayRate: the rate of slow starting playbacks.'."\n"
+ .'- StuckCountRate: the stuttering rate based on the number of stutters.'."\n"
+ .'- SeekDuration: the seek latency.'."\n"
+ .'- StuckDuration100s: the stuttering duration per 100 seconds.'."\n"
+ .'- StuckCount100s: the number of stutters per 100 seconds.'."\n"
+ .'- PlayFailRate: the playback failure rate.'."\n"
+ .'- SeedFailRate: the rate of playback startup failures.'."\n"
+ .'- AvgPlayBitrate: the average playback bitrate.'."\n"
+ .'- AvgStartBitrate: the average startup bitrate.'."\n"
+ .'- ErrorCount100s: the number of errors per 100 seconds.'."\n"
+ ."\n"
+ .'Quality of Experience (QoE) metrics:'."\n"
+ ."\n"
+ .'- Uv: the number of unique visitors (UVs).'."\n"
+ .'- AvgPerVv: the average number of playbacks per person.'."\n"
+ .'- AvgVideoDuration: the average video duration.'."\n"
+ .'- AvgPerPlayDuration: the average playback duration per person.'."\n"
+ .'- AvgPerCompletionVv: the average number of completed playbacks per person.'."\n"
+ .'- CompletionVv: the number of completed playbacks.'."\n"
+ .'- CompletionRate: the completion rate.'."\n"
+ .'- AvgPlayDuration: the average playback duration.'."\n"
+ .'- JumpRate5s: the 5-second bounce rate.', 'title' => '', 'example' => 'Vv,Uv,AvgPerVv'],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The time range for period-over-period analysis. Unit: day (d).'."\n"
+ ."\n"
+ .'For example, if you set this parameter to 1d, the time range for period-over-period data is from StartTime-1d to EndTime-1d.', 'required' => false, 'title' => '', 'example' => '1d'],
],
],
'responses' => [
@@ -12230,130 +9311,132 @@
'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",
+ 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'Id of the request', 'example' => '25818875-5F78-4AF6-D7393642CA58****'],
+ 'DataList' => [
'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',
- ],
+ 'Metric' => ['type' => 'string', 'description' => 'The data metric returned.', 'title' => '', 'example' => 'Vv'],
+ 'Value' => ['type' => 'number', 'format' => 'double', 'description' => 'The value of the data metric returned.', 'title' => '', 'example' => '100.0'],
+ 'ValueRefer' => ['type' => 'number', 'format' => 'double', 'description' => 'The period-over-period value of the data metric returned.', 'title' => '', 'example' => '200.0'],
+ 'ValueRatio' => ['type' => 'number', 'format' => 'double', 'description' => 'The period-over-period percentage.', 'title' => '', 'example' => '0.5'],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'description' => 'The list of data returned.',
+ 'title' => '',
],
],
+ 'title' => '',
+ 'description' => 'Schema of Response',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Meter.ParamError', 'errorMessage' => 'Param Error:%s,Please Check Again.', 'description' => 'One or more parameters are invalid.'],
+ ],
+ 403 => [
+ ['errorCode' => 'Meter.AuthError', 'errorMessage' => 'Authentication Failed,Please Try Again.', 'description' => 'You do not have permissions to perform this operation.'],
+ ],
+ 500 => [
+ ['errorCode' => 'Meter.ServerInternalError', 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', 'description' => 'An internal error occurred.'],
+ ['errorCode' => 'Meter.DataSourceQueryError', 'errorMessage' => 'Data Source Error:%s,Please Try Again.', 'description' => 'An internal data source error occurred.'],
+ ],
+ 502 => [
+ ['errorCode' => 'Meter.ReadyTsError', 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', 'description' => 'The data is not prepared.'],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeVodPlayerCollectData',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodPlayerCollectData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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' => 'Queries the metadata of player dimensions.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39984',
- 'abilityTreeNodes' => [
- 'FEATUREvodAFH3DF',
- ],
+ 'abilityTreeCode' => '273845',
+ 'abilityTreeNodes' => ['FEATUREvod2L0PVC'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TranscodeTaskId',
+ 'name' => 'AppId',
'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',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The application ID.', 'title' => '', 'example' => 'app-1000000'],
],
[
- 'name' => 'JobIds',
+ 'name' => 'Dimension',
'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****',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The dimension type. Valid values:'."\n"
+ ."\n"
+ .'- Os: operating system.'."\n"
+ .'- AppVersion: application version.'."\n"
+ .'- SdkVersion: SDK version.'."\n"
+ .'- Codec: encoding format.'."\n"
+ .'- VideoType: video format.'."\n"
+ .'- Network: network type.'."\n"
+ .'- Isp: carrier.'."\n"
+ .'- VideoDefinition: resolution.'."\n"
+ .'- Domain: domain name.'."\n"
+ .'- Country: country.'."\n"
+ .'- Province: province.'."\n"
+ .'- ErrorCode: error code.'."\n"
+ .'- IsHw: specifies whether to use hardware decoding.', 'title' => '', 'example' => 'Os'],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The beginning of the time range to query. Specify the time in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is in UTC.'."\n"
+ ."\n"
+ .'> - You can query data from the last year.'."\n"
+ .'> - The maximum time range for a single query is 31 days.'."\n"
+ .'> - The time range is a left-closed, right-open interval. The start time is included, but the end time is not.', 'required' => false, 'title' => '', 'example' => '2025-06-24T00:55:06Z'],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time is in UTC.', 'required' => false, 'title' => '', 'example' => '2025-06-05T15:59:59Z'],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The area to query. This parameter is used to filter the metadata of the \\`Province\\` and \\`Isp\\` dimensions. Valid values:'."\n"
+ ."\n"
+ .'- \\`ALL\\` (default): all areas.'."\n"
+ .'- \\`CN\\`: China.'."\n"
+ .'- \\`OVERSEAS\\`: areas outside China.', 'required' => false, 'title' => '', 'example' => 'ALL'],
],
],
'responses' => [
@@ -12361,424 +9444,59 @@
'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.',
+ 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'Id of the request', 'example' => '25818875-5F78-4A*****F6-D7393642CA58'],
+ 'DataList' => [
'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"]',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'items' => ['type' => 'string', 'description' => 'The metadata of the dimension.', 'title' => '', 'example' => 'Android'],
+ 'description' => 'The list of returned data.',
+ 'title' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'description' => 'Schema of Response',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Meter.ParamError', 'errorMessage' => 'Param Error:%s,Please Check Again.', 'description' => 'One or more parameters are invalid.'],
+ ],
+ 403 => [
+ ['errorCode' => 'Meter.AuthError', 'errorMessage' => 'Authentication Failed,Please Try Again.', 'description' => 'You do not have permissions to perform this operation.'],
+ ],
+ 500 => [
+ ['errorCode' => 'Meter.ServerInternalError', 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', 'description' => 'An internal error occurred.'],
+ ['errorCode' => 'Meter.DataSourceQueryError', 'errorMessage' => 'Data Source Error:%s,Please Try Again.', 'description' => 'An internal data source error occurred.'],
+ ],
+ 502 => [
+ ['errorCode' => 'Meter.ReadyTsError', 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', 'description' => 'The data is not prepared.'],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeVodPlayerDimensionData',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodPlayerDimensionData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\",\\n \\"DataList\\": [\\n \\"Android\\"\\n ]\\n}","type":"json"}]',
+ 'translator' => 'machine',
+ ],
+ 'DescribeVodPlayerMetricData' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -12787,42 +9505,161 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '248267',
- 'abilityTreeNodes' => [
- 'FEATUREvodAFH3DF',
- 'FEATUREvodW76Z9M',
- 'FEATUREvod7BX3NA',
- 'FEATUREvodFAR72I',
- 'FEATUREvodIPBMLH',
- 'FEATUREvod5413CB',
- ],
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '273926',
+ 'abilityTreeNodes' => ['FEATUREvod2L0PVC'],
+ 'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaId',
+ 'name' => 'AppId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the media asset.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '30e5d7**********bd900764de7c0102',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The application ID.', 'title' => '', 'example' => 'app-1000000'],
],
[
- 'name' => 'JobType',
+ 'name' => 'StartTime',
'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',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The start of the time range to query. The time is in UTC and the format is *yyyy-mm-dd*T*hh:mm:ss*Z.'."\n"
+ ."\n"
+ .'> - You can query playback data from the last year.'."\n"
+ .'> - The time range for a single query cannot exceed 31 days.'."\n"
+ .'> - The time range is a left-closed, right-open interval \\`\\[StartTime, EndTime)\\`.', 'title' => '', 'example' => '2025-06-24T00:55:06Z'],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The end of the time range to query. The time is in UTC and the format is yyyy-mm-ddThh:mm:ssZ.', 'title' => '', 'example' => '2025-06-05T15:59:59Z'],
+ ],
+ [
+ 'name' => 'Interval',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The time granularity of the data to query. Valid values: **5m**, **1h**, and **1d**. The supported time granularity varies based on the time range specified by `StartTime` and `EndTime`:'."\n"
+ ."\n"
+ .'- If the time range is within 3 days, you can set this parameter to **5m**, **1h**, or **1d**.'."\n"
+ .'- If the time range is from 4 to 7 days, you can set this parameter to **1h** or **1d**.'."\n"
+ .'- If the time range is longer than 7 days, you can only set this parameter to **1d**.', 'title' => '', 'example' => '1d'],
+ ],
+ [
+ 'name' => 'TerminalType',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The terminal type. Valid values:'."\n"
+ ."\n"
+ .'- **web**: web client.'."\n"
+ .'- **mobile**: native client.', 'title' => '', 'example' => 'web'],
+ ],
+ [
+ 'name' => 'Filters',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The filter for metric dimensions. A dimension consists of a field (Field), an operator (Op), and a value.'."\n"
+ ."\n"
+ .'> - You can specify up to three dimensions.'."\n"
+ .'> - The \\`Filters\\` parameter does not take effect if the \\`Metrics\\` parameter includes any of the following four metrics: Uv (number of unique viewers), AvgPerVv (average number of views per user), AvgPerPlayDuration (average playback duration per user), or AvgPerCompletionVv (average number of complete views per user).'."\n"
+ .'> - For provinces and countries, pass the region code.'."\n"
+ .'> - To pass multiple values, separate them with \\`#\\_#\\`.'."\n"
+ ."\n"
+ .'Valid values for the dimension type (Field):'."\n"
+ ."\n"
+ .'- SdkVersion: the SDK version.'."\n"
+ .'- AppVersion: the app version.'."\n"
+ .'- Codec: the encoding format.'."\n"
+ .'- VideoType: the video format.'."\n"
+ .'- Network: the network type.'."\n"
+ .'- Country: the country.'."\n"
+ .'- Isp: the carrier.'."\n"
+ .'- VideoDefinition: the resolution.'."\n"
+ .'- Domain: the domain name.'."\n"
+ .'- Province: the province.'."\n"
+ .'- IsHw: specifies whether hardware decoding is used.'."\n"
+ .'- ErrorCode: the error code.'."\n"
+ ."\n"
+ .'Valid values for the operator (Op) are \\`=\\` (equal to), \\`>\\` (greater than), \\`<\\` (less than), and \\`!=\\` (not equal to).'."\n"
+ ."\n"
+ .'> - The SdkVersion and VideoDefinition metrics support all four operators. Other metrics only support \\`=\\` (equal to) and \\`!=\\` (not equal to).'."\n"
+ ."\n"
+ .'To get dimension values, call the DescribeVodPlayerDimensionData operation.', 'required' => false, 'title' => '', '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' => ['type' => 'string', 'required' => true, 'description' => 'The metric type. You can select multiple metrics, up to a maximum of three.'."\n"
+ ."\n"
+ .'> - Percentage data is returned as a decimal.'."\n"
+ ."\n"
+ .'Quality of Service (QoS) metrics:'."\n"
+ ."\n"
+ .'- Vv: the number of views.'."\n"
+ .'- RealVv: the number of actual views.'."\n"
+ .'- FirstFrame: the time to first frame.'."\n"
+ .'- SecondPlayRate: the rate of playback startup within one second.'."\n"
+ .'- SlowPlayRate: the rate of slow playback startup.'."\n"
+ .'- StuckCountRate: the stuttering rate by count.'."\n"
+ .'- SeekDuration: the seek time.'."\n"
+ .'- StuckDuration100s: the stuttering duration per 100 seconds.'."\n"
+ .'- StuckCount100s: the number of stutters per 100 seconds.'."\n"
+ .'- PlayFailRate: the playback failure rate.'."\n"
+ .'- SeedFailRate: the rate of playback startup failures.'."\n"
+ .'- AvgPlayBitrate: the average playback bitrate.'."\n"
+ .'- AvgStartBitrate: the average startup bitrate.'."\n"
+ .'- ErrorCount100s: the number of errors per 100 seconds.'."\n"
+ ."\n"
+ .'Quality of Experience (QoE) metrics:'."\n"
+ ."\n"
+ .'- Uv: the number of unique viewers.'."\n"
+ .'- AvgPerVv: the average number of views per user.'."\n"
+ .'- AvgVideoDuration: the average video duration.'."\n"
+ .'- AvgPerPlayDuration: the average playback duration per user.'."\n"
+ .'- AvgPerCompletionVv: the average number of complete views per user.'."\n"
+ .'- CompletionVv: the number of complete views.'."\n"
+ .'- CompletionRate: the completion rate.'."\n"
+ .'- AvgPlayDuration: the average playback duration.'."\n"
+ .'- JumpRate5s: the 5-second bounce rate.', 'title' => '', 'example' => 'Vv,Uv,AvgPerVv'],
+ ],
+ [
+ 'name' => 'Top',
+ 'in' => 'query',
+ 'schema' => ['type' => 'integer', 'format' => 'int64', 'description' => 'The number of top results to return based on the number of views. If you do not specify this parameter, data for all dimensions is returned.', 'required' => false, 'title' => '', 'example' => '5'],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => false, 'description' => 'The page number. The default value is **1**.', 'title' => '', 'example' => '1'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => false, 'description' => 'The number of entries to return on each page. Default value: **5000**. Maximum value: **5000**.', 'title' => '', 'example' => '5000'],
+ ],
+ [
+ 'name' => 'Language',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The language of the response. Valid values:'."\n"
+ ."\n"
+ .'- **zh** (**default**): Simplified Chinese.'."\n"
+ .'- **en**: English.', 'required' => false, 'title' => '', 'example' => 'zh'],
+ ],
+ [
+ 'name' => 'Os',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The operating system of the player. You can specify this parameter to query playback data for a specific operating system. Valid values include **Android**, **iOS**, **Harmony**, **Windows**, **macOS**, and **Linux**. The valid values vary based on the terminal type:'."\n"
+ ."\n"
+ .'- **native**: Android, iOS, and Harmony.'."\n"
+ .'- **web**: Android, iOS, Harmony, Windows, macOS, and Linux.'."\n"
+ ."\n"
+ .'To specify multiple operating systems, separate them with \\`#\\_#\\`.', 'required' => false, 'title' => '', 'example' => 'Android、iOS、Windows'],
],
],
'responses' => [
@@ -12830,816 +9667,643 @@
'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",
+ 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The ID of the request.', 'example' => '25818875-5F78-4A*****F6-D7393642CA58'],
+ 'PageNumber' => ['type' => 'integer', 'format' => 'int64', 'description' => 'The current page number.', 'title' => '', 'example' => '1'],
+ 'PageSize' => ['type' => 'integer', 'format' => 'int64', 'description' => 'The number of entries per page.', 'title' => '', 'example' => '5000'],
+ 'TotalCnt' => ['type' => 'integer', 'format' => 'int64', 'description' => 'The total number of data points.', 'title' => '', 'example' => '500'],
+ 'DataList' => [
'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',
- ],
+ 'TimeStamp' => ['type' => 'string', 'description' => 'The timestamp of the returned data. The time is in UTC and the format is yyyy-mm-ddThh:mm:ssZ.', 'title' => '', 'example' => '2025-06-24T00:55:06Z'."\n"],
+ 'Dimension' => ['type' => 'string', 'description' => 'The dimension.', 'title' => '', 'example' => 'H265_MP4_WIFI'],
+ 'Uv' => ['type' => 'number', 'format' => 'double', 'description' => 'The number of unique viewers.', 'title' => '', 'example' => '500'],
+ 'Vv' => ['type' => 'number', 'format' => 'double', 'description' => 'The number of views.', 'title' => '', 'example' => '800'],
+ 'RealVv' => ['type' => 'number', 'format' => 'double', 'description' => 'The number of actual views.', 'title' => '', 'example' => '1000'],
+ 'FirstFrame' => ['type' => 'number', 'format' => 'double', 'description' => 'The time to first frame, in milliseconds (ms).', 'title' => '', 'example' => '100'],
+ 'SecondPlayRate' => ['type' => 'number', 'format' => 'double', 'description' => 'The rate of playback startup within one second.', 'title' => '', 'example' => '0.8'],
+ 'SlowPlayRate' => ['type' => 'number', 'format' => 'double', 'description' => 'The rate of slow playback startup.', 'title' => '', 'example' => '0.2'],
+ 'StuckCountRate' => ['type' => 'number', 'format' => 'double', 'description' => 'The stuttering rate by count.', 'title' => '', 'example' => '0.1'],
+ 'SeekDuration' => ['type' => 'number', 'format' => 'double', 'description' => 'The seek time, in milliseconds (ms).', 'title' => '', 'example' => '100'],
+ 'StuckDuration100s' => ['type' => 'number', 'format' => 'double', 'description' => 'The stuttering duration per 100 seconds, in milliseconds (ms).', 'title' => '', 'example' => '200'],
+ 'PlayFailRate' => ['type' => 'number', 'format' => 'double', 'description' => 'The playback failure rate.', 'title' => '', 'example' => '0.2'],
+ 'SeedFailRate' => ['type' => 'number', 'format' => 'double', 'description' => 'The rate of playback startup failures.', 'title' => '', 'example' => '0.01'],
+ 'AvgPlayBitrate' => ['type' => 'number', 'format' => 'double', 'description' => 'The average playback bitrate, in bps.', 'title' => '', 'example' => '100'],
+ 'AvgStartBitrate' => ['type' => 'number', 'format' => 'double', 'description' => 'The average startup bitrate, in bps.', 'title' => '', 'example' => '100'],
+ 'ErrorCount100s' => ['type' => 'number', 'format' => 'double', 'description' => 'The number of errors per 100 seconds.', 'title' => '', 'example' => '1'],
+ 'AvgPerVv' => ['type' => 'number', 'format' => 'double', 'description' => 'The average number of views per user.', 'title' => '', 'example' => '10'],
+ 'AvgVideoDuration' => ['type' => 'number', 'format' => 'double', 'description' => 'The average video duration, in milliseconds (ms).', 'title' => '', 'example' => '100000'],
+ 'AvgPerPlayDuration' => ['type' => 'number', 'format' => 'double', 'description' => 'The average playback duration per user, in milliseconds (ms).', 'title' => '', 'example' => '100000'],
+ 'AvgPerCompletionVv' => ['type' => 'number', 'format' => 'double', 'description' => 'The average number of complete views per user.', 'title' => '', 'example' => '2'],
+ 'CompletionVv' => ['type' => 'number', 'format' => 'double', 'description' => 'The number of complete views.', 'title' => '', 'example' => '500'],
+ 'CompletionRate' => ['type' => 'number', 'format' => 'double', 'description' => 'The completion rate.', 'title' => '', 'example' => '0.8'],
+ 'AvgPlayDuration' => ['type' => 'number', 'format' => 'double', 'description' => 'The average playback duration, in milliseconds (ms).', 'title' => '', 'example' => '100000'."\n"],
+ 'JumpRate5s' => ['type' => 'number', 'format' => 'double', 'description' => 'The 5-second bounce rate.', 'title' => '', 'example' => '0.1'],
+ 'TotalPlayDuration' => ['type' => 'number', 'format' => 'double', 'description' => 'The total playback duration, in milliseconds (ms).', 'title' => '', 'example' => '100000'],
+ 'StuckCount100s' => ['type' => 'string', 'description' => 'The number of stutters per 100 seconds.', 'title' => '', 'example' => '2'],
],
'description' => '',
+ 'title' => '',
],
+ 'description' => 'The list of returned data.',
+ 'title' => '',
+ ],
+ 'Extend' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ActualStartTime' => ['type' => 'string', 'description' => 'The earliest time when a data point was generated within the specified time range. The time is in UTC and the format is yyyy-mm-ddThh:mm:ssZ.', 'title' => '', 'example' => '2025-06-24T00:55:06Z'],
+ 'ActualEndTime' => ['type' => 'string', 'description' => 'The latest time when a data point was generated within the specified time range. The time is in UTC and the format is yyyy-mm-ddThh:mm:ssZ.', 'title' => '', 'example' => '2025-06-05T15:59:59Z'],
+ 'IntervalSeconds' => ['type' => 'integer', 'format' => 'int64', 'description' => 'The time granularity of the queried data, in seconds (s).', 'title' => '', 'example' => '3600'],
+ ],
+ 'description' => 'The extended information.',
+ 'title' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'description' => 'Schema of Response',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Meter.ParamError', 'errorMessage' => 'Param Error:%s,Please Check Again.', 'description' => 'One or more parameters are invalid.'],
+ ],
+ 403 => [
+ ['errorCode' => 'Meter.AuthError', 'errorMessage' => 'Authentication Failed,Please Try Again.', 'description' => 'You do not have permissions to perform this operation.'],
+ ],
+ 500 => [
+ ['errorCode' => 'Meter.ServerInternalError', 'errorMessage' => 'The Request Processing Has Failed Due To Some Unknown Error.', 'description' => 'An internal error occurred.'],
+ ['errorCode' => 'Meter.DataSourceQueryError', 'errorMessage' => 'Data Source Error:%s,Please Try Again.', 'description' => 'An internal data source error occurred.'],
+ ],
+ 502 => [
+ ['errorCode' => 'Meter.ReadyTsError', 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.', 'description' => 'The data is not prepared.'],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeVodPlayerMetricData',
+ 'summary' => 'Queries player metric data.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodPlayerMetricData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'DescribeVodRangeDataByLocateAndIspService' => [
+ 'summary' => 'Queries the bandwidth data by Internet service provider (ISP) and region.',
+ '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',
+ 'abilityTreeCode' => '219275',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
],
'parameters' => [
[
- 'name' => 'JobId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the task.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '5c9dff***************59d50a967f5',
- ],
+ 'schema' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'JobType',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The task type. Valid values:'."\n"
- ."\n"
- .'* transcode'."\n"
- .'* snapshot'."\n"
- .'* ai'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'transcode',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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' => 'shanghai', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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',
- ],
- ],
- ],
- ],
- ],
+ '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":{"China Telecom":{"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}}}}', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C74802AA-C277-5A80-BDF2-072B05F119C7', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''],
+ ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => ''],
+ ],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JsonResult\\": \\"{\\\\\\"1472659200\\\\\\":{\\\\\\"Tianjin\\\\\\":{\\\\\\"China Telecom\\\\\\":{\\\\\\"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"
- .'**QPS limit**'."\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"
- .'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',
+ .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n"
+ .'|---|---|---|---|'."\n"
+ .'|5 minutes|1 hour|93 days|15 minutes|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:26:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:20:11.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:16:44.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodRangeDataByLocateAndIspService'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodRangeDataByLocateAndIspService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40100',
- 'abilityTreeNodes' => [
- 'FEATUREvod89J0DP',
+ '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', 'title' => ''],
+ 'PreloadRemain' => ['description' => 'The remaining number of URLs of files that can be prefetched on the current day.'."\n", 'type' => 'string', 'example' => '500', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '42E0554B-80F4-4921-****-ACFB22CAAAD0', 'title' => ''],
+ 'blockRemain' => ['description' => 'The remaining number of OSS buckets that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '500', 'title' => ''],
+ 'DirRemain' => ['description' => 'The remaining number of directories of files that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '99', 'title' => ''],
+ 'UrlRemain' => ['description' => 'The remaining number of URLs of files that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '1996', 'title' => ''],
+ 'DirQuota' => ['description' => 'The maximum number of directories of files that can be refreshed each day.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'UrlQuota' => ['description' => 'The maximum number of URLs of files that can be refreshed each day.'."\n", 'type' => 'string', 'example' => '2000', 'title' => ''],
+ 'PreloadQuota' => ['description' => 'The maximum number of URLs of files that can be prefetched each day.'."\n", 'type' => 'string', 'example' => '500', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ ],
+ ],
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:26:05.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodRefreshQuota',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodRefreshQuota'],
+ ],
+ ],
+ ],
+ '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' => 'ProjectId',
+ 'name' => 'TaskId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the task that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => '70422****', 'title' => ''],
],
[
- 'name' => 'Timeline',
+ 'name' => 'ObjectPath',
'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****"}]}]}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Title',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The title of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'editing project test',
- ],
+ 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '42949672', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'ObjectType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'description test',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'CoverURL',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The thumbnail URL of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'https://example.aliyundoc.com/6AB4D0E1E1C7446888351****.png',
- ],
+ 'schema' => ['description' => 'The domain name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'MediaMetadata',
+ 'name' => 'Status',
'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",
+ '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' => '{"Description":"video description","Title":"userData test"}',
+ 'example' => 'Complete',
+ 'enum' => ['Complete', 'Refreshing', 'Failed'],
+ 'title' => '',
],
],
[
- 'name' => 'ProduceConfig',
+ 'name' => 'PageSize',
'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****"}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'UserData',
+ 'name' => 'StartTime',
'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"}}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'EndTime',
'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-****',
- ],
+ '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', 'title' => ''],
],
],
'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****',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '174F6032-AA26-470D-****-36F0EB205BEE', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Process' => ['description' => 'The progress of the task in percentage.'."\n", 'type' => 'string', 'example' => '100%', 'title' => ''],
+ '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', 'title' => ''],
+ 'ObjectPath' => ['description' => 'The URL of the object refreshed.'."\n", 'type' => 'string', 'example' => 'http://example.com/****.txt', 'title' => ''],
+ 'TaskId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => '704225667', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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"
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidTaskId.Malformed', 'errorMessage' => 'The specified TaskId is invalid.', 'description' => 'Invalid TaskId'],
+ ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'Both start time and end must be specified'],
+ ['errorCode' => 'MissingParameter.ObjectType', 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', 'description' => ''],
+ ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'End time is earlier than start time'],
+ ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidObjectType.ValueNotSupported', 'errorMessage' => 'The specified ObjectType is not supported.', 'description' => ''],
+ ['errorCode' => 'InvalidStatus.ValueNotSupported', 'errorMessage' => 'The specified Status is not supported.', 'description' => ''],
+ ['errorCode' => 'DomainNameOverLimit', 'errorMessage' => 'A maximum of 500 domains are supported for each request.', 'description' => 'Up to 500 domain names per request'],
+ ['errorCode' => 'InvalidTime', 'errorMessage' => 'The query time cannot exceed the last 3 days.', 'description' => 'The request time cannot be returned for more than 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"
- .' * 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"
+ .'* 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"
- .'* 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"
+ .'The following table describes the error codes that this operation can return.'."\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',
+ .'|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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:56.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodRefreshTasks',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodRefreshTasks'],
+ ],
],
+ ],
+ 'DescribeVodSSLCertificateList' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39785',
- 'abilityTreeNodes' => [
- 'FEATUREvod89J0DP',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '236814',
+ 'abilityTreeNodes' => ['FEATUREvod0O92P0'],
],
'parameters' => [
[
- 'name' => 'Title',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The title of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'testtimeline',
- ],
+ 'schema' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'example.com'],
],
[
- 'name' => 'Description',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testtimeline001desciption',
- ],
+ 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'],
],
[
- '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',
+ 'name' => 'PageSize',
'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',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Valid values: an integer from 1 to 1000.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'default' => '1000', 'title' => '', 'example' => '10'],
],
[
- 'name' => 'Division',
+ 'name' => 'SearchKeyword',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region in which ApsaraVideo VOD is activated.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The keyword for a fuzzy query of certificate names.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'certabc'."\n"],
],
],
'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",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4AF6-D7393642CA58****'],
+ 'CertificateListModel' => [
+ 'description' => 'The information about the certificate list.',
'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',
+ 'Count' => ['description' => 'The number of certificates.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'],
+ 'CertList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Cert' => [
+ 'description' => 'The list of certificates.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about a certificate.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LastTime' => ['description' => 'The time when the certificate was last modified. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1512388610'],
+ 'Fingerprint' => ['description' => 'The fingerprint of the certificate.', 'type' => 'string', 'title' => '', 'example' => '****'],
+ 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'title' => '', 'example' => 'video-ssl'],
+ 'Issuer' => ['description' => 'The certificate issuer.', 'type' => 'string', 'title' => '', 'example' => '****'],
+ 'CertId' => ['description' => 'The ID of the certificate.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '235437'],
+ 'Common' => ['description' => 'The Common Name (CN) property of the certificate. This is usually a domain name.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'CertRegion' => ['description' => 'The region where the certificate is used. Supported values: **cn-hangzhou** and **ap-southeast-1**. Default value: **cn-hangzhou**.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
+ 'PageNumber' => ['description' => 'The current page number. The value starts from 1. The default value is 1.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1'],
+ 'PageSize' => ['description' => 'The number of entries per page. Valid values: an integer from 1 to 1000.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '20'],
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotFoundCertList', 'errorMessage' => 'The certList is null.', 'description' => ''],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'DescribeVodSSLCertificateList',
+ 'summary' => 'You can call this operation to query a list of certificates for a domain name.',
+ 'description' => 'This operation is available only in the **China (Shanghai)** region.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodSSLCertificateList'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodSSLCertificateList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ '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' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40219',
- 'abilityTreeNodes' => [
- 'FEATUREvod7B2GUR',
- ],
+ 'abilityTreeCode' => '39912',
+ 'abilityTreeNodes' => ['FEATUREvodUOYFRF'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'ProjectId',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '4ee4b97e27*****b525142a6b2',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Title',
+ 'name' => 'EndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The title of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testtimeline',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Timeline',
+ 'name' => 'Region',
'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"}]}]}',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'StorageType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testtimeline001desciption',
- ],
+ 'schema' => ['description' => 'The storage class. Set the value to **OSS**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OSS', 'default' => 'OSS', 'title' => ''],
],
[
- 'name' => 'CoverURL',
+ 'name' => 'Storage',
'in' => 'query',
- 'schema' => [
- 'description' => 'The thumbnail URL of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'https://****.com/6AB4D0E1E1C7446888****.png',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the application. '."\n"
+ ."\n"
+ .'* Default value: **app-1000000**.', 'type' => 'string', 'required' => false, 'example' => 'app-1000000', 'title' => ''],
],
],
'responses' => [
@@ -13647,168 +10311,218 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A*****F6-D7393642CA58',
+ 'DataInterval' => ['description' => 'The time granularity at which the data was queried. Valid values:'."\n"
+ ."\n"
+ .'* **hour**'."\n"
+ .'* **day**'."\n", 'type' => 'string', 'example' => 'day', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C370DAF1-C838-4288-****-9A87633D248E', 'title' => ''],
+ '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', 'title' => ''],
+ 'StorageUtilization' => ['description' => 'The detailed usage data of storage-related resources. Unit: bytes.'."\n", 'type' => 'string', 'example' => '111111', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidParameterType', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The Type parameter is invalid. Modify the value of the Type parameter based on the documentation.'],
+ ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid input parameter.', 'description' => 'Input parameter error.'],
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'The specified Time is malformed.', 'description' => 'The time format is incorrect. Modify the format of the input parameter based on the documentation.'],
+ ['errorCode' => 'InvalidParameterInterval', 'errorMessage' => 'The specified Interval is invalid.', 'description' => 'The specified time granularity is invalid. Specify the time granularity based on the requirements described in the API documentation.'],
+ ],
],
- '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',
+ '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' => ' ',
- ],
- 'DeleteEditingProject' => [
- 'summary' => 'Deletes online editing projects.',
- 'methods' => [
- 'post',
- 'get',
+ '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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:26:16.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodStorageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodStorageData'],
+ ],
],
+ ],
+ 'DescribeVodTieringStorageData' => [
+ 'summary' => 'Queries the usage of tiered storage for media assets.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39832',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '216951',
+ 'abilityTreeNodes' => ['FEATUREvodUOYFRF'],
],
'parameters' => [
[
- 'name' => 'ProjectIds',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the online editing project. Separate multiple IDs with commas (,).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'fb2101bf24bf41*****cb318787dc',
- ],
+ 'schema' => ['description' => 'The start time for data retrieval. The date format follows the ISO8601 notation and uses UTC time. Format: YYYY-MM-DDThh:mmZ. If this parameter is left empty, data from the last 24 hours is retrieved by default.', 'type' => 'string', 'required' => false, 'example' => '2023-05-29T01:00:00Z', 'title' => ''],
],
- ],
- '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' => [],
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end time for data retrieval, which must be later than the start time and cannot exceed 31 days from the start time. Format: *yyyy-MM-dd*T*HH:mm:ss*Z (UTC time).', 'type' => 'string', 'required' => false, 'example' => '2023-05-29T02:00:00Z', 'title' => ''],
],
- ],
- 'operationType' => 'readAndWrite',
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '40146',
- 'abilityTreeNodes' => [
- 'FEATUREvod89J0DP',
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The storage region. By default, all regions are returned. You can query multiple regions by separating them with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
- ],
- 'parameters' => [
[
- 'name' => 'ProjectId',
+ 'name' => 'StorageClass',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'fb2101bf24bf4*****754cb318787dc',
- ],
+ 'schema' => ['description' => 'The storage class. By default, all types are returned. Valid values:'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access'."\n"
+ .'- **Archive**: Archive'."\n"
+ .'- **ColdArchive**: Cold Archive', 'type' => 'string', 'required' => false, 'example' => 'IA', 'title' => ''],
],
[
- 'name' => 'MaterialIds',
+ 'name' => 'AppId',
'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',
- ],
+ 'schema' => ['type' => 'string', 'description' => 'The application ID.', 'required' => false, 'example' => 'app-1000000', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '746FFA07-8BBB-46*****B1-3E94E3B2915E',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****'],
+ 'StorageData' => [
+ 'description' => 'The storage usage data.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The storage usage data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TimeStamp' => [
+ 'description' => 'The start time of the time slice. Format: *yyyy-MM-dd*T*HH:mm:ss*Z (UTC time).',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => '2023-05-29T01:00:00Z',
+ 'title' => '',
+ ],
+ 'Region' => ['description' => 'The storage region.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
+ 'StorageClass' => ['description' => 'The storage class.', 'type' => 'string', 'example' => 'IA', 'title' => ''],
+ 'StorageUtilization' => ['description' => 'The storage usage data. Unit: byte.', 'type' => 'integer', 'format' => 'int64', 'example' => '1234', 'title' => ''],
+ 'LessthanMonthDatasize' => ['description' => 'The data storage less than one month. Unit: byte.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidParameterType', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The Type parameter is invalid. Modify the value of the Type parameter based on the documentation.'],
+ ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid input parameter.', 'description' => 'Input parameter error.'],
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'The specified Time is malformed.', 'description' => 'The time format is incorrect. Modify the format of the input parameter based on the documentation.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'DescribeVodTieringStorageData',
+ 'description' => '- Currently, only the following endpoint is supported: **China (Shanghai)**.'."\n"
+ .'- When the query time interval is within 7 days, data with hourly granularity is returned. When the query time interval is greater than 7 days, data with daily granularity is returned. The maximum interval is 31 days.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodTieringStorageData'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodTieringStorageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'DescribeVodTieringStorageRetrievalData' => [
+ 'summary' => 'Queries the retrieval data usage for tiered storage in media asset management.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -13817,353 +10531,300 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39953',
- 'abilityTreeNodes' => [
- 'FEATUREvod89J0DP',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '216979',
+ 'abilityTreeNodes' => ['FEATUREvodUOYFRF'],
],
'parameters' => [
[
- 'name' => 'ProjectId',
+ 'name' => 'StartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'fb2101bf24b27*****54cb318787dc',
- ],
+ 'schema' => ['description' => 'The start time for data retrieval. The date format follows the ISO8601 notation and uses UTC time. Format: YYYY-MM-DDThh:mmZ. The minimum data granularity is 5 minutes. If this parameter is empty, data from the last 24 hours is read by default.', 'type' => 'string', 'required' => false, 'example' => '2023-06-02T10:20:00Z', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end time for data retrieval, which must be later than the start time and cannot exceed 31 days. Format: *yyyy-MM-dd*T*HH:mm:ss*Z (UTC time).', 'type' => 'string', 'required' => false, 'example' => '2023-06-02T11:20:00Z'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The storage region. By default, all regions are returned. You can query multiple regions at a time by separating them with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
+ ],
+ [
+ 'name' => 'StorageClass',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The storage class. Valid values:'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access'."\n"
+ .'- **Archive**: Archive'."\n"
+ .'- **ColdArchive**: Cold Archive', 'type' => 'string', 'required' => false, 'example' => 'IA', 'title' => ''],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The application ID.', 'required' => false, 'example' => 'app-1000000', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'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',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4A13-BEF6-D73936****'],
+ 'RetrievalData' => [
+ 'description' => 'The retrieved data.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The retrieved data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TimeStamp' => ['description' => 'The start time of the time slice. Format: *yyyy-MM-dd*T*HH:mm:ss*Z (UTC time).', 'type' => 'string', 'example' => '2023-06-02T10:20:00Z'."\n", 'title' => ''],
+ 'Region' => ['description' => 'The storage region.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
+ 'StorageClass' => ['description' => 'The media asset storage class.', 'type' => 'string', 'example' => 'IA', 'title' => ''],
+ 'RetrievalData' => ['description' => 'The retrieved data.', 'type' => 'integer', 'format' => 'int64', 'example' => '1234', 'title' => ''],
+ 'CAStdRetrievalData' => ['description' => 'The Cold Archive standard retrieval data.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''],
+ 'CABulkRetrievalData' => ['description' => 'The Cold Archive batch retrieval data.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''],
+ 'CAHighPriorRetrievalData' => ['description' => 'The Cold Archive high-priority retrieval data.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidParameterType', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The Type parameter is invalid. Modify the value of the Type parameter based on the documentation.'],
+ ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid input parameter.', 'description' => 'Input parameter error.'],
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'The specified Time is malformed.', 'description' => 'The time format is incorrect. Modify the format of the input parameter based on the documentation.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'DescribeVodTieringStorageRetrievalData',
+ 'description' => '> - Currently, only the following endpoint is supported: **China East 2 (Shanghai)**.'."\n"
+ .'> - When the query time interval is within 7 days, data with hourly granularity is returned. When the query time interval exceeds 7 days, data with daily granularity is returned. The maximum interval is 31 days.',
+ 'responseParamsDescription' => 'The CAStdRetrievalData, CABulkRetrievalData, and CAHighPriorRetrievalData fields are only present when the storage class is Cold Archive and the usage is not zero.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodTieringStorageRetrievalData'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodTieringStorageRetrievalData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'DescribeVodTranscodeData' => [
+ 'summary' => 'Queries the transcoding statistics.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39954',
- 'abilityTreeNodes' => [
- 'FEATUREvod89J0DP',
- ],
+ 'abilityTreeCode' => '39915',
+ 'abilityTreeNodes' => ['FEATUREvodJALMOJ'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'ProjectId',
+ 'name' => 'StartTime',
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Type',
+ 'name' => 'EndTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'MaterialType',
+ 'name' => 'Region',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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' => [
+ 'DataInterval' => ['description' => 'The interval at which the data was queried. Valid values:'."\n"
+ ."\n"
+ .'* **hour**'."\n"
+ .'* **day**'."\n", 'type' => 'string', 'example' => 'day', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C370DAF1-C838-4288-****-9A87633D248E', 'title' => ''],
+ 'TranscodeData' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'Material' => [
- 'description' => 'The materials.',
+ 'TranscodeDataItem' => [
+ 'description' => 'The transcoding statistics returned.'."\n",
'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' => [
+ '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', 'title' => ''],
+ 'Data' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'Snapshot' => [
- 'description' => 'The URLs of material snapshots. The value is an array.',
+ 'DataItem' => [
+ 'description' => 'The statistics on transcoding of different specifications.'."\n",
'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="]',
+ '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', 'title' => ''],
+ 'Value' => ['description' => 'The transcoding duration. Unit: seconds.'."\n", 'type' => 'string', 'example' => '111', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The end time is in an invalid format.'],
+ ['errorCode' => 'InvalidParameterType', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The Type parameter is invalid. Modify the value of the Type parameter based on the documentation.'],
+ ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid input parameter.', 'description' => 'Input parameter error.'],
+ ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'The specified Time is malformed.', 'description' => 'The time format is incorrect. Modify the format of the input parameter based on the documentation.'],
+ ],
],
- '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.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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' => ' ',
- ],
- 'SearchEditingProject' => [
- 'summary' => 'Queries online editing projects.',
- 'methods' => [
- 'post',
- 'get',
+ '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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:25:47.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodTranscodeData'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodTranscodeData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DescribeVodUserDomains' => [
+ 'summary' => 'Queries the domain names for CDN within your Alibaba Cloud account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14171,262 +10832,249 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40114',
- 'abilityTreeNodes' => [
- 'FEATUREvod89J0DP',
- ],
+ 'abilityTreeCode' => '39917',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'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',
+ 'name' => 'PageSize',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Status',
+ 'name' => 'PageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'PageNo',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'DomainStatus',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'SortBy',
+ 'name' => 'DomainSearchType',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Title',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The title of the online editing project.'."\n",
- 'type' => 'string',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ ],
'required' => false,
- 'example' => 'test',
+ 'maxItems' => 20,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned results.'."\n",
'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' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E4EBD2BF-5EB0-4476-****-9D94E1B15267', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ 'Domains' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'Project' => [
- 'description' => 'The list of online editing projects.'."\n",
+ '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' => [
- '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',
+ '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', 'title' => ''],
+ 'SslProtocol' => ['description' => 'Indicates whether HTTPS is enabled.'."\n"
+ ."\n"
+ .'* **on**: HTTPS is enabled.'."\n"
+ .'* **off**: HTTPS is not eabled.'."\n", 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'Description' => ['description' => 'The remarks.'."\n", 'type' => 'string', 'example' => 'Zhejiang ICP Filing No. ****', 'title' => ''],
+ 'Sandbox' => ['description' => 'Indicates whether the accelerated domain name was in a sandbox.'."\n", 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ 'Cname' => ['description' => 'The CNAME that is assigned to the domain name for CDN.'."\n", 'type' => 'string', 'example' => 'learn.developer.aliyundoc.com', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'DomainName' => ['description' => 'The domain name for CDN.'."\n", 'type' => 'string', 'example' => 'example.aliyundoc.com', 'title' => ''],
+ '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', 'title' => ''],
+ 'Priority' => ['description' => 'The priority of the origin server.'."\n", 'type' => 'string', 'example' => '5', 'title' => ''],
+ 'Port' => ['description' => 'The port number. Valid values: **443** and **80**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'Content' => ['description' => 'The address of the origin server.'."\n", 'type' => 'string', 'example' => '192.168.0.1', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidPageNumber.ValueNotSupported', 'errorMessage' => 'The specified value of PageNumber is not supported.', 'description' => ''],
+ ['errorCode' => 'InvalidPageSize.ValueNotSupported', 'errorMessage' => 'The specified value of PageSize is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainStatus.ValueNotSupported', 'errorMessage' => 'The specified value of DomainStatus is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainSearchType.ValueNotSupported', 'errorMessage' => 'The specified value of DomainSearchType is invalid.', 'description' => ''],
+ ],
],
- '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',
+ '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\\": \\"Zhejiang ICP Filing No. ****\\",\\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":"","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' => ' ',
- ],
- 'AddEditingProjectMaterials' => [
- 'summary' => 'Adds one or more materials to an editing project.',
- 'methods' => [
- 'post',
- 'get',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:23:56.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodUserDomains'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodUserDomains',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DescribeVodUserVipsByDomain' => [
+ 'summary' => 'Queries the list of IP addresses associated with a domain name.',
+ 'path' => '',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39786',
- 'abilityTreeNodes' => [
- 'FEATUREvod89J0DP',
- ],
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'ProjectId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the online editing project.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'afa31b483b5c41609185de0e1b790579',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The accelerated domain name for Video on Demand (VOD). Only one domain name is supported.', 'title' => '', 'example' => 'example.com'],
],
[
- 'name' => 'MaterialIds',
+ 'name' => 'Available',
'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"
+ 'required' => false,
+ 'enum' => ['on', 'off'],
+ 'description' => 'Specifies whether to query healthy virtual IP addresses (VIPs). Valid values:'."\n"
."\n"
- .'* **video**'."\n"
- .'* **audio**'."\n"
- .'* **image**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'video',
+ .'- **on**: Healthy VIPs.'."\n"
+ ."\n"
+ .'- **off**: All VIPs.',
+ 'title' => '',
+ 'example' => 'on',
],
],
],
@@ -14435,330 +11083,235 @@
'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="]',
- ],
- ],
+ 'DomainName' => ['type' => 'string', 'description' => 'The VOD accelerated domain name.', 'title' => '', 'example' => 'example.com'],
+ 'RequestId' => ['type' => 'string', 'description' => 'The request ID.', 'title' => '', 'example' => '6730AC93-7B12-4B*****7F-49EE1FE8BC49'],
+ 'Vips' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Vip' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => 'A VIP address.', 'title' => '', 'example' => '163.181.xxx.xxx'],
+ 'description' => 'The list of VIP addresses.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'description' => 'The response schema.',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingParameter', 'errorMessage' => 'The specified value of parameter "DomainName" can not be empty.', 'description' => ''],
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided is offline or not exist.', 'description' => ''],
+ ['errorCode' => 'IllegalOperation', 'errorMessage' => 'Illegal domain operate is not permitted.', 'description' => ''],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeVodUserVipsByDomain',
+ 'description' => 'This API operation is available only in the China (Shanghai) region.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
+ 'ramActions' => [],
+ '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"}]',
+ ],
+ 'DescribeVodVerifyContent' => [
+ 'summary' => 'Queries the ownership verification content.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39833',
- 'abilityTreeNodes' => [
- 'FEATUREvod8R2V42',
- ],
+ 'abilityTreeCode' => '39922',
+ 'abilityTreeNodes' => ['FEATUREvodB8HTWV'],
'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',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '746FFA07-8BBB-46*****B1-3E94E3B2915E',
- ],
+ 'Content' => ['description' => 'The verification content.'."\n", 'type' => 'string', 'example' => 'verify_dffeb661*****3a59c31cd91f', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '34AB41F1-04A5-4688-634BDBE6****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"746FFA07-8BBB-46*****B1-3E94E3B2915E\\"\\n}","type":"json"}]',
- 'title' => 'DeleteEditingProjectMaterials',
- ],
- 'SetAuditSecurityIp' => [
- 'methods' => [
- 'post',
- 'get',
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:23:57.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodVerifyContent',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodVerifyContent'],
+ ],
],
+ ],
+ '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',
- 'abilityTreeCode' => '40122',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39923',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'SecurityGroupName',
+ 'name' => 'IdentityType',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Ips',
+ 'name' => 'IdentityName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'OperateMode',
+ 'name' => 'AppId',
'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',
- ],
+ '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-****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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****',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-****-D7393642C', 'title' => ''],
+ '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', 'title' => ''],
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ '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"
+ .'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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:33.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:DetachAppPolicyFromIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachAppPolicyFromIdentity'],
+ ],
],
+ ],
+ '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' => [],
@@ -14766,26 +11319,30 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40047',
- 'abilityTreeNodes' => [
- 'FEATUREvod7FWSSO',
- ],
+ 'abilityTreeCode' => '39929',
+ 'abilityTreeNodes' => ['FEATUREvodU0GZW5'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'SecurityGroupName',
+ 'name' => 'AppIdentification',
'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',
- ],
+ '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", 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -14793,303 +11350,210 @@
'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',
- ],
- ],
- ],
- ],
+ 'AppEncryptKey' => ['description' => 'The key file for secure download.'."\n", 'type' => 'string', 'example' => '***', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E99B9BAD-7F9D-552B-A689-B72E92EA040E', 'title' => ''],
],
'description' => '',
+ 'title' => '',
],
],
],
- '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',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:08.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:GenerateDownloadSecretKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDownloadSecretKey'],
+ ],
],
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'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"}',
- ],
- ],
+ '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' => '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****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ '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****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'Plaintext' => ['description' => 'The Base64-encoded plaintext of the data key.'."\n", 'type' => 'string', 'example' => 'QmFzZTY0IGVuY29kZWQgcGxhaW50****', 'title' => ''],
],
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'AliyunVODDefaultRole is not authorized by your account.', 'description' => 'The AliyunVODDefaultRole does not have permissions to access the resources. Authorize the role based on the documentation.'],
+ ],
],
- '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',
+ '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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:33:06.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:GenerateKMSDataKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateKMSDataKey'],
+ ],
],
+ ],
+ 'GetAIImageJobs' => [
+ 'summary' => 'Queries jobs of image AI processing.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40163',
- 'abilityTreeNodes' => [
- 'FEATUREvodIPBMLH',
- ],
+ 'abilityTreeCode' => '39931',
+ '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',
+ 'name' => 'JobIds',
'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"}',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned results.'."\n",
+ 'description' => 'The returned data.'."\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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7721B494-1F78-4E*****E8-A7CEE7315BFA', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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"}]', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'example' => '357a8748c577*****789d2726e6436aa', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the image AI processing job.'."\n", 'type' => 'string', 'example' => 'cf08a2c6e11e*****de1711b738b9067', 'title' => ''],
+ '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"}}', 'title' => ''],
+ 'Code' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'Message' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'TemplateConfig' => ['description' => 'The configurations of the AI template that was used to submit the job.'."\n", 'type' => 'string', 'example' => '{"Format":"gif","SetDefaultCover":"true"}', 'title' => ''],
+ 'TemplateId' => ['description' => 'The ID of the AI template.'."\n", 'type' => 'string', 'example' => '5a86a00f15194*****d7fe7de1b4a173', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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",
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:07.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetAIImageJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAIImageJobs'],
+ ],
+ ],
],
'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',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -15101,9 +11565,7 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '39932',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -15111,13 +11573,7 @@
[
'name' => 'JobId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the intelligent review job.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'bdbc266af6894*****943a70176d92e9',
- ],
+ 'schema' => ['description' => 'The ID of the intelligent review job.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bdbc266af6894*****943a70176d92e9', 'title' => ''],
],
],
'responses' => [
@@ -15126,95 +11582,47 @@
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EAA3E96A-02E2-41*****85-08E1D568ED3A',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'EAA3E96A-02E2-41*****85-08E1D568ED3A', 'title' => ''],
'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',
- ],
+ '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', 'title' => ''],
+ 'Type' => ['description' => 'The type of the job. The value is AIMediaAudit.'."\n", 'type' => 'string', 'example' => 'AIMediaAudit', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the job.'."\n", 'type' => 'string', 'example' => 'bdbc266af6894*****943a70176d92e9', 'title' => ''],
+ 'Code' => ['description' => 'The error code. This parameter is returned if the value of Status is fail.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Message' => ['description' => 'The error message. This parameter is returned if the value of Status is fail.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'example' => 'fe028d09441d*****d1afffb138cd7e', 'title' => ''],
'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',
- ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
'ImageResult' => [
'description' => 'The results of image review.'."\n",
'type' => 'array',
@@ -15222,129 +11630,106 @@
'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',
- ],
+ 'Type' => ['description' => 'The type of the image. Valid value: **cover**.'."\n", 'type' => 'string', 'example' => 'cover', 'title' => ''],
+ 'Url' => ['description' => 'The URL of the image.'."\n", 'type' => 'string', 'example' => 'http://www.test.com/****.jpg', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'* **block**'."\n"
+ .'* **review**'."\n"
+ .'* **pass**'."\n", 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ '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', 'title' => ''],
'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',
- ],
+ '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', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'* **block**'."\n"
+ .'* **review**'."\n"
+ .'* **pass**'."\n", 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'TextResult' => [
'description' => 'The text moderation results.'."\n",
@@ -15352,50 +11737,31 @@
'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',
- ],
+ 'Type' => ['description' => 'The type of the text. The value is **title**.'."\n", 'type' => 'string', 'example' => 'title', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'* **block**'."\n"
+ .'* **review**'."\n"
+ .'* **pass**'."\n", 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Content' => ['description' => 'The text content.'."\n", 'type' => 'string', 'example' => 'Test', 'title' => ''],
+ 'Scene' => ['description' => 'The review scenario. The value is **antispam**.'."\n", 'type' => 'string', 'example' => 'antispam', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'AudioResult' => [
'description' => 'The results of audio review.'."\n",
@@ -15403,146 +11769,107 @@
'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',
- ],
+ 'Score' => ['description' => 'The score.'."\n", 'type' => 'string', 'example' => '99.91', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'* **block**'."\n"
+ .'* **review**'."\n"
+ .'* **pass**'."\n", 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ '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', 'title' => ''],
+ 'Scene' => ['description' => 'The review scenario. The value is **antispam**.'."\n", 'type' => 'string', 'example' => 'antispam', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'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',
- ],
+ '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', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for video review results. Valid values:'."\n"
+ ."\n"
+ .'* **block**'."\n"
+ .'* **review**'."\n"
+ .'* **pass**'."\n", 'type' => 'string', 'example' => 'pass', 'title' => ''],
'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',
- ],
+ 'Suggestion' => ['description' => 'The recommendation for terrorist content review results. Valid values:'."\n"
+ ."\n"
+ .'* **block**'."\n"
+ .'* **review**'."\n"
+ .'* **pass**'."\n", 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
'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',
- ],
+ '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', 'title' => ''],
+ 'Count' => ['description' => 'The number of video snapshots.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'TopList' => [
'description' => 'The information about the snapshot that has the highest score in the category.'."\n",
@@ -15550,101 +11877,72 @@
'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',
- ],
+ 'Url' => ['description' => 'The URL of the video snapshot.'."\n", 'type' => 'string', 'example' => 'http://ali*****.com/aivideocensor/yytysursrutyrxuq/****.jpg', 'title' => ''],
+ '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', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '5', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'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',
- ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'* **porn**'."\n"
+ .'* **sexy**'."\n"
+ .'* **normal**'."\n", 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ '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', 'title' => ''],
'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',
- ],
+ 'Label' => ['description' => 'The results of pornographic content review. Valid values:'."\n"
+ ."\n"
+ .'* **porn**'."\n"
+ .'* **sexy**'."\n"
+ .'* **normal**'."\n", 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ 'Count' => ['description' => 'The number of video snapshots.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'TopList' => [
'description' => 'The information about the snapshot that has the highest score in the category.'."\n",
@@ -15652,106 +11950,77 @@
'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',
- ],
+ 'Url' => ['description' => 'The URL of the video snapshot.'."\n", 'type' => 'string', 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', 'title' => ''],
+ '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', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '3005', 'title' => ''],
+ 'Label' => ['description' => 'The results of pornographic content review. Valid values:'."\n"
+ ."\n"
+ .'* **porn**'."\n"
+ .'* **sexy**'."\n"
+ .'* **normal**'."\n", 'type' => 'string', 'example' => 'porn', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'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',
- ],
+ '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', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the review results.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest review score.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
'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',
- ],
+ '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', 'title' => ''],
+ 'Count' => ['description' => 'The number of video snapshots.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'TopList' => [
'description' => 'The information about the snapshot that has the highest score in the category.'."\n",
@@ -15759,102 +12028,73 @@
'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',
- ],
+ 'Url' => ['description' => 'The URL of the video snapshot.'."\n", 'type' => 'string', 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', 'title' => ''],
+ 'Score' => ['description' => 'The score of the snapshot in the category that is indicated by Label.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '500', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'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',
- ],
+ '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', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the review results.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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' => 'smoking', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest review score.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
'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',
- ],
+ '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' => 'smoking', 'title' => ''],
+ 'Count' => ['description' => 'The number of video snapshots.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'TopList' => [
'description' => 'The information about the snapshot that has the highest score in the category.'."\n",
@@ -15862,92 +12102,63 @@
'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',
- ],
+ 'Url' => ['description' => 'The URL of the video snapshot.'."\n", 'type' => 'string', 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', 'title' => ''],
+ 'Score' => ['description' => 'The score of the snapshot in the category that is indicated by Label.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '500', 'title' => ''],
+ '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' => 'smoking', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'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',
- ],
+ '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', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the snapshots in the category indicated by Label.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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' => 'TV', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest score of the snapshot of the category that is indicated by Label.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
'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',
- ],
+ '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' => 'TV', 'title' => ''],
+ 'Count' => ['description' => 'The number of video snapshots.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'TopList' => [
'description' => 'The information about the snapshot that has the highest score in the category.'."\n",
@@ -15955,851 +12166,76 @@
'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',
- ],
+ 'Url' => ['description' => 'The URL of the video snapshot.'."\n", 'type' => 'string', 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', 'title' => ''],
+ 'Score' => ['description' => 'The score of the snapshot in the category that is indicated by Label.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '5000', 'title' => ''],
+ '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' => 'TV', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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":""}]',
+ '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\\": \\"Test\\",\\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":"","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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:15.000Z', 'description' => 'OpenAPI offline'],
],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39959',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAIMediaAuditJob'],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAIMediaAuditJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ 'GetAITemplate' => [
+ 'summary' => 'Queries AI templates.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -16810,197 +12246,90 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39960',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39935',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaId',
+ 'name' => 'TemplateId',
'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',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned result.'."\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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '080DA371-8AC0-4CD4-4476-33E64282****', 'title' => ''],
+ 'TemplateInfo' => [
+ 'description' => 'The information about the AI template.'."\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' => '',
- ],
- ],
+ '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', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the template is the default AI template. Valid values:'."\n"
+ ."\n"
+ .'* **Default**'."\n"
+ .'* **NotDefault**'."\n", 'type' => 'string', 'example' => 'NotDefault', 'title' => ''],
+ 'TemplateType' => ['description' => 'The type of the AI template. Valid values:'."\n"
+ ."\n"
+ .'* **AIMediaAudit**: automated review'."\n"
+ .'* **AIImage**: smart thumbnail'."\n", 'type' => 'string', 'example' => 'AIMediaAudit', 'title' => ''],
+ '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"}', 'title' => ''],
+ 'TemplateName' => ['description' => 'The name of the AI template.'."\n", 'type' => 'string', 'example' => 'DemoAITemplate', 'title' => ''],
+ 'Source' => ['description' => 'The source of the AI template. Valid values:'."\n"
+ ."\n"
+ .'* **System**'."\n"
+ .'* **Custom**'."\n", 'type' => 'string', 'example' => 'Custom', 'title' => ''],
+ 'TemplateId' => ['description' => 'The ID of the AI template.'."\n", 'type' => 'string', 'example' => '1706a0063dd733f6a823ef32e0a5****', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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' => ' ',
- ],
- 'GetMediaAuditResultTimeline' => [
- 'summary' => 'Queries the timelines of all snapshots that violate content regulations.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:44.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAITemplate'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'GetAIVideoTagResult' => [
+ 'summary' => 'Queries the results of smart tagging jobs.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17012,10 +12341,8 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39961',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39936',
+ 'abilityTreeNodes' => ['FEATUREvod7BX3NA'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -17023,223 +12350,173 @@
[
'name' => 'MediaId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the video.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '93ab850b4f6f*****54b6e91d24d81d4',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned data.'."\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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8829B4DB-AFD9-4FF6-12965DBFFA14****', 'title' => ''],
+ 'VideoTagResult' => [
+ 'description' => 'The returned result.'."\n",
'type' => 'object',
'properties' => [
- 'Porn' => [
- 'description' => 'The collection of pornographic content timelines.'."\n",
+ 'Category' => [
+ 'description' => 'The video categories.'."\n",
'type' => 'array',
'items' => [
+ 'description' => 'The category of the video.'."\n",
'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',
- ],
+ 'Tag' => ['description' => 'The tag string.'."\n", 'type' => 'string', 'example' => 'Beauty', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'Terrorism' => [
- 'description' => 'The collection of terrorist content timelines.'."\n",
+ 'Person' => [
+ 'description' => 'The figure tags.'."\n",
'type' => 'array',
'items' => [
+ 'description' => 'The figure tag of the video.'."\n",
'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',
+ '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', 'title' => ''],
+ 'Tag' => ['description' => 'The tag string.'."\n", 'type' => 'string', 'example' => 'Xiao Wang', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'Logo' => [
- 'description' => 'The collection of logo timelines.'."\n",
+ 'Time' => [
+ 'description' => 'The time tags.'."\n",
'type' => 'array',
'items' => [
+ 'description' => 'The time tag of the video.'."\n",
'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',
+ 'Tag' => ['description' => 'The tag string.'."\n", 'type' => 'string', 'example' => 'Millisecond', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'Live' => [
- 'description' => 'The collection of undesirable content timelines.'."\n",
+ 'Location' => [
+ 'description' => 'The location tags.'."\n",
'type' => 'array',
'items' => [
+ 'description' => 'The location tag of the video.'."\n",
'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',
+ 'Tag' => ['description' => 'The tag string.'."\n", 'type' => 'string', 'example' => 'Asia', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'Ad' => [
- 'description' => 'The collection of ad timelines.'."\n",
+ 'Keyword' => [
+ 'description' => 'The keyword tags.'."\n",
'type' => 'array',
'items' => [
+ 'description' => 'The keyword tag of the video.'."\n",
'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',
+ 'Tag' => ['description' => 'The tag string.'."\n", 'type' => 'string', 'example' => 'Cushion', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8829B4DB-AFD9-4FF6-12965DBFFA14****\\",\\n \\"VideoTagResult\\": {\\n \\"Category\\": [\\n {\\n \\"Tag\\": \\"Beauty\\"\\n }\\n ],\\n \\"Person\\": [\\n {\\n \\"FaceUrl\\": \\"http://example.com/aivideotag/8829B4DB-AFD9-4F*****F6-12965DBFFA14/Index_****.jpg\\",\\n \\"Tag\\": \\"Xiao Wang\\",\\n \\"Times\\": [\\n \\"[\\\\\\"10760\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"Time\\": [\\n {\\n \\"Tag\\": \\"Millisecond\\",\\n \\"Times\\": [\\n \\"[\\\\\\"3260\\\\\\",\\\\\\"4000\\\\\\",\\\\\\"5000\\\\\\",\\\\\\"8410\\\\\\",\\\\\\"12000\\\\\\",\\\\\\"13000\\\\\\",\\\\\\"14000\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"Location\\": [\\n {\\n \\"Tag\\": \\"Asia\\",\\n \\"Times\\": [\\n \\"[\\\\\\"8410\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"Keyword\\": [\\n {\\n \\"Tag\\": \\"Cushion\\",\\n \\"Times\\": [\\n \\"[\\\\\\"3260\\\\\\",\\\\\\"4000\\\\\\",\\\\\\"5000\\\\\\",\\\\\\"8410\\\\\\",\\\\\\"12000\\\\\\",\\\\\\"13000\\\\\\",\\\\\\"14000\\\\\\"]\\"\\n ]\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","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' => ' ',
- ],
- 'GetMediaAuditAudioResultDetail' => [
- 'summary' => 'Queries the details of audio review results.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:30:42.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAIVideoTagResult'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAIVideoTagResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'GetAppInfos' => [
+ 'summary' => 'Queries the information about one or more applications based on application IDs.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17248,132 +12525,115 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39958',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39937',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
'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',
+ 'name' => 'AppIds',
'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',
- ],
+ '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-****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'CB7D7232-1AB2-40FE-B8D3-****',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-4DC4-D7393642****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- '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',
- ],
- ],
- ],
- ],
+ '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', 'title' => ''],
+ 'Status' => ['description' => 'The status of the application. Valid values:'."\n"
+ ."\n"
+ .'* **Normal**'."\n"
+ .'* **Disable**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ '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', 'title' => ''],
+ 'AppName' => ['description' => 'The name of the application.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Description' => ['description' => 'The description of the application.'."\n", 'type' => 'string', 'example' => 'my first app.', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ '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', 'title' => ''],
+ 'ResourceGroupId' => ['type' => 'string', 'description' => 'The resource group ID.'."\n", 'example' => 'rg-aekzko7fsuj****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'Code' => ['description' => 'The HTTP status code that is returned.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'GetAppInfos',
+ 'description' => 'You can specify multiple accelerated domain names in a request.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateAudit' => [
- 'summary' => 'Performs manual review on media files, such as audio and video files.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:15.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-19T08:27:33.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-18T07:27:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-17T07:30:27.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAppInfos'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetAppInfos',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'GetAppPlayKey' => [
+ 'summary' => 'Retrieves the playback key for an application.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17382,546 +12642,606 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39808',
- 'abilityTreeNodes' => [
- 'FEATUREvodL077M7',
- ],
+ 'abilityTreeCode' => '39805',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'AuditContent',
+ 'name' => 'AppId',
'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"}]',
- ],
+ 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The application ID. The default value is **app-1000000**. For more information, see [Multi-application](~~113600~~).', 'title' => '', 'example' => 'app-1000000'],
],
],
'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',
+ 'RequestId' => ['type' => 'string', 'description' => 'The request ID.', 'title' => '', 'example' => '25818875-5F78-4A*****F6-D7393642CA58'],
+ 'AppPlayKey' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AppId' => ['type' => 'string', 'description' => 'The application ID.', 'title' => '', 'example' => 'app-1000000'],
+ 'PlayKey' => ['type' => 'string', 'description' => 'The playback key.'."\n"
+ ."\n"
+ .'- The key can contain only uppercase letters, lowercase letters, and digits. It must be 8 to 20 characters in length.'."\n"
+ ."\n"
+ .'- The key is encoded in UTF-8.', 'title' => '', 'example' => 'yzNgTUtAl6HAuosIA'],
+ 'CreationTime' => ['type' => 'string', 'description' => 'The time when the key was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', 'title' => '', 'example' => '2025-03-18T03:59:01Z'],
+ 'ModificationTime' => ['type' => 'string', 'description' => 'The time when the key was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', 'title' => '', 'example' => '2025-03-18T03:59:01Z'],
+ ],
+ 'description' => 'The information about the application playback key.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => 'The returned data.',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'GetAppPlayKey',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- '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',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAppPlayKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ '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' => '39940',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39939',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'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',
+ 'name' => 'MediaIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'AuthTimeout',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'SortBy',
+ 'name' => 'OutputType',
'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',
- ],
+ 'schema' => ['description' => 'The type of the media asset URL. Valid values:'."\n"
+ ."\n"
+ .'* **oss**'."\n"
+ .'* **cdn** (default)'."\n", 'type' => 'string', 'required' => false, 'example' => 'oss', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response parameters.'."\n",
'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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '221BCB57-B217-42BF-619BD13378F9****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'Histories' => [
- 'description' => 'The review records.'."\n",
+ 'AttachedMediaList' => [
+ 'description' => 'The information about the media assets.'."\n",
'type' => 'array',
'items' => [
+ 'description' => 'The details of the auxiliary media asset.'."\n",
'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',
+ 'Type' => ['description' => 'The type of the auxiliary media asset.'."\n"
+ ."\n"
+ .'* **watermark**'."\n"
+ .'* **subtitle**'."\n"
+ .'* **material**'."\n", 'type' => 'string', 'example' => 'subtitle', 'title' => ''],
+ 'StorageLocation' => ['description' => 'The storage address of the auxiliary media asset.'."\n", 'type' => 'string', 'example' => 'outin-bfefbb9*****c7426.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ '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', 'title' => ''],
+ 'Status' => ['description' => 'The status of the auxiliary media asset. Valid values:'."\n"
+ ."\n"
+ .'* **Uploading**'."\n"
+ .'* **Normal**'."\n"
+ .'* **UploadFail**'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the auxiliary media asset.'."\n", 'type' => 'string', 'example' => '0222e203cf80f9c22870a4d2c****', 'title' => ''],
+ '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', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-*****', 'title' => ''],
+ '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' => ''],
+ 'Title' => ['description' => 'The title of the auxiliary media asset.'."\n", 'type' => 'string', 'example' => 'Subtitle test', 'title' => ''],
+ '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', 'title' => ''],
+ 'CateName' => ['description' => 'The name of the category.'."\n", 'type' => 'string', 'example' => 'Test', 'title' => ''],
+ 'CateId' => ['description' => 'The ID of the category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1000224338', 'title' => ''],
+ 'Level' => ['description' => 'The level of the category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ '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\\": \\"Description test\\",\\n \\"AppId\\": \\"app-*****\\",\\n \\"URL\\": \\"https://al*****.cn/subtitle/9843C2*****4E186F19B6.vtt?auth_key=159099f60e0b7fd59****\\",\\n \\"Title\\": \\"Subtitle test\\",\\n \\"Categories\\": [\\n {\\n \\"ParentId\\": 1000224336,\\n \\"CateName\\": \\"Test\\",\\n \\"CateId\\": 1000224338,\\n \\"Level\\": 0\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
+ 'title' => 'GetAttachedMediaInfo',
+ 'description' => 'You can query information about up to 20 auxiliary media assets in a request.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- ],
- 'AddAITemplate' => [
- 'summary' => 'Adds an AI template for automated review and smart thumbnail tasks.',
- 'methods' => [
- 'post',
- 'get',
+ 'extraInfo' => 'The ID of the auxiliary media asset.',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:30:43.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAttachedMediaInfo'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAttachedMediaInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'GetAuditHistory' => [
+ 'summary' => 'Queries the manual review history.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39782',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39940',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TemplateName',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'required' => true, 'example' => '93ab850b4f6f44*****6e91d24d81d4', 'title' => ''],
],
[
- 'name' => 'TemplateType',
+ 'name' => 'PageNo',
'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',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'TemplateConfig',
+ 'name' => 'PageSize',
'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"}',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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-****',
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-43*****D7-6C044FE73368', 'title' => ''],
+ 'Total' => ['description' => 'The total number of review records.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Comment' => ['description' => 'The review comments, which are provided by the reviewer.', 'type' => 'string', 'example' => 'Contains nudity', 'title' => ''],
+ 'Reason' => ['description' => 'The reason why the video failed the review. If the video failed the review, specify the reason.', 'type' => 'string', 'example' => 'Pornographic video', 'title' => ''],
+ 'Auditor' => ['description' => 'The reviewer.', 'type' => 'string', 'example' => 'auditor', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ '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\\": \\"Contains nudity\\",\\n \\"Reason\\": \\"Pornographic video\\",\\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' => ' ',
- ],
- 'DeleteAITemplate' => [
- 'summary' => 'Deletes an AI template.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:30:50.000Z', 'description' => 'OpenAPI offline'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAuditHistory'],
],
],
- 'operationType' => 'readAndWrite',
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39823',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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-****',
- ],
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAuditHistory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40205',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39943',
+ 'abilityTreeNodes' => ['FEATUREvodUYOK6S'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TemplateId',
+ 'name' => 'CateId',
'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****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'TemplateName',
+ 'name' => 'PageNo',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TemplateConfig',
+ 'name' => 'PageSize',
'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"}',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'TemplateId' => [
- 'description' => 'The ID of the template.'."\n",
- 'type' => 'string',
- 'example' => '1706a0063dd733f6a823ef32e0a5****',
+ 'SubTotal' => ['description' => 'The total number of subcategories.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ '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', 'title' => ''],
+ 'ParentId' => ['description' => 'The ID of the parent category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100012****', 'title' => ''],
+ 'CateName' => ['description' => 'The name of the category.'."\n", 'type' => 'string', 'example' => 'Movie', 'title' => ''],
+ 'CateId' => ['description' => 'The ID of the category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A13-BEF6-****',
+ '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', 'title' => ''],
+ 'CateName' => ['description' => 'The name of the category.'."\n", 'type' => 'string', 'example' => '电影', 'title' => ''],
+ 'ParentId' => ['description' => 'The ID of the parent category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10020****', 'title' => ''],
+ 'CateId' => ['description' => 'The ID of the category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
+ 'SubTotal' => ['description' => 'The total number of subcategories.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => 'The list of subcategories.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ '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\\": \\"Movie\\",\\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":"","errorExample":""}]',
+ 'title' => 'GetCategories',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- ],
- 'SetDefaultAITemplate' => [
- 'summary' => 'Specifies an AI template as the default template.',
- 'methods' => [
- 'post',
- 'get',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:30:42.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCategories'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetCategories',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'GetDailyPlayRegionStatis' => [
+ 'summary' => 'This operation retrieves the traffic data for all media assets in a specified region on a specific date. The data is generated from CDN Traffic Logs and represents the traffic consumed by videos. The resulting CSV file contains information such as the date, video ID, domain name, traffic, application ID, and category ID. You can download this file for use in scenarios such as data analytics.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '40130',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '267530',
+ 'abilityTreeNodes' => ['FEATUREvodKNCWCD'],
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'TemplateId',
+ 'name' => 'Date',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the AI template.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '1706a0063dd733f6a823ef32e0a5****',
- ],
+ 'schema' => ['description' => 'The playback date. The date is in the yyyy-MM-dd format.'."\n"
+ ."\n"
+ .'> - You can query data only by day.'."\n"
+ .'> - You can query data that is generated in the last year.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2025-03-20'],
+ ],
+ [
+ 'name' => 'MediaRegion',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the media asset is stored. You can specify this parameter to query the playback data of all audio and video files 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)', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-beijing'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'TemplateId' => [
- 'description' => 'The ID of the AI template.'."\n",
- 'type' => 'string',
- 'example' => '1706a0063dd733f6a823ef32e0a5****',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '67720502-CDDB-3F1C-8A91-12258*******'],
+ 'DailyPlayRegionStatisList' => [
+ 'description' => 'The information about the returned CSV file.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Date' => ['description' => 'The playback date. The date is in the yyyy-MM-dd format.', 'type' => 'string', 'title' => '', 'example' => '2025-03-20'],
+ 'FileUrl' => ['description' => 'The download URL of the CSV file.', 'type' => 'string', 'title' => '', 'example' => 'https://outin-e70266d4ed*******0163e1403e7.oss-cn-shanghai.aliyuncs.com/dataexport/play/cn_hangzhou_20250320_video_traffic.csv?*******'],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8E70E3F8-E2EE-47BC-4677-379D6F28****',
+ 'FailDates' => [
+ 'description' => 'If the data exporting of playback data fails on a specific day, the date is returned.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The date on which the data exporting failed.', 'type' => 'string', 'title' => '', 'example' => '[]'],
+ 'title' => '',
+ ],
+ 'EmptyDates' => [
+ 'description' => 'If no playback data is available on a specific day, the date is returned.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The date on which no data is available.', 'type' => 'string', 'title' => '', 'example' => '[]'],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => 'GetDailyPlayRegionStatis',
+ 'description' => '- The endpoint of this operation is available only in the **China (Shanghai)** region.'."\n"
+ .'- You can query data generated within the last 90 days. The earliest available data is from April 29, 2025.'."\n"
+ .'- The traffic data provided by this operation is raw data. To align the data with the billable traffic, multiply the data by a TCP coefficient of 1.1.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDailyPlayRegionStatis'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetDailyPlayRegionStatis',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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' => ' ',
+ '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"}]',
],
- 'GetAITemplate' => [
- 'summary' => 'Queries AI templates.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetDefaultAITemplate' => [
+ 'summary' => 'Queries the default AI template.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17932,27 +13252,16 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39935',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39949',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TemplateId',
+ 'name' => 'TemplateType',
'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****',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -17961,774 +13270,962 @@
'description' => 'The returned result.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '080DA371-8AC0-4CD4-4476-33E64282****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A017F1DE-3DC3-4441-6755-37E81113****', 'title' => ''],
'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',
- ],
+ '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', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the template is the default AI template. Valid values:'."\n"
+ ."\n"
+ .'* **Default**'."\n"
+ .'* **NotDefault**'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''],
+ 'TemplateType' => ['description' => 'The type of the AI template. The value is **AIMediaAudit**, which indicates automated review.'."\n", 'type' => 'string', 'example' => 'AIMediaAudit', 'title' => ''],
+ '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"}', 'title' => ''],
+ 'TemplateName' => ['description' => 'The name of the AI template.'."\n", 'type' => 'string', 'example' => 'DemoAITemplate', 'title' => ''],
+ 'Source' => ['description' => 'The source of the AI template. Valid values:'."\n"
+ ."\n"
+ .'* **System**'."\n"
+ .'* **Custom**'."\n", 'type' => 'string', 'example' => 'Custom', 'title' => ''],
+ 'TemplateId' => ['description' => 'The ID of the AI template.'."\n", 'type' => 'string', 'example' => '1706a0063dd733f6a823ef32e0a5****', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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',
+ '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"
- .'* Before you call this operation to query details of an AI template, you must obtain the ID of the AI template.'."\n",
+ .'* You can query information only about the default AI template for automated review.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- ],
- 'ListAITemplate' => [
- 'summary' => 'Queries AI templates.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:30:29.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetDefaultAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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',
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '40026',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'TemplateType',
+ 'name' => 'MediaId',
'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',
- ],
+ '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response parameters.'."\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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '42E0554B-80F4-4921-****-ACFB22CAAAD0', 'title' => ''],
+ 'AiExtractResultList' => [
+ 'description' => 'The details of the watermark extraction job.'."\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',
- ],
+ 'JobId' => ['description' => 'The ID of the watermark extraction job.'."\n", 'type' => 'string', 'example' => '3af004763bcf459698860f4ede20****', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the watermark extraction job was created.'."\n", 'type' => 'string', 'example' => '2023-09-16T02:49:04Z', 'title' => ''],
+ 'ModifyTime' => ['description' => 'The time when the watermark extraction job was last updated.'."\n", 'type' => 'string', 'example' => '2023-09-17T06:20:45Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the watermark extraction job. Valid values:'."\n"
+ ."\n"
+ .'* **Success**'."\n"
+ .'* **Failed**'."\n"
+ .'* **Processing**'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'ErrorMessage' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => 'successful', 'title' => ''],
+ 'WaterMarkText' => ['description' => 'The extracted watermark content.'."\n", 'type' => 'string', 'example' => 'test mark', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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',
+ '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\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"successful\\",\\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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:30:34.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetDigitalWatermarkExtractResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDigitalWatermarkExtractResult'],
+ ],
],
+ ],
+ 'GetEditingProject' => [
+ 'summary' => 'Queries an online editing project.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39949',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39953',
+ 'abilityTreeNodes' => ['FEATUREvod89J0DP'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'TemplateType',
+ 'name' => 'ProjectId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the online editing project.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fb2101bf24b27*****54cb318787dc', 'title' => ''],
],
],
'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",
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '63E8B7C7-4812-46*****AD-0FA56029AC86', 'title' => ''],
+ 'Project' => [
+ 'description' => 'The information about the online editing project.',
'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',
- ],
+ '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', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **Producing**: indicates that the video is being produced.'."\n"
+ ."\n"
+ .'- **Produced**: indicates that the video was produced.'."\n"
+ ."\n"
+ .'- **ProduceFailed**: indicates that the video failed to be produced.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2017-10-23T13:33:40Z', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2017-10-23T14:27:26Z', 'title' => ''],
+ 'Description' => ['description' => 'The description of the online editing project.', 'type' => 'string', 'example' => 'testdescription', 'title' => ''],
+ 'CoverURL' => ['description' => 'The thumbnail URL of the online editing project.', 'type' => 'string', 'example' => 'https://****.com/6AB4D0E1E1C74468883516C2349****.png', 'title' => ''],
+ 'ProjectId' => ['description' => 'The ID of the online editing project.', 'type' => 'string', 'example' => 'fb2101bf24b27*****54cb318787dc', 'title' => ''],
+ 'Timeline' => ['description' => 'The timeline of the online editing project.', 'type' => 'string', 'example' => '{\\"TimelineIn\\":0,\\"TimelineOut\\":9.42}', 'title' => ''],
+ 'Title' => ['description' => 'The title of the online editing project.', 'type' => 'string', 'example' => 'Video_1508736815000', 'title' => ''],
+ 'RegionId' => ['description' => 'The region where the online editing project was created.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"Video_1508736815000\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'GetEditingProject',
'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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:44.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEditingProject'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'manual',
+ ],
+ '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' => '40022',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39954',
+ 'abilityTreeNodes' => ['FEATUREvod89J0DP'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'JobIds',
+ 'name' => 'ProjectId',
'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****',
- ],
+ '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.',
'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' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '746FFA07-8BBB-46B1-3E94E3B2915E****', 'title' => ''],
+ 'MaterialList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'AIJob' => [
- 'description' => 'The list of jobs.'."\n",
+ 'Material' => [
+ 'description' => 'The materials.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of the materials.',
'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',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID of the material.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100005****', 'title' => ''],
+ 'MaterialType' => ['description' => 'The type of the material. Valid values:'."\n"
+ ."\n"
+ .'* **video**'."\n"
+ .'* **audio**'."\n"
+ .'* **image**'."\n", 'type' => 'string', 'example' => 'video', 'title' => ''],
+ 'Tags' => ['description' => 'The tag of the material. Multiple tags are separated by commas (,).'."\n", 'type' => 'string', 'example' => 'Editing test', 'title' => ''],
+ 'SpriteConfig' => ['description' => 'The configuration of the sprite.'."\n", 'type' => 'string', 'example' => 'xxx', 'title' => ''],
+ 'Source' => ['description' => 'The source of the sprite.'."\n", 'type' => 'string', 'example' => 'xxx', 'title' => ''],
+ 'CateName' => ['description' => 'The category name of the material.'."\n", 'type' => 'string', 'example' => 'Test', 'title' => ''],
+ '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', 'title' => ''],
+ 'Description' => ['description' => 'The description of the material.'."\n", 'type' => 'string', 'example' => 'Test', 'title' => ''],
+ 'MaterialId' => ['description' => 'The ID of the material.'."\n", 'type' => 'string', 'example' => '85befc4118b84c6723e53b80b1****', 'title' => ''],
+ 'Size' => ['description' => 'The size of the mezzanine file. Unit: byte.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1682694', 'title' => ''],
+ 'CoverURL' => ['description' => 'The thumbnail URL of the material.'."\n", 'type' => 'string', 'example' => 'http://example.aliyundoc.com/aivideocover/46fa444aa34065cb9250f6c****/image_01.jpg', 'title' => ''],
+ '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' => ''],
+ 'Title' => ['description' => 'The title of the material.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ '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' => '"http://example.aliyundoc.com/material_big_snapshot/0f325c157386f2a7e91b2ff0****.jpg?auth_key="', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'MediaId' => [
- 'description' => 'The ID of the video file.'."\n",
- 'type' => 'string',
- 'example' => '3D3D12340d9401fab46a0b847****',
+ '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="', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ '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\\": \\"Editing test\\",\\n \\"SpriteConfig\\": \\"xxx\\",\\n \\"Source\\": \\"xxx\\",\\n \\"CateName\\": \\"Test\\",\\n \\"ModifiedTime\\": \\"2017-10-19 10:48:17\\",\\n \\"Description\\": \\"Test\\",\\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' => ' ',
- ],
- 'SubmitAIJob' => [
- 'summary' => 'Submits a smart tagging or video fingerprinting job.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:05.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEditingProjectMaterials'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40167',
- 'abilityTreeNodes' => [
- 'FEATUREvodW76Z9M',
- ],
+ 'abilityTreeCode' => '39955',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaId',
+ 'name' => 'ImageId',
'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****',
- ],
+ '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"
+ ."\n"
+ .'- Obtain the image ID from the response to the [CreateUploadImage](~~CreateUploadImage~~) operation that you call to obtain the upload URL and credential.'."\n"
+ ."\n"
+ .'- Obtain the image ID from the response to the [SearchMedia](~~SearchMedia~~) operation that you call to query the image.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '3e34733b40b9a96ccf5c1ff6f69****', 'title' => ''],
],
[
- 'name' => 'Types',
+ 'name' => 'AuthTimeout',
'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',
- ],
+ '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"
+ ."\n"
+ .' - Minimum value: 1.'."\n"
+ ."\n"
+ .' - Maximum value: unlimited.'."\n"
+ ."\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"
+ ."\n"
+ .' - Minimum value: 1.'."\n"
+ ."\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"
+ ."\n"
+ .' - Default value: 3600.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3600', 'title' => ''],
],
[
- 'name' => 'Config',
+ 'name' => 'OutputType',
'in' => 'query',
+ 'schema' => ['description' => 'The type of the output image URL. Valid values:'."\n"
+ ."\n"
+ .'- oss: OSS URL'."\n"
+ ."\n"
+ .'- cdn: CDN URL', 'type' => 'string', 'required' => false, 'example' => 'cdn', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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"} }',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AB99D4DF-FAFA-49DC-9C548C1E261E****', 'title' => ''],
+ 'ImageInfo' => [
+ 'description' => 'The information about the image.',
+ '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.', 'type' => 'string', 'example' => '2018-11-21T02:37:23Z', 'title' => ''],
+ 'StorageLocation' => ['description' => 'The bucket in which the image is stored.', 'type' => 'string', 'example' => 'outin-****..oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'Status' => ['description' => 'The status of the image. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The image is being uploaded. This is the initial status.'."\n"
+ ."\n"
+ .'- **Normal**: The image is uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The image fails to be uploaded.', 'type' => 'string', 'example' => 'Uploading', 'title' => ''],
+ 'CateId' => ['description' => 'The ID of the category.', 'type' => 'integer', 'format' => 'int64', 'example' => '254766071', 'title' => ''],
+ 'Tags' => ['description' => 'The tags of the image. Multiple tags are separated by commas (,).', 'type' => 'string', 'example' => 'tag1,tag2,tag3', 'title' => ''],
+ 'ImageType' => ['description' => 'The type of the image. Valid values:'."\n"
+ ."\n"
+ .'- **CoverSnapshot**: thumbnail snapshot.'."\n"
+ ."\n"
+ .'- **NormalSnapshot**: normal snapshot.'."\n"
+ ."\n"
+ .'- **SpriteSnapshot**: sprite snapshot.'."\n"
+ ."\n"
+ .'- **SpriteOriginSnapshot**: sprite source snapshot.'."\n"
+ ."\n"
+ .'- **All**: images of all the preceding types. Multiple types other than All can return for this parameter. Multiple types are separated by commas (,).', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'CateName' => ['description' => 'The name of the category.', 'type' => 'string', 'example' => 'Test', 'title' => ''],
+ 'Description' => ['description' => 'The description of the image.', 'type' => 'string', 'example' => 'Test description', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'URL' => ['description' => 'The image URL. If a domain name for CDN is specified, a CDN URL is returned. Otherwise, an OSS URL is returned.', 'type' => 'string', 'example' => 'http://example.aliyundoc.com/image/default/****.gif?auth_key=****', 'title' => ''],
+ 'Title' => ['description' => 'The title of the image.', 'type' => 'string', 'example' => 'this is a sample', 'title' => ''],
+ 'ImageId' => ['description' => 'The ID of the image.', 'type' => 'string', 'example' => 'bbc65bba53f9*****ed90de118a7849', 'title' => ''],
+ 'Mezzanine' => [
+ 'description' => 'The source information about the image.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FileURL' => ['description' => 'The OSS URL of the image file.', 'type' => 'string', 'example' => 'https://outin-bfefbb*****163e1c7426.oss-cn-XXXXXXXX.aliyuncs.com/image/default/5E84CD536*****D4DAD.png?Expires=1590982353&OSSAccessKeyId=*****&Signature=ALPET74o*****c%3D', 'title' => ''],
+ 'OriginalFileName' => ['description' => 'The URL of the source file.', 'type' => 'string', 'example' => '****.gif', 'title' => ''],
+ 'Width' => ['description' => 'The width of the image. Unit: pixels.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Height' => ['description' => 'The height of the image. Unit: pixels.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'FileSize' => ['description' => 'The size of the image. Unit: bytes.', 'type' => 'string', 'example' => '8932', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"Test\\",\\n \\"Description\\": \\"Test 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}","type":"json"}]',
+ 'title' => 'GetImageInfo',
+ 'description' => ' ',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:30:50.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetImageInfo'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetImageInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'translator' => 'manual',
+ ],
+ 'GetImageInfos' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'UserData',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list'],
+ 'parameters' => [
+ [
+ 'name' => 'ImageIds',
'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"}}',
- ],
+ '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58*****', 'title' => ''],
+ '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', 'title' => ''],
+ 'StorageLocation' => ['description' => 'The bucket in which the image is stored.'."\n", 'type' => 'string', 'example' => 'outin-****..oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ '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', 'title' => ''],
+ 'CateId' => ['description' => 'The ID of the category.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '254766071', 'title' => ''],
+ 'Tags' => ['description' => 'The tags of the image. Multiple tags are separated by commas (,).'."\n", 'type' => 'string', 'example' => 'tag1,tag2,tag3', 'title' => ''],
+ 'ImageType' => ['description' => 'The type of the image. Valid values:'."\n"
+ ."\n"
+ .'* **default**: regular images'."\n"
+ .'* **cover**: video thumbnail'."\n", 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'CateName' => ['description' => 'The name of the category.'."\n", 'type' => 'string', 'example' => '测试', 'title' => ''],
+ 'Description' => ['description' => 'The description of the image.'."\n", 'type' => 'string', 'example' => '测试描述', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ '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' => ''],
+ 'Title' => ['description' => 'The title of the image.'."\n", 'type' => 'string', 'example' => 'this is a sample', 'title' => ''],
+ 'ImageId' => ['description' => 'The ID of the image.'."\n", 'type' => 'string', 'example' => 'bbc65bba53f9*****ed90de118a7849', 'title' => ''],
+ 'Mezzanine' => [
+ 'description' => 'The source information about the image.'."\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****',
- ],
+ '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', 'title' => ''],
+ 'OriginalFileName' => ['description' => 'The URL of the source file.'."\n", 'type' => 'string', 'example' => '****.gif', 'title' => ''],
+ 'Width' => ['description' => 'The width of the image. Unit: pixels.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'Height' => ['description' => 'The height of the image. Unit: pixels.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'FileSize' => ['description' => 'The size of the file to be uploaded. Unit: bytes.'."\n", 'type' => 'string', 'example' => '8932', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => 'GetImageInfos',
+ 'summary' => 'Queries the basic information about multiple images at a time.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:39:33.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T08:30:44.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetImageInfos'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetImageInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'GetJobDetail' => [
+ 'summary' => 'Call this API to retrieve the details of an asynchronous task by its `jobId`.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39962',
- 'abilityTreeNodes' => [
- 'FEATUREvod5413CB',
- ],
- 'autoTest' => true,
+ 'abilityTreeCode' => '248075',
+ 'abilityTreeNodes' => ['FEATUREvodAFH3DF', 'FEATUREvodW76Z9M', 'FEATUREvod7BX3NA', 'FEATUREvodFAR72I', 'FEATUREvodIPBMLH', 'FEATUREvod5413CB'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaId',
+ 'name' => 'JobId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the video.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '88c6ca184c0e*****a5b665e2a126797',
- ],
+ 'schema' => ['description' => 'The job ID. To query a transcode task by its task ID, see [GetTranscodeTask](https://help.aliyun.com/zh/vod/developer-reference/api-vod-2017-03-21-gettranscodetask).', 'type' => 'string', 'required' => true, 'example' => '5c9dff***************59d50a967f5', 'title' => ''],
+ ],
+ [
+ 'name' => 'JobType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The job type. Valid values are:'."\n"
+ ."\n"
+ .'- transcode'."\n"
+ ."\n"
+ .'- snapshot'."\n"
+ ."\n"
+ .'- ai'."\n"
+ ."\n"
+ .'- workflow', 'type' => 'string', 'required' => true, 'example' => 'transcode', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response schema.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '63FC4896-E956-4B*****7D-134FF1BC597A',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '6708D849-F109-1A6C-AC91-************'],
+ 'JobType' => ['description' => 'The job type.', 'type' => 'string', 'example' => 'transcode', 'title' => ''],
+ 'TranscodeJobDetail' => [
+ 'description' => 'Details of the transcode job. This parameter is returned only if `JobType` is `transcode`.',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => '2dc1634e**********3f1d22d1a0174e', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user who initiated the job.', 'type' => 'integer', 'format' => 'int64', 'example' => '139109*****84930', 'title' => ''],
+ 'VideoId' => ['description' => 'The media asset ID.', 'type' => 'string', 'example' => '30e5d7**********bd900764de7c0102', 'title' => ''],
+ 'Status' => ['description' => 'The job status. Valid values:'."\n"
+ ."\n"
+ .'- `Submitted`: The job has been submitted.'."\n"
+ ."\n"
+ .'- `Transcoding`: The job is in progress.'."\n"
+ ."\n"
+ .'- `TranscodeSuccess`: The job completed successfully.'."\n"
+ ."\n"
+ .'- `TranscodeFail`: The job failed.'."\n"
+ ."\n"
+ .'- `TranscodeCancelled`: The job has been canceled.', 'type' => 'string', 'example' => 'TranscodeSuccess', 'title' => ''],
+ 'TemplateId' => ['description' => 'The template ID.', 'type' => 'string', 'example' => 'dbfaaec9e**********bf0b81219244c', 'title' => ''],
+ 'Definition' => ['description' => 'The definition.', 'type' => 'string', 'example' => 'HD', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the job was created, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2024-10-14T07:39:25Z', 'title' => ''],
+ 'CompleteTime' => ['description' => 'The time when the job was completed, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2024-10-14T07:39:34Z', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'DNAResult' => [
- 'description' => 'The media fingerprinting results.'."\n",
+ 'SnapshotJobDetail' => [
+ 'description' => 'Details of the snapshot job. This parameter is returned only if `JobType` is `snapshot`.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => '63df12s0**********4hdq249t82kr91', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user who initiated the job.', 'type' => 'integer', 'format' => 'int64', 'example' => '139109*****84930', 'title' => ''],
+ 'VideoId' => ['description' => 'The media asset ID.', 'type' => 'string', 'example' => '30e5d7**********bd900764de7c0102', 'title' => ''],
+ 'Status' => ['description' => 'The job status. Valid values:'."\n"
+ ."\n"
+ .'- `Processing`: The job is in progress.'."\n"
+ ."\n"
+ .'- `Fail`: The job failed.'."\n"
+ ."\n"
+ .'- `Success`: The job completed successfully.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'Trigger' => ['description' => 'The trigger. Valid values:'."\n"
+ ."\n"
+ .'- `Auto`: The job was automatically triggered by a workflow.'."\n"
+ ."\n"
+ .'- `Manual`: The job was submitted manually.', 'type' => 'string', 'example' => 'Auto', 'title' => ''],
+ 'NormalConfig' => ['description' => 'The configuration for regular snapshots.', 'type' => 'string', 'example' => '{"inl":0,"num":32,"tm":5,"wd":"352","ft":"normal","hg":"640"}', 'title' => ''],
+ 'SpriteConfig' => ['description' => 'The configuration for sprites.', 'type' => 'string', 'example' => '{"pad":"0","lines":"10","mgin":"0","cols":"10","ikcp":"false","hg":"68"}', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the job was created, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2024-10-14T07:39:25Z', 'title' => ''],
+ 'CompleteTime' => ['description' => 'The time when the job was completed, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2024-10-14T07:39:45Z', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AIJobDetail' => [
+ 'description' => 'Details of the AI job. This parameter is returned only if `JobType` is `ai`.',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => '5c9dff751ba**********59d50a967f5', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user who initiated the job.', 'type' => 'integer', 'format' => 'int64', 'example' => '139109*****84930'."\n", 'title' => ''],
+ 'MediaId' => ['description' => 'The media asset ID.', 'type' => 'string', 'example' => '30e5d7**********bd900764de7c0102', 'title' => ''],
+ 'JobType' => ['description' => 'The type of the AI job.', 'type' => 'string', 'example' => 'AIVideoCensor', 'title' => ''],
+ 'Status' => ['description' => 'The job status. Valid values:'."\n"
+ ."\n"
+ .'- `reserved`: The job has been submitted.'."\n"
+ ."\n"
+ .'- `init`: The job has started.'."\n"
+ ."\n"
+ .'- `success`: The job completed successfully.'."\n"
+ ."\n"
+ .'- `fail`: The job failed.'."\n"
+ ."\n"
+ .'- `processing`: The job is in progress.'."\n"
+ ."\n"
+ .'- `analyzing`: The job is being analyzed.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'Trigger' => ['description' => 'The trigger. Valid values:'."\n"
+ ."\n"
+ .'- `Auto`: The job was automatically triggered by a workflow.'."\n"
+ ."\n"
+ .'- `Manual`: The job was submitted manually.', 'type' => 'string', 'example' => 'Auto', 'title' => ''],
+ 'TemplateConfig' => ['description' => 'The template configuration.', 'type' => 'string', 'example' => '{"AuditRange":["video","image-cover","text-title"],"AuditContent":["screen"],"AuditItem":["terrorism","porn"],"AuditAutoBlock":"no"}', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the job was created, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2024-10-14T07:39:25Z', 'title' => ''],
+ 'CompleteTime' => ['description' => 'The time when the job was completed, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2024-10-14T07:39:46Z'."\n", 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'WorkflowTaskDetail' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '46ecc024******92c8e26237e51', 'title' => ''],
+ 'Status' => ['description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'- `Init`: The task has started.'."\n"
+ ."\n"
+ .'- `Processing`: The task is in progress.'."\n"
+ ."\n"
+ .'- `Succeed`: The task succeeded.'."\n"
+ ."\n"
+ .'- `Failed`: The task failed.'."\n"
+ ."\n"
+ .'- `Canceled`: The task was canceled.'."\n"
+ ."\n"
+ .'- `Skip`: The task was skipped.', 'type' => 'string', 'example' => 'Succeed', 'title' => ''],
+ 'TaskInput' => ['description' => 'The media asset information.', 'type' => 'string', 'example' => '{\\"Type\\":\\"Media\\",\\"Media\\":\\"00f985a50ae371f0ad1c4106e0ea0102\\",\\"Title\\":\\"2.mp4\\",\\"StorageLocation\\":\\"yiming-pre.oss-cn-shanghai.aliyuncs.com\\"}', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the task was created, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2025-03-27T08:15:46Z', 'title' => ''],
+ 'FinishTime' => ['description' => 'The time when the task finished, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2025-03-27T08:20:19Z', 'title' => ''],
+ 'ActivityResults' => ['description' => 'The processing results of each node in the workflow, in JSON format.', 'type' => 'string', 'example' => '{\\"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\\"}}', 'title' => ''],
+ 'UserData' => ['description' => 'The user data. This is a JSON string that supports settings such as message callbacks and upload acceleration.', 'type' => 'string', 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', 'title' => ''],
+ 'Workflow' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'WorkflowId' => ['description' => 'The workflow ID.', 'type' => 'string', 'example' => 'vw_09d6*****b5c5b19a0c891e02', 'title' => ''],
+ 'Name' => ['description' => 'The name of the workflow.', 'type' => 'string', 'example' => 'All_Activity_New_1_app-1000000', 'title' => ''],
+ 'Status' => ['description' => 'The workflow status. Valid values:'."\n"
+ ."\n"
+ .'- `Active`: The workflow is active.'."\n"
+ ."\n"
+ .'- `Inactive`: The workflow is inactive.'."\n"
+ ."\n"
+ .'- `Deleted`: The workflow has been deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'Type' => ['description' => 'The workflow type. By default, this parameter is not populated.', 'type' => 'string', 'title' => '', 'example' => ''],
+ 'CreateTime' => ['description' => 'The time when the workflow was created, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2025-03-26T05:50:14Z', 'title' => ''],
+ 'ModifiedTime' => ['description' => 'The time when the workflow was last modified, in UTC and formatted as `YYYY-MM-DDTHH:MM:SSZ`.', 'type' => 'string', 'example' => '2025-03-26T07:51:55Z', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-1000000', 'title' => ''],
],
+ 'description' => 'Details of the workflow.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => 'Details of the workflow task. This parameter is returned only if `JobType` is `workflow`.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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' => '**Usage notes**'."\n"
+ ."\n"
+ .'This API retrieves data about asynchronous tasks created within the last 6 months. Supported task types include transcoding tasks, screenshot tasks, AI tasks, and workflow tasks.'."\n"
+ ."\n"
+ .'**QPS limit**'."\n"
+ ."\n"
+ .'The single user QPS limit for this API is 15 calls per second. Exceeding this limit throttles subsequent API calls, which may impact your business. Please call the API at a reasonable rate. For more information, see [QPS limit](~~342790~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:32:38.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobDetail'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetJobDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'GetMediaAuditAudioResultDetail' => [
+ 'summary' => 'You can call this operation to retrieve the details of an audio audit.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40187',
- 'abilityTreeNodes' => [
- 'FEATUREvod5413CB',
- ],
+ 'abilityTreeCode' => '39958',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -18736,54 +14233,111 @@
[
'name' => 'MediaId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the video.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => '656eaaa8c43a4597******1f09a36',
- ],
+ 'schema' => ['description' => 'The audio ID. You can query the audio ID in the video-on-demand console or obtain the audio ID from the response to a call of the [SearchMedia](~~86044~~) operation.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '93ab850b4f6f*****54b6e91d24d81d4'],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. This parameter is optional. If you leave this parameter empty, all results are returned without paging.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '1'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The data returned.',
'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',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'CB7D7232-1AB2-40FE-B8D3-****'],
+ 'MediaAuditAudioResultDetail' => [
+ 'description' => 'The audit result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'],
+ 'PageTotal' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'],
+ 'List' => [
+ 'description' => 'The list of results.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EndTime' => ['description' => 'The end time of the problematic audio segment. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '10'],
+ 'StartTime' => ['description' => 'The start time of the problematic audio segment. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '8'],
+ 'Text' => ['description' => 'The text content that corresponds to the audio.', 'type' => 'string', 'title' => '', 'example' => 'Tiananmen'],
+ 'Label' => ['description' => 'The category of the audio audit result. Valid values:'."\n"
+ ."\n"
+ .'- **normal**: Normal.'."\n"
+ .'- **spam**: spam.'."\n"
+ .'- **ad**: ad.'."\n"
+ .'- **politics**: political content.'."\n"
+ .'- **terrorism**: terrorism.'."\n"
+ .'- **abuse**: abuse.'."\n"
+ .'- **porn**: pornographic content.'."\n"
+ .'- **flood**: meaningless content.'."\n"
+ .'- **contraband**: contraband.'."\n"
+ .'- **meaningless**: meaningless.', 'type' => 'string', 'title' => '', 'example' => 'abuse'],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"Tiananmen\\",\\n \\"Label\\": \\"abuse\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'GetMediaAuditAudioResultDetail',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'After the automated review is complete, if you have configured event notifications for [Automated review complete](~~89576~~), a message callback is sent to the specified URL. You can then call this operation to query the details of the audio audit result.'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n"
+ .'<props="intl">'."\n"
+ ."\n"
+ .'- This operation is supported only in the Singapore region.'."\n"
+ .'- After the automated review is complete, if you have configured event notifications for [Automated review complete](~~89576~~), a message callback is sent to the specified URL. You can then call this operation to query the details of the audio audit result.'."\n"
+ ."\n"
+ .'</props>',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:31:41.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditAudioResultDetail'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditAudioResultDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
+ ],
+ 'GetMediaAuditResult' => [
+ 'summary' => 'Queries the summary of automated review results.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -18795,10 +14349,8 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39936',
- 'abilityTreeNodes' => [
- 'FEATUREvod7BX3NA',
- ],
+ 'abilityTreeCode' => '39959',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -18806,295 +14358,836 @@
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the video or image.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93ab850b4f6f*****54b6e91d24d81d4', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '8829B4DB-AFD9-4FF6-12965DBFFA14****',
- ],
- 'VideoTagResult' => [
- 'description' => 'The returned result.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CB7D7232-1AB2-40FE-B8D5-****', 'title' => ''],
+ 'MediaAuditResult' => [
+ 'description' => 'The review results.',
'type' => 'object',
'properties' => [
- 'Category' => [
- 'description' => 'The video categories.'."\n",
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'AbnormalModules' => ['description' => 'The content that violates the regulations. Separate multiple values with commas (,). Valid values:'."\n"
+ ."\n"
+ .'- **video**'."\n"
+ ."\n"
+ .'- **image-cover**'."\n"
+ ."\n"
+ .'- **text-title**', 'type' => 'string', 'example' => 'video', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Separate multiple values with commas (,). Valid values:'."\n"
+ ."\n"
+ .'- **porn**'."\n"
+ ."\n"
+ .'- **terrorism**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ 'AudioResult' => [
+ 'description' => 'The results of audio review.',
'type' => 'array',
'items' => [
- 'description' => 'The category of the video.'."\n",
'type' => 'object',
'properties' => [
- 'Tag' => [
- 'description' => 'The tag string.'."\n",
- 'type' => 'string',
- 'example' => 'Retouching'."\n",
- ],
+ 'Score' => ['description' => 'The score.', 'type' => 'string', 'example' => '99.91', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result.'."\n"
+ ."\n"
+ .'- **normal**'."\n"
+ ."\n"
+ .'- **spam**'."\n"
+ ."\n"
+ .'- **ad**'."\n"
+ ."\n"
+ .'- **politics**'."\n"
+ ."\n"
+ .'- **terrorism**'."\n"
+ ."\n"
+ .'- **abuse**'."\n"
+ ."\n"
+ .'- **porn**'."\n"
+ ."\n"
+ .'- **flood**'."\n"
+ ."\n"
+ .'- **contraband**'."\n"
+ ."\n"
+ .'- **meaningless**', 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ 'Scene' => ['description' => 'The review scenario. The value is **antispam**.', 'type' => 'string', 'example' => 'antispam', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'Person' => [
- 'description' => 'The figure tags.'."\n",
+ 'ImageResult' => [
+ 'description' => 'The results of image review.',
'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' => ['description' => 'The type of the image. The value is **cover**.', 'type' => 'string', 'example' => 'cover', 'title' => ''],
+ 'Url' => ['description' => 'The URL of the image.', 'type' => 'string', 'example' => 'http://www.test.com/****.jpg', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Separate multiple values with commas (,). Valid values:'."\n"
+ ."\n"
+ .'- **porn**'."\n"
+ ."\n"
+ .'- **terrorism**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ 'Result' => [
+ 'description' => 'Details of image review results.',
'type' => 'array',
'items' => [
- 'description' => 'The point in time when the figure tag is displayed. Unit: milliseconds.'."\n",
- 'type' => 'string',
- 'example' => '["10760"]',
+ 'type' => 'object',
+ 'properties' => [
+ 'Score' => ['description' => 'The score of the image of the category that is indicated by Label.', 'type' => 'string', 'example' => '100.00000', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result.'."\n"
+ ."\n"
+ .'Valid values if scene is **porn**:'."\n"
+ ."\n"
+ .'- **porn**'."\n"
+ ."\n"
+ .'- **sexy**'."\n"
+ ."\n"
+ .'- **normal**'."\n"
+ ."\n"
+ .'Valid values if scene is **terrorism**:'."\n"
+ ."\n"
+ .'- **normal**'."\n"
+ ."\n"
+ .'- **bloody**'."\n"
+ ."\n"
+ .'- **explosion**'."\n"
+ ."\n"
+ .'- **outfit**'."\n"
+ ."\n"
+ .'- **logo**'."\n"
+ ."\n"
+ .'- **weapon**'."\n"
+ ."\n"
+ .'- **politics**'."\n"
+ ."\n"
+ .'- **violence**'."\n"
+ ."\n"
+ .'- **crowd**'."\n"
+ ."\n"
+ .'- **parade**'."\n"
+ ."\n"
+ .'- **carcrash**'."\n"
+ ."\n"
+ .'- **flag**'."\n"
+ ."\n"
+ .'- **location**'."\n"
+ ."\n"
+ .'- **others**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ 'Scene' => ['description' => 'The review scenario. Valid values:'."\n"
+ ."\n"
+ .'- **terrorism**'."\n"
+ ."\n"
+ .'- **porn**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'Time' => [
- 'description' => 'The time tags.'."\n",
+ 'TextResult' => [
+ 'description' => 'The results of text review.',
'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"]',
- ],
- ],
+ 'Type' => ['description' => 'The type of the text. The value is **title**.', 'type' => 'string', 'example' => 'title', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'Score' => ['description' => 'The score of the image of the category that is indicated by Label.', 'type' => 'string', 'example' => '100.00000', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **spam**'."\n"
+ ."\n"
+ .'- **ad**'."\n"
+ ."\n"
+ .'- **abuse**'."\n"
+ ."\n"
+ .'- **flood**'."\n"
+ ."\n"
+ .'- **contraband**'."\n"
+ ."\n"
+ .'- **meaningless**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'ad', 'title' => ''],
+ 'Content' => ['description' => 'The text content for review.', 'type' => 'string', 'example' => 'Hotline 123****', 'title' => ''],
+ 'Scene' => ['description' => 'The review scenario. The value is **antispam**.', 'type' => 'string', 'example' => 'antispam', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ '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"
+ ."\n"
+ .'- **terrorism**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'PornResult' => [
+ 'description' => 'The results of pornographic content review.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Suggestion' => ['description' => 'The recommendation for review results.', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the review results.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **porn**'."\n"
+ ."\n"
+ .'- **sexy**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest review score.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **sexy**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ 'Count' => ['description' => 'The number of frames.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'Score' => ['description' => 'The score of the image of the category that is indicated by Label.', 'type' => 'string', 'example' => '100.0000', 'title' => ''],
+ 'Timestamp' => ['description' => 'The position in the video. Unit: milliseconds.', 'type' => 'string', 'example' => '3005', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **porn**'."\n"
+ ."\n"
+ .'- **sexy**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
],
- '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"]',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AdResult' => [
+ 'description' => 'The results of ad review.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'block', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the review results.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **ad**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'ad', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest review score.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'ad', 'title' => ''],
+ 'Count' => ['description' => 'The number of frames.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'Score' => ['description' => 'The score of the image of the category that is indicated by Label.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Timestamp' => ['description' => 'The position in the video. Unit: milliseconds.', 'type' => 'string', 'example' => '10', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result.'."\n"
+ ."\n"
+ .'- **ad**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'ad', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
- ],
- ],
- '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",
+ 'LogoResult' => [
+ 'description' => 'The results of logo review.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'block', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the review results.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **logo**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'TV', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest review score.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'TV', 'title' => ''],
+ 'Count' => ['description' => 'The number of frames.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'Score' => ['description' => 'The score of the image of the category that is indicated by Label.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Timestamp' => ['description' => 'The position in the video. Unit: milliseconds.', 'type' => 'string', 'example' => '16', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result.'."\n"
+ ."\n"
+ .'- **logo**'."\n"
+ ."\n"
+ .'- **normal**', 'type' => 'string', 'example' => 'TV', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
],
- '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"]',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'LiveResult' => [
+ 'description' => 'The results of undesired content review.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'block', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the review results.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **live**: The content contains undesirable scenes.'."\n"
+ ."\n"
+ .'- **normal**: normal content.', 'type' => 'string', 'example' => 'smoking', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest review score.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **normal**: normal content.', 'type' => 'string', 'example' => 'smoking', 'title' => ''],
+ 'Count' => ['description' => 'The number of frames.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'Score' => ['description' => 'The score of the image of the category that is indicated by Label.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Timestamp' => ['description' => 'The position in the video. Unit: milliseconds.', 'type' => 'string', 'example' => '10', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **live**: The content contains undesirable scenes.'."\n"
+ ."\n"
+ .'- **normal**: normal content.', 'type' => 'string', 'example' => 'smoking', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'TerrorismResult' => [
+ 'description' => 'The results of terrorist content review.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Suggestion' => ['description' => 'The recommendation for review results. Valid values:'."\n"
+ ."\n"
+ .'- **block**'."\n"
+ ."\n"
+ .'- **review**'."\n"
+ ."\n"
+ .'- **pass**', 'type' => 'string', 'example' => 'pass', 'title' => ''],
+ 'AverageScore' => ['description' => 'The average score of the review results.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **normal**'."\n"
+ ."\n"
+ .'- **bloody**'."\n"
+ ."\n"
+ .'- **explosion**'."\n"
+ ."\n"
+ .'- **outfit**'."\n"
+ ."\n"
+ .'- **logo**'."\n"
+ ."\n"
+ .'- **weapon**'."\n"
+ ."\n"
+ .'- **politics**'."\n"
+ ."\n"
+ .'- **violence**'."\n"
+ ."\n"
+ .'- **crowd**'."\n"
+ ."\n"
+ .'- **parade**'."\n"
+ ."\n"
+ .'- **carcrash**'."\n"
+ ."\n"
+ .'- **flag**'."\n"
+ ."\n"
+ .'- **location**'."\n"
+ ."\n"
+ .'- **others**', 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ 'MaxScore' => ['description' => 'The highest review score.', 'type' => 'string', 'example' => '100', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **bloody**'."\n"
+ ."\n"
+ .'- **explosion**'."\n"
+ ."\n"
+ .'- **outfit**'."\n"
+ ."\n"
+ .'- **logo**'."\n"
+ ."\n"
+ .'- **weapon**'."\n"
+ ."\n"
+ .'- **politics**'."\n"
+ ."\n"
+ .'- **violence**'."\n"
+ ."\n"
+ .'- **crowd**'."\n"
+ ."\n"
+ .'- **parade**'."\n"
+ ."\n"
+ .'- **carcrash**'."\n"
+ ."\n"
+ .'- **flag**'."\n"
+ ."\n"
+ .'- **location**'."\n"
+ ."\n"
+ .'- **others**', 'type' => 'string', 'example' => 'outfit', 'title' => ''],
+ 'Count' => ['description' => 'The number of frames.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'Score' => ['description' => 'The score of the image of the category that is indicated by Label.', 'type' => 'string', 'example' => '100.000', 'title' => ''],
+ 'Timestamp' => ['description' => 'The position in the video. Unit: milliseconds.', 'type' => 'string', 'example' => '3005', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'- **normal**'."\n"
+ ."\n"
+ .'- **bloody**'."\n"
+ ."\n"
+ .'- **explosion**'."\n"
+ ."\n"
+ .'- **outfit**'."\n"
+ ."\n"
+ .'- **logo**'."\n"
+ ."\n"
+ .'- **weapon**'."\n"
+ ."\n"
+ .'- **politics**'."\n"
+ ."\n"
+ .'- **violence**'."\n"
+ ."\n"
+ .'- **crowd**'."\n"
+ ."\n"
+ .'- **parade**'."\n"
+ ."\n"
+ .'- **carcrash**'."\n"
+ ."\n"
+ .'- **flag**'."\n"
+ ."\n"
+ .'- **location**'."\n"
+ ."\n"
+ .'- **others**', 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ '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\\": \\"Hotline 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',
+ 'description' => '<props="intl">'."\n"
+ ."\n"
+ .'### Usage notes'."\n"
+ ."\n"
+ .'This operation is available only in the Singapore region.'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n"
+ .'### QPS limit'."\n"
+ ."\n"
+ .'The queries per second (QPS) limit for this operation is 20 per user. If the limit is exceeded, API calls are throttled, which may affect your business. Make sure that you call this operation at an appropriate frequency. For more information, see [QPS limits](~~342790~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- ],
- 'SubmitAIImageJob' => [
- 'summary' => 'Submits jobs of image AI processing.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:39:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-10T08:31:06.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditResult'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'manual',
+ ],
+ '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' => 'write',
- 'deprecated' => false,
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40165',
- 'abilityTreeNodes' => [
- 'FEATUREvodIPBMLH',
- ],
+ 'abilityTreeCode' => '39960',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'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',
+ 'name' => 'MediaId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93ab850b4f6f*****54b6e91d24d81d4', 'title' => ''],
],
[
- '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',
+ 'name' => 'PageNo',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The response parameters.'."\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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6438BD76-D523-46FC-956F-****', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'PornLabel' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'* **normal**'."\n"
+ .'* **porn**'."\n"
+ .'* **sexy**'."\n", 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Url' => ['description' => 'The URL of the video snapshot.'."\n", 'type' => 'string', 'example' => 'http://temp-testbucket.oss-cn-shanghai.aliyuncs.com/aivideocensor/****.jpg', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '3005', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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' => ' ',
- ],
- 'GetAIImageJobs' => [
- 'summary' => 'Queries jobs of image AI processing.',
- 'methods' => [
- 'post',
- 'get',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:18:05.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditResultDetail'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditResultDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'GetMediaAuditResultTimeline' => [
+ 'summary' => 'Queries the timelines of all snapshots that violate content regulations.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -19103,327 +15196,407 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39931',
- 'abilityTreeNodes' => [
- 'FEATUREvodIPBMLH',
- ],
+ 'abilityTreeCode' => '39961',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'JobIds',
+ 'name' => 'MediaId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '93ab850b4f6f*****54b6e91d24d81d4', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The response parameters.'."\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"}}',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6438BD76-D523-46FC-956F-****', 'title' => ''],
+ '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', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '3005', 'title' => ''],
+ 'Label' => ['description' => 'The category of the review result. Valid values:'."\n"
+ ."\n"
+ .'* **porn**'."\n"
+ .'* **sexy**'."\n"
+ .'* **normal**'."\n", 'type' => 'string', 'example' => 'porn', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
- 'Code' => [
- 'description' => 'The error code.'."\n",
- 'type' => 'string',
- 'example' => 'Success',
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '3005', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
- 'Message' => [
- 'description' => 'The error message.'."\n",
- 'type' => 'string',
- 'example' => 'success',
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '13', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
- 'TemplateConfig' => [
- 'description' => 'The configurations of the AI template that was used to submit the job.'."\n",
- 'type' => 'string',
- 'example' => '{"Format":"gif","SetDefaultCover":"true"}',
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '12', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
- 'TemplateId' => [
- 'description' => 'The ID of the AI template.'."\n",
- 'type' => 'string',
- 'example' => '5a86a00f15194*****d7fe7de1b4a173',
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'Timestamp' => ['description' => 'The timestamp of the snapshot in the video. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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",
+ '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\\": \\"logo\\"\\n }\\n ],\\n \\"Live\\": [\\n {\\n \\"Score\\": \\"100\\",\\n \\"Timestamp\\": \\"12\\",\\n \\"Label\\": \\"pip\\"\\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' => ' ',
- ],
- 'ListAIImageInfo' => [
- 'summary' => 'Queries the AI processing results about the images of a specified video.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:30.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditResultTimeline'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditResultTimeline',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40020',
- 'abilityTreeNodes' => [
- 'FEATUREvodYRQNEN',
- ],
+ 'abilityTreeCode' => '39962',
+ 'abilityTreeNodes' => ['FEATUREvod5413CB'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'VideoId',
+ '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' => true,
- 'docRequired' => true,
- 'example' => '357a8748c5789d2726e6436aa****',
- ],
+ 'schema' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'required' => true, 'example' => '88c6ca184c0e*****a5b665e2a126797', 'title' => ''],
],
],
'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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '63FC4896-E956-4B*****7D-134FF1BC597A', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Start' => ['description' => 'The start time of the video. Unit: seconds.'."\n", 'type' => 'string', 'example' => '2.0', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'Start' => ['description' => 'The start time of the video. Unit: seconds.'."\n", 'type' => 'string', 'example' => '2.0', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ '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' => ' ',
- ],
- 'DeleteAIImageInfos' => [
- 'summary' => 'Deletes the information about one or more images that are submitted for AI processing.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:58.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaDNAResult'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaDNAResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39822',
- 'abilityTreeNodes' => [
- 'FEATUREvodIPBMLH',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'list'],
'parameters' => [
[
- 'name' => 'AIImageInfoIds',
+ 'name' => 'MediaRefreshJobId',
'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',
- ],
+ '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",
- 'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'FCDC80EA-363C-41*****B8-0DF14033D643',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'type' => 'string', 'title' => ''],
+ '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', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the media file.'."\n", 'example' => 'ca3a8f6e4957b658067095869****', 'type' => 'string', 'title' => ''],
+ 'TaskType' => ['description' => 'The type of the job. Valid values:'."\n"
+ ."\n"
+ .'* **Refresh**'."\n"
+ .'* **Preload**'."\n", 'example' => 'Preload', 'type' => 'string', 'title' => ''],
+ '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', 'title' => ''],
+ 'Status' => ['description' => 'The status of the job. Valid values:'."\n"
+ ."\n"
+ .'* **success**'."\n"
+ .'* **fail**'."\n", 'example' => 'success', 'type' => 'string', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ErrorCode' => ['description' => 'The error code. This parameter is returned if the refresh or prefetch task fails.'."\n", 'example' => 'PreloadQueueFull', 'type' => 'string', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'GmtCreate' => ['description' => 'The time when the task was created.'."\n", 'example' => '2022-05-20T08:23:22Z', 'type' => 'string', 'title' => ''],
+ 'GmtModified' => ['description' => 'The time when the task was modified.'."\n", 'example' => '2022-05-21T08:23:22Z', 'type' => 'string', 'title' => ''],
+ ],
+ 'type' => 'object',
+ 'title' => '',
+ ],
+ 'type' => 'array',
+ 'title' => '',
],
],
+ 'type' => 'object',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'title' => 'GetMediaRefreshJobs',
+ '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~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaRefreshJobs'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaRefreshJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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-20T08:23:22Z\\",\\n \\"GmtModified\\": \\"2022-05-21T08:23:22Z\\"\\n }\\n ]\\n}","type":"json"},{"errorExample":"","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>","type":"xml"}]',
+ ],
+ 'GetMessageCallback' => [
+ 'summary' => 'Queries the callback method, callback URL, and event type of an event notification.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -19435,98 +15608,16 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40057',
- 'abilityTreeNodes' => [
- 'FEATUREvodKX7ANE',
- ],
+ 'abilityTreeCode' => '39965',
+ 'abilityTreeNodes' => ['FEATUREvod9NUA3V'],
'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',
+ 'name' => 'AppId',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -19534,778 +15625,780 @@
'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' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '272A222A-F7F7-4A3E-****-F531574F1234', 'title' => ''],
+ 'MessageCallback' => [
+ 'description' => 'The configuration of the event notification.'."\n",
'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****"]}',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'CallbackType' => ['description' => 'The callback method. Valid values:'."\n"
+ ."\n"
+ .'* **HTTP**'."\n"
+ .'* **MNS**'."\n", 'type' => 'string', 'example' => 'HTTP', 'title' => ''],
+ 'CallbackURL' => ['description' => 'The callback URL. This parameter is returned only for HTTP callbacks.'."\n", 'type' => 'string', 'example' => 'http://test.com/test', 'title' => ''],
+ 'EventTypeList' => ['description' => 'The type of the callback event.'."\n", 'type' => 'string', 'example' => 'FileUploadComplete,StreamTranscodeComplete,TranscodeComplete,SnapshotComplete,AIComplete,AddLiveRecordVideoComplete,CreateAuditComplete,UploadByURLComplete,ProduceMediaComplete,LiveRecordVideoComposeStart,ImageUploadComplete,VideoAnalysisComplete', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-1000000', 'title' => ''],
+ 'MnsQueueName' => ['description' => 'The name of the Message Service (MNS) queue. This parameter is returned only for MNS callbacks.'."\n", 'type' => 'string', 'example' => 'vodcallback', 'title' => ''],
+ 'AuthKey' => ['description' => 'The cryptographic key. This parameter is returned only for HTTP callbacks.'."\n", 'type' => 'string', 'example' => '12345678abc', 'title' => ''],
+ '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', 'title' => ''],
+ '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/', 'title' => ''],
],
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'GetMessageCallback',
+ 'description' => '> For more information, see [Event notification](~~55627~~).'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:20:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:38.000Z', 'description' => 'OpenAPI offline'],
],
- '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",
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMessageCallback'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMessageCallback',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
'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. |',
+ 'extraInfo' => ' ',
],
- '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',
- ],
+ 'GetMezzanineInfo' => [
+ 'summary' => 'Retrieves the source file information for an audio or video file, such as the file URL, resolution, and bitrate.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39903',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '39967',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'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',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the audio or video file. Obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- For audio or video files uploaded to the console: Log on to the [VOD console](https://vod.console.aliyun.com). In the navigation pane, choose **Media Library** > **Audio/Video** to view the video ID.'."\n"
+ ."\n"
+ .'- When you obtain an upload URL and credentials by calling the [CreateUploadVideo](~~55407~~) operation, the audio/video ID is the value of the \\`VideoId\\` parameter in the response.'."\n"
+ ."\n"
+ .'- After a video is uploaded, call the [SearchMedia](~~86044~~) operation to query the audio/video ID. The ID is the value of the \\`VideoId\\` parameter in the response.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '1f1a6fc03ca04814031b8a6559e****'],
],
[
- 'name' => 'EndTime',
+ 'name' => 'AuthTimeout',
'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',
- ],
+ 'schema' => ['description' => 'The expiration time of the signed URL for the source file (\\`FileURL\\`). Unit: seconds. The default value is **3600**. The minimum value is **1**.'."\n"
+ ."\n"
+ .'- If \\`OutputType\\` is set to **cdn**:'."\n"
+ ."\n"
+ .' - The \\`FileURL\\` expires only if URL signing is enabled. Otherwise, the URL is permanently valid.'."\n"
+ ."\n"
+ .' - Minimum value: **1**.'."\n"
+ ."\n"
+ .' - Maximum value: unlimited.'."\n"
+ ."\n"
+ .' - Default value: **3600**.'."\n"
+ ."\n"
+ .'- If \\`OutputType\\` is set to **oss**:'."\n"
+ ."\n"
+ .' - The \\`FileURL\\` expires only if the storage permission is set to private. Otherwise, the URL is permanently valid.'."\n"
+ ."\n"
+ .' - Minimum value: **1**.'."\n"
+ ."\n"
+ .' - Maximum value: To reduce security risks at the origin, the maximum value is **2592000** (30 days) if the audio or video file is stored in a VOD bucket. The maximum value is **129600** (36 hours) if the audio or video file is stored in your own OSS bucket.'."\n"
+ ."\n"
+ .' - Default value: **3600**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '3600'],
],
[
- 'name' => 'Interval',
+ 'name' => 'OutputType',
'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',
- ],
+ 'schema' => ['description' => 'The type of the output URL. Valid values:'."\n"
+ ."\n"
+ .'- **oss**: the origin URL.'."\n"
+ ."\n"
+ .'- **cdn** (default): the accelerated URL.'."\n"
+ ."\n"
+ .'> If the bucket type of the source file is \\`in\\`, only an OSS URL is returned.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'oss'],
],
[
- 'name' => 'IspNameEn',
+ 'name' => 'AdditionType',
'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',
- ],
+ 'schema' => ['description' => 'The type of additional information. Separate multiple types with commas (,). By default, only basic information is returned. Valid values:'."\n"
+ ."\n"
+ .'- **video**: video stream information.'."\n"
+ ."\n"
+ .'- **audio**: audio stream information.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'video'],
],
[
- 'name' => 'LocationNameEn',
+ 'name' => 'ReferenceId',
'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',
- ],
+ 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The custom ID. The ID can contain only lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for each user.', 'required' => false, 'example' => '123-123'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response that is returned.',
'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' => [
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4AF6-D7393642CA58****'],
+ 'Mezzanine' => [
+ 'description' => 'The file information.',
'type' => 'object',
- 'itemNode' => true,
'properties' => [
- 'DataModule' => [
- 'description' => 'The amount of network traffic at each time interval.'."\n",
+ 'CreationTime' => ['description' => 'The time when the file was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'title' => '', 'example' => '2017-11-14T09:15:50Z'],
+ 'Status' => ['description' => 'The status of the file. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The initial state of the file, which indicates that the file is being uploaded.'."\n"
+ ."\n"
+ .'- **Normal**: The file is uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The file failed to be uploaded.'."\n"
+ ."\n"
+ .'- **Deleted**: The file is deleted.', 'type' => 'string', 'title' => '', 'example' => 'Normal'],
+ 'FileURL' => ['description' => 'The URL of the source file.', 'type' => 'string', 'title' => '', 'example' => 'http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/27ffc438-164h67f57ef-0005-6884-51a-1****.mp4'],
+ 'VideoId' => ['description' => 'The ID of the video.', 'type' => 'string', 'title' => '', 'example' => '1f1a6fc03ca04814031b8a6559e****'],
+ 'Height' => ['description' => 'The height of the file. Unit: pixels.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '540'],
+ 'Bitrate' => ['description' => 'The bitrate of the file. Unit: Kbps.', 'type' => 'string', 'title' => '', 'example' => '771.2280'],
+ 'FileName' => ['description' => 'The name of the file.', 'type' => 'string', 'title' => '', 'example' => '27ffc438-164h67f57ef-0005-6884-51a-1****.mp4'],
+ 'OutputType' => ['description' => 'The type of the output URL. Valid values:'."\n"
+ ."\n"
+ .'- **oss**: the origin URL.'."\n"
+ ."\n"
+ .'- **cdn** (default): the accelerated URL.'."\n"
+ ."\n"
+ .'> Only OSS URLs for files in the MP4 format are supported for playback.', 'type' => 'string', 'title' => '', 'example' => 'oss'],
+ 'PreprocessStatus' => ['description' => 'The pre-processing status. Valid values:'."\n"
+ ."\n"
+ .'- **UnPreprocess**: No pre-processing is performed.'."\n"
+ ."\n"
+ .'- **Preprocessing**: The file is being pre-processed.'."\n"
+ ."\n"
+ .'- **PreprocessSucceed**: The file is pre-processed.'."\n"
+ ."\n"
+ .'- **PreprocessFailed**: The file failed to be pre-processed.', 'type' => 'string', 'title' => '', 'example' => 'UnPreprocess'],
+ 'Width' => ['description' => 'The width of the file. Unit: pixels.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '960'],
+ 'Size' => ['description' => 'The size of the file. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '4096477'],
+ 'Duration' => ['description' => 'The duration of the file. Unit: seconds.', 'type' => 'string', 'title' => '', 'example' => '42.4930'],
+ 'Fps' => ['description' => 'The frame rate of the file, in frames per second.', 'type' => 'string', 'title' => '', 'example' => '25.0000'],
+ 'AudioStreamList' => [
+ 'description' => 'The information about the audio stream.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of the audio stream.',
'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',
- ],
+ 'Index' => ['description' => 'The ordinal number of the audio stream, which indicates the position of the audio stream in the entire media stream.', 'type' => 'string', 'title' => '', 'example' => '0'],
+ 'Timebase' => ['description' => 'The time base.', 'type' => 'string', 'title' => '', 'example' => '0.000000'],
+ 'SampleFmt' => ['description' => 'The sampling format.', 'type' => 'string', 'title' => '', 'example' => 'fltp'],
+ 'SampleRate' => ['description' => 'The sample rate.', 'type' => 'string', 'title' => '', 'example' => '44100'],
+ 'ChannelLayout' => ['description' => 'The sound channel layout. Valid values:'."\n"
+ ."\n"
+ .'- **mono**: mono.'."\n"
+ ."\n"
+ .'- **stereo**: stereo.', 'type' => 'string', 'title' => '', 'example' => 'mono'],
+ 'Lang' => ['description' => 'The language.', 'type' => 'string', 'title' => '', 'example' => 'und'],
+ 'CodecLongName' => ['description' => 'The long name of the encoding format.', 'type' => 'string', 'title' => '', 'example' => 'AAC (Advanced Audio Coding)'],
+ 'Channels' => ['description' => 'The number of sound channels.', 'type' => 'string', 'title' => '', 'example' => '1'],
+ 'NumFrames' => ['description' => 'The total number of frames.', 'type' => 'string', 'title' => '', 'example' => '1'],
+ 'Bitrate' => ['description' => 'The bitrate.', 'type' => 'string', 'title' => '', 'example' => '62.885'],
+ 'CodecTagString' => ['description' => 'The tag of the encoding format.', 'type' => 'string', 'title' => '', 'example' => 'mp4a'],
+ 'StartTime' => ['description' => 'The start time. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'title' => '', 'example' => '2017-01-11T12:00:00Z'],
+ 'CodecName' => ['description' => 'The short name of the encoding format.', 'type' => 'string', 'title' => '', 'example' => 'aac'],
+ 'Duration' => ['description' => 'The duration.', 'type' => 'string', 'title' => '', 'example' => '3.227574'],
+ 'CodecTag' => ['description' => 'The tag of the encoding format.', 'type' => 'string', 'title' => '', 'example' => '0x6134706d'],
+ 'CodecTimeBase' => ['description' => 'The codec time base.', 'type' => 'string', 'title' => '', 'example' => '1/44100'],
],
- 'description' => 'The information about the network traffic.'."\n",
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'VideoStreamList' => [
+ 'description' => 'The information about the video stream.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the video stream.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Timebase' => ['description' => 'The time base.', 'type' => 'string', 'title' => '', 'example' => '0.000000'],
+ 'Index' => ['description' => 'The ordinal number of the video stream, which indicates the position of the video stream in the entire media stream.', 'type' => 'string', 'title' => '', 'example' => '1'],
+ 'AvgFPS' => ['description' => 'The average frame rate.', 'type' => 'string', 'title' => '', 'example' => '30.0'],
+ 'PixFmt' => ['description' => 'The pixel format.', 'type' => 'string', 'title' => '', 'example' => 'yuv420p'],
+ 'Lang' => ['description' => 'The language.', 'type' => 'string', 'title' => '', 'example' => 'und'],
+ 'Sar' => ['description' => 'The sample aspect ratio (SAR).', 'type' => 'string', 'title' => '', 'example' => '0:1'],
+ 'Height' => ['description' => 'The height of the video.', 'type' => 'string', 'title' => '', 'example' => '320'],
+ 'CodecLongName' => ['description' => 'The long name of the encoding format.', 'type' => 'string', 'title' => '', 'example' => 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10'],
+ 'NumFrames' => ['description' => 'The total number of frames.', 'type' => 'string', 'title' => '', 'example' => '0'],
+ 'Bitrate' => ['description' => 'The bitrate of the file. Unit: Kbps.', 'type' => 'string', 'title' => '', 'example' => '500'],
+ 'Rotate' => ['description' => 'The rotation angle of the video. Valid values: **\\[0, 360)**.', 'type' => 'string', 'title' => '', 'example' => '90'],
+ 'CodecTagString' => ['description' => 'The tag of the encoding format.', 'type' => 'string', 'title' => '', 'example' => 'avc1'],
+ 'HasBFrames' => ['description' => 'Indicates whether B-frames exist.', 'type' => 'string', 'title' => '', 'example' => '0'],
+ 'Profile' => ['description' => 'The codec profile.', 'type' => 'string', 'title' => '', 'example' => 'Main'],
+ 'StartTime' => ['description' => 'The start time. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'title' => '', 'example' => '2017-01-11T12:00:00Z'],
+ 'Dar' => ['description' => 'The display aspect ratio (DAR).', 'type' => 'string', 'title' => '', 'example' => '0:1'],
+ 'CodecName' => ['description' => 'The short name of the encoding format.', 'type' => 'string', 'title' => '', 'example' => 'h264'],
+ 'Width' => ['description' => 'The width of the video.', 'type' => 'string', 'title' => '', 'example' => '568'],
+ 'Duration' => ['description' => 'The duration.', 'type' => 'string', 'title' => '', 'example' => '3.166667'],
+ 'Fps' => ['description' => 'The destination frame rate.', 'type' => 'string', 'title' => '', 'example' => '30.0'],
+ 'CodecTag' => ['description' => 'The tag of the encoding format.', 'type' => 'string', 'title' => '', 'example' => '0x31637661'],
+ 'CodecTimeBase' => ['description' => 'The codec time base.', 'type' => 'string', 'title' => '', 'example' => '1/60'],
+ 'Level' => ['description' => 'The encoding level.', 'type' => 'string', 'title' => '', 'example' => '30'],
+ 'HDRType' => ['title' => '', 'description' => 'The High Dynamic Range (HDR) type of the video stream.', 'type' => 'string', 'example' => 'HDR'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**: Standard.'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access.'."\n"
+ ."\n"
+ .'- **Archive**: Archive.'."\n"
+ ."\n"
+ .'- **ColdArchive**: Cold Archive.'."\n"
+ ."\n"
+ .'- **SourceIA**: Source Infrequent Access.'."\n"
+ ."\n"
+ .'- **SourceArchive**: Source Archive.'."\n"
+ ."\n"
+ .'- **SourceColdArchive**: Source Cold Archive.'."\n"
+ ."\n"
+ .'- **Changing**: The storage class of the media asset is being changed.'."\n"
+ ."\n"
+ .'- **SourceChanging**: The storage class of the source file is being changed.', 'type' => 'string', 'title' => '', 'example' => 'Standard'],
+ 'RestoreStatus' => ['description' => 'The restored state of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Processing**: The media asset is being restored.'."\n"
+ ."\n"
+ .'- **Success**: The media asset is restored.'."\n"
+ ."\n"
+ .'- **Failed**: The media asset failed to be restored.', 'type' => 'string', 'title' => '', 'example' => 'Success'],
+ 'RestoreExpiration' => ['description' => 'The expiration time of the restored media asset.', 'type' => 'string', 'title' => '', 'example' => '2023-03-30T10:14:14Z'],
+ 'FileMD5' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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 &#x3C; 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days ≤ Time range per query &#x3C; 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|',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'GetMezzanineInfo',
+ 'description' => 'The complete information for a source file is available after the video or audio stream is transcoded.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
."\n"
- .'The following table describes the error codes that this operation can return.'."\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, 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:37.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:35.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMezzanineInfo'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMezzanineInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'GetPlayInfo' => [
+ 'summary' => 'Retrieves playback URLs for a media asset by providing its ID. You can then use these URLs to play the audio/video content with ApsaraVideo Player or any third-party player, such as a native system player, open-source player, or a self-developed one.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39876',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '39972',
+ 'abilityTreeNodes' => ['FEATUREvodCOWQO0'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of media asset. Only one ID is supported per request. You can obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the navigation pane, choose **Media Files** > **Audio/Video**. View the ID.'."\n"
+ ."\n"
+ .'- The `VideoId` is returned in the response of the [](t2220597.xdita#)call.'."\n"
+ ."\n"
+ .'- Call the [SearchMedia](~~86044~~) operation to query the ID (VideoId).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '93ab850b4f654b6e91d24d81d44****', 'title' => ''],
],
[
- 'name' => 'StartTime',
+ 'name' => 'Formats',
'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',
- ],
+ 'schema' => ['description' => 'A comma-separated list of media stream formats to retrieve. Valid values:'."\n"
+ ."\n"
+ .'- **mp4**'."\n"
+ ."\n"
+ .'- **m3u8**'."\n"
+ ."\n"
+ .'- **mp3**'."\n"
+ ."\n"
+ .'- **flv**'."\n"
+ ."\n"
+ .'- **mpd**'."\n"
+ ."\n"
+ .'> * By default, streams in all formats are returned.'."\n"
+ .'>'."\n"
+ .'> * The mpd format is only available if DASH packaging was configured in the transcoding template. For more information, see [Container](t1235673.xdita#title-7rr-3hj-gy5).', 'type' => 'string', 'required' => false, 'example' => 'mp4,m3u8', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'AuthTimeout',
'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',
- ],
+ 'schema' => ['description' => 'The validity period of the playback URL, in seconds.'."\n"
+ ."\n"
+ .'- If OutputType is set to **cdn**:'."\n"
+ ."\n"
+ .' - The URL expires only if URL signing is enabled. Otherwise, it is permanently valid. For more information about URL signing, see [](t1959374.xdita#).'."\n"
+ ."\n"
+ .' - Minimum value: **1**.'."\n"
+ ."\n"
+ .' - Maximum value: No limit.'."\n"
+ ."\n"
+ .' - Default value: The validity period configured in your URL signing settings.'."\n"
+ ."\n"
+ .'- If OutputType is set to **oss**:'."\n"
+ ."\n"
+ .' - The URL expires only if the storage access permission is set to private. Otherwise, it is permanently valid.'."\n"
+ ."\n"
+ .' - Minimum value: **1**.'."\n"
+ ."\n"
+ .' - Maximum value: To mitigate security risks, the maximum value is **604800** (7 days) for VOD bucket and **129600** (36 hours) for your own OSS buckets. If you require a longer validity period, set OutputType to cdn and use URL signing.'."\n"
+ ."\n"
+ .' - Default value: **3600**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1800', 'title' => ''],
],
[
- 'name' => 'Interval',
+ 'name' => 'OutputType',
'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',
- ],
+ 'schema' => ['description' => 'The type of playback URL to return. Valid values:'."\n"
+ ."\n"
+ .'- **oss**: OSS URL (source origin).'."\n"
+ ."\n"
+ .'- **cdn** (default): accelerated URL.', 'type' => 'string', 'required' => false, 'example' => 'cdn', 'title' => ''],
],
[
- 'name' => 'IspNameEn',
+ 'name' => 'StreamType',
'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',
- ],
+ 'schema' => ['description' => 'A comma-separated list of media stream types to retrieve. Valid values:'."\n"
+ ."\n"
+ .'- **video**'."\n"
+ ."\n"
+ .'- **audio**'."\n"
+ ."\n"
+ .'If not specified, all available stream types are returned.', 'type' => 'string', 'required' => false, 'example' => 'video', 'title' => ''],
],
[
- 'name' => 'LocationNameEn',
+ 'name' => 'ReAuthInfo',
'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',
- ],
+ 'schema' => ['description' => 'A JSON string containing parameters for secondary CDN authentication. Use this parameter to set the `uid` and `rand` fields for Type A URL signing. For more information, see [](t2321301.xdita#).', 'type' => 'string', 'required' => false, 'example' => '{"uid":"12345","rand":"abckljd"}', 'title' => ''],
+ ],
+ [
+ 'name' => 'Definition',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The definition of the video stream. Separate multiple definitions with commas (,). Valid values:'."\n"
+ ."\n"
+ .'- **FD**: Low definition.'."\n"
+ ."\n"
+ .'- **LD**: Standard definition.'."\n"
+ ."\n"
+ .'- **SD**: High definition.'."\n"
+ ."\n"
+ .'- **HD**: Ultra high definition.'."\n"
+ ."\n"
+ .'- **OD**: Original quality.'."\n"
+ ."\n"
+ .'- **2K**: 2K.'."\n"
+ ."\n"
+ .'- **4K**: 4K.'."\n"
+ ."\n"
+ .'- **SQ**: Standard quality.'."\n"
+ ."\n"
+ .'- **HQ**: High quality.'."\n"
+ ."\n"
+ .'- **AUTO**: Adaptive bitrate.'."\n"
+ ."\n"
+ .'> * By default, streams of all definitions are returned.'."\n"
+ .'>'."\n"
+ .'> * This parameter is required when generating a video with a traceable watermark. The value must match the resolution set for transcoding.'."\n"
+ .'>'."\n"
+ .'> * The AUTO format is only available if adaptive bitrate streaming was configured in the transcoding template. For more information, see [PackageSetting](t1235673.xdita#title-4fk-cg8-gzx).', 'type' => 'string', 'required' => false, 'example' => 'LD', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResultType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of data to return for each format and definition. Valid values:'."\n"
+ ."\n"
+ .'- **Single** (default): Returns only the most recently transcoded stream for each format/definition pair.'."\n"
+ ."\n"
+ .'- **Multiple**: Returns all transcoded streams for each format/definition pair.', 'type' => 'string', 'required' => false, 'example' => 'Single', 'title' => ''],
+ ],
+ [
+ 'name' => 'PlayConfig',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A JSON string for custom playback settings, such as specifying a playback domain. For more information about the parameter structure, see [PlayConfig](t1235674.xdita#section-9g7-s9b-v7z).'."\n"
+ ."\n"
+ .'> - If `PlayConfig` or its `PlayDomain` field is not set, the API uses the default domain configured in VOD. If no default domain is set, it uses the most recently modified domain. We recommend setting a default domain in the [ApsaraVideo VOD](https://vod.console.aliyun.com) console (Choose **Configuration Management > Media Management > Storage > Manage > Origin Domain Name**)'."\n"
+ .'>'."\n"
+ .'> - When `EncryptType` in `PlayConfig` is set to `AliyunVoDEncryption`, private encrypted streams are not returned by default for security. To retrieve them, you must also set `ResultType` to `Multiple`.', 'type' => 'string', 'required' => false, 'example' => '{"PlayDomain":"vod.test_domain","XForwardedFor":"yqCD7Fp1uqChoVj/sl/p5Q==","PreviewTime":"20","MtsHlsUriToken":"yqCD7Fp1uqChoVjslp5Q"}', 'title' => ''],
+ ],
+ [
+ 'name' => 'AdditionType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Set to danmu to retrieve the URL for bullet chat (danmaku) overlay data.'."\n"
+ ."\n"
+ .'> This parameter is only effective when `OutputType` is `cdn`.', 'type' => 'string', 'required' => false, 'example' => 'danmu', 'title' => ''],
+ ],
+ [
+ 'name' => 'Trace',
+ 'in' => 'query',
+ 'schema' => ['description' => 'User-defined information for a digital watermark.'."\n"
+ ."\n"
+ .'- If you set `DigitalWatermarkType` to `TraceMark`, the value of this parameter is embedded as the traceable watermark information. The API returns a video stream URL containing this watermark. The value supports English letters, digits, and Chinese characters, up to 1024 characters.'."\n"
+ ."\n"
+ .'- If you set `DigitalWatermarkType` to `CopyrightMark`, the value must match the **watermark text** defined in the watermark template. The API returns the video stream with the specified copyright watermark.', 'type' => 'string', 'required' => false, 'example' => 'test mark', 'title' => ''],
+ ],
+ [
+ 'name' => 'DigitalWatermarkType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the digital watermark. Valid values:'."\n"
+ ."\n"
+ .'- TraceMark: tracing watermark.'."\n"
+ ."\n"
+ .'- CopyrightMark: copyright watermark.', 'type' => 'string', 'required' => false, 'example' => 'TraceMark', 'title' => ''],
+ ],
+ [
+ 'name' => 'CodecName',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'example' => 'H264', 'title' => '', 'description' => ''],
+ ],
+ [
+ 'name' => 'ReferenceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Custom ID. Supports letters, digits, hyphens (-), and underscores (\\_). Length: 6 to 64 characters. Must be unique per user.', 'type' => 'string', 'example' => '123-123', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The response.',
'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',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F552E596-967D-5500-842F-17E6364****', 'title' => ''],
+ 'VideoBase' => [
+ 'description' => 'The basic information about the audio or video file.',
+ '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 in UTC.', 'type' => 'string', 'example' => '2017-06-26T06:38:48Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the audio or video file. For more information about the valid values and descriptions, see [Status: Audio and video statuses](~~52839#title-vqg-8cz-7p8~~).', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the audio or video file.', 'type' => 'string', 'example' => '93ab850b4f654b6e91d24d81d44****', 'title' => ''],
+ 'CoverURL' => ['description' => 'The URL of the thumbnail.'."\n"
+ ."\n"
+ .'> To obtain the thumbnail URL in real time after uploading a video, configure ApsaraVideo VOD callbacks. For more information, see [HTTP callback](~~67214~~) and [Thumbnail capture complete](~~57337~~).', 'type' => 'string', 'example' => 'http://example.aliyundoc.com/sample.jpg?auth_key=2333232-atb****', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the audio or video file. Unit: seconds.', 'type' => 'string', 'example' => '3.1667', 'title' => ''],
+ 'Title' => ['description' => 'The title of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD', 'title' => ''],
+ 'MediaType' => ['description' => 'The type of the media file. Valid values:'."\n"
+ ."\n"
+ .'- **video**: video.'."\n"
+ ."\n"
+ .'- **audio**: audio-only.', 'type' => 'string', 'example' => 'video', 'title' => ''],
+ 'DanMuURL' => ['description' => 'The URL of the live comment overlay data.', 'type' => 'string', 'example' => 'http://example.aliyundoc.com/****?auth_key=abdf2123-6783232****', 'title' => ''],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**: Standard.'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access (IA).'."\n"
+ ."\n"
+ .'- **Archive**: Archive.'."\n"
+ ."\n"
+ .'- **ColdArchive**: Cold Archive.'."\n"
+ ."\n"
+ .'- **SourceIA**: Source IA.'."\n"
+ ."\n"
+ .'- **SourceArchive**: Source Archive.'."\n"
+ ."\n"
+ .'- **SourceColdArchive**: Source Cold Archive.'."\n"
+ ."\n"
+ .'- **Changing**: The storage class is being changed.'."\n"
+ ."\n"
+ .'- **SourceChanging**: The storage class of the source file is being changed.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'BpsDataPerInterval' => [
+ 'PlayInfoList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'DataModule' => [
- 'description' => 'The bandwidth data that is collected for each interval.'."\n",
+ 'PlayInfo' => [
+ 'description' => 'The playback information of the audio or video stream.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of the audio or video file.',
'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',
- ],
+ 'CreationTime' => ['description' => 'The time when the stream was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2022-04-18T07:37:15Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The stream is in the normal state. This status is assigned to the latest transcoded stream for each definition and format.'."\n"
+ ."\n"
+ .'- **Invisible**: The stream is in the invisible state. If multiple streams are generated for the same definition and format, the latest stream is marked as Normal and the others are marked as Invisible.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'Specification' => ['description' => 'The specifications of the transcoded output. For more information about the valid values and descriptions, see [Specification: Output specifications](~~124671#section-6bv-l0g-opq~~).', 'type' => 'string', 'example' => 'H264.LD', 'title' => ''],
+ 'NarrowBandType' => ['description' => 'The transcoding type. Valid values:'."\n"
+ ."\n"
+ .'- **0**: Normal transcoding.'."\n"
+ ."\n"
+ .'- **1.0**: Narrowband HD 1.0.'."\n"
+ ."\n"
+ .'- **2.0**: Narrowband HD 2.0.', 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Height' => ['description' => 'The height of the media stream. Unit: px.', 'type' => 'integer', 'format' => 'int64', 'example' => '640', 'title' => ''],
+ 'Bitrate' => ['description' => 'The bitrate of the media stream. Unit: Kbps.'."\n"
+ ."\n"
+ .'> Due to the dynamic sharding feature of M3U8, the calculated bitrate may have a drift.', 'type' => 'string', 'example' => '450.878', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the stream was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2022-04-20T06:32:19Z', 'title' => ''],
+ 'WatermarkId' => ['description' => 'The ID of the watermark template associated with the current media stream.', 'type' => 'string', 'example' => 'dgfn26457856****', 'title' => ''],
+ 'Encrypt' => ['description' => 'Indicates whether the media stream is encrypted. Valid values:'."\n"
+ ."\n"
+ .'- **0**: No.'."\n"
+ ."\n"
+ .'- **1**: Yes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'Definition' => ['description' => 'The definition of the video stream. Valid values are:'."\n"
+ ."\n"
+ .'- **FD**: Low definition.'."\n"
+ ."\n"
+ .'- **LD**: Standard definition.'."\n"
+ ."\n"
+ .'- **SD**: High definition.'."\n"
+ ."\n"
+ .'- **HD**: Ultra high definition.'."\n"
+ ."\n"
+ .'- **OD**: Original quality.'."\n"
+ ."\n"
+ .'- **2K**: 2K resolution.'."\n"
+ ."\n"
+ .'- **4K**: 4K resolution.'."\n"
+ ."\n"
+ .'- **SQ**: Standard-quality audio.'."\n"
+ ."\n"
+ .'- **HQ**: High-quality audio.'."\n"
+ ."\n"
+ .'- **AUTO**: Adaptive bitrate.', 'type' => 'string', 'example' => 'LD', 'title' => ''],
+ 'EncryptType' => ['description' => 'The encryption type of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- **AliyunVoDEncryption**: Alibaba Cloud proprietary cryptography.'."\n"
+ ."\n"
+ .'- **HLSEncryption**: HLS standard encryption.'."\n"
+ ."\n"
+ .'> If the encryption type is `AliyunVoDEncryption`, you can play the stream only using ApsaraVideo Player SDK.', 'type' => 'string', 'example' => 'AliyunVoDEncryption', 'title' => ''],
+ 'EncryptMode' => ['description' => 'The encryption mode of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- **License**: Local decryption mode.'."\n"
+ ."\n"
+ .'> If the encryption mode is **License**, you can play the stream only using ApsaraVideo Player SDK.', 'type' => 'string', 'example' => 'License', 'title' => ''],
+ 'StreamType' => ['description' => 'The type of the media stream. The value is **video** for a video stream or **audio** for an audio-only stream.', 'type' => 'string', 'example' => 'video', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the transcoding job for the media stream. This ID serves as the unique identifier for the media stream.', 'type' => 'string', 'example' => '80e9c6580e754a798c3c19c59b16****', 'title' => ''],
+ 'Size' => ['description' => 'The size of the media stream. Unit: byte.'."\n"
+ ."\n"
+ .'> Due to the dynamic sharding feature of M3U8, the calculated stream size may have a drift.', 'type' => 'integer', 'format' => 'int64', 'example' => '418112', 'title' => ''],
+ 'Width' => ['description' => 'The width of the media stream. Unit: px.', 'type' => 'integer', 'format' => 'int64', 'example' => '360', 'title' => ''],
+ 'Fps' => ['description' => 'The frame rate of the media stream. Unit: frames per second.', 'type' => 'string', 'example' => '25', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the media stream. Unit: seconds.', 'type' => 'string', 'example' => '9.0464', 'title' => ''],
+ 'PlayURL' => ['description' => 'The playback URL of the video stream.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/d52ee123f331466aabf6ab32a93d****/a777f9e24e6e47a2a942467d5c38ea37-8ee8e04293c6657fdda282bc422704****.m3u8', 'title' => ''],
+ 'Format' => ['description' => 'The format of the media stream.'."\n"
+ ."\n"
+ .'- The value is **mp4** or **m3u8** for a video file.'."\n"
+ ."\n"
+ .'- The value is **mp3** for an audio-only file.', 'type' => 'string', 'example' => 'm3u8', 'title' => ''],
+ 'HDRType' => ['description' => 'The High Dynamic Range (HDR) type of the media stream. Valid values:'."\n"
+ ."\n"
+ .'- HDR'."\n"
+ ."\n"
+ .'- HDR10'."\n"
+ ."\n"
+ .'- HLG'."\n"
+ ."\n"
+ .'- DolbyVision'."\n"
+ ."\n"
+ .'- HDRVivid'."\n"
+ ."\n"
+ .'- SDR+', 'type' => 'string', 'title' => '', 'example' => 'HLG'],
+ 'BitDepth' => ['description' => 'The color depth. The value is an integer.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '8'],
+ 'JobType' => ['description' => 'The type of the digital watermark. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Tracing watermark.'."\n"
+ ."\n"
+ .'- **2**: Copyright watermark.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'JobExt' => ['description' => 'The custom watermark information for the copyright watermark. This field is returned only when `JobType` is `2`.', 'type' => 'string', 'example' => 'CopyrightMarkTest', 'title' => ''],
+ 'CodecName' => ['description' => 'The encoding type. Valid values:'."\n"
+ ."\n"
+ .'- H264'."\n"
+ ."\n"
+ .'- H265', 'type' => 'string', 'example' => 'H264', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"Alibaba Cloud 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}","type":"json"}]',
+ 'title' => 'GetPlayInfo',
+ 'description' => '- **Before using this API, ensure you fully understand the pricing and billing methods for the ApsaraVideo VOD service.** Playing or downloading content from a VOD playback URL will incur outbound traffic fees. If an accelerated domain is not configured, refer to [Outbound traffic](t1965047.xdita#section-rwh-e88-f7j). If an accelerated domain is configured, refer to [Acceleration](t1965047.xdita#section-c5t-oq9-15e). If you have enabled cross-region transfer acceleration, additional fees will apply. For details, see [Transfer acceleration](t1989015.xdita#section-sta-zm2-tsv).'."\n"
+ ."\n"
+ .'- Only videos with a `Status` of Normal can be played. For more information on playback URL usage and limitations, see [](t1959340.xdita#).'."\n"
+ ."\n"
+ .'- If a [media asset](~~2392368~~) is not in the Standard storage class, set the StorageClass field of the PlayConfig parameter accordingly. For more information, see [PlayConfig](~~86952#section-9g7-s9b-v7z~~).'."\n"
+ ."\n"
+ .'- If you encounter playback issues, call the [](t2220628.xdita#) API to verify the source file information.'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'- To use this operation to generate an M3U8 video stream with a tracing watermark, you must submit a ticket to enable this feature. For more information about how to submit a ticket, see [Contact us](~~464625~~). For more information about tracing watermarks, see [Digital watermarking](~~2527021~~).'."\n"
+ ."\n"
+ .'</props>',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Common errors'."\n"
+ 'extraInfo' => '## 接口错误码'."\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',
+ .'下表列举了本接口特有的错误码。'."\n"
+ .'| 错误代码 | 错误信息 | HTTP 状态码 | 说明 |'."\n"
+ .'| ------------- |------------ | ----- | ------ | '."\n"
+ .'| Forbidden.IllegalStatus |Status of the video is illegal. Current Status is %s. |403 |视频状态无效,当前状态为%s。只有**Normal**状态的视频才能播放。|'."\n"
+ .'| InvalidVideo.NotFound |The video does not exist. |404| 视频不存在。|'."\n"
+ .'| InvalidVideo.NoneStream |The video has no stream to play for the request parameter ‘Formats : mp4, Definition : LD, StreamType : video’. |404| 根据您的筛选条件找不到可以播放的转码输出流,请检查您的[转码配置](~~86068~~)与筛选条件是否匹配。|'."\n"
+ .'| Forbidden.AliyunVoDEncryption |Currently only the AliyunVoDEncryption stream exists, you must use the Aliyun player to play or set the value of ResultType to Multiple. |403 |当前仅存在阿里云视频加密的转码输出流,必须使用阿里云播放器进行播放或者设置请求参数**ResultType**值为**Multiple**。|'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:31.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:50.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '360', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPlayInfo'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetPlayInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'manual',
+ ],
+ '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' => '178978',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '39982',
+ 'abilityTreeNodes' => ['FEATUREvodAFH3DF'],
'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',
+ 'name' => 'VideoIds',
'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',
- ],
+ '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"', 'title' => ''],
],
],
'responses' => [
@@ -20313,99 +16406,115 @@
'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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
],
- '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',
+ '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', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the audio or video file.'."\n", 'type' => 'string', 'example' => 'e1db68cc586644b83e562bcd94****', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'TranscodeTemplateGroupId' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'example' => '44f9e406bbb*****736a9abe876ecc0', 'title' => ''],
+ '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', 'title' => ''],
+ 'ErrorMessage' => ['description' => 'The error message returned when the transcoding job failed.'."\n", 'type' => 'string', 'example' => 'ErrorMessage', 'title' => ''],
+ 'Height' => ['description' => 'The height of the output video. Unit: pixels.'."\n", 'type' => 'string', 'example' => '960', 'title' => ''],
+ 'TranscodeProgress' => ['description' => 'The transcoding progress. Valid values: `[0,100]`.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
+ 'TranscodeTemplateId' => ['description' => 'The ID of the transcoding template.'."\n", 'type' => 'string', 'example' => '57496724ae2*****0968d6e08acc8f6', 'title' => ''],
+ 'Bitrate' => ['description' => 'The average bitrate of the output video. Unit: Kbit/s.'."\n", 'type' => 'string', 'example' => '749', 'title' => ''],
+ 'ErrorCode' => ['description' => 'The error code returned when the transcoding job failed.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''],
+ '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', 'title' => ''],
+ 'Width' => ['description' => 'The width of the output video. Unit: pixels.'."\n", 'type' => 'string', 'example' => '544', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the output video. Unit: seconds.'."\n", 'type' => 'string', 'example' => '12', 'title' => ''],
+ 'Fps' => ['description' => 'The frame rate of the output video. Unit: frames per second.'."\n", 'type' => 'string', 'example' => '30', 'title' => ''],
+ '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', 'title' => ''],
+ 'Filesize' => ['description' => 'The size of the output video. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1144259', 'title' => ''],
+ 'Format' => ['description' => 'The container format of the output video.'."\n", 'type' => 'string', 'example' => 'mp4', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ ],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- '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' => '[{"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>{&quot;EncryptType&quot;:&quot;AliyunVoDEncryption&quot;}</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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:37.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTranscodeSummary'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetTranscodeSummary',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'GetTranscodeTask' => [
+ 'summary' => 'Queries details about transcoding jobs based on the transcoding task ID.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -20416,75 +16525,26 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39886',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '39984',
+ 'abilityTreeNodes' => ['FEATUREvodAFH3DF'],
'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',
+ 'name' => 'TranscodeTaskId',
'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',
- ],
+ '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', 'title' => ''],
],
[
- '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',
+ 'name' => 'JobIds',
'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',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
@@ -20492,1436 +16552,1401 @@
'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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F4C6D5BE-BF13-45*****6C-516EA8906DCD', 'title' => ''],
+ 'NonExistJobIds' => [
+ 'description' => 'The nonexistent job ID.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The nonexistent job ID.', 'type' => 'string', 'example' => '["hhhhhhh"]', 'title' => ''],
+ 'title' => '',
],
- 'DataInterval' => [
- 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n",
- 'type' => 'string',
- 'example' => '300',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ErrorMessage' => ['description' => 'The error message returned.'."\n", 'type' => 'string', 'example' => 'ErrorMessage', 'title' => ''],
+ 'ErrorCode' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''],
+ '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", 'title' => ''],
+ 'TranscodeProgress' => ['description' => 'The processing progress of the transcoding job. The value range is [0, 100].', 'type' => 'integer', 'format' => 'int64', 'example' => '80', 'title' => ''],
+ 'Priority' => ['description' => 'The priority of the transcoding task.', 'type' => 'string', 'example' => '6', 'title' => ''],
+ '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', 'title' => ''],
+ 'TranscodeTemplateId' => ['description' => 'The ID of the template used for the transcode job.', 'type' => 'string', 'example' => '174b0534fea3*****b51c8f0ad1374', 'title' => ''],
+ 'TranscodeJobId' => ['description' => 'The ID of the transcode job.', 'type' => 'string', 'example' => '38f0e513c88*****85515f9d50be188', 'title' => ''],
+ '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\\"}]', 'title' => ''],
+ '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', 'title' => ''],
+ '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\\"}', 'title' => ''],
+ 'Height' => ['description' => 'Height of the video frame in the transcoded output file. Unit: pixels (px).', 'type' => 'string', 'example' => '360', 'title' => ''],
+ 'SubtitleStreamList' => ['description' => 'List of subtitle streams.', 'type' => 'string', 'example' => '[]', 'title' => ''],
+ 'Bitrate' => ['description' => 'Average bitrate of the transcoded output file. Unit: Kbps.', 'type' => 'string', 'example' => '964', 'title' => ''],
+ '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\\"}]', 'title' => ''],
+ 'Width' => ['description' => 'Width of the video frame in the transcoded output file. Unit: pixels (px).', 'type' => 'string', 'example' => '640', 'title' => ''],
+ 'Fps' => ['description' => 'Frame rate of the transcoded output file. Unit: frames per second (fps).', 'type' => 'string', 'example' => '25', 'title' => ''],
+ 'Duration' => ['description' => 'Duration of the transcoded output file. Unit: seconds (s).', 'type' => 'string', 'example' => '12', 'title' => ''],
+ 'Format' => ['description' => 'Container format of the transcoded output file.', 'type' => 'string', 'example' => 'm3u8', 'title' => ''],
+ 'Filesize' => ['description' => 'Size of the transcoded output file. Unit: bytes (B).', 'type' => 'integer', 'format' => 'int64', 'example' => '851076', 'title' => ''],
+ 'WatermarkIdList' => [
+ 'description' => 'List of watermarks used for transcoding.',
+ 'type' => 'array',
+ 'items' => ['description' => 'List of watermarks used for transcoding.', 'type' => 'string', 'example' => '["64079a0e3e286*****b48a8c9413"]', 'title' => ''],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
],
- 'QpsDataInterval' => [
+ 'TranscodeTask' => [
+ 'description' => 'Details about transcoding tasks.'."\n",
'type' => 'object',
- 'itemNode' => true,
'properties' => [
- 'DataModule' => [
- 'description' => 'The list of QPS records at each interval.'."\n",
+ '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', 'title' => ''],
+ '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 ', 'title' => ''],
+ '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', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the audio or video file.'."\n", 'type' => 'string', 'example' => '883f5d98107*****b7f20aaa352f', 'title' => ''],
+ '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', 'title' => ''],
+ 'TranscodeTemplateGroupId' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'example' => 'b500c7094bd241*****3e9900752d7c3', 'title' => ''],
+ 'TranscodeTaskId' => ['description' => 'The ID of the transcoding task.'."\n", 'type' => 'string', 'example' => 'b1b65ab107e14*****3dbb900f6c1fe0', 'title' => ''],
+ 'TranscodeJobInfoList' => [
+ 'description' => 'Details about transcoding jobs.'."\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',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ErrorMessage' => ['description' => 'The error message returned when the transcoding job failed.'."\n", 'type' => 'string', 'example' => 'ErrorMessage', 'title' => ''],
+ 'ErrorCode' => ['description' => 'The error code returned when the transcoding job failed.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''],
+ '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', 'title' => ''],
+ 'TranscodeProgress' => ['description' => 'The progress of the transcoding job. Valid values: `[0,100]`.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
+ 'Priority' => ['description' => 'The priority of the transcoding job.'."\n", 'type' => 'string', 'example' => '6', 'title' => ''],
+ 'TranscodeJobStatus' => ['description' => 'The status of the transcoding job.'."\n"
+ ."\n"
+ .'* **Transcoding**'."\n"
+ .'* **TranscodeSuccess**'."\n"
+ .'* **TranscodeFail**'."\n", 'type' => 'string', 'example' => 'Transcoding', 'title' => ''],
+ 'TranscodeTemplateId' => ['description' => 'The ID of the transcoding template.'."\n", 'type' => 'string', 'example' => '174b0534fea3*****b51c8f0ad1374', 'title' => ''],
+ 'TranscodeJobId' => ['description' => 'The ID of the transcoding job.'."\n", 'type' => 'string', 'example' => '38f0e513c88*****85515f9d50be188', 'title' => ''],
+ '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\\"}]', 'title' => ''],
+ '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', 'title' => ''],
+ '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\\"}', 'title' => ''],
+ 'Height' => ['description' => 'The height of the output video. Unit: pixels.'."\n", 'type' => 'string', 'example' => '360', 'title' => ''],
+ 'SubtitleStreamList' => ['description' => 'The subtitle streams.'."\n", 'type' => 'string', 'example' => '[]', 'title' => ''],
+ 'Bitrate' => ['description' => 'The average bitrate of the output file. Unit: Kbit/s.'."\n", 'type' => 'string', 'example' => '964', 'title' => ''],
+ '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\\"}]', 'title' => ''],
+ 'Width' => ['description' => 'The width of the output video. Unit: pixels.'."\n", 'type' => 'string', 'example' => '640', 'title' => ''],
+ 'Fps' => ['description' => 'The frame rate of the output file. Unit: frames per second.'."\n", 'type' => 'string', 'example' => '25', 'title' => ''],
+ 'Duration' => ['description' => 'The length of the output file. Unit: seconds.'."\n", 'type' => 'string', 'example' => '12', 'title' => ''],
+ 'Format' => ['description' => 'The container format of the output file.'."\n", 'type' => 'string', 'example' => 'm3u8', 'title' => ''],
+ 'Filesize' => ['description' => 'The size of the output file. Unit: byte.', 'type' => 'integer', 'format' => 'int64', 'example' => '851076', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
],
],
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- '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"
+ '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\\": 80,\\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"
- .'|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"
+ .'The following table describes the common errors that this operation can return. '."\n"
."\n"
- .'---',
- ],
- 'DescribeVodDomainHitRateData' => [
- 'summary' => 'Queries the byte hit ratios of accelerated domain names. Byte hit ratios are measured in percentage.',
- 'methods' => [
- 'post',
- 'get',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:40.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:03.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTranscodeTask'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetTranscodeTask',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '39881',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '39986',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'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',
+ 'name' => 'TranscodeTemplateGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'a591f697c7167*****6ae1502142d0', 'title' => ''],
],
],
'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' => [
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6730AC93-7B12-4B*****7F-49EE1FE8BC49', 'title' => ''],
+ 'TranscodeTemplateGroup' => [
+ 'description' => 'The information about the transcoding template group.'."\n",
'type' => 'object',
- 'itemNode' => true,
'properties' => [
- 'DataModule' => [
- 'description' => 'The byte hit rate data at each time interval.'."\n",
+ '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', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the template group is the default one. Valid values:'."\n"
+ ."\n"
+ .'* **Default**'."\n"
+ .'* **NotDefault**'."\n", 'type' => 'string', 'example' => 'NotDefault', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'TranscodeTemplateGroupId' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'example' => 'a59b11f697c716*****6ae1502142d0', 'title' => ''],
+ 'Name' => ['description' => 'The name of the transcoding template group.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'TranscodeTemplateList' => [
+ 'description' => 'The information about the transcoding templates.'."\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',
- ],
+ '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', 'title' => ''],
+ '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"}', 'title' => ''],
+ '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"}', 'title' => ''],
+ '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', 'title' => ''],
+ 'TranscodeTemplateId' => ['description' => 'The transcoding template ID.'."\n", 'type' => 'string', 'example' => '696d29a11erc057*****a3acc398d02f4', 'title' => ''],
+ 'TemplateName' => ['description' => 'The name of the transcoding template.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'EncryptSetting' => ['description' => 'The encryption configuration for transcoding.'."\n", 'type' => 'string', 'example' => '"EncryptType":"Private"', 'title' => ''],
+ '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"}', 'title' => ''],
+ 'TranscodeFileRegular' => ['description' => 'The custom path used to store the output files.'."\n", 'type' => 'string', 'example' => '{MediaId}/transcoce_1', 'title' => ''],
+ '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"', 'title' => ''],
+ '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"}', 'title' => ''],
+ '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', 'title' => ''],
+ '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" }', 'title' => ''],
+ '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"}]', 'title' => ''],
+ '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" }', 'title' => ''],
+ '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"', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'TraceMark' => ['description' => 'The content of the tracing watermark.'."\n", 'type' => 'string', 'example' => '{'."\n"
+ .' "Enable": true'."\n"
+ .'}', 'title' => ''],
+ 'CopyrightMark' => ['description' => 'The content of the copyright watermark.'."\n", 'type' => 'string', 'example' => '{'."\n"
+ .'"Content": "Test copyright watermark text"'."\n"
+ .'}', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ '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\\\\\\"Content\\\\\\": \\\\\\"Test copyright watermark text\\\\\\"\\\\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",
+ 'extraInfo' => '## Common errors'."\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"
+ .'The following table describes the common errors that this operation can return.'."\n"
."\n"
- .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n"
- .'|---|---|---|---|'."\n"
- .'|5 minutes|Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days ≤ Time range per query &#x3C; 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTranscodeTemplateGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ ],
+ 'GetURLUploadInfos' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
- 'abilityTreeCode' => '219327',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39992',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
+ '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 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',
+ 'name' => 'JobIds',
'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',
- ],
+ 'schema' => ['description' => 'A list of upload job IDs. A JobId is the value of the JobId parameter returned when you call the [UploadMediaByURL](~~86311~~) operation.'."\n"
+ ."\n"
+ .'- You can specify up to 10 IDs.'."\n"
+ ."\n"
+ .'- Separate multiple IDs with commas (,).'."\n"
+ ."\n"
+ .'> You must specify either JobIds or UploadURLs. If you specify both, only JobIds is processed.', 'type' => 'string', 'required' => false, 'example' => '86c1925fba0****,7afb201e7fa****,2cc4997378****', 'title' => ''],
],
[
- 'name' => 'Interval',
+ 'name' => 'UploadURLs',
'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',
- ],
+ 'schema' => ['description' => 'A list of source video file URLs. Separate multiple URLs with commas (,). You can specify up to 10 URLs.'."\n"
+ ."\n"
+ .'> - URL-encode the URLs before you use them.'."\n"
+ .'>'."\n"
+ .'> - If a video from the same URL is uploaded multiple times, specify a single URL for the query.'."\n"
+ .'>'."\n"
+ .'> - You must specify either JobIds or UploadURLs. If you specify both, only JobIds is processed.', 'type' => 'string', 'required' => false, 'example' => 'http://****.mp4', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned results.'."\n",
+ 'description' => 'The response.',
'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****',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'NonExists' => [
+ 'description' => 'A list of IDs of URL-based upload jobs or URLs that do not exist.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A list of IDs of URL-based upload jobs or URLs that do not exist.', 'type' => 'string', 'example' => '["****1", "****2"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- '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',
- ],
- ],
- ],
+ 'URLUploadInfoList' => [
+ 'description' => 'A list of URL upload job details. For more information, see [URLUploadInfo](~~52839~~).',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the URL-based upload job.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => ['description' => 'The time when the job was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2019-01-01T01:01:01Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the URL-based upload job. For more information about the valid values, see [Status](~~52839~~).', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''],
+ 'ErrorMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'error_message', 'title' => ''],
+ 'ErrorCode' => ['description' => 'The error code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'CompleteTime' => ['description' => 'The time when the job was completed. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2019-01-01T01:11:01Z', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the upload job.', 'type' => 'string', 'example' => '86c1925fba0****', 'title' => ''],
+ 'UserData' => ['description' => 'Custom settings. This is a JSON string. For more information, see [UserData](~~86952~~).', 'type' => 'string', 'example' => '{"MessageCallback":"{"CallbackURL":"http://example.aliyundoc.com"}", "Extend":"{"localId":"***", "test":"www"}"}', 'title' => ''],
+ 'UploadURL' => ['description' => 'The URL of the source video file.'."\n"
+ ."\n"
+ .'> A maximum of 100 records are returned.', 'type' => 'string', 'example' => 'http://****.mp4', 'title' => ''],
+ 'MediaId' => ['description' => 'The media ID.', 'type' => 'string', 'example' => '93ab850b4f6f54b6e91d24d81d4****', 'title' => ''],
+ 'FileSize' => ['description' => 'The file size. Unit: bytes.', 'type' => 'string', 'example' => '24', 'title' => ''],
+ 'RegisteredMediaId' => ['type' => 'string', 'example' => '93ab850b4f654b6e91d24d81d44****', 'description' => '', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
- ],
- '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',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'GetURLUploadInfos',
+ 'summary' => 'Retrieves information about URL-based upload jobs.',
+ 'description' => '- You can query information about URL-based upload jobs, including the job status, UserData, creation time, and completion time, using the JobId or the source URL.'."\n"
."\n"
- .'**Time granularity**'."\n"
+ .'- **This operation queries data only for upload jobs created within the last year.**'."\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"
+ .'- The endpoints for this operation are available only in the following regions: **China (Shanghai)** and **Singapore**.'."\n"
."\n"
- .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n"
- .'|---|---|---|---|'."\n"
- .'|5 minutes|Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days ≤ Time range per query &#x3C; 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',
+ .'- After you upload a media file to ApsaraVideo VOD by calling the [UploadMediaByURL](~~UploadMediaByURL~~) operation, you can call this operation to query the upload information using the upload job ID (`JobIds`) or the source file URL (`UploadURLs`).'."\n"
+ ."\n"
+ .'- When you call this operation, specify either `JobIds` or `UploadURLs`. If you specify both, only `JobIds` is processed.'."\n"
+ ."\n"
+ .'- If a media asset fails to upload, call this operation to view the error code and error message. If the upload is successful, call this operation to view the media ID.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:31.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetURLUploadInfos'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetURLUploadInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ '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',
- 'abilityTreeCode' => '219275',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39988',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'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',
+ 'name' => 'MediaIds',
'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',
- ],
+ '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"
+ ."\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"
+ ."\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"
+ ."\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****', 'title' => ''],
],
[
- 'name' => 'IspNameEn',
+ 'name' => 'MediaType',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.',
'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.', 'type' => 'string', 'example' => '9E290613-04F4-47F4-795D30732077****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'C74802AA-C277-5A80-BDF2-072B05F119C7',
+ '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'UploadSource' => ['description' => 'The method that is used to upload the media file.', 'type' => 'string', 'example' => 'WebSDK', 'title' => ''],
+ 'UploadIP' => ['description' => 'The IP address of the server that uploads the media file.', 'type' => 'string', 'example' => '192.168.0.1', 'title' => ''],
+ 'DeviceModel' => ['description' => 'The device model.', 'type' => 'string', 'example' => 'Chrome', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2019-04-28T09:43:12Z', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2019-04-28T09:45:07Z', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the uploaded audio or video.', 'type' => 'string', 'example' => '61ccbdb06fa83012be4d8083f6****', 'title' => ''],
+ 'UploadSize' => ['description' => 'The upload size. Unit: byte.', 'type' => 'integer', 'format' => 'int64', 'example' => '346', 'title' => ''],
+ 'UploadRatio' => ['description' => 'The upload ratio.', 'type' => 'number', 'format' => 'float', 'example' => '0.038', 'title' => ''],
+ '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' => ''],
+ 'Title' => ['description' => 'The title of the media file.', 'type' => 'string', 'example' => 'Test file upload details', 'title' => ''],
+ 'FileSize' => ['description' => 'The size of the uploaded file. Unit: byte.', 'type' => 'integer', 'format' => 'int64', 'example' => '46', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"Test file upload details\\",\\n \\"FileSize\\": 46\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'GetUploadDetails',
+ 'description' => '- You can call this operation to obtain the upload details only about audio and video files.'."\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"
+ .'- 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"
."\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',
+ .' - The version of the upload SDK for Java is 1.4.4 or later.'."\n"
+ ."\n"
+ .' - The version of the upload SDK for C++ is 1.0.0 or later.'."\n"
+ ."\n"
+ .' - The version of the upload SDK for PHP is 1.0.2 or later.'."\n"
+ ."\n"
+ .' - The version of the upload SDK for Python is 1.3.0 or later.'."\n"
+ ."\n"
+ .' - The version of the upload SDK for JavaScript is 1.4.0 or later.'."\n"
+ ."\n"
+ .' - The version of the upload SDK for Android is 1.5.0 or later.'."\n"
+ ."\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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:25.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUploadDetails'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetUploadDetails',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'translator' => 'manual',
+ ],
+ 'GetVideoInfo' => [
+ 'summary' => 'Call this operation to retrieve the title, description, duration, thumbnail URL, status, creation time, size, snapshots, category, and tags of a single audio or video file by its ID.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39899',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '39998',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'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',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the audio or video file. Specify only one ID. Obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- For a video uploaded in the [VOD console](https://vod.console.aliyun.com), log on to the console and choose **Media Library** > **Audio/Video** to view the ID.'."\n"
+ ."\n"
+ .'- When you call the [CreateUploadVideo](~~55407~~) operation to create an upload URL and credential, the value of the VideoId parameter in the response is the audio or video ID.'."\n"
+ ."\n"
+ .'- After the audio or video file is uploaded, call the [SearchMedia](~~86044~~) operation to query the ID. The value of the VideoId parameter in the response is the audio or video ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '9b73864d75f1d231e9001cd5f8****', 'title' => ''],
],
[
- 'name' => 'Interval',
+ 'name' => 'ReferenceId',
'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',
- ],
+ 'schema' => ['description' => 'The custom ID. The ID can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The response parameters.',
'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' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'Video' => [
+ 'description' => 'The information about the audio or video file.',
'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',
- ],
+ 'StorageLocation' => ['description' => 'The storage address of the audio or video file.', 'type' => 'string', 'example' => 'out-201703232251****.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2017-11-14T09:15:50Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the audio or video file. For more information about the available operations and limits for each state, see [Status: the status of an audio or video file](~~52839#title-vqg-8cz-7p8~~). Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The file is being uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The file failed to be uploaded.'."\n"
+ ."\n"
+ .'- **UploadSucc**: The file is uploaded.'."\n"
+ ."\n"
+ .'- **Transcoding**: The file is being transcoded.'."\n"
+ ."\n"
+ .'- **TranscodeFail**: The file failed to be transcoded.'."\n"
+ ."\n"
+ .'- **Blocked**: The file is blocked.'."\n"
+ ."\n"
+ .'- **Normal**: The file is in a normal state.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '781111****', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the audio or video file.', 'type' => 'string', 'example' => '9b73864d75f1d231e9001cd5f8****', 'title' => ''],
+ 'DownloadSwitch' => ['description' => 'The status of the offline download feature. When this feature is enabled, mobile client users can use ApsaraVideo Player to cache videos for offline viewing. For more information, see [Configure offline download](~~86107~~). Valid values:'."\n"
+ ."\n"
+ .'- **on**: The offline download feature is enabled.'."\n"
+ ."\n"
+ .'- **off**: The offline download feature is disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'Tags' => ['description' => 'The tags of the audio or video file. Multiple tags are separated by commas (,).', 'type' => 'string', 'example' => 'tag1, tag2', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '2017-11-14T10:15:50Z', 'title' => ''],
+ 'RegionId' => ['description' => 'The region where the audio or video file is stored.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''],
+ 'CustomMediaInfo' => ['description' => 'The custom media information.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. This parameter is not returned in API calls.', 'type' => 'string', 'example' => '{"aaa":"test"}', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'cate1', 'title' => ''],
+ 'Description' => ['description' => 'The description of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD video description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'Size' => ['description' => 'The size of the source audio or video file. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '10897890', 'title' => ''],
+ 'CoverURL' => ['description' => 'The URL of the thumbnail.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/****.jpg', 'title' => ''],
+ 'TemplateGroupId' => ['description' => 'The ID of the transcoding template group.', 'type' => 'string', 'example' => '9ae2af636ca64835b0c10412f448****', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the audio or video file. Unit: seconds.', 'type' => 'number', 'format' => 'float', 'example' => '135.6', 'title' => ''],
+ 'Title' => ['description' => 'The title of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Video Title', 'title' => ''],
+ 'AuditStatus' => ['description' => 'The final review result of the audio or video file. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The file passed the review.'."\n"
+ ."\n"
+ .'- **Blocked**: The file is blocked.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'Snapshots' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Snapshot' => [
+ 'description' => 'An array of video snapshot URLs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'An array of video snapshot URLs.'."\n"
+ ."\n"
+ .'> This operation returns only the thumbnail data of the video. To query the data of normal snapshots, sprites, original sprite images, and WebVTT snapshots that are captured using the [snapshot](~~99368~~) feature, call the [ListSnapshots](~~ListSnapshots~~) operation.', '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****",...]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**'."\n"
+ ."\n"
+ .'- **IA**'."\n"
+ ."\n"
+ .'- **Archive**'."\n"
+ ."\n"
+ .'- **ColdArchive**'."\n"
+ ."\n"
+ .'- **SourceIA**'."\n"
+ ."\n"
+ .'- **SourceArchive**'."\n"
+ ."\n"
+ .'- **SourceColdArchive**'."\n"
+ ."\n"
+ .'- **Changing**: The storage class of the media asset is being changed.'."\n"
+ ."\n"
+ .'- **SourceChanging**: The storage class of the source file is being changed.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'RestoreStatus' => ['description' => 'The restored state of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Processing**: The media asset is being restored.'."\n"
+ ."\n"
+ .'- **Success**: The media asset is restored.'."\n"
+ ."\n"
+ .'- **Failed**: The media asset failed to be restored.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'RestoreExpiration' => ['description' => 'The expiration time of the restored media asset.', 'type' => 'string', 'example' => '2023-03-30T10:14:14Z', 'title' => ''],
+ 'UserData' => ['description' => 'The custom settings. The value is a JSON string. The settings include message callbacks and upload acceleration. For more information, see [UserData](~~86952~~).', 'type' => 'string', 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', 'title' => ''],
+ 'ReferenceId' => ['description' => 'The custom ID. The ID can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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 \\"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}","type":"json"}]',
+ 'title' => 'GetVideoInfo',
+ 'description' => 'After an audio or video file is uploaded, VOD analyzes the source file and generates the media asset information asynchronously. You can configure [event notifications](~~55627~~) for [video and audio analysis completion](~~99935~~). After you receive an event notification that indicates the analysis is complete, call this operation to retrieve the audio or video information.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## 接口错误码'."\n"
+ ."\n"
+ .'下表列举了本接口特有的错误码。'."\n"
+ .'| 错误代码 | 错误信息 | HTTP 状态码 | 说明 |'."\n"
+ .'| ------------- |------------ | ----- | ------ |'."\n"
+ .'| InvalidVideo.NotFound |The video does not exist. |404 |视频不存在。|'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:50.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoInfo'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'GetVideoInfos' => [
+ 'summary' => 'You can call this operation to retrieve information about multiple audio or video files in a batch using their IDs. The information includes the title, description, duration, thumbnail URL, status, creation time, size, snapshots, categorization, and tags.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39898',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '43387',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'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',
+ 'name' => 'VideoIds',
'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',
- ],
+ 'schema' => ['description' => 'A list of audio or video IDs. Separate multiple IDs with commas (,). A maximum of 20 IDs is supported. You can obtain audio or video IDs in the following ways:'."\n"
+ ."\n"
+ .'- For videos uploaded using the console, log on to the [VOD console](https://vod.console.aliyun.com) and choose **Media Library** > **Audio/Video** to view the audio or video IDs.'."\n"
+ ."\n"
+ .'- When you call the [CreateUploadVideo](~~55407~~) operation to obtain an upload URL and credentials, the audio or video ID is the value of the VideoId response parameter.'."\n"
+ ."\n"
+ .'- After you upload an audio or video file, call the [SearchMedia](~~86044~~) operation to query the audio or video ID. The ID is the value of the VideoId response parameter.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '7753d144efd8e649c6c45fe0579****,7753d144efd74d6c45fe0570****', 'title' => ''],
],
[
- 'name' => 'Interval',
+ 'name' => 'ReferenceIds',
'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',
- ],
+ 'schema' => ['description' => 'A list of one or more custom IDs. Separate multiple IDs with commas (,). A maximum of 20 IDs is supported.', 'type' => 'string', 'example' => '123-123,1234-1234', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response that is returned.',
'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',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'NonExistVideoIds' => [
+ 'description' => 'A list of audio or video IDs that do not exist.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A list of audio or video IDs that do not exist.', 'type' => 'string', 'example' => '["7753d144efd8e649c6c45fe0579****"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'DataInterval' => [
- 'description' => 'The time interval at which data is returned, which is the time granularity. Unit: seconds.'."\n",
- 'type' => 'string',
- 'example' => '300',
+ 'NonExistReferenceIds' => [
+ 'type' => 'array',
+ 'items' => ['description' => 'A list of custom IDs that do not exist.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
+ 'description' => 'A list of custom IDs that do not exist.',
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ 'VideoList' => [
+ 'description' => 'The list of audio or video information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the audio or video information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'StorageLocation' => ['description' => 'The storage address of the audio or video file.', 'type' => 'string', 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'CreationTime' => ['description' => 'The time when the audio or video file was created. The format is *yyyy-MM-dd*T*HH:mm:ss*Z in UTC.', 'type' => 'string', 'example' => '2017-06-26T05:38:48Z', 'title' => ''],
+ 'Status' => ['description' => 'The status of the video. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The video is being uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The video failed to be uploaded.'."\n"
+ ."\n"
+ .'- **UploadSucc**: The video was successfully uploaded.'."\n"
+ ."\n"
+ .'- **Transcoding**: The video is being transcoded.'."\n"
+ ."\n"
+ .'- **TranscodeFail**: The video failed to be transcoded.'."\n"
+ ."\n"
+ .'- **Blocked**: The video is blocked.'."\n"
+ ."\n"
+ .'- **Normal**: The video is available.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '781111****', 'title' => ''],
+ 'VideoId' => ['description' => 'The audio or video ID.', 'type' => 'string', 'example' => '7753d144efd74d6c45fe0570****', 'title' => ''],
+ 'DownloadSwitch' => ['description' => 'The status of the offline download feature. If this feature is enabled, users of mobile devices can use ApsaraVideo Player to cache videos for offline viewing. For more information, see [Offline download](~~86107~~). Valid values:'."\n"
+ ."\n"
+ .'- **on**: Offline download is enabled.'."\n"
+ ."\n"
+ .'- **off**: Offline download is disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'Tags' => ['description' => 'The tags of the audio or video file. Separate multiple tags with commas (,).', 'type' => 'string', 'example' => 'tag1, tag2', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the audio or video file was last updated. The format is *yyyy-MM-dd*T*HH:mm:ss*Z in UTC.', 'type' => 'string', 'example' => '2017-06-26T06:38:48Z', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'cate1', 'title' => ''],
+ 'Description' => ['description' => 'The description of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD video description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'Size' => ['description' => 'The size of the source audio or video file, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '453', 'title' => ''],
+ 'CoverURL' => ['description' => 'The thumbnail URL of the audio or video file.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/****.jpg', 'title' => ''],
+ 'TemplateGroupId' => ['description' => 'The ID of the transcoding template group.', 'type' => 'string', 'example' => 'b4039216985f4312a5382a4ed****', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the audio or video file, in seconds.', 'type' => 'number', 'format' => 'float', 'example' => '120', 'title' => ''],
+ 'Title' => ['description' => 'The title of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Video Title', 'title' => ''],
+ 'Snapshots' => [
+ 'description' => 'An array of video snapshot URLs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'An array of video snapshot URLs.'."\n"
+ ."\n"
+ .'> This operation returns only the thumbnail snapshot data of the video. To query data for normal snapshots, sprites, original sprite images, and WebVTT snapshots that are captured using the [video snapshot](~~99368~~) feature, call the [ListSnapshots](~~ListSnapshots~~) operation.', '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****",...]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**: Standard'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access'."\n"
+ ."\n"
+ .'- **Archive**: Archive'."\n"
+ ."\n"
+ .'- **ColdArchive**: Cold Archive'."\n"
+ ."\n"
+ .'- **SourceIA**: The storage class of the source file is Infrequent Access.'."\n"
+ ."\n"
+ .'- **SourceArchive**: The storage class of the source file is Archive.'."\n"
+ ."\n"
+ .'- **SourceColdArchive**: The storage class of the source file is Cold Archive.'."\n"
+ ."\n"
+ .'- **Changing**: The storage class of the media asset is being changed.'."\n"
+ ."\n"
+ .'- **SourceChanging**: The storage class of the source file is being changed.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'RestoreStatus' => ['description' => 'The restoration status of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Processing**: The media asset is being restored.'."\n"
+ ."\n"
+ .'- **Success**: The media asset is restored.'."\n"
+ ."\n"
+ .'- **Failed**: The media asset failed to be restored.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'RestoreExpiration' => ['description' => 'The time when the restored media asset expires.', 'type' => 'string', 'example' => '2023-03-30T10:14:14Z', 'title' => ''],
+ 'UserData' => ['description' => 'Custom settings. This is a JSON string that supports settings such as message callbacks and upload acceleration. For more information, see [UserData](~~86952~~).', 'type' => 'string', 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', 'title' => ''],
+ 'ReferenceId' => ['description' => 'The custom ID. The ID can contain only lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'GetVideoInfos',
+ 'description' => '- You can retrieve information for a maximum of 20 audio or video files in a single call.'."\n"
."\n"
- .'**Time granularity**'."\n"
+ .'- After you upload an audio or video file, VOD analyzes the source file. The media asset information is generated asynchronously. You can set an [event notification](~~55627~~) for the [VideoAnalysisComplete](~~99935~~) event. After you receive the notification, you can call this operation to retrieve the audio or video information.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## Common errors'."\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"
+ .'The following table describes the common errors that this operation can return.'."\n"
."\n"
- .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n"
- .'|---|---|---|---|'."\n"
- .'|5 minutes|Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days ≤ Time range per query &#x3C; 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:37.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:23.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoInfos'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'GetVideoList' => [
+ 'summary' => 'Retrieves a list of video information.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39896',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40000',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'CateId',
'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',
- ],
+ 'schema' => ['description' => 'The category ID. Obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [VOD console](https://vod.console.aliyun.com) and choose **Configuration Management** > **Media Management** > **Categories** to view the category ID.'."\n"
+ ."\n"
+ .'- The value of the CateId parameter that is returned after you call the [AddCategory](~~56401~~) operation.'."\n"
+ ."\n"
+ .'- The value of the CateId parameter that is returned after you call the [GetCategories](~~56406~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '781111', 'title' => ''],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The status of the video. To retrieve videos in multiple statuses, separate the statuses with a comma (,). Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The video is being uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The video failed to be uploaded.'."\n"
+ ."\n"
+ .'- **UploadSucc**: The video is uploaded.'."\n"
+ ."\n"
+ .'- **Transcoding**: The video is being transcoded.'."\n"
+ ."\n"
+ .'- **TranscodeFail**: The video failed to be transcoded.'."\n"
+ ."\n"
+ .'- **Checking**: The video is being reviewed.'."\n"
+ ."\n"
+ .'- **Blocked**: The video is blocked.'."\n"
+ ."\n"
+ .'- **Normal**: The video is in a normal state.'."\n"
+ ."\n"
+ .'- **ProduceFail**: The video failed to be produced.'."\n"
+ ."\n"
+ .'For more information about each video status and its limits, see [Status: Video status](~~52839#section-p7c-jgy-070~~).', 'type' => 'string', 'required' => false, 'example' => 'Uploading,Normal', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. The default value is **10**. The maximum value is **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'SortBy',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The sorting rule for the query results. Valid values:'."\n"
+ ."\n"
+ .'- **CreationTime:Desc** (default): Sorts the results by creation time in descending order.'."\n"
+ ."\n"
+ .'- **CreationTime:Asc**: Sorts the results by creation time in ascending order.', 'type' => 'string', 'required' => false, 'example' => 'CreationTime:Asc', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The beginning of the time range to query based on the creation time. The time is in UTC. The format is *yyyy-MM-dd*T*HH:mm:ss*Z.', 'type' => 'string', 'required' => false, 'example' => '2017-01-11T12:00:00Z', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The end of the time range to query based on the creation time. The end time must be later than the start time. The time is in UTC. The format is *yyyy-MM-dd*T*HH:mm:ss*Z.', 'type' => 'string', 'required' => false, 'example' => '2017-01-11T12:59:00Z', 'title' => ''],
],
[
- 'name' => 'IspNameEn',
+ 'name' => 'StorageLocation',
'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',
- ],
+ 'schema' => ['description' => 'The storage address of the audio or video file.', 'type' => 'string', 'required' => false, 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
],
[
- 'name' => 'LocationNameEn',
+ 'name' => 'ReferenceIds',
'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',
- ],
+ 'schema' => ['description' => 'A list of one or more custom IDs. Separate multiple IDs with a comma (,). You can specify up to 20 IDs.', 'type' => 'string', 'example' => '123-123,1234-1234', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response parameters.',
'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' => [
+ 'Total' => ['description' => 'The total number of audio or video files.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'VideoList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'DataModule' => [
- 'description' => 'The details of traffic data in each time interval.'."\n",
+ 'Video' => [
+ 'description' => 'A list of audio or video information. You can retrieve a maximum of 5,000 entries.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of the audio or video file.',
'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',
+ 'StorageLocation' => ['description' => 'The storage address of the audio or video file.', 'type' => 'string', 'example' => 'out-****.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'Status' => ['description' => 'The status of the video. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The video is being uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The video failed to be uploaded.'."\n"
+ ."\n"
+ .'- **UploadSucc**: The video is uploaded.'."\n"
+ ."\n"
+ .'- **Transcoding**: The video is being transcoded.'."\n"
+ ."\n"
+ .'- **TranscodeFail**: The video failed to be transcoded.'."\n"
+ ."\n"
+ .'- **Checking**: The video is being reviewed.'."\n"
+ ."\n"
+ .'- **Blocked**: The video is blocked.'."\n"
+ ."\n"
+ .'- **Normal**: The video is in a normal state.'."\n"
+ ."\n"
+ .'- **ProduceFail**: The video failed to be produced.'."\n"
+ ."\n"
+ .'For more information about each video status and its limits, see [Status: Video status](~~52839#section-p7c-jgy-070~~).', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'CreationTime' => ['description' => 'The time when the audio or video file was created. The time is in UTC. The format is *yyyy-MM-dd*T*HH:mm:ss*Z.', 'type' => 'string', 'example' => '2017-11-14T09:15:50Z', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '781111', 'title' => ''],
+ 'VideoId' => ['description' => 'The audio or video ID.', 'type' => 'string', 'example' => '9ae2af636ca6c10412f44891fc****', 'title' => ''],
+ 'Tags' => ['description' => 'The tags of the audio or video file. Multiple tags are separated by a comma (,).', 'type' => 'string', 'example' => 'Tag 1, Tag 2', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the video was last updated. The time is in UTC. The format is *yyyy-MM-dd*T*HH:mm:ss*Z.', 'type' => 'string', 'example' => '2017-11-14T09:16:50Z', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'Category name', 'title' => ''],
+ 'Description' => ['description' => 'The description of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD video description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID. Default value: **app-1000000**.', 'type' => 'string', 'example' => 'app-1000000', 'title' => ''],
+ 'Size' => ['description' => 'The size of the source audio or video file. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '10897890', 'title' => ''],
+ 'CoverURL' => ['description' => 'The URL of the cover image for the audio or video file.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/****.jpg', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the audio or video file. Unit: seconds.', 'type' => 'number', 'format' => 'float', 'example' => '135.6', 'title' => ''],
+ 'Title' => ['description' => 'The title of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD video title', 'title' => ''],
+ 'Snapshots' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Snapshot' => [
+ 'description' => 'An array of video snapshot URLs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The URL of a video snapshot.'."\n"
+ ."\n"
+ .'> Snapshot data is returned only for videos that are processed by the [video snapshot](~~99368~~) feature. Otherwise, this parameter is empty.', 'type' => 'string', 'example' => 'http://example.aliyundoc.com/snapshot/****.jpg?auth_key=1498476426-0-0-f00b9455c49a423ce69cf4e27333****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**: Standard.'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access.'."\n"
+ ."\n"
+ .'- **Archive**: Archive.'."\n"
+ ."\n"
+ .'- **ColdArchive**: Cold Archive.'."\n"
+ ."\n"
+ .'- **SourceIA**: Infrequent Access for the source file.'."\n"
+ ."\n"
+ .'- **SourceArchive**: Archive for the source file.'."\n"
+ ."\n"
+ .'- **SourceColdArchive**: Cold Archive for the source file.'."\n"
+ ."\n"
+ .'- **Changing**: The storage class of the media asset is being changed.'."\n"
+ ."\n"
+ .'- **SourceChanging**: The storage class of the source file is being changed.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'RestoreStatus' => ['description' => 'The restoration status of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Processing**: The media asset is being restored.'."\n"
+ ."\n"
+ .'- **Success**: The media asset is restored.'."\n"
+ ."\n"
+ .'- **Failed**: The media asset failed to be restored.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'RestoreExpiration' => ['description' => 'The expiration time of the restored media asset.', 'type' => 'string', 'example' => '2023-03-30T10:14:14Z', 'title' => ''],
+ 'UserData' => ['description' => 'Custom settings. This is a JSON string that supports settings such as message callbacks and upload acceleration. For more information, see [UserData](~~86952~~).', 'type' => 'string', 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', 'title' => ''],
+ 'ReferenceId' => ['description' => 'The custom ID. It can contain only lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length. The ID must be unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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\\": \\"Tag 1, Tag 2\\",\\n \\"ModificationTime\\": \\"2017-11-14T09:16:50Z\\",\\n \\"CateName\\": \\"Category name\\",\\n \\"Description\\": \\"Alibaba Cloud VOD video description\\",\\n \\"AppId\\": \\"app-1000000\\",\\n \\"Size\\": 10897890,\\n \\"CoverURL\\": \\"https://example.aliyundoc.com/****.jpg\\",\\n \\"Duration\\": 135.6,\\n \\"Title\\": \\"Alibaba Cloud VOD video title\\",\\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}","type":"json"}]',
+ 'title' => 'GetVideoList',
+ 'description' => 'This operation retrieves up to **5000** media files based on filter conditions, such as video status or category ID. To retrieve data in batches, specify the StartTime and EndTime parameters. To query more files or traverse all media asset information, see [SearchMedia](~~86044~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## Common errors'."\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"
+ .'The following table describes the common errors that this operation can return.'."\n"
."\n"
- .'|Time granularity|Time range per query|Historical data available|Data delay|'."\n"
+ .'|Error code|Error message|HTTP status code|Description|'."\n"
.'|---|---|---|---|'."\n"
- .'|1 minute|Time range per query ≤ 1 hour|7 days|5 minutes|'."\n"
- .'|5 minutes|1 Hour &#x3C; Time range per query ≤ 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days &#x3C; 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',
+ .'|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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:31.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoList'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'translator' => 'manual',
+ ],
+ 'GetVideoPlayAuth' => [
+ 'summary' => 'Obtains a playback credential (PlayAuth) for an audio or video file. The ApsaraVideo Player SDK uses this credential to automatically retrieve the playback URL. Credentials are time-bound and file-specific—do not reuse across files. Expired or invalid credentials cause playback failures. Use this method for high-security playback scenarios.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39887',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40001',
+ 'abilityTreeNodes' => ['FEATUREvodCOWQO0'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the audio or video file. You can specify only one ID. You can obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [VOD console](https://vod.console.aliyun.com). In the navigation pane, choose **Media Assets** > **Audio/Video** to view the file ID.'."\n"
+ ."\n"
+ .'- Call the [CreateUploadVideo](~~55407~~) operation to upload a file. The value of the VideoId parameter in the response is the file ID.'."\n"
+ ."\n"
+ .'- After a file is uploaded, call the [SearchMedia](~~86044~~) operation to query the file ID. The value of the VideoId parameter in the response is the file ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'dfde02284a5c46622a097adaf44a****', 'title' => ''],
],
[
- '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',
+ 'name' => 'AuthInfoTimeout',
'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',
- ],
+ 'schema' => ['description' => 'The time-to-live (TTL) of the playback credential, in **seconds**. If the credential expires, you cannot get the playback URL. Get a new credential.'."\n"
+ ."\n"
+ .'- Default value: **100**.'."\n"
+ ."\n"
+ .'- Valid values: `[100,3000]`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
],
[
- 'name' => 'StartTime',
+ 'name' => 'ApiVersion',
'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',
- ],
+ 'schema' => ['description' => 'The API version. Set the value to **1.0.0**.', 'type' => 'string', 'example' => '1.0.0', 'required' => false, 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'ReferenceId',
'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',
- ],
+ 'schema' => ['description' => 'A custom ID that is 6 to 64 characters in length. It can contain letters, digits, hyphens (-), and underscores (\\_). The ID must be unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned result.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726',
- ],
- 'Data' => [
+ 'PlayAuth' => ['description' => 'The playback credential for the audio or video file.', 'type' => 'string', 'example' => 'sstyYuew6789000000xtt7TYUh****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', 'title' => ''],
+ 'VideoMeta' => [
+ 'description' => 'The metadata of the audio or video file.',
'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',
- ],
- ],
- ],
- ],
+ 'Status' => ['description' => 'The status of the audio or video file. For more information about the valid values and descriptions, see [Status of an audio or video file](~~52839#title-vqg-8cz-7p8~~).', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the audio or video file, in seconds.', 'type' => 'number', 'format' => 'float', 'example' => '120.0', 'title' => ''],
+ 'Title' => ['description' => 'The title of the audio or video file.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Video Title', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the audio or video file.', 'type' => 'string', 'example' => 'dfde02284a5c46622a097adaf44a****', 'title' => ''],
+ 'CoverURL' => ['description' => 'The URL of the thumbnail of the audio or video file.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/****.jpg', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
- '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.',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'GetVideoPlayAuth',
+ 'description' => '- If you use PlayAuth for playback, you must use the ApsaraVideo Player SDK. Call this operation to obtain a playback credential, which the SDK uses to automatically retrieve the playback URL. For more information, see [ApsaraVideo Player SDK](~~125579~~).'."\n"
."\n"
- .'**Time granularity**'."\n"
+ .'- If a playback credential expires, you cannot retrieve the playback URL. You must obtain a new credential.',
+ 'extraInfo' => '## Common errors'."\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"
+ .'The following table describes the common errors that this operation can return. '."\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 &#x3C; Time range per query ≤ 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days &#x3C; 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:16:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '360', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoPlayAuth'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoPlayAuth',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'GetVodTemplate' => [
+ 'summary' => 'Queries details of a snapshot template.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21932,73 +17957,16 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39890',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40007',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'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',
+ 'name' => 'VodTemplateId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the snapshot template.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '7c49f2f4c0969*****fcd446690', 'title' => ''],
],
],
'responses' => [
@@ -22006,140 +17974,65 @@
'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' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DE7A1F49-41C1-47*****DF-4CD0C02087DB', 'title' => ''],
+ 'VodTemplateInfo' => [
+ 'description' => 'The information about the snapshot template.'."\n",
'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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'TemplateType' => ['description' => 'The type of the template. Valid values:'."\n"
+ ."\n"
+ .'* **Snapshot**'."\n"
+ .'* **DynamicImage**'."\n", 'type' => 'string', 'example' => 'Snapshot', 'title' => ''],
+ 'VodTemplateId' => ['description' => 'The ID of the template.'."\n", 'type' => 'string', 'example' => '7c49f2f4c09*****69fcd446690', 'title' => ''],
+ '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\\"}', 'title' => ''],
+ 'Name' => ['description' => 'The name of the template.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- '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 \\"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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVodTemplate'],
+ ],
],
- '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 &#x3C; Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days ≤ Time range per query &#x3C; 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',
- ],
+ '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' => [],
@@ -22150,69 +18043,19 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39892',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40009',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'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',
+ 'name' => 'WatermarkId',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -22220,231 +18063,169 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D',
- ],
- 'Data' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ 'WatermarkInfo' => [
+ 'description' => 'The information about the watermark template.'."\n",
'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',
- ],
- ],
- ],
- ],
+ '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', 'title' => ''],
+ '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' => 'Image', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the watermark template is the default one. Valid values:'."\n"
+ ."\n"
+ .'* **Default**'."\n"
+ .'* **NotDefault**'."\n", 'type' => 'string', 'example' => 'NotDefault', 'title' => ''],
+ '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****', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ '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" }', 'title' => ''],
+ 'Name' => ['description' => 'The name of the watermark template.'."\n", 'type' => 'string', 'example' => 'Image watermark test', 'title' => ''],
+ 'WatermarkId' => ['description' => 'The ID of the watermark template.'."\n", 'type' => 'string', 'example' => '505e2e287ea*****ecfddd386d384', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ '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\\": \\"Image watermark test\\",\\n \\"WatermarkId\\": \\"505e2e287ea*****ecfddd386d384\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
+ 'title' => 'GetWatermark',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## Common errors'."\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"
+ .'The following table describes the common errors that this operation can return.'."\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 &#x3C; Time range per query ≤ 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days &#x3C; 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:16.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetWatermark'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39893',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40020',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'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',
+ 'name' => 'VideoId',
'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',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.'."\n",
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D73420CD-D221-9122-5B8FA995A511****', 'title' => ''],
+ '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', 'title' => ''],
+ 'AIImageInfoId' => ['description' => 'The ID of the image information.'."\n", 'type' => 'string', 'example' => 'b89a6aabf1b6197ebd6fe6cf29****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'Version' => ['description' => 'The data version ID.'."\n", 'type' => 'string', 'example' => 'b547f3f0e199c3b457369f3cf****', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'example' => '357a8748c5789d2726e6436aa****', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the image AI processing job.'."\n", 'type' => 'string', 'example' => 'cf08a2c6e11ee1711b738b9067****', 'title' => ''],
+ 'Score' => ['description' => 'The score of the image.'."\n", 'type' => 'string', 'example' => '5.035636554444242', 'title' => ''],
+ 'Format' => ['description' => 'The format of the image. Valid values: **gif** and **png**.'."\n", 'type' => 'string', 'example' => 'gif', 'title' => ''],
+ ],
+ 'title' => '',
],
+ 'title' => '',
],
],
- 'description' => '',
+ 'title' => '',
],
],
],
- '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' => '[{"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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:26.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAIImageInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAIImageInfo'],
+ ],
],
- '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 &#x3C; Time range per query &#x3C; 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days ≤ Time range per query &#x3C; 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',
- ],
+ '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' => [],
@@ -22452,52 +18233,21 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39888',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40022',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'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',
+ 'name' => 'JobIds',
'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',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
@@ -22505,98 +18255,104 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8233A0E4-E112-44*****58-2BCED1B88173', 'title' => ''],
+ '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****"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'Data' => [
+ 'AIJobList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'ByteHitRateDataModel' => [
- 'description' => 'The returned data.'."\n",
+ 'AIJob' => [
+ 'description' => 'The list of jobs.'."\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',
- ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Type' => ['description' => 'The type of the job. Valid values:'."\n"
+ ."\n"
+ .'* **AIMediaDNA**: video fingerprinting'."\n"
+ .'* **AIVideoTag**: smart tagging'."\n", 'type' => 'string', 'example' => 'AIVideoTag', 'title' => ''],
+ '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":"Hmm.","ChannelId":0,"SpeechRate":85},{"EndTime":3750,"StartTime":1630,"Text":"Yes.","ChannelId":0,"SpeechRate":28},{"EndTime":5910,"StartTime":4020,"Text":"Never gets old.","ChannelId":0,"SpeechRate":95},{"EndTime":12750,"StartTime":10090,"Text":"Leave a message.","ChannelId":0,"SpeechRate":45},{"EndTime":25230,"StartTime":13590,"Text":"Hello, good afternoon.","ChannelId":0,"SpeechRate":20},{"EndTime":30000,"StartTime":28220,"Text":"Hmm.","ChannelId":0,"SpeechRate":33}],"Duration":"30016"}}', 'title' => ''],
+ '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', 'title' => ''],
+ 'JobId' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'a718a3a1e8bb42ee3bc88921e94****', 'title' => ''],
+ 'Code' => ['description' => 'The error code. This parameter is returned if the value of Status is fail.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''],
+ 'Message' => ['description' => 'The error message. This parameter is returned if the value of Status is fail.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the video file.'."\n", 'type' => 'string', 'example' => '3D3D12340d9401fab46a0b847****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => '[{"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\\\\\\":\\\\\\"Hmm.\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":85},{\\\\\\"EndTime\\\\\\":3750,\\\\\\"StartTime\\\\\\":1630,\\\\\\"Text\\\\\\":\\\\\\"Yes.\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":28},{\\\\\\"EndTime\\\\\\":5910,\\\\\\"StartTime\\\\\\":4020,\\\\\\"Text\\\\\\":\\\\\\"Never gets old.\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":95},{\\\\\\"EndTime\\\\\\":12750,\\\\\\"StartTime\\\\\\":10090,\\\\\\"Text\\\\\\":\\\\\\"Leave a message.\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":45},{\\\\\\"EndTime\\\\\\":25230,\\\\\\"StartTime\\\\\\":13590,\\\\\\"Text\\\\\\":\\\\\\"Hello, good afternoon.\\\\\\",\\\\\\"ChannelId\\\\\\":0,\\\\\\"SpeechRate\\\\\\":20},{\\\\\\"EndTime\\\\\\":30000,\\\\\\"StartTime\\\\\\":28220,\\\\\\"Text\\\\\\":\\\\\\"Hmm.\\\\\\",\\\\\\"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":"","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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:34.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAIJob'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAIJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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 &#x3C; Time range per query ≤ 3 days|93 days|15 minutes|'."\n"
- .'|1 hour|3 days &#x3C; 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',
- ],
+ 'ListAITemplate' => [
+ 'summary' => 'Queries AI templates.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -22604,246 +18360,266 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39889',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40026',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'TemplateType',
'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',
- ],
+ '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', 'title' => ''],
],
- [
- 'name' => 'StartTime',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '75B7BC67-FB8C-4653-4788-F4B01ED2****', 'title' => ''],
+ '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', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the template is the default AI template. Valid values:'."\n"
+ ."\n"
+ .'* **Default**'."\n"
+ .'* **NotDefault**'."\n", 'type' => 'string', 'example' => 'NoDefault', 'title' => ''],
+ 'TemplateType' => ['description' => 'The type of the AI template. Valid values:'."\n"
+ ."\n"
+ .'* **AIMediaAudit**: automated review'."\n"
+ .'* **AIImage**: smart thumbnail'."\n", 'type' => 'string', 'example' => 'AIMediaAudit', 'title' => ''],
+ '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"}', 'title' => ''],
+ 'TemplateName' => ['description' => 'The name of the AI template.'."\n", 'type' => 'string', 'example' => 'DemoAITemplate', 'title' => ''],
+ 'Source' => ['description' => 'The source of the AI template. Valid values:'."\n"
+ ."\n"
+ .'* **System**'."\n"
+ .'* **Custom**'."\n", 'type' => 'string', 'example' => 'Custom', 'title' => ''],
+ 'TemplateId' => ['description' => 'The ID of the AI template.'."\n", 'type' => 'string', 'example' => '1706a0063dd733f6a823ef32e0a5****', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:35.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAITemplate'],
+ ],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'ListAppInfo' => [
+ 'summary' => 'Call this operation to retrieve a list of application information based on specified query conditions.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '40042',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
[
- 'name' => 'LocationNameEn',
+ 'name' => 'Status',
'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',
- ],
+ 'schema' => ['description' => 'The status of the application. You can query applications in a specific status. After an application is created, its status is **Normal** by default. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**'."\n"
+ ."\n"
+ .'- **Disable**', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Normal'],
],
[
- 'name' => 'IspNameEn',
+ 'name' => 'PageNo',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the Internet service provider (ISP).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'unicom',
- ],
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'],
],
[
- 'name' => 'Merge',
+ 'name' => 'PageSize',
'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',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. The default value is **10**. The maximum value is **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'],
],
[
- 'name' => 'MergeLocIsp',
+ 'name' => 'ResourceGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-aekzko7fsuj****'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned results.',
'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',
+ 'Total' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4A13-4D5C-D7393642****'],
+ 'AppInfoList' => [
+ 'description' => 'The list of application information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the application.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the application. Valid values:'."\n"
+ ."\n"
+ .'- **System**'."\n"
+ ."\n"
+ .'- **Custom**', 'type' => 'string', 'title' => '', 'example' => 'System'],
+ 'Status' => ['description' => 'The status of the application. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**'."\n"
+ ."\n"
+ .'- **Disable**', 'type' => 'string', 'title' => '', 'example' => 'Normal'],
+ 'CreationTime' => ['description' => 'The time when the application was created. The time is in UTC. The format is *yyyy-MM-dd*T*HH:mm:ss*Z.', 'type' => 'string', 'title' => '', 'example' => '2019-03-01T08:00:00Z'],
+ 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'Description' => ['description' => 'The description of the application.', 'type' => 'string', 'title' => '', 'example' => 'my first app.'],
+ 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'title' => '', 'example' => 'app-****'],
+ 'ModificationTime' => ['description' => 'The time when the application was last updated. The time is in UTC. The format is `yyyy-MM-ddTHH:mm:ssZ`.', 'type' => 'string', 'title' => '', 'example' => '2019-03-01T09:00:00Z'],
+ 'RegionId' => ['description' => 'The region.', 'type' => 'string', 'title' => '', 'example' => 'cn-shanghai'],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'title' => '', 'example' => 'rg-aekzko7fsuj****'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidTime.Malformed',
- 'errorMessage' => 'Specified StartTime or EndTime is malformed.',
- ],
- [
- 'errorCode' => 'InvalidDomainName.Malformed',
- 'errorMessage' => 'Specified domain name is malformed.',
+ 'title' => 'ListAppInfo',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'You can filter the query by application status.'."\n"
+ ."\n"
+ .'### QPS limits'."\n"
+ ."\n"
+ .'The queries per second (QPS) limit for this operation is 30 for each user. If you exceed this limit, your API calls are throttled. This may affect your business operations. Plan your calls accordingly. For more information, see [QPS limits](~~342790~~).',
+ 'extraInfo' => '## 接口错误码'."\n"
+ ."\n"
+ .'下表列举了本接口特有的错误码。'."\n"
+ .'| 错误代码 | 错误信息 | HTTP 状态码 | 说明 |'."\n"
+ .'| ------------- |------------ | ----- | ------ |'."\n"
+ .'| OperationDenied.NotOpenAppService | The app service is not open. | 403 | 多应用服务未开通。 |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-10T08:39:33.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-19T08:27:35.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-18T07:27:36.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-17T07:30:27.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAppInfo'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- 'AddVodDomain' => [
- 'summary' => 'Adds a domain name to accelerate in ApsaraVideo VOD.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39790',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40044',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
'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',
+ 'name' => 'IdentityType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The URL that is used for health checks.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'www.example.com/test.html',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Scope',
+ 'name' => 'IdentityName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TopLevelDomain',
+ 'name' => 'AppId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The top-level domain.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'example.com',
- ],
+ 'schema' => ['description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'app-****', 'title' => ''],
],
],
'responses' => [
@@ -22851,229 +18627,97 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '15C66C7B-671A-4297-****-2C4477247A74',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C9F3E715-B3B8-4D*****27-3A70346F0E04', 'title' => ''],
+ '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', 'title' => ''],
+ 'Description' => ['description' => 'The description of the policy.'."\n", 'type' => 'string', 'example' => 'App full access permission', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'PolicyValue' => ['description' => 'The content of the policy.'."\n", 'type' => 'string', 'example' => '****', 'title' => ''],
+ 'PolicyName' => ['description' => 'The name of the policy.'."\n", 'type' => 'string', 'example' => 'VODAppFullAccess', 'title' => ''],
+ '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', 'title' => ''],
+ 'PolicyType' => ['description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* **System**'."\n"
+ .'* **Custom**'."\n", 'type' => 'string', 'example' => 'System', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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.|',
+ '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 error codes that this operation can return.'."\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"
- .'|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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:37.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:24.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAppPoliciesForIdentity'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAppPoliciesForIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ListAuditSecurityIp' => [
+ 'summary' => 'Queries the IP addresses in a security group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39847',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40047',
+ 'abilityTreeNodes' => ['FEATUREvod7FWSSO'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'SecurityGroupName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The domain name for CDN that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -23081,110 +18725,191 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '15C66C7B-671A-4297-****-2C4477247A74',
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '664BBD08-C7DB-4E*****73-9D0958D9A899', 'title' => ''],
+ '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', 'title' => ''],
+ 'Ips' => ['description' => 'The IP addresses in the review security group.'."\n", 'type' => 'string', 'example' => '30.27.14.0/24,30.39.127.245', 'title' => ''],
+ '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', 'title' => ''],
+ 'SecurityGroupName' => ['description' => 'The name of the review security group.'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ '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"
+ .'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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:33.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAuditSecurityIp'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAuditSecurityIp',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40233',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40053',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'VideoId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2e114f1100590c3193918fd449a****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The domain name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '570189B6-572E-4953-13B4278EE0D8****', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'example' => '2e114f1100590c3193918fd449a****', 'title' => ''],
+ 'Width' => ['description' => 'The width of the animated sticker. Unit: pixel.'."\n", 'type' => 'string', 'example' => '640', 'title' => ''],
+ 'JobId' => ['description' => 'The job ID for creating the animated sticker.'."\n", 'type' => 'string', 'example' => '2bf4390af9e5491c09cc720ad****', 'title' => ''],
+ 'Height' => ['description' => 'The height of the animated sticker. Unit: pixel.'."\n", 'type' => 'string', 'example' => '360', 'title' => ''],
+ 'Fps' => ['description' => 'The frame rate of the animated sticker. Unit: frames per second.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the animated sticker. Unit: seconds.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'Format' => ['description' => 'The format of the animated sticker. Valid values: gif and webp.'."\n", 'type' => 'string', 'example' => 'webp', 'title' => ''],
+ 'DynamicImageId' => ['description' => 'The ID of the animated sticker.'."\n", 'type' => 'string', 'example' => '2b4e51df60323ef43d6e336ecf****', 'title' => ''],
+ 'FileSize' => ['description' => 'The size of the animated sticker file. Unit: byte.'."\n", 'type' => 'string', 'example' => '119866', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListDynamicImage',
+ 'description' => '### 使用说明'."\n"
+ .'- 视频动图截取完成后,可以调用本接口来获取视频的动图信息。'."\n"
+ .'- 视频动图任务可通过API([提交媒体动图作业](~~186842~~)接口)或控制台发起,更多内容,请参见[视频动图](~~177484~~)。'."\n"
+ ."\n"
+ .'### QPS限制'."\n"
+ .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见[QPS限制](~~342790~~)。',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:25.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDynamicImage'],
+ ],
+ ],
+ 'ramActions' => [
[
- '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}]',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListDynamicImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ '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' => 'TopLevelDomain',
+ 'name' => 'MediaId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The top-level domain.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'example.com',
- ],
+ 'schema' => ['description' => 'The ID of the media asset.'."\n", 'type' => 'string', 'required' => true, 'example' => '30e5d7**********bd900764de7c0102', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -23192,421 +18917,263 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '15C66C7B-671A-4297-****-2C4477247A74',
+ '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", 'title' => ''],
+ 'JobType' => ['description' => 'The type of the task. Valid values:'."\n"
+ ."\n"
+ .'* transcode'."\n"
+ .'* snapshot'."\n"
+ .'* ai'."\n", 'type' => 'string', 'example' => 'transcode', 'title' => ''],
+ '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', 'title' => ''],
+ 'Status' => ['description' => 'The status of the task.'."\n", 'type' => 'string', 'example' => 'TranscodeSuccess', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user who submitted the task.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '139109*****84930', 'title' => ''],
+ '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", 'title' => ''],
+ 'CompleteTime' => ['description' => 'The time when the task was complete.'."\n", 'type' => 'string', 'example' => '2024-10-14T07:39:34Z', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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\\": \\"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~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:16:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:ListJobInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobInfo'],
+ ],
],
- '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',
- ],
+ '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' => '39917',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40057',
+ 'abilityTreeNodes' => ['FEATUREvodKX7ANE'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'PageSize',
+ 'name' => 'StreamName',
'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',
- ],
+ 'schema' => ['description' => 'The name of the recorded live stream.'."\n", 'type' => 'string', 'required' => false, 'example' => 'live-test', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['description' => 'The domain name of the recorded live stream.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'DomainName',
+ 'name' => 'AppName',
'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',
- ],
+ 'schema' => ['description' => 'The name of the application that was used to record the live stream.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testApp', 'title' => ''],
],
[
- 'name' => 'DomainStatus',
+ 'name' => 'PageNo',
'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',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'DomainSearchType',
+ 'name' => 'PageSize',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'SortBy',
'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,
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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' => [
+ 'Total' => ['description' => 'The total number of videos.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '123', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-****-D7393642CA58', 'title' => ''],
+ 'LiveRecordVideoList' => [
'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",
+ 'LiveRecordVideo' => [
+ 'description' => 'The list of videos.'."\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' => [
+ 'AppName' => ['description' => 'The name of the app.'."\n", 'type' => 'string', 'example' => 'testApp', 'title' => ''],
+ 'PlaylistId' => ['description' => 'The ID of the playlist.'."\n", 'type' => 'string', 'example' => '****', 'title' => ''],
+ 'StreamName' => ['description' => 'The name of the live-to-VOD file.'."\n", 'type' => 'string', 'example' => 'live-test', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'DomainName' => ['description' => 'The domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''],
+ 'Video' => [
+ 'description' => 'The information about the live-to-VOD file.'."\n",
'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',
- ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'CateId' => ['description' => 'The ID of the video category.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '78', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'example' => '93ab850b4f6f*****54b6e91d24d81d4', 'title' => ''],
+ 'Tags' => ['description' => 'The tags of the video. Multiple tags are separated with commas (,).'."\n", 'type' => 'string', 'example' => 'Tag 1, Tag 2', 'title' => ''],
+ 'CateName' => ['description' => 'The category of the video.'."\n", 'type' => 'string', 'example' => 'Category name', 'title' => ''],
+ 'Description' => ['description' => 'The description of the video file.'."\n", 'type' => 'string', 'example' => 'Alibaba Cloud VOD video description', 'title' => ''],
+ 'Size' => ['description' => 'The size of the source video file. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10897890', 'title' => ''],
+ 'CoverURL' => ['description' => 'The URL of the video thumbnail.'."\n", 'type' => 'string', 'example' => 'https://image.example.com/coversample.jpg', 'title' => ''],
+ 'TemplateGroupId' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Duration' => ['description' => 'The duration of the video file. Unit: seconds.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '135.6', 'title' => ''],
+ 'Title' => ['description' => 'The title of the video.'."\n", 'type' => 'string', 'example' => 'Alibaba Cloud VOD video title', 'title' => ''],
+ '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', 'title' => ''],
+ '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://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"]}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ '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\\": \\"Tag 1, Tag 2\\",\\n \\"CateName\\": \\"Category name\\",\\n \\"Description\\": \\"Alibaba Cloud VOD video description\\",\\n \\"Size\\": 10897890,\\n \\"CoverURL\\": \\"https://image.example.com/coversample.jpg\\",\\n \\"TemplateGroupId\\": \\"1\\",\\n \\"Duration\\": 135.6,\\n \\"Title\\": \\"Alibaba Cloud VOD video title\\",\\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":"","errorExample":""}]',
+ 'title' => 'ListLiveRecordVideo',
+ 'description' => 'You can query up to 5,000 videos based on the specified filter condition.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => '## Common errors'."\n"
- ."\n"
- .'The following table describes the common errors that this operation can return.'."\n"
+ '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"
- .'| 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:55.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListLiveRecordVideo'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:ListLiveRecordVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [],
@@ -23614,227 +19181,185 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39880',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40067',
+ 'abilityTreeNodes' => ['FEATUREvodYRQNEN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'VideoId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The domain name for CDN.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
- ],
+ '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned datas.',
+ 'description' => 'The response parameters.'."\n",
'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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'MediaSnapshot' => [
+ 'description' => 'The information about the snapshot.'."\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' => [
+ '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', 'title' => ''],
+ 'Regular' => ['description' => 'The rule used to generate snapshot URLs.'."\n", 'type' => 'string', 'example' => 'http://example.aliyundoc.com/snapshot/sample{SnapshotCount}.jpg', 'title' => ''],
+ 'Total' => ['description' => 'The total number of snapshots.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the snapshot job.'."\n", 'type' => 'string', 'example' => 'ad90a501b1b9472374ad005046****', 'title' => ''],
+ 'Snapshots' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'Source' => [
- 'description' => 'The information about the origin server.',
+ 'Snapshot' => [
+ 'description' => 'The details of the snapshot.'."\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"
- .'* **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',
- ],
+ 'Index' => ['description' => 'The index of the snapshot.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'Url' => ['description' => 'The URL of the snapshot.'."\n", 'type' => 'string', 'example' => 'http://example.aliyundoc.com/snapshot/sample00001****.jpg', 'title' => ''],
],
+ 'description' => 'The snapshot data.',
+ 'title' => '',
],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
],
- '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.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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' => '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"
+ '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"
- .'| 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:31.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSnapshots'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListSnapshots',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39800',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40073',
+ 'abilityTreeNodes' => ['FEATUREvodAFH3DF'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainNames',
+ 'name' => 'VideoId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -23842,79 +19367,94 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '15C66C7B-671A-4297-****-2C4477247A74',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'VideoId' => ['description' => 'The ID of the audio or video file.'."\n", 'type' => 'string', 'example' => 'd4860fcc6a5*****bce9fed52e893824', 'title' => ''],
+ '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', 'title' => ''],
+ 'TranscodeTemplateGroupId' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'example' => 'b500c7094bd24*****f3e9900752d7c3', 'title' => ''],
+ 'TranscodeTaskId' => ['description' => 'The ID of the transcoding task.'."\n", 'type' => 'string', 'example' => 'b1b65ab107*****ba3dbb900f6c1fe0', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'ServiceBusy',
- 'errorMessage' => 'The specified Domain is configuring, please retry later',
- ],
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:17.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTranscodeTask'],
],
+ ],
+ 'ramActions' => [
[
- [
- 'errorCode' => 'InvalidDomain.NotFound',
- 'errorMessage' => 'The domain provided does not belong to you.',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListTranscodeTask',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'ListTranscodeTemplateGroup' => [
+ 'summary' => 'Queries transcoding template groups.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39801',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40075',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainNames',
+ 'name' => 'AppId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
- ],
+ 'schema' => ['description' => 'The ID of the application. Default value: **app-1000000**. For more information, see [Overview](~~113600~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'app-****', 'title' => ''],
],
],
'responses' => [
@@ -23922,51 +19462,70 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '15C66C7B-671A-4297-****-2C4477247A74',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'TranscodeTemplateGroupId' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'example' => '17a9889fc66852*****d791c886700932', 'title' => ''],
+ 'Name' => ['description' => 'The name of the template group.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'ServiceBusy',
- 'errorMessage' => 'The specified Domain is configuring, please retry later',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:11.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTranscodeTemplateGroup'],
],
+ ],
+ 'ramActions' => [
[
- [
- 'errorCode' => 'InvalidDomain.NotFound',
- 'errorMessage' => 'The domain provided does not belong to you.',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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' => ' ',
+ '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":""}]',
],
- 'VerifyVodDomainOwner' => [
- 'summary' => 'Verifies the ownership of a specified domain name.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListVodTemplate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -23974,89 +19533,97 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40244',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40083',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'TemplateType',
'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',
- ],
+ 'schema' => ['description' => 'The type of the template. Set the value to **Snapshot**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'Snapshot'],
],
[
- 'name' => 'VerifyType',
+ 'name' => 'AppId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the application. Set the value to **app-1000000**. For more information, see [Multi-application](~~113600~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'app-****'],
],
],
'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****',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '2A56B75B-B7E6-48*****27-A9BEAA3E50A8'],
+ 'VodTemplateInfoList' => [
+ 'description' => 'The list of snapshot template data.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => ['description' => 'The time when the template was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', 'type' => 'string', 'title' => '', '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.', 'type' => 'string', 'title' => '', 'example' => 'NotDefault'],
+ 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'title' => '', 'example' => 'app-****'],
+ 'TemplateType' => ['description' => 'The type of the template. Valid values:'."\n"
+ ."\n"
+ .'- **Snapshot**: snapshot.'."\n"
+ .'- **DynamicImage**: animated image.', 'type' => 'string', 'title' => '', 'example' => 'Snapshot'],
+ 'VodTemplateId' => ['description' => 'The ID of the template.', 'type' => 'string', 'title' => '', 'example' => '7c49f2f42b1c*****0969fcd446690'],
+ 'TemplateConfig' => ['description' => 'The detailed configurations of the template in a JSON string. For more information about the data structure, see [SnapshotTemplateConfig](~~98618~~).', 'type' => 'string', 'title' => '', 'example' => '{\\"SnapshotConfig\\":{\\"Count\\":10,\\"SpecifiedOffsetTime\\":0,\\"Interval\\":1},\\"SnapshotType\\":\\"NormalSnapshot\\"}'],
+ 'Name' => ['description' => 'The name of the template.', 'type' => 'string', 'title' => '', 'example' => 'test'],
+ 'ModifyTime' => ['description' => 'The time when the template was last modified. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.', 'type' => 'string', 'title' => '', 'example' => '2018-11-30T09:05:59:97Z'],
+ ],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'title' => '',
],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListVodTemplate',
+ 'summary' => 'Lists the available snapshot templates.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeVodVerifyContent' => [
- 'summary' => 'Queries the ownership verification content.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:49.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListVodTemplate'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ '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' => [],
@@ -24064,119 +19631,133 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39922',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40085',
+ 'abilityTreeNodes' => ['FEATUREvodCOT3DK'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'AppId',
'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',
- ],
+ '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-****', 'title' => ''],
],
],
'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****',
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ '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', 'title' => ''],
+ 'Type' => ['description' => 'The type of the watermark template.'."\n"
+ ."\n"
+ .'* **Image**: image watermark template'."\n"
+ .'* **Text**: text watermark template'."\n", 'type' => 'string', 'example' => 'Text', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the watermark template is the default one. Valid values:'."\n"
+ ."\n"
+ .'* **Default**'."\n"
+ .'* **NotDefault**'."\n", 'type' => 'string', 'example' => 'NotDefault', 'title' => ''],
+ '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****', 'title' => ''],
+ 'AppId' => ['description' => 'The ID of the application.'."\n", 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ '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"}', 'title' => ''],
+ 'Name' => ['description' => 'The name of the watermark template.'."\n", 'type' => 'string', 'example' => 'Text watermark test', 'title' => ''],
+ 'WatermarkId' => ['description' => 'The ID of the watermark template.'."\n", 'type' => 'string', 'example' => '9bcc8bfadb843*****109a2671d0df97', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ '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\\\\\\": \\\\\\" watermark test\\\\\\"}\\",\\n \\"Name\\": \\"Text watermark test\\",\\n \\"WatermarkId\\": \\"9bcc8bfadb843*****109a2671d0df97\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
+ 'title' => 'ListWatermark',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DeleteVodSpecificConfig' => [
- 'summary' => 'Deletes the configurations of a domain name for CDN.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:59.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListWatermark'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39850',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40094',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'TargetAppId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ '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-****', 'title' => ''],
],
[
- 'name' => 'ConfigId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the configuration.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2317****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Env',
+ 'name' => 'ResourceIds',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -24184,97 +19765,65 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-****-6C044FE73368',
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-BEF6-****', 'title' => ''],
+ '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', 'title' => ''],
+ 'title' => '',
+ ],
+ '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', 'title' => ''],
+ 'title' => '',
],
],
'description' => '',
+ 'title' => '',
],
],
],
- '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",
+ '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' => '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"
+ '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"
- .'| 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:20:13.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:19:01.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveAppResource'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:MoveAppResource',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [],
@@ -24282,1395 +19831,433 @@
],
'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40153',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40098',
+ 'abilityTreeNodes' => ['FEATUREvod59E0PR'],
'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',
+ 'name' => 'ObjectPath',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the certificate.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cert_name',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'SSLProtocol',
+ 'name' => 'Area',
'in' => 'query',
'schema' => [
- 'description' => 'Specifies whether to enable the SSL certificate. Default value: off. Valid values:'."\n"
+ '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"
- .'* **on**'."\n"
- .'* **off**'."\n",
+ .'* **domestic**: Chinese mainland'."\n"
+ .'* **overseas**: outside the Chinese mainland'."\n",
'type' => 'string',
- 'required' => true,
- 'example' => 'off',
+ 'required' => false,
+ 'example' => 'domestic',
+ 'enum' => ['domestic', 'overseas'],
+ 'title' => '',
],
],
[
- 'name' => 'SSLPub',
+ 'name' => 'L2Preload',
'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' => '****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'SSLPri',
+ 'name' => 'WithHeader',
'in' => 'query',
- 'schema' => [
- 'description' => 'The private key. This parameter is required only if you enable the SSL certificate.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
- ],
+ '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"
+ .'}', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-****-6C044FE73368',
- ],
+ 'PreloadTaskId' => ['description' => 'The ID of the prefetch task. Separate multiple task IDs with commas (,).'."\n", 'type' => 'string', 'example' => '9524****', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E5BD4B50-7A02-493A-*****-97B9024B4135', 'title' => ''],
],
+ 'title' => '',
],
],
],
'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!',
- ],
+ ['errorCode' => 'SingleRequest.OverLimit', 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.Preload', 'errorMessage' => 'Your refresh attempts have exceeded the daily limit.', 'description' => ''],
+ ['errorCode' => 'InvalidObjectPath.Malformed', 'errorMessage' => 'The specified ObjectPath is invalid.', 'description' => 'The ObjectPath parameter is invalid.'],
+ ['errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', 'errorMessage' => 'The specified ExtensiveDomain is not supported.', 'description' => ''],
+ ['errorCode' => 'PreloadQueueFull', 'errorMessage' => 'The warming queue is full; please try again later.', 'description' => ''],
+ ['errorCode' => 'InvalidCustomHeader', 'errorMessage' => 'Parse preload header failed.', 'description' => 'Failed to parse preload header.'],
],
- 403 => [
- [
- 'errorCode' => 'IllegalOperation',
- 'errorMessage' => 'Illegal domain operate is not permitted.',
- ],
- [
- 'errorCode' => 'ServiceBusy',
- 'errorMessage' => 'The specified Domain is configuring, please retry later',
- ],
+ 404 => [
+ ['errorCode' => 'InvalidDomain.Offline', 'errorMessage' => 'The domain provided is offline.', 'description' => ''],
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
],
],
- '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",
+ '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 error codes that this operation can return.'."\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"
- .'|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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:26:15.000Z', 'description' => 'OpenAPI offline'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PreloadVodObjectCaches'],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39879',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:PreloadVodObjectCaches',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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',
- ],
+ 'ProduceEditingProjectVideo' => [
+ 'summary' => 'Synthesizes one or more videos into a final composite video. You can submit the source videos directly by using the `Timeline` parameter, or create a cloud editing project first and then submit it for production.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39875',
- 'abilityTreeNodes' => [
- 'FEATUREvod0O92P0',
- ],
+ 'abilityTreeCode' => '40100',
+ 'abilityTreeNodes' => ['FEATUREvod89J0DP'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'ProjectId',
'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' => '',
- ],
+ 'schema' => ['description' => 'The ID of the cloud editing project. You can obtain the ID in one of the following ways:'."\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 project ID.'."\n"
+ ."\n"
+ .'- The `ProjectId` returned by the [CreateEditingProject](~~69048~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'fb2101bf24b4cb318787dc****', 'title' => ''],
],
- ],
- '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' => [],
+ 'name' => 'Timeline',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The timeline of the cloud editing project, in JSON format. For more information about the schema, see [timeline](~~52839#07bc7fe0f2xuh~~).'."\n"
+ ."\n"
+ .'> Ensure each `VideoTrackClip` object contains a valid `MediaId`. Otherwise, the request fails.', 'type' => 'string', 'required' => false, 'example' => '{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"cc3308ac59615a54328bc3443****"},{"MediaId":"da87a9cff645cd88bc6d8326e4****"}]}]}', 'title' => ''],
],
- ],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39877',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
+ [
+ 'name' => 'Title',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The title of the cloud editing project.', 'type' => 'string', 'required' => false, 'example' => 'Cloud Clip Project Title', 'title' => ''],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
- ],
- 'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
- ],
+ 'schema' => ['description' => 'The description of the cloud editing project.', 'type' => 'string', 'required' => false, 'example' => 'Cloud clip project description', 'title' => ''],
],
- ],
- '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' => '',
- ],
- ],
- ],
- ],
- ],
- ],
+ [
+ 'name' => 'CoverURL',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The cover URL of the cloud editing project.', 'type' => 'string', 'required' => false, 'example' => 'https://example.aliyundoc.com/6AB4D0E1E1C7446888351****.png', 'title' => ''],
],
- ],
- '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' => [],
+ 'name' => 'MediaMetadata',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The metadata of the synthesized video, in JSON format. For more information about the schema, see [MediaMetadata](~~52839#title-rtf-ry5-gjp~~).', 'type' => 'string', 'required' => false, 'example' => '{"Description":"Synthetic Video Description","Title":"Synthetic userData test"}', 'title' => ''],
],
- ],
- 'operationType' => 'readAndWrite',
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39799',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
+ [
+ 'name' => 'ProduceConfig',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The synthesis configuration, in JSON format. For more information about the schema, see [ProduceConfig](~~52839#title-ybl-7cs-y7d~~).'."\n"
+ .'><notice>The `StorageLocation` field can be omitted if the storage Region is Shanghai. This field is required for all other storage Regions.></notice>', 'type' => 'string', 'required' => false, 'example' => '{"TemplateGroupId":"6d11e25ea30a4c465435c74****"}', 'title' => ''],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
- ],
- 'parameters' => [
[
- 'name' => 'DomainNames',
+ 'name' => 'UserData',
'in' => 'query',
- 'schema' => [
- 'description' => 'The domain name for CDN. Separate multiple domain names with commas (,).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
- ],
+ 'schema' => ['description' => 'Custom settings in a JSON string. The string can be up to 256 characters in length and supports settings such as message callbacks. For more information about the schema, see [UserData](~~86952#title-vz7-xzs-0c5~~).'."\n"
+ ."\n"
+ .'> To use the message callback feature, you must configure an HTTP callback URL and select the corresponding event types in the ApsaraVideo VOD console. Otherwise, the callback settings do not take effect.', '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"}}', 'title' => ''],
],
[
- 'name' => 'Functions',
+ 'name' => 'AppId',
'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"}]',
- ],
+ 'schema' => ['description' => 'The Application ID. Default value: **app-1000000**. For more information, see [Use apps](~~113600~~).', 'type' => 'string', 'required' => false, 'example' => 'app-****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-****-6C044FE73368',
- ],
+ 'RequestId' => ['description' => 'The Request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the synthesized video.'."\n"
+ ."\n"
+ .'> - This operation returns the ID of the synthesized video in its synchronous response.'."\n"
+ .'>'."\n"
+ .'> - A `MediaId` in the response indicates that the service has accepted the video synthesis task for asynchronous processing.', 'type' => 'string', 'example' => '006204a11bb386bb25491f95f****', 'title' => ''],
+ 'ProjectId' => ['description' => 'The ID of the cloud editing project.', 'type' => 'string', 'example' => 'fb2101bf24b4cb318787dc****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"MediaId\\": \\"006204a11bb386bb25491f95f****\\",\\n \\"ProjectId\\": \\"fb2101bf24b4cb318787dc****\\"\\n}","type":"json"}]',
+ 'title' => 'ProduceEditingProjectVideo',
+ 'description' => '- **Important: Cloud editing is a paid feature. Before you call this operation, review the billing methods and pricing of ApsaraVideo VOD. For more information, see [Online editing and production](~~188310#section-pyv-b8h-bo7~~).**'."\n"
."\n"
- .'All parameter values are of the string type.'."\n"
+ .'- This is an [asynchronous API](~~3027551~~). After you submit a task, the system returns the ID of the cloud editing project. Production does not begin immediately. The task is processed asynchronously, and the final result is sent via a callback. You can also call the [GetEditingProject](~~69052~~) operation to query the task status.'."\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"
+ .'- A cloud editing timeline can use video resources from material management or the media library. If you use videos from the media library, ensure their status is Normal.'."\n"
."\n"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'- The service synthesizes videos based on `ProjectId` and `Timeline`. The logic is as follows:'."\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',
+ .' - You must provide either `ProjectId` or `Timeline`.'."\n"
+ ."\n"
+ .' - If you provide a `Timeline` but no `ProjectId`, the system automatically creates a new cloud editing project. This `Timeline` becomes the project\'s timeline, and any material referenced in it is added to the project. The system then proceeds with video synthesis.'."\n"
+ ."\n"
+ .' - If you provide a `ProjectId` but no `Timeline`, the system retrieves the most recently saved timeline for that project to synthesize the video.'."\n"
+ ."\n"
+ .' - If you provide both `ProjectId` and `Timeline`, the system uses the specified `Timeline` to synthesize the video and updates the project\'s timeline and materials. If you specify other parameters, the system also updates the corresponding project fields.'."\n"
+ ."\n"
+ .'- You can use a maximum of 100 tracks for each of the following types: video tracks, image tracks, and subtitle tracks.'."\n"
+ ."\n"
+ .'- The total number of materials cannot exceed 200, and the total file size of all materials cannot exceed 1 TB.'."\n"
+ ."\n"
+ .'- The Region of the input or output bucket must be the same as the Region where you use the ApsaraVideo VOD service.'."\n"
+ ."\n"
+ .'- The output video resolution must meet the following constraints:'."\n"
+ ."\n"
+ .' - The width and height cannot be less than 128 px.'."\n"
+ ."\n"
+ .' - The width and height cannot be greater than 4,096 px.'."\n"
+ ."\n"
+ .' - The shorter dimension cannot be greater than 2,160 px.'."\n"
+ ."\n"
+ .'- After the service synthesizes a video, it automatically uploads the video to ApsaraVideo VOD. The service then sends event notifications for **media synthesis completion** and **video upload completion**. After the synthesized video is transcoded, the service sends event notifications for **TranscodeComplete** and **AllStreamTranscodeComplete**.'."\n"
+ ."\n"
+ .'- You can also add special effects to the synthesized video. For more information, see [Special effects](~~69082~~).',
+ 'requestParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:32.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ProduceEditingProjectVideo'],
+ ],
],
- 'security' => [
+ 'ramActions' => [
[
- 'AK' => [],
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:ProduceEditingProjectVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39909',
- 'abilityTreeNodes' => [
- 'FEATUREvod59E0PR',
+ ],
+ 'RefreshMediaPlayUrls' => [
+ 'summary' => 'Submits media refresh or prefetch tasks based on the media IDs.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'TaskId',
+ 'name' => 'MediaIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the task that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '70422****',
- ],
+ 'schema' => ['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"
+ ."\n"
+ .'- Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation that you call to upload media files.'."\n"
+ ."\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.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ca3a8f6e4957b658067095869****, a6e49sfgd23p5g9ja7095863****'],
],
[
- 'name' => 'ObjectPath',
+ 'name' => 'TaskType',
'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',
- ],
+ 'schema' => ['description' => 'The type of the task that you want to create. Valid values:'."\n"
+ ."\n"
+ .'- **Refresh**'."\n"
+ ."\n"
+ .'- **Preload**', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'Preload'],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'Formats',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '42949672',
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['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"
+ ."\n"
+ .'- **m3u8**'."\n"
+ ."\n"
+ .'- **mp3**'."\n"
+ ."\n"
+ .'- **flv**'."\n"
+ ."\n"
+ .'- **webm**'."\n"
+ ."\n"
+ .'- **ts**', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'mp4,m3u8'],
],
[
- 'name' => 'ObjectType',
+ 'name' => 'Definitions',
'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',
- ],
+ 'schema' => ['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~~).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'HD, SD'],
],
[
- 'name' => 'DomainName',
+ 'name' => 'StreamType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The domain name.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'example.com',
- ],
+ 'schema' => ['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"
+ ."\n"
+ .'- **audio**', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'video'],
],
[
- 'name' => 'Status',
+ 'name' => 'ResultType',
'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',
- ],
- ],
+ 'schema' => ['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"
+ ."\n"
+ .'- **Multiple**: All transcoded streams are refreshed or prefetched for each resolution and format.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'Single'],
],
[
- 'name' => 'PageSize',
+ 'name' => 'SliceFlag',
'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',
- ],
+ 'schema' => ['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"
+ ."\n"
+ .'- **true**', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'],
],
[
- 'name' => 'StartTime',
+ 'name' => 'SliceCount',
'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',
- ],
+ 'schema' => ['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.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '5'],
],
[
- 'name' => 'EndTime',
+ 'name' => 'UserData',
'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',
- ],
+ 'schema' => ['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"
+ .'>'."\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', 'title' => '', 'required' => false, 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"}, "Extend":{"localId":"xxx","test":"www"}}'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'MediaRefreshJobId' => ['description' => 'The ID of the refresh or prefetch task.', 'type' => 'string', 'title' => '', 'example' => '41d465e31957****'],
+ 'NonExistMediaIds' => ['description' => 'The IDs of the media files that do not exist.', 'type' => 'string', 'title' => '', 'example' => 'ca3a8f6e4957b658067095869****'],
+ 'ForbiddenMediaIds' => ['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~~).', 'type' => 'string', 'title' => '', 'example' => 'a6e49sfgd23p5g9ja7095863****'],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-04D5-D7393642****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ '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"
."\n"
- .'The following table describes the error codes that this operation can return.'."\n"
+ .'- 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"
."\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',
+ .'- You can submit a maximum of 20 purge or prefetch tasks at a time.',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:58.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '39908',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshMediaPlayUrls'],
],
- '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',
- ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:RefreshMediaPlayUrls',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
- '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. |',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MediaRefreshJobId\\": \\"41d465e31957****\\",\\n \\"NonExistMediaIds\\": \\"ca3a8f6e4957b658067095869****\\",\\n \\"ForbiddenMediaIds\\": \\"a6e49sfgd23p5g9ja7095863****\\",\\n \\"RequestId\\": \\"25818875-5F78-4AF6-04D5-D7393642****\\"\\n}","type":"json"}]',
],
- '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',
- ],
+ 'RefreshUploadVideo' => [
+ 'summary' => 'Obtains a new upload credential for a video file after the original credential expires.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -25678,171 +20265,92 @@
],
'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40098',
- 'abilityTreeNodes' => [
- 'FEATUREvod59E0PR',
- ],
+ 'abilityTreeCode' => '40108',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
'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',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the audio or video file. You can obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the navigation pane, choose **Media Files** > **Audio/Video**. On the page that appears, view the ID of the audio or video file.'."\n"
+ ."\n"
+ .'- Obtain the value of VideoId from the response to the [CreateUploadVideo](~~55407~~) operation.'."\n"
+ ."\n"
+ .'- Obtain the value of VideoId from the response to the [SearchMedia](~~86044~~) operation after the media file is uploaded.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'c6a23a870c8c4ffcd40cbd381333****'],
],
[
- 'name' => 'WithHeader',
+ 'name' => 'ReferenceId',
'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"
- .'}',
- ],
+ 'schema' => ['type' => 'string', 'title' => '', 'description' => 'A custom ID. The ID can be 6 to 64 characters in length and can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be unique for each user.', 'required' => false, 'example' => '123-123'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The data returned in the response.',
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4A43-7DF6-D7393642****'],
+ 'UploadAddress' => ['description' => 'The upload URL.'."\n"
+ ."\n"
+ .'> The upload URL is Base64-encoded. You must decode the URL before you use it to upload media files with an SDK or an API. You need to parse the UploadAddress parameter only when you use a native OSS SDK or call an OSS API to upload files.', 'type' => 'string', 'title' => '', 'example' => 'eyJTZWN1cml0eVRiQ0FJU3p3TjFxNkZ0NUIyeW****'],
+ 'VideoId' => ['description' => 'The ID of the audio or video file.', 'type' => 'string', 'title' => '', 'example' => 'c6a23a870c8c4ffcd40cbd381333****'],
+ 'UploadAuth' => ['description' => 'The upload credential.'."\n"
+ ."\n"
+ .'> The upload credential is Base64-encoded. You must decode the credential before you use it to upload media files with an SDK or an API. You need to parse the UploadAuth parameter only when you use a native OSS SDK or call an OSS API to upload files.', 'type' => 'string', 'title' => '', 'example' => 'FJU3p3TZ0NUIyeW****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A43-7DF6-D7393642****\\",\\n \\"UploadAddress\\": \\"eyJTZWN1cml0eVRiQ0FJU3p3TjFxNkZ0NUIyeW****\\",\\n \\"VideoId\\": \\"c6a23a870c8c4ffcd40cbd381333****\\",\\n \\"UploadAuth\\": \\"FJU3p3TZ0NUIyeW****\\"\\n}","type":"json"}]',
+ 'title' => 'RefreshUploadVideo',
+ 'description' => 'You can also use this operation to overwrite source audio or video files. When you overwrite a file, you re-upload the source file using a new upload URL, but the audio or video ID remains the same. This action may automatically trigger transcoding and snapshot jobs that are configured for uploads. For more information, see [Upload URLs and credentials](~~55397~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
."\n"
- .'The following table describes the common errors that this operation can return.'."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:09.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshUploadVideo'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:RefreshUploadVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'RefreshVodObjectCaches' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -25854,9 +20362,7 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '40109',
- 'abilityTreeNodes' => [
- 'FEATUREvod59E0PR',
- ],
+ 'abilityTreeNodes' => ['FEATUREvod59E0PR'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
@@ -25864,41 +20370,25 @@
[
'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',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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' => [
@@ -25906,18 +20396,10 @@
'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',
- ],
+ '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' => '',
],
@@ -25925,51 +20407,23 @@
],
'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.',
- ],
+ ['errorCode' => 'SingleRequest.OverLimit', 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', 'description' => ''],
+ ['errorCode' => 'InvalidObjectType.Malformed', 'errorMessage' => 'The specified ObjectType is invalid.', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.Refresh', 'errorMessage' => 'Your refresh attempts have exceeded the daily limit.', 'description' => 'The daily refresh quota has been exceeded.'],
+ ['errorCode' => 'InvalidObjectPath.Malformed', 'errorMessage' => 'The specified ObjectPath is invalid.', 'description' => 'The ObjectPath parameter is invalid.'],
+ ['errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', 'errorMessage' => 'The specified ExtensiveDomain is not supported.', 'description' => ''],
+ ['errorCode' => 'QuotaPerMinuteExceeded.Refresh', 'errorMessage' => 'You tried to refresh too frequently; please try again later.', 'description' => ''],
+ ['errorCode' => 'TooMany.Refresh', 'errorMessage' => 'The refresh queue is full; please try again later.', 'description' => ''],
],
404 => [
- [
- 'errorCode' => 'InvalidDomain.NotFound',
- 'errorMessage' => 'The domain provided does not belong to you.',
- ],
- [
- 'errorCode' => 'InvalidDomain.Offline',
- 'errorMessage' => 'The domain provided is offline.',
- ],
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
+ ['errorCode' => 'InvalidDomain.Offline', 'errorMessage' => 'The domain provided is offline.', 'description' => ''],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
+ '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',
+ 'summary' => 'Refreshes files on Alibaba Cloud CDN nodes. You can refresh multiple files at a time based on URLs.',
'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"
@@ -25997,17 +20451,24 @@
.'| 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',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:RefreshVodObjectCaches',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'RegisterMedia' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -26016,331 +20477,289 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '43406',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'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',
+ 'name' => 'RegisterMetadatas',
'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',
- ],
+ 'schema' => ['description' => 'The metadata of the media to be registered. This parameter is a JSON string. You can specify metadata for up to 10 media files. For more information about the parameter structure, see the **RegisterMetadata** table below.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"FileURL":"https://****.oss-cn-shanghai.aliyuncs.com/video/test/video123.m3u8","Title":"VideoName"}]', 'title' => ''],
],
[
- 'name' => 'StreamType',
+ 'name' => 'TemplateGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the transcoding template group. You can obtain the ID in one of the following ways:'."\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 configuration** > **transcoding template groups** to view the transcoding template group ID.'."\n"
+ ."\n"
+ .'- Call the [AddTranscodeTemplateGroup](~~102665~~) operation to create a transcoding template group. The value of `TranscodeTemplateGroupId` in the response is the ID of the transcoding template group.'."\n"
+ ."\n"
+ .'- Call the [ListTranscodeTemplateGroup](~~102669~~) operation to query transcoding template groups. The value of `TranscodeTemplateGroupId` in the response is the ID of the transcoding template group.'."\n"
+ ."\n"
+ .'> * If you do not need to transcode the media, set this parameter to VOD\\_NO\\_TRANSCODE. Otherwise, the video status remains **uploaded**, and the media cannot be played.'."\n"
+ .'>'."\n"
+ .'> * If you specify both `WorkflowId` and `TemplateGroupId`, `WorkflowId` takes precedence. For more information, see [Workflows](~~115347~~).'."\n"
+ .'>'."\n"
+ .'> * This parameter triggers an [asynchronous task](~~3027551~~). After the request is submitted, the task is queued for background processing and does not complete immediately.', 'type' => 'string', 'required' => false, 'example' => 'ca3a8f6e49c87b65806709586****', 'title' => ''],
],
[
- 'name' => 'ResultType',
+ 'name' => 'UserData',
'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',
- ],
+ 'schema' => ['description' => 'Custom settings in a JSON string format, including configurations for message callbacks. For more information, see [UserData](~~86952#section_6fg_qll_v3w~~).'."\n"
+ ."\n"
+ .'> This operation does not generate a callback upon registration. However, the callback address specified in UserData is used for subsequent transcoding or snapshot tasks on the registered media, unless a different callback is specified for those tasks.', 'type' => 'string', 'required' => false, 'example' => '{"Extend":{"localId":"****","test":"www"}}', 'title' => ''],
],
[
- 'name' => 'SliceFlag',
+ 'name' => 'WorkflowId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the workflow. You can log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **configuration management** > **media processing configuration** > **workflows** in the left-side navigation pane to view the workflow ID.'."\n"
+ ."\n"
+ .'> - If you specify both `WorkflowId` and `TemplateGroupId`, `WorkflowId` takes precedence. For more information, see [Workflows](~~115347~~).'."\n"
+ .'>'."\n"
+ .'> - This parameter triggers an [asynchronous task](~~3027551~~). After the request is submitted, the task is queued for background processing and does not complete immediately.', 'type' => 'string', 'required' => false, 'example' => '637adc2b7ba51a83d841606f8****', 'title' => ''],
],
[
- 'name' => 'SliceCount',
+ 'name' => 'EnableFirstFrameCover',
'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',
- ],
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
[
- 'name' => 'UserData',
+ 'name' => 'GenerateThumbnail',
'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"}}',
- ],
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The response parameters.',
'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 request ID.', 'type' => 'string', 'example' => '14F43C5C-8033-448B-AD04F64E5098****', 'title' => ''],
+ 'FailedFileURLs' => [
+ 'description' => 'A list of URLs for the files that failed to be registered.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A list of URLs for the files that failed to be registered.', 'type' => 'string', 'example' => '["http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_03.mp4"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4AF6-04D5-D7393642****',
+ 'RegisteredMediaList' => [
+ 'description' => 'A list of all media successfully processed in the request, including both newly registered and previously registered files.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The registration details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'NewRegister' => ['description' => 'Indicates whether the media was newly registered or was already registered.'."\n"
+ ."\n"
+ .'- **true**: Newly registered.'."\n"
+ ."\n"
+ .'- **false**: Already registered.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'FileURL' => ['description' => 'The OSS file URL.', 'type' => 'string', 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/vod_sample_01.mp4', 'title' => ''],
+ 'MediaId' => ['description' => 'The media ID. For audio or video files, this ID corresponds to the VideoId.', 'type' => 'string', 'example' => 'd97af32828084d1896683b1aa38****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'RegisterMedia',
+ 'summary' => 'Registers media files from your OSS buckets for use in ApsaraVideo VOD. To apply features like transcoding and snapshots to your media, you must first register the files to generate the necessary metadata.',
+ 'description' => '- To process audio and video files from an OSS bucket using ApsaraVideo VOD, you must first register them. After registration, you can use the media ID to initiate tasks such as transcoding, snapshotting, and AI processing.'."\n"
+ ."\n"
+ .'- You can register up to **10** OSS media files in a single API call. All files in the request must share the same storage location.'."\n"
+ ."\n"
+ .'- Media files uploaded directly to ApsaraVideo VOD are automatically transcoded by using the default template group if no other is specified. Registered media, however, is not automatically transcoded. To trigger transcoding, you must specify a transcoding template group ID during registration.'."\n"
+ ."\n"
+ .'- Re-registering a file returns its existing **media ID** and performs no other action.'."\n"
+ ."\n"
+ .'- Ensure that the media files you want to register have valid file extensions. Otherwise, the registration fails.',
+ 'requestParamsDescription' => '## RegisterMetadata'."\n"
+ ."\n"
+ .'Specifies the metadata for the media you want to register.'."\n"
+ ."\n"
+ .'| Parameter | Type | Required | Description |'."\n"
+ .'| ----------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n"
+ .'| FileURL | String | Yes | The [source file URL](~~59624~~). You can call the GetMezzanineInfo operation to obtain the URL.<br>The URL must not exceed 1,024 bytes in length and the filename must be globally unique. If you register a file with the same name, the operation returns the unique media ID associated with it. The URL consists of the public endpoint of an OSS bucket followed by the object name. |'."\n"
+ .'| Title | String | Yes | The title of the media. The title can be up to 128 bytes in length and must be UTF-8 encoded. |'."\n"
+ .'| Description | String | No | The description of the media. The description can be up to 1,024 bytes in length and must be UTF-8 encoded. |'."\n"
+ .'| Tags | String | No | The media tags. You can specify up to 16 tags, separated by commas (,). Each tag can be up to 32 bytes and must be UTF-8 encoded. |'."\n"
+ .'| CoverURL | String | No | The URL of the cover image. The URL must not exceed 1,024 bytes in length. |'."\n"
+ .'| CateId | Long | No | The category ID. You can obtain the ID in one of the following ways:<br>Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **configuration management** > **media asset configuration** > **category management** to view the category ID.<br>Call the [AddCategory](~~56401~~) operation to create a category. The value of `CateId` in the response is the category ID.<br>Call the [GetCategories](~~56406~~) operation to query categories. The value of `CateId` in the response is the category ID. |'."\n"
+ .'| ReferenceId | String | No | A custom ID. It can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (_). The ID must be 6 to 64 characters in length and must be unique within your account. |',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:44.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterMedia'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:RegisterMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'RestoreMedia' => [
+ 'summary' => 'Restores media assets.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '171760',
+ 'abilityTreeNodes' => ['FEATUREvodM1QLPK'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaRefreshJobId',
+ 'name' => 'MediaIds',
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'MediaId',
+ 'name' => 'Scope',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'example' => '25818875-5F78-4AF6-D7393642CA58****',
- 'type' => 'string',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8E70E3F8-E2EE-47BC-4677-379D6F28****', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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****\']', 'title' => ''],
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
],
- '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',
+ '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****', 'title' => ''],
+ 'Reason' => ['description' => 'The reason for the failure.'."\n", 'type' => 'string', 'example' => 'Forbidden.RestoreMedia', 'title' => ''],
+ ],
+ 'title' => '',
],
+ 'title' => '',
],
- 'type' => 'object',
],
- 'type' => 'array',
+ 'description' => '',
+ 'title' => '',
],
],
- 'type' => 'object',
+ 'title' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:16:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RestoreMedia'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:RestoreMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'SearchEditingProject' => [
+ 'summary' => 'Queries online editing projects.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -26348,235 +20767,142 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39884',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40114',
+ 'abilityTreeNodes' => ['FEATUREvod89J0DP'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'DomainName',
+ 'name' => 'EndTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'StartTime',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'Status',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'StartTime',
+ 'name' => 'PageNo',
'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',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'PageSize',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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' => 'desc', 'title' => ''],
+ ],
+ [
+ 'name' => 'Title',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The title of the online editing project.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
],
'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' => [
+ 'Total' => ['description' => 'The total number of online editing projects returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9262E3DA-07FA-48*****62-FCBB6BC61D08', 'title' => ''],
+ 'ProjectList' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'DomainLogDetail' => [
- 'description' => 'The details of CDN logs.'."\n",
+ 'Project' => [
+ 'description' => 'The list of online editing projects.'."\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',
- ],
- ],
- ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'Description' => ['description' => 'The description of the online editing project.'."\n", 'type' => 'string', 'example' => '故事板测试工程001', 'title' => ''],
+ 'CoverURL' => ['description' => 'The thumbnail URL of the online editing project.'."\n", 'type' => 'string', 'example' => 'cover_url', 'title' => ''],
+ 'ProjectId' => ['description' => 'The ID of the online editing project.'."\n", 'type' => 'string', 'example' => '25cfc178d2de4*****e77aebed6afcd', 'title' => ''],
+ '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' => ''],
+ 'Title' => ['description' => 'The title of the online editing project.'."\n", 'type' => 'string', 'example' => 'Video_150873681****', 'title' => ''],
+ 'RegionId' => ['description' => 'The region where the online editing project was created.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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&amp;OSSAccessKeyId=****&amp;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",
+ '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\\": \\"Video_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' => ' ',
- 'extraInfo' => ' ',
- ],
- 'GenerateKMSDataKey' => [
- 'summary' => 'Generates a random Key Management Service (KMS) data key used for HLS encryption in ApsaraVideo VOD.',
- 'methods' => [
- 'get',
- 'post',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:14.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SearchEditingProject'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:SearchEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SearchMedia' => [
+ 'summary' => 'This operation searches for media assets in ApsaraVideo VOD, such as videos, audio, and images. You can call this operation and use the media search protocol to perform multi-dimensional searches. You can specify the fields to return, perform exact matches, fuzzy queries, multi-value queries, and range queries, and specify the fields for sorting.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -26585,534 +20911,862 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '144169',
- 'abilityTreeNodes' => [
- 'FEATUREvodMVRCEC',
+ '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 to search for. Valid values:'."\n"
+ ."\n"
+ .'- **video** (default): video.'."\n"
+ ."\n"
+ .'- **audio**: audio.'."\n"
+ ."\n"
+ .'- **image**: image.'."\n"
+ ."\n"
+ .'- **attached**: auxiliary media asset.'."\n"
+ ."\n"
+ .'> If this parameter is set to **video** or **audio** and you need to traverse all data that meets the search criteria, you must set the ScrollToken parameter.', 'type' => 'string', 'required' => false, 'example' => 'video', 'title' => ''],
+ ],
+ [
+ 'name' => 'Fields',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The media asset fields to return in the search results.'."\n"
+ ."\n"
+ .'By default, only basic media asset fields are returned. You can specify more fields to return. For more information, see [Examples](~~99179~~).', 'type' => 'string', 'required' => false, 'example' => 'Title,CoverURL', 'title' => ''],
+ ],
+ [
+ 'name' => 'Match',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The filter condition. For more information about the syntax, see [Search protocol syntax](~~86991~~).', 'type' => 'string', 'required' => false, 'example' => 'field = value', 'title' => ''],
+ ],
+ [
+ 'name' => 'SortBy',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The sorting field and order. Separate multiple values with commas (,). Valid values:'."\n"
+ ."\n"
+ .'- **CreationTime:Desc** (default): Sorts by creation time in descending order.'."\n"
+ ."\n"
+ .'- **CreationTime:Asc**: Sorts by creation time in ascending order.'."\n"
+ ."\n"
+ .'> * For more information about sorting fields, see [Sorting fields](~~99179~~).'."\n"
+ .'>'."\n"
+ .'> * When you retrieve the first 5,000 data records that meet the search criteria, you can specify up to three sorting fields.'."\n"
+ .'>'."\n"
+ .'> * When you retrieve all data that meets the search criteria, you can specify only one sorting field.', 'type' => 'string', 'required' => false, 'example' => 'CreationTime:Desc', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. The default value is **1**.'."\n"
+ ."\n"
+ .'> If the value of this parameter exceeds **200**, we recommend that you also set the ScrollToken parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of data records to return on each page. The default value is **10**. The maximum value is **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'ScrollToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token. It is a 32-character string.'."\n"
+ .'You do not need to set this parameter for the first search request. The server-side returns this parameter to mark the current position in the search results. Record the returned value. For the next search, set this parameter as required or recommended:'."\n"
+ ."\n"
+ .'- If the SearchType parameter is set to **video** or **audio** and you need to traverse all data that meets the search criteria, you must set this parameter.'."\n"
+ ."\n"
+ .'- If the value of the PageNo parameter exceeds **200**, we recommend that you set this parameter to optimize search performance.', 'type' => 'string', 'required' => false, 'example' => '24e0fba7188fae707e146esa54****', 'title' => ''],
],
],
- 'parameters' => [],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned results.'."\n",
+ 'description' => 'The response.',
'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****',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3E0CEF83-FB09-4E34-BA1451814B03****', 'title' => ''],
+ 'Total' => ['description' => 'The total number of media assets that meet the search criteria.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
+ 'ScrollToken' => ['description' => 'The pagination token.', 'type' => 'string', 'example' => '24e0fba7188fae707e146esa54****', 'title' => ''],
+ 'MediaList' => [
+ 'description' => 'The list of media assets.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the media asset.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => ['description' => 'The time when the media asset was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:45:25Z', 'title' => ''],
+ 'MediaType' => ['description' => 'The type of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **video**: video.'."\n"
+ ."\n"
+ .'- **audio**: audio.'."\n"
+ ."\n"
+ .'- **image**: image.'."\n"
+ ."\n"
+ .'- **attached**: auxiliary media asset.', 'type' => 'string', 'example' => 'video', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the media asset.', 'type' => 'string', 'example' => 'a82a2cd7d4e147bbed6c1ee372****', 'title' => ''],
+ 'Video' => [
+ 'description' => 'The [video information](~~86991~~).',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => ['description' => 'The status. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The video is being uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The video failed to be uploaded.'."\n"
+ ."\n"
+ .'- **UploadSucc**: The video was uploaded.'."\n"
+ ."\n"
+ .'- **Transcoding**: The video is being transcoded.'."\n"
+ ."\n"
+ .'- **TranscodeFail**: The video failed to be transcoded.'."\n"
+ ."\n"
+ .'- **Blocked**: The video is blocked.'."\n"
+ ."\n"
+ .'- **Normal**: The video is in a normal state.', 'type' => 'string', 'example' => 'UploadSucc', 'title' => ''],
+ 'CreationTime' => ['description' => 'The time when the video information was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:45:25Z', 'title' => ''],
+ 'StorageLocation' => ['description' => 'The storage region.', 'type' => 'string', 'example' => 'outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000123', 'title' => ''],
+ 'Tags' => ['description' => 'The video tags.', 'type' => 'string', 'example' => 'tag1', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the video information was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:48:25Z', 'title' => ''],
+ 'MediaSource' => ['description' => 'The source. Valid values:'."\n"
+ ."\n"
+ .'- **general**: VOD upload.'."\n"
+ ."\n"
+ .'- **short\\_video**: Short video SDK.'."\n"
+ ."\n"
+ .'- **editing**: Video editing and production.'."\n"
+ ."\n"
+ .'- **live**: Live stream recording.', 'type' => 'string', 'example' => 'general', 'title' => ''],
+ 'Description' => ['description' => 'The video description.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD video description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'CoverURL' => ['description' => 'The thumbnail URL.', 'type' => 'string', 'example' => 'https://example.aliyundoc.com/image01.png', 'title' => ''],
+ 'VideoId' => ['description' => 'The video ID.', 'type' => 'string', 'example' => 'a82a2asdasqadaf3faa0ed6c1ee372****', 'title' => ''],
+ 'DownloadSwitch' => ['description' => 'The download switch. Offline download is allowed only when the switch is turned on. Valid values:'."\n"
+ ."\n"
+ .'- **on**: The initial state. Offline download is allowed.'."\n"
+ ."\n"
+ .'- **off**: Offline download is disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'video1', 'title' => ''],
+ 'TranscodeMode' => ['description' => 'The transcoding mode. Valid values:'."\n"
+ ."\n"
+ .'- **FastTranscode** (Normal transcoding): The default mode. Transcoding starts immediately after the upload is complete. Playback is available after transcoding is complete.'."\n"
+ ."\n"
+ .'- **NoTranscode** (Distribute without transcoding): No transcoding is performed after the upload is complete. Playback is available immediately.'."\n"
+ ."\n"
+ .'- **AsyncTranscode** (Distribute upon upload and transcode asynchronously): Playback is available immediately after the upload is complete. Transcoding is performed asynchronously.', 'type' => 'string', 'example' => 'FastTranscode', 'title' => ''],
+ 'PreprocessStatus' => ['description' => 'The pre-processing status. Valid values:'."\n"
+ ."\n"
+ .'- **UnPreprocess**: Not pre-processed.'."\n"
+ ."\n"
+ .'- **Preprocessing**: Pre-processing.'."\n"
+ ."\n"
+ .'- **PreprocessSucceed**: Pre-processing succeeded.'."\n"
+ ."\n"
+ .'- **PreprocessFailed**: Pre-processing failed.', 'type' => 'string', 'example' => 'Preprocessing', 'title' => ''],
+ 'RestoreExpiration' => ['description' => 'The expiration time of the restored media asset.', 'type' => 'string', 'example' => '2023-03-30T10:14:14Z', 'title' => ''],
+ 'RestoreStatus' => ['description' => 'The restored state of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Processing**: Restoring.'."\n"
+ ."\n"
+ .'- **Success**: Restored.'."\n"
+ ."\n"
+ .'- **Failed**: Restoration failed.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**: Standard.'."\n"
+ ."\n"
+ .'- **IA**: Infrequent Access (IA).'."\n"
+ ."\n"
+ .'- **Archive**: Archive.'."\n"
+ ."\n"
+ .'- **ColdArchive**: Cold Archive.'."\n"
+ ."\n"
+ .'- **SourceIA**: Source IA.'."\n"
+ ."\n"
+ .'- **SourceArchive**: Source Archive.'."\n"
+ ."\n"
+ .'- **SourceColdArchive**: Source Cold Archive.'."\n"
+ ."\n"
+ .'- **Changing**: The storage class is being changed.'."\n"
+ ."\n"
+ .'- **SourceChanging**: The storage class of the source file is being changed.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'Size' => ['description' => 'The video size.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''],
+ 'Duration' => ['description' => 'The video duration. Unit: seconds.', 'type' => 'number', 'format' => 'float', 'example' => '123', 'title' => ''],
+ 'Title' => ['description' => 'The video title.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Video Title', 'title' => ''],
+ 'SpriteSnapshots' => [
+ 'description' => 'The list of sprites.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of sprites.', 'type' => 'string', 'example' => '{“http://example.aliyundoc.com/image02.jpg”}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Snapshots' => [
+ 'description' => 'The list of automatically captured snapshots.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of automatically captured snapshots.', 'type' => 'string', 'example' => '{“http://example.aliyundoc.com/image03.jpg”}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ReferenceId' => ['description' => 'The custom ID. It can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Audio' => [
+ 'description' => 'The [audio information](~~86991~~).',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => ['description' => 'The status. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The audio is being uploaded.'."\n"
+ ."\n"
+ .'- **Normal**: The audio is in a normal state.'."\n"
+ ."\n"
+ .'- **UploadFail**: The audio failed to be uploaded.'."\n"
+ ."\n"
+ .'- **Deleted**: The audio is deleted.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'CreationTime' => ['description' => 'The time when the audio was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:45:25Z', 'title' => ''],
+ 'StorageLocation' => ['description' => 'The storage region.', 'type' => 'string', 'example' => 'outin-aaa*****aa.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000123', 'title' => ''],
+ 'Tags' => ['description' => 'The tags.', 'type' => 'string', 'example' => 'tag1,tag2', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the audio was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:48:25Z', 'title' => ''],
+ 'MediaSource' => ['description' => 'The source. Valid values:'."\n"
+ ."\n"
+ .'- **general** (VOD upload): The file is uploaded using a normal method.'."\n"
+ ."\n"
+ .'- **short\\_video** (Short video SDK): The file is uploaded to VOD using a short video SDK. For more information, see [Short video SDK](~~53407~~).'."\n"
+ ."\n"
+ .'- **editing** (Online editing): The file is uploaded to VOD after it is synthesized using online editing. For more information, see [Video synthesis](~~68536~~).'."\n"
+ ."\n"
+ .'- **live** (Live stream recording): The file is uploaded to VOD after it is recorded from a live stream.', 'type' => 'string', 'example' => 'general', 'title' => ''],
+ 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Audio Description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'CoverURL' => ['description' => 'The thumbnail URL.', 'type' => 'string', 'example' => 'http://example.com/image04.jpg', 'title' => ''],
+ 'AudioId' => ['description' => 'The audio ID.', 'type' => 'string', 'example' => 'a82a2cd7d4e147bbed6c1ee372****', 'title' => ''],
+ 'DownloadSwitch' => ['description' => 'The download switch. Offline download is allowed only when the switch is turned on. Valid values:'."\n"
+ ."\n"
+ .'- **on**: The initial state. Offline download is allowed.'."\n"
+ ."\n"
+ .'- **off**: Offline download is disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'cate1', 'title' => ''],
+ 'TranscodeMode' => ['description' => 'The transcoding mode. Valid values:'."\n"
+ ."\n"
+ .'- **FastTranscode** (Normal transcoding, default): Transcoding starts immediately after the upload is complete. Playback is available after transcoding is complete.'."\n"
+ ."\n"
+ .'- **NoTranscode** (Distribute without transcoding): No transcoding is performed after the upload is complete. Playback is available immediately.'."\n"
+ ."\n"
+ .'- **AsyncTranscode** (Distribute upon upload and transcode asynchronously): Playback is available immediately after the upload is complete. Transcoding is performed asynchronously.', 'type' => 'string', 'example' => 'FastTranscode', 'title' => ''],
+ 'PreprocessStatus' => ['description' => 'The pre-processing status. Only pre-processed audio files can be used for live stream directing. Valid values:'."\n"
+ ."\n"
+ .'- **UnPreprocess**: Not pre-processed.'."\n"
+ ."\n"
+ .'- **Preprocessing**: Pre-processing.'."\n"
+ ."\n"
+ .'- **PreprocessSucceed**: Pre-processing succeeded.'."\n"
+ ."\n"
+ .'- **PreprocessFailed**: Pre-processing failed.', 'type' => 'string', 'example' => 'UnPreprocess', 'title' => ''],
+ 'RestoreExpiration' => ['description' => 'The expiration time of the restored media asset.', 'type' => 'string', 'example' => '2023-03-30T10:14:14Z', 'title' => ''],
+ 'RestoreStatus' => ['description' => 'The restored state of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Processing**: Restoring.'."\n"
+ ."\n"
+ .'- **Success**: Restored.'."\n"
+ ."\n"
+ .'- **Failed**: Restoration failed.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'StorageClass' => ['description' => 'The storage class of the media asset. Valid values:'."\n"
+ ."\n"
+ .'- **Standard**: Standard.'."\n"
+ ."\n"
+ .'- **IA**: IA.'."\n"
+ ."\n"
+ .'- **Archive**: Archive.'."\n"
+ ."\n"
+ .'- **ColdArchive**: Cold Archive.'."\n"
+ ."\n"
+ .'- **SourceIA**: Source IA.'."\n"
+ ."\n"
+ .'- **SourceArchive**: Source Archive.'."\n"
+ ."\n"
+ .'- **SourceColdArchive**: Source Cold Archive.'."\n"
+ ."\n"
+ .'- **Changing**: The storage class is being changed.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'Size' => ['description' => 'The size.', 'type' => 'integer', 'format' => 'int64', 'example' => '123', 'title' => ''],
+ 'Duration' => ['description' => 'The duration.', 'type' => 'number', 'format' => 'float', 'example' => '123', 'title' => ''],
+ 'Title' => ['description' => 'The title.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Audio Title', 'title' => ''],
+ 'SpriteSnapshots' => [
+ 'description' => 'The list of sprites.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of sprites.', 'type' => 'string', 'example' => '{“http://example.aliyundoc.com/image02.jpg”}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Snapshots' => [
+ 'description' => 'The list of automatically captured snapshots.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of automatically captured snapshots.', 'type' => 'string', 'example' => '{“http://example.aliyundoc.com/image03.jpg”}', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ReferenceId' => ['description' => 'The custom ID. It can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Image' => [
+ 'description' => 'The [image information](~~86991~~).',
+ 'type' => 'object',
+ 'properties' => [
+ 'StorageLocation' => ['description' => 'The storage region.', 'type' => 'string', 'example' => 'outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'CreationTime' => ['description' => 'The time when the image was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:45:25Z', 'title' => ''],
+ 'Status' => ['description' => 'The image status.'."\n"
+ ."\n"
+ .'- **Uploading**: The initial state. The image is being uploaded.'."\n"
+ ."\n"
+ .'- **Normal**: The image was uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The image failed to be uploaded.', 'type' => 'string', 'example' => 'Uploading', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000123', 'title' => ''],
+ 'Tags' => ['description' => 'The tags.', 'type' => 'string', 'example' => 'tag1', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the image was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:48:25Z', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'cate1', 'title' => ''],
+ 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Image Description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'URL' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'https://example.com/****.png', 'title' => ''],
+ 'Title' => ['description' => 'The title.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD Image Title', 'title' => ''],
+ 'ImageId' => ['description' => 'The image ID.', 'type' => 'string', 'example' => '11130843741se99wqmoes****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AttachedMedia' => [
+ 'description' => 'The [auxiliary media asset information](~~86991~~).',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => ['description' => 'The time when the asset was created. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:45:25Z', 'title' => ''],
+ 'Status' => ['description' => 'The status. Valid values:'."\n"
+ ."\n"
+ .'- **Uploading**: The initial state. The auxiliary media asset is being uploaded.'."\n"
+ ."\n"
+ .'- **Normal**: The auxiliary media asset was uploaded.'."\n"
+ ."\n"
+ .'- **UploadFail**: The auxiliary media asset failed to be uploaded.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'StorageLocation' => ['description' => 'The storage region.', 'type' => 'string', 'example' => 'outin-bfefbb90a47c11*****7426.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ 'Tags' => ['description' => 'The tags.', 'type' => 'string', 'example' => 'tag1', 'title' => ''],
+ 'ModificationTime' => ['description' => 'The time when the asset was last updated. The time is in the *yyyy-MM-dd*T*HH:mm:ss*Z format in UTC.', 'type' => 'string', 'example' => '2018-07-19T03:48:25Z', 'title' => ''],
+ 'MediaId' => ['description' => 'The auxiliary media asset ID.', 'type' => 'string', 'example' => 'a82a2cd7d4e147ba0ed6c1ee372****', 'title' => ''],
+ 'BusinessType' => ['description' => 'The business type. Valid values:'."\n"
+ ."\n"
+ .'- **watermark**: watermark.'."\n"
+ ."\n"
+ .'- **subtitle**: subtitle.'."\n"
+ ."\n"
+ .'- **material**: material.', 'type' => 'string', 'example' => 'watermark', 'title' => ''],
+ 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD-assisted media asset description', 'title' => ''],
+ 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'app-****', 'title' => ''],
+ 'URL' => ['description' => 'The URL of the auxiliary media asset.', 'type' => 'string', 'example' => 'https://example.com/****.png', 'title' => ''],
+ 'Title' => ['description' => 'The title.', 'type' => 'string', 'example' => 'Alibaba Cloud VOD-assisted media asset Title', 'title' => ''],
+ 'Categories' => [
+ 'description' => 'The list of category IDs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The category details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ParentId' => ['description' => 'The parent node ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '-1', 'title' => ''],
+ 'CateName' => ['description' => 'The category name.', 'type' => 'string', 'example' => 'cate1', 'title' => ''],
+ 'CateId' => ['description' => 'The category ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '10027394', 'title' => ''],
+ 'Level' => ['description' => 'The category level.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'EntityNotExist.Role',
- 'errorMessage' => 'AliyunVODDefaultRole is not authorized by your account.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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 }\\n ]\\n}","type":"json"}]',
+ 'title' => 'SearchMedia',
+ 'description' => 'For fields that support both exact match and fuzzy query, the results for other query types are based on the supported query method. For example, if a field supports only fuzzy query, a multi-value query on that field also returns results based on a fuzzy match.'."\n"
+ ."\n"
+ .'The limits on the number of search results that you can retrieve are as follows:'."\n"
+ ."\n"
+ .'- Method 1: Paging'."\n"
+ ."\n"
+ .' You can traverse up to 5,000 search results by setting the PageNo (page number) and PageSize (number of records per page) parameters. If the number of search results exceeds 5,000, you must adjust the search conditions to narrow the result set. Note that this method cannot traverse the entire dataset. To traverse more data, see Method 2.'."\n"
+ ."\n"
+ .'- Method 2: Full traversal (for audio and video search only)'."\n"
+ ."\n"
+ .' This method applies only to audio and video searches and supports traversing all search results, up to a maximum of 2 million records. If the number of search results exceeds 2 million, you must add more filter conditions to reduce the result set. When you use this method, you must use the ScrollToken parameter in addition to the PageNo and PageSize parameters for paging. Note that you can traverse a maximum of 100 records backward at a time.'."\n"
+ .' The following example shows the paging logic when PageSize is set to 20:'."\n"
+ ."\n"
+ .' - If PageNo is 1, you can query up to the next 5 pages of data.'."\n"
+ ."\n"
+ .' - If PageNo is 2, you can query up to the next 6 pages of data.'."\n"
+ ."\n"
+ .'You must set the paging parameters properly for your search and select the appropriate traversal method based on the size of the result set. To page through more than 1,000 records, use Method 2 for faster and more convenient data processing.',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:16:16.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SearchMedia'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:SearchMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'SetAppPlayKey' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '146055',
- 'abilityTreeNodes' => [
- 'FEATUREvodMVRCEC',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '39805',
+ 'abilityTreeNodes' => ['FEATUREvodHJ3KAX'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'CipherText',
+ 'name' => 'AppId',
'in' => 'query',
- 'schema' => [
- 'title' => '待解密的密文。',
- 'description' => 'The ciphertext to be decrypted.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****',
- ],
+ 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The application ID. The default value is **app-1000000**. For more information, see [Multi-application management](~~113600~~).', 'title' => '', 'example' => 'app-1000231'],
+ ],
+ [
+ 'name' => 'PlayKey',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => 'The playback key.'."\n"
+ ."\n"
+ .'- The key must be 8 to 20 characters in length and can contain only uppercase letters, lowercase letters, and digits.'."\n"
+ ."\n"
+ .'- The key must be UTF-8 encoded.', 'required' => false, 'title' => '', 'example' => 'yzNgTUtAl6HAuosIA'],
],
],
'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****',
- ],
+ 'RequestId' => ['type' => 'string', 'description' => 'The request ID.', 'title' => '', 'example' => '25818875-5F78-4A*****F6-D7393642CA58'],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'EntityNotExist.Role',
- 'errorMessage' => 'AliyunVODDefaultRole is not authorized by your account.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'SetAppPlayKey',
+ 'summary' => 'Sets the playback key for an application.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetAppPlayKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","type":"json"}]',
],
- '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',
- ],
+ 'SetAuditSecurityIp' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '40122',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
],
'parameters' => [
[
- 'name' => 'MediaId',
+ 'name' => 'SecurityGroupName',
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ExtractType',
+ 'name' => 'Ips',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned results.'."\n",
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ '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"
- .'* Before you submit a digital watermark extraction job, make sure that the following conditions are met:'."\n"
+ .'The following table describes the common errors that this operation can return. '."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-08-05T08:16:39.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:18:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:57.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetAuditSecurityIp'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetAuditSecurityIp',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'SetCrossdomainContent' => [
+ 'summary' => 'Updates the cross-domain policy file crossdomain.xml.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '40126',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'MediaId',
+ 'name' => 'Content',
'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****',
- ],
+ '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' => '&lt;cross-domain-policy&gt;&lt;allow-access-from domain="*"/&gt;&lt;allow-http-request-headers-from domain="*" headers="*" secure="false"/&gt;&lt;/cross-domain-policy&gt;', 'title' => ''],
],
[
- 'name' => 'ExtractType',
+ 'name' => 'StorageLocation',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'JobId',
+ 'name' => 'ResourceRealOwnerId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the resource owner.'."\n", 'type' => 'string', 'required' => false, 'example' => '3461111', 'title' => ''],
],
],
'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' => '',
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A13-****-D7393642CA58', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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',
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:26.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCrossdomainContent'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetCrossdomainContent',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SetDefaultAITemplate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39929',
- 'abilityTreeNodes' => [
- 'FEATUREvodU0GZW5',
- ],
+ 'abilityTreeCode' => '40130',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'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',
+ 'name' => 'TemplateId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the AI template.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1706a0063dd733f6a823ef32e0a5****'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => '',
'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',
- ],
+ '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****'],
],
- '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',
+ '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',
+ 'summary' => 'Specifies an AI template as the default template.',
+ 'description' => 'Specifies an AI template as the default template.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDefaultAITemplate'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetDefaultAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SetDefaultTranscodeTemplateGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39904',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40136',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'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',
+ 'name' => 'TranscodeTemplateGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the transcoding template group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'd58079958be8d*****b699ab7ab6e1bf', 'title' => ''],
],
- [
- 'name' => 'EndTime',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'SetDefaultTranscodeTemplateGroup',
+ 'summary' => 'Specifies a transcoding template group as the default one.',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:49.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDefaultTranscodeTemplateGroup'],
],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetDefaultTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'SetDefaultWatermark' => [
+ 'summary' => 'Sets a watermark template as the default one.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '40142',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
[
- 'name' => 'Interval',
+ 'name' => 'WatermarkId',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -27120,240 +21774,77 @@
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
],
'description' => '',
+ 'title' => '',
],
],
],
- '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.',
+ '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 error codes that this operation can return.'."\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, 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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:14.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDefaultWatermark'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetDefaultWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39912',
- 'abilityTreeNodes' => [
- 'FEATUREvodUOYFRF',
- ],
+ 'abilityTreeCode' => '40146',
+ 'abilityTreeNodes' => ['FEATUREvod89J0DP'],
'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',
+ 'name' => 'ProjectId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the online editing project.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fb2101bf24bf4*****754cb318787dc', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'MaterialIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the application. '."\n"
- ."\n"
- .'* Default value: **app-1000000**.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'app-1000000',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -27361,414 +21852,207 @@
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '746FFA07-8BBB-46*****B1-3E94E3B2915E', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'SetEditingProjectMaterials',
'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',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:37.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetEditingProjectMaterials'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'SetMessageCallback' => [
+ 'summary' => 'You can call this operation to set the callback method, webhook address, and event type for event notifications.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39915',
- 'abilityTreeNodes' => [
- 'FEATUREvodJALMOJ',
- ],
+ 'abilityTreeCode' => '40150',
+ 'abilityTreeNodes' => ['FEATUREvod9NUA3V'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'StartTime',
+ 'name' => 'CallbackType',
'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',
- ],
+ 'schema' => ['description' => 'The callback method. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP**'."\n"
+ .'- **Simple Message Queue (formerly MNS)**', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'HTTP'],
],
[
- 'name' => 'EndTime',
+ 'name' => 'CallbackURL',
'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',
- ],
+ 'schema' => ['description' => 'The webhook address. This parameter is required if you set CallbackType to **HTTP**. The webhook address can be a maximum of 256 bytes in length. You cannot specify multiple webhook addresses.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'http://developer.aliyundoc.com'],
],
[
- 'name' => 'Region',
+ 'name' => 'EventTypeList',
'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',
- ],
+ 'schema' => ['description' => 'The type of the callback event. If you leave this parameter empty, all event notifications are disabled. If you set this parameter to **ALL**, all event notifications are enabled. You can also specify event types to enable notifications. Separate multiple event types with commas (,). For information about the valid values, see [Event types](~~55627~~).'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'> The value of all AI-related events, such as AIMediaAuditComplete and AIMediaDNAComplete, is **AIComplete**.'."\n"
+ ."\n"
+ .'</props>', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FileUploadComplete'],
],
[
- 'name' => 'Interval',
+ 'name' => 'AuthSwitch',
'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',
- ],
+ 'schema' => ['description' => 'The authentication switch for HTTP callbacks. This parameter is valid only when CallbackType is set to **HTTP**. Valid values:'."\n"
+ ."\n"
+ .'- **on**: enabled'."\n"
+ .'- **off**: disabled', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'on'],
],
[
- 'name' => 'Storage',
+ 'name' => 'AuthKey',
'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',
- ],
+ 'schema' => ['description' => 'The authentication key. It can be up to 32 characters in length and must contain uppercase letters, lowercase letters, and digits. You can set this parameter when CallbackType is set to **HTTP**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Dsf346dvet'],
],
[
- 'name' => 'Specification',
+ 'name' => 'MnsEndpoint',
'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',
- ],
+ 'schema' => ['description' => 'The public endpoint of the MNS queue. This parameter is required if you set **CallbackType** to **Simple Message Queue (formerly MNS)**. You can log on to the [Message Service console](https://account.aliyun.com/login/login.html) and click Get Endpoint in the upper-right corner to obtain the endpoint. For more information, see [Endpoint](~~27480~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'http://****.mns.cn-shanghai.aliyuncs.com/'],
+ ],
+ [
+ 'name' => 'MnsQueueName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the MNS queue. You can log on to the [Message Service console](https://account.aliyun.com/login/login.html) and view the queue name in the Queue List. This parameter is required if you set CallbackType to **Simple Message Queue (formerly MNS)**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'quene_name'],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The ID of the application. If you do not set this parameter, the ID of the default application is used, which is **app-1000000**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'app-1000000'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned results.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4AF6-D7393642CA58****'],
],
+ 'title' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'SetMessageCallback',
+ 'description' => 'HTTP and MNS callbacks are supported. For more information, see [Event notifications](~~55627~~).'."\n"
."\n"
- .'The following table describes the error codes that this operation can return.'."\n"
+ .'### QPS limit'."\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',
+ .'The queries per second (QPS) limit for a single user on this operation is 15. If this limit is exceeded, API calls are throttled, which may affect your business. We recommend that you call this operation at a reasonable rate. For more information, see [QPS limits](~~342790~~).',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:48.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetMessageCallback'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetMessageCallback',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","type":"json"}]',
+ ],
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39873',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40153',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'StartTime',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'CertName',
'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',
- ],
+ 'schema' => ['description' => 'The name of the certificate.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cert_name', 'title' => ''],
],
[
- 'name' => 'Region',
+ 'name' => 'SSLProtocol',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AIType',
+ 'name' => 'SSLPub',
'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',
- ],
+ 'schema' => ['description' => 'The content of the certificate. This parameter is required only if you enable the SSL certificate.'."\n", 'type' => 'string', 'required' => false, 'example' => '****', 'title' => ''],
+ ],
+ [
+ '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' => '****', 'title' => ''],
],
],
'responses' => [
@@ -27776,107 +22060,54 @@
'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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-****-6C044FE73368', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'InvalidSSLProtocol.ValueNotSupported', 'errorMessage' => 'The specified value of parameter SSLProtocol is not supported.', 'description' => ''],
+ ['errorCode' => 'SSLPub.MissingParameter', 'errorMessage' => 'An input parameter "SSLPub" that is mandatory for processing the request is not supplied.', 'description' => ''],
+ ['errorCode' => 'SSLPri.MissingParameter', 'errorMessage' => 'An input parameter "SSLPri" that is mandatory for processing the request is not supplied.', 'description' => ''],
+ ['errorCode' => 'InvalidSSLPub', 'errorMessage' => 'The SSLPub you provided is malformed!', 'description' => ''],
+ ['errorCode' => 'InvalidSSLPri', 'errorMessage' => 'The SSLPri you provided is malformed!', 'description' => ''],
+ ['errorCode' => 'Certificate.MissMatch', 'errorMessage' => 'The SSLPri does not math the specified Certificate!', 'description' => ''],
+ ['errorCode' => 'InvalidCertificate.TooLong', 'errorMessage' => 'The Certificate you provided is over the max length!', 'description' => ''],
+ ['errorCode' => 'InvalidCertName.TooLong', 'errorMessage' => 'The Certificate name you provided is over the max length 128!', 'description' => ''],
+ ['errorCode' => 'Certificate.NotPermittedOff', 'errorMessage' => 'Turn off certificate will change domain scheduling, please contact customer service', 'description' => ''],
+ ['errorCode' => 'Certificate.SetNotEffect', 'errorMessage' => 'Certificate was successfully set but doesn\'t take effect for protecting current service. Please contact customer service.', 'description' => ''],
+ ['errorCode' => 'AuthenticationFailed', 'errorMessage' => 'Authentication failed.', 'description' => ''],
+ ['errorCode' => 'SetDomainCertificate.ParameterError', 'errorMessage' => 'Parameters have error.', 'description' => ''],
+ ['errorCode' => 'InvalidSSLPubOrInvalidSSLPri', 'errorMessage' => 'The SSLPri or SSLPub you provided is malformed!', 'description' => ''],
+ ['errorCode' => 'Certificate.StatusError', 'errorMessage' => 'Certificate is not exist or its status is error.', 'description' => ''],
+ ['errorCode' => 'DeleteFailed', 'errorMessage' => 'Delete certificate is failed.', 'description' => ''],
+ ['errorCode' => 'Certificate.NotFind', 'errorMessage' => 'Not find the certificate info.', 'description' => ''],
+ ['errorCode' => 'Certificate.Duplicated', 'errorMessage' => 'The certificate name is duplicated.', 'description' => 'The certificate name already exists.'],
+ ['errorCode' => 'Certificate.FormatError', 'errorMessage' => 'The certificate format is error.', 'description' => ''],
+ ['errorCode' => 'Certificate.KeyNull', 'errorMessage' => 'The private key is not null.', 'description' => ''],
+ ['errorCode' => 'Key.Malformed', 'errorMessage' => 'The private key format is error.', 'description' => ''],
+ ['errorCode' => 'CertStorage.failed', 'errorMessage' => 'The certificate storage failed.', 'description' => ''],
+ ['errorCode' => 'CertificateContent.Duplicated', 'errorMessage' => 'The certificate is already uploaded, please don\'t upload again.', 'description' => ''],
+ ['errorCode' => 'Certificate.Expired', 'errorMessage' => 'The certificate is expired.', 'description' => ''],
+ ['errorCode' => 'InvalidDomain.notOnline', 'errorMessage' => 'The domain is not online, please check the domain status and try again later.', 'description' => ''],
+ ['errorCode' => 'Decode.Error', 'errorMessage' => 'The certificate sslpub or sslpri decode error.', 'description' => ''],
+ ['errorCode' => 'sslPub.Error', 'errorMessage' => 'The SSLPub encoded failed.', 'description' => ''],
+ ['errorCode' => 'sslPri.Error', 'errorMessage' => 'The SSLPri encoded failed.', 'description' => ''],
+ ['errorCode' => 'DomainInSafeMode', 'errorMessage' => 'This domain is in the safe mode. if you want to do this operation, please contact us!', 'description' => ''],
+ ['errorCode' => 'DomainInProtectedMode', 'errorMessage' => 'This domain is in the protected mode. if you want to do this operation, please contact us!', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'IllegalOperation', 'errorMessage' => 'Illegal domain operate is not permitted.', 'description' => ''],
+ ['errorCode' => 'ServiceBusy', 'errorMessage' => 'The specified Domain is configuring, please retry later', 'description' => ''],
],
],
- '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.',
+ '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"
@@ -27885,1150 +22116,708 @@
."\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',
+ .'|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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:10.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:19:43.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetVodDomainCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetVodDomainCertificate'],
+ ],
],
+ ],
+ 'SetVodDomainSSLCertificate' => [
+ 'summary' => 'This operation enables or disables the SSL certificate feature for a domain name and updates certificate information.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '216951',
- 'abilityTreeNodes' => [
- 'FEATUREvodUOYFRF',
- ],
+ 'abilityTreeCode' => '236821',
+ 'abilityTreeNodes' => ['FEATUREvod0O92P0'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'StartTime',
+ 'name' => 'DomainName',
'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',
- ],
+ 'schema' => ['description' => 'The accelerated domain name for ApsaraVideo VOD.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'example.com'],
],
[
- 'name' => 'EndTime',
+ 'name' => 'CertName',
'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',
- ],
+ 'schema' => ['description' => 'The name of the certificate.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cert_name'],
],
[
- 'name' => 'Region',
+ 'name' => 'CertId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the certificate.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '12342707'],
],
[
- 'name' => 'StorageClass',
+ 'name' => 'CertType',
'in' => 'query',
+ 'allowEmptyValue' => true,
'schema' => [
- 'description' => 'The storage type. By default, all storage types are returned. Valid values:'."\n"
+ 'description' => 'The type of the certificate.'."\n"
."\n"
- .'* **IA**'."\n"
- .'* **Archive**'."\n"
- .'* **ColdArchive**'."\n",
+ .'- **upload**: an uploaded certificate.'."\n"
+ .'- **cas**: a certificate that is purchased from Alibaba Cloud SSL Certificates Service.',
'type' => 'string',
'required' => false,
- 'example' => 'IA',
+ 'enum' => ['cas', 'upload'],
+ 'title' => '',
+ 'example' => 'cas',
],
],
[
- 'name' => 'AppId',
+ 'name' => 'SSLProtocol',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable the HTTPS certificate. Valid values:'."\n"
+ ."\n"
+ .'- **on**: enable.'."\n"
+ .'- **off**: disable.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'off'],
+ ],
+ [
+ 'name' => 'SSLPub',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The content of the security certificate. You must specify this parameter to configure a certificate. You do not need to specify this parameter if you disable the certificate.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '****'],
+ ],
+ [
+ 'name' => 'SSLPri',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The content of the private key. You must specify this parameter to configure a certificate. You do not need to specify this parameter if you disable the certificate.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '****'],
+ ],
+ [
+ 'name' => 'CertRegion',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region of the certificate. Valid values:'."\n"
+ ."\n"
+ .'- **ap-southeast-1** (Singapore)'."\n"
+ .'- **cn-hangzhou** (Hangzhou)'."\n"
+ ."\n"
+ .'The default value is **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'Env',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable grayscale release for the certificate. Valid value: **staging**: enables grayscale release. If you do not set this parameter or set it to another value, the certificate is officially released.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'staging'],
],
],
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'F4C6D5BE-BF13-45*****6C-516EA8906DCD'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
'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' => 'InvalidSSLProtocol.ValueNotSupported', 'errorMessage' => 'The specified SSLProtocol is invalid.', 'description' => ''],
+ ['errorCode' => 'SSLPub.MissingParameter', 'errorMessage' => 'The SSLPub parameter is required.', 'description' => ''],
+ ['errorCode' => 'SSLPri.MissingParameter', 'errorMessage' => 'The SSLPri parameter is required.', 'description' => ''],
+ ['errorCode' => 'InvalidSSLPub', 'errorMessage' => 'The specified SSLPub is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidSSLPri', 'errorMessage' => 'The specified SSLPri is invalid.', 'description' => ''],
+ ['errorCode' => 'Certificate.MissMatch', 'errorMessage' => 'The SSLPri does not match the certificate.', 'description' => ''],
+ ['errorCode' => 'InvalidCertificate.TooLong', 'errorMessage' => 'The maximum length of the certificate is exceeded.', 'description' => ''],
+ ['errorCode' => 'InvalidCertName.TooLong', 'errorMessage' => 'The length of the certificate name cannot exceed 128 characters.', 'description' => ''],
+ ['errorCode' => 'AuthenticationFailed', 'errorMessage' => 'Error performing verification.', 'description' => ''],
+ ['errorCode' => 'SetDomainCertificate.ParameterError', 'errorMessage' => 'The specified parameters are invalid.', 'description' => ''],
+ ['errorCode' => 'Certificate.StatusError', 'errorMessage' => 'The status of the certificate is invalid.', 'description' => ''],
+ ['errorCode' => 'DeleteFailed', 'errorMessage' => 'Error deleting the certificate.', 'description' => ''],
+ ['errorCode' => 'Certificate.NotFind', 'errorMessage' => 'The certificate does not exist.', 'description' => ''],
+ ['errorCode' => 'Certificate.Duplicated', 'errorMessage' => 'The certificate name already exists.', 'description' => ''],
+ ['errorCode' => 'Certificate.FormatError', 'errorMessage' => 'The format of the certificate is invalid.', 'description' => ''],
+ ['errorCode' => 'Certificate.KeyNull', 'errorMessage' => 'The private key is required.', 'description' => ''],
+ ['errorCode' => 'Key.Malformed', 'errorMessage' => 'The specified Key format is invalid.', 'description' => ''],
+ ['errorCode' => 'CertStorage.failed', 'errorMessage' => 'Error saving the certificate.', 'description' => ''],
+ ['errorCode' => 'CertificateContent.Duplicated', 'errorMessage' => 'The certificate has been uploaded; do not upload again.', 'description' => ''],
+ ['errorCode' => 'Certificate.Expired', 'errorMessage' => 'The certificate has expired.', 'description' => ''],
+ ['errorCode' => 'InvalidDomain.notOnline', 'errorMessage' => 'The domain is offline. Check the status of the domain and try again later.', 'description' => ''],
+ ['errorCode' => 'Decode.Error', 'errorMessage' => 'Error decoding the SSLPub or SSLPri certificate.', 'description' => ''],
+ ['errorCode' => 'sslPub.Error', 'errorMessage' => 'Error encoding SSLPub.', 'description' => ''],
+ ['errorCode' => 'sslPri.Error', 'errorMessage' => 'Error encoding SSLPri.', 'description' => ''],
+ ['errorCode' => 'DomainInSafeMode', 'errorMessage' => 'The domain is in safe mode. To request permission, contact Customer Service.', 'description' => ''],
+ ['errorCode' => 'CreateCertificateFailed', 'errorMessage' => 'Create certificate failed,please try again.', 'description' => ''],
+ ['errorCode' => 'Abs.CertRegion.ValueNotSupported', 'errorMessage' => 'CertRegion is not supported.', 'description' => ''],
+ ['errorCode' => 'CertNameAlreadyExists', 'errorMessage' => 'The CertName already exists.', 'description' => ''],
+ ['errorCode' => 'InvalidDomain.Offline', 'errorMessage' => 'The domain provided is offline.', 'description' => ''],
+ ['errorCode' => 'DomainOwnerVerifyFail', 'errorMessage' => 'Owner verification of the root domain failed.', 'description' => 'Failed to verify domain ownership.'],
+ ],
+ 403 => [
+ ['errorCode' => 'DomainInProtectedMode', 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'CertName.MissingParameter', 'errorMessage' => 'You must specify CertName.', 'description' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F4C6D5BE-BF13-45*****6C-516EA8906DCD\\"\\n}","type":"json"}]',
+ 'title' => 'SetVodDomainSSLCertificate',
+ 'description' => '- This operation is available only in the **China (Shanghai)** region.'."\n"
+ .'- The rate limit for this operation is 30 calls per second per user.'."\n"
+ .'- The request method is POST.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetVodDomainSSLCertificate'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetVodDomainSSLCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'SubmitAIImageAuditJob' => [
+ 'summary' => 'Call this operation to submit an intelligent media moderation job for an image. After the job is submitted, it is processed asynchronously. The response does not mean the job is complete.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '216979',
- 'abilityTreeNodes' => [
- 'FEATUREvodUOYFRF',
- ],
+ 'abilityTreeCode' => '40163',
+ 'abilityTreeNodes' => ['FEATUREvodIPBMLH'],
+ '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. 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',
+ 'name' => 'MediaId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the image.'."\n"
+ ."\n"
+ .'This ID is returned after you upload the image to ApsaraVideo VOD.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'f1aa3024aee64*****6dc8ca20dbc320', 'title' => ''],
],
[
- 'name' => 'StorageClass',
+ 'name' => 'TemplateId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The storage type. Valid values:'."\n"
- ."\n"
- .'* **IA**'."\n"
- .'* **Archive**'."\n"
- .'* **ColdArchive**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'IA',
- ],
+ 'schema' => ['description' => 'The ID of the AI template. You can obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Call the [Add AI template](~~102930~~) operation. The template ID is returned as TemplateId in the response.'."\n"
+ ."\n"
+ .'- Call the [Query AI template list](~~102936~~) operation. The template ID is returned as TemplateId in the response.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'a07a7f7d7d10eb9fd999e56ecc****', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'MediaAuditConfiguration',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The configuration of the moderation job.'."\n"
+ ."\n"
+ .'- Use this field to specify the type of the media file and adjust moderation rules for that type.'."\n"
+ ."\n"
+ .'- The value of ResourceType can contain only letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> * You can customize the value of ResourceType. After customization, you must [fill out the Yida form](https://yida.alibaba-inc.com/o/ticketapply) and submit it to Alibaba Cloud. The custom value takes effect after Alibaba Cloud processes your submission.'."\n"
+ .'>'."\n"
+ .'> * To adjust the moderation criteria and rules for a specific ResourceType, you can [fill out the Yida form](https://yida.alibaba-inc.com/o/ticketapply) to request technical support.', 'type' => 'string', 'required' => false, 'example' => '{"ResourceType":"****_short_video"}', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'description' => 'The returned data.',
'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',
- ],
- ],
- ],
- ],
+ 'JobId' => ['description' => 'The ID of the image moderation job.', 'type' => 'string', 'example' => 'b1aa3024aee64*****6dc8ca20dbc328', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6F42D500-1956-4B*****30-C09E755F4F4B', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"b1aa3024aee64*****6dc8ca20dbc328\\",\\n \\"RequestId\\": \\"6F42D500-1956-4B*****30-C09E755F4F4B\\"\\n}","type":"json"}]',
+ 'title' => 'SubmitAIImageAuditJob',
+ 'description' => '- **Intelligent media moderation is a paid service. Before you call this operation, make sure that you fully understand the billing methods and pricing of ApsaraVideo VOD. <props="china">For more information, see [Billing of intelligent media moderation](~~188310#section-g7l-s3o-9ng~~).</props><props="intl">To learn more, submit a ticket or contact your Alibaba Cloud account manager.</props>**'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'- This operation is available only in the **China (Shanghai), China (Beijing), and Singapore** regions.'."\n"
+ ."\n"
+ .'</props><props="intl">This operation is available only in the Singapore region.</props>'."\n"
+ ."\n"
+ .'- This is an [asynchronous API](~~3027551~~). After a task is submitted, the system returns a job ID and queues the job for asynchronous processing. The job is not complete when the initial response is returned. The final result is delivered through a [callback](~~454959~~). You can also call the [Query intelligent media moderation jobs](~~454959~~) operation to check the task status.'."\n"
+ ."\n"
+ .'- An image cannot exceed 20 MB in size. Its height or width cannot exceed 30,000 pixels, and the total number of pixels cannot exceed 250 million.'."\n"
+ ."\n"
+ .'- (Recommended) For best results, use an image with a resolution of at least 256 × 256 pixels. A lower resolution may affect the moderation accuracy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:31.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIImageAuditJob'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIImageAuditJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'SubmitAIImageJob' => [
+ 'summary' => 'Submits an AI image processing job.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '273926',
- 'abilityTreeNodes' => [
- 'FEATUREvod2L0PVC',
- ],
+ 'abilityTreeCode' => '40165',
+ 'abilityTreeNodes' => ['FEATUREvodIPBMLH'],
'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',
+ 'name' => 'VideoId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '5',
- ],
+ 'schema' => ['description' => 'The video ID. You can obtain the video ID in the following ways:'."\n"
+ ."\n"
+ .'- To find the ID of a video uploaded from the console, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and navigate to **Media Assets** > **Audio/Video**.'."\n"
+ ."\n"
+ .'- If you upload a video by calling the [CreateUploadVideo](~~55407~~) operation, the video ID is the `VideoId` in the response.'."\n"
+ ."\n"
+ .'- After you upload a video, call the [SearchMedia](~~86044~~) operation to query the video ID. The video ID is the `VideoId` in the response.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '357a8748c5774*****89d2726e6436aa', 'title' => ''],
],
[
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
+ 'name' => 'AITemplateId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '5000',
- ],
+ 'schema' => ['description' => 'The AI image template ID. You can obtain the template ID in the following ways:'."\n"
+ ."\n"
+ .'- If you create an image template by calling the [AddAITemplate](~~102930~~) operation, the template ID is the `TemplateId` in the response.'."\n"
+ ."\n"
+ .'- After you create a template, you can call the [ListAITemplate](~~102936~~) operation to query the AI image template ID. The template ID is the `TemplateId` in the response.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ef1a8842cb9f*****cea80cad902e416', 'title' => ''],
],
[
- 'name' => 'Language',
+ 'name' => 'UserData',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh',
- ],
+ 'schema' => ['description' => 'Custom settings.'."\n"
+ ."\n"
+ .'- The value must be a JSON string.'."\n"
+ ."\n"
+ .'- The value must include the `MessageCallback` or `Extend` parameter.'."\n"
+ ."\n"
+ .'- The maximum length is 512 bytes.'."\n"
+ ."\n"
+ .'For more information about how to structure this parameter, see [UserData](~~86952~~).', 'type' => 'string', 'required' => false, 'example' => '{"Extend":{"localId":"****","test":"www"}}', 'title' => ''],
],
[
- 'name' => 'Os',
+ 'name' => 'AIPipelineId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Android、iOS、Windows',
- ],
+ 'schema' => ['description' => 'The AI pipeline ID.'."\n"
+ ."\n"
+ .'> If you leave this parameter empty, the system uses a default pipeline ID. If you need to perform batch imports, you must use a dedicated pipeline. To request a dedicated pipeline, submit a ticket or contact Alibaba Cloud after-sales support. For more information about how to submit a ticket, see [Contact Us](~~464625~~).', 'type' => 'string', 'required' => false, 'example' => '6492025b8f*****6ba5bb755a33438', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response object.',
'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',
- ],
- ],
- ],
+ 'JobId' => ['description' => 'The AI image processing job ID.', 'type' => 'string', 'example' => 'cf08a2c6e11e*****de1711b738b9067', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '218A6807-A21E-43*****54-C0512880B0B0', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"cf08a2c6e11e*****de1711b738b9067\\",\\n \\"RequestId\\": \\"218A6807-A21E-43*****54-C0512880B0B0\\"\\n}","type":"json"}]',
+ 'title' => 'SubmitAIImageJob',
+ 'description' => '- This operation is available in the following service regions: **China (Beijing)** and **China (Shanghai)**.'."\n"
+ ."\n"
+ .'- This is an [asynchronous API](~~3027551~~). After you submit a job, the operation returns a job ID. The job is queued for asynchronous processing. The system delivers the result through a [callback notification](~~186923~~). You can also call the GetAIImageJobs operation to query the job status.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:13.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIImageJob'],
],
- 502 => [
- [
- 'errorCode' => 'Meter.ReadyTsError',
- 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.',
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIImageJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'SubmitAIJob' => [
+ 'summary' => 'Use this operation to submit a smart tag or video DNA job.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '274030',
- 'abilityTreeNodes' => [
- 'FEATUREvod2L0PVC',
- ],
+ 'abilityTreeCode' => '40167',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'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',
+ 'name' => 'MediaId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'web',
- ],
+ 'schema' => ['description' => 'The ID of the video. You can find the video ID in one of the following ways:'."\n"
+ ."\n"
+ .'- For videos uploaded through the console, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Library** > **Audio/Video** to view the video ID.'."\n"
+ ."\n"
+ .'- The `VideoId` value returned by the [Get Upload URL and Credential](~~55407~~) operation.'."\n"
+ ."\n"
+ .'- The `VideoId` value returned by the [Search for Media Information](~~86044~~) operation.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '3D3D12340d9401fab46a0b847****', 'title' => ''],
],
[
- 'name' => 'Os',
+ 'name' => 'Types',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Android、iOS、Windows',
- ],
+ 'schema' => ['description' => 'The type of the AI job. Separate multiple job types with a comma (,). Valid values:'."\n"
+ ."\n"
+ .'- **AIMediaDNA**: video DNA.'."\n"
+ ."\n"
+ .'- **AIVideoTag**: smart tag.', 'type' => 'string', 'required' => false, 'example' => 'AIVideoTag', 'title' => ''],
],
[
- 'name' => 'Metrics',
+ 'name' => 'Config',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Vv,Uv,AvgPerVv',
- ],
+ 'schema' => ['description' => 'The AI job configurations, as a JSON-formatted string.'."\n"
+ ."\n"
+ .'- If you set `Types` to `AIVideoTag`, you can configure `AnalyseTypes` in the `Config` parameter to specify the analysis algorithm for the smart tag job. Valid values:'."\n"
+ ."\n"
+ .' - ASR (Automatic Speech Recognition): Extracts tags from spoken words in the video\'s audio.'."\n"
+ ."\n"
+ .' - OCR (Optical Character Recognition): Extracts tags from text that appears in the video frames.'."\n"
+ ."\n"
+ .'- If you set `Types` to `AIMediaDNA`, you can configure `DNADBId` in the `Config` parameter to specify the ID of the DNA fingerprint library for the video DNA job.', 'type' => 'string', 'required' => false, 'example' => '{"AIVideoTag": {"AnalyseTypes": "ASR"} }', 'title' => ''],
],
[
- 'name' => 'Period',
+ 'name' => 'UserData',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1d',
- ],
+ 'schema' => ['description' => 'Custom settings as a JSON-formatted string. For more information about the parameter structure, see [UserData](~~86952#h2--userdata-div-id-userdata-div-3~~).', 'type' => 'string', 'required' => false, 'example' => '{"Extend":{"localId":"***","test":"www"}}', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response parameters.',
'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',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4A13-BEF6-D73936****', 'title' => ''],
+ 'AIJobList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'AIJob' => [
+ 'description' => 'A list of AI jobs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of an AI job.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the AI job. Valid values:'."\n"
+ ."\n"
+ .'- **AIMediaDNA**: video DNA.'."\n"
+ ."\n"
+ .'- **AIVideoTag**: smart tag.', 'type' => 'string', 'example' => 'AIVideoTag', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the AI job.', 'type' => 'string', 'example' => '9e82640c85114bf5af23edfaf****', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the video.', 'type' => 'string', 'example' => '3D3D12340d92c641401fab46a0b847****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => 'A list of AI jobs.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'SubmitAIJob',
+ 'description' => '- **Before using this operation, ensure you understand the billing methods and pricing for ApsaraVideo VOD. Both smart tag and video DNA are paid features. For more information, see [Video AI Billing](~~188310#section-g7l-s3o-9ng~~).**'."\n"
+ ."\n"
+ .'- The video DNA feature is available in the following regions: **China (Beijing)**, **China (Shanghai)**, and **Singapore**. The smart tag feature is available in **China (Beijing)** and **China (Shanghai)**.'."\n"
+ ."\n"
+ .'- This is an [asynchronous call](~~3027551~~). When you submit an AI job, the system returns a job ID and queues the job for background processing. To get the final results, we recommend you configure an [event notification](~~55627~~) for the **VideoAIComplete** event. Alternatively, you can call the [Get Job Details](~~2861326~~) operation to query the job status.'."\n"
+ ."\n"
+ .'- To submit an AI job, you must first activate the video DNA or smart tag feature.'."\n"
+ ."\n"
+ .'- The first time you use the video DNA feature, you must submit a ticket with your account UID and desired region to create a free DNA fingerprint library. Otherwise, the feature may not function correctly. For instructions on submitting a ticket, see [Contact us](~~464625~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:18.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIJob'],
],
- 502 => [
- [
- 'errorCode' => 'Meter.ReadyTsError',
- 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.',
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'SubmitAIMediaAuditJob' => [
+ 'summary' => 'Submits an intelligent review job for an audio or video file. After submission, the job is processed asynchronously. A successful response means the job is queued, not that it is complete.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '273845',
- 'abilityTreeNodes' => [
- 'FEATUREvod2L0PVC',
- ],
+ 'abilityTreeCode' => '40168',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppId',
+ 'name' => 'MediaId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'app-1000000',
- ],
+ 'schema' => ['description' => 'The ID of the audio or video file. To obtain the ID, log in to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and navigate to **Review Management** > **Video Moderation**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fe028d09441afffb138cd7ee****', 'title' => ''],
],
[
- 'name' => 'Dimension',
+ 'name' => 'TemplateId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Os',
- ],
+ 'schema' => ['description' => 'The ID of the AI template. You can obtain the template ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Call the [AddAITemplate](~~102930~~) operation. The `TemplateId` in the response is the AI template ID.'."\n"
+ ."\n"
+ .'- Call the [ListAITemplates](~~102936~~) operation to query for existing AI template IDs.'."\n"
+ ."\n"
+ .'> If you omit this parameter, ApsaraVideo VOD uses the default AI template for intelligent review.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'a07a7f7d7d10eb9fd999e56ecc****', 'title' => ''],
],
[
- 'name' => 'StartTime',
+ 'name' => 'UserData',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2025-06-24T00:55:06Z',
- ],
+ 'schema' => ['description' => 'The custom settings. This parameter must be a JSON string. Use this parameter to specify settings, such as a message callback. For more information, see [UserData](~~86952~~).'."\n"
+ ."\n"
+ .'> To use the message callback feature, you must configure a callback URL and select the corresponding callback event type in the ApsaraVideo VOD console. Otherwise, the callback settings do not take effect. For more information about configuring HTTP callbacks, see [Callback settings](~~86071~~).', 'type' => 'string', 'required' => false, 'example' => '{"MessageCallback":{"CallbackURL":"http://test.test.com"},"Extend":{"localId":"xxx","test":"www"}}', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'MediaType',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2025-06-05T15:59:59Z',
- ],
+ 'schema' => ['description' => 'The media type. Only **video** is supported.', 'type' => 'string', 'required' => false, 'example' => 'video', 'title' => ''],
],
[
- 'name' => 'Region',
+ 'name' => 'MediaAuditConfiguration',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ALL',
- ],
+ 'schema' => ['description' => 'Configurations for the review job.'."\n"
+ ."\n"
+ .'- Additional configurations for the review job. Currently, only the `ResourceType` field is supported. Use this field to specify the media file type to adjust review standards and rules accordingly.'."\n"
+ ."\n"
+ .'- To adjust the review standards and rules for a specific `ResourceType`, submit a ticket. For information about how to submit a ticket, see [Contact us](~~464625~~).'."\n"
+ ."\n"
+ .'- The `ResourceType` value can contain only letters, digits, and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => '{"ResourceType":"****_movie"}', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The 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',
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F4631053-8D9F-42B2-4A67281DB88E****', 'title' => ''],
+ 'MediaId' => ['description' => 'The ID of the audio or video file.', 'type' => 'string', 'example' => 'fe028d09441afffb138cd7ee****', 'title' => ''],
+ 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => 'bdbc266af6893943a70176d92e99****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F4631053-8D9F-42B2-4A67281DB88E****\\",\\n \\"MediaId\\": \\"fe028d09441afffb138cd7ee****\\",\\n \\"JobId\\": \\"bdbc266af6893943a70176d92e99****\\"\\n}","type":"json"}]',
+ 'title' => 'SubmitAIMediaAuditJob',
+ 'description' => '- **Before you call this operation, make sure you understand the billing methods and pricing of ApsaraVideo VOD. The intelligent review feature is a paid service. For more information, <props="china">see [Billing of intelligent review](~~188310#section-g7l-s3o-9ng~~).</props><props="intl">submit a ticket or contact your account manager.</props>**'."\n"
+ ."\n"
+ .'- This operation is available only in the **China (Shanghai)**, **China (Beijing)**, and **Singapore** regions.'."\n"
+ ."\n"
+ .'- This is an [asynchronous API](~~3027551~~). After you submit a job, a job ID is returned. The job is then processed asynchronously. The final result is delivered via a [callback](~~3027551~~). You can also call the [GetAIMediaAuditJob](~~454959~~) operation to query the job status.'."\n"
+ ."\n"
+ .'- For guidelines on submitting intelligent review jobs, see [Intelligent review](~~101148~~).'."\n"
+ ."\n"
+ .'- After an intelligent review job completes, ApsaraVideo VOD stores the generated image resources in a system bucket for two weeks free of charge. After this period, the resources are automatically deleted.',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:28.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIMediaAuditJob'],
],
- 502 => [
- [
- 'errorCode' => 'Meter.ReadyTsError',
- 'errorMessage' => 'Get ReadyTs Failed,Please Try Again.',
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIMediaAuditJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'SubmitDigitalWatermarkExtractJob' => [
+ 'summary' => 'Call this operation to submit a job to asynchronously extract a digital watermark. The watermark can be a copyright watermark or a tracing watermark.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '267530',
- 'abilityTreeNodes' => [
- 'FEATUREvodKNCWCD',
- ],
- 'tenantRelevance' => 'tenant',
- ],
+ 'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
- 'name' => 'Date',
+ 'name' => 'MediaId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2025-03-20',
- ],
+ 'schema' => ['description' => 'The ID of the video from which you want to extract the watermark. You can specify only one video ID. You can obtain the video ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the navigation pane, choose **Media Files** > **Audio/Video** to view the video ID.'."\n"
+ .'- Call the [SearchMedia](~~436559~~) operation. The video ID is the value of the VideoId parameter in the response.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '0222e203cf80f9c22870a4d2c****'],
],
[
- 'name' => 'MediaRegion',
+ 'name' => 'ExtractType',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-beijing',
- ],
+ 'schema' => ['description' => 'The type of the watermark that you want to extract. Valid values:'."\n"
+ ."\n"
+ .'- **TraceMark**: tracing watermark.'."\n"
+ .'- **CopyrightMark**: copyright watermark.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'TraceMark'],
],
],
'responses' => [
@@ -29036,411 +22825,191 @@
'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' => '[]',
- ],
- ],
+ 'JobId' => ['description' => 'The ID of the watermark extraction job. You can use this ID to call the [GetDigitalWatermarkExtractResult](~~2587769~~) operation.', 'type' => 'string', 'title' => '', 'example' => 'ad90a501b1b9472374ad005046****'],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-****-6C044FE73368'],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"ad90a501b1b9472374ad005046****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-****-6C044FE73368\\"\\n}","type":"json"}]',
+ 'title' => 'SubmitDigitalWatermarkExtractJob',
+ 'description' => '- **Before you call this operation, make sure that you understand the billing methods and pricing for ApsaraVideo VOD. The digital watermark feature is a paid service, and you are charged for both generating and extracting digital watermarks. For more information about billing, see [Digital watermark billing](~~188310#62b9c940403se~~).**'."\n"
+ .'- This operation is supported only in the following regions: **China (Shanghai)** and **China (Beijing)**.'."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'- For more information about how to generate and extract digital watermarks, see '."\n"
+ ."\n"
+ .' [Digital watermarks](~~2527021~~)'."\n"
+ ."\n"
+ .' .'."\n"
+ ."\n"
+ .'</props>'."\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 ApsaraVideo VOD.'."\n"
+ .' - The video from which you want to extract the watermark is longer than 6 minutes.'."\n"
+ .'- After you submit a digital watermark extraction job, you can call the [GetDigitalWatermarkExtractResult](~~2587769~~) operation to query the job result.',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:38.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitDigitalWatermarkExtractJob'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitDigitalWatermarkExtractJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SubmitDynamicImageJob' => [
+ 'summary' => 'Call this operation to submit a dynamic image job for asynchronous processing.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'none',
- 'abilityTreeCode' => '207593',
- 'abilityTreeNodes' => [
- 'FEATUREvodKNCWCD',
- ],
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '40185',
+ 'abilityTreeNodes' => ['FEATUREvodFAR72I'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'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',
+ 'name' => 'VideoId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Maximum value: 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The video ID. You can get the video ID in the following ways:'."\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"
+ ."\n"
+ .'- The value of the `VideoId` parameter returned by the [CreateUploadVideo](~~55407~~) operation.'."\n"
+ ."\n"
+ .'- The value of the `VideoId` parameter returned by the [SearchMedia](~~86044~~) operation, which you can call after the video is uploaded.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '7d2fbc3e273441bdb0e08e55f8****', 'title' => ''],
],
[
- 'name' => 'OrderType',
+ 'name' => 'DynamicImageTemplateId',
'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',
- ],
+ 'schema' => ['description' => 'The dynamic image template ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1a443dc52ef10abc4794d700*****', 'title' => ''],
],
[
- 'name' => 'OrderName',
+ 'name' => 'OverrideParams',
'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',
- ],
+ 'schema' => ['description' => 'The override parameters, specified as a JSON string. For more information, see [OverrideParams](~~98618~~). For details on the settings that can be overridden, see [DynamicImageTemplateConfig](~~52839~~).', 'type' => 'string', 'required' => false, 'example' => '{"Watermarks":[{"Content":"UserID: 666**","WatermarkId":"8ca03c884944bd05efccc312367****"}]}', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response body.',
'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',
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-74A6-BEF6-D7393642****', 'title' => ''],
+ 'DynamicImageJob' => [
+ 'description' => 'The dynamic image job details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'JobId' => ['description' => 'The dynamic image job ID.', 'type' => 'string', 'example' => 'ad90a501b1bfb72374ad0050746****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-74A6-BEF6-D7393642****\\",\\n \\"DynamicImageJob\\": {\\n \\"JobId\\": \\"ad90a501b1bfb72374ad0050746****\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'SubmitDynamicImageJob',
+ 'description' => '### Usage notes'."\n"
."\n"
- .'* You can query only data within the last 30 days.'."\n"
+ .'- This is an [asynchronous interface](~~3027551~~). After you submit a job, the operation returns a job ID and queues it for asynchronous processing. The final result is sent through a callback notification, or you can query the job status by calling the [GetDynamicImageJob](~~2861326~~) operation.'."\n"
."\n"
- .'* Before you call this operation, make sure that the following requirements are met:'."\n"
+ .'- You can start a dynamic image job only for videos that are in the **Uploaded**, **Transcoding**, **Normal**, **UnderReview**, or **Blocked** state.'."\n"
."\n"
- .' * ApsaraVideo Player SDK for Android or iOS'."\n"
+ .'- The fees for generating dynamic images are included in transcoding costs and are calculated using the same standard, which is based on video resolution and duration. For more information, see [media transcoding billing](~~188308~~).'."\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"
+ .'### QPS limit'."\n"
."\n"
- .' * ApsaraVideo Player SDK for Web'."\n"
+ .'The QPS limit for this operation is 30 queries per second (QPS) per user. The system throttles calls that exceed this limit, which may affect your business. Call this operation at a reasonable rate. For more information, see [QPS limits](~~342790~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '## 接口错误码'."\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',
+ .'下表列举了本接口特有的错误码。'."\n"
+ .'| 错误代码 | 错误信息 | HTTP 状态码 | 说明 |'."\n"
+ .'| ------------- |------------ | ----- | ------ |'."\n"
+ .'| InvalidVideo.NotFound |The video does not exist. |404 |视频不存在。|'."\n"
+ .'| NoSuchResource |The specified resource %s does not exist. |404 |用户相关的资源数据不存在, %s表示具体资源信息。|'."\n"
+ .'| Forbidden.IllegalStatus| Status of the video is illegal. |400 |视频状态无效。只有状态为**上传完成**、**转码中**、**正常**、**审核中**和**屏蔽**的视频才能发起动图作业。|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:31.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitDynamicImageJob'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitDynamicImageJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SubmitMediaDNADeleteJob' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39858',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40187',
+ 'abilityTreeNodes' => ['FEATUREvod5413CB'],
'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',
+ 'name' => 'MediaId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the video.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '656eaaa8c43a4597******1f09a36'],
],
],
'responses' => [
@@ -29448,434 +23017,294 @@
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ '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'],
],
- '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 \\"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',
+ 'summary' => 'Deletes a video fingerprinting job.',
+ 'description' => 'Regions that support this operation: **China (Beijing)**, **China (Shanghai)**, and **Singapore**.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitMediaDNADeleteJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'SubmitPreprocessJobs' => [
+ 'summary' => 'Use this operation to transcode videos for Caster.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39859',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40191',
+ 'abilityTreeNodes' => ['FEATUREvodAFH3DF'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'StartTime',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The video ID. You can get the video ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [VOD Console](https://vod.console.aliyun.com) and navigate to **Media Library** > **Audio/Video** to find the video ID.'."\n"
+ ."\n"
+ .'- After you upload a video by calling the [CreateUploadVideo](~~55407~~) operation, the video ID is returned in the `VideoId` parameter of the response.'."\n"
+ ."\n"
+ .'- After you upload a video, you can call the [SearchMedia](~~86044~~) operation to find its ID. The ID is returned in the `VideoId` field of the response.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'd3e680e618708efbf2cae7cc9312****', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'PreprocessType',
'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',
- ],
+ 'schema' => ['description' => 'The preprocessing type. Valid value: **LivePreprocess** (video preprocessing for Caster).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'LivePreprocess', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6C7F90B2-BDA4-4FAC-****-A38A121DFE19',
- ],
- 'UserPlayStatisAvgs' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', 'title' => ''],
+ 'PreprocessJobs' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'UserPlayStatisAvg' => [
- 'description' => 'The statistics on average playback each day.'."\n",
+ 'PreprocessJob' => [
+ 'description' => 'The preprocessing jobs.',
'type' => 'array',
'items' => [
+ 'description' => 'The details of a preprocessing job.',
'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',
- ],
+ 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => 'bb396607fd11fee9effbb99c4****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\",\\n \\"PreprocessJobs\\": {\\n \\"PreprocessJob\\": [\\n {\\n \\"JobId\\": \\"bb396607fd11fee9effbb99c4****\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'SubmitPreprocessJobs',
+ 'description' => '- This is an [asynchronous API](~~3027551~~). After you submit a job, the operation returns a job ID. The job is then queued for asynchronous processing. You can get the result from a callback or by calling the [GetMediaProducingJob](~~2861326~~) operation to query the job status.'."\n"
+ ."\n"
+ .'- Video preprocessing is a transcoding process that prepares videos for playback in Caster. This process incurs **charges**. For more information about pricing, see [Alibaba Cloud Caster pricing](~~64531~~).'."\n"
+ ."\n"
+ .'- To be preprocessed for Caster, an MP4 video with a shorter side of 360 pixels must meet at least one of the following conditions: a horizontal resolution greater than 1920 pixels, a bitrate greater than 6,000 kbps, or a frame rate greater than 25 fps.'."\n"
+ ."\n"
+ .'- You can get the processing result from the [TranscodeComplete](~~55638~~) callback message. Video preprocessing is complete when the callback message contains **Preprocess=true**.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
."\n"
- .'The following table describes the common errors that this operation can return. '."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:50.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitPreprocessJobs'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitPreprocessJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SubmitSnapshotJob' => [
+ 'summary' => 'Call this operation to submit a snapshot job to asynchronously capture snapshots from a video.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39860',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40195',
+ 'abilityTreeNodes' => ['FEATUREvodFAR72I'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'StartTime',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the video. You can obtain the video ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log in to the [ApsaraVideo for VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Media Files** > **Audio/Video** to view the video ID.'."\n"
+ ."\n"
+ .'- Get the VideoId from the response to the [CreateUploadVideo](~~55407~~) operation. This operation provides the upload URL and credentials.'."\n"
+ ."\n"
+ .'- After a video is uploaded, get the VideoId from the response to the [SearchMedia](~~86044~~) operation.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'd3e680e618708efbf2cae7cc9312****', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'SpecifiedOffsetTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The start time for capturing the snapshot.'."\n"
+ ."\n"
+ .'- Unit: milliseconds.'."\n"
+ ."\n"
+ .'- Default value: **0**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => ''],
+ ],
+ [
+ 'name' => 'Width',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The width of the snapshot, in pixels (px). Valid values: `[8,4096]`. The default is the width of the source video.', 'type' => 'string', 'required' => false, 'example' => '1280', 'title' => ''],
+ ],
+ [
+ 'name' => 'Height',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The height of the snapshot, in pixels (px). Valid values: `[8,4096]`. The default is the height of the source video.', 'type' => 'string', 'required' => false, 'example' => '720', 'title' => ''],
+ ],
+ [
+ 'name' => 'Count',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of snapshots to capture. Default value: **1**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'Interval',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The interval for capturing snapshots. The value must be **greater than or equal to 0**.'."\n"
+ ."\n"
+ .'- Unit: seconds.'."\n"
+ ."\n"
+ .'- Default value: **1**.'."\n"
+ ."\n"
+ .'- If you set `Interval` to **0**, the system captures snapshots at even intervals based on the video duration and the value of `Count`.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'SpriteSnapshotConfig',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The configuration for generating a [sprite](~~86952~~). If you specify this parameter, the system generates a sprite. For more information about the parameter structure, see [SpriteSnapshotConfig](~~86952~~).', 'type' => 'string', 'required' => false, 'example' => '{\'CellWidth\': 120, \'CellHeight\': 68, \'Columns\': 3,\'Lines\': 10, \'Padding\': 20, \'Margin\': 50}', 'title' => ''],
+ ],
+ [
+ 'name' => 'SnapshotTemplateId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the snapshot template.'."\n"
+ ."\n"
+ .'- We recommend creating a [snapshot template](~~99406~~) before you specify its ID. For more information, see [AddVodTemplate](~~99406~~).'."\n"
+ ."\n"
+ .'- If you specify `SnapshotTemplateId`, the system ignores all other request parameters except for `Action` and `VideoId`.', 'type' => 'string', 'required' => false, 'example' => 'f5b228fe693bf55bd87b789****', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserData',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Custom settings in JSON format. This parameter allows you to pass custom [user data](~~86952~~) and specify a [callback URL](~~86952~~). For more information about the parameter structure, see [UserData](~~86952~~).'."\n"
+ ."\n"
+ .'> To use the message callback feature, you must first configure an HTTP callback URL and select the corresponding event types in the console. Otherwise, the callback settings will not take effect.', 'type' => 'string', 'required' => false, 'example' => '{"MessageCallback":{"CallbackURL":"http://.example.aliyundoc.com"},"Extend":{"localId":"xxx","example":"www"}}', 'title' => ''],
+ ],
+ [
+ 'name' => 'SpecifiedOffsetTimes',
+ 'in' => 'query',
+ 'style' => 'json',
'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',
+ 'description' => 'An array of specific time points in the video to capture snapshots. Unit: milliseconds. You can specify up to 30 time points.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A specific time point, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'ReferenceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A custom ID that can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters long and unique per user.', 'type' => 'string', 'example' => '123-123', 'title' => '', 'required' => false],
+ ],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '1FAFB884-D5A7-47D1-****-8928AA9C8720',
- ],
- 'UserPlayStatisTotals' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-5EB0-4AF6-D7393642****', 'title' => ''],
+ 'SnapshotJob' => [
+ 'description' => 'Information about the snapshot job.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'JobId' => ['description' => 'The snapshot job ID.', 'type' => 'string', 'example' => 'ad90a501b1b94b72374ad0050464****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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>&lt;=1m:74.3%;&gt;1&lt;=5m:22.8%;&gt;5&lt;=10m:1.0%;&gt;10&lt;=15m:1.0%;&gt;15&lt;=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>&lt;=1m:73.6%;&gt;1&lt;=5m:23.9%;&gt;5&lt;=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' => ' ',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-5EB0-4AF6-D7393642****\\",\\n \\"SnapshotJob\\": {\\n \\"JobId\\": \\"ad90a501b1b94b72374ad0050464****\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'SubmitSnapshotJob',
+ 'description' => '- This is an [asynchronous API](~~3027551~~). After you submit a job, a job ID is returned. The job is then queued for asynchronous processing. The final result is sent via a [callback notification](~~2861326~~). You can also call the [GetTask](~~2861326~~) operation to query the job status.'."\n"
+ ."\n"
+ .'- Currently, only snapshots in JPG format are supported.'."\n"
+ ."\n"
+ .'- When a snapshot job is complete, the system generates a [SnapshotComplete](~~57337~~) event notification with `EventType=SnapshotComplete` and `SubType=SpecifiedTime`.'."\n"
+ ."\n"
+ .'### QPS limit'."\n"
+ ."\n"
+ .'This operation has a limit of 30 queries per second (QPS) per user. The system subjects calls that exceed this limit to [rate limiting](~~342790~~), which may impact your business. Plan your calls accordingly. For more information, see [QPS limit](~~342790~~).',
+ 'requestParamsDescription' => '> You must specify at least one of `Count` or `Interval`. If you specify both, the system uses the parameter that results in fewer snapshots.',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
."\n"
@@ -29883,174 +23312,175 @@
."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:20:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:36.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitSnapshotJob'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitSnapshotJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'SubmitTranscodeJobs' => [
+ 'summary' => 'Call this API to submit media transcoding jobs and start asynchronous transcoding.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39861',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
- ],
+ 'abilityTreeCode' => '40196',
+ 'abilityTreeNodes' => ['FEATUREvodAFH3DF'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'StartTime',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the video. You can get the video ID in one of the following ways:'."\n"
+ ."\n"
+ .'- For videos uploaded to the ApsaraVideo VOD console, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Files** > **Audio/Video** to view the video ID.'."\n"
+ ."\n"
+ .'- When you upload a video by calling the [CreateUploadVideo](~~55407~~) API, the video ID is the value of the `VideoId` parameter in the response.'."\n"
+ ."\n"
+ .'- After a video is uploaded, you can call the [SearchMedia](~~86044~~) API to query the video ID, which is the value of the `VideoId` parameter in the response.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '142710f878bd42508932f660d7b1****', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'TemplateGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the transcoding template group to use for media transcoding. To view the template group ID, log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Configuration Management** >**Media Processing Settings** > **Transcoding Template Group**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0e408c803baf658ee637790c5d9f****', 'title' => ''],
],
[
- 'name' => 'VideoId',
+ 'name' => 'PipelineId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the pipeline.', 'type' => 'string', 'required' => false, 'example' => 'd3e680e618708erf45fbf2cae7c****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EncryptConfig',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The encryption configuration, specified as a JSON string. This parameter is required only for HLS standard encryption.'."\n"
+ ."\n"
+ .'> - The **CipherText** parameter in the [EncryptConfig](~~86952~~) structure must be an AES\\_128 ciphertext key generated by calling the [GenerateKMSDataKey](~~455051~~) API. Otherwise, the HLS standard encryption transcoding job fails. For more information about how to implement HLS standard encryption, see [HLS Standard Encryption](~~68612~~).'."\n"
+ .'>'."\n"
+ .'> - For both HLS standard encryption and private encryption, you must select the HLS encryption option in the template that corresponds to the specified **TemplateGroupId**. Otherwise, the output video is not encrypted.', 'type' => 'string', 'required' => false, 'example' => '{"CipherText":"ZjJmZGViNzUtZWY1Mi00Y2RlLTk3****", "DecryptKeyUri":"http://demo.aliyundoc.com?CipherText=ZjJmZGViNzUtZWY1Mi00Y2RlLTk3****","KeyServiceType":"KMS"}', 'title' => ''],
+ ],
+ [
+ 'name' => 'OverrideParams',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Override parameters, specified as a JSON string. You can use this parameter to override settings in the transcoding template, including the image watermark file, text watermark content, subtitle file URL, and subtitle file encoding format. For details about the parameter structure, see [OverrideParams](~~98618~~).', 'type' => 'string', 'required' => false, 'example' => '{"Watermarks":[{"WatermarkId":"af2afe4761992c47dae973374****","FileUrl":"http://developer.aliyundoc.com/image/image.png"},{"WatermarkId":"e8e5b8038d7ada85b376c2707****","Content":"watermark test"}]}', 'title' => ''],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The priority of the transcoding job in the queue.'."\n"
+ ."\n"
+ .'- Valid values: **1** to **10**.'."\n"
+ ."\n"
+ .'- A value of **10** indicates the highest priority.'."\n"
+ ."\n"
+ .'- Default value: **6**.'."\n"
+ ."\n"
+ .'> This parameter affects only the priority of the current transcoding job among all queued jobs. It does not affect the priority of jobs that are being processed.', 'type' => 'string', 'required' => false, 'example' => '6', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserData',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Custom settings, specified as a JSON string. You can configure settings such as message callbacks. For more information, see [UserData](~~86952~~).'."\n"
+ ."\n"
+ .'> To use the message callback feature, you must first configure an HTTP callback URL and select the corresponding event types in the console. Otherwise, the callback settings do not take effect.', 'type' => 'string', 'required' => false, 'example' => '{"Extend":{"localId":"****","test":"***"}}', 'title' => ''],
+ ],
+ [
+ 'name' => 'SessionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A custom idempotency key. If you submit a request with the same idempotency key within seven days, the request fails and an error is returned.'."\n"
+ .'The key can be up to 50 characters in length and can contain uppercase and lowercase letters, digits, hyphens (-), and underscores (\\_). If you do not specify this parameter or pass an empty string, the system does not deduplicate the request.', 'type' => 'string', 'required' => false, 'example' => '5c62d40299034bbaa4c195da330****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ReferenceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A custom ID that must be unique for each user. The ID can be 6 to 64 characters long and can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'example' => '123-123', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'A92D3600-A3E7-43D6-****-B6E3B4A1FE6B',
- ],
- 'VideoPlayStatisDetails' => [
+ 'TranscodeTaskId' => ['description' => 'The ID of the submitted transcoding task.', 'type' => 'string', 'example' => '9f4a0df7da2c8a81c8c0408c84****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', 'title' => ''],
+ 'TranscodeJobs' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
- 'VideoPlayStatisDetail' => [
- 'description' => 'The daily playback statistics on the video.'."\n",
+ 'TranscodeJob' => [
+ 'description' => 'Details of the media transcoding jobs.'."\n"
+ ."\n"
+ .'> This parameter is not returned for HLS adaptive bitrate streaming packaging jobs. You must receive asynchronous callbacks to handle the results.',
'type' => 'array',
'items' => [
+ 'description' => 'Details of a transcoding job.',
'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%',
- ],
+ 'JobId' => ['description' => 'The job ID.'."\n"
+ ."\n"
+ .'> This parameter is not returned for HLS adaptive bitrate streaming packaging jobs. You must receive asynchronous callbacks to handle the results.', 'type' => 'string', 'example' => 'd8921ce8505716cfe86fb112c4****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => 'The list of transcoding jobs.',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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>&lt;=1m:79.2%;&gt;1&lt;=5m:16.7%;&gt;5&lt;=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>&lt;=1m:79.2%;&gt;1&lt;=5m:16.7%;&gt;5&lt;=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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TranscodeTaskId\\": \\"9f4a0df7da2c8a81c8c0408c84****\\",\\n \\"RequestId\\": \\"E4EBD2BF-5EB0-4476-8829-9D94E1B1****\\",\\n \\"TranscodeJobs\\": {\\n \\"TranscodeJob\\": [\\n {\\n \\"JobId\\": \\"d8921ce8505716cfe86fb112c4****\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'SubmitTranscodeJobs',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'- **Media transcoding is a paid feature. Before you call this API, make sure that you are familiar with the billing methods and pricing of ApsaraVideo VOD. For more information, see [Media Transcoding Billing](~~188308#section-ejb-nii-nqa~~).**'."\n"
+ ."\n"
+ .'- This is an [asynchronous API](~~3027551~~). The job is queued in the background for asynchronous processing. The result is sent through a callback. You can also query the job status by calling the [GetTaskDetails](~~454946~~) operation.'."\n"
+ ."\n"
+ .'- You can start a transcoding job only for videos that are in the Uploaded, Normal, or Under Review state.'."\n"
+ ."\n"
+ .'- To get the transcoding result, you can receive message callbacks for the following events: [Single Transcoding Job Complete](~~55636~~) and [All Transcoding Jobs Complete](~~55638~~).'."\n"
+ ."\n"
+ .'- This API supports dynamic replacement of subtitle URLs in HLS adaptive bitrate streaming packaging jobs. If a packaging job does not require subtitle processing, do not use this API. Instead, specify the corresponding packaging template group ID when you upload the video to automatically trigger the packaging process.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
@@ -30059,22 +23489,36 @@
."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:06.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitTranscodeJobs'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitTranscodeJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SubmitWorkflowJob' => [
+ 'summary' => 'Submits a workflow job to process a video.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -30086,153 +23530,157 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39806',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40198',
+ 'abilityTreeNodes' => ['FEATUREvodR23QUR'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'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',
+ 'name' => 'WorkflowId',
'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',
- ],
+ 'schema' => ['description' => 'The workflow ID. Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration** > **Media Processing** > **Workflows** to view the ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '34d577eade633860bdf1237****', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'MediaId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- 'description' => 'The resource group ID.'."\n",
- 'example' => 'rg-aekzko7fsuj****',
- ],
+ 'schema' => ['description' => 'The ID of the video. You can obtain the media ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo VOD console](https://vod.console.aliyun.com) and choose **Media Library** > **Audio/Video** to view the media ID of a video uploaded through the console.'."\n"
+ ."\n"
+ .'- If you call the [CreateUploadVideo](~~55407~~) operation to obtain an upload URL and credentials, the media ID is returned as the value of the VideoId parameter in the response.'."\n"
+ ."\n"
+ .'- After a video is uploaded, you can call the [SearchMedia](~~86044~~) operation to query the media ID. The media ID is returned as the value of the VideoId parameter in the response.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '058b39e75269da42b08f00459****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
+ 'description' => 'The response object.',
'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****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A01C8FF4-C106-4431-418F973DADB7****', 'title' => ''],
+ 'TaskId' => ['description' => 'The ID of the workflow job. You can use this ID to check the job status by calling the GetTask operation.', 'type' => 'string', 'title' => '', 'example' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A01C8FF4-C106-4431-418F973DADB7****\\",\\n \\"TaskId\\": \\"\\"\\n}","type":"json"}]',
+ 'title' => 'SubmitWorkflowJob',
+ 'description' => '- **Important: Before you call this operation, understand the billing methods and pricing of ApsaraVideo VOD. Using a workflow may incur fees for features such as transcoding, encryption, and content moderation. For more information, see [ApsaraVideo VOD pricing](~~188307~~).**'."\n"
."\n"
- .'### QPS limits'."\n"
+ .'- This operation is an [asynchronous API](~~3027551~~). After you submit the job, the API returns a task ID. The job is queued and runs asynchronously. The service delivers the final result through a callback. You can also query the task status by calling [GetTask](~~2861326~~).'."\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',
+ .'- Use this operation to submit a workflow job for a video. For more information about workflows, see [Workflows](~~115347~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:38.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:52.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitWorkflowJob'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitWorkflowJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'UpdateAITemplate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '39824',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '40205',
+ 'abilityTreeNodes' => ['FEATUREvodW76Z9M'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppId',
+ 'name' => 'TemplateId',
'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-****',
- ],
+ '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 data.',
+ 'description' => 'The returned result.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A13-BEF6-****',
- ],
+ '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-****'],
],
],
],
],
- '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.',
+ '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',
+ 'summary' => 'Modifies an AI template.',
+ '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' => ' ',
- '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',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAITemplate'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'UpdateAppInfo' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -30243,62 +23691,40 @@
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '40207',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ '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-****',
- ],
+ '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',
- ],
+ '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.',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The status of the application. Valid values:'."\n"
+ ."\n"
+ .'* **Normal**'."\n"
+ .'* **Disable**'."\n", 'type' => 'string', 'required' => false, 'example' => 'Disable'],
],
],
'responses' => [
@@ -30307,17 +23733,14 @@
'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A13-DF45-D7393642****',
- ],
+ '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',
+ 'summary' => 'Updates the information about an application.',
'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",
@@ -30329,49 +23752,54 @@
.'| ---------- | ------------- | ---------------- | ----------- |'."\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',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAppInfo'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39937',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40211',
+ 'abilityTreeNodes' => ['FEATUREvod7B2GUR'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppIds',
+ 'name' => 'UpdateContent',
'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-****',
- ],
+ '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":" title1","Description":" description1","Tags":" tag1, tag2"},{"MediaId":"f45cf4eba5cb90233389558c39****","Title2":" title","Description2":" description","Tags":" tag3, tag4"}]', 'title' => ''],
],
],
'responses' => [
@@ -30380,173 +23808,96 @@
'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",
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4DF6-D7393642CA58****', 'title' => ''],
+ 'NonExistMediaIds' => [
+ 'description' => 'The IDs of the auxiliary media assets that do not exist.'."\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',
+ 'items' => ['description' => 'The ID of the auxiliary media assets that does not exist.'."\n", 'type' => 'string', 'example' => '["bbc65bba53f6ed90de118a7849****"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ '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"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'**Note** You must convert the UpdateContent parameter to a string before you pass it in.'."\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',
+ .'|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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:52.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAttachedMediaInfos'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateAttachedMediaInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateCategory' => [
+ 'summary' => 'Updates the category name.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40042',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40213',
+ 'abilityTreeNodes' => ['FEATUREvodUYOK6S'],
+ 'autoTest' => true,
'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',
+ 'name' => 'CateName',
'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',
- ],
+ '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' => 'Landscape', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'CateId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The resource group ID to which the instance belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aekzko7fsuj****',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
@@ -30555,102 +23906,53 @@
'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****',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ '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"
- .'### [](#qps-)QPS limit'."\n"
+ .'The following table describes the common errors that this operation can return.'."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:04.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCategory'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateCategory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'UpdateEditingProject' => [
+ 'summary' => 'Modifies an online editing project.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -30659,92 +23961,85 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '200259',
- 'abilityTreeNodes' => [
- 'FEATUREvod3O95DN',
- ],
+ 'abilityTreeCode' => '40219',
+ 'abilityTreeNodes' => ['FEATUREvod7B2GUR'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppId',
+ 'name' => 'ProjectId',
'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-****',
- ],
+ 'schema' => ['description' => 'The ID of the online editing project.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4ee4b97e27*****b525142a6b2', 'title' => ''],
],
[
- 'name' => 'StorageLocation',
+ 'name' => 'Title',
'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',
- ],
+ 'schema' => ['description' => 'The title of the online editing project.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testtimeline', 'title' => ''],
],
[
- 'name' => 'StorageType',
+ 'name' => 'Timeline',
'in' => 'query',
- 'schema' => [
- 'description' => 'The storage class. Default value: **vod_oss_bucket**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [],
- 'example' => 'vod_oss_bucket',
- ],
+ '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"}]}]}', 'title' => ''],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description of the online editing project.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testtimeline001desciption', 'title' => ''],
+ ],
+ [
+ 'name' => 'CoverURL',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The thumbnail URL of the online editing project.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://****.com/6AB4D0E1E1C7446888****.png', 'title' => ''],
],
],
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
- [],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'UpdateEditingProject',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:51.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEditingProject'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ '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' => [],
@@ -30753,250 +24048,311 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39798',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40221',
+ 'abilityTreeNodes' => ['FEATUREvod7B2GUR'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'IdentityType',
+ '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":" title","Description":" description","Tags":" tag1, tag2"}]', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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.|',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:54.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateImageInfos'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateImageInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseParamsDescription' => ' ',
+ ],
+ 'UpdateMediaStorageClass' => [
+ 'summary' => 'Modifies the storage classes of media assets.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'IdentityName',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '171759',
+ 'abilityTreeNodes' => ['FEATUREvodM1QLPK'],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MediaIds',
'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' => '****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'Scope',
'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-****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PolicyNames',
+ 'name' => 'StorageClass',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'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-****-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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '30FA0B7C-3A81-5449-93CD-ACA149E6****', 'title' => ''],
+ 'Status' => ['description' => 'The state of the task. Valid values:'."\n"
+ ."\n"
+ .'* **Processing**'."\n"
+ .'* **Failed**'."\n", 'type' => 'string', 'example' => 'Processing', 'title' => ''],
+ '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****\']', 'title' => ''],
+ 'title' => '',
+ ],
],
+ 'description' => '',
+ 'title' => '',
],
- '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',
+ '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****', 'title' => ''],
+ 'Reason' => ['description' => 'The reason for the failure.'."\n", 'type' => 'string', 'example' => 'TargetStorageClassInconsistent', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'title' => '',
+ ],
],
+ 'description' => '',
+ 'title' => '',
],
],
- 'description' => '',
+ 'title' => '',
],
],
],
- '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"
+ '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"
- .'| 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',
+ .'* 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",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:50.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateMediaStorageClass'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateMediaStorageClass',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'UpdateTranscodeTemplateGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39923',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40227',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'IdentityType',
+ 'name' => 'Name',
'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',
- ],
+ 'schema' => ['description' => 'The name of the transcoding template group.'."\n"
+ ."\n"
+ .'- The name cannot exceed 128 bytes.'."\n"
+ ."\n"
+ .'- The value is encoded in UTF-8.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'transcodetemplate'],
],
[
- 'name' => 'IdentityName',
+ 'name' => 'TranscodeTemplateList',
'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',
- ],
+ 'schema' => ['description' => 'The configurations of the transcoding template. The value must be a JSON string. For more information about the parameter structure, see [TranscodeTemplate](~~52839#title-9mb-8o2-uu6~~).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[{"Video":{"Bitrate":"400","Codec":"H.264","Fps":"30"},"Audio":{"Codec":"AAC","Bitrate":"64","Definition":"SD","EncryptType":"Private","Container":{"Format":"m3u8"},"PackageType":"HLSPackage"}}]'],
],
[
- 'name' => 'AppId',
+ 'name' => 'Locked',
'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-****',
- ],
+ 'schema' => ['description' => 'The lock status of the transcoding template group. Valid values:'."\n"
+ ."\n"
+ .'- **Enabled**: The template group is locked. A locked template group cannot be modified.'."\n"
+ ."\n"
+ .'- **Disabled** (default): The template group is not locked.'."\n"
+ ."\n"
+ .'The default value is **Disabled**. When you pass this parameter, the lock status of the template group is modified, but the name and configurations of the transcoding template group remain unchanged.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Disabled'],
],
[
- 'name' => 'PolicyNames',
+ 'name' => 'TranscodeTemplateGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the transcoding template group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '4c71a339fe*****52b4fa6f4527'],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'Indicates whether the call is successful.',
'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',
- ],
- ],
+ 'TranscodeTemplateGroupId' => ['description' => 'The ID of the transcoding template group.', 'type' => 'string', 'title' => '', 'example' => '34e908aa4024a*****f7821c31f93a2a'],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '25818875-5F78-4A*****F6-D7393642CA58'],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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",
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'UpdateTranscodeTemplateGroup',
+ 'summary' => 'Modifies the configurations of a transcoding template group or configurations of transcoding templates within the transcoding template group.',
+ 'description' => 'For security purposes, you cannot add, modify, or delete transcoding templates in a locked transcoding template group. You can call the [GetTranscodeTemplateGroup](~~GetTranscodeTemplateGroup~~) operation to query the template configurations and check whether the template group is locked based on the Locked response parameter. Alternatively, you can call this operation to unlock the template group before you add, modify, or delete templates.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
@@ -31005,146 +24361,144 @@
."\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',
+ .'| 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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:16:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:15:03.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTranscodeTemplateGroup'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TranscodeTemplateGroupId\\": \\"34e908aa4024a*****f7821c31f93a2a\\",\\n \\"RequestId\\": \\"25818875-5F78-4A*****F6-D7393642CA58\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateVideoInfo' => [
+ 'summary' => 'Updates the information for a single audio or video file.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40044',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40229',
+ 'abilityTreeNodes' => ['FEATUREvod7B2GUR'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'IdentityType',
+ 'name' => 'VideoId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the audio or video file. Obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [VOD console](https://vod.console.aliyun.com). Choose **Media Library** > **Audio/Video** to view the ID of a video that was uploaded in the console.'."\n"
+ ."\n"
+ .'- The response to a [CreateUploadVideo](~~55407~~) call contains the audio or video ID in the \\`VideoId\\` parameter.'."\n"
+ ."\n"
+ .'- After you upload a video, the response to a [SearchMedia](~~86044~~) call contains the audio or video ID in the \\`VideoId\\` parameter.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '2deda93265312baf9b0ed810d****', 'title' => ''],
],
[
- 'name' => 'IdentityName',
+ 'name' => 'Title',
'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',
- ],
+ 'schema' => ['description' => 'The title of the audio or video file.'."\n"
+ ."\n"
+ .'- The title can be up to 128 bytes in length.'."\n"
+ ."\n"
+ .'- The title must be UTF-8 encoded.', 'type' => 'string', 'required' => false, 'example' => 'Alibaba Cloud VOD Video Title', 'title' => ''],
],
[
- 'name' => 'AppId',
+ 'name' => 'Tags',
'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-****',
- ],
+ 'schema' => ['description' => 'The tags of the file.'."\n"
+ ."\n"
+ .'- A single tag can be up to 32 bytes in length. A maximum of 16 tags are supported.'."\n"
+ ."\n"
+ .'- Separate multiple tags with commas (,).'."\n"
+ ."\n"
+ .'- The tags must be UTF-8 encoded.', 'type' => 'string', 'required' => false, 'example' => 'tag1,tag2', 'title' => ''],
+ ],
+ [
+ '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"
+ ."\n"
+ .'- The description must be UTF-8 encoded.', 'type' => 'string', 'required' => false, 'example' => 'Alibaba Cloud VOD video description', 'title' => ''],
+ ],
+ [
+ 'name' => 'CoverURL',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The URL of the cover for the audio or video file.', 'type' => 'string', 'required' => false, 'example' => 'https://example.aliyundoc.com/****.jpg', 'title' => ''],
+ ],
+ [
+ 'name' => 'CateId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the category. Obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [VOD console](https://vod.console.aliyun.com). Choose **Configuration Management** > **Media Asset Management** > **Category Management** to view the category ID.'."\n"
+ ."\n"
+ .'- The response to an [AddCategory](~~56401~~) call contains the category ID in the \\`CateId\\` parameter.'."\n"
+ ."\n"
+ .'- The response to a [GetCategories](~~56406~~) call contains the category ID in the \\`CateId\\` parameter.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '384761111', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserData',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Custom settings in a JSON string. These settings can include message callbacks and upload acceleration. For more information, see [UserData](~~86952~~).', 'type' => 'string', 'required' => false, 'example' => '{"MessageCallback":{"CallbackURL":"http://example.aliyundoc.com"},"Extend":{"localId":"*****","test":"www"}}', 'title' => ''],
+ ],
+ [
+ 'name' => 'ReferenceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A custom ID. The ID can contain lowercase letters, uppercase letters, digits, hyphens (-), and underscores (\\_). The ID must be 6 to 64 characters in length and unique for each user.', 'type' => 'string', 'example' => '123-123', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\"\\n}","type":"json"}]',
+ 'title' => 'UpdateVideoInfo',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'This operation updates the information of an audio or video file based on its video ID, such as the title, tags, and description. If you include a parameter in the request, the corresponding field is updated. Fields for omitted parameters remain unchanged.'."\n"
+ ."\n"
+ .'### QPS limits'."\n"
+ ."\n"
+ .'The queries per second (QPS) limit for this API operation is 100 for each user. If you exceed the limit, API calls are throttled, which may affect your business. We recommend that you call this operation at a reasonable rate. For more information, see [QPS limits](~~342790~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '## Common errors'."\n"
@@ -31153,18 +24507,34 @@
."\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',
+ .'| InvalidVideo.NotFound | The video does not exist. | 404 | The error message returned because the video does not exist. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:50.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVideoInfo'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVideoInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'UpdateVideoInfos' => [
+ 'summary' => 'Updates information for multiple audio or video files.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -31176,235 +24546,241 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40094',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40231',
+ 'abilityTreeNodes' => ['FEATUREvod7B2GUR'],
'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',
+ 'name' => 'UpdateContent',
'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',
- ],
+ 'schema' => ['description' => 'The content to update. You can modify the information of a maximum of 20 audio or video files in a single request. Separate the information of multiple audio or video objects with commas (,). If you attempt to update more than 20 files, the operation fails and a `CountExceededMax` error is returned.'."\n"
+ .'The value must be a JSON string. For more information about the parameters, see the **UpdateContent** table below.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"VideoId":"f45cf4eba5cb90233389558c39****","Title":"Alibaba Cloud VOD Video Title1"},{"VideoId":"f45cf4eba5c84233389558c36****","Title":"Alibaba Cloud VOD Video Title2"}]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A13-BEF6-****',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'ForbiddenVideoIds' => [
+ 'description' => 'A list of audio or video IDs for which the operation is forbidden. This is usually due to a lack of [permissions](~~113600~~).',
+ 'type' => 'array',
+ 'items' => ['description' => 'A list of audio or video IDs for which the operation is forbidden. This is usually due to a lack of [permissions](~~113600~~).', 'type' => 'string', 'example' => 'f45cf4eba5c84233389558c36****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'NonExistResourceIds' => [
- 'description' => 'The IDs of the resources that were not found.'."\n",
+ 'NonExistVideoIds' => [
+ 'description' => 'A list of audio or video IDs that do not exist.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the resource that was not found.'."\n",
- 'type' => 'string',
- 'example' => '9afb4****06de180880e',
- ],
+ 'items' => ['description' => 'A list of audio or video IDs that do not exist.', 'type' => 'string', 'example' => 'f45cf4eba5cb90233389558c39****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'FailedResourceIds' => [
- 'description' => 'The IDs of the resources that failed to be migrated.'."\n",
+ 'NonExistReferenceIds' => [
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the resource that failed to be migrated.'."\n",
- 'type' => 'string',
- 'example' => 'f7bba****caa546cfe2ba',
- ],
+ 'items' => ['description' => 'A list of custom IDs that do not exist.', 'type' => 'string', 'example' => '123-123', 'title' => ''],
+ 'description' => 'A list of custom IDs that do not exist.',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"ForbiddenVideoIds\\": [\\n \\"f45cf4eba5c84233389558c36****\\"\\n ],\\n \\"NonExistVideoIds\\": [\\n \\"f45cf4eba5cb90233389558c39****\\"\\n ],\\n \\"NonExistReferenceIds\\": [\\n \\"123-123\\"\\n ]\\n}","type":"json"}]',
+ 'title' => 'UpdateVideoInfos',
+ 'description' => '### Usage notes'."\n"
."\n"
- .'The following table describes the common errors that this operation can return.'."\n"
+ .'- This operation locates audio or video files by their IDs. You can modify information such as the title, tags, and description. If a parameter is passed, the corresponding field is updated. If a parameter is not passed, the corresponding field is not updated.'."\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',
+ .'- You can update information for a maximum of 20 audio or video files per request.'."\n"
+ ."\n"
+ .'### QPS limits'."\n"
+ ."\n"
+ .'The queries per second (QPS) limit for this operation is 30 calls per user. If you exceed this limit, API calls are throttled, which may affect your business. We recommend that you call this operation within this limit. For more information, see [QPS limits](~~342790~~).',
+ 'requestParamsDescription' => '## UpdateContent'."\n"
+ ."\n"
+ .'> You must convert the value of UpdateContent to a string before you pass it as a request parameter.'."\n"
+ ."\n"
+ .'| Name | Type | Required | Description |'."\n"
+ .'| ----------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| VideoId | String | Yes | The ID of the audio or video file. You can obtain the ID in the following ways:<br>For audio or video files uploaded in the console, log on to the [VOD console](https://vod.console.aliyun.com) and choose **Media Assets** > **Audio/Video** to view the ID.<br>When you call the [CreateUploadVideo](~~55407~~) operation to obtain an upload URL and credential, the audio or video ID is the value of the VideoId parameter in the response.<br>After the audio or video file is uploaded, you can call the [SearchMedia](~~86044~~) operation to query the audio or video ID. The ID is the value of the VideoId parameter in the response. |'."\n"
+ .'| Title | String | No | The title of the audio or video file. |'."\n"
+ .'| Description | String | No | The description of the audio or video file. |'."\n"
+ .'| Tags | String | No | The tags of the audio or video file. A single tag can be up to 32 bytes in length. A maximum of 16 tags are supported. Separate multiple tags with commas (,). The tags must be UTF-8 encoded. |'."\n"
+ .'| CoverURL | String | No | The URL of the cover image for the audio or video file. |'."\n"
+ .'| CateId | Long | No | The ID of the category. You can obtain the ID in the following ways:<br>Log on to the [VOD console](https://vod.console.aliyun.com) and choose **Configuration Management** > **Media Asset Management** > **Category Management** to view the category ID.<br>When you call the [AddCategory](~~56401~~) operation to create a category, the category ID is the value of the CateId parameter in the response.<br>When you call the [GetCategories](~~56406~~) operation to query categories, the category ID is the value of the CateId parameter in the response. |'."\n"
+ .'| ReferenceId | String | No | The custom ID. It can contain only lowercase letters, uppercase letters, digits, hyphens (-), and underscores (_). The length must be 6 to 64 characters. The ID must be unique for each user. |',
+ 'responseParamsDescription' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:19:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:17:26.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVideoInfos'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVideoInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'UpdateVodDomain' => [
+ 'summary' => 'Modifies a specific accelerated domain name.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39805',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40233',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppId',
+ 'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'app-1000000',
- ],
+ 'schema' => ['description' => 'The domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
+ ],
+ [
+ '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}]', 'title' => ''],
+ ],
+ [
+ 'name' => 'TopLevelDomain',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The top-level domain.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
],
],
'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',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '15C66C7B-671A-4297-****-2C4477247A74', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'MissingDomainName', 'errorMessage' => 'The domainName parameter is required.', 'description' => ''],
+ ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidSource.Content.Malformed', 'errorMessage' => 'The specified Source Content is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidTypeContent.Mismatch', 'errorMessage' => 'The specified source type does not match the specified source content.', 'description' => ''],
+ ['errorCode' => 'MissingSource.Content', 'errorMessage' => 'The Source Content must be specified.', 'description' => ''],
+ ['errorCode' => 'MissingSource.Type', 'errorMessage' => 'The Source Type must be specified.', 'description' => ''],
+ ['errorCode' => 'InvalidSource.Type.Malformed', 'errorMessage' => 'The specified Source Type is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidSource.Priority.Malformed', 'errorMessage' => 'The specified Source Priority is invalid.', 'description' => ''],
+ ['errorCode' => 'InvalidSources.Malformed', 'errorMessage' => 'Specified Sources is malformed.', 'description' => 'The origin information is in an invalid format.'],
+ ['errorCode' => 'IllegalSources', 'errorMessage' => 'The specified origin site information is invalid.', 'description' => 'The origin information of the accelerated domain name is incorrect.'],
+ ['errorCode' => 'TopLevelDomain.NotFound', 'errorMessage' => 'The specified TopLevelDomain does not exist.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'DomainInProtectedMode', 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', 'description' => ''],
+ ['errorCode' => 'ServiceBusy', 'errorMessage' => 'The specified Domain is configuring, please retry later', 'description' => ''],
+ ['errorCode' => 'IllegalOperation', 'errorMessage' => 'Illegal domain operate is not permitted.', 'description' => ''],
+ ],
+ [
+ ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''],
+ ],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-****-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVodDomainResponse>\\r\\n<RequestId>15C66C7B-671A-4297-****-2C4477247A74</RequestId>\\r\\n</UpdateVodDomainResponse>","errorExample":""}]',
+ 'title' => 'UpdateVodDomain',
+ 'description' => 'UpdateVodDomain',
+ 'requestParamsDescription' => 'Modifies a specific accelerated domain name.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => '> This operation is available only in the **China (Shanghai)** region.'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:24:07.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:19:44.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:16:20.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVodDomain'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'UpdateVodTemplate' => [
+ 'summary' => 'Modifies a snapshot template.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39805',
- 'abilityTreeNodes' => [
- 'FEATUREvodHJ3KAX',
- ],
+ 'abilityTreeCode' => '40235',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppId',
+ 'name' => 'VodTemplateId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'app-1000231',
- ],
+ 'schema' => ['description' => 'The ID of the snapshot template.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8c75a02e339b*****0b0d2c48171a22', 'title' => ''],
],
[
- 'name' => 'PlayKey',
+ 'name' => 'Name',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'yzNgTUtAl6HAuosIA',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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}', 'title' => ''],
],
],
'responses' => [
@@ -31412,30 +24788,45 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '25818875-5F78-4A*****F6-D7393642CA58',
- ],
+ 'VodTemplateId' => ['description' => 'The ID of the snapshot template.'."\n", 'type' => 'string', 'example' => '8c75a02e339b*****0b0d2c48171a22', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '25818875-5F78-4A*****F6-D7393642CA58', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:17:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:51.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVodTemplate'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'UpdateWatermark' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -31446,45 +24837,33 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '40126',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
- ],
+ 'abilityTreeCode' => '40237',
+ 'abilityTreeNodes' => ['FEATUREvodL077M7'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'Content',
+ 'name' => 'Name',
'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' => '&lt;cross-domain-policy&gt;&lt;allow-access-from domain="*"/&gt;&lt;allow-http-request-headers-from domain="*" headers="*" secure="false"/&gt;&lt;/cross-domain-policy&gt;',
- ],
+ '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' => 'StorageLocation',
+ 'name' => 'WatermarkId',
'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',
- ],
+ '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' => 'ResourceRealOwnerId',
+ 'name' => 'WatermarkConfig',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource owner.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '3461111',
- ],
+ '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' => [
@@ -31492,35 +24871,59 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A13-****-D7393642CA58',
+ '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-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",
+ '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&amp;OSSAccessKeyId=****&amp;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',
+ 'summary' => 'Modifies the name and configurations of a watermark template after you create a watermark template.',
+ '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' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DeleteMessageCallback' => [
- 'summary' => 'Deletes the callback method, callback URL, and event type of an event notification.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'UploadMediaByURL' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -31529,63 +24932,210 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39838',
- 'abilityTreeNodes' => [
- 'FEATUREvod9NUA3V',
- ],
+ 'abilityTreeCode' => '40242',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
+ 'name' => 'UploadURLs',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The URLs of the source media files.'."\n"
+ ."\n"
+ .'- The URL must include the file extension. For example, mp4 is the file extension in `https://****.mp4`.'."\n"
+ ."\n"
+ .' - If the URL does not contain a file extension, you can specify one by setting the `FileExtension` parameter in `UploadMetadatas`.'."\n"
+ ."\n"
+ .' - If you specify a file extension in both the URL and the `FileExtension` parameter, the value of the `FileExtension` parameter takes precedence.'."\n"
+ ."\n"
+ .' - For a list of supported file extensions, see [Overview of uploads](~~55396~~).'."\n"
+ ."\n"
+ .'> * You can specify up to 20 URLs. Separate multiple URLs with commas (,). To prevent upload failures caused by special characters, you must **URL-encode** each URL before you concatenate them with commas.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'https://****.mp4', 'title' => ''],
+ ],
+ [
+ 'name' => 'TemplateGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the transcoding template group. You can obtain the ID in one of the following ways:'."\n"
+ ."\n"
+ .'- Log on to the [ApsaraVideo for VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Processing** > **Transcoding Template Groups** to view the transcoding template group ID.'."\n"
+ ."\n"
+ .'- The value of `TranscodeTemplateGroupId` in the response to the [AddTranscodeTemplateGroup](~~102665~~) operation.'."\n"
+ ."\n"
+ .'- The value of `TranscodeTemplateGroupId` in the response to the [ListTranscodeTemplateGroup](~~102669~~) operation.'."\n"
+ ."\n"
+ .'> * If you do not specify this parameter, the default transcoding template group is used. If you specify this parameter, the specified transcoding template group is used.'."\n"
+ .'>'."\n"
+ .'> * You can also set this parameter in `UploadMetadatas`. If you set `TemplateGroupId` in both `UploadMetadatas` and at this level, the `TemplateGroupId` in `UploadMetadatas` takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'ca3a8f6e4957b65806709586****', 'title' => ''],
+ ],
+ [
+ 'name' => 'StorageLocation',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The storage location of the media file.'."\n"
+ ."\n"
+ .'Log on to the [ApsaraVideo for 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 Asset Management** > **Storage** to view the storage location. If you do not specify this parameter, the default storage location is used.', 'type' => 'string', 'required' => false, 'example' => 'outin-bfefbb90a47c******163e1c7426.oss-cn-shanghai.aliyuncs.com', 'title' => ''],
+ ],
+ [
+ 'name' => 'UploadMetadatas',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The metadata of the media file to be uploaded. The value must be a JSON string.'."\n"
+ ."\n"
+ .'- This parameter takes effect only when it matches a URL in `UploadURLs`.'."\n"
+ ."\n"
+ .'- The value must be a JSON string that represents an array of `UploadMetadata` objects.'."\n"
+ ."\n"
+ .'- For more information, see the **UploadMetadata** table below.', 'type' => 'string', 'required' => false, 'example' => '[{"SourceURL":"https://example.aliyundoc.com/video01.mp4","Title":"urlUploadTest"}]', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserData',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Custom settings. The value must be a JSON string. This parameter supports features such as message callbacks and upload acceleration. For more information, see [UserData](~~86952#UserData~~).'."\n"
+ ."\n"
+ .'> - To use message callbacks, you must configure an HTTP callback URL and select the corresponding event types in the console. Otherwise, the callback settings do not take effect. For more information about how to configure HTTP callbacks in the console, see [Callback settings](~~86071~~).'."\n"
+ .'>'."\n"
+ .'> - To use the upload acceleration feature, you must submit a ticket to enable it. For more information, see [Upload-related notes](~~55396~~). For information on 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"}}', 'title' => ''],
+ ],
+ [
'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',
- ],
+ 'schema' => ['description' => 'The application ID. The default value is **app-1000000**. For more information, see [Multi-application service](~~113600~~).', 'type' => 'string', 'required' => false, 'example' => 'app-****', 'title' => ''],
+ ],
+ [
+ 'name' => 'WorkflowId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The workflow ID. To view the workflow ID, log on to the [ApsaraVideo for 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`, `WorkflowId` takes precedence. For more information, see [Workflows](~~115347~~).', 'type' => 'string', 'required' => false, 'example' => 'e1e243b42548248197d6f74f9****', 'title' => ''],
+ ],
+ [
+ 'name' => 'SessionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A custom deduplication identifier. If you specify this parameter in a request, the service returns an error if a request with the same identifier is repeated within 10 minutes.'."\n"
+ ."\n"
+ .'> - You can customize the identifier. The identifier can be up to 50 characters in length and can contain uppercase letters, lowercase letters, digits, hyphens (-), and underscores (\\_). If you do not specify this parameter or pass an empty string, the service does not perform deduplication.', 'type' => 'string', 'required' => false, 'example' => '5c62d40299034bbaa4c195da330****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EnableFirstFrameCover',
+ 'in' => 'query',
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ [
+ 'name' => 'GenerateThumbnail',
+ 'in' => 'query',
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4A13-****-D7393642CA58',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '25818875-5F78-4AF6-D7393642CA58****', 'title' => ''],
+ 'UploadJobs' => [
+ 'description' => 'A list of upload jobs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the upload job.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SourceURL' => ['description' => 'The source URL of the file in the upload job.', 'type' => 'string', 'example' => 'http://example****.mp4', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the upload job.', 'type' => 'string', 'example' => 'ad90a501b1b94fb72374ad005046****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'UploadMediaByURL',
+ 'summary' => 'Uploads audio or video media files by fetching them from source URLs. This operation supports batch uploads.',
+ 'description' => '- **Before calling this operation, ensure you understand the billing methods and pricing of ApsaraVideo for VOD. Uploading media asset files to ApsaraVideo for VOD incurs storage fees. For more information, see [Media storage](~~188308#section_e97_xrp_mzz~~). If you have enabled storage transfer acceleration, uploading media asset files to ApsaraVideo for VOD also incurs upload acceleration fees. For more information, see [storage transfer acceleration](~~188310#section_sta_zm2_tsv~~).**'."\n"
+ ."\n"
+ .'- For a list of supported media formats, see [Media formats](~~55396#section-e27-2rj-mde~~).'."\n"
+ ."\n"
+ .'- Use this operation to upload files from a public URL instead of from a local server or device.'."\n"
+ ."\n"
+ .'- This is an [asynchronous upload API](~~3027551~~). The operation does not complete in real time and has no guaranteed processing time. A job may take several hours or even days to complete. For faster uploads, use an upload SDK.'."\n"
+ ."\n"
+ .'- If you configure a [callback](~~86326~~), you receive an `URLUploadComplete` event notification after the upload completes. You can call the [GetURLUploadInfos](~~106830~~) operation to query the upload status.'."\n"
+ ."\n"
+ .'- When you submit an upload job, the service creates an asynchronous task. The service queues URL upload jobs from all users in the same region. The time it takes to complete a job depends on the number of existing jobs. After the upload is complete, you can use the URL and video ID returned in the event notification to associate resources.'."\n"
+ ."\n"
+ .'- This operation is available only in the following regions: **China (Shanghai)**, **China (Beijing)**, **China (Shenzhen)**, **Singapore**, and **US** (**Silicon Valley**).'."\n"
+ ."\n"
+ .'- Each time you submit an upload job for the same media file URL, ApsaraVideo for VOD creates a new media resource with a new media ID.'."\n"
+ ."\n"
+ .'- If a single file exceeds 20 GB, the upload fails. If you need to upload files larger than 20 GB, use an upload SDK. For more information, see [Overview of upload SDKs](~~52200~~).',
+ 'requestParamsDescription' => '## UploadMetadata'."\n"
+ ."\n"
+ .'| Parameter | Type | Required | Description |'."\n"
+ .'| --------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| SourceURL | String | Yes | The URL of the source media file to be uploaded. |'."\n"
+ .'| Title | String | No | The title of the media file. The title can be up to 128 bytes in length and must be UTF-8 encoded. |'."\n"
+ .'| FileSize | String | No | The size of the file. |'."\n"
+ .'| Description | String | No | The description of the media file. The description can be up to 1,024 bytes in length and must be UTF-8 encoded. |'."\n"
+ .'| CoverURL | String | No | The URL of a custom video cover. |'."\n"
+ .'| CateId | String | No | The category ID. To view the category ID, log on to the [ApsaraVideo for VOD console](https://vod.console.aliyun.com). In the left-side navigation pane, choose **Configuration Management** > **Media Asset Management** > **Categories**. |'."\n"
+ .'| Tags | String | No | The tags of the media file. A single tag can be up to 32 bytes in length. You can specify a maximum of 16 tags. Separate multiple tags with commas (,). The tags must be UTF-8 encoded. |'."\n"
+ .'| TemplateGroupId | String | No | The ID of the transcoding template group. This parameter overrides the `TemplateGroupId` specified at the top level of the request. |'."\n"
+ .'| WorkflowId | String | No | The ID of the workflow. If you specify both `WorkflowId` and `TemplateGroupId`, `WorkflowId` takes precedence. For more information, see [Workflows](~~115347~~). |'."\n"
+ .'| FileExtension | String | No | The file extension of the media file. For a list of supported file extensions, see [Overview of uploads](~~55396~~). |'."\n"
+ .'| ReferenceId | String | No | A custom ID. The ID can be 6 to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (_). The ID must be unique within your account. |'."\n"
+ ."\n"
+ .'> - Parameters in `UploadMetadata`, such as `Title`, `Description`, and `Tags`, cannot contain emojis.'."\n"
+ .'>'."\n"
+ .'> - To ensure proper playback when transcoding is disabled (by setting `TemplateGroupId` to `VOD_NO_TRANSCODE`), only files in MP4, FLV, MP3, M3U8, and WEBM formats can be played directly after upload. Other formats are supported for storage only. The system checks the file extension. If you use Alibaba Cloud Player, its version must be 3.1.0 or later.'."\n"
+ .'>'."\n"
+ .'> - If you specify a transcoding-disabled template group (`TemplateGroupId` is set to `VOD_NO_TRANSCODE`), you receive only an event notification for `VideoUploadComplete` after the video is uploaded. You do not receive an event notification for `TranscodeComplete`.'."\n"
+ .'>'."\n"
+ .'> - If a callback is configured, you will receive an `URLUploadComplete` event notification in addition to upload and transcoding notifications after the video is uploaded.'."\n"
+ .'>'."\n"
+ .'> - For batch submissions, the service sends a separate notification for each `SourceURL`.',
+ '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. |',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T02:18:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T02:14:49.000Z', 'description' => 'OpenAPI offline'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadMediaByURL'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:UploadMediaByURL',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"25818875-5F78-4AF6-D7393642CA58****\\",\\n \\"UploadJobs\\": [\\n {\\n \\"SourceURL\\": \\"http://example****.mp4\\",\\n \\"JobId\\": \\"ad90a501b1b94fb72374ad005046****\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'UploadStreamByURL' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -31595,1354 +25145,3095 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '40150',
- 'abilityTreeNodes' => [
- 'FEATUREvod9NUA3V',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '100689',
+ 'abilityTreeNodes' => ['FEATUREvodVQ27S4'],
],
'parameters' => [
[
- 'name' => 'CallbackType',
+ 'name' => 'StreamURL',
'in' => 'query',
- 'schema' => [
- 'description' => 'The callback method. Valid values:'."\n"
- ."\n"
- .'* **HTTP**'."\n"
- .'* **Simple Message Queue(formerly MNS)**',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'HTTP',
- ],
+ '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' => 'CallbackURL',
+ 'name' => 'MediaId',
'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',
- ],
+ 'schema' => ['description' => 'The media ID in ApsaraVideo VOD.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ca3a8f6e49*****57b65806709586'],
],
[
- 'name' => 'EventTypeList',
+ 'name' => 'Definition',
'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',
- ],
+ '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' => 'AuthSwitch',
+ 'name' => 'FileExtension',
'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',
- ],
+ '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' => 'AuthKey',
+ 'name' => 'HDRType',
'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',
- ],
+ 'schema' => ['title' => '', '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' => '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',
+ 'name' => 'UserData',
'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',
- ],
+ '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' => 'AppId',
+ 'name' => 'UploadMetadata',
'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',
- ],
+ '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 returned results.'."\n",
+ 'description' => 'The basic information.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '25818875-5F78-4AF6-D7393642CA58****',
- ],
+ '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'],
],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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',
+ 'summary' => 'Uploads transcoded streams to ApsaraVideo VOD from external storage.',
+ '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.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:UploadStreamByURL',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'VerifyVodDomainOwner' => [
+ 'summary' => 'Verifies the ownership of a specified domain name.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '39965',
- 'abilityTreeNodes' => [
- 'FEATUREvod9NUA3V',
- ],
+ 'abilityTreeCode' => '40244',
+ 'abilityTreeNodes' => ['FEATUREvodHI57GB'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'AppId',
+ 'name' => 'DomainName',
'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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned results.'."\n",
'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/',
- ],
- ],
- ],
+ 'Content' => ['description' => 'The verification content.'."\n", 'type' => 'string', 'example' => 'verify_dffeb661*********a59c32cd91f', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E4EBD2BF-5EB0-4476-8829-9D94E1B1****', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'DomainOwnerVerifyFail', 'errorMessage' => 'Owner verification of the root domain failed.', 'description' => 'Failed to verify domain ownership.'],
+ ],
],
- '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",
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-07-16T06:29:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:24:07.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:19:43.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-16T06:16:19.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyVodDomainOwner'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:VerifyVodDomainOwner',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
],
- 'ChangeResourceGroup' => [
- 'summary' => 'Transfers a resource to a specified resource group.',
- 'methods' => [
- 'post',
- 'get',
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vod.cn-shenzhen.aliyuncs.com', 'endpoint' => 'vod.cn-shenzhen.aliyuncs.com', 'vpc' => 'vod-vpc.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vod.cn-beijing.aliyuncs.com', 'endpoint' => 'vod.cn-beijing.aliyuncs.com', 'vpc' => 'vod-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vod.cn-shanghai.aliyuncs.com', 'endpoint' => 'vod.cn-shanghai.aliyuncs.com', 'vpc' => 'vod-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vod.cn-hongkong.aliyuncs.com', 'endpoint' => 'vod.cn-hongkong.aliyuncs.com', 'vpc' => 'vod-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vod.ap-southeast-1.aliyuncs.com', 'endpoint' => 'vod.ap-southeast-1.aliyuncs.com', 'vpc' => 'vod-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vod.ap-northeast-1.aliyuncs.com', 'endpoint' => 'vod.ap-northeast-1.aliyuncs.com', 'vpc' => 'vod-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'vod.ap-southeast-5.aliyuncs.com', 'endpoint' => 'vod.ap-southeast-5.aliyuncs.com', 'vpc' => 'vod-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vod.us-west-1.aliyuncs.com', 'endpoint' => 'vod.us-west-1.aliyuncs.com', 'vpc' => 'vod-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'vod.eu-central-1.aliyuncs.com', 'endpoint' => 'vod.eu-central-1.aliyuncs.com', 'vpc' => 'vod-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'vod.me-central-1.aliyuncs.com', 'endpoint' => 'vod.me-central-1.aliyuncs.com', 'vpc' => 'vod-vpc.me-central-1.aliyuncs.com'],
+ ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'vod.ap-south-1.aliyuncs.com', 'endpoint' => 'vod.ap-south-1.aliyuncs.com', 'vpc' => 'vod-vpc.ap-south-1.aliyuncs.com'],
+ ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'vod.cn-north-2-gov-1.aliyuncs.com', 'endpoint' => 'vod.cn-north-2-gov-1.aliyuncs.com', 'vpc' => 'vod-vpc.cn-north-2-gov-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'AccountBlacklist', 'message' => 'Account blacklist restrictions, please submit a work order to contact customer service for processing.', 'http_code' => 400, 'description' => 'Account blacklist restrictions, please submit a work order to contact customer service for processing.'."\n"],
+ ['code' => 'AIJob.NotFound', 'message' => 'The AIJob is not exist.', 'http_code' => 404, 'description' => 'The AI task does not exist.'],
+ ['code' => 'AIJob.Processing', 'message' => 'AIJob status is processing, please wait a moment.', 'http_code' => 400, 'description' => 'The AI task is in progress.'],
+ ['code' => 'AITemplate.Get.Error', 'message' => 'The AITemplate get failed due to some unknown error.', 'http_code' => 503, 'description' => 'Failed to obtain AI template, please try again later'],
+ ['code' => 'AppServiceNotOpen', 'message' => 'The app manage service is not open.', 'http_code' => 400, 'description' => 'You have not opened the multi app manage service.'],
+ ['code' => 'AuthRequestTimeout', 'message' => 'Auth request timeout, please retry.', 'http_code' => 408, 'description' => 'The playback credentials have expired. Obtain the credentials again.'],
+ ['code' => 'Certificate.Duplicated', 'message' => 'The certificate name is duplicated.', 'http_code' => 400, 'description' => 'The certificate name already exists.'],
+ ['code' => 'Certificate.MissMatch', 'message' => 'The certificate is not match the private key.', 'http_code' => 400, 'description' => 'The security certificate does not match the key.'],
+ ['code' => 'CertificateContent.Duplicated', 'message' => 'The certificate is already uploaded, please do not upload again.', 'http_code' => 400, 'description' => 'The certificate is uploaded.'],
+ ['code' => 'ConfigurationConflicts', 'message' => '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.', 'http_code' => 400, 'description' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the staging environment. Set parameters in the staging environment before you publish them to the production environment.'],
+ ['code' => 'DigitalWatermark.InvalidDuration', 'message' => 'The media duration is not satisfied.', 'http_code' => 400, 'description' => 'Video duration does not meet requirements.'],
+ ['code' => 'DigitalWatermark.InvalidParameter.Definition', 'message' => 'The digital watermark param Definition is not valid.', 'http_code' => 400, 'description' => 'The digital watermark definition parameter is invalid.'],
+ ['code' => 'DigitalWatermark.InvalidParameter.Trace', 'message' => 'The digital watermark param Trace is not valid.', 'http_code' => 400, 'description' => 'Invalid digital watermark parameter, invalid parameter: Trace'],
+ ['code' => 'DigitalWatermark.NotWhiteListUser', 'message' => 'NotWhiteListUser Error.', 'http_code' => 400, 'description' => 'Non-whitelisted users'],
+ ['code' => 'DomainAlreadyExist', 'message' => 'The specified domain already exists.', 'http_code' => 400, 'description' => 'The domain name has been added.'],
+ ['code' => 'DomainNameOverLimit', 'message' => 'A maximum of 500 domains are supported for each request.', 'http_code' => 400, 'description' => 'Up to 500 domain names per request'],
+ ['code' => 'DomainNotRegistration', 'message' => 'The domain name is not registered. Please <a href="https://beian.aliyun.com" target="_blank">register</a> first.', 'http_code' => 400, 'description' => 'The domain name is not registered. Register the domain name and try again. <a href="https://beian.aliyun.com" target="_blank">Learn More</a>'],
+ ['code' => 'DomainOwnerVerifyFail', 'message' => 'Owner verification of the root domain failed.', 'http_code' => 400, 'description' => 'Failed to verify domain ownership.'],
+ ['code' => 'DomainReserved', 'message' => 'The root domain of your domain is reserved by another account. Submit a ticket to contact customer support.', 'http_code' => 400, 'description' => 'The root domain name is already in use. Submit a ticket.'],
+ ['code' => 'EdgeScriptCountExceedLimit', 'message' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', 'http_code' => 400, 'description' => 'You can configure only one script. To increase the limit, submit a ticket.'],
+ ['code' => 'EditingProjectMaterialNotExist', 'message' => 'The specific Editing Project Materials are not exist.', 'http_code' => 404, 'description' => 'The specific Editing Project Materials are not exist.'],
+ ['code' => 'EditingProjectNotExist', 'message' => 'The specific Editing Project is not exist.', 'http_code' => 404, 'description' => 'The editing project does not exist.'],
+ ['code' => 'EntityNotExist.Role', 'message' => 'AliyunVODDefaultRole is not authorized by your account.', 'http_code' => 403, 'description' => 'The AliyunVODDefaultRole does not have permissions to access the resources. Authorize the role based on the documentation.'],
+ ['code' => 'ErrorMatchSyntax', 'message' => 'The parameter Match.%s has an error syntax, please check it.', 'http_code' => 400, 'description' => 'Match syntax error.'],
+ ['code' => 'ExtensiveAndSpecificDomainConflict', 'message' => 'Extensive domain and corresponding specific domain are mutually exclusive.', 'http_code' => 400, 'description' => 'Wildcard domain names and specific domain names of the same level as the wildcard domain names are mutually exclusive. Enter another domain name.'],
+ ['code' => 'FileNameIsEmpty', 'message' => 'The specified FileName can not be empty.', 'http_code' => 400, 'description' => 'Specify a file name.'],
+ ['code' => 'Forbidden', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => 'You are not authorized to perform this operation.'],
+ ['code' => 'Forbidden.AliyunVoDEncryption', 'message' => 'Currently only the AliyunVoDEncryption stream exists, you must use the Aliyun player to play or set the value of ResultType to Multiple.', 'http_code' => 403, 'description' => 'Streams that use proprietary encryption can only be played by using ApsaraVideo Player.'],
+ ['code' => 'Forbidden.OperateApp', 'message' => 'User not authorized to operate app.', 'http_code' => 403, 'description' => 'You do not have the permission to perform operations on multiple applications.'],
+ ['code' => 'Forbidden.RAM', 'message' => 'You are not authorized to operate this resource, or this API does not support RAM.', 'http_code' => 403, 'description' => 'You are not authorized to manage the specified resource.'],
+ ['code' => 'Function.ExceedLimit', 'message' => 'The maximum number of configurations (20) has been exceeded.', 'http_code' => 400, 'description' => 'The number of configurations for this feature exceeds the limit.'],
+ ['code' => 'GrayConfigIsNull', 'message' => 'You cannot delete all gary configurations. You can clear them by rolling back the simulation environment.', 'http_code' => 400, 'description' => 'After you remove all rules in the staging environment, configurations on POPs are not removed. You can roll back the staging environment to remove configurations from the staging environment.'."\n"],
+ ['code' => 'IllegalParameter', 'message' => 'The input contains illegal characters.', 'http_code' => 400, 'description' => 'Illegal character in input parameter'],
+ ['code' => 'IllegalSources', 'message' => 'The specified origin site information is invalid.', 'http_code' => 400, 'description' => 'The origin information of the accelerated domain name is incorrect.'],
+ ['code' => 'IllegalTimeFormat', 'message' => 'The time format is illegal.', 'http_code' => 400, 'description' => 'Illegal time format'],
+ ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => 'An internal error occurred. Please try again later or contact customer services.'],
+ ['code' => 'InternalError.SubmitJob', 'message' => 'The aijob submit failed due to some unknown error.', 'http_code' => 400, 'description' => 'Failed to submit the AI task.'],
+ ['code' => 'InvaildParameterSource', 'message' => 'The domain must be different from the origin site.', 'http_code' => 400, 'description' => 'The accelerated domain name cannot be the same as the origin domain name.'],
+ ['code' => 'InvalidAIResult.Empty', 'message' => 'The AI Result is empty.', 'http_code' => 400, 'description' => 'The result of the AI task is empty.'],
+ ['code' => 'InvalidAIResult.NotFound', 'message' => 'The AI Result does not exist.', 'http_code' => 404, 'description' => 'The AI task result does not exist.'],
+ ['code' => 'InvalidAppPermission', 'message' => 'Invalid app permission to operate on the specified resource.', 'http_code' => 403, 'description' => 'You do not have the multi-application permission to perform operations on the specified resource.'],
+ ['code' => 'InvalidArgValue.Malformed', 'message' => 'Specified ArgValue is malformed.', 'http_code' => 400, 'description' => 'Invalid parameter value format. Specify this parameter in a valid format and try again.'],
+ ['code' => 'InvalidAuditHistory.NotFound', 'message' => 'The audit history does not exist.', 'http_code' => 404, 'description' => 'The review history does not exist.'],
+ ['code' => 'InvalidAuthInfo.ExpireTime', 'message' => 'The specified parameter AuthInfo has expired.', 'http_code' => 400, 'description' => 'The AuthInfo parameter has expired.'],
+ ['code' => 'InvalidAuthInfo.MediaId', 'message' => 'The specified parameter MediaId does not match VideoId.', 'http_code' => 400, 'description' => 'MediaId does not match the video ID.'],
+ ['code' => 'InvalidBucketOut.NotFound', 'message' => 'There are no out buckets belong to you.', 'http_code' => 404, 'description' => 'The current account has no output buckets.'],
+ ['code' => 'InvalidCateId', 'message' => 'Specified parameter CateId is not valid.', 'http_code' => 400, 'description' => 'Invalid category ID.'],
+ ['code' => 'InvalidCustomHeader', 'message' => 'Parse preload header failed.', 'http_code' => 400, 'description' => 'Failed to parse preload header.'],
+ ['code' => 'InvalidCustomHeader', 'message' => 'Unsupported Preload headers included.', 'http_code' => 400, 'description' => 'Unsupported preload head'],
+ ['code' => 'InvalidEditingProject.NotFound', 'message' => 'The specified Editing project check failed.', 'http_code' => 404, 'description' => 'The editing project does not exist.'],
+ ['code' => 'InvalidEndTime.BeyondCurrent', 'message' => 'The specified end time cannot be beyond current time.', 'http_code' => 400, 'description' => 'The end time cannot be less than the current time.'],
+ ['code' => 'InvalidEndTime.Malformed', 'message' => 'Specified EndTime is malformed.', 'http_code' => 400, 'description' => 'The end time is in an invalid format.'],
+ ['code' => 'InvalidEndTime.Mismatch', 'message' => 'StartTime or EndTime is mismatch.', 'http_code' => 400, 'description' => 'The start time and end time do not match.'],
+ ['code' => 'InvalidEndTime.Mismatch', 'message' => 'The specified EndTime is earlier than the StartTime.', 'http_code' => 400, 'description' => 'End time is earlier than start time'],
+ ['code' => 'InvalidFileName.Extension', 'message' => 'The specified FileName extension is illegal.', 'http_code' => 400, 'description' => 'Invalid filename extension. For filename extensions supported by ApsaraVideo VOD, visit https://www.alibabacloud.com/help/en/doc-detail/55396.html.'],
+ ['code' => 'InvalidImage.NotFound', 'message' => 'The image not exist.', 'http_code' => 404, 'description' => 'The image does not exist.'],
+ ['code' => 'InvalidImage.Status', 'message' => 'The image status check failed.', 'http_code' => 400, 'description' => 'Image status is illegal'],
+ ['code' => 'InvalidMaterial.NotFound', 'message' => 'The specified material check failed.', 'http_code' => 404, 'description' => 'The material does not exist.'],
+ ['code' => 'InvalidMultipartUpload.NotFound', 'message' => 'The multipart upload not exist.', 'http_code' => 400, 'description' => 'The uploaded part does not exist.'],
+ ['code' => 'InvalidObjectPath.Malformed', 'message' => 'The specified ObjectPath is invalid.', 'http_code' => 400, 'description' => 'The ObjectPath parameter is invalid.'],
+ ['code' => 'InvalidOperation.NotSupportedEndpoint', 'message' => 'The specified endpoint cant operate this region. Please check the endpoint.', 'http_code' => 400, 'description' => 'APIs are not supported in the region you specified.'],
+ ['code' => 'InvalidOverrideParameter', 'message' => 'The specified override parameter is not valid.', 'http_code' => 400, 'description' => 'The specified override parameter is invalid.'],
+ ['code' => 'InvalidPageNo', 'message' => 'Specified parameter PageNo is not valid.', 'http_code' => 400, 'description' => 'The value of the PageNo parameter is invalid.'],
+ ['code' => 'InvalidPageSize', 'message' => 'Specified parameter PageSize is not valid.', 'http_code' => 400, 'description' => 'The value of the PageSize parameter is invalid.'],
+ ['code' => 'InvalidParameter', 'message' => 'The specified parameter is not valid.', 'http_code' => 400, 'description' => 'The specified parameter is invalid.'],
+ ['code' => 'InvalidParameter', 'message' => 'The last gray config cannot be deleted.', 'http_code' => 400, 'description' => 'The last configuration in the canary release environment cannot be deleted.'],
+ ['code' => 'InvalidParameter', 'message' => 'Invalid input parameter.', 'http_code' => 400, 'description' => 'Input parameter error.'],
+ ['code' => 'InvalidParameter.EmptyValue', 'message' => 'The specified parameter you provided can not be empty.', 'http_code' => 400, 'description' => 'Parameter cannot be empty.'],
+ ['code' => 'InvalidParameter.InvalidJsonFormat', 'message' => 'The specified parameter is not valid because of JsonFormat.', 'http_code' => 400, 'description' => 'the input parameter is not in json format.'],
+ ['code' => 'InvalidParameter.ResourceNotFound', 'message' => 'The resource operated cannot be found.', 'http_code' => 404, 'description' => 'The acquired resource does not exist.'],
+ ['code' => 'InvalidParameter.UploadURLs', 'message' => 'The specified parameter UploadURLs is not valid.', 'http_code' => 400, 'description' => 'The error message returned because the UploadURLs parameter is invalid.'],
+ ['code' => 'InvalidParameter.WorkFlowParameter', 'message' => 'The specified workFlow parameter is not valid.', 'http_code' => 400, 'description' => 'Invalid workflow parameter.'],
+ ['code' => 'InvalidParameterArea', 'message' => 'The specified parameter Area is invalid.', 'http_code' => 400, 'description' => 'The value of Area is invalid. Set the parameter based on the parameter description in the API documentation.'],
+ ['code' => 'InvalidParameterField', 'message' => 'The specified parameter Field is invalid.', 'http_code' => 400, 'description' => 'The value of Field is invalid. Set the parameter based on the parameter description in the API documentation.'],
+ ['code' => 'InvalidParameterInterval', 'message' => 'The specified Interval is invalid.', 'http_code' => 400, 'description' => 'The specified time granularity is invalid. Specify the time granularity based on the requirements described in the API documentation.'],
+ ['code' => 'InvalidParameterProduct', 'message' => 'The specified parameter Product is invalid.', 'http_code' => 400, 'description' => 'The value of Product is invalid. Set the parameter based on the parameter description in the official documentation.'],
+ ['code' => 'InvalidParameterStartTime', 'message' => 'Invalid Parameter StartTime.', 'http_code' => 400, 'description' => 'The StartTime parameter is invalid.'],
+ ['code' => 'InvalidParameterType', 'message' => 'The specified Type is invalid.', 'http_code' => 400, 'description' => 'The Type parameter is invalid. Modify the value of the Type parameter based on the documentation.'],
+ ['code' => 'InvalidParamter.NotSupportOverrided', 'message' => 'Do not support override different subtitle language.', 'http_code' => 400, 'description' => 'Rewriting subtitle language is not supported'],
+ ['code' => 'InvalidSources.Malformed', 'message' => 'Specified Sources is malformed.', 'http_code' => 400, 'description' => 'The origin information is in an invalid format.'],
+ ['code' => 'InvalidSourceStr.Malformed', 'message' => 'Specified SourceStr is malformed.', 'http_code' => 400, 'description' => 'The format of the incoming source information is incorrect.'],
+ ['code' => 'InvalidSSLPri', 'message' => 'The SSLPri you provided is malformed.', 'http_code' => 400, 'description' => 'The request parameter SSLPri is in an invalid format.'],
+ ['code' => 'InvalidSSLPub', 'message' => 'The SSLPub you provided is malformed.', 'http_code' => 400, 'description' => 'Invalid SSLPub format.'],
+ ['code' => 'InvalidStartTime.Malformed', 'message' => 'Specified StartTime is malformed.', 'http_code' => 400, 'description' => 'The start time is in an invalid format.'],
+ ['code' => 'InvalidStartTime.Mismatch', 'message' => 'StartTime or EndTime is mismatch.', 'http_code' => 400, 'description' => 'The start time and end time do not match.'],
+ ['code' => 'InvalidStartTime.ValueNotSupported', 'message' => 'The specified start time has invalid value.', 'http_code' => 400, 'description' => 'The start time is invalid.'],
+ ['code' => 'InvalidStorage.NotFound', 'message' => 'The specified storage location cannot be found.', 'http_code' => 404, 'description' => 'The OSS address does not exist.'],
+ ['code' => 'InvalidStorage.NotRegistered', 'message' => 'The storageLocation must be registered on VOD.', 'http_code' => 400, 'description' => 'Storage address not registered in VOD'],
+ ['code' => 'InvalidStorageLocation', 'message' => 'The StorageLocation must be in the same division(apiRegion) as VOD service access point.', 'http_code' => 400, 'description' => 'The storage address must be in the same region as the API call address.'],
+ ['code' => 'InvalidStream.NotFound', 'message' => 'The stream does not exist.', 'http_code' => 404, 'description' => 'The video stream does not exist.'],
+ ['code' => 'InvalidTaskId.Malformed', 'message' => 'The specified TaskId is invalid.', 'http_code' => 400, 'description' => 'Invalid TaskId'],
+ ['code' => 'InvalidTemplateGroupId.NotFound', 'message' => 'The TemplateGroupId does not exist.', 'http_code' => 404, 'description' => 'The ID of the transcoding template group does not exist.'],
+ ['code' => 'InvalidTime', 'message' => 'The query time cannot exceed the last 3 days.', 'http_code' => 400, 'description' => 'The request time cannot be returned for more than 3 days.'],
+ ['code' => 'InvalidTime.Malformed', 'message' => 'The specified Time is malformed.', 'http_code' => 400, 'description' => 'The time format is incorrect. Modify the format of the input parameter based on the documentation.'],
+ ['code' => 'InvalidTime.ValueNotSupported', 'message' => 'The specified time has invalid value.', 'http_code' => 400, 'description' => 'The time parameter value is invalid.'],
+ ['code' => 'InvalidTimeRange', 'message' => 'Invalid StartTime and EndTime range.', 'http_code' => 400, 'description' => 'The time frame is not legal.'],
+ ['code' => 'InvalidTimeSpan', 'message' => 'The time span exceeds the limit.', 'http_code' => 400, 'description' => 'The time span exceeds the limit. Configure a valid time span based on the documentation.'],
+ ['code' => 'InvalidVideo.DurationZero', 'message' => 'Video duration is 0.', 'http_code' => 400, 'description' => 'Video duration is 0.'],
+ ['code' => 'InvalidVideo.NoneStream', 'message' => 'The video has no stream to play for the request parameter.', 'http_code' => 400, 'description' => 'No video stream is found for playback based on the request parameters that you specified.'],
+ ['code' => 'InvalidVideo.Status', 'message' => 'The video status check failed.', 'http_code' => 400, 'description' => 'Failed to check the video status.'],
+ ['code' => 'InvalidWorkFlowId.NotFound', 'message' => 'The workflow does not exist.', 'http_code' => 404, 'description' => 'Workflow does not exist'],
+ ['code' => 'LengthExceededMax', 'message' => 'The specified %s length has exceeded %s.', 'http_code' => 400, 'description' => 'The maximum length of the parameter value has been reached.'],
+ ['code' => 'LicensePayOrderError', 'message' => 'Each version of SDK only supports one pending payment status license.', 'http_code' => 400, 'description' => 'Each version of the SDK supports only one pending payment.'],
+ ['code' => 'LogstoreNotExist', 'message' => 'The log store project does not exist', 'http_code' => 404, 'description' => 'The log storage project does not exist.'],
+ ['code' => 'MediaId.NotExist', 'message' => 'The MediaId is not exist.', 'http_code' => 404, 'description' => 'MediaId does not exist.'],
+ ['code' => 'Meter.AuthError', 'message' => 'Authentication Failed,Please Try Again.', 'http_code' => 403, 'description' => 'You do not have permissions to perform this operation.'],
+ ['code' => 'Meter.DataSourceQueryError', 'message' => 'Data Source Error:%s,Please Try Again.', 'http_code' => 500, 'description' => 'An internal data source error occurred.'],
+ ['code' => 'Meter.ParamError', 'message' => 'Param Error:%s,Please Check Again.', 'http_code' => 400, 'description' => 'One or more parameters are invalid.'],
+ ['code' => 'Meter.ReadyTsError', 'message' => 'Get ReadyTs Failed,Please Try Again.', 'http_code' => 502, 'description' => 'The data is not prepared.'],
+ ['code' => 'Meter.ServerInternalError', 'message' => 'The Request Processing Has Failed Due To Some Unknown Error.', 'http_code' => 500, 'description' => 'An internal error occurred.'],
+ ['code' => 'MissingParameter', 'message' => 'The input parameter \\ that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'You must specify this parameter.'],
+ ['code' => 'MissingParameter', 'message' => 'The Source Content must be specified.', 'http_code' => 400, 'description' => 'The Source Content must be specified.'],
+ ['code' => 'MissingParameter.ObjectType', 'message' => 'The ObjectType parameter is required if DomainName or Status is specified.', 'http_code' => 400, 'description' => 'ObjectType parameter is required when specifying DomainName or Status'],
+ ['code' => 'MissingTimeParameter', 'message' => 'The StartTime and EndTime must be both specified.', 'http_code' => 400, 'description' => 'Both start time and end must be specified'],
+ ['code' => 'MissingVideoId', 'message' => 'VideoId is mandatory for this action.', 'http_code' => 400, 'description' => 'The VideoId parameter is not specified.'],
+ ['code' => 'NoSuchResource', 'message' => 'The specified resource does not exist.', 'http_code' => 404, 'description' => 'The resource does not exist.'],
+ ['code' => 'NotExist.AppId', 'message' => 'The specified AppId does not exist.', 'http_code' => 404, 'description' => 'AppId does not exist'],
+ ['code' => 'NotExist.WorkflowId', 'message' => 'The specified vod workflow does not exist.', 'http_code' => 404, 'description' => 'The VOD workflow does not exist.'],
+ ['code' => 'NotInternationRealIdentity', 'message' => 'You need to do real name authentication when you use Chinese mainland resources.', 'http_code' => 400, 'description' => 'You have not passed real-name verification. According to the regulations issued by MIIT, you must pass real-name verification if you want to purchase IT services in the Chinese mainland. '],
+ ['code' => 'NotUserInfoExist', 'message' => 'Can not found user info.', 'http_code' => 400, 'description' => 'User information does not exist.'],
+ ['code' => 'Operation.Deny', 'message' => 'Operation is not allowed.', 'http_code' => 400, 'description' => 'This operation is not allowed.'],
+ ['code' => 'OperationDenied.FunctionNotSupported', 'message' => 'The function is not supported in current region.', 'http_code' => 403, 'description' => 'This feature is not supported in the current region.'],
+ ['code' => 'OperationDenied.NotOpenAppService', 'message' => 'The app service is not open.', 'http_code' => 403, 'description' => 'The multi-application service for ApsaraVideo VOD is not enabled.'],
+ ['code' => 'OperationDenied.Suspended', 'message' => 'Your VOD service is suspended.', 'http_code' => 403, 'description' => 'You have overdue payments in your account. Please top up or recharge your account.'],
+ ['code' => 'OverLimit', 'message' => 'Quantity of specified resource reached the maximum limit.', 'http_code' => 403, 'description' => 'The number of resources you can create within your account has reached the upper limit. No resources can be created.'],
+ ['code' => 'PreloadQueueFull', 'message' => 'Preload queue is full, please try again later.', 'http_code' => 400, 'description' => 'The prefetch queue is full. Please try again later.'],
+ ['code' => 'Produce.TimelineClip.Status.InValid', 'message' => 'Timeline Clips do not have valid status.', 'http_code' => 400, 'description' => 'The TimeLine.Clip parameter is invalid.'],
+ ['code' => 'ProduceCheckMaterialError', 'message' => 'The Editing Project\'s Materials error.', 'http_code' => 400, 'description' => 'Failed to get clip material.'],
+ ['code' => 'ProduceFailed', 'message' => 'The Producing for Editing Project has failed.', 'http_code' => 400, 'description' => 'The editing task failed.'],
+ ['code' => 'ProduceFailed', 'message' => 'The Producing for Editing Project has failed.', 'http_code' => 400, 'description' => 'The production failed.'],
+ ['code' => 'ProduceGetUserError', 'message' => 'Before Generate Video Get User failed.', 'http_code' => 400, 'description' => 'Failed to obtain user information while generating video.'],
+ ['code' => 'ProduceRegionInvalid', 'message' => 'Before Generate Video Get User Region failed.', 'http_code' => 400, 'description' => 'Failed to obtain region information.'],
+ ['code' => 'QuotaExceeded.Preload', 'message' => 'Your preload attempts have exceeded the daily limit.', 'http_code' => 400, 'description' => 'The daily prefetch quota has been exceeded.'],
+ ['code' => 'QuotaExceeded.Refresh', 'message' => 'Your refresh attempts have exceeded the daily limit.', 'http_code' => 400, 'description' => 'The daily refresh quota has been exceeded.'],
+ ['code' => 'RefreshQueueFull', 'message' => 'Refresh queue is full, please try again later.', 'http_code' => 400, 'description' => 'The refresh queue is full. Please try again later.'],
+ ['code' => 'RegisterMetadatasIsEmpty', 'message' => 'The specified RegisterMetadatas can not be empty.', 'http_code' => 400, 'description' => 'Specify RegisterMetadatas.'],
+ ['code' => 'Rejected.Throttling', 'message' => 'Request was rejected due to flow control.', 'http_code' => 403, 'description' => 'Throttling is triggered.'],
+ ['code' => 'RequestTimeout', 'message' => 'The request timeout, please try again.', 'http_code' => 503, 'description' => 'The request timed out.'],
+ ['code' => 'Resource usage and cannot be deleted.', 'message' => 'The ApsaraVideo for VOD service is still running. Delete the video resources and ensure that there are no tasks in upload or transcoding.', 'http_code' => 400, 'description' => 'The ApsaraVideo for VOD service is still running. Delete the video resources and ensure that there are no tasks in upload or transcoding.'],
+ ['code' => 'ResourceExist.PreprocessStream', 'message' => 'The preprocess stream resource is exist', 'http_code' => 200, 'description' => 'The preprocessed playback stream already exists.'],
+ ['code' => 'ResourceNotFound', 'message' => 'Resource Not Found.', 'http_code' => 404, 'description' => 'Resource not found'],
+ ['code' => 'SDK.ServerUnreachable', 'message' => 'SocketTimeoutException has occurred on a socket read or accept.', 'http_code' => 400, 'description' => 'The requested service timed out.'],
+ ['code' => 'ServiceNotAvailable', 'message' => 'The service is unavailable due to an account error.', 'http_code' => 400, 'description' => 'The account information is incorrect. Submit a ticket.'],
+ ['code' => 'ServiceUnAvailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 503, 'description' => 'The service is unavailable.'],
+ ['code' => 'SSLPri.MissingParameter', 'message' => 'An input parameter SSLPri that is mandatory for processing the request is not supplied.', 'http_code' => 400, 'description' => 'Specify SSLPri.'],
+ ['code' => 'TimelineFormatError', 'message' => 'The Editing Project Timeline format error.', 'http_code' => 400, 'description' => 'Incorrect format of the editing project timeline.'],
+ ['code' => 'TimelineIsBlank', 'message' => 'The Editing Project\'s Timeline is blank.', 'http_code' => 400, 'description' => 'The clip timeline is empty.'],
+ ['code' => 'TimeSpanExceed', 'message' => 'time span too long.', 'http_code' => 400, 'description' => 'Time span too large'],
+ ['code' => 'TitleIsEmpty', 'message' => 'The specified Title can not be empty.', 'http_code' => 400, 'description' => 'Specify a title.'],
+ ['code' => 'TranscodeJob.SubmitFailed', 'message' => 'Submit transcode job failed.', 'http_code' => 400, 'description' => 'Failed to submit the transcoding task.'],
+ ['code' => 'Unauthorized', 'message' => 'Service Not Authorized', 'http_code' => 400, 'description' => 'You do not have permissions to access this service.'],
+ ['code' => 'VideoIdExceededMax', 'message' => 'The videoId size exceeded maximum.', 'http_code' => 403, 'description' => 'The maximum number of video IDs has been reached.'],
+ ['code' => 'VodServiceNotFound', 'message' => 'The VOD service is not activated.', 'http_code' => 403, 'description' => 'ApsaraVideo VOD is not activated.'],
+ ],
+ 'changeSet' => [
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'SetAuditSecurityIp'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'createdAt' => '2025-08-05T08:16:39.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodCertificateList'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainConfigs'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodSpecificConfig'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainDetail'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodTemplate'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteWatermark'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeMediaDistribution'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodDomain'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteMultipartUpload'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVideo'],
+ ],
+ 'createdAt' => '2025-07-10T07:33:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodCertificateList'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainConfigs'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodSpecificConfig'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainDetail'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodTemplate'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteWatermark'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeMediaDistribution'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodDomain'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteMultipartUpload'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVideo'],
+ ],
+ 'createdAt' => '2025-07-10T07:33:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodCertificateList'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainConfigs'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodSpecificConfig'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainDetail'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodTemplate'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteWatermark'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeMediaDistribution'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodDomain'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteMultipartUpload'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVideo'],
+ ],
+ 'createdAt' => '2025-07-10T07:33:11.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodCertificateList'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainConfigs'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodSpecificConfig'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeVodDomainDetail'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodTemplate'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteWatermark'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeMediaDistribution'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVodDomain'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteMultipartUpload'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteVideo'],
+ ],
+ 'createdAt' => '2025-07-10T07:33:05.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'GetAppInfos'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAppInfo'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAppInfo'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'createdAt' => '2025-06-19T08:27:33.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'GetAppInfos'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAppInfo'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAppInfo'],
+ ],
+ 'createdAt' => '2025-06-18T07:27:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAppInfo'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAppInfo'],
+ ['description' => 'OpenAPI offline', 'api' => 'GetAppInfos'],
+ ],
+ 'createdAt' => '2025-06-17T07:30:27.000Z',
+ 'description' => '',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDefaultAITemplate'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachAppPolicyToIdentity'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCategory'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteImage'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainDetail'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDefaultTranscodeTemplateGroup'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RestoreMedia'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIImageAuditJob'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetVodDomainConfigs'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVideoInfos'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEditingProject'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateKMSDataKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditResult'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainHitRateData'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditResultTimeline'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAuditSecurityIp'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAuditHistory'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainMax95BpsData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeHttpCodeData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainSrcTrafficData'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaDNAResult'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetVodDomainCertificate'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCategory'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDownloadSecretKey'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterMedia'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTranscodeTemplateGroup'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJobInfo'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodTieringStorageData'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDefaultAITemplate'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ProduceEditingProjectVideo'],
+ ['threshold' => '360', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoPlayAuth'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVodTemplate'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodTieringStorageRetrievalData'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAITemplate'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListVodTemplate'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAppInfo'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddWatermark'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListWatermark'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUploadImage'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainLog'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVideoInfo'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddAITemplate'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaRefreshJobs'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayTopVideos'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTranscodeTask'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshVodObjectCaches'],
+ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDefaultWatermark'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAITemplate'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMessageCallback'],
+ ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshUploadVideo'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEditingProject'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAITemplate'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAudit'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVodDomain'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainCertificateInfo'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetWatermark'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListLiveRecordVideo'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAttachedMediaInfos'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVodTemplate'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayVideoStatis'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStream'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditResultDetail'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitMediaDNADeleteJob'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateMediaStorageClass'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAppInfo'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadMediaByURL'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainBpsData'],
+ ['threshold' => '360', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPlayInfo'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetVodDomainSSLCertificate'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateVodDomain'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetImageInfos'],
+ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDailyPlayRegionStatis'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIImageJob'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddEditingProject'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMezzanines'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUploadDetails'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAIImageInfo'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeQpsData'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodEditingUsageData'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTranscodeTemplateGroup'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAttachedMediaInfo'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVodSpecificConfig'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeTrafficData'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddTranscodeTemplateGroup'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodCertificateList'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetEditingProjectMaterials'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVideo'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaAuditAudioResultDetail'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAppInfo'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddVodTemplate'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ChangeResourceGroup'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodMediaPlayData'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTranscodeSummary'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVodTemplate'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAIImageInfos'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayUserTotal'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodStorageData'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelUrlUploadJobs'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUploadAttachedMedia'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeByteHitRateData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeDetailData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodRefreshQuota'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshMediaPlayUrls'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainTrafficData'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodAIData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainQpsData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSnapshots'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodRefreshTasks'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoList'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDynamicImage'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoInfo'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAttachedMedia'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetMessageCallback'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetVideoInfos'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEditingProjectMaterials'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodSSLCertificateList'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMediaDistribution'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAppInfos'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAppInfo'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainConfigs'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitDynamicImageJob'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteWatermark'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStopVodDomain'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCrossdomainContent'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeBpsData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainSrcBpsData'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainBpsDataByLayer'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTranscodeTemplateGroup'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAppPoliciesForIdentity'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAIVideoTagResult'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetMediaInfos'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStartVodDomain'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainReqHitRateData'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitPreprocessJobs'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAIJob'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateImageInfos'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainUsageData'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDynamicImage'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SearchMedia'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodVerifyContent'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PreloadVodObjectCaches'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddEditingProjectMaterials'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTranscodeTemplateGroup'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCategory'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitSnapshotJob'],
+ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAITemplate'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadStreamByURL'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEditingProject'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEditingProjectMaterials'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodTranscodeData'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodUserDomains'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SearchEditingProject'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetImageInfo'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitWorkflowJob'],
+ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateWatermark'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMessageCallback'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveAppResource'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddVodStorageForApp'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCategories'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAIMediaAuditJob'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIJob'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAIImageJobs'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitDigitalWatermarkExtractJob'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitTranscodeJobs'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodRangeDataByLocateAndIspService'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddVodDomain'],
+ ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUploadVideo'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVodDomainRealTimeReqHitRateData'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetAuditSecurityIp'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMultipartUpload'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubmitAIMediaAuditJob'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDigitalWatermarkExtractResult'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTranscodeTask'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetURLUploadInfos'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMezzanineInfo'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DecryptKMSDataKey'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyVodDomainOwner'],
+ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobDetail'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachAppPolicyFromIdentity'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePlayUserAvg'],
+ ],
+ ],
+ 'ram' => [
+ 'productCode' => 'VOD',
+ 'productName' => 'ApsaraVideo VOD',
+ 'ramCodes' => ['vod'],
+ 'ramLevel' => 'OPERATION',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'GetVideoPlayAuth',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoPlayAuth',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'RefreshUploadVideo',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:RefreshUploadVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetImageInfos',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetImageInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodUserVipsByDomain',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodUserVipsByDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetAuditHistory',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAuditHistory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodTieringStorageData',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodTieringStorageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteMultipartUpload',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteMultipartUpload',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UploadMediaByURL',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:UploadMediaByURL',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitAIImageAuditJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIImageAuditJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteEditingProjectMaterials',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitWorkflowJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitWorkflowJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetDefaultAITemplate',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetDefaultAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteWatermark',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'BatchStopVodDomain',
+ 'description' => '',
'operationType' => 'update',
- 'abilityTreeCode' => '161156',
- 'abilityTreeNodes' => [
- 'FEATUREvod7FWSSO',
+ 'ramAction' => [
+ 'action' => 'vod:BatchStopVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'title' => '资源类型',
- 'description' => 'The type of resource',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AppInfo',
- 'default' => 'Storage',
+ [
+ 'apiName' => 'GetAIMediaAuditJob',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAIMediaAuditJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '资源Id',
- 'description' => 'The ID of resource',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'app-xxxxxxx',
+ ],
+ [
+ 'apiName' => 'ListAIImageInfo',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAIImageInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceRegionId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '地域Id',
- 'description' => 'The ID of the region.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-shanghai',
+ ],
+ [
+ 'apiName' => 'UpdateCategory',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateCategory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '目标资源组',
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-aekzko7fsuj****',
+ ],
+ [
+ 'apiName' => 'UpdateVodDomain',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'GetEditingProjectMaterials',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NoPermission.ChangeResourceGroup',
- 'errorMessage' => 'You are not authorized to change resourcegroup',
+ [
+ 'apiName' => 'AddCategory',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddCategory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'MissingParameter.ResourceRegionId',
- 'errorMessage' => 'The ResourceRegionId parameters that are required for processing this request are missing',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteDynamicImage',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteDynamicImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'MissingParameter.ResourceId',
- 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing',
+ ],
+ ],
+ [
+ 'apiName' => 'GetMediaAuditResultDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditResultDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'MissingParameter.ResourceGroupId',
- 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteVodSpecificConfig',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVodSpecificConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidResourceGroup',
- 'errorMessage' => 'The specified ResourceGroupId is invalid',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainRealTimeQpsData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeQpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'SystemError',
- 'errorMessage' => 'A system error occurred while processing your request',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainRealTimeBpsData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeBpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'ResourceNotFound',
- 'errorMessage' => ' The specified resource is not found',
+ ],
+ ],
+ [
+ 'apiName' => 'VerifyVodDomainOwner',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:VerifyVodDomainOwner',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
+ [
+ 'apiName' => 'SetVodDomainCertificate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetVodDomainCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'ListVodTemplate',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DescribeVodDomainConfigs',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
+ [
+ 'apiName' => 'DescribeVodRangeDataByLocateAndIspService',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '235311',
- 'abilityTreeNodes' => [
- 'FEATUREvodB8HTWV',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodRangeDataByLocateAndIspService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
- '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',
+ [
+ 'apiName' => 'MoveAppResource',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:MoveAppResource',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainQpsData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainQpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'GetTranscodeTask',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetTranscodeTask',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'RegisterMedia',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:RegisterMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
- ],
+ ],
+ [
+ 'apiName' => 'SetMessageCallback',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetMessageCallback',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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",
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'GetAITemplate',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidStartTime.Malformed',
- 'errorMessage' => 'The specified value of parameter StartTime is malformed.',
+ [
+ 'apiName' => 'UpdateWatermark',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetTranscodeSummary',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetTranscodeSummary',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidEndTime.Malformed',
- 'errorMessage' => 'The specified value of parameter EndTime is malformed.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainRealTimeHttpCodeData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeHttpCodeData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidStartTime.ValueNotSupported',
- 'errorMessage' => 'The specified value of parameter StartTime is not supported.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeMediaDistribution',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeMediaDistribution',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidEndTime.Mismatch',
- 'errorMessage' => 'Specified EndTime does not match the specified StartTime.',
+ ],
+ ],
+ [
+ 'apiName' => 'GetMediaRefreshJobs',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaRefreshJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidTimePoint.Malformed',
- 'errorMessage' => 'Specified TimePoint is malformed.',
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitAIJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidTimeSpan',
- 'errorMessage' => 'The time span exceeds the limit.',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteAppInfo',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidTime.Malformed',
- 'errorMessage' => 'Specified StartTime or EndTime is malformed.',
+ ],
+ ],
+ [
+ 'apiName' => 'ProduceEditingProjectVideo',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:ProduceEditingProjectVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- 404 => [
- [
- 'errorCode' => 'InvalidDomain.NotFound',
- 'errorMessage' => 'The domain provided does not exist in our records.',
+ ],
+ [
+ 'apiName' => 'BatchGetMediaInfos',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:BatchGetMediaInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'BatchStartVodDomain',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:BatchStartVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'DescribeVodCertificateList',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodCertificateList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'AddVodDomain',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'ListLiveRecordVideo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:ListLiveRecordVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
+ [
+ 'apiName' => 'UpdateVideoInfo',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVideoInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePlayTopVideos',
+ 'description' => '',
'operationType' => 'get',
- 'abilityTreeCode' => '236814',
- 'abilityTreeNodes' => [
- 'FEATUREvod0O92P0',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayTopVideos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'DomainName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'example.com',
+ [
+ 'apiName' => 'DeleteMezzanines',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteMezzanines',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: 1.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
+ ],
+ [
+ 'apiName' => 'GetPlayInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetPlayInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'AddWatermark',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'SearchKeyword',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The keyword that is used to query certificates.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'certabc'."\n",
+ ],
+ [
+ 'apiName' => 'SearchMedia',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:SearchMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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' => '',
+ [
+ 'apiName' => 'GetTranscodeTemplateGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotFoundCertList',
- 'errorMessage' => 'The certList is null.',
+ [
+ 'apiName' => 'DescribePlayVideoStatis',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayVideoStatis',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
+ [
+ 'apiName' => 'CancelUrlUploadJobs',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:CancelUrlUploadJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'GetAppInfos',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetAppInfos',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'SubmitAIMediaAuditJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIMediaAuditJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'write',
- 'systemTags' => [
+ [
+ 'apiName' => 'RestoreMedia',
+ 'description' => '',
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '236821',
- 'abilityTreeNodes' => [
- 'FEATUREvod0O92P0',
+ 'ramAction' => [
+ 'action' => 'vod:RestoreMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'publicInformation',
],
- 'parameters' => [
- [
- 'name' => 'DomainName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'VOD acceleration domain.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
+ [
+ 'apiName' => 'SearchEditingProject',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:SearchEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'CertName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the certificate.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cert_name',
+ ],
+ [
+ 'apiName' => 'UpdateAITemplate',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'CertId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the certificate.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '12342707',
+ ],
+ [
+ 'apiName' => 'DescribeVodVerifyContent',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodVerifyContent',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
- ],
+ ],
+ [
+ 'apiName' => 'DescribeVodTieringStorageRetrievalData',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodTieringStorageRetrievalData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'UpdateAppInfo',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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' => '****',
+ ],
+ [
+ 'apiName' => 'GetMediaAuditAudioResultDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditAudioResultDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'SSLPri',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The private key. This parameter is required only if you enable the certificate.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
+ ],
+ [
+ 'apiName' => 'SetEditingProjectMaterials',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'DescribeVodSSLCertificateList',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodSSLCertificateList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'DescribeVodRefreshTasks',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodRefreshTasks',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'F4C6D5BE-BF13-45*****6C-516EA8906DCD',
- ],
- ],
+ [
+ 'apiName' => 'DescribeVodDomainCertificateInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainCertificateInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidSSLProtocol.ValueNotSupported',
- 'errorMessage' => 'The specified SSLProtocol is invalid.',
+ [
+ 'apiName' => 'GetDigitalWatermarkExtractResult',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetDigitalWatermarkExtractResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodEditingUsageData',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodEditingUsageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainRealTimeDetailData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeDetailData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AddTranscodeTemplateGroup',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UploadStreamByURL',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:UploadStreamByURL',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodRefreshQuota',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodRefreshQuota',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAIJob',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAIJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteImage',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RefreshVodObjectCaches',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:RefreshVodObjectCaches',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainMax95BpsData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainMax95BpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetAIVideoTagResult',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAIVideoTagResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAppPoliciesForIdentity',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAppPoliciesForIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainSrcTrafficData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainSrcTrafficData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AddEditingProject',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetDefaultAITemplate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SetDefaultAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePlayUserTotal',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayUserTotal',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetCategories',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetCategories',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListTranscodeTask',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListTranscodeTask',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteVodDomain',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVodDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetCrossdomainContent',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetCrossdomainContent',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'SSLPub.MissingParameter',
- 'errorMessage' => 'The SSLPub parameter is required.',
+ ],
+ ],
+ [
+ 'apiName' => 'AddVodStorageForApp',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddVodStorageForApp',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'SSLPri.MissingParameter',
- 'errorMessage' => 'The SSLPri parameter is required.',
+ ],
+ ],
+ [
+ 'apiName' => 'GetUploadDetails',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetUploadDetails',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidSSLPub',
- 'errorMessage' => 'The specified SSLPub is invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainBpsDataByLayer',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainBpsDataByLayer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidSSLPri',
- 'errorMessage' => 'The specified SSLPri is invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'SetAuditSecurityIp',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetAuditSecurityIp',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Certificate.MissMatch',
- 'errorMessage' => 'The SSLPri does not match the certificate.',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteTranscodeTemplateGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidCertificate.TooLong',
- 'errorMessage' => 'The maximum length of the certificate is exceeded.',
+ ],
+ ],
+ [
+ 'apiName' => 'RefreshMediaPlayUrls',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:RefreshMediaPlayUrls',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidCertName.TooLong',
- 'errorMessage' => 'The length of the certificate name cannot exceed 128 characters.',
+ ],
+ ],
+ [
+ 'apiName' => 'ListAppInfo',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'AuthenticationFailed',
- 'errorMessage' => 'Error performing verification.',
+ ],
+ ],
+ [
+ 'apiName' => 'AddEditingProjectMaterials',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddEditingProjectMaterials',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'SetDomainCertificate.ParameterError',
- 'errorMessage' => 'The specified parameters are invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'AttachAppPolicyToIdentity',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:AttachAppPolicyToIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Certificate.StatusError',
- 'errorMessage' => 'The status of the certificate is invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodMediaPlayData',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodMediaPlayData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'DeleteFailed',
- 'errorMessage' => 'Error deleting the certificate.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodUserDomains',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodUserDomains',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Certificate.NotFind',
- 'errorMessage' => 'The certificate does not exist.',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteMessageCallback',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteMessageCallback',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Certificate.Duplicated',
- 'errorMessage' => 'The certificate name already exists.',
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateVodTemplate',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Certificate.FormatError',
- 'errorMessage' => 'The format of the certificate is invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'DecryptKMSDataKey',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DecryptKMSDataKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateTranscodeTemplateGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetAttachedMediaInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAttachedMediaInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteAITemplate',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodTranscodeData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodTranscodeData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Certificate.KeyNull',
- 'errorMessage' => 'The private key is required.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Key.Malformed',
- 'errorMessage' => 'The specified Key format is invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'SetAppPlayKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetAppPlayKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'CertStorage.failed',
- 'errorMessage' => 'Error saving the certificate.',
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitAIImageJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitAIImageJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'CertificateContent.Duplicated',
- 'errorMessage' => 'The certificate has been uploaded; do not upload again.',
+ ],
+ ],
+ [
+ 'apiName' => 'AddVodTemplate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainRealTimeTrafficData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeTrafficData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainBpsData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainBpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Certificate.Expired',
- 'errorMessage' => 'The certificate has expired.',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteVodTemplate',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidDomain.notOnline',
- 'errorMessage' => 'The domain is offline. Check the status of the domain and try again later.',
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateAttachedMediaInfos',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateAttachedMediaInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Decode.Error',
- 'errorMessage' => 'Error decoding the SSLPub or SSLPri certificate.',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteEditingProject',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'sslPub.Error',
- 'errorMessage' => 'Error encoding SSLPub.',
+ ],
+ ],
+ [
+ 'apiName' => 'ChangeResourceGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:ChangeResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'sslPri.Error',
- 'errorMessage' => 'Error encoding SSLPri.',
+ ],
+ ],
+ [
+ 'apiName' => 'GetWatermark',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'DomainInSafeMode',
- 'errorMessage' => 'The domain is in safe mode. To request permission, contact Customer Service.',
+ ],
+ ],
+ [
+ 'apiName' => 'CreateUploadImage',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateUploadImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'CreateCertificateFailed',
- 'errorMessage' => 'Create certificate failed,please try again.',
+ ],
+ ],
+ [
+ 'apiName' => 'ListDynamicImage',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListDynamicImage',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'Abs.CertRegion.ValueNotSupported',
- 'errorMessage' => 'CertRegion is not supported.',
+ ],
+ ],
+ [
+ 'apiName' => 'GetMessageCallback',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMessageCallback',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'CertNameAlreadyExists',
- 'errorMessage' => 'The CertName already exists.',
+ ],
+ ],
+ [
+ 'apiName' => 'GetAppPlayKey',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetAppPlayKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidDomain.Offline',
- 'errorMessage' => 'The domain provided is offline.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainRealTimeReqHitRateData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeReqHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'DomainOwnerVerifyFail',
- 'errorMessage' => 'Owner verification of the root domain failed.',
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitSnapshotJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitSnapshotJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- 403 => [
- [
- 'errorCode' => 'DomainInProtectedMode',
- 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.',
+ ],
+ [
+ 'apiName' => 'AddAITemplate',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:AddAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- [
- 'errorCode' => 'CertName.MissingParameter',
- 'errorMessage' => 'You must specify CertName.',
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainHitRateData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'DescribeVodDomainLog',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainLog',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'DescribeVodStorageData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodStorageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'DeleteCategory',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteCategory',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'SubmitMediaDNADeleteJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitMediaDNADeleteJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'DescribeVodPlayerMetricData',
+ 'description' => '',
'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '208113',
- 'abilityTreeNodes' => [
- 'FEATUREvodXLM48P',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodPlayerMetricData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'StartTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2024-11-06T16:00:00Z',
+ [
+ 'apiName' => 'ListJobInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:ListJobInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'EndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2024-11-07T16:00:00Z',
+ ],
+ [
+ 'apiName' => 'GetMediaAuditResultTimeline',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditResultTimeline',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Region',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
+ ],
+ [
+ 'apiName' => 'DescribeVodPlayerCollectData',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodPlayerCollectData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Specification',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'H264.SD',
+ ],
+ [
+ 'apiName' => 'CreateUploadAttachedMedia',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateUploadAttachedMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'AppId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'app-****',
+ ],
+ [
+ 'apiName' => 'SetVodDomainSSLCertificate',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetVodDomainSSLCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'ListAuditSecurityIp',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAuditSecurityIp',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidStartTime.Malformed',
- 'errorMessage' => 'Specified StartTime is malformed.',
+ [
+ 'apiName' => 'GetAIImageJobs',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetAIImageJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateMediaStorageClass',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateMediaStorageClass',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainTrafficData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainTrafficData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidEndTime.Malformed',
- 'errorMessage' => 'Specified EndTime is malformed.',
+ ],
+ ],
+ [
+ 'apiName' => 'DetachAppPolicyFromIdentity',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:DetachAppPolicyFromIdentity',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidParameterType',
- 'errorMessage' => 'The specified Type is invalid.',
+ ],
+ ],
+ [
+ 'apiName' => 'CreateAudit',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateAudit',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidTimeSpan',
- 'errorMessage' => 'The time span exceeds the limit.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribePlayUserAvg',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribePlayUserAvg',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'Invalid input parameter.',
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateImageInfos',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateImageInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
+ [
+ 'apiName' => 'GenerateDownloadSecretKey',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:GenerateDownloadSecretKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'SubmitDynamicImageJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitDynamicImageJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DeleteAIImageInfos',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAIImageInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'DescribeVodDomainRealTimeByteHitRateData',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREvodHI57GB',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainRealTimeByteHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
],
- 'parameters' => [
- [
- 'name' => 'DomainName',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
+ [
+ 'apiName' => 'GetMediaAuditResult',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaAuditResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Available',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'on',
- 'enum' => [
- 'on',
- 'off',
- ],
+ ],
+ [
+ 'apiName' => 'DescribeVodAIData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodAIData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'GetMediaDNAResult',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMediaDNAResult',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'MissingParameter',
- 'errorMessage' => 'The specified value of parameter "DomainName" can not be empty.',
+ [
+ 'apiName' => 'GenerateKMSDataKey',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:GenerateKMSDataKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'InvalidDomain.NotFound',
- 'errorMessage' => 'The domain provided is offline or not exist.',
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainSrcBpsData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainSrcBpsData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'IllegalOperation',
- 'errorMessage' => 'Illegal domain operate is not permitted.',
+ ],
+ ],
+ [
+ 'apiName' => 'GetImageInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetImageInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'DescribeVodPlayerDimensionData',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodPlayerDimensionData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetMezzanineInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetMezzanineInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListWatermark',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListSnapshots',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListSnapshots',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'PreloadVodObjectCaches',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:PreloadVodObjectCaches',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetEditingProject',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainUsageData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainUsageData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateVideoInfos',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateVideoInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetVideoInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitTranscodeJobs',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitTranscodeJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListTranscodeTemplateGroup',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetDefaultWatermark',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetDefaultWatermark',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetVideoInfos',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteStream',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteStream',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetDefaultTranscodeTemplateGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:SetDefaultTranscodeTemplateGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAITemplate',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:ListAITemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateEditingProject',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:UpdateEditingProject',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteVideo',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetVideoList',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vod:GetVideoList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteAttachedMedia',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vod:DeleteAttachedMedia',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'BatchSetVodDomainConfigs',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vod:BatchSetVodDomainConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetJobDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetJobDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetDailyPlayRegionStatis',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetDailyPlayRegionStatis',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitDigitalWatermarkExtractJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitDigitalWatermarkExtractJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetURLUploadInfos',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetURLUploadInfos',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateUploadVideo',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateUploadVideo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateAppInfo',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:CreateAppInfo',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeVodDomainReqHitRateData',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:DescribeVodDomainReqHitRateData',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetVodTemplate',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vod:GetVodTemplate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SubmitPreprocessJobs',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vod:SubmitPreprocessJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'VOD', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- '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',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'Image', 'arn' => 'acs:vod:{#regionId}:{#accountId}:Image/*'],
+ ['validationType' => 'always', 'resourceType' => 'MediaRefreshJob', 'arn' => 'acs:vod:*:{#accountId}:MediaRefreshJob/*'],
+ ['validationType' => 'always', 'resourceType' => 'AppInfo', 'arn' => 'acs:vod:{#regionId}:{#accountId}:appinfo/{#AppId}'],
+ ['validationType' => 'always', 'resourceType' => 'EditingProject', 'arn' => 'acs:vod:{#regionId}:{#accountId}:editingproject/{#EditingProjectId}'],
+ ['validationType' => 'always', 'resourceType' => 'UrlUploadJob', 'arn' => 'acs:vod:{#regionId}:{#accountId}:urluploadjob/{#UrlUploadJobId}'],
+ ['validationType' => 'always', 'resourceType' => 'Storage', 'arn' => 'acs:vod:{#regionId}:{#accountId}:storage/{#StorageLocation}'],
+ ['validationType' => 'always', 'resourceType' => 'AiTemplate', 'arn' => 'acs:vod:{#regionId}:{#accountId}:aitemplate/{#TemplateId}'],
+ ['validationType' => 'always', 'resourceType' => 'AiTemplate', 'arn' => 'acs:vod:{#regionId}:{#accountId}:aitemplate/*'],
],
],
];