10 文生图 Stable Diffusion 教程:基础用法之 API 调用示例
系列进度
Stable Diffusion 教程 · 第 10 / 18 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
文生图学习要同时看输入描述、生成流程、参数影响和最终用途。阅读时可以按「为什么选择 API 调用? -> 准备工作 -> API 调用示例 -> 基本的 API 调用结构」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「为什么选择 API 调用?」,再查「准备工作」。
在上一篇文章中,我们介绍了 Stable Diffusion 的基本命令行用法,帮助大家了解如何通过命令行生成图像。在这一篇中,我们将深入探讨如何通过 API 调用来使用 Stable Diffusion,帮助你在应用程序中更灵活地生成图像。API 调用使得集成和自动化变得更为简单,尤其是当需要批量处理时。
为什么选择 API 调用?
API(应用程序编程接口)调用允许开发者通过编程方式访问服务。这种方式提供了更高的灵活性和可扩展性,可以与其他系统更方便地集成。例如,通过 API 你可以:
调用 Stable Diffusion API 时,先确认模型参数、提示词、尺寸、鉴权、超时、重试和结果保存。
- 在网站上根据用户输入生成图像。
- 将图像生成过程自动化,适合批量生成。
- 与其他服务如聊天机器人集成,实时生成图像反馈。
准备工作
为了能够使用 API 调用 Stable Diffusion,我们需要确保以下几点:
学《文生图 Stable Diffusion 教程:基础用法之 API ...》时,可以先找一个自己能复现的小场景,再看相关概念和练习步骤,读完后用自己的例子复述一遍。
- 服务搭建:确保你已经在本地或云环境中搭建了 Stable Diffusion 服务,并且可以通过 HTTP 请求访问。
- 安装依赖:在你的项目中,你可能需要安装如
requests这样的 Python 库来处理 HTTP 请求。
pip install requests
API 调用示例
以下是一个使用 Python 的 requests 库进行 API 调用的简单示例。这个示例将绘制一个以文本描述为基础的图像。
基本的 API 调用结构
一般来说,API 请求的结构如下:
POST /v1/generate
Content-Type: application/json
{
"prompt": "A fantasy landscape with mountains",
"num_images": 1,
"seed": 42
}
示例代码
下面的示例代码展示了如何通过 requests 库向 Stable Diffusion API 发送请求并获取图像。
import requests
import base64
from PIL import Image
from io import BytesIO
# 定义 API 地址
api_url = "http://localhost:8000/v1/generate"
# 定义请求数据
data = {
"prompt": "A serene beach at sunset",
"num_images": 1,
"seed": 12345
}
# 发送 POST 请求
response = requests.post(api_url, json=data)
# 检查请求是否成功
if response.status_code == 200:
# 解码返回的图像数据
image_data = response.json().get("images")[0]
image = Image.open(BytesIO(base64.b64decode(image_data)))
# 显示图像
image.show()
else:
print(f"Error: {response.status_code}, {response.text}")
解析代码
- 在代码中,我们首先导入了必需的库。
- 接着定义了 API 的地址。请根据你实际的 API 地址进行修改。
- 然后,我们构建了要发送的请求数据,包括
prompt、num_images和seed等字段。 - 使用
requests.post方法发送请求,获取返回的 JSON 数据。 - 如果请求成功,我们解析返回的图像数据并使用
PIL库显示生成的图像。
常见参数详解
在进行 API 调用时,常见的参数包括:
prompt:生成图像时所依据的文本描述。务必详细且清晰,以获得更准确的结果。num_images:请求生成的图像数量。默认为 1。seed:随机数种子,用于确保可重复性。当相同的种子与描述相同时,结果图像应该是一致的。
学完《文生图 Stable Diffusion 教程:基础用法之 API 调用示例》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。
如果想把《文生图 Stable Diffusion 教程:基础用法之 API 调用示例》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。
后续步骤
本篇文章为你展示了如何通过 API 调用使用 Stable Diffusion 来生成图像。下一篇中,我们将深入探讨如何生成你的第一个真正的图像。通过实际操作,我们将帮助你更好地理解算法和过程。
希望这篇文章能帮助你更好地掌握 API 调用的基础用法!如有疑问,请随时提问。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
文生图 Stable Diffusion 教程:基础用法之 API 调用示例适合谁读?
这是 Stable Diffusion 教程 系列第 10 / 18 篇,适合正在学习Stable Diffusion 教程,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇Stable Diffusion教程要多久?
按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读