# 09_AI生成流水线_Provider抽象设计 ## 1. 文档目标 本文档定义系统 B 的 AI 核心流水线、Provider 抽象、任务输入输出、质量控制和模型可替换策略。 ## 2. 核心原则 1. 不把任何模型写死到业务代码。 2. 所有 AI 能力通过 Provider 调用。 3. 高成本任务必须检查订单/额度。 4. 所有 AI 调用必须记录日志和成本。 5. 任务失败可重试,可切换备用 Provider。 6. 预览和正式生成分离。 ## 3. Provider 类型 ```text TextProvider:文案、创作方案、Prompt 生成 ImageProvider:预览图、正式图、局部重绘 VideoProvider:图生视频、关键动态镜头 VoiceProvider:旁白、誓言、祝福语 TTS ModerationProvider:文本/图片审核 FaceCheckProvider:人脸检测、角色归属、清晰度 QualityCheckProvider:图片质量、人像一致性、视频质检 ``` V3 真人动态视频新增 Provider: ```text FaceIdentityProvider:真人身份档案、身份特征摘要、身份锚点建议 FaceConsistencyProvider:本人相似度、人脸一致性、男女混脸检测 MotionPortraitProvider:动态写真,眨眼、微笑、头发衣服轻微动 LipSyncProvider:口型同步、誓言口播、祝福语口播 ``` VideoProvider 在 V3 中不只用于“关键动态镜头”,还要支持: ```text image_to_video:首帧图生视频 reference_to_video:多参考图保持人物一致性 start_end_to_video:首尾帧视频 speech_to_video / lipsync:带音频或口型的视频任务,可选 ``` ## 4. Provider 通用配置 字段: ```text provider_type provider_name model_name api_base api_key_ref priority quality_level rate_limit cost_rule fallback_provider_id status ``` ## 5. AI 流水线总览 ```text 用户上传照片 → 原图去 EXIF → 照片质检 → 人物档案生成 → 用户填写定制信息 → 创作方案生成 → 镜头计划生成 → Prompt 分层组装 → 预览图生成 → 用户确认预览 → 正式图生成 → 图片质检 → 旁白/字幕生成 → 视频合成 → 最终质检 → 人工审核 → 交付 ``` ## 5.1 V3 真人动态视频流水线 ```text 用户上传照片 → 授权确认 → 原图去 EXIF / 私有存储 → 照片质检 → FaceIdentityProvider 生成人物身份档案 → 身份锚点图生成 → FaceConsistencyProvider 评分 → 用户确认像不像 → 创作方案 / 镜头计划 → 关键帧生成 → 成本预估和额度冻结 → VideoProvider 生成真人动态片段 → 视频片段质检 → VoiceProvider 生成旁白 / 誓言 → LipSyncProvider 口型同步,可选 → FFmpeg 合成成片 → 最终质检 → 人工审核 → 用户确认 → 交付 ``` 关键规则: - 未完成授权,不允许照片处理和生成。 - 未确认身份锚点,不允许正式动态视频生成。 - 真实视频 Provider 默认关闭,必须运营启用、用户确认和成本通过后才调用。 - 真实 Provider 失败不能回落 mock 假成功。 - 每个视频片段必须可单独预览、重试、替换、质检和计费。 ## 6. 照片处理流程 ### 6.1 输入 - 用户原始照片 - 人物角色:person_a/person_b/self/child/family_member - 项目主题 ### 6.2 处理 ```text 保存原图 去除 EXIF 生成缩略图 检测人脸数量 检测清晰度 检测遮挡 检测角度 检测重复图片 检测是否多人混入 检测过度美颜风险 ``` ### 6.3 输出 ```json { "asset_id": 1001, "quality_status": "pass", "quality_score": 86.5, "face_count": 1, "issues": [] } ``` ## 7. 人物档案生成 ### 7.1 目标 将多张参考照片整理成人物档案,供后续 Prompt 和一致性控制使用。 ### 7.2 输出字段 ```text role name gender_label age_group appearance_summary face_features hair_features temperament reference_asset_ids anchor_asset_id avoid_changes quality_score ``` ### 7.3 示例 ```text person_a:30岁左右男性,短黑发,脸型偏长,五官清晰,气质沉稳。生成时保持发型、脸型和年龄感,不要变成欧美脸,不要明显年轻化或老化。 ``` ## 8. 创作方案生成 ### 8.1 输入 ```text 人生主题 套餐 视觉风格 世界观列表 场景列表 人物档案 用户定制信息 输出类型 ``` ### 8.2 输出 ```text 作品标题 作品简介 世界顺序 场景顺序 镜头计划 旁白草稿 字幕草稿 片头文案 片尾文案 总时长 预计图片数 预计视频片段数 ``` ### 8.3 生成约束 - 不要生成用户未选择的世界。 - 不要改变人物关系。 - 文案不要过长。 - 如果是父母银婚金婚,语气要庄重温馨。 - 如果是情侣写真,可以更浪漫轻盈。 ## 9. Prompt 分层组装 Prompt 由以下层组成: ```text 人物层 关系层 人生主题层 世界观层 场景层 镜头层 视觉风格层 质量层 限制层 ``` ### 9.1 人物层 来自 person_profile。 ### 9.2 世界观层 来自 world_template。 ### 9.3 场景层 来自 scene_template。 ### 9.4 镜头层 来自 shot_template。 ### 9.5 质量层 根据套餐决定: - high quality - commercial portrait quality - detailed lighting - clean composition ### 9.6 限制层 必须包含: ```text 不要多出无关人物 不要文字乱入 不要明显畸形手 不要改变人物年龄 不要男女混脸 不要改变人物核心五官 ``` ## 10. 预览图生成 ### 10.1 目标 让用户低成本确认: - 人物像不像 - 风格是否满意 - 世界方向是否正确 ### 10.2 规则 - 数量少 - 加水印 - 低清或中清 - 只生成关键场景 - 预览重生次数受限 ## 11. 正式图生成 ### 11.1 输入 - 确认后的镜头计划 - 人物档案 - 场景模板 - 风格模板 - 预览锚点图,可选 ### 11.2 规则 - 使用高质量 Provider 配置 - 每张图记录 Prompt - 每张图记录 Provider - 每张图记录版本 - 失败可重试 - 多次失败转人工 ## 12. 图片质检 自动检查: ```text 人脸是否崩坏 人物是否不像本人 男女是否混脸 是否多出第三人 手部是否异常 服装是否跑偏 场景是否错误 是否有乱码文字 是否违规 ``` 输出: ```text pass warning fail ``` 处理: - pass:进入视频合成 - warning:人工复核 - fail:自动重生 ## 13. TTS 和字幕生成 ### 13.1 文案来源 - 片头 - 旁白 - 誓言 - 祝福语 - 片尾 ### 13.2 字幕规则 - 每屏字数控制 - 不遮挡人物脸部 - 字幕和旁白时间对齐 - 支持有字幕/无字幕版本 ## 14. 视频合成 ### 14.1 输入 ```text final_images shot_plans subtitle_srt voice_audio bgm_audio video_template ``` ### 14.2 FFmpeg 处理 - 图片转视频片段 - 推拉运镜 - 转场 - 字幕烧录 - 音频混合 - 片头片尾 - 封面生成 ### 14.3 视频等级 ```text L1:静态图片 + 推拉运镜 L2:图片 + 简单光效/花瓣/粒子 L3:关键镜头图生视频 L4:高级动态视频 ``` 第一阶段建议:L1 + L2 为主。 ## 15. 最终质检 检查: - 视频可播放 - 音画同步 - 字幕不出框 - BGM 音量合适 - 旁白清晰 - 分辨率正确 - 文件大小合理 - 无违规内容 ## 16. Provider 失败切换 策略: ```text 主 Provider 失败 → 记录错误 → 判断是否可重试 → 重试 N 次 → 切换 fallback Provider → 仍失败则 manual_required ``` ## 17. 成本记录 每次 AI 调用记录: ```text project_id task_id provider_id model_name input_size output_size estimated_cost actual_cost latency_ms status ``` ## 18. 需要人工介入的场景 - 人像连续不像 - 多次生成崩坏 - 视频合成失败 - 用户申请中改/大改 - 审核警告 - 高端定制项目 ## 19. V3 VideoProvider 策略 系统 B V3 优先测试图生视频、参考图生视频和人物动作视频,不建议直接依赖文生视频。 推荐 Provider 预设: | Provider | 适合用途 | 默认状态 | |---|---|---| | MiniMax Hailuo 2.3 Fast | 低成本快速小样、真人动效验证 | 禁用 | | MiniMax Hailuo 2.3 | 质量更高的小样 / 正式片段 | 禁用 | | Alibaba Wan2.6 I2V Flash | 快速对比稳定性和成本 | 禁用 | | Alibaba Wan2.6 I2V | 标准质量图生视频 | 禁用 | | Vidu Q3 Turbo Reference | 多参考图人物一致性、音画能力 | 禁用 | | Vidu Q3 Pro | 高质量参考图生视频 | 禁用 | | Jimeng / Seedance | 中文短剧感、真人镜头语言 | 禁用 | | Kling / Runway | 备用对比和部分高质量场景 | 禁用 | | MockVideoProvider | 流程演练和不扣费测试 | 启用 | 每个 Provider 配置至少包含: ```text provider_name model_name mode: image2video / reference2video / start_end2video / lipsync resolution max_duration_per_clip cost_per_second 或 cost_per_clip supports_reference_image supports_start_end_frame supports_audio supports_lipsync supports_character_reference retry_limit priority fallback_provider status ``` ## 20. V3 视频片段质检 每个真实视频片段必须检查: - 是否像本人。 - 是否男女混脸。 - 是否年龄变化过大。 - 是否多出第三人。 - 动作是否自然。 - 表情是否怪异。 - 手部和身体是否畸形。 - 是否有不合适姿势。 - 是否有水印、乱码、logo。 - 是否适合公开案例。 质检结果: ```text passed:可进入合成 needs_retry:建议重试 manual_review:转人工 rejected:不可用 ``` ## 21. V3 口型策略 口型属于高级能力,不作为基础交付强依赖。 规则: - 只有高端真人纪念片或用户选择口型套餐时启用。 - 口型失败时允许回退为旁白字幕版本。 - 口型任务必须单独记录 Provider、成本、状态和错误。 - 涉及未成年人时,口型内容必须更严格审核。