一、前置知识

该过程需要明白http如何访问web网页完成交互。

1.HTTP的请求方法

HTTP的请求方法

2.HTTP的请求参数

HTTP的参数类型详解

3.HTTP API的调用工具

4.ComfyUI API的学习

官方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

陆续填坑……

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐