内容提要
AI Gateway新增异步视频生成功能,支持webhook回调、轮询、启动后查询及默认同步四种方式。用户可根据进程是否可等待或接收webhook选择方案。SDK已更新,支持文本转视频等输入,异步任务可在日志页监控,操作可序列化存储,便于后续查询。
延伸解读
选择异步方案的关键考量
文章指出,选择哪种异步方式取决于进程能否持续运行以及应用能否接收webhook。如果进程可以等待且能接收webhook,用webhook方式最直接;若不能接收webhook但可等待,则用轮询;若进程必须立即返回(如serverless函数),则用startVideo和getVideoStatus。理解这些约束有助于避免请求超时或任务丢失。
startVideo与getVideoStatus的适用场景
startVideo立即返回操作ID,适合需要将任务持久化或跨进程处理的场景。操作可序列化存储,便于后续查询。但注意getVideoStatus不下载视频,返回的URL可能过期,因此需要保存的视频应及时下载。此外,该方式无内置超时,需自行控制检查频率和时长。
webhook验证与安全提示
使用webhook时,文章强调需要共享令牌和存储来匹配回调,且generateVideo不暴露签名密钥,需参考文档实现完整接收模式。而startVideo的响应中包含签名密钥,可用于验证webhook。这提醒开发者注意回调的安全性和正确性,防止伪造事件。
Q&A
AI Gateway的异步视频生成是什么?
AI Gateway的异步视频生成是一种新的视频生成方式,它允许应用程序在视频生成过程中不必保持一个HTTP请求一直打开,而是通过webhook回调、轮询或启动后查询等方式来获取结果,从而避免请求超时。
AI Gateway异步视频生成有哪几种方式?
AI Gateway异步视频生成有四种方式:1. generateVideo with webhook(通过webhook回调);2. generateVideo with poll(轮询);3. startVideo和getVideoStatus(启动后查询);4. generateVideo with no options(默认同步,保持请求打开)。
如何选择AI Gateway异步视频生成的方式?
选择方式取决于你的进程是否能保持运行以及是否能接收webhook:如果进程可以等待且能接收webhook,用webhook方式;如果进程可以等待但不能接收webhook,用轮询方式;如果进程不能等待(如serverless函数),用startVideo和getVideoStatus方式;如果进程可以保持请求打开,用默认同步方式。
AI Gateway异步视频生成支持哪些输入类型?
所有四种方式都支持文本转视频、图像转视频、参考转视频等视频输入。
如何使用webhook方式调用generateVideo?
在generateVideo中传入webhook参数,该参数是一个异步函数,返回包含url和received的对象。AI Gateway会在任务完成或失败时发送事件,SDK会等待该事件并获取生成的视频。示例代码中使用了token来匹配回调。
如何使用轮询方式调用generateVideo?
在generateVideo中传入poll参数,设置intervalMs(轮询间隔,默认5000毫秒)和timeoutMs(超时时间,默认600000毫秒)。SDK会按间隔发送状态请求,直到任务完成或超时。
如何使用startVideo和getVideoStatus?
调用startVideo会立即返回一个operation对象,可以存储该对象,之后通过getVideoStatus传入operation来查询状态。如果状态为completed,可以获取视频。operation是JSON可序列化的,可以存储到数据库或队列中。
如何监控AI Gateway的异步视频生成任务?
所有异步任务都会在AI Gateway的日志页面显示,状态为Running,完成后更新为完成或失败。可以在日志页面筛选Request Mode为Async来查看异步任务,点击条目可查看任务ID和请求详情。