Files
opencode-skills/image-service/references/long-image-guide.md
2026-02-11 22:02:47 +08:00

5.1 KiB
Raw Blame History

长图生成规范

生成需要拼接的长图时,采用叠罗汉式串行生成,每张图参考上一张图生成,确保风格一致、衔接自然。

铁律:执行前必须分析+确认

收到长图需求后,禁止直接开始生成!必须先完成以下步骤:

第一步:分析提示词结构

仔细阅读提示词,识别以下信息:

  1. 分屏数量:提示词中有几个明确的段落/模块?
  2. 每屏内容:每一屏具体要展示什么?
  3. 全局风格:色调、风格、光影等统一要素
  4. 衔接元素:段落之间用什么元素过渡?

第二步:输出分屏规划表

必须用表格形式输出规划,让用户一目了然:

| 屏数 | 内容概要 | 关键元素 |
|-----|---------|---------|
| 1 | 主视觉+标题 | xxx |
| 2 | xxx特写 | xxx |
| ... | ... | ... |

**全局风格**xxx风格、xxx色调、xxx布光
**输出比例**3:4
**预计生成**N张图 → 拼接为长图

第三步:等待用户确认

必须等用户说"OK"、"开始"、"没问题"后才能开始生成!

用户可能会:

  • 调整分屏数量
  • 修改某屏内容
  • 补充遗漏的要素

核心原则:叠罗汉式串行生成

为什么用串行而不是并发?

  • 每张图的顶部颜色需要与上一张图的底部颜色衔接
  • 只有等上一张图生成完成,才能提取其底部色调
  • 串行生成确保每一屏之间的过渡自然无缝

为什么参考上一张而不是首图?

  • 参考首图会导致中间屏幕风格跳跃
  • 叠罗汉式参考让风格逐屏延续,过渡更平滑
  • 每张图只需关心与相邻图的衔接

生成前校验清单

检查项 要求 示例
比例统一 所有分图使用相同 -r 参数 全部 -r 3:4
风格描述统一 使用相同的风格关键词 全部 电影级美食摄影风格
色调统一 定义主色调范围 全部 深红色、暖棕色、金色

Agent 执行流程(铁律)

1. 收到长图需求
2. 【分析】仔细阅读提示词,识别分屏结构
3. 【规划】输出分屏规划表(表格形式)
4. 【确认】等待用户确认后才开始生成(铁律!)
5. 定义全局风格变量(主色调、风格词)
6. 串行生成每一屏:
   a. 首屏:用 text_to_image.py 生成,定调
   b. 第2屏用 image_to_image.py 参考第1屏生成
   c. 第3屏用 image_to_image.py 参考第2屏生成
   d. 以此类推...每屏参考上一屏
7. 每屏生成后等待完成,再生成下一屏(串行,不可并发)
8. 全部完成后,使用 --blend 20 拼接输出

图生图 Prompt 规范

核心要点:顶部衔接上一张底部

后续图片的 prompt 必须包含:

  1. 顶部衔接声明:明确顶部颜色/氛围与上一张底部衔接
  2. 风格继承:参考上一张图的整体风格、光影
  3. 本屏内容:描述当前屏幕要展示的内容

Prompt 模板:

参考模板图的整体风格、色调和光影氛围。本屏顶部与上一屏底部自然衔接。{本屏具体内容描述}

更精确的写法(推荐):

参考模板图的{风格}、{色调}、{光影}。顶部延续上一屏底部的{颜色/氛围}。{本屏具体内容描述}

分屏位置规范

位置 处理方式
首屏 顶部正常开始,底部内容自然过渡(无需刻意留白)
中间屏 顶部衔接上一屏底部颜色,底部内容自然过渡
尾屏 顶部衔接上一屏底部颜色,底部正常收尾

关键:不要预留固定百分比的留白区域,让内容自然过渡即可

执行示例

# 步骤1生成首屏文生图定调
python .opencode/skills/image-service/scripts/text_to_image.py "高端美食摄影风格,深红暖棕金色调,电影级布光..." -r 3:4 -o 01_hero.png
# 等待完成

# 步骤2生成第2屏参考第1屏
python .opencode/skills/image-service/scripts/image_to_image.py 01_hero.png "参考模板图的美食摄影风格、深红暖棕色调、电影级布光。顶部延续上一屏底部的暖色氛围。本屏内容:酥皮特写..." -r 3:4 -o 02_crisp.png
# 等待完成

# 步骤3生成第3屏参考第2屏
python .opencode/skills/image-service/scripts/image_to_image.py 02_crisp.png "参考模板图的美食摄影风格、深红暖棕色调、电影级布光。顶部延续上一屏底部的色调。本屏内容:牛排特写..." -r 3:4 -o 03_tenderloin.png
# 等待完成

# ...以此类推

# 最后:拼接(推荐 blend 20
python .opencode/skills/image-service/scripts/merge_long_image.py 01_hero.png 02_crisp.png 03_tenderloin.png ... -o final.png --blend 20

铁律

  1. 必须串行生成:每屏生成完成后再生成下一屏,禁止并发
  2. 叠罗汉式参考第N屏参考第N-1屏不是全部参考首屏
  3. 顶部衔接:每屏的顶部颜色/氛围必须与上一屏底部衔接
  4. 不留固定留白不要预留4%/8%等固定留白,让内容自然过渡
  5. 脚本区分:首屏用 text_to_image.py,后续全部用 image_to_image.py