mixvideo-v2/apps/desktop/docs/OUTFIT_PHOTO_GENERATION.md

6.1 KiB
Raw Permalink Blame History

穿搭照片生成功能文档

概述

穿搭照片生成功能是基于 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    # 数据模型

使用指南

基本使用流程

  1. 选择模特形象

    • 从可用的模特照片中选择一张作为基础形象
    • 支持个人形象照片类型
  2. 上传商品图片

    • 拖拽或点击选择商品图片
    • 支持 PNG、JPG、JPEG、GIF、BMP、WebP 格式
    • 可上传多张图片(当前版本使用第一张)
  3. 输入提示词

    • 正面提示词:描述期望的穿搭效果
    • 负面提示词:描述不希望出现的元素(可选)
  4. 配置高级参数(可选)

    • 生成步数控制生成质量1-100
    • CFG 比例控制提示词遵循程度1-20
    • 种子值:控制随机性(-1 为随机)
    • 去噪强度控制生成强度0-1
  5. 开始生成

    • 点击"开始生成"按钮
    • 实时查看生成进度
    • 等待生成完成

高级功能

历史记录管理

  • 查看所有生成记录
  • 按状态、时间筛选
  • 重试失败的生成任务
  • 删除不需要的记录

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

故障排除

常见问题

  1. ComfyUI 连接失败

    • 检查 ComfyUI 服务器是否运行
    • 验证服务器地址和端口配置
    • 确认网络连接正常
  2. 生成失败

    • 检查提示词是否合理
    • 验证商品图片格式和大小
    • 查看错误日志信息
  3. 生成速度慢

    • 调整生成步数参数
    • 检查服务器性能
    • 优化工作流配置

错误代码

  • CONNECTION_FAILED: ComfyUI 连接失败
  • INVALID_IMAGE: 图片格式不支持
  • GENERATION_TIMEOUT: 生成超时
  • WORKFLOW_ERROR: 工作流执行错误

性能优化

前端优化

  • 图片懒加载
  • 组件按需加载
  • 状态管理优化
  • 内存泄漏防护

后端优化

  • 连接池管理
  • 异步任务处理
  • 错误重试机制
  • 资源清理

扩展开发

添加新的工作流

  1. 在 ComfyUI 中创建工作流
  2. 导出工作流 JSON 文件
  3. 添加到工作流目录
  4. 更新工作流模板配置

自定义生成参数

  1. 扩展 WorkflowConfig 类型
  2. 更新前端参数面板
  3. 修改后端参数处理逻辑
  4. 测试参数效果

更新日志

v1.0.0 (2024-01-30)

  • 初始版本发布
  • 基础生成功能
  • ComfyUI 集成
  • 历史记录管理
  • 设置面板

计划功能

  • 批量生成优化
  • 更多工作流模板
  • 生成结果评分
  • 社区分享功能