news 2026/9/22 22:09:01

SD.Next API 批量出图:3 条命令跑完 100 张

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SD.Next API 批量出图:3 条命令跑完 100 张

SD.Next API 批量出图:3 条命令跑完 100 张

【免费下载链接】automaticSD.Next: All-in-one WebUI for AI generative image and video creation, captioning and processing项目地址: https://gitcode.com/GitHub_Trending/au/automatic

板块一 · 定位与场景

SD.Next 是 AI 图像视频生成的 WebUI,API 与 CLI 工具让出图可以做成批量任务。

上次想批量验证同一提示词配 30 个艺术家、6 种风格的效果时,在界面里一张张点不现实。把任务交给它的 /sdapi/v1/txt2img 接口后,全程没离开终端:改配置、跑脚本、收图。

板块二 · 最小可行路径

三步跑通一次。先启动 WebUI,等 7860 端口就绪(Linux/Mac 用 bash webui.sh)。

再跑一张图验证 API 可用,终端出现 image received 即正常,这条命令的作用是把请求发出去并把返回的 base64 解码落盘:

python cli/api-txt2img.py \ --prompt "a small robot on a spaceship" \ --width 512 --height 512 --steps 20 \ --output robot.jpg # 返回的 base64 自动保存为本地文件

打开 robot.jpg 确认效果即可。这张只用来验证链路,批量参数下一节再谈。

板块三 · 能力拆解

填充动态提示词模板

不想手写每条提示词时,cli/generate.py 的--prompt dynamic模式会按图取随机组合:<style><artist><place><suffix>等占位符从 generate-random.json 的列表里填充,每张图一套组合。模板就是 prompts 数组里的一行字符串,占位符可任意增减。

用 Python 调接口

sdapi.py 是带连接池的异步 HTTP 封装,提供 get/post(及对应同步版),SDAPI_URL、SDAPI_USR、SDAPI_PWD 三个环境变量控制地址与认证。自己的脚本要复用这套请求逻辑时:

import asyncio, sdapi async def main(): data = await sdapi.post('/sdapi/v1/txt2img', {"prompt": "a small robot", "steps": 20}) print(data['info']) asyncio.run(main())

在 cli/ 目录下运行,即可直接导入 sdapi。

串联放大与排版

两个常用的后处理入口:api-upscale.py 调 /sdapi/v1/extra-single-image 做单图放大,image-grid.py 把文件夹里的图排成网格图。两者都是单命令工具,第四节的工作流会直接用到。

板块四 · 一条完整工作流

步骤 1,改配置。只动 generate.json,必要字段如下,其中两处容易卡住:

{ "paths": { "root": "./output", "generate": "image", "grid": "grid" }, "generate": { "prompt": "dynamic", "steps": 30, "batch_size": 2, "seed": -1 }, "upscale": { "upscaler_1": "SwinIR_4x", "upscaling_resize": 2 }, "options": { "sd_model_checkpoint": "your-model-name" }, // …其余字段省略 }

⚠️ paths.root 在仓库里默认是 Windows 路径,必须改成你自己的输出目录;options 里的 sd_model_checkpoint 要和 WebUI 注册的模型名一致,不匹配脚本会直接退出。模型拿不准时,可先看 models/Reference/ 下的参考缩略图:

generate-random.json 可以不动,用仓库自带的随机词表。

步骤 2,跑批。一条命令,--max 100表示攒够 100 张自动停,跑之前把上面的配置指给它:

python cli/generate.py --config cli/generate.json --max 100

每轮内部:拼动态提示词 → 调 txt2img → 存原图并生成网格图 → 放大,每张图把提示词、种子、模型写进 EXIF 方便回查。Ctrl+C 随时停,退出时打印每张图的平均耗时。生成期间在浏览器打开 WebUI,可看队列与实时输出:

步骤 3,收图。输出目录下三个子目录:image/ 原图、upscale/ 放大图、grid/ 网格图。要把现有的一批图重新排成一张拼版,直接跑这条:

python cli/image-grid.py --square portfolio.jpg output/image

第一个位置参数是输出文件名,后面是图片目录,默认带文件名标签。

板块五 · 收尾

接下来可以试试:

  1. 把 generate.json 的 batch_size 从 2 改成 4,观察单图耗时和显存变化
  2. 对不满意的单图单独跑python cli/api-upscale.py --input <文件> --scale 2,或在 generate.py 后加--detailer
  3. 打开 modules/api/endpoints.py,看 /sdapi/v1/caption、/sdapi/v1/img2img 等其他端点能接到什么流程里

跑完上面流程后,先把 batch_size 改成 4 再跑一次,对比单图耗时。

【免费下载链接】automaticSD.Next: All-in-one WebUI for AI generative image and video creation, captioning and processing项目地址: https://gitcode.com/GitHub_Trending/au/automatic

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/22 18:51:22

[css] 解决overflow:hidden截断字母下沉部分

<div class"container">这里是文字&#xff0c;其中包含字母 g j p q y </div>.container {overflow-x: clip;overflow-y: visible; }或者.container {overflow: hidden;padding-bottom: 3px; }

作者头像 李华
网站建设 2026/9/22 18:36:10

WinSW 贡献指南:环境准备、源码构建与测试验证全流程

WinSW 贡献指南&#xff1a;环境准备、源码构建与测试验证全流程 【免费下载链接】winsw A wrapper executable that can run any executable as a Windows service, in a permissive license. 项目地址: https://gitcode.com/gh_mirrors/wi/winsw WinSW&#xff08;Win…

作者头像 李华
网站建设 2026/9/22 12:42:31

RK3588上FFmpeg+MPP实现H.265转H.264硬件加速

1. 为什么在RK3588上做视频转码绕不开MPP先聊一个很多人踩过的坑&#xff1a;拿到RK3588开发板&#xff0c;装好Ubuntu&#xff0c;兴致勃勃跑了一条常见的FFmpeg命令想把H.265视频转成H.264&#xff0c;结果发现CPU占用直接拉满&#xff0c;4K视频转码速度惨不忍睹&#xff0c…

作者头像 李华
网站建设 2026/9/22 12:32:11

缓存命中账不平?Base URL 填 TaoToken 通道再核 Output Token

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华