diff --git a/.cursor/rules/api-structure.mdc b/.cursor/rules/api-structure.mdc new file mode 100644 index 0000000..3563e30 --- /dev/null +++ b/.cursor/rules/api-structure.mdc @@ -0,0 +1,27 @@ +--- +description: +globs: +alwaysApply: true +--- +# API结构 + +MoneyPrinterTurbo提供了一系列API端点,用于视频生成、字幕生成、音频合成等功能。 + +## 主要API端点 + +- `POST /api/v1/videos` - 生成短视频 +- `POST /api/v1/subtitle` - 仅生成字幕 +- `POST /api/v1/audio` - 仅生成音频 +- `GET /api/v1/tasks` - 获取所有任务列表 +- `GET /api/v1/tasks/{task_id}` - 查询特定任务状态 +- `DELETE /api/v1/tasks/{task_id}` - 删除任务 +- `GET /api/v1/musics` - 获取本地背景音乐列表 +- `POST /api/v1/musics` - 上传背景音乐文件 +- `GET /api/v1/stream/{file_path}` - 视频流式播放 +- `GET /api/v1/download/{file_path}` - 下载视频文件 + +## 相关文件 + +- [app/router.py](mdc:app/router.py) - API路由配置 +- [app/controllers/v1/video.py](mdc:app/controllers/v1/video.py) - 视频相关API控制器 +- [app/controllers/v1/llm.py](mdc:app/controllers/v1/llm.py) - 大语言模型相关API控制器 \ No newline at end of file diff --git a/.cursor/rules/configuration-guide.mdc b/.cursor/rules/configuration-guide.mdc new file mode 100644 index 0000000..bd4f9b2 Binary files /dev/null and b/.cursor/rules/configuration-guide.mdc differ diff --git a/.cursor/rules/project-architecture.mdc b/.cursor/rules/project-architecture.mdc new file mode 100644 index 0000000..c080613 --- /dev/null +++ b/.cursor/rules/project-architecture.mdc @@ -0,0 +1,26 @@ +--- +description: +globs: +alwaysApply: true +--- +# 项目架构 + +MoneyPrinterTurbo采用MVC架构,代码结构清晰,易于维护,同时支持API和Web界面。 + +## 主要目录结构 + +- [main.py](mdc:main.py) - 项目API服务入口文件 +- [webui.bat](mdc:webui.bat)/[webui.sh](mdc:webui.sh) - Web界面启动脚本 +- [app/](mdc:app) - 后端API服务目录 + - [app/asgi.py](mdc:app/asgi.py) - ASGI应用程序入口 + - [app/router.py](mdc:app/router.py) - API路由定义 + - [app/controllers/](mdc:app/controllers) - 控制器目录 + - [app/models/](mdc:app/models) - 数据模型目录 + - [app/services/](mdc:app/services) - 业务服务目录 + - [app/utils/](mdc:app/utils) - 工具函数目录 + - [app/config/](mdc:app/config) - 配置目录 +- [webui/](mdc:webui) - 前端Web界面目录 + - [webui/Main.py](mdc:webui/Main.py) - Web界面主程序 + - [webui/i18n/](mdc:webui/i18n) - 国际化资源目录 +- [config.toml](mdc:config.toml) - 配置文件 +- [requirements.txt](mdc:requirements.txt) - 项目依赖 \ No newline at end of file diff --git a/.cursor/rules/project-overview.mdc b/.cursor/rules/project-overview.mdc new file mode 100644 index 0000000..9623305 --- /dev/null +++ b/.cursor/rules/project-overview.mdc @@ -0,0 +1,26 @@ +--- +description: +globs: +alwaysApply: true +--- +# 项目概述 + +MoneyPrinterTurbo是一个自动化视频生成工具,只需提供一个视频主题或关键词,就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐,然后合成一个高清的短视频。 + +## 主要功能 + +- 支持视频文案AI自动生成,也可以自定义文案 +- 支持多种高清视频尺寸(竖屏9:16,横屏16:9) +- 支持批量视频生成 +- 支持视频片段时长设置 +- 支持多种语音合成 +- 支持字幕生成和自定义 +- 支持背景音乐 +- 支持多种AI模型(OpenAI、Moonshot、Azure等) + +## 项目架构 + +- [main.py](mdc:main.py) - 项目主入口文件 +- [app/](mdc:app) - 后端API服务目录 +- [webui/](mdc:webui) - 前端Web界面目录 +- [config.toml](mdc:config.toml) - 配置文件 \ No newline at end of file diff --git a/.cursor/rules/services-structure.mdc b/.cursor/rules/services-structure.mdc new file mode 100644 index 0000000..ecedd25 --- /dev/null +++ b/.cursor/rules/services-structure.mdc @@ -0,0 +1,28 @@ +--- +description: +globs: +alwaysApply: true +--- +# 服务组件结构 + +MoneyPrinterTurbo的核心功能实现主要在服务组件中,这些组件负责处理具体的业务逻辑。 + +## 主要服务组件 + +- [app/services/llm.py](mdc:app/services/llm.py) - 大语言模型服务,负责文案生成 +- [app/services/voice.py](mdc:app/services/voice.py) - 语音合成服务,将文本转换为语音 +- [app/services/subtitle.py](mdc:app/services/subtitle.py) - 字幕生成服务,创建视频字幕 +- [app/services/video.py](mdc:app/services/video.py) - 视频处理服务,处理视频合成 +- [app/services/material.py](mdc:app/services/material.py) - 素材处理服务,获取视频素材 +- [app/services/task.py](mdc:app/services/task.py) - 任务管理服务,管理视频生成任务 +- [app/services/state.py](mdc:app/services/state.py) - 状态管理服务,跟踪任务状态 + +## 工作流程 + +1. 用户提供视频主题或关键词 +2. 大语言模型生成视频文案 +3. 语音合成将文案转换为语音 +4. 素材服务获取相关的视频素材 +5. 字幕服务生成视频字幕 +6. 视频服务将语音、素材和字幕合成为最终视频 +7. 任务和状态服务全程跟踪和管理整个过程 \ No newline at end of file diff --git a/.cursor/rules/webui-structure.mdc b/.cursor/rules/webui-structure.mdc new file mode 100644 index 0000000..cd01335 --- /dev/null +++ b/.cursor/rules/webui-structure.mdc @@ -0,0 +1,34 @@ +--- +description: +globs: +alwaysApply: true +--- +# Web界面结构 + +MoneyPrinterTurbo提供了基于Streamlit的Web界面,方便用户直接通过浏览器使用系统功能。 + +## 界面功能 + +- 视频主题/关键词输入 +- 视频文案自动生成或自定义 +- 视频参数设置 + - 视频尺寸(竖屏/横屏) + - 视频片段时长 + - 视频数量 +- 字幕设置 + - 字体选择 + - 字体大小 + - 字体颜色 + - 字幕位置 +- 语音合成设置 + - 选择合成声音 + - 语音试听 +- 背景音乐选择 + - 随机音乐 + - 本地音乐文件 + - 音量调节 + +## 相关文件 + +- [webui/Main.py](mdc:webui/Main.py) - Web界面主程序文件 +- [webui/i18n/](mdc:webui/i18n) - 国际化资源文件 \ No newline at end of file