0给定一份含逐镜头文字描述的故事脚本,StoryMem 可生成兼具吸引力的 1 分钟多镜头叙事视频,人物连贯性极强,且画面具备电影级画质。该效果通过记忆条件控制的单镜头视频扩散模型逐镜头生成实现。更多细节及视频效果详见项目官网。







本手册介绍如何使用 StoryMem WebUI 界面生成多镜头长视频故事。
启动服务后,在浏览器中打开:
http://localhost:7860
如果使用远程服务器,将 localhost 替换为服务器 IP 地址。
StoryMem WebUI 包含四个主要功能页面(Tab):
| Tab | 功能说明 | 推荐用户 |
|---|---|---|
| ⚡ 快速开始 | 预设模板一键生成 | 新手用户 |
| 铧 高级配置 | 全参数自定义配置 | 高级用户 |
| ✍️ 故事编辑器 | 自定义故事脚本 | 创作用户 |
| 📜 生成历史 | 查看历史记录 | 所有用户 |
操作步骤:
内置模板示例:
| 模板名 | 描述 | 镜头数 |
|---|---|---|
| 林黛玉传 | 经典文学人物故事 | 20+ |
| 黑客帝国 | 科幻动作风格 | 15+ |
| 海边日落 | 简单风景测试 | 1 |
| 参数 | 说明 | 推荐值 |
|---|---|---|
| 输出分辨率 | 视频尺寸 | 480*832(竖屏)832*480(横屏)1280*720(高清) |
| 随机种子 | 控制生成随机性 | 0 = 随机固定数字 = 可复现 |
| LoRA 模式 | 连续帧生成策略 | MI2V: 使用首帧参考MM2V: 使用前5帧参考 |
| 最大记忆帧数 | 记忆库容量 | 5-10 帧推荐影响角色一致性 |
生成时间参考(RTX 3090,40步采样):
生成过程中可以实时查看:
| 参数 | 说明 | 调优建议 |
|---|---|---|
| 采样器 | 去噪算法 | unipc: 更快dpm++: 更高质量 |
| 采样步数 | 去噪迭代次数 | 40: 推荐10-30: 更快50-100: 更高质量 |
| 采样偏移 | 时间步调度 | 4.0: 默认调高可改善动态效果 |
| CFG 强度 | 提示词遵循度 | 3.5: 默认调高更严格遵循提示词 |
| 参数 | 说明 |
|---|---|
| 最大记忆帧数 | 记忆库保留的最近镜头数量 |
| 固定关键帧 | 始终保留的前 N 个关键帧(确保开头一致性) |
首帧模式:
t2v_first_shot: 第一镜头使用纯文本生成m2v_first_shot: 第一镜头也需要参考图像连续帧模式:
mi2v: 每个新镜头只参考首帧mm2v: 每个新镜头参考前 5 帧无: 不使用记忆机制| 选项 | 说明 | 显存节省 |
|---|---|---|
| CPU 卸载 | 生成后释放 GPU 显存 | ~5GB |
| T5 在 CPU | 文本编码器放 CPU | ~3GB |
| DiT FSDP | 多 GPU 并行(需要多卡) | - |
| T5 FSDP | 多 GPU 并行(需要多卡) | - |
| 参数 | 说明 |
|---|---|
| LoRA 模式 | MI2V 或 MM2V 权重 |
| LoRA Rank | LoRA 秩数(通常使用 128) |
如需使用其他模型版本,可在此配置:
留空则使用默认路径。
点击「📝 加载示例」查看标准故事脚本格式。
{
"story_name": "我的故事",
"story_overview": "故事简述",
"scenes": [
{
"scene_num": 1,
"video_prompts": [
"镜头1描述...",
"镜头2描述..."
],
"cut": [true, false]
}
]
}
字段说明:
story_name: 故事名称story_overview: 故事概述scenes: 场景列表
scene_num: 场景编号video_prompts: 镜头描述列表cut: 场景切换标记(true 表示新场景开始)点击「✅ 验证格式」检查脚本是否符合规范。
story/custom/ 目录dpm++ 采样器unipc 采样器mm2v 模式(更多参考帧)镜头描述要具体:
保持风格连贯:所有镜头使用相似的语言风格
合理控制长度:
快速测试:
分辨率: 480*832
采样步数: 20
采样器: unipc
LoRA 模式: MI2V
高质量输出:
分辨率: 832*480 或 1280*720
采样步数: 50
采样器: dpm++
CFG 强度: 4.5
LoRA 模式: MM2V
记忆帧数: 8
节省显存:
CPU 卸载: 启用
T5 在 CPU: 启用
分辨率: 480*832
生成完成后,输出目录包含:
outputs/run_<seed>/
├── shots/ # 单镜头视频
├── scenes/ # 场景拼接视频
└── final/ # 最终完整视频
本章节专门针对使用 NVIDIA A800 (80GB) 显卡的用户提供优化配置。
重要: A800 是 Ampere 架构 GPU,Flash Attention 2 是最佳选择。
| 版本 | 适用架构 | A800 状态 |
|---|---|---|
| Flash Attention 2 | Ampere (A100/A800) | ✅ 已安装 2.8.3 |
| Flash Attention 3 | Hopper (H100/H800) | ❌ 不适用 |
无需安装 Flash Attention 3,它专为 H100/H800 优化,在 A800 上性能提升有限。
适用场景: 单卡 A800 80GB
WebUI 配置:
CPU 卸载: ✅ 启用
T5 在 CPU: ❌ 关闭(显存充足时)
DiT FSDP: ❌ 单卡不适用
T5 FSDP: ❌ 单卡不适用
命令行启动:
python pipeline.py \
--story_script_path ./story/daiyu.json \
--t2v_model_path ./models/Wan2.2-T2V-A14B \
--i2v_model_path ./models/Wan2.2-I2V-A14B \
--lora_weight_path ./models/StoryMem/Wan2.2-MI2V-A14B \
--size "832*480" \
--max_memory_size 10 \
--offload_model \
--t2v_first_shot \
--mi2v \
--output_dir ./results
适用场景: 8卡 A800 80GB(最优配置)
WebUI 配置:
CPU 卸载: ❌ 关闭
T5 在 CPU: ❌ 关闭
DiT FSDP: ✅ 启用
T5 FSDP: ⚠️ 可选(显存紧张时启用)
命令行启动 (推荐):
torchrun --nproc_per_node=8 pipeline.py \
--story_script_path ./story/daiyu.json \
--t2v_model_path ./models/Wan2.2-T2V-A14B \
--i2v_model_path ./models/Wan2.2-I2V-A14B \
--lora_weight_path ./models/StoryMem/Wan2.2-MI2V-A14B \
--size "832*480" \
--max_memory_size 10 \
--dit_fsdp \
--ulysses_size 8 \
--t2v_first_shot \
--mi2v \
--output_dir ./results
极致性能配置:
torchrun --nproc_per_node=8 pipeline.py \
--story_script_path ./story/daiyu.json \
--t2v_model_path ./models/Wan2.2-T2V-A14B \
--i2v_model_path ./models/Wan2.2-I2V-A14B \
--lora_weight_path ./models/StoryMem/Wan2.2-MI2V-A14B \
--size "1280*720" \
--max_memory_size 15 \
--dit_fsdp \
--t5_fsdp \
--ulysses_size 8 \
--convert_model_dtype \
--t2v_first_shot \
--mi2v \
--output_dir ./results
| 参数 | 单卡 | 多卡(8x) | 说明 |
|---|---|---|---|
--offload_model | ✅ 启用 | ❌ 关闭 | 模型卸载到CPU节省显存 |
--dit_fsdp | ❌ 不可用 | ✅ 启用 | DiT模型FSDP分片 |
--t5_fsdp | ❌ 不可用 | ⚠️ 可选 | T5文本编码器FSDP |
--t5_cpu | ⚠️ 显存不足时 | ❌ 不推荐 | T5放CPU上 |
--ulysses_size | 1 | 8 | 序列并行大小=GPU数 |
--convert_model_dtype | 可选 | ✅ 推荐 | 转换模型精度 |
| 配置 | 分辨率 | 单镜头耗时 | 10镜头耗时 |
|---|---|---|---|
| 单卡 + offload | 832*480 | ~40秒 | ~7分钟 |
| 8卡 + FSDP | 832*480 | ~15秒 | ~3分钟 |
| 8卡 + FSDP | 1280*720 | ~25秒 | ~5分钟 |
Q: 显存不足 (OOM) 怎么办?
--offload_model 和 --t5_cpu--t5_fsdpQ: 生成速度慢怎么办?
--dit_fsdp480*832Q: 质量与速度如何平衡?
版本: 1.1 更新日期: 2025-12-28 技术支持: 科哥 | 微信:312088415
认证作者

支持自启动