diff --git a/clients/gpt_image_client.py b/clients/gpt_image_client.py index eaa303e..a9b7b94 100644 --- a/clients/gpt_image_client.py +++ b/clients/gpt_image_client.py @@ -35,6 +35,7 @@ _ENDPOINT_EDITS = "/v1/images/edits/" _MODEL_NAME_MAP = { "gpt-image-1-特价": "gpt-image-1-special", "gpt-image-1.5-特价": "gpt-image-1.5-special", + "gpt-image-2-特价": "gpt-image-2-special", } # ── 超时 ────────────────────────────────────────────────────────────────────── @@ -333,8 +334,7 @@ class GptImageClient: mode = "图像编辑(无蒙版)" url = f"{self.base_url}{_ENDPOINT_EDITS}" - print(f"[o1key GPT Image] {mode} | 模型={model} | 参考图={num_images}张 | quality={quality} | " - f"background={background} | size={size} | n={n}") + print(f"[o1key GPT Image] {mode} | 模型={model} | 参考图={num_images}张 | size={size} | n={n}") connector = aiohttp.TCPConnector(ssl=False, force_close=True) timeout = aiohttp.ClientTimeout(total=_REQUEST_TIMEOUT) diff --git a/nodes/__init__.py b/nodes/__init__.py index 9f3f416..c2d96e8 100644 --- a/nodes/__init__.py +++ b/nodes/__init__.py @@ -19,6 +19,6 @@ from .multi_res_preview import MultiResPreview from .batch_images_o1key import BatchImagesO1key from .seedance_video import Seedance, SeedanceMultiModal from .doubao_image import DoubaoImage -from .o1key_gpt_image import O1keyGPTImage +from .gpt_image import O1keyGPTImage __all__ = ['NanoBananaPro', 'BatchNanoBananaPro', 'GoogleGemini', 'LoadFile', 'ImageStitchPro', 'SaveCleanImage', 'BatchCleanMetadata', 'VideoPreview', 'KlingVideo', 'KlingFirstLastFrame', 'KlingMotionControlTest', 'AspectRatioPreset', 'GoogleVeo', 'FluxImageEdit', 'UniversalLLMChat', 'MultiResPreview', 'BatchImagesO1key', 'Seedance', 'SeedanceMultiModal', 'StreamPreview', 'DoubaoImage', 'O1keyGPTImage'] diff --git a/nodes/o1key_gpt_image.py b/nodes/gpt_image.py similarity index 88% rename from nodes/o1key_gpt_image.py rename to nodes/gpt_image.py index a9baee0..f325fc4 100644 --- a/nodes/o1key_gpt_image.py +++ b/nodes/gpt_image.py @@ -48,8 +48,17 @@ class O1keyGPTImage: ], { "default": "gpt-image-1.5", }), - "分辨率": (["auto", "1024x1024", "1024x1536", "1536x1024"], { - "default": "auto", + "分辨率": ([ + "auto(默认)", + "1024x1024(正方形)", + "1536x1024(景观)", + "1024x1536(肖像)", + "2048x2048(2K 平方)", + "2048x1152(2K 横屏)", + "3840x2160(4K 横屏)", + "2160x3840(4K 竖屏)", + ], { + "default": "auto(默认)", "tooltip": "Image size (auto = API decides)", }), "生图数量": ("INT", { @@ -111,6 +120,9 @@ class O1keyGPTImage: if 遮罩 is not None and 图片 is None: raise ValueError("提供了遮罩但未提供图片,请同时提供图片和遮罩") + # ── 2. 解析分辨率显示值 → API 参数值 ────────────────────────────────── + size = 分辨率.split("(")[0].strip() + # ── 2. 创建客户端 ───────────────────────────────────────────────────── try: client = GptImageClient() @@ -127,7 +139,7 @@ class O1keyGPTImage: model=模型, quality="low", background="auto", - size=分辨率, + size=size, n=生图数量, seed=seed, image_tensor=图片,