Skip to main content
D

img2img-studio (dsh-img2img-config)

dogwind221/img2img-studio/plugins/dsh-img2img-config

Adds two UI surfaces: a composer image editor (numbered edit marks with per-mark instructions, solid-background removal, brush-mask erase, resize and crop presets; results return to the composer as attachments plus a manifest capsule) and a Settings → vision/generation provider panel (three priority tiers, drag reordering, per-channel model fallback chains, arrears-aware balance probing, ChatGPT-web account store) that writes the resolved providers back to the skills .env files.

Install

dsh plugin --profile web add github:dogwind221/img2img-studio

This plugin lives in the plugins/dsh-img2img-config subdirectory of the repository.

README

img2img-studio · 图生图工作室

把一张图(或几张图)变成你想要的各种新图:识图 → 按风格/场景 → 按生成通道 → 出图。

面向 DeepSeek Harness / Claude Code / Codex 等 Agent 环境的可移植 Agent Skill。

架构

输入图片
  ↓ 第一层:识图(多模态模型 → read_image 直接看;纯文本模型 → dsh-vision-skill 的 vision.js)
  结构化描述(主体/构图/色彩/材质/情绪/卖点)
  ↓ Step 0 路由门(出图前必问)
  ① 选生成通道 → ② 选风格/场景 → ③ 细化需求(尺寸/文字/参考图/数量)
  ↓ 第二层:生成
  模式文档构建 Prompt → generate_image.mjs(多供应商自动降级)→ QA → 交付

功能

  • 电商模式:商品图 → 白底主图、卖点图、场景图、细节图、对比图、详情页 PDP、Amazon/淘宝等平台套图(转化驱动力诊断 + Campaign Style Lock + 平台尺寸规范 + GPT-Image Prompt 铁律)
  • 照片艺术模式:editorial(编辑杂志)/ revival(白纸手绘诗意)/ fusion(融合)/ zine 三风格(zine-gathered 实景拼贴 / zine-distill 影像蒸馏 / zine-minimal 极简海报)
  • ChatGPT 网页出图:无 API key 也能用 ChatGPT 账号额度出图(浏览器自动化,references/chatgpt-web-mode.md)
  • 多供应商自动降级:DashScope 通义千问(默认,性能+最新模型优先)、OpenAI 兼容 API、Z.AI GLM-Image、Seedream 豆包、MiniMax、本地 chatgpt-web 类服务、Codex CLI
  • 批量并发出图、质量预设(1k/2k)、i2i 参考图、同供应商重试、身份保持参考图准则

安装

# 复制到 Agent 的 skills 目录(Windows 示例)
Copy-Item -Recurse -Force "img2img-studio" "$env:USERPROFILE\.agents\skills\"

依赖:Node.js 18+(generate_image.mjs 本身零第三方依赖)。

可选:装自带插件(设置面板 + 图片编辑器)

技能本体(SKILL.md + references/ + scripts/)纯命令行就能用,不装插件照样出图。 想让 DSH 里出现 设置 → 识图与生图 供应商面板、以及输入框上方的 图片编辑器, 再装仓库自带的 plugins/dsh-img2img-config:

$plugin = "$env:USERPROFILE\.agents\skills\img2img-studio\plugins\dsh-img2img-config"

# 1) 构建(宿主 tsc + 客户端 tsdown;Node 版脚本,沙箱里无需 bash)
node "$plugin\scripts\build.mjs"

# 2) 装配(免重启热装配;重启后由 profile 的 bundles 列表接管,双路径一致)
#    有 dsh-super-injector 时用 dev_install_package;否则把包名加进 profile 的
#    dsh.profile.bundles 数组并在 node_modules 下建同名 junction
dev_install_package "$plugin"

一个包装两个面,都是一次安装就有:

面位置作用
供应商面板设置 → 识图与生图配识图 + 生图的 API Key / 模型 / 端点 / 三级优先级 / 余额探测 / ChatGPT 网页账号额度
图片编辑器输入框上方的「图片编辑」条对输入框里的图片做标记 / 抠图 / 涂抹擦除 / 改尺寸,结果回填输入框

面板保存即写回 img2img-studio/scripts/.env(GEN_PROVIDER_ORDER、各 *_API_KEY、 IMG_CHATGPT_WEB_ACCOUNTS)与 dsh-vision-skill/scripts/.env(VISION_PROVIDERS 等)—— 两个 skill 只装一个也能用(写盘前会先把目标目录建出来)。细节见 plugins/dsh-img2img-config/README.md。

dsh-vision-skill 是条件依赖,不是硬前置——按你的情况看要不要装:

你的情况要不要 dsh-vision-skill原因
会话模型是多模态(read_image 可用,如 DeepSeek-V4.1-Flash)❌ 不用L1 识图直接 read_image 原生看图,不跑 vision.js、不耗外部额度
会话模型是纯文本(如 GLM-5.3)✅ 要只有这种情况才需要 vision.js 走识图链
想把 Web 拖入的图片当参考图(i2i)🔸 多数情况不用DSH 0.1.5+ 的消息里已带 Normalized copy (read-only…) 路径,可直接当 --image;只有拿不到路径(只剩 attachmentId)时才需要 resolve_attachment.mjs,或自己拼 <DSH_HOME>\attachments\v1\objects\<hex前2位>\<hex>。注意归一化副本可能被重编码/缩放——要画质就用本地原图路径
想零配置出图(复用识图 key)✅ 装了更省事generate_image.mjs 会自动回退读 ..\dsh-vision-skill\scripts\.env
已自己配好 DASHSCOPE_API_KEY / IMG_*,且只做文生图❌ 不用生图链不依赖它

需要时把它放在与 img2img-studio 同一个 skills 目录下即可(或用 DSH_SKILLS_DIR 指定)。

快速开始

# 1. 查看已配置的生图供应商(不泄露密钥)
node "$env:USERPROFILE\.agents\skills\img2img-studio\scripts\generate_image.mjs" --list-providers

# 2. 文生图(默认 DashScope qwen-image-3.0-pro;零配置即用——自动复用 dsh-vision-skill 的 key,自己设 DASHSCOPE_API_KEY 也一样)
node "$env:USERPROFILE\.agents\skills\img2img-studio\scripts\generate_image.mjs" --prompt "红色苹果白底产品图" --size 1:1 --output-dir out

# 3. 图生图(带参考图)
node "$env:USERPROFILE\.agents\skills\img2img-studio\scripts\generate_image.mjs" --prompt-file prompt.txt --image ref.png --size 3:4 --output-dir out

# 4. 批量(电商套图)
node "$env:USERPROFILE\.agents\skills\img2img-studio\scripts\generate_image.mjs" --batchfile batch.json --jobs 4 --output-dir out

# 5. 看各 ChatGPT 账号的档位/额度(读「识图与生图」面板库,不泄露凭据)
node "$env:USERPROFILE\.agents\skills\img2img-studio\scripts\generate_image.mjs" --accounts

Agent 完整工作流(识图 → 路由门 → 生成 → QA)见 SKILL.md。

开发与测试

# 编排脚本自测:链序 / 额度判定 / 代理 / CLI 契约(纯离线,不花钱、不联网)
node scripts\selftest.mjs --verbose

# 直连引擎单测(TypeScript,bun 运行)
bun test engines\direct-api\scripts

推送与 PR 会自动跑同一套(见 .github/workflows/selftest.yml)。

生成通道

通道说明前置条件
chatgpt-web@<账号> ⭐一级优先ChatGPT 网页出图(image 2.5);免费账号先上,用尽切自有账号面板添加账号后自动同步
codex-cli ⭐一级(自有账号)自有订阅出图(Codex 客户端 / Plus),免费额度用尽后的优先选择codex CLI 已登录 + imagegen 权限
dashscope(API 默认)通义千问 qwen-image-3.0-pro,国内直连,t2i+i2i零配置(可复用识图 key)
openaiOpenAI 兼容 API(默认 gpt-image-2)IMG_BASE_URL+IMG_MODEL+IMG_API_KEY
zaiZ.AI GLM-Image(中文文字渲染强,不支持参考图)ZAI_API_KEY
seedream豆包(4.0+ 支持参考图)ARK_API_KEY
minimax海螺 image-01(人物一致性)MINIMAX_API_KEY
local本地 chatgpt-web 类服务IMG_HTTP_URL

配置方式见 scripts/.env.example(也可直接用环境变量)。

风格清单

photo-art:editorial(编辑杂志)/ revival(白纸手绘诗意)/ fusion(默认,融合)/ zine-gathered(拾景实景拼贴)/ zine-distill(影像蒸馏)/ zine-minimal(极简海报)

ecommerce:白底主图 / 卖点图 / 场景图 / 细节图 / 对比图 / 平铺图 / 模特图 / 详情页 PDP / 社媒图 / 直播图 / 包装图 / 海报横幅

目录结构

img2img-studio/
├── SKILL.md                      # 主入口:L1 识图 + Step 0 路由门 + L2 生成 + 模型策略 + QA
├── references/
│   ├── routing-gate.md           # 出图前询问:通道 + 风格 + 细化需求
│   ├── photo-art-mode.md         # 照片艺术模式(editorial/revival/fusion/zine 三风格)
│   ├── ecommerce-mode.md         # 电商模式(10 步管线:转化诊断/Style Lock/铁律/详情页)
│   ├── chatgpt-web-mode.md       # ChatGPT 网页出图工作流
│   ├── image-editor.md           # GUI 编辑器回填的编辑请求怎么落地(标记/掩码/擦除)
│   └── direct-api-guide.md       # 直连引擎(12 家官方 API)的 DSH 适配
├── engines/
│   └── direct-api/               # 自有直连生图引擎(bun 运行 TS)
├── plugins/
│   └── dsh-img2img-config/       # DSH 插件:设置面板 + 图片编辑器(可选装,见「安装」)
└── scripts/
    ├── generate_image.mjs        # 多供应商生图脚本(零依赖 Node)
    ├── edit_image.mjs            # 图像编辑:manifest/resize/bg-remove/erase/local-edit
    └── .env.example              # 供应商配置示例

模型策略

一级优先:ChatGPT 网页通道(image 2.5)——订阅额度出图,文字渲染与真实感最稳,且不花 API 钱。

  1. 免费网页账号先上:chatgpt-web@<免费账号>(免费档不设本地上限,一路用到服务端拒绝为止)
  2. 免费额度用尽 → 自有账号优先:chatgpt-web@<自有账号> → codex-cli(自有 Plus 订阅,实时读 ~/.codex/auth.json,不用 API key)
  3. 订阅通道都不可用/失败 → API 通道(下面这套 DashScope 链)

实际顺序由面板「识图与生图」排的 GEN_PROVIDER_ORDER 决定(当前:免费账号 1 → 免费账号 2 → codex-cli → qoder);额度类错误不重试、立即切下一通道(isQuotaError);加 --skip-exhausted 还能按面板探测结果跳过已用尽的付费账号。

API 通道内部(性能优先 + 发布时间最近优先):

  • 生图 t2i:qwen-image-3.0-pro → qwen-image-3.0 → wan2.7-image-pro → wanx2.1-t2i-plus → wanx2.1-t2i-turbo
  • 生图 i2i:qwen-image-3.0-pro → wan2.7-image-pro
  • OpenAI 兼容通道默认模型:gpt-image-2
  • 识图(dsh-vision-skill):qwen3.8-max → qwen3.7-plus → qwen3.7-flash → qwen-vl-max → qwen-vl-plus

License

MIT

致谢与风格来源

  • 风格融合自多个开源 Skill:photo-abstract-editorial、photo-revival、ecommerce-image-suite、ecom-details-image、1click-ecom-detailpage、gpt-image2-ecommerce、designkit-skills(美图)、gathered-scenes-zine(Zeejay0,个人非商业许可,商用需其授权)、gc-minimal-zine-poster
  • engines/direct-api/ 为 MIT 授权的第三方代码(见该目录 LICENSE),已重命名为本技能自有通道并完成 DSH 本地化改造

Related plugins