滤镜
简介
HI,您好,欢迎使用腾讯AI开放平台图片滤镜特效API接口服务。
本文档主要针对需要集成HTTP API的技术研发工程师,详细描述图片滤镜特效能力相关的技术内容。
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
官方交流一群:581197347
官方交流二群:705874401
官方交流三群:415349651
联系邮箱:aicamp@tencent.com
接口能力
接口名称
接口描述
API地址
图片滤镜(天天P图)
对原图进行滤镜特效处理,更适合人物图片
https://api.ai.qq.com/fcgi-bin/ptu/ptu_imgfilter
图片滤镜(AI Lab)
对原图进行滤镜特效处理,更适合风景图片
https://api.ai.qq.com/fcgi-bin/vision/vision_imgfilter
更多更强大的接口能力正在开发中,并逐步开放,敬请期待!
协议须知
调用方集成图片滤镜特效API时,请遵循以下规则。
规则
描述
传输方式
HTTPS
请求方法
POST
原图限制
仅支持JPG、PNG类型图片,尺寸长宽不超过1080
效果图说明
JPG类型图片
字符编码
统一采用UTF-8编码
响应格式
统一采用JSON格式
接口鉴权
签名机制,详情请阅接口鉴权
一、图片滤镜(天天P图)
1. 接口描述
图片滤镜接口提供滤镜特效功能,可以帮您快速实现原始图片的滤镜特效处理。
2. 请求参数
参数名称
是否必选
数据类型
数据约束
示例数据
描述
app_id
是
int
正整数
1000001
应用标识(AppId)
time_stamp
是
int
正整数
1493468759
请求时间戳(秒级)
nonce_str
是
string
非空且长度上限32字节
fa577ce340859f9fe
随机字符串
sign
是
string
非空且长度固定32字节
签名信息,详见接口鉴权
filter
是
int
正整数
1
滤镜特效编码,定义见下文描述
image
是
string
原始图片的base64编码数据(原图大小上限500KB)
...
待处理图片
3. 响应参数
参数名称
是否必选
数据类型
描述
ret
是
int
返回码; 0表示成功,非0表示出错
msg
是
string
返回信息;ret非0时表示出错时错误原因
data
是
object
返回数据;ret为0时有意义
+ image
是
string
效果图片的base64编码数据
4. 请求限制
单用户单接口的QPS(每秒请求次数)上限如下,如需更多请联系QQ客服反馈。
未认证用户
个人认证用户
企业认证用户
1
2
10
5. 参考示例
假设示例请求数据如下。
参数名称
参数数据
描述
app_id
1000001
仅供参考
image
实时计算base64
filter
1
仅供参考
time_stamp
实时计算
nonce_str
实时计算
sign
实时计算
假设应用密钥为:a95eceb1ac8c24ee28b70f7dbba912bf,示例图片文件存储路径为:/path/to/image。
下面使用PHP实现该HTTP API调用,其中getReqSign、doHttpPost可以从接口鉴权获取。
// 图片base64编码
$path = '/path/to/image';
$data = file_get_contents($path);
$base64 = base64_encode($data);
// 设置请求数据
$appkey = 'a95eceb1ac8c24ee28b70f7dbba912bf';
$params = array(
'app_id' => '1000001',
'image' => $base64,
'filter' => '1',
'time_stamp' => strval(time()),
'nonce_str' => strval(rand()),
'sign' => '',
);
$params['sign'] = getReqSign($params, $appkey);
// 执行API调用
$url = 'https://api.ai.qq.com/fcgi-bin/ptu/ptu_imgfilter';
$response = doHttpPost($url, $params);
echo $response;
上述echo $response的输出结果即API的响应结果(注意使用UTF-8编码):
{
"ret": 0,
"msg": "ok",
"data": {
"image": "..."
}
}
6. 预设滤镜效果编码
编码
名称
效果
编码
名称
效果
编码
名称
效果
1
黛紫
2
岩井
3
粉嫩
4
错觉
5
暖阳
6
浪漫
7
蔷薇
8
睡莲
9
糖果玫瑰
10
新叶
11
尤加利
12
墨
13
玫瑰初雪
14
樱桃布丁
15
白茶
16
甜薄荷
17
樱红
18
圣代
19
莫斯科
20
冲绳
21
粉碧
22
地中海
23
首尔
24
佛罗伦萨
25
札幌
26
栀子
27
东京
28
昭和
29
自然
30
清逸
31
染
32
甜美
更多滤镜效果正在开发中,并逐步开放,敬请期待!
二、图片滤镜(AI Lab)
1. 接口描述
图片滤镜接口提供滤镜特效功能,可以帮您快速实现原始图片的滤镜特效处理。
2. 请求参数
参数名称
是否必选
数据类型
数据约束
示例数据
描述
app_id
是
int
正整数
1000001
应用标识(AppId)
time_stamp
是
int
正整数
1493468759
请求时间戳(秒级)
nonce_str
是
string
非空且长度上限32字节
fa577ce340859f9fe
随机字符串
sign
是
string
非空且长度固定32字节
签名信息,详见接口鉴权
filter
是
int
正整数
1
滤镜特效编码,定义见下文描述
image
是
string
原始图片的base64编码数据(原图大小上限1MB)
...
待处理图片
session_id
是
string
尽可能唯一,长度上限64字节
1509333186
一次请求ID
3. 响应参数
参数名称
是否必选
数据类型
描述
ret
是
int
返回码; 0表示成功,非0表示出错
msg
是
string
返回信息;ret非0时表示出错时错误原因
data
是
object
返回数据;ret为0时有意义
+ image
是
string
效果图片的base64编码数据
4. 请求限制
单用户单接口的QPS(每秒请求次数)上限如下,如需更多请联系QQ客服反馈。
未认证用户
个人认证用户
企业认证用户
1
2
10
5. 参考示例
假设示例请求数据如下。
参数名称
参数数据
描述
app_id
1000001
仅供参考
image
实时计算base64
filter
1
仅供参考
session_id
1509333186
仅供参考
time_stamp
实时计算
nonce_str
实时计算
sign
实时计算
假设应用密钥为:a95eceb1ac8c24ee28b70f7dbba912bf,示例图片文件存储路径为:/path/to/image。
下面使用PHP实现该HTTP API调用,其中getReqSign、doHttpPost可以从接口鉴权获取。
// 图片base64编码
$path = '/path/to/image';
$data = file_get_contents($path);
$base64 = base64_encode($data);
// 设置请求数据
$appkey = 'a95eceb1ac8c24ee28b70f7dbba912bf';
$params = array(
'app_id' => '1000001',
'image' => $base64,
'filter' => '1',
'session_id' => '1509333186',
'time_stamp' => strval(time()),
'nonce_str' => strval(rand()),
'sign' => '',
);
$params['sign'] = getReqSign($params, $appkey);
// 执行API调用
$url = 'https://api.ai.qq.com/fcgi-bin/vision/vision_imgfilter';
$response = doHttpPost($url, $params);
echo $response;
上述echo $response的输出结果即API的响应结果(注意使用UTF-8编码):
{
"ret": 0,
"msg": "ok",
"data": {
"image": "..."
}
}
6. 预设滤镜效果编码
编码
效果
编码
效果
编码
效果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
更多滤镜效果正在开发中,并逐步开放,敬请期待!