From f71c1d9487796db5a8e25972b6ef446dec0fd058 Mon Sep 17 00:00:00 2001 From: puke <1129090915@qq.com> Date: Wed, 29 Oct 2025 11:41:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 478 +++++++++++++++++++++++++++--------------------------- 1 file changed, 241 insertions(+), 237 deletions(-) diff --git a/README.md b/README.md index e105d77..5057d58 100644 --- a/README.md +++ b/README.md @@ -1,243 +1,247 @@ -# ReelForge 🔨 - -> **Forge Your Perfect Reel Engine** -> -> The modular video creation platform where every creator forges differently. - -[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) -[![Python](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/) - -[English](README.md) | [简体中文](README_CN.md) - ---- - -## 🔥 What is ReelForge? - -ReelForge is not just another video generation tool. - -**It's a forge** - where you choose your materials (LLM, TTS, image generators), -heat them in your fire (configuration), and hammer them into your perfect -video creation engine. - -### vs Traditional Tools - -``` -Traditional Tools ReelForge -━━━━━━━━━━━━━━━ ━━━━━━━━━━━━ -Fixed workflow → Modular & Customizable -One-size-fits-all → Forge Your Own -Closed system → Open & Extensible -``` - ---- - -## ⚒️ Core Philosophy - -**Every creator forges differently.** - -- 🎯 **Modular by Design** - Swap TTS, image gen, frame templates -- 🔧 **Plug & Play** - Use built-in or bring your own -- 🎨 **DIY Workflows** - Customize every step of generation -- 🌐 **Open Source** - Community-driven and transparent - ---- - -## 🚀 Quick Start - -### Installation - -```bash -# Clone the repository -git clone https://github.com/YOUR_USERNAME/ReelForge.git -cd ReelForge - -# Install dependencies with uv -uv sync - -# Copy config example -cp config.example.yaml config.yaml - -# Edit config.yaml and fill in your API keys -``` - -### Your First Forge - -```bash -# Run the web interface -uv run python web.py - -# Or use CLI -uv run reelforge --help -``` - -### Programmatic Usage - -```python -from reelforge.service import reelforge - -# Initialize -await reelforge.initialize() - -# Generate a video -result = await reelforge.book_video_workflow.generate( - book_name="Atomic Habits", - n_storyboard=5 -) - -print(f"Forged: {result.video_path}") -``` - ---- - -## 🔨 What Makes ReelForge Different? - -### 1. **Truly Modular Architecture** - -Swap components like changing tools in your forge: - -```yaml -# config.yaml -llm: - api_key: your_key - model: qwen-max - -tts: - default: edge # or azure, elevenlabs - -image: - default: comfykit - comfykit: - comfyui_url: http://localhost:8188 -``` - -### 2. **Capability-Based System** - -Every capability follows a simple naming convention: - -``` -{type}_{id} - -Examples: - llm_qwen → LLM capability, ID: qwen - tts_edge → TTS capability, ID: edge - image_comfykit → Image capability, ID: comfykit -``` - -### 3. **Storyboard-Based Generation** - -Unlike simple template filling, ReelForge uses AI to: -- Understand your topic deeply -- Generate narrative storyboards -- Create scene-by-scene visuals -- Compose professional videos - ---- - -## 🏗️ Architecture - -``` -ReelForge Core -├── Capabilities (Pluggable) -│ ├── LLM (OpenAI, Qwen, Ollama, ...) -│ ├── TTS (Edge, Azure, ElevenLabs, ...) -│ ├── Image (ComfyUI, SD, DALL-E, ...) -│ └── Custom (Your own!) -├── Services (Composable) -│ ├── Narration Generator -│ ├── Image Prompt Generator -│ ├── Storyboard Processor -│ ├── Frame Composer -│ └── Video Compositor -└── Workflows (Customizable) - └── Define your own pipeline -``` - ---- - -## 🎨 Built-in Capabilities - -### LLM (Large Language Models) - -| Provider | ID | API Key Required | -|----------|----|----| -| 通义千问 | `qwen` | ✅ DASHSCOPE_API_KEY | -| OpenAI GPT | `openai` | ✅ OPENAI_API_KEY | -| DeepSeek | `deepseek` | ✅ DEEPSEEK_API_KEY | -| Ollama | `ollama` | ❌ No (runs locally) | - -### TTS (Text-to-Speech) - -| Provider | ID | Features | -|----------|----|----| -| Edge TTS | `edge` | Free, Multiple voices | -| Azure TTS | `azure` | Premium quality | - -### Image Generation - -| Provider | ID | Features | -|----------|----|----| -| ComfyKit | `comfykit` | Custom workflows, Local | -| (More coming) | - | - | - ---- - -## 📚 Examples - -Check out the `examples/` directory: - -- `generate_video_simple.py` - Basic video generation -- `generate_video_with_bgm.py` - Add background music -- `generate_video_with_image_style.py` - Custom image styles -- `generate_video_custom.py` - Full customization - ---- - -## 🤝 Contributing - -ReelForge is **community-driven**. - -- 🐛 [Report bugs](https://github.com/YOUR_USERNAME/ReelForge/issues) -- 💡 [Request features](https://github.com/YOUR_USERNAME/ReelForge/discussions) -- 🔧 [Build components](CONTRIBUTING.md) -- 🎨 Share your forge configurations - ---- - -## 🗺️ Roadmap - -- [x] Core modular architecture -- [x] Built-in LLM/TTS/Image capabilities -- [x] Storyboard-based generation -- [x] Web interface (Streamlit) -- [ ] Visual forge builder -- [ ] Community forge marketplace -- [ ] Plugin ecosystem -- [ ] Cloud hosting - ---- - -## 📄 License - -MIT License - see [LICENSE](LICENSE) - ---- - -## 🙏 Acknowledgments - -Built with ❤️ by the creator community. - -Inspired by: -- [MoneyPrinterTurbo](https://github.com/harry0703/MoneyPrinterTurbo) -- [NarratoAI](https://github.com/linyqh/NarratoAI) - ---- +
+

ReelForge 🎬

- Forge Your Way -
- Every creator forges differently. What will you forge? + Stargazers + Issues + Forks + License

+
+ +

🚀 AI 视频创作工具 - 3 分钟生成一个短视频

+ +
+ +只需输入一个 **主题**,ReelForge 就能自动完成: +- ✍️ 撰写视频文案 +- 🎨 生成 AI 配图 +- 🗣️ 合成语音解说 +- 🎵 添加背景音乐 +- 🎬 一键合成视频 + +
+ +**零门槛,零剪辑经验**,让视频创作成为一句话的事! + +
+ --- -**Star us if you like what we're building!** ⭐ +## ✨ 功能亮点 + +- ✅ **全自动生成** - 输入主题,3 分钟自动生成完整视频 +- ✅ **AI 智能文案** - 根据主题智能创作解说词,无需自己写脚本 +- ✅ **AI 生成配图** - 每句话都配上精美的 AI 插图 +- ✅ **真人语音** - 100+ 种真人声音可选,告别机械音 +- ✅ **背景音乐** - 支持添加 BGM,让视频更有氛围 +- ✅ **视觉风格** - 多种模板可选,打造独特视频风格 +- ✅ **灵活尺寸** - 支持竖屏、横屏等多种视频尺寸 +- ✅ **多种 AI 模型** - 支持 GPT、通义千问、DeepSeek、Ollama 等 +- ✅ **原子能力灵活组合** - 基于 ComfyUI 架构,可使用预置工作流,也可自定义任意能力(如替换生图模型为 FLUX、替换 TTS 为 ChatTTS 等) + +--- + +## 🎬 视频示例 + +> 待补充:这里可以添加一些生成的视频示例 + +--- + +## 🚀 快速开始 + +### 第一步:下载项目 + +```bash +git clone https://github.com/JarvisAIHub/ReelForge.git +cd ReelForge +``` + +### 第二步:启动 Web 界面 + +```bash +# 使用 uv 运行(推荐,会自动安装依赖) +uv run streamlit run web/app.py +``` + +浏览器会自动打开 http://localhost:8501 + +### 第三步:在 Web 界面配置 + +首次使用时,展开「⚙️ 系统配置」面板,填写: +- **LLM 配置**: 选择 AI 模型(如通义千问、GPT 等)并填入 API Key +- **图像配置**: 如需生成图片,配置 ComfyUI 地址或 RunningHub API Key + +配置好后点击「保存配置」,就可以开始生成视频了! + +--- + +## 💻 使用方法 + +打开 Web 界面后,你会看到三栏布局,下面详细讲解每个部分: + +--- + +### ⚙️ 系统配置(首次必填) + +首次使用时需要配置,点击展开「⚙️ 系统配置」面板: + +#### 1. LLM 配置(大语言模型) +用于生成视频文案的 AI。 + +**快速选择预设** +- 通过下拉菜单选择预设模型(通义千问、GPT-4o、DeepSeek 等) +- 选择后会自动填充 base_url 和 model +- 点击「🔑 获取 API Key」链接去注册并获取密钥 + +**手动配置** +- API Key: 填入你的密钥 +- Base URL: API 地址 +- Model: 模型名称 + +#### 2. 图像配置 +用于生成视频配图的 AI。 + +**本地部署(推荐)** +- ComfyUI URL: 本地 ComfyUI 服务地址(默认 http://127.0.0.1:8188) +- 点击「测试连接」确认服务可用 + +**云端部署** +- RunningHub API Key: 云端图像生成服务的密钥 + +配置完成后点击「保存配置」。 + +--- + +### 📝 内容输入(左侧栏) + +#### 生成模式 +- **AI 生成内容**: 输入主题,AI 自动创作文案 + - 适合:想快速生成视频,让 AI 写稿 + - 例如:「为什么要养成阅读习惯」 +- **固定文案内容**: 直接输入完整文案,跳过 AI 创作 + - 适合:已有现成文案,直接生成视频 + +--- + +### 🎵 音频设置(左侧栏) + +#### 语音选择 +- 从下拉菜单选择解说声音 +- 提供 4 种精选声音(男声/女声、专业/年轻) +- 点击「试听语音」可以预览效果 + +#### 背景音乐 +- **无 BGM**: 纯人声解说 +- **内置音乐**: 选择预置的背景音乐(如 default.mp3) +- **自定义音乐**: 将你的音乐文件(MP3/WAV 等)放到 `bgm/` 文件夹 +- 点击「试听 BGM」可以预览音乐 + +--- + +### 🎨 视觉设置(中间栏) + +#### 视觉风格 +决定 AI 生成什么风格的配图。 + +**ComfyUI 工作流** +- 选择图像生成的工作流文件 +- 默认使用 `image_default.json` +- 如果懂 ComfyUI,可以放自己的工作流到 `workflows/` 文件夹 + +**提示词前缀(Prompt Prefix)** +- 控制图像的整体风格(语言需要是英文的) +- 例如:Pure white background, minimalist illustration, matchstick figure style, black and white line drawing, simple clean lines +- 点击「预览风格」可以测试效果 + +#### 视频模板 +决定视频画面的布局和设计。 + +- 从下拉菜单选择模板(default.html、modern.html、classic.html 等) +- 点击「预览模板」可以自定义参数测试效果 +- 如果懂 HTML,可以在 `templates/` 文件夹创建自己的模板 + +--- + +### 🎬 生成视频(右侧栏) + +#### 生成按钮 +- 配置好所有参数后,点击「🎬 生成视频」 +- 会显示实时进度(生成文案 → 生成配图 → 合成语音 → 合成视频) +- 生成完成后自动显示视频预览 + +#### 进度显示 +- 实时显示当前步骤 +- 例如:「分镜 3/5 - 生成插图」 + +#### 视频预览 +- 生成完成后自动播放 +- 显示视频时长、文件大小、分镜数等信息 +- 视频文件保存在 `output/` 文件夹 + +--- + +### ❓ 常见问题 + +**Q: 第一次使用需要多久?** +A: 生成一个 3 段视频大约需要 2-5 分钟,取决于你的网络和 AI 推理速度。 + +**Q: 视频效果不满意怎么办?** +A: 可以尝试: +1. 更换 LLM 模型(不同模型文案风格不同) +2. 调整提示词前缀(改变配图风格) +3. 更换语音(不同声音适合不同内容) +4. 尝试不同的视频模板 + +**Q: 费用大概多少?** +A: **本项目完全支持免费运行!** + +- **完全免费方案**: LLM 使用 Ollama(本地运行)+ ComfyUI 本地部署 = 0 元 +- **推荐方案**: LLM 使用通义千问(生成一个 3 段视频约 0.01-0.05 元)+ ComfyUI 本地部署 +- **云端方案**: LLM 使用 OpenAI + 图像使用 RunningHub(费用较高但无需本地环境) + +**选择建议**:本地有显卡建议完全免费方案,否则推荐使用通义千问(性价比高) + +--- + +## 🤝 参考项目 + +ReelForge 的设计受到以下优秀开源项目的启发: + +- [Pixelle-MCP](https://github.com/AIDC-AI/Pixelle-MCP) - ComfyUI MCP 服务器,让 AI 助手直接调用 ComfyUI +- [MoneyPrinterTurbo](https://github.com/harry0703/MoneyPrinterTurbo) - 优秀的视频生成工具 +- [NarratoAI](https://github.com/linyqh/NarratoAI) - 影视解说自动化工具 +- [MoneyPrinterPlus](https://github.com/ddean2009/MoneyPrinterPlus) - 视频创作平台 +- [ComfyKit](https://github.com/puke3615/ComfyKit) - ComfyUI 工作流封装库 + +感谢这些项目的开源精神!🙏 + +--- + +## 📢 反馈与支持 + +- 🐛 **遇到问题**: 提交 [Issue](https://github.com/JarvisAIHub/ReelForge/issues) +- 💡 **功能建议**: 提交 [Feature Request](https://github.com/JarvisAIHub/ReelForge/issues) +- ⭐ **给个 Star**: 如果这个项目对你有帮助,欢迎给个 Star 支持一下! + +--- + +## 📝 许可证 + +本项目采用 MIT 许可证,详情请查看 [LICENSE](LICENSE) 文件。 + +--- + +## ⭐ Star History + +[![Star History Chart](https://api.star-history.com/svg?repos=JarvisAIHub/ReelForge&type=Date)](https://star-history.com/#JarvisAIHub/ReelForge&Date) + +--- + +
+

Made with ❤️ by JarvisAIHub

+

+ 回到顶部 ⬆️ +

+