[P1][配置] 爆款视频v1.2 - 初始数据seed+Staging联调 #2042

Open
opened 2026-09-25 21:30:12 +08:00 by xiaoxia · 1 comment
Owner

父工单:#2038

概述

爆款视频v1.2的初始数据seed、Staging环境配置、端到端测试用例、文档。

1. Seed数据脚本

scripts/seed_viral_video_data.py(幂等,可重复执行):

1.1 CosyVoice音色配置(10种)

预置10种常用音色,写入音色配置表:

  • 男声5种:磁性男声、年轻男声、沉稳男声、阳光男声、大叔音
  • 女声5种:温柔女声、甜美女声、知性女声、活力女声、御姐音
  • 每条含:voice_id, name, gender, style, cosyaudio_voice_id, sample_text, preview_url

1.2 人设预设(5种)

  • 产品推荐官(中性专业)
  • 闺蜜分享(女生活泼)
  • 好哥们安利(男生口语)
  • 行业专家(权威专业)
  • 【数字人】虚拟主播(触发MuseTalk口型同步)

1.3 爆款结构(4种)

  • 痛点→解决方案→效果(PAS模型)
  • 钩子→卖点→案例→CTA
  • 问题放大→反转→解决方案→行动
  • 场景代入→冲突→反转→种草

1.4 目标客户(6种)

  • 年轻女性(18-30)、年轻男性(18-30)、宝妈(25-40)、中年男性(35-55)、中老年(50+)、企业主/商家

1.5 营销目的(4种)

  • 产品种草、品牌曝光、促销转化、知识科普

1.6 行业预设(10+)

  • 服装鞋帽、美妆护肤、食品饮料、家居日用、3C数码、母婴用品、运动户外、珠宝饰品、宠物用品、教育培训、五金工具、其他

1.7 预置BGM映射(10+)

按mood+industry映射到OSS上的BGM文件路径:

  • upbeat(活力)、calm(平静)、emotional(情感)、luxury(奢华)、funny(搞笑)、corporate(商务)等
  • 每个mood至少2首BGM轮换

2. Staging环境变量配置

确认以下环境变量已在Staging配置(检查现有配置,缺的补上):

# 豆包API
DOUBAO_API_KEY=xxx
DOUBAO_VLM_MODEL=doubao-vision-pro-32k
DOUBAO_LLM_MODEL=doubao-1.5-pro-32k

# CosyVoice TTS
COSYVOICE_ENDPOINT=http://cosyvoice-worker:9880
COSYVOICE_TIMEOUT=120

# MuseTalk数字人
MUSETALK_ENDPOINT=http://musetalk-worker:8000
MUSETALK_TIMEOUT=300

# UnifiedRenderService
RENDER_SERVICE_ENDPOINT=http://render-service:9000
RENDER_TIMEOUT=600

# OSS(复用现有配置)
OSS_ACCESS_KEY_ID=xxx
OSS_ACCESS_KEY_SECRET=xxx
OSS_ENDPOINT=xxx
OSS_BUCKET=xxx

# PostgreSQL/Celery/Redis(复用现有)
DATABASE_URL=xxx
CELERY_BROKER_URL=xxx
REDIS_URL=xxx

# Credits
CREDITS_VIRAL_VIDEO_COST=50  # 每次生成消耗积分

3. 端到端测试用例(Staging环境手动跑通)

用例1:纯AI模式(v1.1兼容)

  • 前置:不上传参考音频,不填文案,fusion_level=ai_full
  • 步骤:上传3张产品图→选行业/客户/人设→点生成
  • 预期:跳过意图解析阶段,正常完成9步流水线→成片正确→扣50积分

用例2:不完整文案+AI润色

  • 前置:上传3张图,user_copy_text="这个保温杯真的很保温,早上倒的水下午还烫,颜色也好看",fusion_level=ai_polish
  • 步骤:提交生成→等待AI理解摘要卡片
  • 预期:
    • 摘要卡片显示3-5条要点,核心"保温好""早上倒水下午烫""颜色好看"都在
    • 点"理解对了"继续→最终文案包含保温卖点,语言比用户原文更流畅有吸引力
    • 用户提到的具体事实(保温、早上倒水下午烫)保留

用例3:明确文案+按我的话来

  • 前置:上传1张图,user_copy_text="我们永康产的这款不锈钢保温杯,316食品级材质,24小时保温,售价39.9元,全国包邮",fusion_level=user_primary
  • 步骤:提交→确认意图→等成片
  • 预期:
    • "永康""316食品级""24小时保温""39.9元""全国包邮"逐字保留
    • 文案整体以用户原话为主,AI只做衔接词添加
    • 成片配音包含所有事实信息

用例4:数字人模式

  • 前置:persona选"虚拟主播",上传数字人参考图
  • 步骤:提交生成
  • 预期:渲染完成后自动触发MuseTalk口型同步→进度显示"🎭 数字人口型同步"阶段→最终成片人物口型与配音同步

用例5:扣点失败

  • 前置:用户积分余额=0
  • 步骤:提交生成
  • 预期:任务不启动→返回余额不足错误→不扣积分→无Celery任务创建

用例6:意图理解不对重新编辑

  • 前置:同用例2
  • 步骤:摘要卡片出现后点"理解不对"→修改文案为"主要想突出保温效果特别好,别的不用提"→重新提交
  • 预期:重新跑意图解析→新摘要聚焦保温→最终文案重点突出保温

4. 文档

apps/worker/viral_video/README.md 包含:

  • 架构说明(9步流水线流程图)
  • 各Prompt模板的调优方法(怎么改Prompt、怎么AB测试)
  • 新增人设/音色/BGM的方法
  • 常见问题排查(哪步失败看什么日志)
  • 性能指标基线(9步各步骤典型耗时)
  • 如何加新的fusion level

验收标准

  1. seed脚本在Staging DB执行成功,所有预设数据写入
  2. Staging环境变量配置完毕,服务可正常启动
  3. 6个E2E用例全部在Staging跑通
  4. README.md文档完整
  5. 前端页面所有下拉选项都有数据(不是空的)
  6. BGM映射正确,成片有BGM且音量闪避正常
父工单:#2038 ## 概述 爆款视频v1.2的初始数据seed、Staging环境配置、端到端测试用例、文档。 ## 1. Seed数据脚本 `scripts/seed_viral_video_data.py`(幂等,可重复执行): ### 1.1 CosyVoice音色配置(10种) 预置10种常用音色,写入音色配置表: - 男声5种:磁性男声、年轻男声、沉稳男声、阳光男声、大叔音 - 女声5种:温柔女声、甜美女声、知性女声、活力女声、御姐音 - 每条含:voice_id, name, gender, style, cosyaudio_voice_id, sample_text, preview_url ### 1.2 人设预设(5种) - 产品推荐官(中性专业) - 闺蜜分享(女生活泼) - 好哥们安利(男生口语) - 行业专家(权威专业) - 【数字人】虚拟主播(触发MuseTalk口型同步) ### 1.3 爆款结构(4种) - 痛点→解决方案→效果(PAS模型) - 钩子→卖点→案例→CTA - 问题放大→反转→解决方案→行动 - 场景代入→冲突→反转→种草 ### 1.4 目标客户(6种) - 年轻女性(18-30)、年轻男性(18-30)、宝妈(25-40)、中年男性(35-55)、中老年(50+)、企业主/商家 ### 1.5 营销目的(4种) - 产品种草、品牌曝光、促销转化、知识科普 ### 1.6 行业预设(10+) - 服装鞋帽、美妆护肤、食品饮料、家居日用、3C数码、母婴用品、运动户外、珠宝饰品、宠物用品、教育培训、五金工具、其他 ### 1.7 预置BGM映射(10+) 按mood+industry映射到OSS上的BGM文件路径: - upbeat(活力)、calm(平静)、emotional(情感)、luxury(奢华)、funny(搞笑)、corporate(商务)等 - 每个mood至少2首BGM轮换 ## 2. Staging环境变量配置 确认以下环境变量已在Staging配置(检查现有配置,缺的补上): ```bash # 豆包API DOUBAO_API_KEY=xxx DOUBAO_VLM_MODEL=doubao-vision-pro-32k DOUBAO_LLM_MODEL=doubao-1.5-pro-32k # CosyVoice TTS COSYVOICE_ENDPOINT=http://cosyvoice-worker:9880 COSYVOICE_TIMEOUT=120 # MuseTalk数字人 MUSETALK_ENDPOINT=http://musetalk-worker:8000 MUSETALK_TIMEOUT=300 # UnifiedRenderService RENDER_SERVICE_ENDPOINT=http://render-service:9000 RENDER_TIMEOUT=600 # OSS(复用现有配置) OSS_ACCESS_KEY_ID=xxx OSS_ACCESS_KEY_SECRET=xxx OSS_ENDPOINT=xxx OSS_BUCKET=xxx # PostgreSQL/Celery/Redis(复用现有) DATABASE_URL=xxx CELERY_BROKER_URL=xxx REDIS_URL=xxx # Credits CREDITS_VIRAL_VIDEO_COST=50 # 每次生成消耗积分 ``` ## 3. 端到端测试用例(Staging环境手动跑通) ### 用例1:纯AI模式(v1.1兼容) - **前置**:不上传参考音频,不填文案,fusion_level=ai_full - **步骤**:上传3张产品图→选行业/客户/人设→点生成 - **预期**:跳过意图解析阶段,正常完成9步流水线→成片正确→扣50积分 ### 用例2:不完整文案+AI润色 - **前置**:上传3张图,user_copy_text="这个保温杯真的很保温,早上倒的水下午还烫,颜色也好看",fusion_level=ai_polish - **步骤**:提交生成→等待AI理解摘要卡片 - **预期**: - 摘要卡片显示3-5条要点,核心"保温好""早上倒水下午烫""颜色好看"都在 - 点"理解对了"继续→最终文案包含保温卖点,语言比用户原文更流畅有吸引力 - 用户提到的具体事实(保温、早上倒水下午烫)保留 ### 用例3:明确文案+按我的话来 - **前置**:上传1张图,user_copy_text="我们永康产的这款不锈钢保温杯,316食品级材质,24小时保温,售价39.9元,全国包邮",fusion_level=user_primary - **步骤**:提交→确认意图→等成片 - **预期**: - "永康""316食品级""24小时保温""39.9元""全国包邮"逐字保留 - 文案整体以用户原话为主,AI只做衔接词添加 - 成片配音包含所有事实信息 ### 用例4:数字人模式 - **前置**:persona选"虚拟主播",上传数字人参考图 - **步骤**:提交生成 - **预期**:渲染完成后自动触发MuseTalk口型同步→进度显示"🎭 数字人口型同步"阶段→最终成片人物口型与配音同步 ### 用例5:扣点失败 - **前置**:用户积分余额=0 - **步骤**:提交生成 - **预期**:任务不启动→返回余额不足错误→不扣积分→无Celery任务创建 ### 用例6:意图理解不对重新编辑 - **前置**:同用例2 - **步骤**:摘要卡片出现后点"理解不对"→修改文案为"主要想突出保温效果特别好,别的不用提"→重新提交 - **预期**:重新跑意图解析→新摘要聚焦保温→最终文案重点突出保温 ## 4. 文档 `apps/worker/viral_video/README.md` 包含: - 架构说明(9步流水线流程图) - 各Prompt模板的调优方法(怎么改Prompt、怎么AB测试) - 新增人设/音色/BGM的方法 - 常见问题排查(哪步失败看什么日志) - 性能指标基线(9步各步骤典型耗时) - 如何加新的fusion level ## 验收标准 1. seed脚本在Staging DB执行成功,所有预设数据写入 2. Staging环境变量配置完毕,服务可正常启动 3. 6个E2E用例全部在Staging跑通 4. README.md文档完整 5. 前端页面所有下拉选项都有数据(不是空的) 6. BGM映射正确,成片有BGM且音量闪避正常
xiaoxia added the P1feature labels 2026-09-25 21:30:12 +08:00
Author
Owner

📌 v1.3升级补充(2026-09-26)

  1. seed脚本增加viral_video_style_templates预置10+套风格模板数据(food_fastcut/fashion_slowpush/home_cozy/beauty_closeup/tech_sleek/street_energetic/lifestyle_soft/fitness_dynamic/kids_playful/luxury_elegant),每套含完整style_guide JSON(shot_count/camera_movements/transitions/color_palette/color_tone/color_filter/composition/lighting/pace/bpm/visual_keywords/ken_burns_direction_hint)
  2. viral_video_prompt_templates seed增加video_style_integration和style_constraint_module两套Prompt初始版本
  3. 端到端测试增加用例:
    • 用例6:上传参考美食快剪视频+style_strength=medium → 验证style_analyzed阶段输出、镜头语言卡片显示、最终视频运镜节奏匹配参考(快切+暖色调)
    • 用例7:style_strength=strict模式 → 验证镜头数/时长严格匹配、ken_burns/transition/color_filter参数正确
    • 用例8:选择预置风格模板(food_fastcut)→ 验证不调用video_analyzer、直接使用模板style_guide、最终视频符合该风格
    • 用例9:style_strength=light模式 → 验证风格仅做参考,镜头数/时长灵活调整
    • 用例10:参考视频+文案融合同时使用 → 验证文案保留用户意图+运镜遵循风格,两者不冲突
  4. Staging联调验证:视频分析超时降级(故意传损坏视频验证降级不阻断流程)、临时帧文件清理(df -i确认无泄漏)
## 📌 v1.3升级补充(2026-09-26) 1. seed脚本增加viral_video_style_templates预置10+套风格模板数据(food_fastcut/fashion_slowpush/home_cozy/beauty_closeup/tech_sleek/street_energetic/lifestyle_soft/fitness_dynamic/kids_playful/luxury_elegant),每套含完整style_guide JSON(shot_count/camera_movements/transitions/color_palette/color_tone/color_filter/composition/lighting/pace/bpm/visual_keywords/ken_burns_direction_hint) 2. viral_video_prompt_templates seed增加video_style_integration和style_constraint_module两套Prompt初始版本 3. 端到端测试增加用例: * 用例6:上传参考美食快剪视频+style_strength=medium → 验证style_analyzed阶段输出、镜头语言卡片显示、最终视频运镜节奏匹配参考(快切+暖色调) * 用例7:style_strength=strict模式 → 验证镜头数/时长严格匹配、ken_burns/transition/color_filter参数正确 * 用例8:选择预置风格模板(food_fastcut)→ 验证不调用video_analyzer、直接使用模板style_guide、最终视频符合该风格 * 用例9:style_strength=light模式 → 验证风格仅做参考,镜头数/时长灵活调整 * 用例10:参考视频+文案融合同时使用 → 验证文案保留用户意图+运镜遵循风格,两者不冲突 4. Staging联调验证:视频分析超时降级(故意传损坏视频验证降级不阻断流程)、临时帧文件清理(df -i确认无泄漏)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xiaoxia/xiaoxia-saas#2042