Overview

项目说明

这支《玫瑰粉晶心形刮痧板 · Real Morning Ritual》是一次端到端 AIGC 产品广告 pipeline 的产物——同时也是一次「effect 初稿 → realistic retake」的完整迭代证据链。

整条 run 跑了两次 Phase 1。第一次跑出的是 effect-heavy 创意「鎏金枝桠绽放(Gilded Bloom)」:粉晶刮痧板贴上皮肤后,产品表面的金线花枝离开石头、延伸到皮肤,形成精金轮廓线。审美上确实更跳脱,但 Seedance 把它误读为「脸部装饰特效」的风险极高——金线一旦上脸,产品身份就被特效压过。

review 后第二次 Phase 1 跑出 realistic retake brief。Candidate 1 从「金线离开产品」改成「清晨冷感仪式」:真实晨间浴室、粉晶有真实冷凝水、刮痧板沿下颌和颧骨缓慢推、金线花枝只留在产品表面、不上脸不发光。revision_note 一行明示:“Realistic retake after draft review: remove supernatural gold-line effects and lock product to hero/reference shape.”

但只改 brief 不够。这次 retake 的核心工程动作是第二参考图从 storyboard 换回 product_front.png——storyboard 给模型「构图意图」,但产品几何会被画风带走;product_front 给模型「产品身份证」,锁住不对称心形、半透明粉晶纹理、厚边、金线花枝四个识别特征。这条决策直接写进 04_timeline_prompt.md@Image2 is the exact product front reference 一行。

Seedance 2.0 reference-to-video 单段输出 15 秒、864×496、24fps、358 帧,不走 30 秒分段拼接——产品广告的「展示 → 使用 → 落定」三段叙事在 15 秒可走完,加长反而要填充。Phase 5 用 Claude Vision 抽 12 帧做九维度审查,结论「通过,可接受小瑕疵」:产品一致性 / 真实生活感 / 人物一致性 / 产品 end-tag 全部 Pass。

真正的交付物不是这支 mp4,而是 inputs → 01_creative → 02_images → 03_storyboard → 04_video → 06_review → 07_meta → 99_archive 这条可复跑、可对照、可审查的目录结构。effect 初稿没有被删除——它和 realistic retake 在 99_archive/effect_version04_video/drafts/04_video_draft_product_lock.mp4 中并存。同 run 同 hero 跑出两版完全不同审美取向的成片,「敢留下失败版本」是这条 pipeline 最反传统的地方

把审美约束翻译成 prompt 硬约束(No fantasy, no VFX, no glowing lines, no face decoration, no skin drawings, no arrows, no particles, no botanical pattern leaving the tool.)——这一行不是描述创意,是给 Seedance 列出「禁词清单」。审美判断一旦能压成可解析的负面约束词,模型就不需要靠样本数量来理解品牌边界,下一个 run 自动获益。这是这条 pipeline 比「换一支创意」更长效的资产。

Process

制作流程

每个详情页都把真正重要的步骤拆开,不只展示结果,也展示判断是如何形成的。

01

Phase 1 · Claude Creative Agent 二轮 brief(effect → realistic retake)

02:52:15 init → 03:11:12 首轮 phase1 跑出「鎏金枝桠绽放(Gilded Bloom)」 candidate ——产品金线花枝离开产品伸到脸上;03:18:52 二次 phase1 出 realistic retake brief。Candidate 从「金线离开产品上脸」换为「清晨冷感仪式(Real Morning Ritual)」:真实晨间护肤、金线只留在产品表面。revision_note 明示 "Realistic retake after draft review: remove supernatural gold-line effects and lock product to hero/reference shape."

Phase 2 · GPT-Image-2 出 1536×1024 Hero(seed=57015)
02

Phase 2 · GPT-Image-2 出 1536×1024 Hero(seed=57015)

把 product_front.png + product_side.png + product_back.png 三视图喂给 OpenAI GPT-Image-2,quality=high / moderation=low / seed=57015 / output_format=png,单次 attempt 出 02_hero.png。曾因 billing hard limit 失败一次,error 留在 99_archive/errors/02_hero.error.txt,后续成功生成。Hero 锁定女性 / 浴室 / 晨袍 / 灯光与真实护肤片风格,Seedance 后续拿它当第一参考图。

Phase 3 · Storyboard 双轮 + realistic retake 重跑(seed=72305、attempts=2)
03

Phase 3 · Storyboard 双轮 + realistic retake 重跑(seed=72305、attempts=2)

03:30:08 首次出 effect storyboard(金线离开产品上脸),归档到 99_archive/effect_version/03_storyboard_effect_original.png。03:52:08 attempts=2 重跑 current storyboard,prompt 硬约束写明:"do not draw magical effects, decorative lines on skin, arrows that look like VFX, glowing particles, or botanical patterns leaving the product. The product's gold floral line art must stay printed or etched on the product surface only."

关键决策 · 第二参考图从 storyboard 换回 product_front
04

关键决策 · 第二参考图从 storyboard 换回 product_front

这一步是 retake 的核心。常规 reference-to-video pipeline 把 hero + storyboard 当两张参考图,但此 run 发现 storyboard 包含构图意图但产品几何会被 Seedance 误读漂移。换成 product_front.png 后,刮痧板的不对称心形、半透明粉晶纹理、厚边、金线花枝四个识别特征的稳定性提升明显——storyboard 从此只用作分镜参考,不再当成视频生成时的硬参考图。

05

Phase 4 · Seedance 2.0 reference-to-video 单段 15 秒(seed=46715)

fal.ai `bytedance/seedance-2.0/reference-to-video` 端点,model=seedance-2.0、duration=15s、aspect_ratio=16:9、resolution=480p、generate_audio=false、seed=46715。等效命令: `pipeline.py draft --run-dir runs\20260519_105215_rose-gua-sha-test --resolution 480p`。03:59:21 触发,04:14:21 生成完成。成片 864×496 / 24fps / 358 帧 / 14.92s / 2.25MB,单段输出,不走 30 秒分段拼接逻辑。

06

Phase 5 · Claude Vision 抽 12 帧 9 维报告

ffmpeg `fps=1, scale=960:-1, frames=12` 抽静帧 → 生成 Claude review prompt → 交 Claude Code CLI 逐项 Pass/Fail。结论「通过,可接受小瑕疵」:产品一致性 Pass / 真实生活感 Pass(已移除脸部金线 / 箭头 / 粒子 / 发光)/ 人物一致性 Pass / 产品 end-tag Pass;Minor:贴脸镜头产品略偏大、为优先解决视觉问题关闭 native audio。证据落到 06_review/05_review.md + frames/draft_product_lock/。

Thinking

设计思路

这里说明为什么这样做,而不是只列出做了哪些动作。

effect 初稿不是失败,是基线

不跑出一版「金线离开产品上脸成精金轮廓」的成片,「这条创意会不会被 Seedance 误读为脸部装饰」这个判断就成立不了。把 effect_version(brief + storyboard + draft.mp4)完整归档(而非删除)意味着 retake 不是「拍脑袋换创意」,而是有证据链支持的判断。同运行存两版、同 hero 留两道轨迹,是这条 pipeline 「序列化 · 不覆盖 · 以 tag 区别」默认行为的价值体现。

第二参考图选择就是「产品一致性 vs 构图自由度」的取舍

storyboard 作为第二参考图给模型「构图意图」,但产品几何会被画风带走;product_front.png 作为第二参考图给模型「产品身份证」,但构图自由度会被压缩。retake 选择牺牲构图自由度,因为这是产品广告——产品形态比镜头创意重要。这条决策直接写在 04_timeline_prompt.md 的「@Image2 is the exact product front reference」一行。

把审美约束翻译成 prompt 硬约束

"No fantasy, no VFX, no glowing lines, no face decoration, no skin drawings, no arrows, no particles, no botanical pattern leaving the tool." 这一行不是描述创意,是给 Seedance 列出「禁词清单」。审美判断一旦能压成可解析的负面约束词,模型就不需要靠样本数量理解品牌边界——硬约束 = 廉价的对齐,而且下一个 run 自动获益。

Realism lock 也是一种品牌定位

选择「真实晨间护肤」而非「超现实金线特效」,本质是选择「Quiet Luxury / 东方自护」赛道而不是「病毒级奇观」赛道。两条路都有效,但前者目标用户能直接想象自己在浴室里做同样动作,身份投射更强。score 8.6 / 7.8 / 7.5 三个 candidate 评分里,realistic 那条赢在「身份投射 9/10」和「Brand-safety 10/10」。

不上 30 秒分段,锁单段 15 秒

同 pipeline 的藤编托特包是 2×15s 拼接,这条选择 1×15s 单段。原因是产品广告的「展示 → 使用 → 落定」三段叙事在 15 秒内可以走完,延长到 30 秒反而需要填充内容,容易引入产品离场或动作重复。单段同时省去 ffmpeg concat 一步,链路最短,Seedance 原生 24fps 不被干扰。

流水线本身就是作品

真正的交付物不是这支 mp4,而是「inputs → 01_creative → 02_images → 03_storyboard → 04_video → 06_review → 07_meta → 99_archive」的可复跑、可对照、可审查目录结构。换一份 inputs/<product-id> 就可以跑下一个产品,prompt 模板和审查 checklist 都直接复用。做一支片是项目,做一条流水线才是产品。

Result

交付与结果

交付内容
  • 15 秒 480p 成片 04_video_draft.mp4(864×496 / 24fps / H.264 / 358 帧 / 14.92s / 2.25MB / 无音频)
  • Realistic retake brief(01_creative/01_brief.md,revision_note 明示)+ product-lock timeline prompt(04_video/prompts/04_timeline_prompt.md)全量留档
  • Hero shot 02_hero.png(seed=57015、1536×1024 / GPT-Image-2 quality=high)+ current storyboard(seed=72305、attempts=2)及各自 meta.json
  • Claude Vision 9 维抽帧审查报告 06_review/05_review.md + frames/draft_product_lock 帧样本 + 99_archive/effect_version 完整归档
项目结果
  • review 后 9 维度抽帧审查全部 Pass(产品一致性 / 真实生活感 / 人物一致性 / 产品 end-tag),结论「通过,可接受小瑕疵」
  • 金线特效泄漏到脸部的风险被「换第二参考图为 product_front + prompt 硬约束」彻底关闭,产品几何 / 粉晶材质 / 厚边 / 金色花枝四项识别特征锁死
  • effect_version(brief + storyboard + draft.mp4)完整归档到 99_archive 而非删除,留下「为什么做 retake」的证据链
  • 同 run 同 hero 跑出两版完全不同审美取向的成片(effect vs realistic),验证 pipeline 的变量控制能力