触站AI开放平台API
  1. 示例&DEMO
触站AI开放平台API
  • 触站AI API接口使用说明
  • 返回结构
  • 更新历史
  • 基础
    • 获取当前客户详情以及积分情况
  • 工作流(AI小工具)
    • 1.获取工作流(小工具)字段详情
      POST
    • 2.提交工作流(小工具)任务执行
      POST
    • 3.获取工作流(小工具)任务进度或结果
      POST
  • 应用工具(电商工具)
    • 获取应用工具选项详情
    • 提交应用工具任务
  • 通用AI绘画(触站AI绘画)
    • 提交绘画任务积分计算说明
    • controlnet使用指南
    • 提交绘画任务
    • 获取绘画任务详情
    • 提交局部重绘绘画任务
  • 模型训练
    • 提交模型训练任务
    • 获取模型训练进度或者结果
  • MJ绘画
    • 提交Midjourney绘画任务
    • 使用Midjourney获取特定图片的画面描述
    • 提交Midjourney单图放大任务
    • 提交Midjourney单图扩写绘画任务
    • 提交Midjourney单图variation(变种)任务
    • 获取Midjourney任务详情(含进度)
  • 示例&DEMO
    • DEMO | 1分钟快速实现一个AI绘画页面
    • 高级模型 | 最能听懂人话的AI绘画模型-效果展示
    • 风格ID | 不同风格效果参考(内含ModelStyleID)
    • 示例 | 通过API实现图片中隐藏文字或者图案的效果
    • 示例 | 关于大尺寸图片参数的最佳实践(惊悚慎入)
    • 示例 | 使用回调获取任务结果的最佳实践
    • 示例 | 局部重绘处理
    • 示例 | 如何使用工作流接口进行绘图
    • 概念解析 | 工作流使用独立算力卡运行【独占模式】
    • 风格上新
      • 黏土风格
  1. 示例&DEMO

示例 | 使用回调获取任务结果的最佳实践

什么场景需要用到回调?#

由于绘画任务是一个耗时的操作,因此所有任务都是在提交后在队列中执行,不会直接返回结果,因此结果需要另外获取单独的任务接口用轮询的方式获取进度或者结果,但是假如我们不需要获取任务进度,而是仅需要获取任务的结果,并且轮询存在一定的延迟和资源消耗,我们就可以通过回调的形式来获取任务成功或者失败的结果

怎么使用回调?#

1.
所有的提交任务接口都支持以下两个参数
callback 用于传一个任务执行成功后需要由触站AI调用请求的回调地址
nonce 用于客户自定义的一个标识,在任务成功或者失败后,调用回调的时候会自动带上这个参数,用于调用方标识自己的业务ID(选填)
2.
任务回调时机
任务处理成功,和普通任务一样,回调对应的结果
任务处理失败,回调任务错误状态和错误的原因
3.
触站AI如何执行回调http请求
在任务成功或者失败的时候,触站AI会使用http请求提交任务时候带上的callback参数,使用POSTmethod+JSONbody的格式进行请求

以下是一个典型的任务回调的工作过程#

提交绘画请求:
{
   "prompt":"girl",
   "modelStyleId": 1,
   "callback":"https://exmaple.com/callback",
   "nonce": "123"
}
任务完成后调用http回调,callback收到的JSON POST请求参数:
{
    // taskId仅在callback的参数中会返回
    "taskId":"此次任务ID",
    // 由提交任务带上的参数,可以进行业务标识或者权限有效性判断
    "nonce": "123",
    // 以下参数与原始获取任务详情接口返回的结果中的data一致
    "state": "success",
    "progress": 1,
    "audit": 1,
    "imgUrl":"https://test.img.com/1.jpg"
}

其他注意事项#

1.
回调接收方返回200http响应码代表处理回调成功,返回非200的响应码代表回调请求失败,回调失败后触站AI会在一定的周期内进行重试请求,最多尝试5次,重试间隔时间依次递增5秒(比如第一次是5s后重试,第二次则是10s后,依次递增)
2.
由于网络等不可抗力的原因,回调接收方可能会收到同一个任务多次回调请求,因此需要做好任务幂等处理,防止产生因重复回调导致业务处理不正确的问题
3.
所有回调请求的超时时间为10s,请勿在回调处理中同步进行耗时的操作
4.
callback需要是标准的URL格式,支持ip:port类型url,但是需要公网可以接收请求,不能是localhost、127.0.0.1、局域网IP
上一页
示例 | 关于大尺寸图片参数的最佳实践(惊悚慎入)
下一页
示例 | 局部重绘处理
Built with