AI写真

AI写真

采用2024年最新的人工智能技术,将写真模板图中的模特脸替换为用户脸,替换后的脸型与用户脸型一致,并对光线、姿态、表情、妆容进行美化,满足AI写真需求。

服务保障
请勿线下交易!90%的欺诈、纠纷、资金盗取均由线下交易导致。

产品能力

[]

产品亮点

生成的写真的脸型与用户完全一致,人脸相似度在96%以上,超越普通的GAN换脸技术。写真的面部美感与模板图接近,真正达到AI写真既像又美的要求。

产品说明

产品功能

根据客户发送的写真模板图和用户照片,生成制作后的写真照片。

可提供的服务

我们提供服务端接口调用API,客户仅需按我们的接入文档实现相关调用代码即可。

调用说明

这是一个异步接口,调用后,不会直接返回制作后的结果图,而是通过异步通知的形态,将结果发回给调用者。
调用此接口需要进行签名等操作,以确保调用者的身份和数据安全,签名方式,可以参考阿里云文档关于签名部分

接口说明

1、发起AI写真任务提交接口

https://swapface-api.segapi.com/swapface

参数形式:JSON,比如:

{

"source_url": "https://user/photo/url",

"target_url": "https://target/template/photo/url",

"notify_url": "https://the/result/notify/url",

"timeout": 180

}

参数说明

source_url:字符串,必填,待制作的用户图片的url,必须是一个有效的图片的url,图片格式为jpg或者png,建议图片尺寸为640x640到2500x2500个像素之间。要求图中只包含一张人脸,且人脸清晰、完整,占比不太小,脸部没有大的角度,正脸效果最佳。

target_url:字符串,必填,模板图片的url,必须是一个有效的图片的url,图片格式为jpg或者png,建议图片尺寸为800x800到2000x2000个像素之间。要求图中只包含一张人脸,且人脸清晰、完整,占比不太小,脸部没有大的角度,正脸效果最佳。

notify_url:字符串,必填,结果通知接口url。由于本接口是一个异步接口,也就是说本接口调用后,并不会直接返回制作后的结果图,而是在任务执行后,通过异步的方式通知到调用者。所以调用者需要实现一个接受任务通知的异步接口,并将接口的地址放入此参数中。

timeout: 数字,选填,调用者预期的任务超时时间,单位为秒。但此参数不给定时,默认超时时间为7200秒,当给了超时时间,到达超时时间后,本任务就不再执行。任务超时后,本接口服务将会通过notify_url参数给出的接口地址,将超时错误发送给调用者。所以调用者无需自己维护一个超时队列。

返回数据

当本接口调用成功时,返回json格式:
{
  "status": 0,
  “errmsg”: “SUCCESSFULLY”, 
  “error”: “”,
  "data": {
    “job_id”: "本次任务的id,需要保存起来,用于对应后面的结果异步通知"
  }
}
说明:调用成功的标识为status字段的值为0,errmsg和error字段此时可以忽略不用管,
job_id需要保存好,在后面结果异步通知中会使用到

 

当本接口调用不成功时,返回json格式:
{
  "status": -310001,
  “error”: “InvalidArguments”,
  “errmsg”: “参数错误”, 
}
说明:调用失败时,status返回非0指,为错误码,error为错误名称,与status错误码对应,errmsg为错误描述。

 

2、任务结果异步通知

当换脸任务完成,或者发生错误时,需要将执行结果通过上一个接口设置的notify_url参数,通知到调用者,调用者接到通知后,需要返回http response status code为200,且body中为字符串“successfully”,表示调用者已经正确处理通知。如果返回的response的status code不为200,或者body中的字符串不为“successfully”,则表示通知失败;

通知失败的处理:如果通知失败,接口服务会在一定时后尝试重发通知,一共会重发10次通知,直到成功为止,如果重发10次后,仍然无法获取到成功响应,则会停止发送通知,这个任务就可能就会陷入丢失状态;

通知的数据格式如下:

当换脸操作成功时,通知的json格式:
{
  “job_id”: “换脸任务提交接口返回的job_id”,
  "status": 0,
  "data": {
    “result_url”: ["https://结果图片url,有效期为24小时,收到通知后,需要尽快下载到本地"]
  }
}
说明:调用成功的标识为status字段的值为0,结果图片在data.result_url字段中,job_id为提交任务时,由接口服务返回的任务id;result_url参数返回的是一个数组,里面包含了所有结果图片的url,但当前版本有且仅有一个元素(即只返回一张结果图片)

 

当换脸操作失败时,通知的json格式:
{
  “job_id”: “换脸任务提交接口返回的job_id”,
  "status": -22222,
  “error”: "",
  "data": {}
}
说明:换脸失败时候,status为非0值,error为错误名称,data字段不存在,或者为空

 

3、任务状态和结果查询接口

https://swapface-api.segapi.com/query

参数形式:JSON,比如:

{

    "job_id": "the_job_id_xxxxxx"

}

参数说明

job_id: 待查询的任务的id,由任务提交接口返回

返回数据

当本接口调用不成功时,返回json格式:
{
  "status": -310001,
  “error”: “InvalidArguments”,
  “errmsg”: “参数错误”, 
}
说明:调用失败时,status返回非0指,为错误码,error为错误名称,与status错误码对应,errmsg为错误描述。

 

当本接口调用成功时,有可能返回三种不同的数据:

任务完成,并生成结果图片时:

{

    "status": 0,

   "data": {

      "job_status": "finish",

     "result_url": ["https://结果图片url,保存时间为24小时"]

   }

}

 

任务失败,返回错误信息:

{

    "status": 0,

   "data": {

      "job_status": "fail",

     "reason": "错误原因",

     "code": 错误码,整形

   }

}

 

任务尚未完成:

{

    "status": 0,

   "data": {

      "job_status": "running"

   }

}

说明:

job_status可能有以下几种类型:

    "finish": 任务完成,且成功;

    "fail": 任务执行失败

    "running": 任务执行中

    "pending": 任务等待执行中

    "preparing": 任务准备执行中

result_url:返回的是一个数组,里面包含了所有结果图片的url,但当前版本有且仅有一个元素(即只产生一张结果图片)

 

售后支持范围

售后服务范围为产品使用方面的技术支持,售后支持时间范围为合同期范围内
热搜类目 热搜产品 快速入口