【记录】调用ComfyUI的API实现绘图服务
调用comfyui的API接口实现绘图服务
·
一、前置知识
该过程需要明白http如何访问web网页完成交互。
1.HTTP的请求方法
2.HTTP的请求参数
3.HTTP API的调用工具
-
Python的三方包requests
request详解 -
Python的内置包urllib,其中包括request
urllib库的使用补充:JSON的使用方法
json基础教程
4.ComfyUI API的学习
二、调用Comfyui的步骤
-
Post /prompt 绘图任务的下发接口,此接口只做任务下发,返回任务ID信息。
这一步需要获得prompt_id。 -
Get /history 获取所有历史数据
这一步需要获得outputs里面的参数。 -
GET /view 图片的在线预览接口(上传图像,生图图像,蒙蔽图像,均通过该接口预览)
这一步获得返回的结果,结果为二进制图片,需要将其转换为图像格式。
1.将二进制图片转换为图像格式
方法一:直接写入二进制图像
import urllib.request
# 调用ComfyUI的/view接口
url = "http://127.0.0.1:8188/view?filename=output.png&type=output"
with urllib.request.urlopen(url) as response:
image_bytes = response.read() # 获取原始字节流
# 保存为PNG文件
with open("output.png", "wb") as f: # "wb"表示二进制写入模式
f.write(image_bytes)
方法二:结合PIL处理
from PIL import Image
from io import BytesIO
# 将字节流转换为PIL.Image对象
image_bytes = ... # 从API获取的字节流
image = Image.open(BytesIO(image_bytes)) # 解析为图像对象
# 保存为JPEG(可调整质量参数)
image.save("converted.jpg", "JPEG", quality=90) # quality范围0-100,默认75
陆续填坑……
更多推荐
所有评论(0)