You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过/sdapi/v1/txt2img设置Stable Diffusion背景文字?

问题解答

核心结论

直接通过/sdapi/v1/txt2img的原生参数无法直接传递背景文字来生成带文字的图像,Stable Diffusion的原生txt2img API本身不支持直接嵌入文字的功能。

可行方案

方案1:调用内置脚本(推荐)

Stable Diffusion WebUI有内置的文字叠加类脚本(如Text Overlay),你可以通过API的script_name和script_args参数调用:

  • 设置script_name为对应脚本名称(具体名称取决于WebUI版本和已安装脚本)
  • 在script_args中传入文字内容、字体、大小、颜色、位置等参数

示例请求结构(基于翻译后的API调整):

{
  "prompt": "城市天际线",
  "negative_prompt": "",
  "styles": [],
  "seed": -1,
  "subseed": -1,
  "subseed_strength": 0,
  "seed_resize_from_h": -1,
  "seed_resize_from_w": -1,
  "sampler_name": "",
  "batch_size": 1,
  "n_iter": 1,
  "steps": 50,
  "cfg_scale": 7,
  "width": 512,
  "height": 512,
  "restore_faces": true,
  "tiling": true,
  "do_not_save_samples": false,
  "do_not_save_grid": false,
  "eta": 0,
  "denoising_strength": 0,
  "s_min_uncond": 0,
  "s_churn": 0,
  "s_tmax": 0,
  "s_tmin": 0,
  "s_noise": 0,
  "override_settings": {},
  "override_settings_restore_afterwards": true,
  "refiner_checkpoint": "",
  "refiner_switch_at": 0,
  "disable_extra_networks": false,
  "comments": {},
  "enable_hr": false,
  "firstphase_width": 0,
  "firstphase_height": 0,
  "hr_scale": 2,
  "hr_upscaler": "",
  "hr_second_pass_steps": 0,
  "hr_resize_x": 0,
  "hr_resize_y": 0,
  "hr_checkpoint_name": "",
  "hr_sampler_name": "",
  "hr_prompt": "",
  "hr_negative_prompt": "",
  "sampler_index": "Euler",
  "script_name": "text_overlay",
  "script_args": ["纽约", "Arial", 72, "#000000", "center", "bottom"],
  "send_images": true,
  "save_images": false,
  "alwayson_scripts": {}
}

注意:不同脚本的参数顺序和定义可能有差异,建议先在WebUI界面测试脚本参数,再对应到API的script_args中。

方案2:.NET端后处理图像

如果未安装相关脚本,可在.NET服务中完成图像生成后的文字叠加:

  1. 调用/sdapi/v1/txt2img生成主体图像(城市天际线)
  2. 使用System.Drawing或ImageSharp库加载生成的图像
  3. 在图像上绘制背景文字,控制字体、透明度、位置等参数

示例代码片段(使用ImageSharp):

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Drawing.Processing;
using SixLabors.ImageSharp.Processing;
using SixLabors.Fonts;

// 假设已获取Stable Diffusion返回的图像字节流
byte[] imageBytes = ...;
using (var image = Image.Load(imageBytes))
{
    // 设置字体(需确保字体文件存在)
    var font = SystemFonts.CreateFont("Arial", 72, FontStyle.Bold);
    // 设置半透明黑色文字
    var color = Color.FromRgba(0, 0, 0, 128);
    // 计算底部居中的文字位置
    var textSize = TextMeasurer.Measure("纽约", new TextOptions(font));
    var position = new PointF((image.Width - textSize.Width) / 2, image.Height - textSize.Height - 20);
    
    // 绘制文字
    image.Mutate(ctx => ctx.DrawText("纽约", font, color, position));
    
    // 输出处理后的图像
    using (var ms = new MemoryStream())
    {
        image.SaveAsPng(ms);
        return ms.ToArray();
    }
}

方案3:提示词引导生成(效果不稳定)

可尝试在prompt中描述文字元素,比如"城市天际线,背景带有半透明的'纽约'文字",但这种方法生成的文字往往模糊变形,无法精确控制样式和位置,仅适合对文字精度要求低的场景。

中文翻译后的API结构

{
  "prompt": "城市天际线",
  "negative_prompt": "",
  "styles": [
    "字符串"
  ],
  "seed": -1,
  "subseed": -1,
  "subseed_strength": 0,
  "seed_resize_from_h": -1,
  "seed_resize_from_w": -1,
  "sampler_name": "字符串",
  "batch_size": 1,
  "n_iter": 1,
  "steps": 50,
  "cfg_scale": 7,
  "width": 512,
  "height": 512,
  "restore_faces": true,
  "tiling": true,
  "do_not_save_samples": false,
  "do_not_save_grid": false,
  "eta": 0,
  "denoising_strength": 0,
  "s_min_uncond": 0,
  "s_churn": 0,
  "s_tmax": 0,
  "s_tmin": 0,
  "s_noise": 0,
  "override_settings": {},
  "override_settings_restore_afterwards": true,
  "refiner_checkpoint": "字符串",
  "refiner_switch_at": 0,
  "disable_extra_networks": false,
  "comments": {},
  "enable_hr": false,
  "firstphase_width": 0,
  "firstphase_height": 0,
  "hr_scale": 2,
  "hr_upscaler": "字符串",
  "hr_second_pass_steps": 0,
  "hr_resize_x": 0,
  "hr_resize_y": 0,
  "hr_checkpoint_name": "字符串",
  "hr_sampler_name": "字符串",
  "hr_prompt": "",
  "hr_negative_prompt": "",
  "sampler_index": "Euler",
  "script_name": "字符串",
  "script_args": [],
  "send_images": true,
  "save_images": false,
  "alwayson_scripts": {}
}

内容的提问来源于stack exchange,提问作者Tech develop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 07:54:56