实例查看

接口文档
SDK下载(实例使用的是php版本)

创建应用,获得AppID、SecretID、SecretKey,拿到这些东西去SDK里使用,根据要求上传你自己的融合模板并获得模板ID,

服务端 SDK配置

code
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
// >= php 5.3.0
spl_autoload_register(function($class){
$dir = dirname(__FILE__);
$class = str_replace('\\', DIRECTORY_SEPARATOR, $class) . '.php';
include($dir.DIRECTORY_SEPARATOR.$class);
});
use TencentYoutuyun\Conf;
use TencentYoutuyun\Auth;
use TencentYoutuyun\Http;

if($_REQUEST){

// 接收客户端传来的模板id和图片
$mid=$_REQUEST["model_id"];
$myimg=$_REQUEST["myimg"];
}else{
echo json_encode(array("status"=>"0","err"=>"参数错误"));
}

//修改部分
//conf::API_YOUTU_END_POINT 去Conf.php里配置

$appid='00000';
$secretId='0000000000000000000000000';
$secretKey='0000000000000000000000000';
$userid='QQ号';
Conf::setAppInfo($appid, $secretId, $secretKey, $userid,conf::API_YOUTU_END_POINT );
$expired = time()+1000;
$postUrl = Conf::$END_POINT;
$sign = Auth::appSign($expired, Conf::$USER_ID);

//下面都可以不动
//请求数据,是JSON格式的
$post_data = json_encode(
array(
'app_id' => Conf::$APPID,
"rsp_img_type" => "url",
"img_data" => $myimg,
"opdata" => [array( //注意opdata是一个数组
"cmd"=> "doFaceMerge",
"params" => array(
"model_id" => $mid // 通用模板id
)
)]
));


// 生成的签名 添加在请求头部的 Authorization 字段里面
$req = array(
'url' => $postUrl,
'method' => 'post',
'timeout' => 10,
'data' => $post_data,
'header' => array(
'Host:api.youtu.qq.com',
'Content-Type:text/json',
'Authorization: '.$sign
),
);

// 向优图服务端发送请求
$rsp = Http::send($req);
echo $rsp; //返回给客户端结果

客户端 请求服务端

code
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
$.ajax({
url: 'act.php',//你的服务端地址
type: 'POST',
data: {
"model_id":'cf_xianjian_linger', //模板id 测试可使用融合素材模板编码
"myimg": "", //你的带脸的图片,传入base64,
},
dataType: "json",
success: function (data) {
//接受服务端结果
//ret 返回码; 0表示成功,非0表示出错,请参考接口误码列表
if(data.ret==0){
sharePicUrl = data.img_url.replace(/shp.qpic.cn/, "p3etlpy00.bkt.clouddn.com");;
shareIcon = data.img_url_thumb.replace(/shp.qpic.cn/, "p3etlpy00.bkt.clouddn.com");;

}else if(data.ret=="1000"||data.ret=="-1000"||data.ret=="-1001"){
//
}else{

//
}


},
error: function (xhr, errorType, error) {
console.log(error);

}
});