Ignis 生成图片
同一会话先生成封面图片。
07Y2Dc.png
这次不是查询任务后再写 canvas。主证明只有一条:Ignis 生成图片和视频,Agent 发起 video_edit,Tobatsu 完成后回调 Mai Gateway,Gateway 导入 R2 并直接调用 Canvas Service,最后画布出现 k1aVBF.mp4。
07e360e
Agent 只发起任务。后面由 Tobatsu workflow 和 Mai callback 自动完成,过程中没有调用 get_task。
同一会话先生成封面图片。
07Y2Dc.png再生成要拼接的视频素材。
BhGi50.mp4自然语言里带 file_id,动作是 new_task。
task_type=video_edit回调地址改成 test zone,不再暴露 workers.dev。
tool-test.fpai.iogeneric_ffmpeg_rendi 用 Rendi 产出 mp4。
2233c4ebGateway 导入 artifact,生成 Mai file_id。
k1aVBF.mp4callback 内直接写 Canvas Service。
cjob_9c72c13b这个 canvas 里同时有输入图片、输入视频和 callback 自动插入的输出视频。
这是同一次 turn 的摘要。它只发起视频编辑任务,没有查询结果。
再次使用视频编辑能力发起一个新的异步任务:把 07Y2Dc.png 做成 2 秒静音开场封面,然后接上 BhGi50.mp4,输出一个 mp4。
要求只发起任务并返回任务信息,不查询任务状态,不调用 get_task,不轮询结果。
turn_f3d287e4-406b-421e-ace6-ec5f49292f48gw_1c19d220-48a4-4d58-98b6-2092daf5f2ccgwr_de8fbd6a-e9d8-4138-b7a0-14edd5d0bcc32233c4eb-b217-47b2-882c-f1cab234d0d4tool: skill_toolcall_curl
skill_token: video-edit
payload: {
"action": "new_task",
"task_type": "video_edit",
"payload": {
"instruction": "用 07Y2Dc.png 做静音开场封面,显示 2 秒,然后接上 BhGi50.mp4,输出一个 mp4。"
}
}
result: accepted=true
external.tobatsuTaskId: 2233c4eb-b217-47b2-882c-f1cab234d0d4
history check: actions=[{"action":"new_task","status":"succeeded"}]
不是改 Tobatsu。Tobatsu workflow 已经能交付。Mai 侧补的是回调入口、Canvas Service 调用和幂等保护。
Canvas Service 1042: Gateway 走公共 URL 打 Canvas Service,Worker 路由不对。修成 Cloudflare service binding。
Cloudflare 1010: 回调 URL 仍是 workers.dev。默认安全策略可能挡了 Tobatsu 的请求。我们没有赌 UA,而是把回调换到 tool-test.fpai.io 代理入口。
tool-test.fpai.io/tobatsu-gateway-callbacks/:kind 先进 Tools Backend。
Tools Backend 用 TOBATSU_GATEWAY service binding 转给 Gateway。
Gateway 验 Bearer token,导入 artifact,调用 Canvas Service,返回 canvas_delivery.status=succeeded。
| Commit | 改动 | 主要文件 |
|---|---|---|
241b5e6 |
Gateway callback 成功后导入 artifact 并写 Canvas Service。 | tobatsu-gateway/lib/canvas-delivery.tstobatsu-gateway/routes/callbacks.ts |
5bbc474 |
Gateway 到 Canvas Service 改用 Cloudflare service binding。 | tobatsu-gateway/wrangler.tomltobatsu-gateway/types.ts |
07e360e |
Tools Backend 增加公开 callback proxy,test env 回调 URL 指向 tool-test.fpai.io。 |
tools-backend/app.tstools-backend/wrangler.toml |
所有证据都来自 test 环境。Prod 没有发布,也没有 smoke。
| 检查项 | 结果 | 证据 |
|---|---|---|
| Callback URL | business_callback_url=https://tool-test.fpai.io/tobatsu-gateway-callbacks/delivery |
/tmp/mai-auto-canvas-step5-db-request-readback.json |
| No get_task | Action list 只有 new_task,长度为 1。 |
/tmp/mai-auto-canvas-step5-actions.json |
| Tobatsu delivery | Task 2233c4eb done,callback HTTP 200,canvas_delivery.status=succeeded。 |
Tobatsu monitor ack + Mai DB final |
| Mai import | Artifact imported 为 k1aVBF.mp4,1280x720,duration_ms=7062。 |
/tmp/mai-auto-canvas-step5-db-final.json |
| Canvas insert | Job cjob_9c72c13b succeeded,attempts=1,error=null。 |
/tmp/mai-auto-canvas-step5-db-final.json |
| Canvas visible state | Canvas files 包含 07Y2Dc.png, BhGi50.mp4, k1aVBF.mp4。 |
/tmp/mai-auto-canvas-step5-canvas-full.json |
| CC review | PASS, AUTO-CANVAS CALLBACK GATE CLOSED。 | /tmp/mai-cc-review-auto-canvas-proxy-smoke-verdict.md |
| Test deploy | tools-backend-test version 426bbdec,route tool-test.fpai.io/*。 |
Wrangler deploy output, commit 07e360e |