Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fdab3c847d | ||
|
|
8e8cf9e1a3 | ||
|
|
ebf2f7b727 | ||
|
|
5663bcf620 |
+10
-1
@@ -35,6 +35,7 @@ class OpenAiDalle3:
|
||||
"retry": ("INT", {"default": 0, "min": 0, "max": 5}),
|
||||
"auto_save": ("BOOLEAN", {"default": False}),
|
||||
"auto_save_dir": ("STRING", {"multiline": False, "default": "./output_dalle3"}),
|
||||
"blank_image_if_failed": ("BOOLEAN", {"default": False}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +45,10 @@ class OpenAiDalle3:
|
||||
OUTPUT_NODE = True
|
||||
CATEGORY = "Generator"
|
||||
|
||||
def doit(self, resolution, dummy_seed, prompt, quality, style, retry, auto_save, auto_save_dir):
|
||||
def doit(
|
||||
self, resolution, dummy_seed, prompt, quality, style, retry, auto_save, auto_save_dir,
|
||||
blank_image_if_failed):
|
||||
|
||||
if (self.__cache_image is None or
|
||||
self.__previous_resolution != resolution or self.__previous_seed != dummy_seed or
|
||||
self.__previous_prompt != prompt):
|
||||
@@ -63,6 +67,11 @@ class OpenAiDalle3:
|
||||
break
|
||||
except openai.BadRequestError as ex:
|
||||
if retry_count >= retry:
|
||||
print("OpenAiDalle3: received BadRequestError: %s" % (json.dumps(ex.response.json()),))
|
||||
if blank_image_if_failed:
|
||||
widths = resolution.split("x")
|
||||
xw, yw = int(widths[0]), int(widths[1])
|
||||
return torch.zeros(1, yw, xw, 4), xw, yw, "(BadRequestError)"
|
||||
raise ex
|
||||
print("OpenAiDalle3: received BadRequestError, retrying... #%d : %s" % (
|
||||
retry_count + 1, json.dumps(ex.response.json())))
|
||||
|
||||
@@ -12,6 +12,12 @@ class OpenAiGpt:
|
||||
return {
|
||||
"required": {
|
||||
"model": ([
|
||||
"gpt-4o",
|
||||
"gpt-4o-2024-05-13",
|
||||
"gpt-4-turbo",
|
||||
"gpt-4-turbo-2024-04-09",
|
||||
"gpt-4-turbo-preview",
|
||||
"gpt-4-0125-preview",
|
||||
"gpt-4-1106-preview",
|
||||
"gpt-4-vision-preview",
|
||||
"gpt-4",
|
||||
|
||||
@@ -22,6 +22,12 @@ class OpenAiGpt4v:
|
||||
"required": {
|
||||
"image": ("IMAGE",),
|
||||
"seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}),
|
||||
"model": ([
|
||||
"gpt-4o",
|
||||
"gpt-4o-mini",
|
||||
"gpt-4-turbo",
|
||||
"gpt-4-vision-preview",
|
||||
], {"default": "gpt-4o"}),
|
||||
"detail": (["auto", "low", "high"],),
|
||||
"max_tokens": ("INT", {"default": 512, "min": 16, "max": 4096}),
|
||||
"prompt": ("STRING", {
|
||||
@@ -36,7 +42,7 @@ class OpenAiGpt4v:
|
||||
OUTPUT_NODE = False
|
||||
CATEGORY = "Generator"
|
||||
|
||||
def doit(self, image, seed, detail, max_tokens, prompt):
|
||||
def doit(self, image, seed, model, detail, max_tokens, prompt):
|
||||
_ = seed
|
||||
|
||||
im0 = torchvision.transforms.functional.to_pil_image(torch.permute(image[0], (2, 0, 1)))
|
||||
@@ -50,7 +56,7 @@ class OpenAiGpt4v:
|
||||
}
|
||||
|
||||
payload = {
|
||||
"model": "gpt-4-vision-preview",
|
||||
"model": model if model is not None and model != "" else "gpt-4o",
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
|
||||
@@ -5,7 +5,7 @@ class SeedGenerator:
|
||||
__generation = 0
|
||||
|
||||
def __init__(self):
|
||||
self.__previous_seed = random.randint(0, 0xffffffffffffffff)
|
||||
self.__previous_seed = random.randint(0, 0x7fffffffffffffff)
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
@@ -29,6 +29,6 @@ class SeedGenerator:
|
||||
|
||||
def doit(self, generation_mode):
|
||||
if generation_mode == "random":
|
||||
self.__previous_seed = random.randint(0, 0xffffffffffffffff)
|
||||
self.__previous_seed = random.randint(0, 0x7fffffffffffffff)
|
||||
print("NegiTools_SeedGenerator: provided seed value = %d" % self.__previous_seed)
|
||||
return (self.__previous_seed,)
|
||||
|
||||
Reference in New Issue
Block a user