FireRed-OpenStoryline / README_zh.md
xusijie
Clean branch for HF push
06ba7ea

FireRed-OpenStoryline 将复杂的视频创作转化为自然直观的对话体验。兼顾易用性和企业级可靠性,让视频创作对初学者和创意爱好者都变得简单友好。

FireRed,字面意思红色的火苗,取自“星星之火,可以燎原”。我们将这团火苗取名为 FireRed,就是希望将我们在真实场景中打磨出的 SOTA 能力,像火种一样撒向旷野,点燃全球开发者的想象力,共同改变这个 AI 的世界。

✨ 核心特性

  • 🌐 智能素材搜索与整理: 自动在线搜索并下载符合你需求的图片和视频片段。基于用户主题素材进行片段拆分与内容理解
  • ✍️ 智能文案生成: 结合用户主题、画面理解与情绪识别,自动构建故事线及契合的旁白。内置少样本(Few-shot)仿写能力,支持通过输入参考文本(如种草测评、日常碎碎念等)定义文案风格,实现语感、节奏与句式的精准复刻。
  • 🎵 智能推荐音乐、配音与字体:支持导入私有歌单,根据视频内容和情绪自动推荐背景音乐并智能卡点。只需描述"克制一点","偏情绪化","像纪录片旁白"等风格,系统即可匹配合适的配音与字体,保证整体风格协调统一。
  • 💬 对话式精修:支持快速删减、替换或重组片段;修改任意字幕文案;调整文字颜色、字体、描边、位置等视觉元素——所有操作均通过自然语言完成,即改即得。
  • 剪辑技能沉淀: 可一键保存为专属剪辑Skill,记录完整的剪辑逻辑。下次只需更换素材并选择对应Skill,即可快速复刻同款风格,实现高效批量生产。

🏗️ 架构

openstoryline 架构

✨ 演示案例

种草视频 幽默有趣 好物分享 文艺风格
开箱视频 宠物说话 旅行Vlog 年终总结
🎨 效果说明:受限于开源素材的版权协议,第一行默认演示中的元素(字体/音乐)仅为基础效果。强烈建议接入自建元素库教程,解锁商用级字体、音乐、特效等,可实现显著优于默认效果的视频质量。
⚠️ 画质注:受限于README展示空间,演示视频经过极限压缩。实际运行默认保持原分辨率输出,支持自定义尺寸。
Demo中:第一行为默认开源素材效果(受限模式),第二行为小红书App「AI剪辑」元素库效果。👉 点击查看体验教程
⚖️ 免责声明:演示中包含的用户自摄素材及品牌标识仅作技术能力展示,版权归原作者所有,严禁二次分发。如有侵权请联系删除。

📦 安装

1. 克隆仓库

# 如果没有安装git,参考官方网站进行安装:https://git-scm.com/install/
# 或手动打包下载,并解压
git clone https://github.com/FireRedTeam/FireRed-OpenStoryline.git
cd FireRed-OpenStoryline

2. 创建虚拟环境

按照官方指南安装 Conda(推荐Miniforge,安装过程中建议勾选上自动配置环境变量):https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html

# 要求python>=3.11
conda create -n storyline python=3.11
conda activate storyline

3. 资源下载与依赖安装

3.1 一键安装(仅支持Linux和MacOS)

sh build_env.sh

3.2 手动安装

A. MacOS 或 Linux
  • Step 1: 安装 wget(如果尚未安装)

    # MacOS: 如果你还没有安装 Homebrew,请先安装:https://brew.sh/
    brew install wget
    
    # Ubuntu/Debian
    sudo apt-get install wget
    
    # CentOS
    sudo yum install wget
    
  • Step 2: 下载资源

    sh download.sh
    
  • Step 3: 安装依赖

    pip install -r requirements.txt
    
B. Windows
  • Step 1: 准备目录:在项目根目录下新建目录 .storyline

  • Step 2: 下载并解压:

  • Step 3: 安装依赖

    pip install -r requirements.txt
    

🚀 快速开始

注意:在开始之前,您需要先在 config.toml 中配置 API-Key。详细信息请参阅文档 API-Key 配置

1. 启动 MCP 服务器

MacOS or Linux

PYTHONPATH=src python -m open_storyline.mcp.server

Windows

$env:PYTHONPATH="src"; python -m open_storyline.mcp.server

2. 启动对话界面

  • 方式 1:命令行界面

    python cli.py
    
  • 方式 2:Web 界面

    uvicorn agent_fastapi:app --host 127.0.0.1 --port 7860
    

🐳 Docker 部署

如果未安装 Docker,请先安装 https://www.docker.com/products/docker-desktop/

拉取镜像

docker pull openstoryline/openstoryline:v1.0.0

启动镜像

docker run \
  -v $(pwd)/config.toml:/app/config.toml \
  -v $(pwd)/outputs:/app/outputs \
  -p 7860:7860 \
  openstoryline/openstoryline:v1.0.0

启动后访问Web界面 http://127.0.0.1:7860

📁 项目结构

FireRed-OpenStoryline/
├── 🎯 src/open_storyline/           核心应用
│   ├── mcp/                         🔌 模型上下文协议
│   ├── nodes/                       🎬 视频处理节点
│   ├── skills/                      🛠️ Agent 技能库
│   ├── storage/                     💾 Agent 记忆系统
│   ├── utils/                       🧰 工具函数
│   ├── agent.py                     🤖 Agent 构建
│   └── config.py                    ⚙️ 配置管理
├── 📚 docs/                         文档
├── 🐳 Dockerfile                    Docker 配置
├── 💬 prompts/                      LLM 提示词模板
├── 🎨 resource/                     静态资源
│   ├── bgms/                        背景音乐库
│   ├── fonts/                       字体文件
│   ├── script_templates/            视频脚本模板
│   └── unicode_emojis.json          Emoji 列表
├── 🔧 scripts/                      工具脚本
├── 🌐 web/                          Web 界面
├── 🚀 agent_fastapi.py              FastAPI 服务器
├── 🖥️ cli.py                        命令行界面
├── ⚙️ config.toml                   主配置文件
├── 🚀 build_env.sh                  环境构建脚本
├── 📥 download.sh                   资源下载脚本
├── 📦 requirements.txt              运行时依赖
└── ▶️ run.sh                        启动脚本

📚 文档

📖 教程索引

TODO

  • 添加口播类型视频剪辑功能
  • 添加音色克隆功能
  • 添加更多的转场/滤镜/特效功能
  • 添加图像/视频生成和编辑能力
  • 支持GPU渲染和高光裁切

致谢

本项目基于以下优秀的开源项目构建:

核心依赖

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

⭐ Star History

Star History Chart