出图
出图统一走 Agent 基础能力的生成、编辑图片:base URL、key、HTTP/2、超时、b64_json 解码都照那页办,这里只写本 skill 自己的规矩。
什么时候出
- 自主模式:用户回了 A/B/C,或者明确说「出图」「出一张」「看看」「生成预览」「8 宫格」
- 抽卡模式:走完流程自动出
- 出图前分享文案必须已经写好、给用户看过;用户说「只出图」「不要文案」时跳过
- 方向卡上的代码块是给用户复制去别的生图模型自己出图的;AI 自己出图照本页
选接口
- 没有真人照片(通用模特、纯方案预览):用生成接口
/v1/images/generations - 有真人照片:用编辑接口
/v1/images/edits,参考图放进images[],本地图写成 data URI - 参考图的顺序:先放每个出镜人物的身份参考,一人一张,按 P01、P02 排;需要保持构图、动作时,再把派生图(8 宫格、上一张)放在最后
- prompt 开头写明每张参考图干什么,比如「第 1 张是 P01 的身份参考,第 2 张是 P02 的身份参考,只取脸型、五官、年龄感和辨识度,忽略头发和表情;第 3 张只作构图和姿势参考,不从它取任何一张脸」
- 身份参考按真人身份参考选:用户显式升级过的用升级的,否则一律用最初上传的原图;不按「最近一张」挑
宫格
- 8 宫格对应 8 张 Shot,一格一张;换装是 6 宫格,参考图美化是 3 宫格
- prompt 里不写单格比例、单格尺寸、整板比例和行列数,只要求:格数正确,每格清晰独立、像一张正常照片而不是细长切条,按左上起的阅读顺序排,整体好读
- 对用户也不承诺「单格 4:5」这类尺寸;用户只说「8 宫格」时不主动补比例
- 请求里的
size是整张图的比例:用户指定了画幅就照写,没指定写"1:1" - 模型不画文字、数字、Logo、水印;要编号就在回复文字里按阅读顺序说
- 每格是真正不同的 Shot:不跨格合并人物、服装、动作和道具,不多出格子
- 真人宫格的总身份锁和逐格重置见真人身份参考;保存工程时直接用
prepare-grid打印的 prompt
出完先自检
不合格的直接丢掉重出,不给用户看:
- 恰好 8 格(换装恰好 6 格,美化恰好 3 格)
- 每格边界清楚,没有窄条、过度压缩或混乱拼贴,单格读得清
- 计划露脸的格子脸认得出,和参考是同一个人
- 没漏人、多人、复制人,没换衣服,地点和时代没泛化
放大单张
- 用户点名「放大第几张」「单独出几张」「全部单独出」时才出
- 用编辑接口:身份参考在前,整张 8 宫格放最后当构图参考;prompt 写明只看自然阅读顺序的第几格、只取构图和姿势,脸重新从身份参考恢复,不继承格子里已经生成的脸
- 竖幅
size写"4:5",横幅写"3:2";为目标画幅自然重新取景、延展环境,不机械外扩画布,不重排动作和站位 - 保存工程时
shot_board.py select生成这份 prompt,出完用complete登记,见拍摄与八宫格
存文件
- 解码后存 PNG,文件名带上主题和格数,别覆盖上一版
- 保存工程时宫格用对应脚本的
register-grid登记进工程目录