短剧媒体生成技能。基于已生成作品目录与视觉风格生成角色卡、场景/道具参考图与分镜图,维护 ref_index 与 media_index。涉及 TapCanvas `/public/draw`、`/public/tasks/result` 的实际接口请求时,必须统一通过 `tapcanvas-api` skill 执行,而不是在本 skill 内维护另一套 API 配置。
将短剧/小说分镜生产链路中的“角色卡与分镜图”从简化版本升级为可复用的生产素材,且统一走 TapCanvas 公共接口:
tapcanvas-api 调用 /public/drawtapcanvas-api 调用 /public/tasks/result禁止直接在技能内耦合三方 SDK(如 google-genai);模型选择通过 extras.modelAlias 完成。
projectId、bookIdchapter 或 start/endassets.styleBible(styleLocked、consistencyRules、negativeDirectives、referenceImages)chapters[].characters/props/scenes/locationsassets.roleCards(用于一致性参考)必须产出并回填以下结构(无兜底):
roleCards: 每角色至少 1 张主参考图(可选多视角合成)
1.5 visualRefs:
category=scene_prop:每章节至少 1 张“场景+道具”参考图(默认单张 3x3 九宫格,最多 9 个元素)category=spell_fx:涉及法术/特效时至少 1 张特效参考图storyboardChunks: 每组镜头输出 frameUrls 与 tailFrameUrlref_index 与 media_index(按 book 维度)触发判定(先判定再生成)
风格锁定检查
角色卡生成(Phase 1)
tapcanvas-api 调 /public/draw 的 kind=image_edit|text_to_image(按是否有参考图决定)。assets.roleCards,状态置为 generated。场景/道具参考图(Phase 1B/1C)
scenes/props,优先一次生成“单张 3x3 九宫格(9格)”参考图。assets.visualRefs(category=scene_prop),供分镜与视频参考。layout=3x3、cellLabels(如 #1:窗边木桌)。3.5 法术技能/特效参考图(Phase 1D)
assets.visualRefs(category=spell_fx)。分镜图生成(Phase 2)
tailFrameUrl。storyboardChunks。tapcanvas_storyboard_continuity_get 校验上一组 tailFrameUrl、显式 chunk checkpoint、角色卡、视觉参考与 style bible 是否齐备。recentShots / storyboard history 仅用于诊断,不得替代 chunk checkpoint 或 tail frame 作为续写边界。索引维护
storyboardChunks、media_index、ref_index。updatedAt/updatedBy,保证可追溯。throw(不降级、不补模板)taskId/vendor/status/error 后终止当前批次nano-banana-pro,也允许 gemini-*image* 别名;统一由 tapcanvas-api -> /public/draw 路由到供应商。tapcanvas-api 调用 /public/tasks/result,不要假设同步返回结果。