Add moderation level option to OpenAIGPTImage1 node and update api_call method signature (#7804)

This commit is contained in:
Yoland Yan 2025-04-28 10:59:22 -07:00 committed by GitHub
parent c15909bb62
commit 7d329771f9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,21 +1,22 @@
import base64
import io import io
import math
from inspect import cleandoc from inspect import cleandoc
from comfy.utils import common_upscale import numpy as np
import requests
import torch
from PIL import Image
from comfy.comfy_types.node_typing import IO, ComfyNodeABC, InputTypeDict from comfy.comfy_types.node_typing import IO, ComfyNodeABC, InputTypeDict
from comfy.utils import common_upscale
from comfy_api_nodes.apis import ( from comfy_api_nodes.apis import (
OpenAIImageGenerationRequest,
OpenAIImageEditRequest, OpenAIImageEditRequest,
OpenAIImageGenerationResponse OpenAIImageGenerationRequest,
OpenAIImageGenerationResponse,
) )
from comfy_api_nodes.apis.client import ApiEndpoint, HttpMethod, SynchronousOperation from comfy_api_nodes.apis.client import ApiEndpoint, HttpMethod, SynchronousOperation
import numpy as np
from PIL import Image
import requests
import torch
import math
import base64
def downscale_input(image): def downscale_input(image):
samples = image.movedim(-1,1) samples = image.movedim(-1,1)
@ -331,6 +332,11 @@ class OpenAIGPTImage1(ComfyNodeABC):
"default": None, "default": None,
"tooltip": "Optional mask for inpainting (white areas will be replaced)", "tooltip": "Optional mask for inpainting (white areas will be replaced)",
}), }),
"moderation": (IO.COMBO, {
"options": ["low","auto"],
"default": "low",
"tooltip": "Moderation level",
}),
}, },
"hidden": { "hidden": {
"auth_token": "AUTH_TOKEN_COMFY_ORG" "auth_token": "AUTH_TOKEN_COMFY_ORG"
@ -343,7 +349,7 @@ class OpenAIGPTImage1(ComfyNodeABC):
DESCRIPTION = cleandoc(__doc__ or "") DESCRIPTION = cleandoc(__doc__ or "")
API_NODE = True API_NODE = True
def api_call(self, prompt, seed=0, quality="low", background="opaque", image=None, mask=None, n=1, size="1024x1024", auth_token=None): def api_call(self, prompt, seed=0, quality="low", background="opaque", image=None, mask=None, n=1, size="1024x1024", auth_token=None, moderation="low"):
model = "gpt-image-1" model = "gpt-image-1"
path = "/proxy/openai/images/generations" path = "/proxy/openai/images/generations"
request_class = OpenAIImageGenerationRequest request_class = OpenAIImageGenerationRequest
@ -415,6 +421,7 @@ class OpenAIGPTImage1(ComfyNodeABC):
n=n, n=n,
seed=seed, seed=seed,
size=size, size=size,
moderation=moderation,
), ),
files=files if files else None, files=files if files else None,
auth_token=auth_token auth_token=auth_token