简介
本文档提供关于动图模板接口的 API 概览和 SDK 示例代码。
新增动图模板
功能说明
用于新增动图模板。
方法原型
public Guzzle\\Service\\Resource\\Model createMediaAnimationTemplate(array $args = array());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', //协议头部,默认为 http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->createMediaAnimationTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Tag' => 'Animation','Name' => 'Animation-Template-Name','Container' => array('Format' => '',),'Video' => array('Codec' => '','Width' => '','Height' => '','Fps' => '','AnimateOnlyKeepKeyFrame' => '','AnimateTimeIntervalOfFrame' => '','AnimateFramesPerSecond' => '','Quality' => '',),'TimeInterval' => array('Start' => '','Duration' => '',),));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
Request 中的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Tag | Request | 模板类型:Animation | String | 是 |
Name | Request | 模板名称仅支持中文、英文、数字、_、-和* | String | 是 |
Container | Request | 容器格式 | Container | 是 |
Video | Request | 视频信息 | Container | 否 |
TimeInterval | Request | 时间区间 | Container | 否 |
Request 节点 Container 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Format | Request.Container | 容器格式:gif,hgif,webp hgif 为高质量 gif,即清晰度比较高的 gif 格式图 | String | 是 |
Request 节点 Video 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 | 默认值 | 限制 |
Codec | Request.Video | 编解码格式 | String | 是 | 无 | gif, webp |
Width | Request.Video | 宽 | String | 否 | 视频原 始宽度 | 值范围:[128,4096] 单位:px 若只设置 Width 时,按照视频原始比例计算 Height |
Height | Request.Video | 高 | String | 否 | 视频原 始高度 | 值范围:[128,4096] 单位:px 若只设置 Height 时,按照视频原始比例计算 Width |
Fps | Request.Video | 帧率 | String | 否 | 视频原 始帧率 | 值范围:(0,60] 单位:fps 如果不设置,那么播放速度按照原来的时间戳。这里设置 fps 为动图的播放帧率 |
AnimateOnly KeepKeyFrame | Request.Video | 动图只保留关键帧 。 若 AnimateOnlyKeepKeyFrame 设置为 true 时,则不考虑 AnimateTimeIntervalOfFrame、AnimateFramesPerSecond; 若 AnimateOnlyKeepKeyFrame 设置为 false 时,则必须填写 AnimateTimeIntervalOfFrame 或 AnimateFramesPerSecond | String | 否 | false | true、false 动图保留关键帧参数优先级:AnimateFramesPerSecond > AnimateOnlyKeepKeyFrame > AnimateTimeIntervalOfFrame |
AnimateTime IntervalOfFrame | Request.Video | 动图抽帧间 隔时间 | String | 否 | 无 | (0,视频时长]动图抽帧时间间隔若设置 TimeInterval.Duration,则小于该值 |
AnimateFrames PerSecond | Request.Video | Animation 每秒 抽帧帧数 | String | 否 | 无 | (0,视频帧率)动图抽帧频率优先级:AnimateFramesPerSecond > AnimateOnlyKeepKeyFrame > AnimateTimeIntervalOfFrame |
Quality | Request.Video | 设置相对质量 | String | 否 | 无 | [1, 100)webp 图像质量设定生效,gif 没有质量参数 |
Request 节点 TimeInterval 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 | 默认值 | 限制 |
Start | Request.TimeInterval | 开始时间 | String | 否 | 0 | [0 视频时长]单位为秒支持 float 格式,执行精度精确到毫秒 |
Duration | Request.TimeInterval | 持续时间 | String | 否 | 视频时长 | [0 视频时长]单位为秒支持 float 格式,执行精度精确到毫秒 |
返回结果示例
GuzzleHttp\\Command\\Result Object([Body] => GuzzleHttp\\Psr7\\Stream Object([stream:GuzzleHttp\\Psr7\\Stream:private] => Resource id #88[size:GuzzleHttp\\Psr7\\Stream:private] =>[seekable:GuzzleHttp\\Psr7\\Stream:private] => 1[readable:GuzzleHttp\\Psr7\\Stream:private] => 1[writable:GuzzleHttp\\Psr7\\Stream:private] => 1[uri:GuzzleHttp\\Psr7\\Stream:private] => php://temp[customMetadata:GuzzleHttp\\Psr7\\Stream:private] => Array())[RequestId] => NjJhODRiZDBfNzgwYzdIOSJAIODJOIASDThmZDE=[ContentType] => application/xml[ContentLength] => 964[Bucket] => examplebucket-125000000[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template[Response] => Array([RequestId] => NjJhODRiZDBfNzgwYzdIOSJAIODJOIASDThmZDE=[Template] => Array([TemplateId] => t1562e64115f68416e8as90d8a90d8dc66b[Name] => Animation-Template-Name[State] => Normal[Tag] => Animation[CreateTime] => 2022-06-14T16:50:24+0800[UpdateTime] => 2022-06-14T16:50:24+0800[BucketId] => examplebucket-125000000[Category] => Custom[TransTpl] => Array([Container] => Array([Format] => gif)[Video] => Array([Codec] => gif[Width] => 400[Height] => 400[Fps] => 30[AnimateOnlyKeepKeyFrame] => true[AnimateTimeIntervalOfFrame] => 3[AnimateFramesPerSecond] => 3[Quality] => 20)[TimeInterval] => Array([Start] => 0[Duration] => 30)))))
更新动图模板
功能说明
用于更新动图模板。
方法原型
public Guzzle\\Service\\Resource\\Model updateMediaAnimationTemplate(array $args = array());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', //协议头部,默认为 http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {// https://cloud.tencent.com/document/product/436/54028 更新动图模板$result = $cosClient->updateMediaAnimationTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Key' => '', // TemplateId'Tag' => 'Animation','Name' => 'Animation-Template-Name','Container' => array('Format' => '',),'Video' => array('Codec' => '','Width' => '','Height' => '','Fps' => '','AnimateOnlyKeepKeyFrame' => '','AnimateTimeIntervalOfFrame' => '','AnimateFramesPerSecond' => '','Quality' => '',),'TimeInterval' => array('Start' => '','Duration' => '',),));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
Request 中的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 |
Tag | Request | 模板类型:Animation | String | 是 |
Name | Request | 模板名称仅支持中文、英文、数字、_、-和* | String | 是 |
Container | Request | 容器格式 | Container | 是 |
Video | Request | 视频信息 | Container | 否 |
TimeInterval | Request | 时间区间 | Container | 否 |
Request 节点 Container 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 |
Format | Request.Container | 容器格式:gif,hgif,webp hgif 为高质量 gif,即清晰度比较高的 gif 格式图 | String | 是 |
Request 节点 Video 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
Codec | Request.Video | 编解码格式 | String | 是 | 无 | gif, webp |
Width | Request.Video | 宽 | String | 否 | 视频原始宽度 | 值范围:[128,4096] 单位:px 若只设置 Width 时,按照视频原始比例计算 Height |
Height | Request.Video | 高 | String | 否 | 视频原始高度 | 值范围:[128,4096] 单位:px 若只设置 Height 时,按照视频原始比例计算 Width |
Fps | Request.Video | 帧率 | String | 否 | 视频原始帧率 | 值范围:(0,60] 单位:fps 帧率超过60时,设置为60 用户可以设置 fps,如果不设置,那么播放速度按照原来的时间戳。这里设置 fps 为动图的播放帧率 |
AnimateOnly KeepKeyFrame | Request.Video | 动图只保留关键帧 | String | 否 | false | true、false 动图保留关键帧参数 |
AnimateTime IntervalOfFrame | Request.Video | 动图抽帧间隔时间 | String | 否 | 无 | (0,视频时长] 动图抽帧时间间隔 若设置 TimeInterval.Duration,则小于该值 |
AnimateFrames PerSecond | Request.Video | Animation 每秒抽帧帧数 | String | 否 | 无 | (0,视频帧率) 动图抽帧频率 优先级:AnimateFramesPerSecond > AnimateOnlyKeepKeyFrame > AnimateTimeIntervalOfFrame |
Quality | Request.Video | 设置相对质量 | String | 否 | 无 | [1, 100) webp 图像质量设定生效,gif 没有质量参数 |
Request 节点 TimeInterval 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
Start | Request.TimeInterval | 开始时间 | String | 否 | 0 | [0 视频时长] 单位为秒 支持 float 格式,执行精度精确到毫秒 |
Duration | Request.TimeInterval | 持续时间 | String | 否 | 视频时长 | [0 视频时长] 单位为秒 支持 float 格式,执行精度精确到毫秒 |
返回结果示例
GuzzleHttp\\Command\\Result Object([Body] => GuzzleHttp\\Psr7\\Stream Object([stream:GuzzleHttp\\Psr7\\Stream:private] => Resource id #88[size:GuzzleHttp\\Psr7\\Stream:private] =>[seekable:GuzzleHttp\\Psr7\\Stream:private] => 1[readable:GuzzleHttp\\Psr7\\Stream:private] => 1[writable:GuzzleHttp\\Psr7\\Stream:private] => 1[uri:GuzzleHttp\\Psr7\\Stream:private] => php://temp[customMetadata:GuzzleHttp\\Psr7\\Stream:private] => Array())[RequestId] => NjJhODRjNjRfZmNjYTNiMAOIDOIASDUJOIWIyOWY=[ContentType] => application/xml[ContentLength] => 966[Key] => t1562e64115f68416eas9d8a09d809addc66b[Bucket] => examplebucket-125000000[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template/t1562e64115feas9d8a809addc66b[Response] => Array([RequestId] => NjJhODRjNjRfZmNjYTNiMAOIDOIASDUJOIWIyOWY=[Template] => Array([TemplateId] => t1562e6411eas9d8a09d809addc66b[Name] => Animation-Template-Name[State] => Normal[Tag] => Animation[CreateTime] => 2022-06-14T16:50:24+0800[UpdateTime] => 2022-06-14T16:52:52+0800[BucketId] => examplebucket-125000000[Category] => Custom[TransTpl] => Array([Container] => Array([Format] => gif)[Video] => Array([Codec] => gif[Width] => 400[Height] => 400[Fps] => 30[AnimateOnlyKeepKeyFrame] => true[AnimateTimeIntervalOfFrame] => 3[AnimateFramesPerSecond] => 3[Quality] => 20)[TimeInterval] => Array([Start] => 0[Duration] => 30)))))