# OpenStoryline 使用教程 --- ## 0. 环境安装 参见[README](https://github.com/FireRedTeam/FireRed-OpenStoryline/blob/main/README_zh.md)部分 ## 1. 基础使用教程 ### 1.1. 开始 你可以用两种方式开始创作: 1. 有素材 - 点击对话框左侧文件上传按钮,选择你的图片/视频素材 - 然后在输入框写下剪辑目标,例如:用我的素材剪一条新年全家欢 vlog,节奏轻快 2. 没素材 - 直接描述主题/氛围即可 - 例如:帮我剪一个夏日海滩旅行 vlog,阳光、清爽、欢快 自动素材检索来自 [Pexels](https://www.pexels.com/zh-cn/),请在网页侧边栏填写 Pexels API Key。 免责声明:我们只提供工具,所有通过本工具下载和使用的素材(如 Pexels 图像)都由用户自行通过 API 获取,我们不对用户生成的视频内容、素材的合法性或因使用本工具导致的任何版权/肖像权纠纷承担责任。使用时请遵循 Pexels 的许可协议:[https://www.pexels.com/zh-cn/license](https://www.pexels.com/zh-cn/license) [https://www.pexels.com/terms-of-service](https://www.pexels.com/terms-of-service) 如果你只是想先了解它,也可以当作普通对话模型使用,例如: - “介绍一下你自己” demo ### 1.2. 编辑 OpenStoryline 支持在任意阶段进行意图干预与局部重做:当某一步骤完成后,你可以直接用一句话提出修改要求,Agent会定位到需要重跑的步骤,而无需从流程起点重新开始。例如 - 帮我去掉那个拍摄天空的片段。 - 换一个欢快一点的背景音乐。 - 字幕换成更符合夕阳主题的颜色 demo ### 1.3. 仿写 依靠仿写Skill复刻任意文风生成文案。例如: - 用文言文为我进行古风混剪。 - 模仿鲁迅风格生成文案。 - 模仿我发朋友圈的语气。 demo ### 1.4. 中断 在 Agent 执行的任意时刻,如果行为不符合预期,你可以随时: - 点击输入框右侧的中止按钮:停止大模型回复与工具调用 - 或者直接按 Enter 发送新 prompt:系统会自动打断并执行你的新指令 中断不会清空当前进度,已生成的回复与已执行的工具结果都会保留,你可以基于现有结果继续提出指令。 ### 1.5. 切换语言 在网页右上角点击语言按钮可切换中/英文: - 侧边栏与工具调用卡片的展示语言会同步切换 - 工具内部使用的 prompt 语言也会切换 - 已经发生的历史对话不会自动翻译 ### 1.6. 保存 当你打磨出一条满意的视频后,可以一键让 Agent 总结其中的剪辑逻辑(节奏、色调、转场习惯),并保存为你的专属 "Editing Skill"。 下次剪辑类似内容时,只需告诉Agent调用这个 Skill,即可实现风格复刻。 demo ### 1.7 移动端使用 **注意:下列命令会将你的服务暴露到局域网/公网,请仅在可信网络使用,不要在公用网络执行以下命令!!!** 如果你的素材在手机上,不方便传输,可以使用下面的步骤,在手机上使用剪辑Agent。 1. 在 config.toml 中填写LLM/VLM/Pexels/TTS 配置 2. 将网页启动命令改为: ```bash # 再次提醒: --host 0.0.0.0 命令会将服务暴露到局域网/公网。请仅在可信网络使用。 uvicorn agent_fastapi:app --host 0.0.0.0 --port 7860 ``` 3. 查看本机ip地址: - Windows: 在命令提示符(cmd)中输入 ipconfig,找到 IPv4 地址 - Mac: 按住 option,点击 WI-FI 图标 - Linux: 在终端中输入 ifconfig 命令 4. 在手机浏览器中输入以下地址即可访问。 ``` {本机ip地址}:7860 ``` ## 2. 高级使用教程 受限于版权和分发协议,开源的资源不足以满足广大用户的剪辑需求,因此我们提供私有元素库的添加和构建方法。 ### 2.1. 自定义音乐库 将私有音乐文件放到目录:`./resource/bgms`下,然后给音乐打标签写入`./resouce/bgms/meta.json`,重启mcp服务即可。 【标签维度】 - scene(场景):Vlog, Travel, Relaxing, Emotion, Transition, Outdoor, Cafe, Evening, Scenery, Food, Date, Club - genre(曲风):Pop, BGM, Electronic, R&B/Soul, Hip Hop/Rap, Rock, Jazz, Folk, Classical, Chinese Style - mood(情绪):Dynamic, Chill, Happy, Sorrow, Romantic, Calm, Excited, Healing, Inspirational - lang(语言):bgm, en, zh, ko, ja 【打标方式】 - 手动打标:模仿meta.json中的其他item添加对应标签即可。注意:description字段是必须的; - 自动打标:使用qwen3-omni-flash进行自动打标,需要依赖qwen大模型的API-KEY qwen3-omni打标脚本: ``` export QWEN_API_KEY="you_api_key" python -m scripts.omni_bgm_label ``` 自动打标签不一定完全准确,如果需要强推荐的场景,建议人工再check一遍。 ### 2.2. 自定义字体库 将私有字体文件放到目录:`./resource/fonts`下,然后给字体打标签写入`./resource/fonts/font_info.json`,重启mcp服务即可。 【标签维度】 - class(分类):Creative, Handwriting, Calligraphy, Basic - lang(语言):zh, en 【打标方式】 目前仅支持手动打标,直接编辑`./resource/fonts/font_info.json`。 ### 2.3. 自定义文案模板库 将私有文案模板放到目录:`./resource/script_templates`下,然后给字体打标签写入`./resource/fonts/meta.json`,重启mcp服务即可。 【标签维度】 - tags:Life, Food, Beauty, Entertainment, Travel, Tech, Business, Vehicle, Health, Family, Pets, Knowledge 【打标方式】 - 手动打标:模仿meta.json中的其他item添加对应标签即可。注意:description字段是必须的; - 自动打标:使用deepseek进行自动打标,需要依赖qwen大模型的API-KEY deepseek打标脚本: ``` export DEEPSEEK_API_KEY="you_api_key" python -m scripts.llm_script_template_label ``` 自动打标签不一定完全准确,如果需要强推荐的场景,建议人工再check一遍。 ### 2.4. 自定义技能库 仓库自带两款Skills,一个用于文风仿写,另一个用于保存剪辑流程。如果用户有更多自定义的skill可以按照以下方法添加: 在`.storyline/skills`下创建一个新的文件夹,文件夹内新建`SKILL.md`文件; SKILL内必须以: ```markdown --- name: yous_skill_folder_name description: your_skill_function_description --- ``` 的形式开头,其中name和文件夹名字保持一致。 接着文件内写技能的具体内容,比如它的工作设定,需要调用哪些工具,输出格式等等。 完成后重启mcp服务即可