图片拼接 · 主题生图 + 长图/宫格拼接
按用户给定的主题与内容先用 AI 生成一组图片,再把图片拼接成一张成品:纵向长图或宫格拼图(按张数自动优化布局)。全程支持用户追加本地图片、删除、调序。本技能不内置任何脚本,拼接工具运行时查找、缺失时安装。
工作流程
第 1 步 · 明确输入
从用户输入中确认三要素,缺失则一次性补问:
| 要素 | 说明 | 示例 |
|---|---|---|
| 主题 | 图片的题材方向 | 「宠物日常」「春日踏青」 |
| 内容 | 每张图的具体画面/文案 | 分条描述,一条对应一张图 |
| 拼接模式 | 长图 / 宫格 / 未指定(按张数自动判定) | 「拼成九宫格」「竖着拼一张长图」 |
同时确认是否需要追加用户本地图片参与拼接(用户随时可补充,补充后重新拼接)。
第 2 步 · 按主题生图
- 调用环境可用的生图工具(优先
ImageGen,size 建议 1024x1024)。 - 一条内容对应一张图:把用户的每条内容扩展为具体的画面 prompt(含主体、风格、色调、构图),保持整组图片风格统一、色调协调——在每条 prompt 中携带相同的风格描述词。
- 逐张生成,编号保存(如
01.png、02.png…),并核对张数与内容条数一致。 - 若用户只提供图片、无需生图(如「把这几张图拼起来」),跳过本步直接进入拼接。
第 3 步 · 判定拼接模式
- 用户明确指定模式 → 按指定执行。
- 未指定 → 按张数自动判定:≤ 3 张优先长图(内容有先后顺序感);≥ 4 张优先宫格(一览式浏览)。判定后告知用户理由,用户可随时切换重拼。
第 4 步 · 运行时查找拼接工具(零脚本原则)
本技能不携带任何 scripts/。拼接所需的工具在运行时按以下顺序探测,找到即用、全缺则装:
- Pillow(首选):执行
python3 -c "import PIL"探测。- 已有 → 直接用;
- 缺失 → 首选
uv run --with pillow python3 <脚本>(免全局安装、即用即走);无 uv 时执行pip3 install --user pillow后再用系统python3。
- ImageMagick(备选):探测
magick -version或convert -version。- 长图:
magick convert 01.png 02.png ... -append out.png(+append为横向); - 宫格:
magick montage 0*.png -tile {cols}x{rows} -geometry +{gap}+{gap} out.png。
- 长图:
- 两者的安装与调用均临时执行,不写入本技能目录;生成的拼接脚本作为会话临时文件放在工作区输出目录即可。
第 5 步 · 现场生成拼接代码并执行
由 Agent 现场编写一次性拼接脚本(不依赖模板文件),规则如下。
A. 长图拼接(纵向)
- 所有图片统一宽度:取用户指定宽度,否则取最窄图宽度(避免拉伸模糊);高度等比缩放。
- 逐张纵向堆叠、水平居中;不同宽高比的图用背景色补边,不裁切。
- 可选参数:图间距
gap(默认 0)、背景色(默认白色#FFFFFF)、外边距(默认 0)。 - 适用:教程步骤、故事分镜、九图导流长图等有先后顺序的内容。
B. 宫格拼接(按张数自动优化布局)
布局速查表(cols = 布局列数,尽量接近正方形,尾行不足时居中):
| 张数 n | 布局(cols × rows) | 说明 |
|---|---|---|
| 1 | 1×1 | 不拼接,直接输出 |
| 2 | 2×1 | 横排 |
| 3 | 3×1 | 横排(或用户要求时 1×3 竖排) |
| 4 | 2×2 | 正方形宫格 |
| 5 | 3×2 | 上行 3 张、下行 2 张居中 |
| 6 | 3×2 | 规整宫格 |
| 7 | 3×3 | 7 张占位,尾行 1 张居中 |
| 8 | 3×3 | 尾行 2 张居中 |
| 9 | 3×3 | 九宫格 |
| 10–16 | 4×⌈n/4⌉ | 每行 4 张,尾行居中 |
| >16 | cols=⌈√n⌉,rows=⌈n/cols⌉ | 尾行居中补位 |
通用规则:
- 每格统一尺寸:先取所有图的公共居中裁切区域(默认居中裁成正方形),再缩放到统一格宽(默认 1024 / cols)。
- 尾行不足时居中对齐,不留空槽(不留白格)。
- 可选参数:格间距
gap(默认 0,九宫格社交分享必用 0)、背景色(默认白色)、外边距(默认 0)。 - 微信/小红书九宫格分享场景:9 图、gap=0、输出正方形。
执行与交付
- 执行现场脚本,生成成品(默认命名
stitched-<模式>-<张数>.png,如stitched-grid-9.png)。 - 用 Read 查看成品确认无错位/裁切失误,向用户展示结果文件。
- 告知可调整项:模式切换、增删图片、调序、间距/背景色/宽度,改后重新拼接。
输出规范
- 交付一张成品图 + 图片清单(每张图的来源:AI 生成 / 用户提供)。
- 拼接参数(模式、布局、gap、背景色、统一宽度)在交付时一并说明,便于用户复现调整。
注意事项
- 零脚本:任何拼接代码都是运行时现场生成的一次性脚本,绝不落盘到本技能目录。
- 不臆造工具:只依赖 Pillow / ImageMagick / uv / pip 这类通用工具;环境全不可用时如实告知并给出安装建议,不静默降级。
- 生图失败时不中断流程:跳过该张并明确告知用户缺了哪张,由用户决定重试或换图。
- 大批量图片(>16 张)先给用户预览布局方案(行列数、成品预估尺寸),确认后再执行。
服务
- 服务由前凌智选提供 https://fore.vip
反馈
- SKILL 由 前凌智选 创建, 并发布于 SKILLHUB.cn
- 可于SKILLHUB反馈使用问题、优化意见