diff --git a/comfy_api_nodes/apis/__init__.py b/comfy_api_nodes/apis/__init__.py index e7ea9b332837..e93383abe263 100644 --- a/comfy_api_nodes/apis/__init__.py +++ b/comfy_api_nodes/apis/__init__.py @@ -8,7 +8,7 @@ from enum import Enum from typing import Any, Dict, List, Optional -from pydantic import AnyUrl, BaseModel, Field, confloat, conint +from pydantic import AnyUrl, BaseModel, Field, confloat, conint, ConfigDict class Customer(BaseModel): createdAt: Optional[datetime] = Field( @@ -301,7 +301,8 @@ class Quality(str, Enum): class OpenAIImageEditRequest(BaseModel): - background: Optional[str] = Field( + model_config = ConfigDict(use_enum_values=True) + background: Optional[Background] = Field( None, description='Background transparency', examples=['opaque'] ) model: str = Field( @@ -324,7 +325,7 @@ class OpenAIImageEditRequest(BaseModel): description='A text description of the desired edit', examples=['Give the rocketship rainbow coloring'], ) - quality: Optional[str] = Field( + quality: Optional[Quality] = Field( None, description='The quality of the edited image', examples=['low'] ) size: Optional[str] = Field( @@ -335,6 +336,7 @@ class OpenAIImageEditRequest(BaseModel): description='A unique identifier for end-user monitoring', examples=['user-1234'], ) + class Quality1(str, Enum): diff --git a/comfy_api_nodes/nodes_api.py b/comfy_api_nodes/nodes_api.py index 4105ba7e1c7c..ab40732f3b35 100644 --- a/comfy_api_nodes/nodes_api.py +++ b/comfy_api_nodes/nodes_api.py @@ -176,6 +176,7 @@ def api_call(self, prompt, seed=0, image=None, mask=None, n=1, size="1024x1024", n=n, size=size, seed=seed, + moderation='low', ), files={ "image": img_binary, @@ -262,6 +263,7 @@ def api_call(self, prompt, seed=0, style="natural", quality="standard", size="10 size=size, style=style, seed=seed, + moderation='low', ), auth_token=auth_token ) @@ -304,6 +306,11 @@ def INPUT_TYPES(cls) -> InputTypeDict: "options": ["low","medium","high"], "default": "low", "tooltip": "Image quality, affects cost and generation time.", + }), + "moderation": (IO.COMBO, { + "options": ["low","auto"], + "default": "low", + "tooltip": "Content moderation settings", }), "background": (IO.COMBO, { "options": ["opaque","transparent"], @@ -343,7 +350,7 @@ def INPUT_TYPES(cls) -> InputTypeDict: DESCRIPTION = cleandoc(__doc__ or "") 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", moderation="low", background="opaque", image=None, mask=None, n=1, size="1024x1024", auth_token=None): model = "gpt-image-1" path = "/proxy/openai/images/generations" request_class = OpenAIImageGenerationRequest @@ -411,6 +418,7 @@ def api_call(self, prompt, seed=0, quality="low", background="opaque", image=Non model=model, prompt=prompt, quality=quality, + moderation=moderation, background=background, n=n, seed=seed,