# story-studio

Adopt this skill: https://proskills.md/skills/other/konlu-story-studio

Page: https://proskills.md/skills/other/konlu-story-studio
This document is the public skill bundle for that page. It contains SKILL.md and every helper file the catalog carries. No login is required.

## File: SKILL.md
size: 14847
upstream: https://github.com/konlu/story-studio/blob/HEAD/SKILL.md

````text
---
name: story-studio
description: 历史与真实人物故事的中文内容制作，按需独立执行写作、豆包配音、分镜与配图、剪映草稿，支持自动初始化依赖和接续已有项目。用户提到story-studio、故事工坊，或要求这些题材的文案配音配图剪映一条龙时使用。现有写作风格为历史叙事和玉玲2711人物故事风；民间故事等赛道可扩展。
---

# Story Studio · 故事工坊

一个入口，按本次请求开启写作、配图、剪映草稿。三个开关控制交付范围；内容赛道、写作风格和配图画风分别设置。内置所需语料、参考图、规则和脚本，按需读取。

## 安装与首次使用

首次使用或依赖报错时，先读 [依赖初始化](references/setup.md)。Agent按本次阶段执行原生启动器check：Windows用 `scripts/bootstrap.ps1`，macOS/Linux用 `scripts/bootstrap.sh`，均以实际技能绝对路径调用，不假设电脑已有Python。只写作或纯文本分镜可先完成不依赖脚本的工作，不安装媒体组件。

需要安装而用户尚未授权时，集中展示缺少的组件，提供一次“自动配置并继续 / 暂不配置”的选择，不让用户运行命令、复制路径或逐项安装。用户已经明确要求初始化、一键配置或自动安装时，直接执行相应install，不重复询问。Agent完成下载、安装、草稿目录发现和复查，再继续原任务；已有可用组件复用。依赖安装与创作开关分别处理，不因初始化生成作品。

启动器支持缺Python时配置用户专用Python，再按需安装Node.js、FFmpeg、媒体库及Coli；Windows草稿用户可一并安装缺少的剪映。安装失败由Agent查看原因并修复，实际缺少操作系统授权、账户登录或工具权限时才向用户说明所需操作，不能把失败转换成一串手动命令。生图工具授权单独验证，不把说明文件存在当作工具可用。复制目录本身不会执行安装，首次调用才触发检查。

草稿导出直接使用Python库 `pyJianYingDraft==0.3.1`，无需安装额外草稿技能。实际生图可用宿主图像工具，`imagegen` 是可选指导技能；Coli是本地转录CLI。依赖与作者见 [README](README.md)。

初始化后，所有模块示例中的python、python3或py -3.11均替换为外部runtime.json记录的python可执行程序绝对路径；不能假设便携安装已加入全局PATH或存在py启动器。

## 解析本次请求

接受自然语言和中文开关，不要求用户填写 JSON。明确要求开启的阶段才开启，未请求的阶段关闭；最新明确开关优先。只点名技能、未说明任务时简短询问要做哪一项，不默认全开。

| 开关 / 内部键 | 工作范围 | 关闭时可接收 |
| --- | --- | --- |
| 写作 / `write` | 选题、核实资料、写稿、改稿、钩子、字数检查 | 用户已有文稿 |
| 配图 / `illustrate` | 分镜、提示词或实际生图，由下方模式决定 | 已有分镜和图片 |
| 剪映草稿 / `draft` | 素材核对、必要音文对齐、时间轴、运镜、导出草稿 | 已有或本次上游产物 |

- “只写稿” → 仅 write；“只做配图” → 仅 illustrate；“现有素材做剪映草稿” → 仅 draft。
- “写稿并生成20张图” → write、illustrate；“写稿、配图、做剪映草稿一条龙” → 三项开启，但仍检查最终配音等前置素材。
- “配图并做草稿”包含实际图片产物，可进入 generate；“只出分镜/提示词，再做草稿”不授权生图，缺图时交付已完成部分和缺口。
- “继续配图”“只重做第8镜”只开启这次要求的阶段；继承当前项目已确认设置和可用产物，不沿用上次全开的操作范围。
- 开关与自然语言明显矛盾时澄清冲突；能独立推进的部分先做。非必要设置从当前项目或模块默认值取得，不逐阶段要求确认。
- 阶段关闭不代表它的已有素材不可用。缺必要素材时不暗中开启写作、生图、配音或本地 MP4；已开启且不依赖缺口的工作继续完成。

新项目或跨阶段接续时读取 [项目记录与版本](references/project-state.md)。已有用户目录直接使用；无目录时在当前工作区创建可辨识项目目录。不要把创作产物写进技能目录。

## 赛道与写作风格

仅开启写作时才选择写作分支。先从用户描述推断；“秦怡人物故事，按玉玲风格”已足够，不重复问。真实人物也能用历史叙事写法，人物姓名本身不强制人物风。

| 内容赛道 | 写作风格 / `writing_profile` | 何时读取 |
| --- | --- | --- |
| 历史 / `history` | 历史叙事 / `historical-narrative` | 读取 [历史写作](modules/history-writing/GUIDE.md)，按其索引读取 DNA、相关5篇原稿、核史与字数工具 |
| 人物故事 / `biography` | 玉玲人物故事 / `yuling-characterstory` | 先读 [人物写作适配](references/biography-writing.md)，再读 [人物模块](modules/characterstory-writing/GUIDE.md) 和其引用的 DNA |
| 民间故事等新赛道 | 尚未内置专用 profile | 用户实际提出时读 [扩展赛道](references/extending.md)；可按用户指定故事版本做普通创作，标明性质，不伪称已蒸馏专用风格 |

所有真实历史、人物稿先读 [事实与风格优先级](references/fact-and-style.md)。有依据的事实优先于文风要求；人物模板中的精确数字、引语、苦难场景都不得凭空补造。历史风与人物风的结构和结尾规则各自生效，不混用。

只要选题或开头时停在对应产物。最终纯正文单独保存，按用户计数口径校验；无指定口径时复用历史模块的 Unicode 字母数字计数规则。事实表、时间线和来源保存在项目中，不自动写回语料库。

## 配音衔接

保留三个主开关，配音作为独立可调用的衔接步骤。写完定稿后提示可继续豆包配音；用户只要文稿或明确不要配音时不发送合成请求。

### 缺少最终配音时：必须先给出两条路径

凡口播任务需要音频对齐而当前没有可用的本期最终配音，必须在首次发现缺口时读取[豆包配置与配音](references/doubao-voice.md)，主动提示用户选择以下方式。**用户只说“按这篇文稿配图并做剪映草稿”、没有明确说“配音”，也触发本规则。不得仅回复“缺音频，请提供MP3”便结束。**

1. **配置豆包语音，由Agent生成本期MP3。** 说明需要开通语音服务、通过安全入口配置语音API Key，并提供准确的speaker ID和模型资源resource_id；Agent负责检查及配置本地调用端，确认本期音色、资源、语速和朗读范围后合成。复刻音色的可选model与resource_id分别记录，不继承个人默认音色。
2. **用户自备本期最终MP3。** 接收文件或本地路径，由Agent核验音频、用本机Coli转录并核对全文，再接续带时间分镜、配图和草稿；不要求用户手工制作SRT。

可直接询问：“这期配音用哪种方式：配置豆包语音，由我生成MP3；还是你提供本期最终MP3？”同时说明Key通过安全入口配置，不在聊天中粘贴。

用户已提供可用音频、已选择上述路径或已确认本期配音参数时沿用，不重复询问。等待选择期间继续不依赖音频的工作；未收到选择不默认同意合成，不发送付费请求。仅维护本技能、独立插图/封面/静态图文、明确不依赖音频的文本分镜不触发本规则。用户要求全部重新制作或禁止复用旧素材时，应按“没有可用的本期最终配音”处理，不以旧项目音频代替本次选择。

配音前确认本期准确音色、资源、语速和朗读范围；本次已明确确认的参数不重问。Key只从宿主安全配置或技能目录之外的专用凭据存储读取，不写入项目或开源文件。用户需完成服务开通、Key获取及音色授权；依赖安装和本地配置由Agent完成。配置后用定稿生成MP3，再执行Coli转录、分镜、配图和草稿。已有最终音频优先复用。配音配置不自动开启未请求的配图或草稿，也不恢复火山字幕服务。

## 配图

仅 illustrate 开启时读取 [配图模块](modules/history-image/GUIDE.md)。保留三种模式：

| 请求 | `image_mode` | 交付边界 |
| --- | --- | --- |
| 按文稿拆镜、给其他 AI 生图 | `storyboard` | 完整分镜与独立提示词，不生图 |
| 完善已有分镜提示词 | `prompt` | 保留镜号和边界，不生图 |
| 生成图片、补图、改图 | `generate` | 只生成指定范围并检查实际图片 |

“只配图”且无法判断层级时询问要分镜提示词还是实际图片；等待期间可分析全文与时代。提示词、预期图片文件名和模型字段均不构成生图授权。

配图画风使用独立的 `style_id`：历史写实 `historical-realism`、厚涂历史漫画 `historical-comic`、黑白叙事 `monochrome-narrative`。本项目未选择时询问，等待期间可做无画风草稿；不能按写作风格、赛道或旧文件夹名称擅自选择。

实际生图前读[正文画风参考图库](modules/history-image/references/style-reference-library.md)，按已确认画风选同组参考并实际查看；工具支持时传入图片，固定本项目主基准，首张对照核验后再继续。记录参考ID、用途与实际传入状态。厚涂漫画和黑白叙事各附6张正文参考，历史写实暂用文字规则或本期匹配参考；图库人物不能代替本期身份与时代依据，封面另用封面参考。

口播项目遵守 **定稿 → 豆包配音或已有最终配音 → 本机Coli转录并核对 → 带时间分镜 → 生图 → 按同表剪辑**。已有且已核验的当前配音字幕可复用。缺音频时按配音衔接规则引导；尚未配置或未确认音色时只准备待对齐草稿，不编造时间。明确的独立插图、封面、静态图文或纯文本分镜按模块例外完成。

保留模块的封面规则：完整 generate 请求按所选画风处理封面，黑白叙事默认无封面；只做分镜/提示词不出封面，补图不重复生成已有封面。用户指定数量与不要封面的选择优先。首次实际生图时按模块询问是否需要开头首尾帧，未回答不增加这项产物，不阻挡已授权正文图。

## 剪映草稿

仅 draft 开启时读取 [草稿模块](modules/render-history-video/GUIDE.md) 及其语义核验、节奏与剪映说明。用户只调用 story-studio 即可；内部调用本技能的导出脚本。

- 复用已有文稿、音频、SRT、分镜和图片；关闭配图仍可为既有图片补做必要的 Coli 转录、音文与语义核验，不另写新稿或生新图。
- 使用上游已核验的显示 start/end 和图片映射，不重新均分。首镜从0秒显示，末镜覆盖完整配音；实际图片须与当前口播人物、时期及事件相符。
- 缺图、图错或关键时间无依据时完成诊断和可行修复，标明缺口，不交付为已核验成品；不暗中调用生图。缺少封面不阻挡正文草稿。
- 导出前用配置的Python运行 `"<story-studio目录>/scripts/check_handoff.py" "<版本目录>/plan.json" --review "<版本目录>/semantic_alignment.json"`。该工具检查计划、图片版本与语义记录的交接一致性，不替代人工查看图片和核对音文。退出码非0先处理，不直接导出。
- 默认竖屏1080×1920、30fps、整段配音、无显示字幕，推拉与切点缩放复用模块规则；用户明确要求优先。字幕用于定位不等于要上屏。
- 默认只出剪映草稿。除非用户明确要求本地 MP4，不因剪映不可用自动改走 ffmpeg 成片。
- 剪映导出直接调用 `pyJianYingDraft==0.3.1`。草稿目录优先使用 `--drafts-root`，其次 `JY_PROJECTS_ROOT` 或外部runtime配置，再读取剪映的草稿位置设置；新安装使用标准目录。已有自定义配置仍无法识别时由Agent查看剪映设置核对，不先要求用户复制路径。依赖缺失按自动初始化流程补齐。
- 修订使用新版本和新草稿名，默认不覆盖旧草稿；不要自动操作剪映10.x导出成片。

## 共用约束与交付

- 本机 Coli 是字幕路径；不调用火山字幕 API，不恢复其凭据，不用字符比例伪造精确时间。
- 内置模块是本技能的使用副本。模块文中的“本 skill 目录”指其 GUIDE.md 所在模块目录；`<story-studio目录>` 才是总技能根目录。使用实际绝对路径执行脚本。
- 总入口的阶段范围和事实规则优先于模块默认值。单个示例和验证结论不扩展为新赛道已验证能力。
- 本技能不携带作者账户或同步授权；创作或维护不自动推送、发布或修改其他安装副本。
- 技能源码、示例和语料索引仅保存通用参数与库内相对路径；不保存使用者的真实姓名、电脑用户名、联系方式、账户标识、私人文件位置、凭据或会话记录。运行配置从当前参数、外部环境或工具配置读取，不写回技能目录。
- 初始化在当前用户的数据目录保存配置和专用工具，不修改全局环境变量或其他技能源码，默认保留已有草稿。macOS/Linux的原生媒体库可通过系统包管理器安装，所需系统授权按实际环境处理。依赖下载失败或版本不兼容时修复具体问题，不静默切换其他实现。
- 根据实际完成情况交付文件链接，区分文稿、分镜提示词、已生成图片和草稿；说明待音频、缺图或未解决事项。关闭的阶段不写成已完成。
- 交付前攻击并修正最可能的3–5个问题：越过开关、事实或文风串用、音图版本错配、时代与人物漂移、时间轴或素材丢失。用字数、覆盖、时间与实际产物检查提供证据，不把文件存在或数值通过当作内容验收。

## 调用示例

```text
使用 $story-studio，只写一篇秦怡的人物故事口播稿，玉玲风格，约1500字。
```

```text
使用 $story-studio，把这篇定稿生成豆包MP3，再做Coli字幕、20张历史写实配图和竖屏剪映草稿。缺少语音配置时引导我提供API Key、音色ID和模型资源。
```

```text
使用 $story-studio，写作关、配图开、剪映草稿关。
用这个项目的定稿和最终配音，黑白叙事风，拆20镜，只出分镜和提示词。
```

```text
使用 $story-studio，把这个文件夹里的已有图片、分镜和配音做成剪映草稿。
写作关、配图关，不加字幕。
```
````

## File: README.md
upstream: https://github.com/konlu/story-studio/blob/HEAD/README.md

````text
<div align="center">

# 🎬 Story Studio · 故事工坊

**从「选题 → 文案 → 配音 → 配图 → 剪映草稿」的一站式 AI 短视频内容创作 Skill**

[![Skill Type](https://img.shields.io/badge/AI_Agent-Skill-blue?style=flat-square)](#)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE)
[![GitHub Stars](https://img.shields.io/github/stars/konlu/story-studio?style=flat-square)](https://github.com/konlu/story-studio)
[![Track](https://img.shields.io/badge/赛道-历史叙事_%7C_人物故事-orange?style=flat-square)](#)
[![ corpus](https://img.shields.io/badge/内置对标库-370%2B_篇高赞文案-success?style=flat-square)](#)
[![Visual](https://img.shields.io/badge/内置画风-3_套视觉体系_%2B_参考图库-purple?style=flat-square)](#)
[![Export](https://img.shields.io/badge/交付-可编辑剪映专业版草稿-ff69b4?style=flat-square)](#)

<p align="center">
  <b>用自然语言提需求，让 AI Agent 帮你走完短视频口播制作全流程。</b><br/>
  既能「一句话一条龙」生成完整剪映工程，也能像搭积木一样「只写稿 / 只优化开头钩子 / 只拆镜生图 / 用现成素材做剪映草稿」。
</p>

[✨ 核心亮点](#-核心亮点) • [🛠️ 四大核心模块详解](#️-四大核心模块详解) • [🚀 快速开始](#-快速开始) • [🎛️ 灵活的工作流开关](#️-灵活的工作流开关) • [💬 常用提示词示例](#-常用提示词示例) • [📦 依赖与隐私说明](#-依赖与隐私说明) • [☕ 赞赏支持](#-赞赏支持-sponsor) • [📬 联系方式](#-联系方式-contact)

</div>

---

## 📖 项目简介

**Story Studio（故事工坊）** 是专为 AI Agent（如 Claude Code、Codex、Cursor 等支持 Skill 的智能体）打造的一站式短视频内容创作技能包。

做历史或人物故事类短视频，往往要在**找选题、查史料、磨开头钩子、写口播稿、配音、对齐时间轴、拆分数十个分镜、保持AI生图画风一致、以及在剪映里一帧帧打关键帧做推拉运镜**之间反复横跳。

**Story Studio 把这一整套工业化流水线装进了一个 Skill 里：**

```mermaid
flowchart LR
    A[💡 选题与黄金钩子] --> B[✍️ 口播文案定稿]
    B --> C[🎙️ 豆包语音大模型 / 自备配音]
    C --> D[⏱️ Coli 本地转录对齐]
    D --> E[🎨 3大画风分镜与配图]
    E --> F[🎞️ 剪映专业版草稿导出]
```

- **不需要从头拼凑多个散装 Skill**：内部已深度整合写作、配音、语音识别、视觉分镜与剪映工程生成。
- **随时中断与接力**：你可以只让它写稿改钩子；也可以丢给它一篇现成文稿和一段你自己录好的 MP3 放进文件夹，让 Agent 直接读取并接力完成后续的字幕时间戳对齐、配图和剪映草稿编排。

---

## ✨ 核心亮点

- 🧠 **内置双王牌写作 Skill + 370+ 篇爆款对标文案库**：拒绝 AI 味大纲文！内置经过深度蒸馏的「历史叙事」与「真实人物故事/女性传奇」两套完整 Writing-DNA，涵盖选题策略、黄金 3 秒开头钩子库、句式节奏与史实核查机制。
- 🎨 **三套成熟配图画风 + 内置成品参考图库**：支持 **历史写实风**、**厚涂历史漫画风**、**黑白纪实叙事风**。内置高水准正文与封面参考图（Reference Images），生图时自动对照材质与光影，告别跨镜头画风漂移与年代穿帮。
- 🎙️ **双路径灵活配音 + 本地高精度时间戳对齐**：推荐直接接入 **豆包语音大模型（V3 双向流式）** 一键合成高表现力旁白；也支持**将自己提前准备好的配音 MP3 放入项目文件夹让 Agent 直接读取**。配合本地 **Coli（基于 sherpa-onnx）** 离线识别生成精准到字句的 SRT 时间轴，绝不按字数瞎猜时间。
- 🎞️ **真正可二次编辑的剪映专业版草稿**：基于 `pyJianYingDraft` 直接生成剪映工程文件。自动将 9:16 竖屏图片、完整配音铺上时间轴，并**自动写入覆盖全镜的慢推拉关键帧与切点冲击缩放（Punch Zoom）**，打开剪映即可预览微调并导出成片。
- ⚡ **零门槛自动环境初始化**：无需手动折腾 Python、Node.js、FFmpeg 或语音识别环境。首次调用时，告诉 Agent 一键配置，即可在用户独立数据目录完成便携环境搭建。

---

## 🛠️ 四大核心模块详解

### 1️⃣ 文稿创作：双风格 Writing-DNA + 370+ 篇对标文案库

不只是简单地让大模型“写篇故事”，Story Studio 内置了两个完整的专业级写作子模块，提炼自数百篇视频号与短视频平台的高赞爆款逐字稿：

| 内置写作风格                                | 适用赛道与特点                                                                                                                                                                                                             | 内置语料与 DNA 武器库                                                                                                                                                                            |
| :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **📜 历史叙事风**<br>`historical-narrative`  | **把历史中值得追问的一件事讲透**<br>• 开头抛出具体历史反常或核心问题<br>• 正文以人物行动、制度条件与连锁后果推进<br>• 结尾严密兑现开头悬念，拒绝空泛升华                                                                   | • **57 篇** 头部爆款历史叙事逐字稿与结构拆解<br>• **9 类黄金开头钩子机制**（逐篇前几秒文字窗口分析）<br>• 内置《选题库》《史实与素材核验》《字数与查重工具》                                     |
| **👩 人物故事风**<br>`yuling-characterstory` | **真实历史人物与传奇女性连载/单集**<br>• 经典节奏：`钩子先行 → 巅峰数字 → 可谁也没想到 → 磨难场景 → 金句收尾`<br>• 极具感染力的情感锚点（「您说……怎么会……」与精确数字节点）<br>• 支持单集深度人物传记或 2~3 集连续剧式排期 | • **300+ 篇** 头部爆款逐字稿深度蒸馏全套人物写作 DNA<br>• 覆盖民国名媛、巾帼英雄、时代先驱、传奇母亲等多赛道高赞对标库<br>• **A/B/C/D/E 五大类开头钩子模板** + 选题策略 DNA + 情绪升华与金句模板 |

**💡 写作模块能帮你做什么细节优化？**
- **爆款选题策划**：不知道发什么？指定朝代或人物方向，Agent 结合 370+ 篇对标库为你策划具备戏剧张力的选题卡与切入角度。
- **黄金开头钩子打磨**：觉得开头不够抓人？让 Agent 按「数字连排」「宿命定格」「反常画面」「结局前置」「历史时刻」等内置钩子 DNA，一口气产出 3~5 版不同切口的开头供你挑选。
- **史实优先与事实核查**：内置严格的《事实与风格优先级》规范——先建事实表与时间线，区分正史、争议与演义，绝不为了凑模板或押韵凭空捏造数字、引语和苦难情节。
- **精准字数控制与洗稿改稿**：支持按目标字数（默认正负 5% 内）严格扩写、缩写、续写或调整口播呼吸感。

---

### 2️⃣ 视觉分镜与配图：三大专属画风 + 时代考据与参考图库

配图模块将文字转化为贴合口播节奏的视觉画面，支持 **「只拆镜出提示词（交给其他工具生图）」「完善现有分镜」「直接调用生图工具出图」** 三种模式。

#### 🎨 内置三种高辨识度配图画风

| 画风名称 (`style_id`)                          | 视觉特征与适用氛围                                                                                         | 内置参考图与封面策略                                                                                           |
| :--------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- |
| **🖌️ 厚涂历史漫画风**<br>`historical-comic`     | **强烈叙事张力与雕塑块面感**<br>可见厚涂破碎笔触、赭金与焦褐色调、冷暖对比强烈、极具戏剧张力与电影镜头感   | • 内置 **6 张** 正文风格基准图 (`HC01`~`HC06`)<br>• 默认附带 **3:4 竖版 + 4:3 横版** 两张厚涂金箔榜书标题封面  |
| **📷 黑白纪实叙事风**<br>`monochrome-narrative` | **克制、厚重的近现代人物传记感**<br>纯正黑白灰阶、胶片摄影质感、细腻的面部年龄纹理与时代光影，情绪深沉克制 | • 内置 **6 张** 正文黑白摄影基准图 (`MN01`~`MN06`)<br>• 默认纯享无字正文图；可选配专属「黑白人物金红书法封面」 |
| **🏞️ 历史写实风**<br>`historical-realism`       | **自然沉稳的传统历史解说质感**<br>自然人物比例与真实光照、细腻柔和的写实绘画质感、克制的冷暖色彩关系       | • 内置完整时代考据与细节密度样例<br>• 默认附带 **3:4 竖版 + 4:3 横版** 两张同画风标题封面                      |

**🔍 为什么它生成的配图不违和、不穿帮？**
1. **先音频后分镜（Audio-First）**：绝不把文稿机械均分！先根据真实配音的 SRT 时间戳，按约 8 秒/图的叙事节奏规划镜头切点，确保**第一句话从第 0 帧就有对应画面**，且画面严格匹配当前正在讲的句子。
2. **逐镜时代与人物年龄阶段考据**：自动识别每一镜所处的朝代、地域与人物年龄阶段（如青年、中年、晚年），将衣冠发式、建筑形制、器物货币落实到独立提示词中；近现代真实人物支持按时期检索对标历史原照。
3. **参考图锚定机制**：生图时自动读取并传入内置同画风参考图（Reference Image），首图核验笔触与色调后再批量生成，大幅降低多镜头画风漂移。
4. **片头动态视频首尾帧设计（可选）**：首次生图时可选择额外生成黄金前 6 秒的「首帧 + 尾帧 + 图生视频运镜提示词」，方便你用视频大模型制作极具吸引力的动态片头。

---

### 3️⃣ 配音与字幕对齐：豆包语音大模型 / 自备音频双通道

配音是连接「好文案」与「精准画面节奏」的核心桥梁。Story Studio 提供两条极其顺畅的配音路径：

#### 路径 A：推荐配置「豆包语音大模型」，由 Agent 全自动合成
- 基于火山引擎豆包语音 **V3 双向流式 WebSocket 协议**，支持最新的 `seed-tts-2.0`（2.0通用高表现力音色）与 `seed-icl-2.0`（声音复刻2.0音色）。
- **安全省心**：你只需在[豆包语音控制台](https://console.volcengine.com/speech/new)获取 `API Key`、`speaker ID（音色ID）` 和 `resource_id`。API Key 支持通过系统加密存储（Windows DPAPI / macOS & Linux 0600 权限文件）或环境变量保存，**绝不写入代码仓库或项目明文**。
- **防重复扣费与完整性核验**：合成前确认音色与语速，合成后自动通过 `ffprobe/ffmpeg` 校验音频完整性，并记录文本与音频哈希，同稿同音色绝不重复发起收费请求。

#### 路径 B：提前准备好配音 MP3，放入文件夹让 Agent 直接读取
- 如果你习惯使用剪映克隆音色、其他 TTS 软件，或者**真人自己录好音**，只需将最终的 `.mp3` 音频文件丢进项目文件夹，告诉 Agent：*“配音我已经放进文件夹了，直接用这个音频继续做分镜和剪映草稿”*。
- Agent 会自动读取你的音频文件，跳过云端合成，直接进入下一步的本地字幕对齐。

#### ⏱️ Coli 本地离线语音识别与音文核验
- 无论采用哪种配音方式，Agent 都会调用本地 **Coli（基于 sherpa-onnx）** 离线生成带精准时间戳的 `.srt` 字幕，并**自动对照你的定稿原文核对人名、地名与专有名词**，为后续分镜提供毫秒级的时间依据。

---

### 4️⃣ 剪映专业版草稿导出：推拉运镜与时间轴一键成型

所有素材就绪后，Story Studio 会直接生成**剪映专业版（JianYing Pro）可识别的本地草稿工程**：

- **语义对齐核验（Semantic Alignment）**：导出前自动执行 `check_handoff.py` 与逐镜语义核查，确保每一张图片出现的时间段，正好对应口播里讲到的那个人物和事件。
- **电影感动态运镜（拒绝死板静帧）**：
  - **全镜缓入缓出慢推拉**：每张图从切入到切出，自动计算平滑的推拉幅度（默认约 16~20 秒走完 12% 幅度，根据镜长智能自适应，远景与人物贴边分别优化），全程流动不停滞。
  - **切点冲击缩放（Cut Punch）**：在常规镜头切换处自动写入慢速出镜推近（`1.28x`）与进镜拉回（`1.50x`）关键帧，既保留视觉呼吸感与冲击力，又避免了剪映自带转场容易出现的闪黑帧问题。
- **防素材丢失与纯净交付**：所有图片与音频自动复制进剪映草稿目录，默认 1080×1920（9:16 竖屏）、30fps、铺满整段配音；默认不强制上屏字幕（需要时只需说一句“加上可编辑字幕”）。
- **可选本地 FFmpeg 渲染**：如果你不需要进剪映微调，也可以明确要求使用内置的高精度亚像素仿射变换脚本，直接在本地渲染输出 `final.mp4`。

---

## 🚀 快速开始

### 第一步：一键安装 Skill（提供三种超简便方式）

你可以根据自己的使用习惯，选择以下任意一种方式进行一键安装：

#### 方式 A（最推荐·零操作）：在 AI 对话框中发一句话，让 Agent 自动安装
如果你的 Agent（如 Codex、Claude Code、Cursor 等）拥有终端执行权限，你**连命令行都不用打开**，直接在任意对话框中发送：

```text
请帮我把这个 GitHub 仓库克隆安装到你的 skills 目录，并完成依赖环境检查：
https://github.com/konlu/story-studio
Agent 会自动识别自身 skills 目录（如 `~/.codex/skills/story-studio`），自动拉取并完成接入！

---

#### 方式 B（极客·一行命令直达）：终端一条命令克隆
打开终端（Terminal 或 PowerShell），粘贴对应系统的一行命令即可：

```powershell
# Windows (PowerShell)
git clone https://github.com/konlu/stor
````
