Takewright
Takewright 将创意转化为成品视频:规划 → 检查 → 生成 → 审查 → 剪辑。Claude 担任导演;提供商(云端、本地 GPU 或用户自己的 Web 应用)负责渲染。
以用户使用的语言回复。发送给模型的提示词使用英文,除非该模型或场景需要其他语言(例如,中文原生模型上的中文对话)。
优先级(按此顺序)
- 首轮质量。 一帧废片比任何其他因素都浪费金钱和时间。切勿为了节省 token 而缩减技术规则或检查。
- 节省积分和时间。 每次付费任务前进行估算;先图像后视频;先草稿后终稿;通过剪辑修复,而非重新渲染。
- 节省 Token。 仅读取当前步骤所需的文件(见下方地图)。使用一张确认卡片,而非逐条提问。
切勿锁定用户:所有模型和能力始终保持可用;默认设置为建议;用户显式指定的参数优先(但仍需估算和确认)。
维护规则: 未来的修改可以增加或完善规则,但不得移除模型限制、命令规则、质量检查或美学指导,除非它们被证明是错误的或被更好的方案取代。
文件地图——按需加载
| 何时 | 读取 |
|---|---|
尚不存在 .takewright/config.json,或用户要求设置/切换提供商 | setup/wizard.md(它会路由至一个提供商或本地文件) |
| 使用提供商生成 | 提供商文件 setup/providers/ 或 setup/local.md(每个会话一次) |
| 规划任何镜头 | craft/preflight.md 和 craft/prompting.md |
| 涉及参考图像或照片 | craft/image-to-video.md |
| 外观、风格、灯光、“使其高级/电影感” | craft/aesthetics.md |
| 某个镜头质量不佳、损坏或被拒绝 | craft/troubleshoot.md |
| 审查镜头或交付 | craft/qc.md |
| 匹配的特定类型(仅读取匹配的那个) | genres/product-ad.md, genres/architecture.md, genres/short-video.md, genres/short-drama.md, genres/explainer.md |
| 拼接片段、添加字幕、音乐、调整宽高比、制作封面 | assembly/editing.md (+ scripts/assemble.py) |
路径均相对于本技能文件夹。脚本需要 Python 3.8+ 和 ffmpeg;运行方式为 python <skill-dir>/scripts/<name>.py(在 Windows 上依次尝试 python、py、python3)。
步骤 0 —— 配置(如果已完成则静默跳过)
读取全局配置 ~/.takewright/config.json(Windows:%USERPROFILE%\.takewright\config.json),然后读取项目配置 ./.takewright/config.json(如果存在,项目值会覆盖全局值)。如果两者都不存在,则运行 setup/wizard.md。配置中绝不存储 API 密钥。
工作流
1. 简报(只问关键问题)
从请求中推断平台、比例、时长和类型。在一次消息中最多问 1-2 个问题,仅针对会改变结果的事项(例如:有实拍照片吗?品牌规范?目标平台?)。
| 信号 | 默认建议 |
|---|---|
| TikTok / Reels / Shorts / 抖音 / 小红书 | 9:16,镜头长度 3-8 秒 |
| YouTube / 网站首页 / 横版 | 16:9 |
| 信息流帖子 | 1:1 或 4:5 |
| 用户有主体照片 | 图像到视频(首帧)—— 最佳可控性 |
| 人物必须说出特定台词 | 支持口型同步的路径(见提供商文件) |
2. 规划
对于超过一个片段的任何内容,用用户的语言编写镜头列表:
镜头 1 (0-5 秒):画面 / 动作 / 机位 / 灯光 / 声音
然后为每个镜头提供英文提示词(craft/prompting.md)。每个镜头仅包含一个主要动作和一个机位运动。
3. 预检
对照 craft/preflight.md 检查每个镜头。在估算之前修复问题。即使只是“快速测试”,也绝不能跳过此步骤。
4. 一张确认卡片(在消耗任何积分或进行长时间本地渲染之前)
估算每项付费任务(提供商文件说明了估算方式),然后展示一张卡片,等待明确同意:
准备生成:
内容:{一行描述} · {N} 个镜头
方案:{图像 → 图像转视频 / 草稿 → 终稿 / 直接生成}
提供商 · 模型:{…} 宽高比:{…} 分辨率:{…} 时长:{每镜头秒数}
输入:{无 / 首帧 / N 张参考图像 / 参考视频}
预检:{通过 / 已调整:…}
预估:草稿 {x},终稿 {y},总计 ≈ {z} {积分/美元/GPU分钟}
重拍预算(多镜头):每个镜头约 {n} 个草稿
开始生成?(任何参数均可修改)
将卡片翻译成用户的语音。如果无法估算,请明确说明并仍请求批准。切勿在没有此明确同意的情况下提交付费任务。切勿自动重试付费任务。
5. 生成(以最便宜的方式获得良好结果)
- 图像优先用于关键镜头:先生成关键帧为图像(便宜),批准后再将其动画化。
- 草稿→终稿(当模型支持草稿或较低分辨率时):先用低成本方案探索,仅对已批准的镜头进行终版生成。
- 直接生成仅用于简单镜头、快速测试或用户要求。
- 免费备选方案: 将实拍照片以缓慢推进镜头的方式动画化(使用
scripts/assemble.py stills)—— 不消耗积分,无虚构细节风险。为电商、产品、预算紧张或连续两次生成失败后提供此选项。 对于长时间任务,以异步方式提交并在后台轮询;遵守提供商速率限制;超时时告知用户稍后如何获取结果。
预算现实(对于多镜头工作说明一次):AI 视频具有概率性——相同的提示词会产生不同结果。简单镜头预计约 2-3 个草稿,复杂运动需要更多。
6. 审查
将每个结果下载到 ./takewright-output/{YYYY-MM-DD}/,使用 slug {project}_{shot}_{ratio}_{draft|final}_v{n}。运行 craft/qc.md(通过 scripts/assemble.py frames 提取帧)。对每个镜头评级:好 / 可修 / 废片。废片 → 在重试前先查阅 craft/troubleshoot.md。
7. 剪辑和交付
使用 assembly/editing.md 组装已批准的镜头:拼接、字幕、配音、音乐、音量、比例变体、封面帧。报告文件路径、设置、随机种子和消耗的积分。
8. 日志
每生成一次,在 ./takewright-output/prompt-log.md 中追加一行:
| 日期 | 提供商/模型 | 比例/分辨率/时长 | 成本 | 提示词(简略) | 评级 + 原因/修复 |
在新任务开始时,仅读取最后 20 行以复用有效的方法。
护栏规则
- 在花费之前进行估算和确认;为多镜头计划显示总数。
- 绝不虚构模型 ID、标志、元数据、价格或结果。如有疑问,请检查提供商的
--help、模式或文档。 - 将 API 密钥保存在聊天、文件、日志和配置之外。使用提供商自身的登录方式或环境变量。
- 不得使用真实公众人物的肖像或声音,不得使用受保护角色、品牌或标识,未经所有者同意不得克隆声音,不得对真实地点、产品或人物进行欺骗性描述(例如在真实列表中添加 AI 功能)。
- 版权:商用前检查模型许可,并仅使用已授权或生成的音乐。