6.1 KiB
6.1 KiB
穿搭照片生成功能文档
概述
穿搭照片生成功能是基于 ComfyUI 工作流的 AI 图像生成系统,允许用户通过选择模特形象和商品图片,结合文本提示词,生成个性化的穿搭照片。
功能特性
核心功能
- 模特形象选择: 从项目中的模特照片中选择基础形象
- 商品图片上传: 支持拖拽上传多种格式的商品图片
- 智能提示词: 支持正面和负面提示词,精确控制生成效果
- 高级参数配置: 可调整生成步数、CFG比例、种子值等参数
- 实时进度监控: 显示生成进度和状态信息
- 历史记录管理: 查看、重试、删除历史生成记录
技术特性
- ComfyUI 集成: 基于 ComfyUI 的强大工作流引擎
- 云端存储: 自动上传生成结果到云端存储
- 批量处理: 支持批量生成多张穿搭照片
- 错误恢复: 自动重试机制和错误处理
- 性能监控: 生成时间统计和性能分析
系统架构
前端组件结构
src/components/outfit/
├── OutfitPhotoGenerator.tsx # 主生成器组件
├── OutfitPhotoGenerationHistory.tsx # 历史记录组件
├── ComfyUISettingsPanel.tsx # 设置面板组件
└── index.ts # 组件导出
src/pages/
└── OutfitPhotoGeneration.tsx # 主页面组件
src/types/
└── outfitPhotoGeneration.ts # 类型定义
src/services/
└── outfitPhotoGenerationService.ts # 服务层
后端架构
src-tauri/src/
├── business/services/
│ └── comfyui_service.rs # ComfyUI 服务
├── presentation/commands/
│ └── outfit_photo_generation_commands.rs # Tauri 命令
└── data/models/
└── outfit_photo_generation.rs # 数据模型
使用指南
基本使用流程
-
选择模特形象
- 从可用的模特照片中选择一张作为基础形象
- 支持个人形象照片类型
-
上传商品图片
- 拖拽或点击选择商品图片
- 支持 PNG、JPG、JPEG、GIF、BMP、WebP 格式
- 可上传多张图片(当前版本使用第一张)
-
输入提示词
- 正面提示词:描述期望的穿搭效果
- 负面提示词:描述不希望出现的元素(可选)
-
配置高级参数(可选)
- 生成步数:控制生成质量(1-100)
- CFG 比例:控制提示词遵循程度(1-20)
- 种子值:控制随机性(-1 为随机)
- 去噪强度:控制生成强度(0-1)
-
开始生成
- 点击"开始生成"按钮
- 实时查看生成进度
- 等待生成完成
高级功能
历史记录管理
- 查看所有生成记录
- 按状态、时间筛选
- 重试失败的生成任务
- 删除不需要的记录
ComfyUI 设置
- 配置服务器地址和端口
- 设置超时时间
- 测试连接状态
- 管理工作流和输出目录
API 接口
主要 Tauri 命令
// 创建生成任务
create_outfit_photo_generation_task(request: OutfitPhotoGenerationRequest) -> String
// 执行生成
execute_outfit_photo_generation(generation_id: String) -> OutfitPhotoGenerationResponse
// 获取历史记录
get_outfit_photo_generation_history(query: GenerationHistoryQuery) -> GenerationHistoryResponse
// 重试生成
retry_outfit_photo_generation(generation_id: String) -> OutfitPhotoGenerationResponse
// 删除记录
delete_outfit_photo_generation(generation_id: String) -> ()
// ComfyUI 设置
get_comfyui_settings() -> ComfyUISettings
update_comfyui_settings(settings: ComfyUISettings) -> ()
test_comfyui_connection() -> bool
数据类型
// 生成请求
interface OutfitPhotoGenerationRequest {
project_id: string;
model_id: string;
product_image_path: string;
prompt: string;
negative_prompt?: string;
workflow_config?: WorkflowConfig;
}
// 生成响应
interface OutfitPhotoGenerationResponse {
id: string;
status: GenerationStatus;
result_image_urls: string[];
error_message?: string;
generation_time_ms?: number;
}
// 生成状态
enum GenerationStatus {
Pending = "Pending",
Processing = "Processing",
Completed = "Completed",
Failed = "Failed"
}
配置说明
ComfyUI 服务器配置
interface ComfyUISettings {
server_address: string; // 服务器地址
server_port: number; // 端口号
is_local: boolean; // 是否本地服务器
timeout_seconds: number; // 超时时间
enabled: boolean; // 是否启用
workflow_directory?: string; // 工作流目录
output_directory?: string; // 输出目录
}
默认配置
- 服务器地址:
localhost - 端口:
8188 - 超时时间:
300秒 - 生成步数:
20 - CFG 比例:
7.0 - 去噪强度:
1.0
故障排除
常见问题
-
ComfyUI 连接失败
- 检查 ComfyUI 服务器是否运行
- 验证服务器地址和端口配置
- 确认网络连接正常
-
生成失败
- 检查提示词是否合理
- 验证商品图片格式和大小
- 查看错误日志信息
-
生成速度慢
- 调整生成步数参数
- 检查服务器性能
- 优化工作流配置
错误代码
CONNECTION_FAILED: ComfyUI 连接失败INVALID_IMAGE: 图片格式不支持GENERATION_TIMEOUT: 生成超时WORKFLOW_ERROR: 工作流执行错误
性能优化
前端优化
- 图片懒加载
- 组件按需加载
- 状态管理优化
- 内存泄漏防护
后端优化
- 连接池管理
- 异步任务处理
- 错误重试机制
- 资源清理
扩展开发
添加新的工作流
- 在 ComfyUI 中创建工作流
- 导出工作流 JSON 文件
- 添加到工作流目录
- 更新工作流模板配置
自定义生成参数
- 扩展
WorkflowConfig类型 - 更新前端参数面板
- 修改后端参数处理逻辑
- 测试参数效果
更新日志
v1.0.0 (2024-01-30)
- 初始版本发布
- 基础生成功能
- ComfyUI 集成
- 历史记录管理
- 设置面板
计划功能
- 批量生成优化
- 更多工作流模板
- 生成结果评分
- 社区分享功能