功能描述
腾讯云数据万象通过 AIImageCrop 接口对图像进行智能裁剪,支持持久化、云上处理及下载时处理。注意本接口属于 GET 请求,为同步请求方式,需携带签名,具体签名设置请参见 请求签名。
授权说明
下载时处理:授权策略中 action 设置为 cos:GetObject
、ci:CreateAIImageCropJob
。上传时处理:授权策略中 action 设置为 cos:PutObject
、ci:CreateAIImageCropJob
。云上数据处理:授权策略中 action 设置为 cos:GetObject
、cos:PutObject
、ci:CreateAIImageCropJob
(注意 GetObject 对应的 resource 为源文件,PutObject 对应的 resource 为转存的文件)。查看所有 action。
服务开通
使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。
使用限制
使用该接口时,请先确认相关限制条件。详情请参见 使用限制。
1. 下载时处理
请求:
原图存储在 COS:
GET /<ObjectKey>?ci-process=AIImageCrop&width=<width>&height=<height>&fixed=<fixed> HTTP/1.1Host: <BucketName-APPID>.pic.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>
原图来自其他链接:
GET /<ObjectKey>?ci-process=AIImageCrop&width=<width>&height=<height>&fixed=<fixed>&detect-url=<detect-url> HTTP/1.1Host: <BucketName-APPID>.pic.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>
处理参数说明
操作名称:AIImageCrop。
参数 | 含义 | 类型 | 是否必选 |
ObjectKey | 对象文件名,例如:folder/document.jpg。 | String | 是 |
ci-process | 数据万象处理能力,只能裁剪参固定为 AIImageCrop。 | String | 是 |
detect-url | 您可以通过填写 detect-url 处理任意公网可访问的图片链接。不填写 detect-url 时,后台会默认处理 ObjectKey,填写了 detect-url 时,后台会处理 detect-url 链接,无需再填写 ObjectKey。 detect-url 示例: http://www.example.com/abc.jpg ,需要进行 UrlEncode,处理后为 http%25253A%25252F%25252Fwww.example.com%25252Fabc.jpg 。 |
String | 否 |
width | 需要裁剪区域的宽度,与 height 共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片宽度的像素值。 | Integer | 是 |
height | 需要裁剪区域的高度,与 width 共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片高度的像素值;width : height 建议取值在[1, 2.5]之间,超过这个范围可能会影响效果。 | Integer | 是 |
fixed | 是否严格按照 width 和 height 的值进行输出。取值为0时,宽高比例(width : height)会简化为最简分数,即如果 width 输入10、height 输入20,会简化为1:2;取值为1时,输出图片的宽度等于 width,高度等于 height;默认值为0。 | Integer | 否 |
ignore-error | 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。 | Integer | 否 |
响应:
HTTP/1.1 200 OKContent-Type: image/pngContent-Length: 98645Date: Tue, 23 Apr 2022 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
[pic-content]
处理后的图片直接返回至响应体。
2.上传时处理
请求
PUT /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth StringPic-Operations: { "is_pic_info": 1, "rules": [{ "fileid": "exampleobject", "rule": "ci-process=AIImageCrop&width=&height=&fixed=" }]}
处理后的图片存至存储桶,并以 fileid 字段的值作为对象名称。
响应:
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 23 Apr 2022 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
<UploadResult> <OriginalInfo> <Key>ObjectKey</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/filename.jpg</Location> <ETag>"ed60e3598e6862d8c8443a06acfb2153"</ETag> </OriginalInfo> <ProcessResults> <Object> <Key>exampleobject</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location> <Format/> <Size>354256</Size> <ETag>"521451f63c331becf533e466732c1091"</ETag> </Object> </ProcessResults></UploadResult>
3.云上数据处理
请求
POST /<ObjectKey>?image_process HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateContent-length: SizeAuthorization: Auth StringPic-Operations: { "rules": [{ "fileid": "exampleobject", "rule": "ci-process=AIImageCrop&width=&height=&fixed=" }]}
处理后的图片存至存储桶,并以 fileid 字段的值作为对象名称。响应:
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 23 Apr 2022 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
<UploadResult> <OriginalInfo> <Key>ObjectKey</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/filename.jpg</Location> <ETag>"ed60e3598e6862d8c8443a06acfb2153"</ETag> </OriginalInfo> <ProcessResults> <Object> <Key>exampleobject</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location> <Format/> <Size>354256</Size> <ETag>"521451f63c331becf533e466732c1091"</ETag> </Object> </ProcessResults></UploadResult>
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/145202.html