通过 API 使用极智压缩

最近更新时间:2024-12-24 18:42:53

我的收藏

功能描述

极智压缩通过智能判断图片的主观质量进行自动调节,在不改变图片原格式的基础上,使图片体积相比原图有显著的降低,同时在视觉效果上可以最大程度贴近原图,帮助您减少图片访问流量、提升图片访问速度。该功能支持以下处理方式:
下载时处理
上传时处理
云上数据处理

授权说明

通过子账号使用时,需要授予 ci:SetImageSlim权限,详情请参见 数据万象 action
下载时处理:授权策略中 action 设置为 cos:GetObject
上传时处理:授权策略中 action 设置为 cos:PutObject
云上数据处理:授权策略中 action 设置为 cos:GetObjectcos:PutObject(注意 GetObject 对应的 resource 为源文件,PutObject 对应的 resource 为转存的文件)。

服务开通

使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶
使用该功能需提前通过控制台或接口开通极智压缩 API 使用功能。详情请参见 图片极智压缩

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制
不支持处理 COS 上的归档存储类型和深度归档存储类型的图片,如果需要处理此类型文件,请先 恢复归档文件

费用说明

图片极智压缩为付费服务,产生的费用将由数据万象收取,详细计费说明可参见 图片处理费用
如果采用下载时处理的方式,且通过外网进行下载,调用会产生 流量费用
如果图片为 COS 上的低频存储类型,调用接口会产生 COS 低频数据取回费用

接口形式

下载时处理

GET /<ObjectKey>?imageSlim HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>

上传时处理

PUT /<ObjectKey> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
Pic-Operations:
{
"is_pic_info": 1,
"rules": [{
"fileid": "exampleobject.jpg",
"rule": "imageSlim"
}]
}

云上数据处理

POST /<ObjectKey>?image_process HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Content-length: Size
Authorization: Auth String
Pic-Operations:
{
"is_pic_info": 1,
"rules": [{
"fileid": "exampleobject.jpg",
"rule": "imageSlim"
}]
}
说明:
Authorization:携带鉴权信息,用于验证请求的合法性,Pic-Operations 头部需写入签名信息中,详情请参见 请求签名 文档。
Pic-Operations 为 json 格式的字符串,具体参数信息可参考 图片处理机制介绍
fileid ObjectKey 相同时,处理后的图片将覆盖原图存储;不相同时将分别存储原图和处理后图片。
fileid的值需要经过 URLEncode。

处理参数说明

参数
含义
是否必选
ObjectKey
对象文件名,例如 folder/sample.jpg。
imageSlim
固定参数,表示极智压缩。
说明:
使用下载时处理时,可通过 X-Slimflag 响应头部来判断图片是否已压缩,该响应头包含以下三个值:
0:表示压缩失败;
1:表示压缩成功;
2:表示未进行压缩,返回了原图。

实际案例

说明:
本篇文档中的实际案例仅包含下载时处理,该类处理不会保存处理后的图片至存储桶。如有保存需求,您可查阅 图片处理机制介绍 文档并配置 上传时处理云上数据处理
假设原图格式为 png,图片大小为1335.2KB,如下图所示:

img


将图片进行极智压缩处理,请求 URL 如下:
http://example-1258125638.cos.ap-shanghai.myqcloud.com/sample.png?imageSlim
效果如下:
img


压缩率对比
格式
图片大小
png(原图)
1335.2KB
png(极智压缩图)
549KB(压缩率58.88%)