# AI 真人/漫剧视频流水线测试踩坑记录 V1 更新时间:2026-06-12 用途: - 记录测试阶段已经遇到的问题、原因判断、系统优化点。 - 后续接入 Kling、Seedance、Wan、Vidu、Runway、Veo 等平台时,按同一套准入标准测试,避免重复烧钱。 - 本文件是运营/开发测试手册,不替代 `docs/` 里的系统需求文档。 ## 当前阶段定位 当前仍是测试磨合阶段,不追求一次性自动发布。 目标顺序: 1. 跑通自动化流水线。 2. 找到各 Provider 的能力边界。 3. 把失败原因转成系统规则。 4. 形成可恢复、可路由、可统计成本的生产流程。 5. 最后再逐步提高自动化比例。 ## 已验证结论 ### Hailuo 适合做什么 Hailuo / MiniMax Hailuo 2.3 Fast 当前更适合: - 都市真人短剧普通镜头。 - 中景、远景、走路、转身、递物、沉默、反应镜头。 - 咖啡厅、街道、办公室、豪车、酒店、家庭等现实场景。 - 旁白 + 字幕 + BGM 推动剧情的短剧。 - 成本敏感的批量生产。 当前实测成本: - `minimax_hailuo_23_fast`:约 `$0.317 / 10秒` - `minimax_hailuo_23`:约 `$0.467 / 10秒` ### Hailuo 不适合硬扛什么 Hailuo 对以下镜头可控性不足: - 凌空翻滚、复杂武打、连续打斗。 - 精准手诀、结印、舞蹈式手部动作。 - 法相天地、千臂法身、巨型神像复杂动作。 - 一镜中塞太多高复杂动作。 - 正脸强台词口型同步。 处理原则: - 不要在同一失败动作上无脑重跑 Hailuo。 - 如果同类复杂动作 1-2 次失败,优先切换 Provider 或补动作参考/姿势关键帧。 - 修仙、法相、打斗、次元壁穿越等镜头默认标记为高价值/高复杂度,不按普通都市镜头处理。 ## 分镜时长经验 ### Hailuo 时长设计规则 Hailuo 当前按真实可用规格优先设计: - 常规可用镜头时长:6 秒 / 10 秒。 - 真人短剧主流程优先按 10 秒长镜头设计。 - 只有非常简单的过渡镜头、环境镜头、无台词动作镜头,才考虑 6 秒。 - 不再设计 7 秒、8 秒这种无法直接匹配 Hailuo 输出规格的镜头。 系统规则: - 导演分镜上限必须允许 10 秒。 - 如果原分镜明确是 10 秒,prepare 阶段不得自动压缩成 5 秒或 8 秒。 - 负面约束里的“避免嘴部特写”不能导致镜头被误判成 insert 特写。 - “手里的道具”不能被误判成“手部特写”,只有手部/手指/手掌/手腕/手势等明确关键词才算 insert。 ### 3 秒碎片问题 法相天地三段式测试暴露问题: - 镜头切太碎,像图片拼接。 - Hailuo 实际输出常按 6 秒返回,系统再裁成 3/3/4 秒时,动作容易被截断。 - 复杂动作被拆太短,会失去电影感和动作连贯性。 结论: - 普通反应镜头:3-5 秒可以。 - 都市剧情镜头:5-6 秒更稳。 - 复杂动作/爆点镜头:优先 8-10 秒一镜到底。 - 不能把 6 秒 Provider 输出硬裁成 3 秒作为长期策略。 ### 10 秒一镜到底结论 法相天地 10 秒 Hailuo 测试已验证: - Hailuo API 可以返回 10 秒。 - 10 秒一镜到底比 3 段裁切更连贯。 - 人物、服装、场景稳定性明显提升。 - 但复杂动作本身仍受 Provider 能力限制。 系统规则: - `action_score >= 8` 且 `importance >= 8` 的镜头,优先生成 8-10 秒单镜头。 - 如果 Provider 不支持目标时长,再由系统拆分,不要随意裁切关键动作。 ## Prompt Engine 经验 直接把剧情发给视频模型,质量不稳定。 必须通过 Prompt Engine 组装: - 角色。 - 场景。 - 主动作。 - 镜头大小。 - 运镜。 - 动作时间轴。 - 情绪表演。 - 灯光。 - 特效时机。 - 声音卡点。 - 负面约束。 已落地: - Motion Director Prompt。 - 10 秒仙侠一镜到底时间轴。 - Hailuo 长镜头 prompt 上限提升。 仍需注意: - Prompt 只能提高概率,不能保证复杂动作精确执行。 - 复杂动作需要动作参考图、姿势关键帧或更强 Provider。 - 如果同一个 Prompt 多次失败,继续加形容词意义不大。 ## 角色一致性经验 当前测试发现: - 没有固定角色定妆图/锚点图时,人物容易漂移。 - 修仙/奇幻镜头更容易因为特效导致人物脸和服装变化。 - 都市短剧也需要固定林凡、陈雪、王伯这类角色锚点。 系统规则: - 真人短剧正式验收前必须先做角色锚点图。 - 新剧首轮至少固定主角、女主、关键配角。 - Provider 小样要使用同一角色锚点和同一关键帧,避免测试结果不可比。 ## 声音与字幕经验 没有声音、没有字幕、没有 BGM 的视频判定为失败。 已经遇到的问题: - 屏幕女孩测试:无声音、无字幕,发布感不足。 - 口型镜头:语音先到,嘴型后动。 - 部分合成音量偏低,视觉还可以但情绪不够。 系统规则: - 每条可发布视频必须包含字幕。 - 每条可发布视频必须包含 BGM 或环境底噪。 - 情绪镜头必须有 SFX:雨声、脚步、门声、心跳、低频冲击、sting 等。 - 合成后必须跑音量检测。 - 音量偏低时重新后期合成,不一定重跑视频。 ## 台词与 lip-sync 经验 没有稳定 lip-sync Provider 前,不要把关键台词做成正脸大嘴型特写。 当前策略: - `lip_sync_required=true` 但没有真实 lip-sync Provider 时: - 改成旁白。 - 改成字幕。 - 改成中景/侧脸/轻口型。 - 避免正脸嘴部特写。 未来接入 lip-sync Provider 后: - 只给关键正脸台词使用。 - 不全片 lip-sync,避免成本翻倍。 - lip-sync 放在视频片段生成后、FFmpeg 合成前。 ## 成本控制经验 默认策略: - 每个镜头默认只生成 1 条。 - 不默认生成 2-3 条候选。 - 只有封面级、爆点、最后反转、人工验收阶段才允许候选 2 条。 - 任何候选数增加都必须进入成本预估和审计日志。 当前后台已支持: - AI 接入列表展示每 10 秒成本。 - Provider `cost_summary`。 - 单次成本上限。 - 当日成本上限。 - `price_per_second=0` 不当成免费,而是提示需账单回填。 ## Provider 路由经验 推荐基础路由: ```text 普通都市镜头 => Hailuo 都市高价值镜头 => Hailuo 优先,必要时 Kling / Vidu / Wan 对比 修仙 / 法相 / 打斗 / 次元壁 / 复杂动作 => Premium Provider 候选 正脸台词 => 有 lip-sync Provider 才允许正脸特写,否则中景/旁白/字幕 成本超预算 => Premium -> Hailuo -> Seedance/Mock ``` 不要把“平台选择”写死在业务代码里,必须走 Router。 ## Provider 准入测试标准 每接入一个新视频 Provider,都按固定小样测试: 1. 同一项目。 2. 同一角色锚点图。 3. 同一关键帧。 4. 同一镜头文本。 5. 同一目标时长。 6. 同一分辨率/比例。 7. 记录真实成本。 8. 记录失败原因。 9. 记录生成耗时。 10. 记录人工观感评分。 必须记录: - `provider_code` - `model_name` - `clip_id` - `asset_id` - `duration` - `cost_actual` - `quality_score` - `human_acceptance` - `failure_reason` - `prompt_version` - `keyframe_asset_id` ## 人工验收标准 当前 mock-qc 分数只能说明流程没坏,不能代表可发布。 真人视频上线前必须人工看: - 人物是否稳定。 - 动作是否连贯。 - 镜头是否像真实拍摄。 - 字幕是否准确。 - 声音是否完整。 - BGM/SFX 是否有情绪。 - 口型是否明显穿帮。 - 是否有明显 AI 手、脸、身体变形。 - 成本是否在预算内。 ## 不要重复踩的坑 - 不要把 mock-qc 通过当成真实质量通过。 - 不要无音频/无字幕就判断视频流程合格。 - 不要用 3 秒碎切测试复杂动作。 - 不要在 Hailuo 上反复烧复杂修仙动作。 - 不要把 `price_per_second=0` 当成免费。 - 不要默认生成 2-3 条候选。 - 不要让正脸台词在没有 lip-sync 时直出。 - 不要只看最终成片,要保留脚本、分镜、prompt、关键帧、音频、视频片段、合成记录。 - 不要默认认为 `mock-video` 就是全链路零成本;如果 TTS Provider 已启用真实平台,Mock 视频合成仍可能调用真实 TTS。零成本压测要显式指定 `mock-voice` 或关闭音频。 - 真实 Hailuo / Kling / Wan 等图生视频前必须先跑 preflight,确认关键帧是 PNG/JPG/WebP;Mock SVG 只能测流程,不能直接发给真实视频 Provider。 - Hailuo Fast 跑都市真人 10 秒镜头可用,5 条 10 秒顺序生成约 9 分钟,总成本记录 `$1.585`;后续应进入队列并在后台显示耗时。 - 只用单张临时关键帧会改善画面质感,但不能彻底解决同脸一致性;要上架必须补“角色锚点图 / 定妆图 / 同脸参考图”流程。 - 都市短剧 Hailuo 长镜头比 3-6 秒碎切更像真人短剧,但部分镜头仍会像关键帧慢推;Prompt 里要继续强化明确动作、人物走位、视线、反应和镜头结束动作。 - 角色锚点图 V1 对关键帧生成有效:同一角色的脸、服装、气质会比临时起图更稳;但 Hailuo Fast 当前按单首帧图生视频跑,不能直接吃多角色参考图,所以运动中仍可能轻微改脸。 - 锚点重跑应优先挑第 1 镜、第 3 镜、第 5 镜这类“角色出场 / 冲突 / 反转”镜头;默认候选仍为 1 条,避免成本翻倍。 - 真人短剧对白不能一镜一段 TTS 直接读完;只要 `dialogue_text` 里出现 `角色名:台词`,必须拆成多段 TTS,每段记录 `speaker_name` / `character_id` / `voice_id` / `voice_style`。 - 角色声线是发布级基础配置:顾辰、林雨薇、周浩、管家这类核心角色必须先在 Character 表绑定声音;否则即使画面像真人,声音也会变成解说感。 - 主持人、旁白也要当作独立声线处理;如果没有角色记录,至少要走固定 narration / host voice,不能复用男主或女主声音。 - 多声线 TTS 只解决“谁在说话”的问题,不解决“嘴型同步”;正脸台词仍要继续走 lip-sync 或中景轻口型策略。 - TTS 声音 ID 不能只看名字想当然:`Chinese (Mandarin)_Gentle_Senior` 在老管家场景听感偏女,不适合作为中老年男管家默认声线;当前老管家默认改为 `Chinese (Mandarin)_Gentleman`,但仍需人工听感确认。 - 核心角色上线前要做“角色声线小样验收”:每个角色先生成 1-2 句固定台词试听,确认性别、年龄、气质,再进入整集成片,避免整集重合成。 - Hailuo 2.3 标准版 1080P 比 Fast 768P 清晰度和雨夜质感略好,但第 5 镜 A/B 证明它不能单独解决“像图片动”的问题;高价值反转镜头更需要三关键帧/动作参考/更强 Provider,而不是只把 Fast 换成标准版。 - Provider A/B 测试必须保护当前成片:生成候选后要恢复 `storyboard_shots.video_clip_asset_id`,避免实验 clip 自动替换正式整集。 - 动作节拍链式生成 V1 对高价值反转镜头有效:第 5 镜用 2 段 Fast 生成,第二段用第一段结尾帧作为首帧,比单首帧慢推更能呈现“递卡 -> 看卡震惊”的动作链。 - action beat 不能默认全片开启:成本、耗时都会增加,适合反转/封面/爆点/高价值动作镜头;普通对话镜头仍用单条生成。 - preflight 必须按 action beat 的真实分段估算成本,否则后台会低估费用;第 5 镜 action beat 从单条 `$0.317` 变为 2 段 `$0.3804`。 - action beat 只解决“动作链更连续”,不解决“同一角色像同一个演员”;整集样片必须单独检查人物脸、年龄感、发型、服装是否跨镜稳定。 - 真实视频生成不能只传角色名字;必须把本镜出现角色的 ActorProfile 注入 provider prompt,并在 task input 记录 `actor_lock`,否则后台无法审计“这条视频到底有没有走锁脸策略”。 - prepare 阶段不要把全项目角色描述混进单镜 prompt;单镜只允许注入本镜出现的人物,否则多人项目会增加串脸概率。 - Hailuo 当前配置不是强角色参考模型,`supports_character_reference=false`;它可以做低成本图生视频,但发布级真人短剧要靠“角色锚点图生成首帧 + 强一致性 prompt + 人工抽检”,必要时横测支持角色参考的 Provider。 - 如果整集都换脸,不要继续盲目重跑全片;应先重跑第 1 / 3 / 5 镜这种出场、冲突、反转镜头,对比抽帧确认角色锁定是否有效,再决定是否整集重跑。 - 多角色音频不能把跨平台 voice_id 混用:`coral` 属于 OpenAI TTS,不能直接发给 MiniMax;Provider 层必须做 voice_id 适配或降级到当前 Provider 默认声线。 - MiniMax TTS 返回 JSON 时必须先检查 `base_resp.status_code`;否则账号权限、voice_id、group_id 等真实错误会被误报成 `EMPTY_AUDIO`。 - 小说上传走 encrypted JSON/base64 时,实际 HTTP body 会比原文件大约 33%;后端 body limit 必须高于文件限制,否则会先被 `request entity too large` 拦截。 ## 下一步建议 短期优先: 1. 继续围绕都市真人短剧做 Hailuo 量产质量优化。 2. 做角色锚点图/定妆图 V1。 3. 做动作参考/姿势关键帧 V1。 4. 用同一固定镜头横测 Kling / Seedance / Wan / Vidu。 5. 建 Provider 准入表:质量、成本、失败率、耗时。 6. 做 BGM/SFX 发布级音量标准。 7. lip-sync 只做关键台词小样,不先全片接入。 长期原则: - Hailuo 做低成本量产。 - 高价值镜头交给高质 Provider。 - Router 负责自动选模型。 - QA + 人工抽检负责质量闭环。 - 成本、失败、重试、降级全部进入审计。