# Tiktok Gemini Video Workflow

> 将飞书多维表格中的产品图和爆款视频自动处理为 TikTok 带货视频：优先处理人工标记的返工任务，再认领新任务，拆解画面/文字/声音钩子，生成1–2段脚本、九宫格分镜和视频提示词，按单个或多个已授权Google账号路由Gemini/Flow额度，完成生成、续接、下载、消除可见星形水印、检查并后期补齐必要文字钩子，最后回传待验收成品。用于用户提到爆款复刻、TikTok带货视频、Gemini/Flow生视频、多Google账号、Chrome账号切换、额度轮询与日志、屏幕文字钩子、字幕缺失或乱码、人工验收返工、尾帧续接、九宫格分镜、视频去水印或飞书任务轮询时。

- Skill: `binggandata/tiktok-gemini-video-workflow` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add binggandata/tiktok-gemini-video-workflow`
- Raw SKILL.md: https://api.skillmd.com/api/skills/binggandata/tiktok-gemini-video-workflow/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: binggandata (https://skillmd.com/u/binggandata)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/binggandata/tiktok-gemini-video-workflow

---


# TikTok Gemini 视频工作流

## 目标

把“用户只提交产品图和爆款视频”转换为可恢复、可追踪的生产流水线。始终以飞书多维表格为任务状态源，以真实下载文件和回读结果作为完成证据。

## 必须组合使用的能力

- 涉及飞书 Base 时先使用 `lark-base`，通过 `lark-cli base +...` 读取真实表、字段和记录。
- 涉及生成九宫格时使用 `imagegen`；把每张输入图的角色写清楚。
- 涉及 Gemini 或 Flow 网页时使用 `chrome:control-chrome`，复用用户明确选择且已登录的 Chrome。
- 涉及单账号、多账号切换、额度轮询或账号日志时，读取 [account-routing.md](references/account-routing.md)。
- 涉及定时轮询或额度恢复后续跑时，先查找产品提供的 automation 工具；不要用 shell cron 代替。
- 涉及可见星形水印时，优先使用已安装的`gemini-watermark-remover` Skill；缺失时按 [setup.md](references/setup.md) 取得许可后安装。

## 默认入口

- Gemini 专业视频入口：`https://gemini.google.com/videos`
- Google Flow：`https://labs.google/fx/tools/flow/`
- Base 与 Flow 项目：以当前用户提供的链接为准；不要在 Skill 中内置任何项目、表、账号或记录 ID。

## 0. 环境预检

1. 按 [setup.md](references/setup.md) 检查 Node.js、官方`@larksuite/cli`、飞书 user 授权、Chrome连接、`ffmpeg/ffprobe`和`gemini-watermark-remover`。
2. `lark-cli`未安装时，先说明安装内容并取得用户同意，再安装和配置；已经安装时不要重复操作。
3. 只有飞书只读访问、Chrome登录态、本地目录和后处理依赖都验证成功后，才开始处理任务。

## 开始前确认输入与输出

每次新会话或新批次启动时，先向用户一次性确认以下内容；这是启动硬门槛：

1. **任务表**：用户是否已经有用于本工作流的飞书多维表格。
   - 已有：向用户索取 Base 链接、表/视图和处理范围。
   - 没有：向用户确认新 Base 名称和数据表名称，然后按下方“初始化任务表”创建。
2. **工作目录**：下载素材、抽帧、转写、九宫格和尾帧等中间文件放在哪个目录。
3. **成品目录**：原始下载视频、消除水印版和最终确认版放在哪个目录。
4. **浏览器与账号**：使用哪个 Chrome 配置和哪个 Gemini/Flow 账号；为账号设置不含隐私凭据的别名。
   - 单账号：确认账号别名、Chrome配置名和允许入口。
   - 多账号：再确认启用账号、优先级、是否允许自动切换，以及是否要求同一任务保持同一账号；按 [account-routing.md](references/account-routing.md) 建立账号登记。
5. **交付方式**：生成后立即上传飞书进入`待验收`，还是先只保存本地、等用户统一确认后再上传。
6. **通知方式**：只更新 Base，还是在状态变化时发送飞书消息；发送消息需用户提供可解析的个人或群聊目标并授权使用`lark-im`。
7. **调度方式**：本次手动运行，还是设置定时轮询；不设置时绝不创建后台任务。
8. **提交表单版本**：使用只收集产品图、爆款视频和可选产品名的基础版，还是增加目标国家/语言、产品卖点、禁止内容、旁白/音乐偏好等可选题。没有明确选择时先问，不替用户扩展表单。

用户已在当前会话明确提供时直接复用，不要重复询问；不要跨会话默认沿用旧目录或旧浏览器配置。未确认工作目录和成品目录前不得开始下载、生成或提交额度任务。

用户选择手动运行时，只处理本次确认范围内的任务；批次结束或遇到等待条件后，写回状态、额度日志和下一步并退出，不创建定时任务、后台常驻进程或自动续跑。

确认后为每条记录使用独立工作子目录，建议为`<工作目录>/<record_id>/`；成品统一进入成品目录。不要把成品散落在 Downloads 或临时目录。浏览器下载完成后立即移动并按`产品名-视频序号-入口-处理状态-画幅-时长`命名。

## 1. 初始化任务表

### 用户已有 Base

1. 使用用户提供的 URL 执行`lark-cli base +url-resolve --as user`，取得真实`base_token`。
2. 读取目标表、字段、视图和表单；不要把 Wiki token 当作 Base token。
3. 对照 [base-contract.md](references/base-contract.md) 做结构检查。
4. 字段或状态选项缺失时列出差异并取得用户授权后补齐；本 Skill 固定最多两段，不创建第3、4段字段。
5. 结构检查完成后再询问工作目录、成品目录、浏览器和交付方式。

### 用户没有 Base

1. 询问新 Base 名称和初始数据表名称；用户没有特别命名时可建议`TikTok爆款视频复刻`和`视频任务`，但不得静默决定。
2. 使用`lark-cli base +base-create`创建 Base，并一次性建立 [base-contract.md](references/base-contract.md) 定义的完整字段。创建后回读 Base、表和字段。
3. 创建表单前先询问用户选择基础版还是扩展版。
   - 基础版只展示：`产品图`（必填附件）、`爆款视频`（必填附件）、`产品名或备注（可选）`（可选文本）。
   - 扩展版在基础版之外，按用户选择增加目标国家/语言、产品核心卖点、禁止出现的内容、旁白/音乐偏好等可选题；不要默认全部创建。
   日期使用系统创建时间，不要求用户填写。
4. 创建`待处理队列`、`处理中`、`待验收`和`已完成`视图，并按任务状态设置筛选。
5. 返回可访问的 Base 和表单信息；确认用户能打开后，才进入任务处理。
6. 新建、字段创建、表单创建和视图创建均使用`lark-base`；不要只生成一份字段清单或本地模板冒充已创建。

## 核心工作流

### 1. 先处理人工审核，再认领新任务

1. 读取真实字段结构以及`验收结果`、`验收意见`和候选记录。
2. 先处理人工审核结果：
   - `通过`：把`任务状态`改为`已完成`并回读；保留审核结果作为证据。
   - `废弃`：把`任务状态`改为`已废弃`并回读；后续运行不再处理。
   - `返工`：优先于所有新任务。读取`验收意见`确定需要重做的片段；先把状态改为对应处理阶段，再从该片段继续。返工第1段且存在第2段时，第2段和连续性资产必须随新第1段重新生成。
3. 返工任务只有在新成品上传并回读成功后，才清空`验收结果`，把状态重新设为`待验收`；不要在生成前清空。将本次验收意见、返工片段和结果追加到`运行日志`，保留`验收意见`供追溯。
4. 没有返工任务后，只选择同时满足以下条件的新记录：
   - `产品图`非空；
   - `爆款视频`非空；
   - `任务状态`为空或为`待处理`。
5. 按创建日期从早到晚处理。
6. 在下载和分析前先把记录改为`拆解中`，将该状态作为任务锁，避免重复执行。
7. 认领时若`任务ID`为空，写入唯一任务ID；同时把`当前片段`设为1、`最后成功步骤`记录为`已认领`。
8. 跳过其他运行实例已认领的`拆解中`、`分镜图生成中`和`视频生成中`记录。`待用户操作`、`等待额度恢复`和`待验收`按对应恢复规则处理；`已完成`和`已废弃`不再处理；`失败`只有在用户要求重试或重试策略明确时才重新认领。
9. 续跑前读取`当前片段`、`最后成功步骤`、计划段数、已有分镜图、尾帧和成品附件，从最后一个已回读成功的步骤继续。不得仅凭本地文件名猜进度，也不得重做已经验收并上传的步骤。

读取和写入规则见 [base-contract.md](references/base-contract.md)。

### 2. 下载和拆解爆款

1. 下载产品图与爆款视频到独立工作目录。
2. 用 `ffprobe` 读取时长、分辨率、帧率和音轨。
3. 每秒抽帧或生成接触表，识别：首帧钩子、动作节拍、场景切换、产品露出、转场点和结尾动作。
4. 逐帧检查屏幕文字并原样转写。区分文字钩子、普通说明、产品包装文字和平台水印；记录文字原文、大小写、拼写、标点、换行、位置、出现区间和样式。未经用户要求不得替原作者纠正语法或改写文案。
5. 有对白时优先转写音轨；区分画面爆点、文字爆点、对白爆点和声音爆点。判断叙事是否依赖“文字＋场景/动作”共同成立，不能把文字反转视频误拆成纯产品展示。
6. 不照抄与产品无关的解决方案。保留爆款结构，把动作和卖点改成当前产品可兑现的内容；承担核心钩子的原作文字必须进入新脚本和后期清单。

### 3. 决定分段数量

支持 `1–2` 段。先按原爆款总时长决定默认段数，再按动作和转场边界微调；不要在动作中间机械切断。

- 原爆款总时长不超过15秒时统一做1段，把完整爆点压缩到当前专业入口可生成的单段时长。
- 原爆款总时长超过15秒、且不超过30秒时做2段。
- 原爆款总时长超过30秒时停止并询问用户是否压缩成两段或更换更短的参考视频；不得创建第3段、截断后半段或静默丢失内容。
- Gemini 单段实际片长以当前专业视频入口为准；提示词时长不能覆盖系统设置。
- Flow 默认设置为 `Video / 9:16 / 1x / 10s`，但每次以实时界面为准。
- 第2段必须以第1段已下载成品的真实尾帧作为连续性输入。

### 4. 统一使用九宫格

- 所有片段统一使用一张完整的9:16九宫格时间分镜，不再在关键帧与九宫格之间二选一。
- 九格必须从左到右、从上到下表达同一片段的连续动作；同一人物、脸、发型、服装、场景、光线和产品身份必须保持一致。
- 九宫格始终作为一张完整分镜图上传；不要拆成九张参考图。
- 尾帧续接是独立硬规则：第2段九宫格不能提前生成。必须先完成并下载第1段真实成品，再抽取真实尾帧；使用`第1段真实尾帧 + 第1段九宫格 + 产品图`生成第2段九宫格，并让第1格精确继承真实尾帧。

### 5. 生成并立即回传分镜图

1. 先写回`爆款拆解`、`新脚本`、`分段数量`和每段提示词，再将状态改为`分镜图生成中`。
2. 单段任务生成唯一的9:16九宫格分镜；多段任务只先生成当前待制作片段的9:16九宫格，不要提前一次性生成后续分镜。
3. 保留产品颜色、结构、包装、Logo和人物身份；避免无关文字、水印、多余肢体和拼贴泄漏。原作必要文字钩子不要画进九宫格，单独记录为后期字幕资产，避免图生视频产生乱码。
4. 每生成并验收一张分镜图，立即上传该记录对应的`分镜图 i`字段；不要等全部分镜图完成才批量上传。
5. 上传后立即回读附件字段确认文件存在，再把`当前片段=i`、`最后成功步骤=分镜图 i 已上传`。
6. 单段任务在分镜与视频提示词齐全后把状态改为`视频生成中`。两段任务在`分镜图1`验收上传后立即进入视频1，不等待分镜图2。
7. 第2段分镜只能在第1段视频已下载并抽取真实尾帧后生成。以`第1段真实尾帧`作为连续性主参考和本段九宫格第1格，以`第1段九宫格`锁定人物、发型、服装、场景和镜头风格，以产品图锁定产品；只改变后续8格的动作和产品状态，不得重新随机生成人物。

写任何分镜图或视频提示词前，必须完整读取 [prompt-templates.md](references/prompt-templates.md)。所有提示词统一使用英文；只有必须原样保真的产品名、实体标签/Logo、原作屏幕文字和对白可以保留原语言。不得只把旧中文提示词直译成英文，必须按模板补齐输入职责、参考优先级、锁定项、逐格/逐秒动作、写实、动作物理、音频、文字后期和负面约束。

每张九宫格提示词必须按英文结构写出：`Inputs / Goal / Story / Reference Roles / Character & Product Lock / Scene Lock / Visual Style / Storyboard Layout / Panel 1–9 / Continuity Requirements / Text & Logo Rules / Negative Rules`。每格都要包含时间、景别、叙事功能、可见动作与状态、运镜和情绪；九宫格仍是一张完整9:16、3×3分镜图，不改成六宫格或九张独立参考图。

分镜图提示词和视频提示词是两个独立产物，不得混用计数。分镜图固定生成一张完整9:16九宫格，只表达连续的9个关键状态；视频提示词必须重新读取并拆解参考视频，把识别出的每一个画面状态分别写成`VIDEO FRAME 01...N`。视频提示词的帧数不受九宫格限制：原片拆出16个画面状态就必须写16条，不能为了匹配九宫格或假定的镜头上限压成6条、7条或9条。

每条视频提示词必须按英文结构写出：`Inputs / Goal / Reference Roles / Output Format / Global Fixed Requirements / Character & Product Lock / Scene Lock / Camera Plan / Complete Video Frame List / Realism Pass / Action Physics Pass / Audio / Text & Logo Rules / Continuity Requirements / Negative Rules`。`Complete Video Frame List`中的每一个画面状态必须单独成块，并完整填写：`Timecode and Duration / Reference Images / Continuity In / Shot Purpose / Framing and Camera / Character and Limb Actions / Product and Part State / Functional Interaction / Secondary Characters / Environment and Lighting / Audio / Transition In & Out / Continuity Out`。不得把多个不同画面状态压缩成一个段落。

每项动作要明确人物自己的左手、右手、左脚或右脚；商品操作必须明确持握部位、工作端、接触对象、运动方向、阻力和`before → action → after`状态变化；成对物品和可拆零件必须保持数量、装配状态和位置守恒。所有视频帧条目的时长之和必须精确等于专业入口的实时生成时长，时间码不得重叠、留空或遗漏原片画面状态。快切画面可以短于平均节奏，不能仅因时长短就删除；需要两段时按本Skill既定总时长规则分配所有画面状态，第2段从第1段真实尾帧续接。

人物身份必须由明确指定的主模特参考图锁定，不在提示词中重新描述或猜测主模特的具体面部特征；副角色不得复用主模特或彼此的脸，且身份、年龄段、体型、服装和角色须跨镜头稳定。多张产品图共同约束同一个商品及零件的不同视角，不得按图片数量复制商品。提示词还必须先选择唯一的可见文字策略：`NO VISIBLE TEXT`时禁止字幕、标题、时间码、品牌名、Logo、包装文字、账号名、平台名、UI和水印；`PHYSICAL LABELS ONLY`时只保留产品参考图中的真实实体标签/Logo，仍禁止浮层文字和模型生成字幕。两种策略不得同时使用。

只写一句剧情梗概、笼统动作、未覆盖全时长、缺少画面结束状态、把多个画面状态合并成一段或无法传递到下一帧的短提示词不合格；嘴部不入镜时不得要求口型同步，应改为旁白。用户要求多语言时默认每种语言生成独立提示词／成片版本，除非用户明确要求同一视频双语。

原作存在屏幕文字时，提示词还必须写出`TEXT HOOK`职责：说明这段文字如何与人物、场景和动作共同完成叙事。不要依赖 Gemini/Flow 正确生成文字；提示词要求模型不渲染字幕，并把精确文字、排版和时间范围放入后期清单。生成结束后按 [postprocess-sop.md](references/postprocess-sop.md) 检查并补字。

输出规格必须在`Goal`、`Output Format`和`Negative Rules`三处明确写出 `VERTICAL PORTRAIT, aspect ratio 9:16 (width:height), 1080×1920 orientation`，并声明这是画面宽高比而不是时长/时间戳，禁止16:9横屏。提示词不能覆盖 Gemini 实际生成器的画幅与时长设置；必须使用专业视频入口并把画幅控件实际设为`Portrait/肖像（9:16）`，回读选中状态后才提交。最终只以下载文件的真实宽高验收，宽必须小于高。

Gemini 每条任务默认从左侧`Videos/视频`进入专业视频页：上传本段分镜图和产品图，连续段再加入上一段真实尾帧，粘贴完整提示词，实际选择9:16后提交。多张参考图必须逐张上传并等待完成，不要一次多选；本地缩略图出现不等于附件已随请求提交。不要依赖普通聊天或上一条任务遗留的附件、画幅和上下文。专业入口无法可靠选中9:16时停止消耗 Gemini 额度并切换 Flow。具体实测恢复步骤见 [browser-sops.md](references/browser-sops.md)。

### 6. 按额度选择生成入口

固定优先级：

1. 先使用 Gemini 专业视频入口的动态额度。多账号时先轮询所有可用 Gemini 账号，再进入 Flow 阶段；账号排序、粘性和切换规则按 [account-routing.md](references/account-routing.md)。
2. 每次成功提交或额度检查后更新`当前生成入口`、`Gemini额度状态`、`Flow额度状态`、`额度检查时间`和`运行日志`。
3. 同一账号连续成功提交3个 Gemini 视频后，只把该账号标记为`疑似耗尽（3次经验阈值）`，不要为了测试再浪费第4次请求；多账号时切到下一个可用 Gemini 账号。该阈值只负责提前切换，不等同于平台官方限额。
4. Gemini 达到限制后，读取`设置 → 使用限制`中的当前用量、短周期恢复时间和周额度恢复时间并记录。页面未标日期或时区时保留原文，不自行换算。
5. 仍有待处理片段时立即切换到 Flow；Flow 积分与 Gemini 使用限制分开管理。
6. Flow 积分不足或本轮用完时停止使用 Flow，并立即重新检查 Gemini 使用限制；如果 Gemini 已恢复，切回 Gemini 继续未完成片段，不要沿用进入 Flow 前的旧额度结论。
7. 重新检查后 Gemini 仍受限、且 Flow 也不可用时，才改为`等待额度恢复`。购买或自动补充 AI Credits 属于付费动作，必须在行动前获得用户确认；能解析准确恢复时间才写`下次运行时间`，否则记录页面原文并等待用户手动再运行。
8. 每次提交、额度检查和账号切换都记录`账号别名、Chrome配置名、任务ID、片段、入口、动作、结果、额度快照、恢复提示原文、下次检查时间、下一步`。
9. 不把额度、刷新周期或单次成本写死。每次在账户页面或生成配置面板读取实时值。

Gemini 和 Flow 的具体 SOP 见 [browser-sops.md](references/browser-sops.md)。

### 7. 生成多段视频

第1段：

- `九宫格分镜图1（整张） + 产品图 + 视频提示词1`。

第2段：

- 先完成第1段视频并抽取真实尾帧，再生成第2段分镜；禁止提前生成。
- 生成第2段分镜时，必须同时参考第1段真实尾帧和第1段分镜，保持同一人物、发型、服装、场景、灯光与镜头，只改变本段动作和产品状态；验收后立即上传`分镜图 2`。
- 必备：第1段真实成品尾帧。
  - 再加入：本段整张九宫格、产品图和本段提示词。
- 在提示词开头声明图片角色和优先级：尾帧是精确起点，分镜图是动作/目标参考，产品图只负责身份锁定。
- 如果 Flow `Frames` 模式能满足需求且另有单独生成的精确目标尾帧，使用 `Start=上一段尾帧`、`End=精确目标尾帧`获得更强首尾控制；不要把整张九宫格塞进 End。
- 如果必须同时参考尾帧、分镜和独立产品图，使用 Flow `Ingredients` 或 Gemini Omni 多图输入。

### 8. 下载、后处理、抽尾帧并回传

1. 每段完成后立即下载本地文件。
2. 用 `ffprobe` 验证文件可读、时长符合提交时专业入口显示的实际单段时长且为9:16竖屏；实际宽必须小于高。横屏、方形、旋转或时长与界面配置明显不符均判定失败并重做。
3. Gemini成片带右下角可见星形水印时，保留原始文件，优先调用已安装的`gemini-watermark-remover` Skill；缺失时先按环境预检取得许可并安装。禁止使用 `delogo`、高斯模糊、马赛克、贴图遮挡或裁边冒充去水印。
   - 先检查`gemini-watermark-remover` Skill；缺失时按 [postprocess-sop.md](references/postprocess-sop.md) 说明来源并取得用户同意后安装。
   - 批量视频逐条处理，避免多个本地去水印浏览器任务争用端口。
4. 从消除水印后的文件抽取开头、中间和结尾帧，放大右下角确认：星形标记消失，背景纹理和边缘连续，没有矩形模糊块、残留尖角或闪烁。
5. 对照拆解阶段的文字后期清单检查成片。核心文字缺失、错字、乱码、位置错误、出现区间错误或被画面遮挡时，必须后期补字或修正；没有完成文字钩子的成片不能上传为待验收成品。
6. 补字时保留原文、大小写、拼写、标点、换行、位置、样式和持续时间；不要擅自润色。避免重复叠字：成片已经正确存在的文字不得再覆盖。具体方法与验收见 [postprocess-sop.md](references/postprocess-sop.md)。
7. 用 `ffprobe` 再次确认后处理版仍为9:16、时长与原片基本一致且存在音轨。完整命令、工具边界和验收规则见 [postprocess-sop.md](references/postprocess-sop.md)。
8. 两段任务完成第1段后，用 `ffmpeg` 从最终后处理文件抽取最后一个稳定帧；不要从分镜图伪造尾帧。立即上传`尾帧 1`并回读，作为第2段续接和跨设备续跑依据。
9. 按启动时确认的交付方式处理：允许立即回传时，上传最终后处理合格文件到对应`成品视频 i`字段并回读；要求统一确认时，只保存在成品目录，不提前替换飞书附件。
10. 若还有下一段，使用刚抽取的真实尾帧、当前分镜图和产品图生成下一段分镜；验收并上传后，才提交下一段视频生成。
11. 回传前先读取目标成品字段，避免重试时重复追加；从文件所在目录使用相对路径上传。
12. 上传后回读并核对`file_token`、`name`和`size`，再写`最后成功步骤=成品视频 i 已上传`；`运行日志`记录文字钩子是否存在、是否补字以及验收结果。
13. 所有计划片段都生成并通过机器验收后，把任务改为`待验收`，不得直接改为`已完成`。
14. 只有用户明确确认整条任务成品后，才替换用户否定的旧附件并把状态改为`已完成`；随后最终回读计划段数、全部成品附件和状态。
15. 失败时写`失败原因`、增加`重试次数`并改为`失败`；不要把局部成功报告成全部完成。

## 定时轮询

默认不创建定时任务。

当用户希望持续处理新提交记录，且尚未配置轮询时：

1. 先问用户是否设置定时读取飞书多维表格。
2. 用户同意后，再问轮询间隔和可运行时段，例如每小时、每2小时或每天指定时间。
3. 使用产品提供的 automation 工具创建或更新自动任务；自动任务只处理“状态为空或待处理且附件齐全”的记录。
4. 不要以创建日期 alone 判断新任务；状态是主锁，附件完整性是准入条件，record ID用于去重和追踪。
5. 每次定时运行先读取额度日志：Gemini可用时优先Gemini；Gemini受限时转Flow；Flow也耗尽时重新检查Gemini，确认仍受限后才等待恢复。
6. 多账号时按 [account-routing.md](references/account-routing.md) 回读账号表、检查到期账号、先轮询所有Gemini账号再轮询Flow账号；全部不可用时只安排最早的一次后续检查。
7. 每次运行向`运行日志`追加时间、账号别名、Chrome配置名、记录ID、片段、入口、动作、结果、额度快照、恢复提示原文和下一步；不要只覆盖上一条失败信息。
8. 如果没有 automation 工具，说明限制并给出可执行的替代方案，不要自行写后台常驻脚本。

## Gemini 限制恢复后续跑

出现 Gemini 使用限制时：

1. 打开`设置 → 使用限制`。
2. 读取页面显示的当前用量、短周期恢复时间和周额度恢复时间；不要假设固定3条、5小时或24小时。用户观察到的“一个会话约3条、约5小时”只可作为经验备注，不能作为调度依据。
3. 页面给出完整日期、时间和时区时，才把换算后的准确时间写入`下次运行时间`。若只显示一个时刻或`明天再来`等缺少日期/时区的信息，把原文写入`最后成功步骤`，`下次运行时间`留空，避免错误调度。
4. 将状态改为`等待额度恢复`，并在`最后成功步骤`保留当前片段、入口、用量和恢复提示原文。
5. 只有恢复时间可无歧义解析，且用户已经授权自动续跑时，才使用 automation 工具把下一次运行安排在恢复时间后2–5分钟，并携带 Base 链接、未完成记录ID和片段编号。
6. 如果用户没有授权，或恢复时间缺少日期/时区，告诉用户页面原文并询问是否安排续跑。
7. Flow 可用时先继续消耗 Flow 的独立积分，不要让任务空等。

## 飞书通知

- 默认只更新 Base 状态，不主动发送消息。
- 用户要求通知时，使用`lark-im`解析并确认个人或群聊目标；不要猜`open_id`或`chat_id`。
- 可在`待用户操作`、`等待额度恢复`、`待验收`、`失败`和`已完成`时发送简短通知，包含产品名、任务ID、当前片段、状态、下一步和Base链接。
- Base写入成功不等于消息发送成功；两者分别回读和报告。

## 完成检查

- Base 中每个计划片段都有对应提示词、分镜图和成品视频。
- 分镜图在生成后已立即回传，不是只保存在本地。
- 第2段使用了第1段真实尾帧。
- 视频是9:16且可读取、可下载。
- Gemini可见水印已真正消除，没有模糊块，原音轨仍存在。
- 原作若依赖屏幕文字完成钩子，最终成品已包含经过首帧、中段和尾段抽帧验证的精确文字；缺字、错字或乱码均视为未完成。
- Gemini/Flow 的真实入口、模型、时长、单价和恢复时间来自当次界面，不来自旧记忆。
- 额度日志已记录当前入口、两类额度快照、检查时间和下一步。
- 单账号已记录实际使用的账号别名；多账号已记录账号选择、切换原因、每个账号的独立额度状态和下次检查时间。
- 机器生成结束后先进入`待验收`；只有用户确认后才进入`已完成`。
- 最终重新读取记录，报告完成段数、使用入口、失败/重试情况和仍待处理任务。

