update comfyui-node

This commit is contained in:
Artiprocher
2024-08-12 18:22:34 +08:00
committed by 谦言
parent 8920fed247
commit 229a5dcd08
2 changed files with 60 additions and 57 deletions
+1 -57
View File
@@ -1,60 +1,4 @@
from http import HTTPStatus
import requests, dashscope, torch
import numpy as np
from PIL import Image
from io import BytesIO
class DashscopeFLUXAPI:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"model": (
[
"flux-schnell", "flux-dev", "flux-merged",
],
{
"default": "flux-schnell"
}
),
"api_key": ("STRING", {"multiline": False, "default": "",}),
"prompt": ("STRING", {"multiline": True, "default": "",}),
"size": (
[
"512*1024", "768*512", "768*1024", "1024*576", "576*1024", "1024*1024"
],
{
"default": "1024*1024"
}
),
"seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}),
"steps": ("INT", {"default": 30, "min": 1, "max": 50, "step": 1}),
},
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "call_api"
CATEGORY = "Dashscope"
def preprocess_image(self, image):
image = torch.Tensor(np.array(image, dtype=np.float32) * (1 / 255))
return image
def call_api(self, model, api_key, prompt, size, seed, steps):
dashscope.api_key=api_key
rsp = dashscope.ImageSynthesis.call(model=model, prompt=prompt, size=size, seed=seed, steps=steps)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output)
print(rsp.usage)
response = requests.get(rsp.output.results[0].url)
img = Image.open(BytesIO(response.content))
img = self.preprocess_image(img)
return ([img],)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
from .nodes.dashscope_flux_api import DashscopeFLUXAPI
NODE_CLASS_MAPPINGS = {
+59
View File
@@ -0,0 +1,59 @@
from http import HTTPStatus
import requests, dashscope, torch
import numpy as np
from PIL import Image
from io import BytesIO
class DashscopeFLUXAPI:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"model": (
[
"flux-schnell", "flux-dev", "flux-merged",
],
{
"default": "flux-schnell"
}
),
"api_key": ("STRING", {"multiline": False, "default": "",}),
"prompt": ("STRING", {"multiline": True, "default": "",}),
"size": (
[
"512*1024", "768*512", "768*1024", "1024*576", "576*1024", "1024*1024"
],
{
"default": "1024*1024"
}
),
"seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}),
"steps": ("INT", {"default": 30, "min": 1, "max": 50, "step": 1}),
},
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "call_api"
CATEGORY = "Dashscope"
def preprocess_image(self, image):
image = torch.Tensor(np.array(image, dtype=np.float32) * (1 / 255))
return image
def call_api(self, model, api_key, prompt, size, seed, steps):
dashscope.api_key=api_key
rsp = dashscope.ImageSynthesis.call(model=model, prompt=prompt, size=size, seed=seed, steps=steps)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output)
print(rsp.usage)
response = requests.get(rsp.output.results[0].url)
img = Image.open(BytesIO(response.content))
img = self.preprocess_image(img)
return ([img],)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))