动图模板接口

最近更新时间:2025-03-21 17:50:32

我的收藏

简介

本文档提供关于动图模板接口的 API 概览和 SDK 示例代码。
API
操作描述
用于新增动图模板。
用于更新动图模板。

新增动图模板

功能说明

用于新增动图模板。

方法原型

public Guzzle\\Service\\Resource\\Model createMediaAnimationTemplate(array $args = array());

请求示例

<?php

require 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
模板名称仅支持中文、英文、数字、_、-和*,长度不超过 64
String
Container
Request
容器格式
Container
Video
Request
视频信息
Container
TimeInterval
Request
时间区间
Container
Request 节点
Container
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Format
Request.Container
封装格式:gif,hgif,webp
String
说明:
hgif 为高质量 gif,即清晰度比较高的 gif 格式图。
Request 节点
Video
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Codec
Request.Video
编解码格式,取值 gif、webp
String
Width
Request.Video
值范围:[128,4096]
单位:px
若只设置 Width 时,按照视频原始比例计算 Height
String
视频原始宽度
Height
Request.Video
值范围:[128,4096]
单位:px
若只设置 Height 时,按照视频原始比例计算 Width
String
视频原始高度
Fps
Request.Video
帧率
值范围:(0,60]
单位:fps
如果不设置,那么播放速度按照原来的时间戳。这里设置 fps 为动图的播放帧率
String
视频原始帧率
AnimateOnlyKeepKeyFrame
Request.Video
动图只保留关键帧
true :AnimateTimeIntervalOfFrame 和 AnimateFramesPerSecond 无效
false:AnimateTimeIntervalOfFrame 和 AnimateFramesPerSecond 必填
String
false
AnimateTimeIntervalOfFrame
Request.Video
动图抽帧间隔时间
取值范围:(0,视频时长 ]
若设置 TimeInterval.Duration,则小于该值
String
AnimateFramesPerSecond
Request.Video
每秒抽帧帧数,取值范围:(0,视频帧率)
String
Quality
Request.Video
相对质量
取值范围: [1, 100)
webp 图像质量设定生效,gif 没有质量参数
String
Request 节点
TimeInterval
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Start
Request.TimeInterval
开始时间
[0,视频时长]
单位为秒
支持 float 格式,执行精度精确到毫秒
String
0
Duration
Request.TimeInterval
持续时间
[0,视频时长]
单位为秒
支持 float 格式,执行精度精确到毫秒
String
视频时长

返回结果示例

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());

请求示例

<?php

require 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 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Key
模版 ID
String
Request
Container

返回结果示例

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
)

)

)

)

)