txt2img -> /sdapi/v1/txt2img
- 不带 controlnet
data = { "prompt": "提示词", "negative_prompt": "反向提示词", "seed": -1, # 随机种子 "sampler_name": "取样器(之间复制webui的名字就行)", "cfg_scale": 7.5, # 提示词相关性 越大越接近提示词 "width": 640, # 宽 (注意要被16整除) "height": 360, # 高 (注意要被16整除) "batch_size": 4, # 批量数量 并行 显存不够会爆显存 "n_iter": 4, # 批量数量 队列 显存不够排队一个一个来 和 batch_size 二选一 "steps": 30, # 迭代步数 "return_grid": True, # 返回网格预览 xl-base 好像没用 "restore_faces": True, # 脸部修复 "send_images": True, # 是否在响应中返回生成的图像 "save_images": False, # 是否保存生成的图像 一般api设置成False "do_not_save_samples": False, # 是否保存samples 一般api设置成False "do_not_save_grid": False, # 是否保存网格的图像 一般api设置成False # 下面的很少用 "enable_hr": True, # 是否开启高清修复 "denoising_strength": 0.5, # 去噪强度 要求enable_hr = True "firstphase_width": 0, # firstphase_width 和firstphase_height 定义了图像的初始分辨率。在图像生成的第一阶段,这些值决定了图像的大小。如果这些值设置为0,系统可能会使用默认或预设的分辨率。 "firstphase_height": 0, "hr_scale": 2, # 放大倍数 对应webui Upscale by "hr_upscaler": "string", # 对应webui 的 Upscaler "hr_second_pass_steps": 0, # 迭代步数 对应webui 的 Hires steps。 "hr_resize_x": 0, # 不放大,指定宽高 对应webui Resize width to 和Resize height to "hr_resize_y": 0, # 不放大,指定宽高 对应webui Resize width to 和Resize height to "hr_checkpoint_name": "string", # 高分辨率模式下使用的大模型昵称。 "hr_sampler_name": "string", # 高分辨率模式下使用的采样器名称。 "hr_prompt": "", # 高分辨率模式下使用的提示词名称。 "hr_negative_prompt": "", # 高分辨率模式下使用的反向提示词名称。 "override_settings": { "sd_model_checkpoint": "sd_xl_base_1.0.safetensors [31e35c80fc]", # 指定大模型 "sd_vae": "Automatic", # 指定vae 默认自动 }, "override_settings_restore_afterwards": True # override_settings 是否在之后恢复覆盖的设置 默认是True }
"enable_hr": false, //是否启用高分辨率模式 (High Resolution mode)。当设置为 `true` 时,将使用高分辨率的生成模型。默认值为 `false`。 "denoising_strength": 0, //噪声抑制强度。该参数控制生成图像的噪声水平,较高的值可以减少噪声,但可能会损失图像的细节。默认值为 `0`。 "firstphase_width": 0,//第一阶段生成的图像宽度。默认值为 `0`,表示使用默认的图像宽度。 "firstphase_height": 0,//第一阶段生成的图像高度。默认值为 `0`,表示使用默认的图像高度。 "hr_scale": 2,//高分辨率模式下的放大倍数。当启用高分辨率模式时,生成的图像将以指定的倍数进行放大。默认值为 `2`。 "hr_upscaler": "string",//高分辨率模式下的上采样器。该参数指定用于图像上采样的算法或模型。它可以是一个字符串,表示特定的上采样器,或者是一个模型的标识符。默认值为 "string"。 "hr_second_pass_steps": 0,//高分辨率模式下的第二阶段生成步数。默认值为 `0`,表示只进行一次生成过程。 "hr_resize_x": 0,//高分辨率模式下的水平调整大小。该参数用于调整生成的图像的宽度。默认值为 `0`,表示不进行调整。 "hr_resize_y": 0,//高分辨率模式下的垂直调整大小。该参数用于调整生成的图像的高度。默认值为 `0`,表示不进行调整。 "prompt": "",//用于生成的文本提示。可以提供一段文字描述或问题,以引导图像生成的方向。默认为空字符串。 "styles": ["string"],//一个字符串数组,包含用于生成图像的风格模型的标识符或名称。可以提供一个或多个风格模型,API将根据提供的风格进行图像生成。 "seed": -1,//随机种子。该参数用于控制生成过程的随机性。不同的种子值会产生不同的图像结果。默认值为 `-1`,表示使用随机种子。 "subseed": -1,//子种子 (Subseed)。该参数用于控制生成过程中的子随机性。不同的子种子值会导致略微不同的图像生成结果。默认值为 `-1`,表示使用随机子种子。 "subseed_strength": 0,//子种子强度。该参数控制子种子的影响力。较高的值会增加子种子的影响,从而导致更大的图像变化。默认值为 `0`。 "seed_resize_from_h": -1,//调整大小的种子高度。该参数指定生成过程中用于调整大小的种子图像的高度。默认值为 `-1`,表示不使用调整大小的种子图像。 "seed_resize_from_w": -1,//调整大小的种子宽度。该参数指定生成过程中用于调整大小的种子图像的宽度。默认值为 `-1`,表示不使用调整大小的种子图像。 "sampler_name": "string",//采样器名称。该参数指定用于生成图像的采样器的名称或标识符。可以选择不同的采样器来获得不同的生成效果。默认值为 "string"。 "batch_size": 1,//批量大小。该参数控制每次生成图像的批量大小。默认值为 `1`,表示每次生成一个图像。 "n_iter": 1,//迭代次数。该参数指定生成过程的迭代次数。默认值为 `1`,表示只进行一次迭代。 "steps": 50,//步数。该参数指定每个迭代步骤中生成器和判别器的更新次数。较大的值可能会增加图像生成的质量,但也会增加计算时间。默认值为 `50`。 "cfg_scale": 7,//配置缩放。该参数控制生成过程中的配置缩放。较高的值可以产生更高质量的图像,但也需要更多的计算资源。默认值为 `7`。 "width": 512,//图像宽度。该参数指定生成图像的宽度。默认值为 `512`。 "height": 512,//图像高度。该参数指定生成图像的高度。默认值为 `512`。 "restore_faces": false,//是否修复面部。当设置为 `true` 时,生成的图像会尽可能地修复面部特征。默认值为 `false`。 "tiling": false,//是否使用平铺。当设置为 `true` 时,生成器将使用平铺技术来生成图像。默认值为 `false` "do_not_save_samples": false,//是否保存生成样本。当设置为 `true` 时,生成的样本将不会保存。默认值为 `false`。 "do_not_save_grid": false,//是否保存生成的网格。当设置为 `true` 时,生成的网格图像将不会保存。默认值为 `false`。 "negative_prompt": "string",//负面提示。该参数用于提供一个负面的文本提示,以影响生成过程朝负面方向发展。默认值为 "string"。 "eta": 0,//η 值。该参数用于控制生成过程中噪声分布的形状。较大的值会产生更平滑的图像,较小的值会产生更噪声化的图像。默认值为 `0`。 "s_min_uncond": 0,//无条件最小步骤。该参数指定生成过程中的无条件最小步骤数。默认值为 `0`。 "s_churn": 0,//搅动步骤数。该参数指定生成过程中的搅动步骤数。默认值为 `0`。 "s_tmax": 0,//最大温度步骤数。该参数指定生成过程中的最大温度步骤数。默认值为 `0`。 "s_tmin": 0,//最小温度步骤数。该参数指定生成过程中的最小温度步骤数。默认值为 `0`。 "s_noise": 1,//噪声步骤数。该参数指定生成过程中的噪声步骤数。默认值为 `1`。 "override_settings": {},//覆盖设置。该参数允许覆盖生成器和判别器的设置。可以提供一个对象,包含要覆盖的特定设置。默认为空对象 `{}`。 "override_settings_restore_afterwards": true,//是否在之后恢复覆盖的设置。当设置为 `true` 时,在生成过程之后会恢复覆盖的设置。默认值为 `true`。 "script_args": [],//脚本参数。该参数用于提供给脚本的额外参数。默认为空数组 `[]`。 "sampler_index": "Euler",//采样器索引。该参数指定使用的采样器的索引或标识符。默认值为 "Euler"。 "script_name": "string",//1. 脚本名称。该参数指定要运行的特定脚本的名称。默认值为 "string"。 "send_images": true,//是否发送图像。当设置为 `true` 时,生成的图像将被发送到输出。默认值为 `true`。 "save_images": false,//否保存图像。当设置为 `true` 时,生成的图像将被保存。默认值为 `false`。 "alwayson_scripts": {}//是一个用于指定始终运行的脚本的参数。它允许在生成过程中始终运行特定的脚本,以提供额外的控制或处理功能。
- 带lora
/sdapi/v1/txt2img { "denoising_strength": 0, "prompt": "puppy dogs", //提示词 "negative_prompt": "", //反向提示词 "seed": -1, //种子,随机数 "batch_size": 2, //每次张数 "n_iter": 1, //生成批次 "steps": 50, //生成步数 "cfg_scale": 7, //关键词相关性 "width": 512, //宽度 "height": 512, //高度 "restore_faces": false, //脸部修复 "tiling": false, //可平埔 "override_settings": { "sd_model_checkpoint" :"wlop-any.ckpt [7331f3bc87]" }, // 一般用于修改本次的生成图片的stable diffusion 模型,用法需保持一致 "script_args": [ 0, true, true, "LoRA", "dingzhenlora_v1(fa7c1732cc95)", 1, 1 ], // 一般用于lora模型或其他插件参数,如示例,我放入了一个lora模型, 1,1为两个权重值,一般只用到前面的权重值1 "sampler_index": "Euler" //采样方法 }
- 带 controlnet
data = { "prompt": "提示词", "negative_prompt": "反向提示词", "seed": -1, # 随机种子 "sampler_name": "取样器(之间复制webui的名字就行)", "cfg_scale": 7.5, # 提示词相关性 越大越接近提示词 "width": 640, # 宽 (注意要被16整除) "height": 360, # 高 (注意要被16整除) "batch_size": 4, # 批量数量 并行 显存不够会爆显存 "n_iter": 4, # 批量数量 队列 显存不够排队一个一个来 和 batch_size 二选一 "steps": 30, # 迭代步数 "return_grid": True, # 返回网格预览 xl-base 好像没用 "restore_faces": True, # 脸部修复 "send_images": True, # 是否在响应中返回生成的图像 "save_images": False, # 是否保存生成的图像 一般api设置成False "do_not_save_samples": False, # 是否保存samples 一般api设置成False "do_not_save_grid": False, # 是否保存网格的图像 一般api设置成False "alwayson_scripts": { "controlnet": { "args": [ { "enabled": True, # 启用 "control_mode": 0, # 对应webui 的 Control Mode 可以直接填字符串 推荐使用下标 0 1 2 "model": "t2i-adapter_diffusers_xl_lineart [bae0efef]", # 对应webui 的 Model "module": "lineart_standard (from white bg & black line)", # 对应webui 的 Preprocessor "weight": 0.45, # 对应webui 的Control Weight "resize_mode": "Crop and Resize", "threshold_a": 200, # 阈值a 部分control module会用上 "threshold_b": 245, # 阈值b "guidance_start": 0, # 什么时候介入 对应webui 的 Starting Control Step "guidance_end": 0.7, # 什么时候退出 对应webui 的 Ending Control Step "pixel_perfect": True, # 像素完美 "processor_res": 512, # 预处理器分辨率 "save_detected_map": False, # 因为使用了 controlnet API会返回生成controlnet的效果图,默认是True,如何不需要,改成False "input_image": "", # 图片 格式为base64 } # 多个controlnet 在复制上面一个字典下来就行 ] } }, # 下面的很少用 "enable_hr": True, # 是否开启高清修复 "denoising_strength": 0.5, # 去噪强度 要求enable_hr = True "firstphase_width": 0, # firstphase_width 和firstphase_height 定义了图像的初始分辨率。在图像生成的第一阶段,这些值决定了图像的大小。如果这些值设置为0,系统可能会使用默认或预设的分辨率。 "firstphase_height": 0, "hr_scale": 2, # 放大倍数 对应webui Upscale by "hr_upscaler": "string", # 对应webui 的 Upscaler "hr_second_pass_steps": 0, # 迭代步数 对应webui 的 Hires steps。 "hr_resize_x": 0, # 不放大,指定宽高 对应webui Resize width to 和Resize height to "hr_resize_y": 0, # 不放大,指定宽高 对应webui Resize width to 和Resize height to "hr_checkpoint_name": "string", # 高分辨率模式下使用的大模型昵称。 "hr_sampler_name": "string", # 高分辨率模式下使用的采样器名称。 "hr_prompt": "", # 高分辨率模式下使用的提示词名称。 "hr_negative_prompt": "", # 高分辨率模式下使用的反向提示词名称。 "override_settings": { "sd_model_checkpoint": "sd_xl_base_1.0.safetensors [31e35c80fc]", # 指定大模型 "sd_vae": "Automatic", # 指定vae 默认自动 }, "override_settings_restore_afterwards": True # override_settings 是否在之后恢复覆盖的设置 默认是True }
- 带 Refiner
data = { "prompt": "提示词", "negative_prompt": "反向提示词", "seed": -1, # 随机种子 "sampler_name": "取样器(之间复制webui的名字就行)", "cfg_scale": 7.5, # 提示词相关性 越大越接近提示词 "width": 640, # 宽 (注意要被16整除) "height": 360, # 高 (注意要被16整除) "batch_size": 4, # 批量数量 并行 显存不够会爆显存 "n_iter": 4, # 批量数量 队列 显存不够排队一个一个来 和 batch_size 二选一 "steps": 30, # 迭代步数 "return_grid": True, # 返回网格预览 xl-base 好像没用 "restore_faces": True, # 脸部修复 "send_images": True, # 是否在响应中返回生成的图像 "save_images": False, # 是否保存生成的图像 一般api设置成False "do_not_save_samples": False, # 是否保存samples 一般api设置成False "do_not_save_grid": False, # 是否保存网格的图像 一般api设置成False "alwayson_scripts": { "controlnet": { "args": [ { "enabled": True, # 启用 "control_mode": 0, # 对应webui 的 Control Mode 可以直接填字符串 推荐使用下标 0 1 2 "model": "t2i-adapter_diffusers_xl_lineart [bae0efef]", # 对应webui 的 Model "module": "lineart_standard (from white bg & black line)", # 对应webui 的 Preprocessor "weight": 0.45, # 对应webui 的Control Weight "resize_mode": "Crop and Resize", "threshold_a": 200, # 阈值a 部分control module会用上 "threshold_b": 245, # 阈值b "guidance_start": 0, # 什么时候介入 对应webui 的 Starting Control Step "guidance_end": 0.7, # 什么时候退出 对应webui 的 Ending Control Step "pixel_perfect": True, # 像素完美 "processor_res": 512, # 预处理器分辨率 "save_detected_map": False, # 因为使用了 controlnet API会返回生成controlnet的效果图,默认是True,如何不需要,改成False "input_image": "", # 图片 格式为base64 } # 多个controlnet 在复制上面一个字典下来就行 ] }, "Refiner": { "args": [ True, # 是否开启 "sd_xl_refiner_1.0", # 大模型昵称 0.75, # 介入时机 ] } }, # 下面的很少用 "enable_hr": True, # 是否开启高清修复 "denoising_strength": 0.5, # 去噪强度 要求enable_hr = True "firstphase_width": 0, # firstphase_width 和firstphase_height 定义了图像的初始分辨率。在图像生成的第一阶段,这些值决定了图像的大小。如果这些值设置为0,系统可能会使用默认或预设的分辨率。 "firstphase_height": 0, "hr_scale": 2, # 放大倍数 对应webui Upscale by "hr_upscaler": "string", # 对应webui 的 Upscaler "hr_second_pass_steps": 0, # 迭代步数 对应webui 的 Hires steps。 "hr_resize_x": 0, # 不放大,指定宽高 对应webui Resize width to 和Resize height to "hr_resize_y": 0, # 不放大,指定宽高 对应webui Resize width to 和Resize height to "hr_checkpoint_name": "string", # 高分辨率模式下使用的大模型昵称。 "hr_sampler_name": "string", # 高分辨率模式下使用的采样器名称。 "hr_prompt": "", # 高分辨率模式下使用的提示词名称。 "hr_negative_prompt": "", # 高分辨率模式下使用的反向提示词名称。 "override_settings": { "sd_model_checkpoint": "sd_xl_base_1.0.safetensors [31e35c80fc]", # 指定大模型 "sd_vae": "Automatic", # 指定vae 默认自动 }, "override_settings_restore_afterwards": True # override_settings 是否在之后恢复覆盖的设置 默认是True }
- 生成蒙版 segment anything -> /sam/sam-predict
data = { "sam_model_name": "sam_vit_b_01ec64.pth", # 蒙版模型名称 "input_image": "base64_str", # 图像base64 "sam_positive_points": [ [317.7521, 174.7542], [304.25, 174.75], [295.25, 152.25], [292.25, 174.75], [284.75, 168.75], ], # 选中坐标点 "sam_negative_points": [], # 反选中坐标点 "dino_enabled": True, # 开启文字识别 例如一只猫在草坪上,想要得到猫的蒙版 可以使用 cat 会自动识别物品 "dino_model_name": "GroundingDINO_SwinT_OGC (694MB)", # 文字识别模型 "dino_text_prompt": "", # 文字(要英语)例如 cat }
img2img -> /sdapi/v1/img2img
其中 init_images
参数可以是服务文件路径也可以是 base64
- 使用蒙版局部重绘
data = { "init_images": ["base64", ], # 初始图像(要求使用base64列表) "mask": "base64", # 蒙版base64 "prompt": "", # 提示词 "negative_prompt": "", # 负面提示词 "batch_size": 4, # 批量数量 并行 显存不够会爆显存 "n_iter": 4, # 批量数量 队列 显存不够排队一个一个来 和 batch_size 二选一 "seed": -1, # 随机种子 "sampler_name": "Euler a", # 采样器名称 "mask_blur": 4, # 边缘模糊 "inpaint_full_res": True, # 更高分辨率修复 耗费算力,一般显卡建议关闭 "inpaint_full_res_padding": 4, # 小到中等大小的修复区域 建议 4 - 10 大型修复区域建议 10 - 20 "inpainting_mask_invert": 0, # 1 则反转蒙版 "cfg_scale": 7, # 提示词相关性 "send_images": True, # 是否在响应中返回生成的图像 "save_images": False, # 是否保存生成的图像 一般api设置成False "width": 640, "height": 360, "denoising_strength": 0.5, # 去噪强度 "steps": 30, # 步数 "override_settings": { "sd_model_checkpoint": "sd_xl_base_1.0.safetensors [31e35c80fc]", # 指定大模型 "sd_vae": "Automatic", # 指定vae 默认自动 }, "override_settings_restore_afterwards": True # override_settings 是否在之后恢复覆盖的设置 默认是True }
"init_images": [ "string" ], // 包含初始化图像的文件路径或标识符的列表,作为模型输入的起点。 "resize_mode": 0, // 指定图像的调整大小模式。0表示不调整大小,1表示等比例缩放,2表示强制调整为指定的尺寸。 "denoising_strength": 0.75, // 控制图像去噪的强度。值介于0和1之间,较高的值表示更强的去噪效果。 "image_cfg_scale": 0, // 指定图像的缩放比例。0表示原始尺寸,1表示将尺寸缩小一半,以此类推。 "mask": "string", // 指定遮罩图像的文件路径或标识符,用于指定需要进行特殊处理的区域。 "mask_blur": 4, // 控制遮罩模糊的程度。较高的值表示更模糊的遮罩边缘。 "inpainting_fill": 0, // 指定图像修复过程中填充缺失区域的方法。0表示不进行填充,1表示根据周围的内容进行填充,2表示根据指定的遮罩进行填充。 "inpaint_full_res": true, // 指定是否在修复过程中使用完整分辨率的图像。 "inpaint_full_res_padding": 0, // 如果使用完整分辨率的图像进行修复,指定在图像周围添加的填充大小。 "inpainting_mask_invert": 0, // 控制修复过程中遮罩的反转。0表示不反转,1表示反转。 "initial_noise_multiplier": 0, // 指定在生成图像之前向模型添加的噪声的强度。较高的值可能会增加生成图像的多样性。 "prompt": "", // 指定生成图像的提示或描述,用于引导模型生成特定类型的图像。 "styles": [ "string" ] // 包含应用于图像生成的样式的文件路径或标识符的列表,样式可以影响生成图像的外观和风格。 "seed": -1, // 随机种子,用于控制生成的图像结果的确定性。设置为-1表示使用随机种子。 "subseed": -1, // 子种子,用于进一步控制图像生成的确定性。设置为-1表示使用随机子种子。 "subseed_strength": 0, // 控制子种子的强度。较高的值表示更强的影响。 "seed_resize_from_h": -1, // 从给定高度调整随机种子图像的尺寸。 "seed_resize_from_w": -1, // 从给定宽度调整随机种子图像的尺寸。 "sampler_name": "string", // 采样器的名称,用于生成图像。 "batch_size": 1, // 批处理大小,指定同时处理的图像数量。 "n_iter": 1, // 迭代次数,控制生成图像的迭代次数。 "steps": 50, // 每个迭代步骤中生成图像的步数。 "cfg_scale": 7, // 图像生成的尺度配置。 "width": 512, // 生成图像的宽度。 "height": 512, // 生成图像的高度。 "restore_faces": false, // 是否还原图像中的面部特征。 "tiling": false, // 是否使用平铺生成图像。 "do_not_save_samples": false, // 是否保存生成的图像样本。 "do_not_save_grid": false, // 是否保存生成的图像网格。 "negative_prompt": "string", // 负面提示,用于限制生成图像的内容。 "eta": 0 // 控制图像生成的平滑度。较高的值表示更平滑的图像。 "s_min_uncond": 0, // 稳定扩散中无条件采样的最小值。 "s_churn": 0, // 稳定扩散中图像演变的速度。 "s_tmax": 0, // 稳定扩散中图像演变的最大时间步长。 "s_tmin": 0, // 稳定扩散中图像演变的最小时间步长。 "s_noise": 1, // 稳定扩散中添加的噪声的强度。 "override_settings": {}, // 覆盖默认设置的特定参数。 "override_settings_restore_afterwards": true, // 是否在之后恢复覆盖的默认设置。 "script_args": [], // 脚本参数,用于自定义脚本行为。 "sampler_index": "Euler", // 采样器的索引,指定使用的采样算法。 "include_init_images": false, // 是否在生成图像中包含初始图像。 "script_name": "string", // 脚本名称,用于指定要执行的脚本。 "send_images": true, // 是否发送生成的图像。 "save_images": false, // 是否保存生成的图像。 "alwayson_scripts": {} // 始终执行的脚本,用于自定义持续运行的行为。