用途:通过 Stable Diffusion WebUI / Forge 服务器的 REST API 驱动图像生成,支持枚举资源、执行 txt2img、查询进度与中断任务。scripts/ 下均为 curl 封装脚本,向 stdout 输出 JSON 或提取字段。
主要能力:探测服务器连通性;列出模型(checkpoints)、额外模块(Forge 专用)、采样器、调度器、风格预设、放大器、LoRA、嵌入;提交 txt2img 请求并返回 base64 PNG 与生成信息;查询进度(progress、eta_relative、state.job);中断或跳过当前任务;读写全局选项。
使用方式:先确认服务器 URL 与可选 HTTP Basic Auth,通过环境变量传入:export SD_WEBUI_URL="http://localhost:7860"、SD_WEBUI_USER、SD_WEBUI_PASS,未设置则默认 http://localhost:7860 且无认证。用 scripts/probe.sh 测试连通。列出资源如 scripts/list.sh models,加 --json 输出原始 JSON。生成时构造请求 JSON(必填 prompt,推荐 negative_prompt、steps、cfg_scale、width、height、sampler_name、scheduler、styles、override_settings 等),运行 scripts/generate.sh request.json > result.json,再用 jq -r '.images[0]' result.json | base64 -d > out.png 提取图像。进度用 scripts/progress.sh,取消用 scripts/cancel.sh。
限制:generate.sh 会预先将服务器 samples_format 持久设为 png,且 override_settings_restore_afterwards 无法撤销该改动,共享服务器需手动恢复。生成是同步阻塞的,默认 curl 超时 600 秒,可用 SD_WEBUI_TIMEOUT 覆盖。非 PNG 输出需本地转换,依赖外部项目 sd-image-format-converter。本技能不生成或优化提示词,需用户提供或委托其他技能。X/Y/Z 对比图需参考 references/xyz-plot.md。