# yy-aigc-platform **Repository Path**: sleepforests/yy-aigc-platform ## Basic Information - **Project Name**: yy-aigc-platform - **Description**: AIGC平台,提供图片、视频等AIGC能力。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # YY AIGC Platform YY AIGC 创作平台 - 一个基于 PyQt5 开发的 AI 多功能创作工具集。 ## 项目简介 YY AIGC 创作平台是一个桌面应用程序,提供多种 AI 辅助创作功能,包括 AI 试衣、数字人合成、舞蹈迁移、视频换脸、短剧解说、素材译制等前沿 AI 技术应用。所有 AI 能力均通过阿里云 dashscope SDK 调用,部分功能依赖本地 FFmpeg 和 ComfyUI。 ## 功能特性 ### 🎨 AI 试衣模块 (Try-On) - 支持模特图片上传 - 支持服装图片上传(上下装组合) - 阿里云 AI 试衣 API 集成(基础版/高级版/精修) - 试穿效果精修功能 - 多种分辨率和性别设置 ### 💃 舞蹈迁移模块 (Dance Transfer) - 人物图片上传 - 舞蹈参考视频选择 - Animate Anyone Gen2 技术支持 - 模板检测功能 ### 👤 数字人模块 (Digital Human) - 人物图片输入 - 音频文件支持 - 多种分辨率输出 - 数字人视频生成 ### 🎭 视频换脸模块 (Video Face Swap) - 标准模式和专业模式 - 人脸检测阈值调节 - 换脸强度控制 ### 🎬 短剧解说模块 (Episode Explanation) - Step1: 视频预处理(ASR + 镜头检测 + 人脸识别) - Step2: 内容理解(场景融合 + LLM 分析 + 人物聚类 + 剧情分段) - Step3: 跨集分析(规划中) - Step4: 视频合成(规划中) - 断点续跑、实时进度、Token 监控 ### 🌐 素材译制模块 (Material Localization) - 镜头分类(场景检测 + 音频特征分析) - ASR 批量提取 - 原片匹配(TF-IDF + DTW 时间对齐) - 解说翻译(LLM + Edge TTS) - 视频拼接(FFmpeg) - 开发中 ### 📋 API 审计模块 (API Audit) - API 调用记录与统计 - 用量监控 ### 📹 视频工具集 - **视频下载器**: 支持多平台视频解析与下载(yt-dlp) - **视频切割器**: 批量视频时间段切割(FFmpeg) - **视频转换器**: 多种格式转换与编码设置(FFmpeg / OpenCV) ### 🖼️ 相册工具模块 (Album Tools) - 相册项目管理 - 剧集批量处理 - 视频封面生成 - 批量去黑边、裁剪 ### ⚙️ 系统设置 - 阿里云 API Key 配置 - DeepSeek API Key 配置 - ComfyUI 服务地址配置 - 数据存储路径设置 - 多语言支持 ## 技术栈 - **UI 框架**: PyQt5 >= 5.15.0 - **AI SDK**: dashscope(阿里云)、openai(DeepSeek) - **图像处理**: Pillow、opencv-python、onnxruntime - **视频处理**: yt-dlp、ffmpeg(系统依赖)、scenedetect - **音频处理**: edge-tts、librosa、soundfile - **数据处理**: numpy、scikit-learn、dtaidistance、pyyaml - **网络**: requests、websocket-client(ComfyUI) - **运行时**: Python 3.8+ ## 项目结构 ``` yy-aigc-platform/ ├── src/ │ └── yy_aigc_platform/ # 应用 Python 包 │ ├── __main__.py # python -m yy_aigc_platform 入口 │ ├── main.py # 主窗口入口(QMainWindow + QStackedWidget) │ ├── main_widget.py # 首页工具卡片网格 │ ├── launcher.py # 模块独立启动器 │ ├── modules/ # 各功能模块 │ └── utils/ # 通用工具 ├── pyproject.toml # Python 包与 pytest 配置 ├── requirements.txt # Python 依赖 ├── assets/ # 应用图标等静态资源 ├── scripts/ # 脚本工具 │ ├── start.sh # 启动脚本 │ ├── install_deps.sh # 依赖安装脚本 │ ├── install_step1_deps.sh # 素材译制依赖安装 │ └── check_deps.py # 依赖检查 ├── docs/ # 设计文档与技术方案 ├── tests/ # 测试文件 ├── tests_data/ # 测试数据(.gitignore) └── fonts/ # 中文字体 ``` ## 架构模式 每个 AI 功能模块均遵循统一的三层结构: ``` Widget(PyQt5 UI 容器) └── Page(交互逻辑,三区布局:输入 / 参数 / 输出) └── Service(业务流水线) ├── API 封装类(阿里云接口调用) ├── 上传工具(图片/视频/音频) ├── 异步任务轮询(QThread) └── Logger(yy_aigc_platform.utils.logger) ``` 导航结构:`MainWindow` → `QStackedWidget` → 各模块 `Widget` ## 环境要求 - Python 3.8+ - ffmpeg(视频处理功能需要) - macOS / Linux ## 安装部署 ```bash # 克隆项目 git clone https://gitee.com/sleepforests/yy-aigc-platform.git cd yy-aigc-platform # 创建虚拟环境 python3 -m venv venv # 安装依赖 venv/bin/python -m pip install -r requirements.txt venv/bin/python -m pip install -e . --no-deps # 安装系统依赖(macOS) brew install ffmpeg # 运行应用 bash scripts/start.sh # 也可以通过 Python 模块直接启动 venv/bin/python -m yy_aigc_platform # 独立启动指定工具 venv/bin/python -m yy_aigc_platform.launcher ``` ## 配置说明 首次使用需要在系统设置中配置: | 配置项 | 说明 | |---|---| | 阿里云 API Key | 用于 AI 试衣、数字人、ASR、LLM 等服务 | | DeepSeek API Key | 用于 DeepSeek LLM 服务 | | ComfyUI 服务地址 | 用于 ComfyUI 相关功能 | | 存储路径 | 设置输出文件的保存位置 | 配置文件路径:`~/.yy-aigc-platform/config.json` 默认输出目录:`~/Documents/yy-aigc-platform/`(可在系统设置中修改) ## 功能模块状态 | 模块 | 状态 | 核心技术 | |---|---|---| | AI 试衣 | 已完成 | 阿里云 AI Try-On(基础版/高级版/精修) | | 舞蹈迁移 | 已完成 | 阿里云 Animate Anyone Gen2 | | 数字人合成 | 已完成 | 阿里云数字人 API | | 视频换脸 | 已完成 | 阿里云视频换脸 API | | 短剧解说 | 已完成 | ASR + InsightFace + LLM + TTS + FFmpeg | | 素材译制 | 开发中 | PySceneDetect + TF-IDF + DTW + Edge TTS | | API 审计 | 已完成 | — | | 相册工具 | 已完成 | 本地批量视频处理 | | 视频下载 | 已完成 | yt-dlp | | 视频切割 | 已完成 | FFmpeg | | 格式转换 | 已完成 | FFmpeg / OpenCV | | 系统设置 | 已完成 | — | ## 测试 测试文件按模块组织在 `tests/` 目录,所有测试必须在 venv 环境中运行: ```bash # 运行单个测试 venv/bin/python tests/material_localization/test_step1.py venv/bin/python tests/utils/test_logger.py # 运行模块所有测试 venv/bin/python -m pytest tests/episode_explanation/ # 运行全部测试 venv/bin/python -m pytest tests/ ``` 测试临时文件存放在 `tests_data/` 目录(已在 `.gitignore` 中)。 ## 常见问题 - **API 调用失败**:检查 `~/.yy-aigc-platform/config.json` 中的 API Key 是否有效 - **视频处理失败**:确认 `ffmpeg` 已安装并在 PATH 中 - **ComfyUI 连接失败**:在系统设置中确认 ComfyUI 服务地址和端口正确 - **依赖安装失败**:使用 `venv/bin/python -m pip install -r requirements.txt` 安装依赖 ## 许可证 本项目基于 MIT 许可证开源。 ## 贡献指南 欢迎提交 Issue 和 Pull Request!