## Requirements ### Requirement: SD Prompt 与文案语义联动 系统 SHALL 在生成 SD Image Prompt 时,解析文案中的核心视觉元素(场景词、物品词、情绪词),并将其映射为 SD Prompt 的画面描述词,确保图片内容与文案主题语义一致。 #### Scenario: 文案关键词提取 - **WHEN** 传入文案文本至图片生成流程 - **THEN** 系统 SHALL 使用 LLM 提取文案中的视觉关键词(不超过 5 个),并将其注入 SD Prompt 的主体描述段 #### Scenario: 视觉关键词映射失败 - **WHEN** LLM 提取视觉关键词失败或超时 - **THEN** 系统 SHALL 退回使用 `style_tag + topic` 拼接的默认 Prompt,不中断图片生成流程 ### Requirement: 封面图策略选择 系统 SHALL 支持 4 种封面图策略,用户可在创作时选择: 1. **AI 写真**(`ai_portrait`):生成人物写真封面 2. **产品特写**(`product_close`):生成产品/物品近景 3. **场景氛围**(`scene_mood`):生成场景氛围图 4. **文字海报**(`text_poster`):生成带有文字排版的海报图 #### Scenario: 策略路由 - **WHEN** 用户选择封面策略 `strategy` 并调用图片生成 - **THEN** 系统 SHALL 根据 `strategy` 值路由至对应的 Prompt 模板和 SD 参数配置,不使用其他策略的模板 #### Scenario: 策略参数默认值 - **WHEN** 用户未指定封面策略时 - **THEN** 系统 SHALL 默认使用 `ai_portrait` 策略 ### Requirement: 图文匹配度评估 系统 SHALL 提供 `evaluate_image_text_match(copy_text, image_path)` 方法,使用 VL 模型(vision-language)分析图片内容与文案之间的语义匹配程度,返回 0-100 的匹配度评分和改进建议。 #### Scenario: 匹配度评估成功 - **WHEN** 传入有效的文案文本和图片路径 - **THEN** 系统 SHALL 返回包含 `match_score`(0-100 整数)和 `suggestions`(字符串列表,可为空)的字典 #### Scenario: VL 模型不可用 - **WHEN** VL 模型调用失败或未配置 - **THEN** 系统 SHALL 返回 `{"match_score": -1, "suggestions": [], "error": "VL model unavailable"}`,不抛出异常 #### Scenario: 低匹配度触发建议 - **WHEN** `match_score` < 60 - **THEN** `suggestions` 字段 SHALL 包含至少 1 条具体的图片改进建议文本