INSIGHT FitCheck

MiniCheck 接口说明

房间接口的字段与调用约定。本页不列入站点导航,也不对搜索引擎开放。

凭证 端点 最小闭环 批注对象 图形格式 状态 错误码

1 · 凭证

一条片子开一个 MiniCheck,四位编号。{api}、{code}、{sharecode} 三项均来自看片页,不在本页给出:

下文的 {SQ} 表示 ?sharecode=...。每个请求都要带,缺少时网关返回「链接不完整」。sharecode 是网关门牌,不是密钥。

2 · 端点

方法路径作用
GET/api/room/{code}{SQ}房间信息:review、notes[]、video{}、ai{}、host{}
POST/api/room/{code}/join{SQ}进房,返回 clientId。{"name":"<署名>","role":"ai"} 走 AI 通道
POST/api/room/{code}/ai{SQ}上报审片状态,头 x-mc-client
POST/api/room/{code}/beat{SQ}心跳,整场每 15~20 秒一次
POST/api/room/{code}/note{SQ}写一条批注,头 x-mc-client
PATCH/api/room/{code}/note/{id}{SQ}改文字、改出点(t2)
DELETE/api/room/{code}/note/{id}{SQ}删除批注
GET/api/room/{code}/transcript{SQ}整片音频转写({segs:[{t,txt}],text})
GET/api/room/{code}/thumb/{id}{SQ}该条批注的缩略图(JPG)
GET/api/room/{code}/poster{SQ}首帧海报(JPG)
GET/api/room/{code}/state{SQ}轻量状态包:status、rev、额度、notesHuman / notesAi
GET/api/room/{code}/video{SQ}视频流,支持 Range
只读统计走 /state。GET /api/room/{code} 是全量包,会按整片大小给发片人预扣一次看片流量。
发片人流量点用完时批注照写:POST /note 仍返回 200,响应多带 quotaOver:true。额度只管上传与看片。

3 · 最小闭环

# 0) 三项凭证取自看片页
API="{api}"; CODE="{code}"; SQ="{sharecode}"

# 1) 进房,走 AI 通道
curl -X POST "$API/api/room/$CODE/join?sharecode=$SQ" \
  -H "content-type: application/json" \
  -d '{"name":"<署名>","role":"ai"}'
# → {"clientId":"c_1a2b3c4d", ...}  后续请求都带这个 id

# 2) 报到:看片页亮起「AI 审片中」
curl -X POST "$API/api/room/$CODE/ai?sharecode=$SQ" \
  -H "content-type: application/json" \
  -H "x-mc-client: c_1a2b3c4d" \
  -d '{"state":"reading","model":"<署名>"}'

# 3) 读已有批注和片子信息
curl "$API/api/room/$CODE?sharecode=$SQ"

# 4) 写一条批注(带图形,坐标 0~1)
curl -X POST "$API/api/room/$CODE/note?sharecode=$SQ" \
  -H "content-type: application/json" \
  -H "x-mc-client: c_1a2b3c4d" \
  -d '{"t":3.2,"txt":"<说明>","cat":"pic","sub":0,"d":[{"type":"rect","x":0.08,"y":0.1,"w":0.2,"h":0.22}]}'

# 5) 全部写完
curl -X POST "$API/api/room/$CODE/ai?sharecode=$SQ" \
  -H "content-type: application/json" \
  -H "x-mc-client: c_1a2b3c4d" \
  -d '{"state":"reviewed"}'

4 · 批注对象

字段类型说明
tnumber时间点,单位秒
t2number?出点。给了就是一段(t2 - t ≥ 0.2),时间轴上画成长条
txtstring文字说明
catstringpic 画面(默认)· sub 字幕 · done 批完 · pass 交卷
subnumber?0 客观 · 1 主观。不标则按署名推断
darray图形数组,见第 5 节
colorstring?#RRGGBB,不填沿用身份色
idstring?不填由服务端生成;重发同一 id 不会重复入库

返回带 at、by、name、ai、hasThumb。cat=pass 是客户交卷动作,AI 不调用。

5 · 图形格式

坐标 0~1 归一化,与分辨率无关;溢出画面会被拒。所有图元可带 c(#RRGGBB)与 lw(线宽 px,默认 3)。

type字段用途
rectx,y,w,h矩形框
ellipsex,y,w,h椭圆,x,y 为外接矩形左上角
arrowx,y,w,h箭头:尾 (x,y) → 头 (x+w, y+h),负值表示向左/向上
penpts:[[x,y],…]手画线,8~24 点沿目标外轮廓
pathpts:[[x,y],…]平滑闭合轮廓,可带 closed
suby0,y1横字幕带,可带 x0,x1 限定左右
subvx0,x1竖字幕带
crossx,y,w,h准星:横竖贯穿线

一条批注可画多个图元。图形在页面上可拖动、缩放、改色,位置给出大致范围即可。

6 · 状态

AI 进房(role:"ai")即为 reviewing;每次上报刷新计时。

state客户看到
reading绿灯快闪 · 正在读片
thinking绿灯慢闪 · 正在整理意见
reviewing蓝灯呼吸 · AI 审片中
reviewed蓝灯常亮 · AI 审片完毕

reading / thinking 三分钟不续报掉回 idle;reviewing 九十秒不续报,房间已有 AI 批注则翻 reviewed,否则回 idle。每个阶段各报一次,客户才看得出进度。

7 · 错误码

状态error处理
401need-pass链接另设了取件码
403forbidden未进房或 x-mc-client 不对,先 POST /join
404no room编号不对或房间已回收
410ended / closed已收卷或已交卷
429too many / room full进房过频或房间满;一个 clientId 用一整场
403budget / quota发片人流量点用尽;响应 owner 为发片人昵称。写批注不受影响

房间的 budget 是一次交付预算,不是硬墙。房间超额但账号有余额时视频照常播放(budgetOver:true 且 overFlow:true),两边见底才返回 403。