- name
- horror-narrator
- description
- 恐怖故事视频创作工坊 — 把任意恐怖故事变成1分钟视频。帧帧有画,句句有声。 提供恐怖叙事技巧、画风规范、配音节奏、BGM设计等全套创作规则, 并通过 MiniMax mmx CLI 执行:搜故事→拆帧→生图→配音→配乐。 触发词:恐怖故事视频,鬼故事制作,灵异视频,有声鬼故事,恐怖插画视频。
- type
- skill
- user-invocable
- true
- argument-hint
- [<故事主题或已有故事文本>]
# Horror Narrator — 恐怖故事视频创作工坊
把任意恐怖故事变成一段约 60 秒的视频:6 帧画面 + 6 段旁白 + 1 段氛围 BGM。
**本 skill 是一套创作系统,不生成故事本身。** 故事由用户直接提供,或由 skill 从网上搜索改编。
skill 负责:拆帧技巧、旁白编写、插画规范、配音节奏、BGM 设计、执行生成。
---
## 创作目标
| 元素 | 时长 | 说明 |
|------|------|------|
| 每帧旁白 | 8-10 秒 | 65-80 中文字符,speed 0.85 |
| 总旁白 | ~54 秒 | 6 帧 |
| BGM | 全程 | 恐怖氛围背景音乐 |
| **总时长** | **~60 秒** | |
---
## 环境检查
每次加载 skill 按顺序检查:
1. mmx CLI 是否安装:`command -v mmx && mmx --version || echo "mmx_not_found"`
2. mmx 是否已认证:`mmx quota show --output json --quiet 2>/dev/null || echo "mmx_not_authed"`
| 状态 | 动作 |
|------|------|
| 未安装 | `npm install -g mmx-cli` |
| 未认证 | `mmx auth login --api-key <你的 Key>` |
| 认证失败 | https://platform.minimaxi.com/user-center/basic-information/interface-key |
| 就绪 | 继续流程 |
---
# 第一部分:创作规则手册
> 以下规则是恐怖内容创作的核心理论,适用于所有恐怖故事视频。
---
## 规则 1:60 秒恐怖内容的叙事结构
60 秒必须讲完一个完整故事。用 **6 帧叙事弧线**:
```
帧1 铺垫 → 帧2 异兆 → 帧3 加剧 → 帧4 高潮 → 帧5 反转 → 帧6 收尾
```
**每帧只做一件事:**
| 帧 | 任务 | 禁忌 |
|----|------|------|
| 铺垫 | 建世界、让主角可信 | 不要上来就恐怖,太平无事才衬得出后面的恐怖 |
| 异兆 | 第一次不对劲 | 不要明说是鬼,让观众隐约感觉有问题 |
| 加剧 | 更多异常,恐惧积累 | 不要直接给答案,保持悬念 |
| 高潮 | 最恐怖的时刻 | 克制比直白更有效——声音/影子/痕迹 > 完整显形 |
| 反转 | 意外转折 | 反转要有逻辑支撑,不能为反转而反转 |
| 收尾 | 细思极恐 | 不要说完,用余韵让人睡不着 |
---
## 规则 2:旁白(Narration)的写作技巧
旁白是恐怖视频的灵魂。画面配合声音,声音带动情绪。
### 2.1 长度控制
- **每帧 65-80 中文字符**(不含标点)
- 超过 80 字:TTS 语速被迫加快,恐怖感消失
- 低于 65 字:内容太薄,撑不起 8-10 秒
### 2.2 五感写作法
不要只写"看到"什么。恐怖内容要让观众**身临其境**:
| 感官 | 示例 | 效果 |
|------|------|------|
| 视觉 | "镜子里,那个影子比他慢了半拍" | 最直接的恐怖触发 |
| 听觉 | "身后传来脚步声,但回头时,空无一人" | 想象比看见更恐怖 |
| 触觉 | "后背一阵阴冷,像是有人站在三步之外" | 身体本能恐惧 |
| 嗅觉 | "空气里弥漫着腐朽的甜腻气味" | 潜意识恐怖触发 |
| 第六感 | "他本能地停下脚步——没有理由,但他就是不敢再往前" | 原始恐惧 |
### 2.3 句式节奏
- **铺垫帧**:陈述句为主,舒缓,留白,营造假象平静
- **异兆帧**:疑问句或省略句,"似乎……""好像……",制造不确定感
- **加剧帧**:短句增多,节奏加快,"突然……""然后……",制造压迫感
- **高潮帧**:极短的片段,词与词之间留停顿,"它……转过头来……"
- **反转帧**:突然换视角或揭示真相,用"原来……""其实……"
- **收尾帧**:开放式或留白,"他再也没有……"(不说完)
### 2.4 避免平铺直叙
❌ 差:"他走进老宅,发现有鬼。"
✅ 好:"他推开那扇门,屋里空荡荡的。角落里,一杯茶还在冒着热气——但这里已经废弃了二十年。"
**核心原则**:旁白要"展示"(show),不要"告知"(tell)。告诉观众有鬼,恐怖感减半;让观众自己推断有鬼,恐怖感翻倍。
### 2.5 主角名字的使用
- 铺垫帧、异兆帧、加剧帧中**必须出现主角名字**(建立代入感)
- 高潮帧、反转帧、收尾帧**可以省略名字**(制造疏离感,增强恐怖)
- 名字通常是 2-3 个字,符合故事时代背景(书生/旅人/女孩/阿贵)
### 2.6 旁白 → 插画的对应关系
旁白描述的内容必须能在插画中**视觉化呈现**。每写完一段旁白,问自己:
- "这句话的画面感是什么?"
- "观众看到这张图,能不能不靠旁白就猜到发生了什么?"
---
## 规则 3:视觉风格规范
### 3.1 画风预设
| 风格 | 英文关键词 | 适用类型 |
|------|-----------|---------|
| **暗黑国风**(默认) | `dark Chinese ink painting, eerie traditional atmosphere, fog, temple, ancient Chinese horror` | 民间志怪、聊斋、老宅 |
| **哥特西式** | `gothic horror, Victorian mansion, candlelight, dark fantasy, oil painting style` | 洋房、吸血鬼、古堡 |
| **现代都市** | `cinematic horror, dim neon, modern apartment, urban legend, photorealistic, rain` | 都市怪谈、深夜电梯 |
| **像素复古** | `pixel art, 16-bit horror game, dark dungeon, retro game aesthetic, eerie` | 复古恐怖、游戏感 |
### 3.2 插画 Prompt 公式
所有插画 prompt 必须遵循以下结构:
```
dark, [STYLE_KEYWORDS], [SCENE_SPECIFIC_DESCRIPTION],
[EMOTION/ATMOSPHERE], [LIGHTING], cinematic composition, high detail
```
示例(暗黑国风,第 4 帧高潮):
```
dark, Chinese ink painting style, eerie traditional atmosphere, foggy night,
abandoned temple interior, red-robed female ghost descending from the ceiling,
long black hair covering face, flickering candle light, terrified lone traveler,
horror atmosphere, dramatic lighting, cinematic composition, high detail
```
### 3.3 插画风格注意事项
- **始终以 `dark` 开头**(MiniMax 图片模型对 dark 关键词响应最好)
- 包含**情绪词**(terrified/uneasy/horror/suspense)引导氛围
- **不要在 prompt 里写"血"**(gore/blood)——触发内容过滤且降低美学质量
- **避免全黑画面**——至少要有一点光源(烛光/月光/霓虹)让场景可辨识
- 暗黑国风优先用 `fog` / `lantern` / `traditional architecture`
- 现代都市优先用 `rain` / `neon` / `film grain`
### 3.4 各帧画面设计要点
| 帧 | 画面重点 | 构图建议 |
|----|---------|---------|
| 铺垫 | 交代场景,建立可信环境 | 广角,平静构图,留白 |
| 异兆 | 轻微异常,要细看才能发现 | 构图略微失衡,引导线指向异常处 |
| 加剧 | 明确的不对劲 | 俯视/仰视角度增加压迫感 |
| 高潮 | 恐怖来源核心画面 | 中心构图,光源在恐怖存在身后(逆光),或完全黑暗中的两点光 |
| 反转 | 揭示真相的关键画面 | 视角转换,揭示观众不知道的视角 |
| 收尾 | 余韵画面,空镜或悬念 | 留白多,暗示故事未完 |
---
## 规则 4:配音设计
### 4.1 恐怖配音三要素
| 要素 | 设置 | 效果 |
|------|------|------|
| **语速** | 正常或略慢(0.9-1.0) | 不要低于 0.9,会太拖 |
| **音调** | 偏低(pitch -1 ~ -2) | 低沉 = 沙哑 = 古老/来自黑暗 |
| **情绪** | 根据帧的阶段 | 从平静→疑问→恐惧→最压抑→突变→余韵 |
### 4.2 帧级配音参数
| 帧 | speed | pitch | 语气 |
|----|-------|-------|------|
| 1 铺垫 | 1.0 | 0 | 正常语速,像在叙述 |
| 2 异兆 | 1.0 | 0 | 正常,稍有疑问感 |
| 3 加剧 | 0.95 | -1 | 轻微紧张,压低声调 |
| 4 高潮 | 0.9 | -2 | 缓慢,压抑 |
| 5 反转 | 0.9 | -2 | 揭示真相,节奏稳定 |
| 6 收尾 | 0.95 | -1 | 余韵,留白感 |
### 4.3 配音音色选择
| 音色 | 适用场景 | 说明 |
|------|---------|------|
| `Chinese_expressive_narrator`(默认) | 所有类型 | 情感丰富,适合恐怖叙述 |
| 沙哑男声 | 民间志怪 | 古老感,像老人讲故事 |
| 空灵女声 | 诡异氛围 | 都市怪谈,有飘渺感 |
| 冷静男声 | 反差恐怖 | 越平静越恐怖,越慢越压抑 |
先查询可用音色:
```bash
mmx speech list-voices | head -50
```
---
## 规则 5:背景音乐设计
### 5.1 BGM 的功能层次
恐怖 BGM 不是一首曲子,而是**三层声音叠加**:
| 层次 | 内容 | 特点 |
|------|------|------|
| **底层** | 低频嗡鸣/持续低音 | 制造持续的不安感,人耳几乎不感知但身体能感受 |
| **中层** | 弦乐/钢琴/环境音 | 旋律或和声,随剧情起伏 |
| **顶层** | 特殊音效 | 脚步声、风声、远处低语、时钟滴答 |
### 5.2 BGM prompt 公式
```
[底层音色], [中层音色], [顶层音效], [节奏], [情绪], no lyrics, cinematic horror score
```
示例:
```
low drone, slow cello, distant whispers, wind howling, tension building,
eerie atmosphere, no lyrics, cinematic horror score, 60 seconds
```
### 5.3 BGM 与帧的对应
60 秒 BGM 建议分段落:
| 时段 | 对应帧 | 音乐状态 |
|------|--------|---------|
| 0-10s | 铺垫 | 极轻,几乎只有低频嗡鸣 |
| 10-20s | 异兆 | 弦乐开始,节奏极慢 |
| 20-35s | 加剧+高潮 | 低频增强,节奏加快,突然的静默(比声音更恐怖) |
| 35-50s | 反转 | 旋律突变,调性转换 |
| 50-60s | 收尾 | 回归低频,留白,没有完整的结束感 |
### 5.4 声音静默的力量
**最恐怖的时刻,往往是声音消失的那一秒。** 在高潮帧之后、反转帧开始前,可以考虑生成一段 1-2 秒的纯静默BGM片段,然后在反转帧突然爆发。不要让 BGM 从头到尾一直响。
---
## 规则 6:恐怖内容吸引力的底层逻辑
### 6.1 恐怖的两条路径
| 类型 | 机制 | 示例 |
|------|------|------|
| **Jump Scare** | 瞬间惊吓,肾上腺素激增 | 突然出现的鬼脸 |
| **Slow Burn** | 逐渐积累的不安感,事后回想更恐怖 | 镜子里慢半拍的倒影 |
**推荐走 Slow Burn 路线**——Jump Scare 只能吓人一次,Slow Burn 能让人睡不着。
### 6.2 恐怖内容的 6 大吸引力机制
1. **熟悉中的陌生**:"这是我家,但不是我记忆中的样子"——安全感被打破
2. **不可名状的恐惧**:"那个东西不是鬼,不是人,是……"——想象比已知更恐怖
3. **时间错位**:"二十年前的照片里,有今天在场的人"——不合理的存在
4. **循环宿命**:"他以为自己逃出来了,但……"——无法逃脱的宿命感
5. **旁观者视角**:"他看到的,和我们看到的是同一件事吗"——视角欺骗
6. **细思极恐**:"结尾了,但观众开始想:如果是我……"——代入后的恐惧
### 6.3 观众为什么会在 60 秒内看完
| 时间点 | 观众的期待 | 创作者的任务 |
|--------|-----------|------------|
| 0-5s | 这故事值不值得看 | 铺垫帧要设置"钩子"——一个奇怪但不解释的问题 |
| 5-20s | 会发生什么 | 异兆帧持续给线索,吊胃口 |
| 20-40s | 高潮够不够恐怖 | 高潮帧是核心,要克制但有力 |
| 40-55s | 反转够不够意外 | 反转帧要打破观众预期 |
| 55-60s | 值不值得分享 | 收尾帧要有"我也想吓别人"的冲动 |
**开场钩子技巧**(第 1 帧旁白结尾):
- "那是我最后一次见到阿贵——或者说,最后一次见到看起来像阿贵的人。"
- "那栋楼没有第十三层。但我确实按了。"
- "如果你在深夜听到有人在洗手间哭泣,记住:不要回应。"
### 6.4 中式恐怖的独特美学
中式恐怖有别于西方血腥恐怖的核心:**文化禁忌 + 日常熟悉感**。
| 西方恐怖 | 中式恐怖 |
|---------|---------|
| 血腥、暴力、怪物 | 日常物件(镜子/照片/灯笼)承载诅咒 |
| 直面怪物 | 怪物不直接露面,通过痕迹表现 |
| 物理伤害 | 精神侵蚀、宿命、无法逃脱 |
| 个人英雄逃脱 | "善恶有报"的道德恐怖,或无解的宿命 |
| 明确的怪物形象 | "红衣女鬼""纸人""枯井冤魂"的民间想象 |
**推荐用中式恐怖路线**——暗黑国风的视觉 + 民间志怪的故事 + 文化禁忌的设定,是当前内容市场最受欢迎的组合。
---
## 规则 7:故事来源与改编
### 7.1 故事来源优先级
| 优先级 | 来源 | 说明 |
|--------|------|------|
| 1 | 用户直接提供 | 质量最可控,直接跳 Step 1 |
| 2 | 网络搜索改编 | 用 `mmx search` 搜民间故事,AI 改写 |
| 3 | 经典故事重述 | 聊斋、目游、民间传说改写(注意版权边界)|
### 7.2 搜索改编流程
```bash
mmx search query --q "<关键词> 恐怖故事 民间 灵异 惊悚" --output json --quiet
```
找到素材后:
1. 提取核心恐怖元素(什么在吓人?为什么吓人?)
2. 保留核心,压缩/改写叙事结构适配 6 帧格式
3. 角色名和细节按需调整
### 7.3 故事筛选标准
好的恐怖故事素材具备:
- **一个核心恐怖点**(一个核心恐惧,贯穿全篇)
- **可视觉化的场景**(能画出画面)
- **有反转或悬念空间**(不是一眼看到头)
- **60 秒内可讲完**(情节不要太复杂)
---
# 第二部分:执行流程
> 规则手册到此结束。以下是执行流水线。
---
## 流程总览
```
Step 0: 输入故事
Step 1: 解析故事 → 拆成 6 帧(含旁白编写)
Step 2: 编写插画 prompt
Step 3: 确认脚本(用户审核)
Step 4: 并行生成画面 + 配音
Step 5: 生成 BGM
Step 6: 展示成果
Step 7: 播放 & 反馈
```
---
## Step 0:输入故事
**方式 1:用户提供故事文本**
直接粘贴完整故事 → 进入 Step 1
**方式 2:用户提供主题,skill 搜索改编**
用户给关键词(如"深夜电梯恐怖故事")→ skill 搜索 → 改编 → 进入 Step 1
**方式 3:用户给模糊需求**
"随便来一个恐怖故事" → skill 随机选择类型+场景+角色 → 搜索改编 → 进入 Step 1
---
## Step 1:解析故事 → 6 帧结构
将故事拆成 6 帧,每帧包含:
- **帧标题**(2-4 字)
- **旁白文本**(65-80 中文字符,按规则 2 技巧编写)
- **画面描述**(插画 prompt 的核心内容)
**拆帧方法**:
1. 找到故事的**核心恐怖点**(是什么在吓人?)
2. 找到故事的**反转点**(哪里出人意料?)
3. 分配到 6 帧中:铺垫 → 异兆 → 加剧 → 高潮 → 反转 → 收尾
4. 用**五感写作法**改写旁白
5. 为主角取一个符合故事背景的名字(2-3 字)
**输出格式**:
```
《故事标题》
【第1帧 — 铺垫】入宅
旁白:"王生推开那扇老宅的木门,院子里杂草丛生。二十年前这里还是镇上最气派的宅子,如今只剩下他和房东两个人。"
【第2帧 — 异兆】旧照
旁白:"客厅的墙上挂着一张老照片。他凑近看——照片里的女人穿着红嫁衣,但她的脸……被人刮花了。"
【第3帧 — 加剧】回声
旁白:"楼上传来脚步声。他抬头,天花板的灰尘簌簌落下。脚步声越来越近,越来越近——然后,突然停了。"
【第4帧 — 高潮】现身
旁白:"他转身。一个红衣身影就站在他身后,近到能闻到腐朽的气息。她慢慢抬起头——"
【第5帧 — 反转】旧照
旁白:"他猛然想起房东说的那句话:'这宅子里的女人,二十年前穿着红嫁衣上吊死了。'他低头看向那张照片——照片里,刮花的脸,正是他自己。"
【第6帧 — 收尾】空宅
旁白:"第二天,村里的人推开了这扇门。院子里空无一人,只有墙上那张老照片,又多了一张新的面孔。"
```
---
## Step 2:编写插画 Prompt
为每帧旁白编写英文插画 prompt(按规则 3)。
Prompt 结构:`dark, [STYLE], [SCENE], [EMOTION], [LIGHTING], cinematic, high detail`
**示例(暗黑国风,第 4 帧)**:
```
dark, Chinese ink painting style, eerie traditional atmosphere,
abandoned mansion interior, red-robed female ghost standing inches from a terrified man,
long flowing red dress, pale ghostly face, flickering candlelight,
horror atmosphere, dramatic low-angle lighting, cinematic composition, high detail
```
---
## Step 3:确认脚本
展示完整的 6 帧脚本(旁白 + 画面 prompt)供用户确认:
```
故事标题:xxx
类型:xxx | 风格:xxx
عرض على GitHub