项目状态 API
WebSocket 通道实时推送进度,但在无长连接的场景(函数计算、定时对账、进程重启后恢复)你需要用 REST 读取项目状态。本页的端点都以账户凭证鉴权,只返回凭证所有者的项目。
实时投影:GET /v2/projects/{id}
GEThttps://rcn.reelway.ai/v2/projects/{id}鉴权:凭证
所有者实时状态投影,处理中与完成后均可读
响应
产物下载 URL 不在投影中:凭 imgID 调用 GET /v1/image/downloadUrl 或 GET /v1/media/downloadUrl(见媒体与图像 URL)。
完成后读取:GET /v1/projects/{id}
GEThttps://rcn.reelway.ai/v1/projects/{id}鉴权:凭证
仅完成后可读;处理中返回 404
与 /v2 同形,但沿用 Sogni v1 口径:项目处理中返回 404,只有完成后才返回 200。SDK 用这一差异区分「尚未完成」与「不存在」。新集成请直接使用 /v2。
从 v1 迁移
把 GET /v1/projects/{id} 替换为 GET /v2/projects/{id},并把「404 等于处理中」的逻辑改为读取 data.finished。
历史列表:GET /v1/jobs/list
GEThttps://rcn.reelway.ai/v1/jobs/list鉴权:凭证
近 7 天任务历史,分页
响应 data.jobs[]、data.offset、data.limit。历史窗口为 7 天;更久的记录请在完成时自行归档。
恢复快照:GET /api/v1/artist/projects/sync
GEThttps://rcn.reelway.ai/api/v1/artist/projects/sync鉴权:凭证
进程重启后的恢复快照
返回 activeProjects(仍在途)与 unclaimedCompletedProjects(已完成但客户端尚未确认领取)。SDK 在重连后自动调用;自实现客户端在重启后调用一次,即可继续追踪在途项目并领取遗漏的结果。
轮询与 HTTP 错误
- 推荐轮询间隔 2–5 秒;终态(
finished: true)后停止。 404:/v2下表示项目不存在或不属于该凭证;/v1下还可能表示处理中。401(101):凭证无效。429:按Retry-After退避。
保留与兼容
- 投影在项目完成后持续可读;产物签名 URL 有效期 48 小时,需长期保存请转存。
/v1与/v2响应形状保持 Sogni 兼容,@sogni-ai/sogni-client的既有解析逻辑可直接复用。