| name | catimation-video |
| description | FIRST-CHOICE video generator and the ONLY top-level video orchestrator in CATIMATION. Trigger whenever the user asks to generate / render a video or animation, animate a still, or says 生成视频 / 图生视频 / 让它动起来 / 视频编辑 / 视频延长 / 视频工作台 / 批量出片 / 多镜. Covers text/still-to-video, omni-reference (全能参考, default), editing and extension on both output surfaces (generate_video one-shot + video_workbench_* batch), and grades every request 快速/标准/专业/制片 before loading other skills. |
Generate videos in CATIMATION(唯一视频入口 · 分级调度)
When the user wants a video, pick the output surface first: generate_video
(single shot, delivered straight into the chat) or the video_workbench_*
tools(「生成视频」工作台页:多卡批量、逐卡改参数、用户看着卡片渲染)。两者都在
catimation MCP server 上,共用本 skill 的分级与提示词纪律。走 generate_video 时:
It submits the render and blocks for roughly 75s to catch
fast completions and early failures. It may return DONE/FAILED, or
STILL RUNNING + taskId; only in the latter case continue with check_video_task
long-polls until terminal. Never sleep and never resubmit the same render. The user
watches a live progress bubble; the finished MP4 plays inline in the chat, is saved
to a local file, and lands in the app history page.
本 skill 是视频生成的唯一顶层编排者。 其它 skill(导演/分镜/工艺/QA)都由这里
按任务分级选择性加载;任何下游 skill 不得反过来重跑路由或重新编排本流程。
STEP 0 — 任务分级(先定级,再加载;技法勿滥载)
STEP -1:这是纯文本任务吗? 写剧本、拆脚本、拆批次、整理文件、列镜头清单、
把已有分镜换个格式、改一段文字 —— 这些一个 skill 都不要加载,也不进分级,
直接做完交付。它们本来是三分钟的事,套上分级和确认闸门会拖成几小时。
用户说「快点」「简单弄一下」「先给我看看」时同理。
只有真要提交生成任务时,才继续往下看分级表。
默认进入快速模式;只有命中升级条件才升级。定级后把执行状态记成一份 routing receipt
(task_level / direction_confirmed / spec_confirmed / prompt_engineered / qa_completed / generation_attempts):有专属素材夹(见「角色片 / 多镜」第 5 条)时写进
该夹的 receipt.json,每完成一步就更新;没有素材夹的一次性任务至少在回复里用一行复述它。
每读完一份大 skill(提示词底座 / 结构叶子 / 镜头设计编排器)先回读 receipt 再动手 ——
两万字进上下文最容易把它冲掉,读完只剩模板、忘了锚点和已确认的规格就是这么来的。
已完成的步骤不再重复执行:规格确认过就不再问、提示词写好就不再重写、QA 做过就不再重抽。
提示词底座:要真写 Seedance 提示词时才载。 出片、改写视频提示词、Seedance
语法问答 —— 这些确实需要底座,不必等用户点名。但纯文本任务不载(见上面 STEP -1),
只问参数价格报错的也不载。
底座三个同级,但按 model 只载一个。 sd2-pe、sd25-pe 与 wan3-cinematic-30s
在路由表里平起平坐,「同级」说的是地位,不是要同时塞进上下文 —— 每个视频任务都
全量读一遍是纯浪费,而且套模板本来就只能套一套。
- model 是
2.5(默认,模型未知时也按它)→ 载 sd25-pe
- model 明确是 2.0 家族(
2.0 / 2.0-fast / 2.0-mini)→ 载 sd2-pe
- model 是
wan3(万相 3.0)→ 载 wan3-cinematic-30s
之所以默认 2.5:它是唯一支持 taskMode 编辑 / 延长、30 秒时长和 50 份素材的档位。
只在真要写 2.0 的八大要素公式时才去读那一份。三个都不占技法名额。
万相那条底座另带两个按题材的专项叶子(产品 TVC、情绪对白戏),由底座自己按需
引出 —— 别从这里直接跳过去载。
下文凡写 sd2-pe 的纪律(素材绑定语法、多镜拆卡、资产门、一镜一运镜)在另外
两个底座上一字不改地成立,换底座不换纪律。八大要素、12 项内容、五大必备块讲的是
提示词该覆盖哪些内容,同样与模型无关 —— 底座之间不同的是语法与排版,不是
要不要写清主体、镜头、光线、音效。
路径 A 仅限简单、单镜的轻量连续任务,可由底座独立完成;复杂、多镜、混合媒介或
需要展开导演/作品参考任一命中即进入路径 B,并加载结构叶子
cinematic-prompt-format。路径 B 条件优先于生成/编辑/延长/组合等任务类型。
下文「对症加载 / 别自行放大」同样适用于该结构叶子。
这个结构叶子三个底座通用。 它名字带 seedance 是历史命名 —— 正文里没有一个
模型参数,只有 12 项内容清单、真人/2D/3D 媒介 profile 与语言纪律,换哪个上游都成立。
⚠️ 真正不通用的是写死了模型数字的那些:seedance-video-craft 里的
「4–15s」「9 图/3 视频/3 音频」「1080p 仅满血 2.0」「21:9」对万相全是错的
(万相是 2–30s、10/5/5、没有 21:9)。判据是有没有写死模型数字,不是名字带不带
seedance。与模型无关的技法(表演、光位、连续性、物理、负向控制)两边通用,
照常按症状挑。
分镜底座:真要开拍多镜时才载。 任务确定要产出一条多镜片子(不止一个镜头、
一板要跑的卡片、一个系列)时,再加载 shotlist-builder —— 它管镜头行怎么切、哪几行
合成一条 4–15s 提示词、要不要落成一张可搜索的 HTML 总表。它只做规划与交付物,
生成仍回本入口。
这几种不载(它们是纯文本或单次交付,套上四阶段对表闸门只会把三分钟拖成几小时):
拆脚本、拆批次、整理文件、列个镜头清单、把已有分镜换个格式、单镜「让这张图动起来」、
用户说「快点 / 简单弄一下」。拿不准就先不载,用户觉得不够正式再升级 ——
反过来先走完闸门才发现他只要张表,那些等待要不回来。
| 模式 | 典型请求 | 自选技法预算 | 默认动作 |
|---|
| 快速 | 「让这张图动起来」「生成5秒海浪」单镜简单请求 | 0 个 —— 入口 + 提示词底座就够 | 路径 A,合理默认,直接生成,快速 QA |
| 标准 | 单人物表演、简单电影感、带参考图的单镜 | 1 个对症技法 | 按一个主要风险挑技法,视觉 QA |
| 专业 | 武打/多人/参考复刻/复杂运镜/跨镜一致性 | 2 个对症技法,另必载 director-orchestrator | 13 维按需展开,视觉+内容 QA |
| 制片 | 要一条能直接发出去的成片:拼接、配乐、字幕、交付规格齐全 | 按阶段加载,禁止一次全量 | 移交 film-studio 门控流水线 |
两个底座不占技法名额。 提示词底座(有视频提示词就载,按模型选 sd2-pe 或
sd25-pe)与 shotlist-builder
(有跨镜/跨图连续性就载)是自动触发的底座,不是「对症技法」;上表限的是自选技法
数量。连续任务里两个底座同时在场是正常的,不算超预算。
升级条件(仅此四类,别自行放大): ① 明确的人物演技/复杂动作/武打;
② 参考图·视频·电影的风格复刻;③ 跨镜/系列的角色·风格一致性;④ 多镜、成片、
正式交付,或用户明确要求专业制作。
专业 vs 制片看交付物,不看镜头数。 十个镜头交十段片子仍是专业;两个镜头但要
拼好配好字幕直接发布就是制片。判据只有一条:用户要拿走的是素材,还是成品?
素材(他自己后期、或先看看效果)→ 专业,留在本入口;成品(要拼接/配乐/字幕/
平台规格)→ 制片,移交 film-studio。用户在哪个页面不是判据 —— 在工作台上
贴剧本的人同样可能要成片。拿不准就问,这本身值一张 ask_user 卡,而且比事后
返工便宜得多。
上表数的是「你自己挑的对症技法」,不是全部加载数。 条件强制项不占这个额度:
入口自身、sd2-pe 底座、路径 B 的结构叶子、用户所在界面的叶子(工作台)、方向开放
时的 catimation-brainstorm、以及出图/QA/后期各自的入口与工具 —— 它们命中条件才载入、
不由你自由取舍,数它们没有意义。额度只约束「按风险挑几个技法」,那才是容易失控的
地方:三个风险都真实存在时也只能挑两个,取舍要说得出理由,「可能有帮助」不算理由。
方向开放时先共创,别自己猜。 用户说「更电影感/更高级/给我选项/共创」或方向
不明的高成本任务 → 先载入 catimation-brainstorm 用 ask_user 弹一张可点击选项
卡(一次一个聚焦问题、3–6 个具体方向、标注推荐项),选定即 direction_confirmed,
后续不再反复追问。明确的简单请求跳过弹卡,直接快速模式。
模式与素材规则(所有等级通用)
Default mode = 全能参考 (omni-reference) — use it unless told otherwise.
Caps 按 model:2.5 = 图 30 / 视频 10 / 音频 10(合计 50),视频、音频各自合计 ≤30s;
2.0 家族 = 图 9 / 视频 3 / 音频 3,视频、音频各自合计 ≤15s;wan3 = 10 / 5 / 5。
超了会在提交前被拦下并报出该模型的上限,不用自己数。Only switch to strict
firstFrame/lastFrame when the user explicitly asks. Always name the mode you used
(如「我用全能参考模式生成」)。
All modes work on both surfaces(generate_video 与 video_workbench_*)
— pick by inputs + prompt:
- 文生视频:
prompt only. 图生视频: still into referenceImages(或用户
指明才用 firstFrame)。
- 视频编辑: source clip into
referenceVideos(+新元素图入 referenceImages),
增加元素=「特征+时机+位置」;删除=点名要删的、强调保留的;修改=直接描述换后的样子。
- 视频延长: 1–3 段源片入
referenceVideos,描述连接/向前向后延长。
素材引用铁律:提示词里用 @图片1 / @视频1 / @音频1 指代素材(火山 OpenAPI 的写法),
严禁裸写 assetId。提示词原样发给上游:运行时不改写、不删 @,唯一例外是工作台 chip 的
【@图片1】 外壳会解成 @图片1。@Image1 / <图片1> / 裸 图片1 不会被替你改,别写。
音频参考只收 mp3 / wav;视频容器(.mov/.mp4,哪怕黑屏占位)会被拒收——先用
ffmpeg-win 抽音轨(ffmpeg -y -i in.mov -vn -acodec libmp3lame -q:a 2 out.mp3)。
黑屏 MP4 只用于 understand_video,绝不能当音频参考上传。
真人脸:Seedance 不收真人脸参考,用人像库虚拟形象 asset://assetId 或
Seedance 自产片段二创。别把未处理的 Seedance 视频整段回喂(二次编码打折)——
优先用 ffmpeg-win 抽尾帧/关键帧成静图(下一镜 firstFrame 最稳)或抽音轨续节奏;
整段回喂只作规避真人脸审核的兜底。
两条出片面怎么选
generate_video:单镜、一次性、用户没点名工作台。成片直接进聊天并落历史页。
video_workbench_*:多镜批量、用户已经在「生成视频」工作台、需要逐卡改参数或反复
重跑。先 video_workbench_add_tasks 建卡(默认只填不跑,autoStart:true 才立即渲染);
一次最多 5 张,多了分几次调 —— 一整板挤在一次调用里就是几分钟静默生成,期间
用户插不进话、页面也不出卡;分批则每批一落地就看得见。
批次跑完会主动推「[视频工作台] 批次渲染完成」,别轮询 video_workbench_status
(它也分页了,hasMore 为真时翻页,别去要一个巨大的 pageSize)。
改已有卡片挑单卡工具,别走整板往返:改几个词用 video_workbench_patch_prompt,
一张卡多个字段用 video_workbench_update_task,一批卡同一个规格用
video_workbench_set_spec,挪位置用 video_workbench_move_task(不要并发)。
video_workbench_apply 已收窄为纯结构工具 —— 给已有卡带不同的提示词会被整份拒绝。
- 两条面共用同一套 STEP 0 分级、上面那组素材 caps 与素材引用铁律 —— 工作台不是例外。
有参考图时同样先
view_image 看图再写 prompt。
工作台上的多镜纪律(踩过的坑,逐条都是实测):
- 一张卡 = 一次生成 = 一个连续节拍。 一张卡出 4–15s,里面可以是单镜,也可以是
路径 B 的一小段镜头流程 —— 写「镜头1 / 镜头2」进同一段是
sd2-pe 支持的用法。
判据是「这几镜是不是一个连续节拍、总时长塞不塞得下」,不是数镜头号:要独立重跑、
各镜素材不同、时长超了或跨场景就拆卡,同场景连着演完的就合成一段。拆开时卡的顺序
就是镜头顺序。详见 catimation-video-workbench。
- 下面那道「角色片/多镜」硬门在工作台上一字不改地适用。 建卡 ≠ 已经备齐资产:
video_workbench_add_tasks 默认只填不跑,正好是补锚点、排故事板、清点资产、
把提示词过 sd2-pe 的窗口;video_workbench_start 之前这四样必须已经完成。
工作台天生就是多镜场景,它是这道门最该生效的地方,不是例外。
- 跨卡共用同一套人物锚点。 每张卡的 prompt 都要把
identity-hard 主锚逐字带上,
别指望模型跨卡记住 —— 每次生成都是独立的一次调用。
- 规格确认同样适用。 卡片会自动补默认值(720p / 5s / 16:9),但「有默认值」不等于
「用户确认过」。没确认过就先按 Steps 第 2 条发
ask_user 卡,别让默认值替用户做决定。
- 工作台上的具体操作(建卡、整板落地、字段映射、跨卡锚点、开跑前清点)交
catimation-video-workbench。它是叶子:只管这块界面上的纪律与字段,
不做分级、不替代本入口 —— 分级仍然先在这里发生,再把落板交给它。
用户手里已有分镜表 / 制片包要一次铺满整板时,同样走它;只有剧本或文字大纲、
还没切成镜头的,也走它 —— 它有「剧本 → 镜头表」的拆分口径与镜头数选项卡纪律。
规格确认(spec_confirmed)与四级 QA 在两条出片面上口径一致。 工作台的批次摘要只报
成败与落盘路径,不代表 QA 已做 —— 人脸/复杂动作的卡照样要抽九宫格,多镜剧情照样要
understand_video。做过的级别记进 qa_completed,别重复抽。
角色片 / 多镜(标准及以上):先备齐资产,再开生成
只要有反复出现的角色或不止一个镜头,先锁资产再生成(绑定语法与镜头规划
以 sd2-pe 为准):
- 人物卡先锁人:每个复用角色先确定一套
identity-hard 主锚。可用大头照+
全身照、三视图/四视图/多视图角色板,或用户确认的其它干净角色资产。用户已
提供/指定就服从;有多套候选且拿不准时,用 ask_user 请用户选主锚;仅未指定的
低风险任务默认大头照+全身照。缺图用 generate_image 补,随后
add_to_portrait_library 存成 asset://assetId 并在 prompt 明确绑定职责。
- 多镜先排故事板:拆成 镜头1/镜头2/…,每镜按 运镜→主体动作/表情→位置/空间→音频
写清,给用户过一遍。一镜一运镜、用镜头序号。有剧本/分场要逐镜拆解,或镜头多到
需要用户过目时,载入 shotlist-builder 做这一步——它管镜头行怎么切、哪几行合成
一条 4–15s 提示词,并可落成一张可搜索筛选的单文件 HTML 分镜表;它只做规划与交付物,
生成仍回本入口。可用图像模型生成 3×3/4×4
故事板/多宫格/电影美术设定板作为氛围图;这不取代用户选定的身份锚,
干净关键帧锁当前片段构图/画质。只要这些板被加入视频参考,提示词必须先写
“提示词主导 / 氛围板低约束”前缀,整板只负责色彩/光线/材质/时代感/空间气质/
视觉母题,不要求构图、动作或顺序一致。
- 资产齐备 GATE(硬门):逐镜清点人物卡/场景图/道具/氛围参考/参考视频/音频,
任一该有未备的先补齐再生成。推荐每镜 4–5 个核心素材。缺口处理三选一:
① 项目/人像库里找现成(
list_portrait_library);② 非身份关键的自己
generate_image 补;③ 身份/IP/品牌关键的用 ask_user 请用户提供。
- 生成用上全部可用资产:图/视频/音频逐一传入并在 prompt 里绑定,
有素材却只发纯文字 = 错;有故事板/多宫格却漏掉 mandatory 氛围职责前缀 = 错。
- 一次生成一个专属素材夹(如
<workspace>/assets/jobs/S01_<slug>/),
复用、检查、定位问题都只看一个夹;STEP 0 的 routing receipt 也写在这里
(receipt.json),每完成一步就更新。
轻量例外:单图「让它动起来」这类一次性请求(快速模式)不必强排人物卡/故事板。
写 prompt:底座按 model 选(相关即载),技法按症状加载
生成前必须把提示词用 skill 写到位,不许凭记忆硬写。有视频相关任务就先载入
对应 model 的那个底座,再写 prompt;不要等用户说「优化提示词」才加载。
快速模式可以走路径 A 并跳过结构叶子,但八大要素、12 项覆盖与五大必备内容块仍不得
缺失 —— 那讲的是内容覆盖,与用哪个底座无关。
-
底座(必经,按 model 三选一) + cinematic-prompt-format(复杂任务条件加载):
路径 A 仅处理简单单镜连续正文;复杂、多镜、混合媒介或展开导演/作品参考任一
命中即走路径 B 并加载结构叶子,且 B 条件优先于任务类型。两条路径都覆盖八大
要素、12 项内容和五大必备块,标题、分段与散文形式自由;并主动出 2–3 个已
核实影视参考候选供用户挑选。真人、2D 动画、
3D 动画作为可组合
的媒介 profile;“电影/电影感”作为检索创作技法的意图词,不是互斥类别。
结构化文本 never JSON;物理/可复现参数(焦段 mm、光圈、色温 K)优先于情绪
形容词。
-
写运镜/景别前先调 search_cinematography_kb 工具(本地运镜与结构化描述库)
拿真实术语再落笔;工具不可用再退回联网检索。
排版(三个底座通用):最终提示词连续成段,不空行分块。 动作接动作、情节接情节、外貌 →
性格 → 心理 → 环境这些连着发生的描写不用换行或空行切开,用 , ; 。 —— : 衔接;
底座模板里的空行和「一句一行」是给人看的排版示意,不是提交格式,方括号标签后直接接正文;
只在镜头之间(镜头1: / 镜头2:)和模板块之间换行。中文字、标点前后不留空格。
提示词是什么,发过去就是什么:运行时不改排版,空行、碎行、多余空格都会原样进上游,
填 prompt 字段前自己看一眼。
-
标准模式:按最主要症状挑 1 个技法 skill(浏览 ~/.agents/skills/,plain-text
名称按需加载,不是全量)。多风险协同时升级专业模式,而不是突破标准级预算:
| 症状 / 任务信号 | 对症技法(按需挑,非必载) |
|---|
| 太假/塑料/空洞/站桩/NPC | storyboard-live-character-realism · storyboard-character-acting · storyboard-character-motivation |
| 像壁纸/没纵深/没电影感 | storyboard-foreground-occlusion · storyboard-pseudo-perspective · director-cinematic-composition |
| 动作怪/武打飘/打击感差 | storyboard-physics · storyboard-kinematic-reverse-engineering |
| 光平/糖水/塑料高光 | storyboard-light-reconstruction · director-lighting-continuity |
| 风格不像/调色跑偏 | storyboard-color-grading-control · storyboard-style-extraction-logic · director-style-consistency |
| 多角色混脸 | storyboard-multi-character-control · director-character-consistency |
| 九宫格/多宫格故事板、电影美术设定板、整板低约束参考或拆格执行 | storyboard-grid-to-seedance |
| 有剧本/分场/多镜要逐镜拆解,或要一张能搜索筛选的分镜表交付给人看 | shotlist-builder(规划与交付物,不出片) |
| 提示词太长/权重稀释 | storyboard-video-prompt-optimization |
| 提到真实电影/导演/品牌/时代,或「像·复刻·高级」 | codex-research-grounded-prompting(先查证再落笔) |
| 日式动画质感/作画 | animation-craft · director-anime-quality-boost |
-
专业模式:载入 director-orchestrator 做复杂镜头设计(13 维按需展开、
多技法协同),再按具体风险最多补 2 个技法;它只做镜头设计与提示词结构,
不重跑本入口的分级与路由。
Steps
- 有参考图就先看一眼(look before you write):手上有用户给的图 / 人像库
asset / 故事板时,先
view_image 一张有代表性的,再据你看到的东西
(主体、景别、配色、服装、光线)写提示词。照文件名或用户一句话臆想出来的提示词
会和画面打架,而模型跟的是画面。这与「不要批量打开自己刚生成的产物」不冲突:
那些用户已经在聊天里看着了,这是你的输入,看一张是让提示词对得上它的前提。
多图只看代表性的 1 张(最多 2 张),别整批灌进上下文。
- Turn the request into one clear video prompt(subject, action, camera 运镜/景别,
scene, lighting, mood;dialogue 与
--style 可后置)。
- 规格确认(spec_confirmed):用户没说规格时,发一张
ask_user 卡确认
分辨率(480p 草稿 / 720p 默认 / 1080p)、时长(2.5 为 4–30s,2.0 家族 4–15s,
默认 5)、比例(16:9 / 9:16 / 4:3 / 3:4 / 1:1 / 21:9),推荐默认项。
不要静默升 1080p;1080p 仅 2.0(与 wan3),2.5 只到 720p —— 用户要 1080p 就意味着
model 改 2.0、底座改 sd2-pe;用户已给规格或本会话已确认过就跳过。
- Call
generate_video:prompt(必填)、model(显式传,且与你载的底座一致:
STEP 0 默认 2.5 → 传 "2.5";要 1080p / 4k 或用户点名满血画质 → "2.0" 并改载 sd2-pe;
用户明确要快/便宜才 "2.0-fast"。别省略 —— 工具不传 model 时落到 2.0,一条按 2.5
模板写的提示词就会被送去 2.0 渲染)、resolution / ratio / duration、
referenceImages(用户给过的图必须传;支持 asset://assetId)、
referenceVideos / referenceAudios(上限按 model,见「模式与素材规则」)、或显式要求时的
firstFrame / lastFrame;2.5 的编辑 / 延长走 taskMode(edit / extend),不靠提示词措辞。
- Wait for the tool to return — it blocks until done. Do NOT resubmit or
"check progress" in between.
- Read the result banner:
✅ DONE + 📁 SAVED FILE: <path> → task COMPLETE. 第一步永远是交付:
先用一句话向用户确认(成片已在聊天里播放 + 保存路径,name the mode),
然后才做任何 QA。Do NOT re-check or re-generate.
QA:按风险分级,不是每条视频全套跑
交付优先铁律:任何级别的 QA 都发生在向用户交付之后——先一句话交付成片,
决定跑 QA 时再说一句「正在做视觉质检(抽帧九宫格)…」之类出声再动手。用户看
不到工具调用,先闷头抽帧/审片再回话,在用户眼里就是「卡死」(2026-07-14 实录教训)。
QA 发现问题需要重生成时,同样先告诉用户哪里不达标、准备怎么改。
| QA 级别 | 触发条件 | 动作 |
|---|
| 快速 QA(快速模式默认) | 普通单镜、无人脸特写、无复杂动作 | 确认 DONE banner + 时长/文件正常即可;不自动抽帧、不自动上传理解模型 |
| 视觉 QA | 人脸/手部是重点、多人物、武打/复杂动作、用户要求查画质、疑似穿帮 | 九宫格 contact sheet + view_image(见下) |
| 内容 QA | 多镜剧情、台词/字幕/口型、连续性检查、视频编辑核对、用户明确要求审片 | catimation-understand 的 understand_video 看整段 |
| 发布 QA(制片交付) | 正式交付/成片 | ffprobe 编码/分辨率/帧率/响度 + 九宫格 + 内容审查 + 平台规格(走 ffmpeg-win 的 inspect→process→verify 循环) |
九宫格做法(视觉 QA):用 ffmpeg-win 抽 9 帧拼图,
ffmpeg -i "<clip>.mp4" -vf "fps=9/<DURATION>,scale=320:-1,tile=3x3:padding=6:color=black" -frames:v 1 -y "<clip>_grid.png",
然后 view_image 那张 _grid.png。画布上的视频用 get_canvas_video 拿
videoPath,别搜盘。判定标尺(源自 VisionReward/WorldReasonBench 核心项):
视觉美观 s_a、时间一致性 s_c(主体稳定/运动平滑/不闪烁)、物理合理 s_r、
prompt 对齐,逐项判通过/不通过;单帧崩坏一票否决(最差帧原则),首帧从严。
需要总分时 S(v) = 0.4·s_r + 0.3·s_c + 0.3·s_a。
多镜/整板不要挨张 view_image。 主 agent 直接看图的上限是 5 张(宫格图算一张,
它本来就是为「一张看完整段」拼的)。超过 5 张 —— 多镜、多张宫格、一板卡片的产物 ——
走 catimation-subagents:
并发调 understand_document 看图 / understand_video 看整段,回来的是文本;每镜的
结论落成 <文件名>.vision.json / .md 旁挂在素材旁边,下次(或下个人)直接读文本。
需要「看完顺手改提示词重生成」时才升级到子代理。
触发了视觉+内容两级时,两面是同一次自检,别二选一。任一不达标 → 带针对性
改进点重生成(补哪个技法的哪个字段,不是泛泛「优化一下」)。自动修正
最多 2 次;generation_attempts 到 2 后仍不通过,先向用户说明成本/问题并请求
确认,不得继续付费重试。
Never inject the full MP4 or raw bytes into the chat;用户已在聊天里看着它播。
做过的级别记入 qa_completed(如 ["visual","content"]),下游不重复抽帧。
宫格图/故事板/美术设定板 = 辅助素材,不只是检查工具:整板可回喂
referenceImages 传色彩/光线/材质/时代感/空间气质/视觉母题,但不承担故事、
构图、动作、顺序、时长、身份或 firstFrame;有板即带提示词主导前缀。要精确
跟随某格就先拆格、去边框文字、重绘成干净关键帧。跨镜续接优先抽关键帧/尾帧作
下一镜 firstFrame,不整段回喂 —— 这条默认针对逐镜串行推进。工作台批量并行
时用不了(下一镜的首帧要等上一镜渲完),取舍规则见 catimation-video-workbench。
Organize finished clips into the user's workspace (when in a project)
COPY, don't move the finalized MP4(和它的 _grid.png)into a tidy assets
subfolder with zero-padded shot ordinals — e.g.
<workspace>/assets/video/S01_station_wide.mp4、
<workspace>/assets/contact-sheets/S01_station_wide_grid.png — so clips
assemble in order for a later ffmpeg concat. Skip for one-off casual clips.
Portrait library(人像库)— push materials in, then reference
The catimation MCP server exposes portrait-library tools
(add_to_portrait_library / list_portrait_library / edit_portrait_library /
download_portrait_asset,详见 catimation-portrait-library skill),围绕视频
生成主动使用:传给 generate_video 的输入图会自动入库并 dedupe 成同一
asset://assetId;用户给的要记住/复用的素材先 add_to_portrait_library 再引用;
「还是上次那个人」用 list_portrait_library 找回同一 asset 保持身份一致;用户在
人像库页给的 asset://assetId 直接传入。
Notes
- One
generate_video call = ONE video. 多条就多次调用、复用同一 asset://
保持一致性;可并行,但一次要发 20+ 个任务先向用户确认(每条都花钱且渲染
1–3 分钟)。
- Local input files are handled for you(video/audio 每段 4–15s,合计上限按 model 见
「模式与素材规则」);pass plain local paths
and do NOT pre-compress or reject anything for size — there is no client-side size
cap, large files are streamed to a relay bucket automatically. If a file really is
too big for upstream, upstream returns the exact limit.
- Background saving never blocks you: banner DONE = 视频已在播,本地保存可能
还在后台(
persistencePending),当作 COMPLETE 立即回复,不要等待或轮询保存。