Skip to content

05. 素材与媒体子 SOP

适用步骤:

  • Step 6 文案定稿后的素材生成
  • Step 7 页面装配前的最终媒体准备

1. 模块素材生成顺序(适用于 klingIntroSectionPropspromptExamplesSectionProps

  1. 先完成模块文案和 imageBrief
  2. 再写批量 prompt 文件
  3. 再调用 scripts/generate-model-materials.ts 或本地 skill 生成素材
  4. 先在 data/model-page-assets/[model-slug]/ 挑选候选图
  5. 最终选中的图先转换为 webp,质量固定 70
  6. 再发布到 public/images/model-pages/[model-slug]/
  7. 回填到页面 imageSrc

2. 图片素材硬规则

  • klingIntroSectionProps 的 4 张卡默认都应该有各自独立的图,不允许长期共用同一张占位图
  • promptExamplesSectionProps 的每张卡都应该尽量对应真实生成结果
  • 不要先生成一堆图再倒推文案
  • AI 生成原图不能直接上页面,必须先转换为 webp
  • webp 质量固定使用 70(即 0.7)
  • 正确顺序必须是:研究 -> 写内容 -> 写图像 brief -> 生图 -> 选图 -> 转 webp -> 发布到 public -> 回填页面

3. 生成素材的标准调用方式

  1. 使用仓库脚本(默认方式)
powershell
pnpm generate:model-materials --model z-image --prompt "Studio skincare bottle on a reflective surface, soft daylight, premium commercial photo" --size 1:1
  1. 使用批量 prompt 文件
powershell
pnpm generate:model-materials --model z-image --prompts-file data/z-image-prompts.json
  1. 将选中的图片发布为网页素材(固定转为 webp 质量 70)
powershell
pnpm publish:model-page-assets --input public/images/model-pages/z-image/foundation-open-model.png --quality 70 --delete-original
  1. 直接调用本地 skill wrapper
powershell
C:\Users\Administrator\.codex\skills\generate-model-images\scripts\run-model-image.ps1 --model z-image --prompt "Minimal coffee ad concept, warm table light, premium packaging shot"

4. 视频素材生成的标准调用方式

  1. 使用仓库脚本(默认方式)
powershell
pnpm generate:video-model-materials --model doubao-seedance-1-5-pro-251215 --prompt "A woman turns toward the camera in a neon-lit subway carriage, cinematic handheld motion, synced ambient train audio" --duration 4 --aspect-ratio 16:9 --resolution 720p
  1. 使用批量 prompt 文件
powershell
pnpm generate:video-model-materials --model doubao-seedance-1-5-pro-251215 --prompts-file data/model-page-video-prompts/seedance-1-5-pro.json
  1. 直接调用本地 skill wrapper
powershell
C:\Users\Administrator\.codex\skills\generate-model-videos\scripts\run-model-video.ps1 --model doubao-seedance-1-5-pro-251215 --prompt "A woman turns toward the camera in a neon-lit subway carriage, cinematic handheld motion, synced ambient train audio" --duration 4 --aspect-ratio 16:9 --resolution 720p
  1. 将页面演示视频压缩到网页展示规格(默认方式)
powershell
pnpm compress:model-page-videos

按需 dry-run:

powershell
pnpm compress:model-page-videos --dry-run

5. 视频素材生成硬规则

  • 先看 src/config/video-models.ts,确认模型支持的时长、比例、分辨率、输入模式、音频能力
  • 视频素材脚本只走 provider manager,不走前端 UI 和积分冻结流程
  • 默认优先做:
    • text-to-video
    • image-to-video
    • reference
    • first-last-frame
  • 只有模型配置明确支持时,才允许使用 video-to-video
  • 每次生成后必须检查 manifest.json
  • 成功后必须同时保存:
    • 原始视频文件
    • poster .webp
    • 生成元数据
  • poster 质量固定 70
  • 默认轮询最长等待 24 小时,再判定超时
  • 页面里的视频素材默认视为“网页演示素材”,不是商用母版
  • 最终发布到 public/videos/model-pages/ 的视频,默认必须先做一次压缩,再接回页面
  • 默认压缩目标:
    • 横版最长边不超过 1280
    • 竖版最长边不超过 1280
    • 编码使用 H.264 + yuv420p + faststart
    • 质量默认按 CRF=31
    • 音频默认保留为 AAC 48k
  • 默认只对大于 2.5MB 的页面视频执行压缩,小于该阈值可以直接保留
  • 压缩完成后,必须抽查至少 1 个页面,确认:
    • 画面没有明显肉眼可见劣化
    • 首屏或区块内播放没有异常
    • 文件体积确实下降

6. Seedance 2.0 特殊规则

  • seedance-2-0 的页面示例素材默认不由代理自动生成
  • 执行人只负责:
    • 写好 data/model-page-video-prompts/seedance-2.json
    • 写清楚原始素材目录和最终公开目录
    • 准备页面所需的文件命名规范
  • 实际视频生成由用户手动完成
  • 用户生成完成后,再把最终成品发布到:
    • public/videos/model-pages/seedance-2/
    • public/images/model-pages/seedance-2/

7. 素材生成硬规则

  • 先看 src/config/image-models.ts,确认模型支持的尺寸、分辨率、参考图数量、prompt 长度
  • 生成页内素材时,优先用脚本,不走前端 UI 生成流程
  • 每次生成后必须检查 manifest.json
  • 只保留真正代表模型优势的图片,不因为“已经生成了”就强行上页
  • 发布到页面前,必须把最终选中的图转换为 webp
  • 页面引用图默认使用 webp,质量固定 70
  • 一旦某张被采纳的 png 已经成功转换并发布为最终 webp,对应的原始 png 必须删除,不能继续留在 public/images/model-pages/[model-slug]/
  • 页面最终引用只能指向 .webp,不能同时保留同名 .png 作为公开素材
  • 默认每个模型页保留 4 到 8 张高质量候选图,而不是大批量无筛选输出
  • 最终图片入选后,未采用的候选图默认清理,避免素材目录长期膨胀
  • 清理时不要删除:
    • 已复制到 public/images/model-pages/[model-slug]/ 的最终素材
    • 仍在页面中被引用的图片
    • 对当前页面仍有复用价值的保留批次

8. 产物路径规则

  • 默认输出:data/model-page-assets/[model-slug]/[timestamp]/
  • 每次生成都要有 manifest.json
  • 最终公开素材发布到:public/images/model-pages/[model-slug]/
  • 最终公开素材格式固定为 .webp
  • 如果一个批次只剩 manifest.json 且没有任何保留图片,默认删除该空批次目录

9. 专题辅助文档

Released under the MIT License.