文 / 莫潇羽@源码七号站 (www.fuyuan7.com)
转载请注明出处
📌 快速摘要
FireRed-OpenStoryline 是 FireRedTeam 团队在 2026 年 2 月正式开源的一款 AI 视频创作智能体,GitHub 上目前已经突破 2.2K Star,采用 Apache 2.0 协议。它最核心的能力就是把传统视频剪辑里那些繁琐的拖时间轴、找素材、配 BGM、写文案、加字幕等动作,全部封装成"自然语言对话"。一句话讲清楚你想要的视频风格,系统就能调度多个模型协同完成成片。
技术上它不是套壳工具,而是基于 LLM/VLM 双模型驱动,结合 MCP(模型上下文协议)服务器、状态化中间件、Agent 记忆系统构建的完整智能体框架。支持 Linux、macOS、Windows 三大平台,提供本地部署、Docker 镜像、OpenClaw Skill 安装三种使用方式,本地部署需要 Python 3.11+ 环境,Docker 部署最快几分钟即可跑起来。
🔥 这篇文章的价值: 莫潇羽@源码七号站会从原理、架构、安装、配置、实战、技巧六个维度把 FireRed-OpenStoryline 拆透,文末附完整 API Key 申请指南和踩坑总结。如果你只想知道结论 -> 这是目前国内开源圈里少有的"端到端"视频 Agent,值得花时间研究;如果你想动手部署 -> 往下看,我把每一步都写清楚了。
一、为什么传统视频剪辑这么难?
做内容这件事,真正动手剪过的人都知道,镜头按下去那一刻只是开始,后面的麻烦才是真正的大头。
很多创作者吐槽过同样的问题。拍一段产品展示,素材文件夹里堆得满满当当,几十甚至上百个片段一字排开,光是浏览一遍就要半小时;真要下手剪的时候,盯着时间轴里一段段缩略图,大脑直接卡顿——哪段该留、哪段要扔、节奏怎么把控、转场怎么衔接、BGM 用什么风格、字幕怎么排版,每一个细节都能让人纠结半天。
更让人崩溃的是,好不容易把粗剪做完了,客户或者老板一句"风格不对,重来",前面几天的功夫直接归零。这不是个例,而是这个行业的常态。
新手入门的门槛同样不低。Adobe Premiere Pro、DaVinci Resolve、Final Cut Pro 这些专业级软件,光是快捷键就有几百个,色彩工程、音频混剪、关键帧动画,每一项都需要系统学习。零基础的人就算每天泡在教程里,半年下来也未必能独立产出一支像样的片子。
所以很多人退而求其次,选择剪映这类轻量化工具。它的优势确实很明显——上手快、模板多、海量同款一键套用。但问题也随之而来,稍微进阶一点的功能就会触发会员墙,字幕样式、音效库、AI 抠图、超清导出,每一项都在不断扩大付费边界。对于想做长期内容、又不想被工具锁死的人来说,这种体验并不理想。
那么,有没有一种思路,能让"剪辑"这件事彻底变个玩法?
答案是有的——把工具的复杂度交给 AI,把判断权和审美保留给人。这就是莫潇羽@源码七号站今天要重点拆解的项目:FireRed-OpenStoryline。
二、FireRed-OpenStoryline 是什么?
简单一句话概括:它是一个用自然语言驱动的 AI 视频创作智能体。
你不需要打开剪辑软件,不需要拖动时间轴,不需要研究每个滤镜的参数。你要做的,只是用大白话告诉它:"帮我用这些素材做一段闺蜜旅行的种草视频,风格活泼一点,BGM 轻快些,字幕颜色用粉色",然后等着看成片。
这个项目由 FireRedTeam 团队在 2026 年 2 月 10 日正式开源,采用 Apache 2.0 许可证,这意味着开发者可以自由使用、修改、商用。截至目前,GitHub 仓库的 Star 数已经突破 2.2K,Fork 数也接近 260,在国内开源 AI 视频领域属于成长非常快的项目。
"FireRed"这个名字源自中文俗语"星星之火,可以燎原"。团队希望把在真实商业场景里磨出来的能力,像火种一样撒向开发者社区,让更多人参与到 AI 视频创作的演进里。这种命名方式背后传递的是一种开放和共建的态度,在当下这个开源生态里,确实少见。
跟市面上常见的"AI 剪辑插件"或"模板替换工具"不同,FireRed-OpenStoryline 是一个完整的端到端创作系统。它不依附于任何剪辑软件,而是从素材理解、文案生成、音乐推荐、字幕排版到最终成片导出,全流程独立完成。整个过程对用户来说,只表现为一段段对话。
三、核心特性详细拆解
为了让大家对它的能力有具体的认知,我把官方提到的五大核心特性逐一展开讲清楚。这部分不是简单罗列,而是结合源码七号站的使用观察和社区反馈,把每一项的实际价值挖出来。
智能素材搜索与片段理解
很多人做视频的第一步就卡在素材上。手头的物料不够,想去图库网站翻,结果一翻就是大半天,找到的素材风格还参差不齐。
FireRed-OpenStoryline 把这一步交给了 AI。系统接入了 Pexels 这类知识共享图库的 API,你只要描述主题,它会自动在线检索匹配的图片和视频片段并下载到本地。比如你说"我要一段海边日出的镜头",它就会去库里找相关画面,而不是让你自己手动搜索关键词。
更进一步的是,它对你自己上传的素材也能"看懂"。系统会调用视觉大模型(VLM)对每一段视频做镜头级别的拆分和内容理解,识别出每个画面里的元素、动作、情绪。这意味着当你说"用我那段在咖啡馆的片段"时,它不需要你手动去翻——它已经知道哪段是咖啡馆。
这背后用到的核心技术是镜头边界检测(Shot Boundary Detection)加上多模态语义对齐。镜头被切分成最小单元后,每段都会生成一段语义描述,后续的剪辑决策都基于这些描述展开。
智能文案生成与风格仿写
写文案是大多数创作者的硬骨头。同样一段画面,写得好叫"种草",写得不好叫"流水账"。
FireRed-OpenStoryline 的文案生成不是简单调用大模型让它"写一段视频脚本",而是把画面内容、情绪识别、用户主题三者结合起来,构建出有故事感的旁白。系统会先理解你给的素材在讲什么,再根据你的主题倾向构建叙事线,最后才生成与画面节奏匹配的旁白文字。
比这一切更实用的功能,是它内置的少样本仿写(Few-shot Imitation)能力。
意思是说,你可以把自己喜欢的某个博主的文案风格作为参考样本输入进去,系统会学习这种语感、节奏和句式特征,然后用相似的味道写你的内容。比如你给它一段小红书种草测评的范文,它输出的文案就会是那种短句多、情绪强、强种草感的风格;你给它一段日常碎碎念,它就会变得轻松、口语化、生活感拉满。
这一招对内容矩阵非常友好。源码七号站观察到,有不少用户把它用作风格统一工具——同一个账号的视频文案保持调性一致,而不是每条都像换了一个人在写。
智能音乐推荐与卡点匹配
BGM 选不好,再好的画面也撑不起来。专业剪辑师在选 BGM 这件事上,经验值往往是最值钱的部分。
这个项目内置了一个开源 BGM 库,同时支持你导入私有歌单。系统会根据视频内容的情绪曲线和节奏需求,自动推荐合适的背景音乐,并且做智能卡点——也就是让画面切换的节点和音乐的鼓点对齐,这是专业视频里很重要的一个细节。
字体和配音的选择也走的是同一套逻辑。你只需要用文字描述风格,比如"克制一点""偏情绪化""像纪录片旁白""年轻活泼"等等,系统就会从字体库里挑出最匹配的那几款,从配音库里选出最贴合的人声。这样最终成片的字体、配音、画面、音乐之间会保持一种整体感,不会让人感觉哪里突兀。
底层技术上,音频特征提取、节拍识别、情绪建模这些子任务都是独立模块,通过中间件协调输出。如果你对某一块不满意,可以单独换掉,不影响其他部分。
对话式精修——所见即所得
成片出来后,人总会想调整一些细节。传统剪辑里改一个字幕颜色都要回到时间轴上点开属性面板,而在这个系统里,你只需要说一句话:"把第三段的字幕颜色改成白色,描边加深一点"。
这种交互方式叫对话式精修,本质上就是让用户用自然语言描述意图,系统翻译成具体操作并执行。它支持的修改类型非常广,常见的有:
- 删减、替换或重组任意片段
- 修改字幕文案,包括错别字、语序调整
- 调整字幕的颜色、字体、描边、阴影、位置
- 替换 BGM 或调整音量曲线
- 调节配音的语速、音色、语气
- 修改转场效果和持续时间
每一次修改都是即改即得,不需要重新渲染整个项目。这背后依赖的是中间件对状态的精细管理——每一个改动都只影响相关的处理节点,而不是触发全流程重跑。这一点对效率提升非常关键。
剪辑技能沉淀——把流程变成可复用的资产
最后这个特性,在我看来才是它真正的杀手锏。
你做完一个视频后,可以把整个剪辑过程一键保存为一个Style Skill(风格技能)。这个 Skill 记录了你这次创作的完整逻辑——素材筛选标准、文案风格、配乐节奏、字幕样式、转场方式等等。下一次,你只要换上新素材,选择对应的 Skill,系统就能复刻出同样风格的视频。
这对需要批量产出内容的人来说,价值太大了。不再是每次都从零开始解释自己想要什么,而是把审美沉淀成可复用的模板。一周做十条视频和一周做一条,工作量差距大幅缩小。
源码七号站把这个特性理解为"创作 SOP 化"——把脑子里的隐性经验,变成 AI 能执行的显性流程。这也是 FireRed-OpenStoryline 区别于很多"一键生成"工具的关键之处:它不是黑盒,而是透明、可控、可复用的。
四、最新功能更新速递
这个项目的迭代速度非常惊人。从 2026 年 2 月开源到现在,短短一个多月时间,已经推出了几个重要更新。
AI 转场生成(2026-03)
这是一个相当硬核的功能。系统会根据前一个片段的结尾帧、后一个片段的开头帧,加上一段自然语言描述,自动生成一段过渡镜头。这意味着两个原本毫无关联的画面,可以通过 AI 生成的中间帧实现自然过渡,叙事的连贯性会显著提升。
底层支持的视频生成模型包括 MiniMax 海螺视频生成(MiniMax-Hailuo-02)、阿里通义万相(wan2.2-kf2v-flash)等。需要提醒一点:转场是逐段生成的,片段越多消耗越大,成本控制要心里有数。
基于 ASR 的口播视频粗剪(2026-03-22)
这个功能专门服务口播类视频创作者。很多人录口播时会有大量的口头禅、语气词、重复表达,后期剪掉这些是个体力活。
系统集成了 ASR(自动语音识别)能力,可以自动识别这些冗余词,并结合时间戳精准切分。粗剪完成后,你看到的就是一段干净流畅的口播,而不是充满"嗯""啊""那个"的原始素材。这一项功能背后用到的就是 FireRedTeam 自研的 FireRedASR2 模型,在中文识别上属于工业级 SOTA 水平。
OpenClaw 生态接入(2026-03-12)
OpenClaw 是一个 Agent Skill 平台,FireRed-OpenStoryline 接入了它,新增了两个 Skill:
- openstoryline-install:覆盖安装、配置和首次运行验证
- openstoryline-use:覆盖实际使用流程的启动和调用
这意味着你不需要懂太多技术,只要在 OpenClaw 里跟 Agent 对话:"我想体验 OpenStoryline,帮我装一下",它就会自动完成所有部署工作。对完全的小白来说,这是目前最简单的入门方式。
五、深度解析:它的架构原理是什么?
讲到这里,可能有些朋友已经按捺不住想直接看安装教程了。但莫潇羽@源码七号站建议你花几分钟把架构这部分看完——理解原理,你才能在实际使用中知道每一步发生了什么、出问题该往哪查。
FireRed-OpenStoryline 的架构可以用一张图概括,但因为没有图我们用文字拆解。整个系统从顶层到底层分为五大模块,数据流是单向且分层的。
模块一:Agent Client(智能体客户端)
这是用户和系统交互的入口层。当你输入一段自然语言指令、上传一批素材、设置一些运行参数时,Agent Client 会先做意图路由(Intent Routing)——也就是判断你这句话到底是要直接回答(比如"这个项目支持什么模型"),还是需要触发一系列工具调用(比如"帮我剪一段视频")。
意图路由的核心是一个 LLM/VLM 双模型组合:LLM 负责文本理解和规划,VLM 负责视觉内容理解。如果你的指令里涉及画面理解,VLM 就会被调度;如果只是逻辑性的问题,LLM 单独就能处理。
输出有两种:直接的文本响应,或者结构化的工具调用(Tool Call)。后者会被传递给下游模块处理。
模块二:Storyline Middleware(中间件层)
这一层在源码七号站看来,是整个系统最精妙的设计。
它的职责有三个:
- 维护上下文(Context):记住整个会话过程中你说过什么、改过什么,不至于让你说一句忘一句
- 处理依赖(Dependency):判断每一个工具调用前置需要哪些前序步骤完成
- 总结工具输出(Output Summarization):把工具返回的大段原始数据压缩成 LLM 能消化的简洁信息
为什么这一层这么重要?因为单纯的 LLM + Tool Call 架构有个老大难问题——上下文爆炸。如果每次调用工具都把完整结果丢回去,模型上下文很快就被塞满,后续推理质量会断崖式下降。中间件通过状态压缩和摘要,让系统能在长流程中保持稳定。
中间状态会持久化到 Agent Memory(智能体记忆系统),支持你在任何阶段做迭代、回退、重做。这就是所谓的人在回路(Human-in-the-loop)——你不是按下"生成"就只能等结果,而是可以在任意节点干预。
模块三:MCP Server(模型上下文协议服务器)
执行层。MCP(Model Context Protocol)是 Anthropic 在 2024 年 11 月推出的开源协议,核心思想是给 AI 模型提供一个标准化的工具接口。FireRed-OpenStoryline 把所有的视频处理原子操作——剪切、拼接、字幕渲染、音频混合、转场生成等等——都封装成 MCP 工具节点(Atomic Tool Nodes),通过 MCP Server 暴露给上层调用。
这样设计的好处显而易见:
- 可替换性强。某个工具节点想换实现?改一个就行,不影响其他
- 可扩展性好。要加新功能?只要写一个新节点,注册到 MCP Server
- 可调试性高。每个节点输入输出都有明确边界,出问题能快速定位
这一层用到的核心依赖包括 MoviePy(视频编辑库)和 FFmpeg(多媒体框架),前者负责高层 API,后者负责底层编解码。
模块四:Resource Layer(资源层)
资源层提供可复用的素材和能力,主要包括:
- 背景音乐库(bgms):开源音乐资源,可扩展私有歌单
- 字体文件(fonts):基础字体集,支持商用级字体接入
- 脚本模板(script_templates):预设的视频脚本结构
- 风格技能(skills):用户保存的可复用风格
资源层是整个系统"可定制化"的核心。默认用开源素材跑出来效果是基础水平,但如果你接入自建的高质量字体库、商用音乐、专业特效,出片效果会有质的飞跃。
模块五:External APIs(外部 API)
可选的能力扩展层。包括 Pexels(图片视频检索)、TTS 服务(MiniMax、火山引擎、302.ai)、AI 转场(海螺、通义万相)等。这些外部 API 不是必需的,但接入后能显著扩展系统能力。
整个系统跑起来以后的数据流是这样的:用户的自然语言指令进入 Agent Client,LLM/VLM 进行意图路由后输出工具调用计划;Storyline Middleware 接住这些调用,根据上下文和依赖关系决定执行顺序,并维护中间状态;MCP Server 实际执行每一个原子操作,从 Resource Layer 拿素材、调 External APIs 完成生成或处理;结果回到中间件做摘要,再返回给 Agent Client 给用户看。整条链路是异步的、可中断的、可回退的——这就是为什么用户可以在任何阶段插话调整。
关键创新:Style Skills 的可移植性
最后特别提一下 Style Skills 这个概念。它不仅仅是"保存模板"那么简单,而是基于一种开放的 Agent Skills 格式——这是 Anthropic 提出的标准。这意味着你在 FireRed-OpenStoryline 里调试出来的 Skill,理论上可以安装到其他兼容 Agent 框架,比如 Codex、Claude Code 等。这种跨框架可移植性,在莫潇羽@源码七号站看来,是这个项目格局拉得最开的地方。
项目的目录结构
如果你打算深入研究源码,先了解一下仓库的目录组织会有帮助。完整结构如下:
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 启动脚本
每个目录的命名都很自解释。src/open_storyline/mcp/ 下是 MCP 服务实现;nodes/ 下是各个视频处理节点的具体逻辑;skills/ 下是预置的 Agent 技能;storage/ 下是记忆系统的实现。prompts/ 目录里存放着大量 LLM 提示词模板,这部分非常值得学习——它直接决定了 Agent 的"性格"和"专业度"。
如果你想做二次开发,从 nodes/ 入手是最直接的——加一个新的视频处理能力,只需要按现有节点的接口规范实现一个新文件,然后注册到 MCP Server,就能立刻被 Agent 调用。这种插件式架构是这个项目能持续迭代的核心原因。
六、三种安装部署方式详解
讲完原理,我们进入实操环节。FireRed-OpenStoryline 提供了三条不同难度的部署路径,你可以根据自己的技术背景和需求选择。
路径一:Agent Skill 安装(小白首选)
如果你已经在用 OpenClaw 或 Claude Code 这类 Agent 客户端,这是最丝滑的方式。
OpenClaw 用户:打开 OpenClaw 的对话框,直接输入一句:"我想体验 OpenStoryline,帮我安装相关 Skills"。它会自动调起 openstoryline-install Skill,完成所有依赖安装、环境配置和首次运行验证。
如果自动安装失败,可以手动执行:
openclaw skills install openstoryline-install
openclaw skills install openstoryline-use
如果 OpenClaw 版本太老不支持上述命令,改用 ClawHub 也可以:
npx clawhub install openstoryline-install
npx clawhub install openstoryline-use
Claude Code 用户:仓库本身内置了 Claude Code Skills。在仓库根目录启动 Claude Code,直接输入 /openstoryline-install 和 /openstoryline-use 就能调用。如果想做成全局可用,把目录复制到用户级 Skills 目录:
mkdir -p ~/.claude/skills
cp -R .claude/skills/openstoryline-install ~/.claude/skills/
cp -R .claude/skills/openstoryline-use ~/.claude/skills/
Codex 用户(实验性):
npx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-install --agent codex
npx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-use --agent codex
如果想让 Skill 跨项目可用,加 --global 参数。
路径二:本地源码部署(开发者友好)
适合想深入定制的开发者。这条路径要稍微动手一点,但灵活性最高。
第一步:克隆仓库
git clone https://github.com/FireRedTeam/FireRed-OpenStoryline.git
cd FireRed-OpenStoryline
如果没装 Git,可以去 https://git-scm.com/install/ 按官方指南安装,或者直接在 GitHub 页面点 Download ZIP 下载源码包解压。
第二步:创建 Conda 虚拟环境
强烈推荐用 Conda 隔离环境,避免依赖冲突。Miniforge 是个不错的选择,安装时记得勾选自动配置环境变量。
conda create -n storyline python=3.11
conda activate storyline
注意 Python 版本必须 >= 3.11,低于这个版本的有些依赖会装不上。
第三步:下载资源并安装依赖
Linux 和 macOS 用户,有现成的一键脚本:
sh build_env.sh
这条命令会自动下载模型、解压资源、安装 pip 依赖。
如果一键脚本不能用,或者你想手动控制每一步,按下面的流程来:
先安装 wget(很多发行版默认没装):
# macOS,需要先装 Homebrew
brew install wget
# Ubuntu/Debian
sudo apt-get install wget
# CentOS
sudo yum install wget
然后执行下载脚本:
chmod +x download.sh
./download.sh
最后安装 Python 依赖:
pip install -r requirements.txt
Windows 用户的特别说明:Windows 没有官方一键脚本,需要手动操作三步——
- 在项目根目录新建
resource目录 - 从
image-url-2-feature-1251524319.cos.ap-shanghai.myqcloud.com/openstoryline/下载models.zip,解压到.storyline目录 - 同样地址下载
resource.zip,解压到resource目录 - 执行
pip install -r requirements.txt安装依赖
具体的下载链接以仓库 README 为准,因为这种 OSS 链接可能会更新。
路径三:Docker 部署(零环境依赖)
最省心的方式。Docker 帮你把所有依赖打包好,你只需要拉镜像、起容器。
如果还没装 Docker,先去 https://www.docker.com/products/docker-desktop/ 装一个 Docker Desktop。
拉取镜像(分海外和国内两个渠道):
# Docker Hub 官方仓库,推荐海外用户
docker pull openstoryline/openstoryline:v1.0.1
# 阿里云容器镜像服务,国内用户更稳更快
docker pull crpi-6knxem4w8ggpdnsn.cn-shanghai.personal.cr.aliyuncs.com/openstoryline/openstoryline:v1.0.1
源码七号站建议国内朋友直接用阿里云镜像,速度差距非常明显。
启动容器:
docker run \
-v $(pwd)/config.toml:/app/config.toml \
-v $(pwd)/outputs:/app/outputs \
-v $(pwd)/run.sh:/app/run.sh \
-p 7860:7860 \
openstoryline/openstoryline:v1.0.1
这条命令做了三件事:挂载配置文件、挂载输出目录、暴露 7860 端口。容器起来后,浏览器访问 http://0.0.0.0:7860 就能看到 Web 界面。
💡 莫潇羽@源码七号站提醒:config.toml 是核心配置文件,里面要填各种 API Key。这一步如果不做,系统启动后无法调用任何模型,后面会专门讲怎么配。
七、API Key 申请配置全流程
这部分是新手最容易卡住的地方。FireRed-OpenStoryline 本身是开源免费的,但它需要调用大模型 API 来完成文案生成、画面理解等任务,这些 API 是各家厂商提供的服务,需要你自己申请 Key。
总共要配置五类 API,我按重要性顺序讲清楚。
第一类:大语言模型(LLM)
这是核心中的核心,负责所有的文案生成、意图理解、规划决策。官方推荐 DeepSeek,因为性价比高,中文能力也强。
申请流程(以 DeepSeek 为例):
- 访问 https://platform.deepseek.com/usage
- 注册账号并完成登录
- 进入 API Key 管理页面创建新 Key
- 妥善保存,Key 只显示一次
配置参数:
|
参数 |
值 |
|
模型名称 |
|
|
Base URL |
|
|
API Key |
你申请到的字符串 |
填写位置:Web 界面的 LLM 模型下拉框选"使用自定义模型",填入上述参数;或者直接编辑 config.toml,找到 [llm] 段落填入。
CLI 用户必须用 config.toml 方式配置。
第二类:多模态大模型(VLM)
负责理解视频画面内容。有两个推荐选项:
选项 A:智谱 GLM-4.6V
- API Key 管理:https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys
- 模型名称:
glm-4.6v - Base URL:
https://open.bigmodel.cn/api/paas/v4/
选项 B:阿里 Qwen3-VL
- API Key 管理:进入阿里云百炼平台 https://bailian.console.aliyun.com/
- 模型名称:
qwen3-vl-8b-instruct - Base URL:
https://dashscope.aliyuncs.com/compatible-mode/v1
源码七号站个人体感上 Qwen3-VL 在国内用稳定性更好,但 GLM-4.6V 在某些细节场景表现也不差,可以两个都申请着备用。
阿里云百炼平台还有个 Qwen3-Omni 模型(qwen3-omni-flash-2025-12-01),用于音频自动标注,可选配置。
第三类:Pexels 图像视频下载
如果你需要 AI 自动搜索素材,这一项必须配置。
- 注册并申请 Key:https://www.pexels.com/zh-cn/api/key/
- 申请是免费的,需要描述使用场景
- Key 拿到后,Web 界面的 Pexels 配置选"使用自定义 Key"填入,或在
config.toml的pexels_api_key字段里填
Pexels 是知识共享图库,合规性比较好,适合内容创作场景。
第四类:TTS 文本转语音
负责把生成的文案转成配音。三个方案:
方案一:MiniMax(主推)
- 服务地址:https://platform.minimaxi.com/docs/api-reference/speech-t2a-http
- 控制台:https://platform.minimax.io/user-center/basic-information/interface-key
- 创建 Key 后填入配置
MiniMax 的人声质量在国内厂商里属于第一梯队,特别是情感表达上比较自然。
方案二:火山引擎(字节)
需要三个信息:UID、APP ID、Access Token。
- 开通服务:https://console.volcengine.com/speech/service/9?AppID=8782592131
- 账号信息:https://console.volcengine.com/user/basics/
配置写在 config.toml 的 [generate_voiceover.providers.bytedance] 段:
[generate_voiceover.providers.bytedance]
uid = ""
appid = ""
access_token = ""
方案三:302.ai(备选)
三个里面挑一个用就行,不需要全配。
第五类:AI 转场(可选,高阶)
如果想用 AI 转场功能,需要单独申请。
方案一:MiniMax 海螺视频
如果你已经申请了 MiniMax 的 LLM 或 TTS Key,通常可以直接复用。模型名选 MiniMax-Hailuo-02。
方案二:阿里通义万相
如果你已经申请了百炼平台的 LLM Key,可以复用。模型名推荐 wan2.2-kf2v-flash。
⚠️ 使用提醒:AI 转场是逐段生成的,片段越多 API 调用次数越多,资源消耗会显著高于常规流程。建议先用少量片段试跑,确认效果和成本后再批量生成。
配置文件示例
最终,你的 config.toml 大致会长这样(伪代码示意):
[llm]
model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"
api_key = "sk-xxxxxxxxxx"
[vlm]
model = "qwen3-vl-8b-instruct"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = "sk-xxxxxxxxxx"
[pexels]
pexels_api_key = "xxxxxxxxxx"
[generate_voiceover.providers.minimax]
api_key = "xxxxxxxxxx"
[generate_voiceover.providers.bytedance]
uid = ""
appid = ""
access_token = ""
具体字段以仓库最新的 config.toml 模板为准。
各模型成本对比参考
为了让你心里有谱,源码七号站根据公开计费信息做了一份大致的成本参考(各家计费规则可能调整,以官方为准):
- DeepSeek-Chat 输入约每百万 tokens 个位数,输出略高,综合性价比突出
- Qwen3-VL 系列按图片张数计费,8B 版本单张几分钱,32B 版本贵一些
- GLM-4.6V 计费策略与阿里类似,具体看智谱开放平台公告
- MiniMax TTS 按字符数计费,标准音色和情感音色价格不同
- 火山 TTS 在长篇配音场景成本较低
- Pexels API 完全免费,但有调用频率限制
- AI 转场是最费的部分,海螺和万相都是按视频秒数计费,生成一段 5 秒的转场可能需要几毛钱
一段 1 分钟左右的种草视频,假设接入了 LLM、VLM、TTS,总成本大概在 1-3 元区间。如果加 AI 转场,会再往上一截。如果你做内容产出量大,建议用本地推理框架替换 LLM 部分,能大幅压低成本。
八、启动服务并跑通第一个视频
配置都准备好了,我们来跑通完整流程。
启动 MCP 服务器
这是核心服务,必须先启动。
macOS / Linux:
PYTHONPATH=src python -m open_storyline.mcp.server
Windows(PowerShell):
$env:PYTHONPATH="src"; python -m open_storyline.mcp.server
服务起来后,你会看到日志显示 MCP Server 已经就绪。
启动对话界面
两种交互方式,任选其一。
方式一:命令行界面(CLI)
python cli.py
适合服务器无 GUI 场景或者纯命令行控的开发者。
方式二:Web 界面
uvicorn agent_fastapi:app --host 127.0.0.1 --port 7860
启动后浏览器打开 http://127.0.0.1:7860,会看到一个对话框 + 素材上传区的界面。这是大多数人会选的方式。
实际使用流程
界面打开后,标准的使用流程分四步:
第一步:上传素材
点击聊天框左侧的文件上传按钮,选择本地的图片或视频文件。系统会先调用 VLM 对每个素材做内容理解,这一步根据素材数量和分辨率,可能需要几秒到几分钟。
第二步:输入剪辑目标
在输入框里用自然语言描述你想要的成片。建议描述得具体一点,效果会更好。比如:
"用我这些素材剪一段闺蜜旅行 vlog,风格活泼一点,BGM 选轻快的,字幕用粉色,加上一些可爱的 emoji。每段镜头不要超过 3 秒,节奏快一点。"
描述里包含的维度越