feat: 新增 Grok 图像节点、前端 UI 增强、重构 nano-banana 系列

- 新增 Grok Image 节点及客户端
- 新增 save_image_format 节点
- 新增前端 JS 扩展:画笔工具、点阵网格、侧边栏隐藏、资源切换、重命名等
- 重构 nano-banana 节点,移除 pro 版本
- 移除 multi_res_preview 节点
- 新增 http_error 工具模块
- 各客户端和节点优化改进

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
Jony
2026-05-24 22:46:55 +08:00
co-authored by Claude Opus 4.6
parent c491731c99
commit 69279c654d
40 changed files with 3406 additions and 1599 deletions
+19 -13
View File
@@ -6,6 +6,7 @@ o1key GPT Image 节点
import time
from ..clients.gpt_image_client import GptImageClient
from ..utils.image_utils import parse_batch_prompts
from ..utils.config import NETWORK_ROUTE_OPTIONS, get_base_url_by_route
try:
from comfy.model_management import processing_interrupted, InterruptProcessingException
@@ -52,30 +53,33 @@ class O1keyGPTImage:
], {
"default": "gpt-image-2-次卡",
})
optional_inputs["网络"] = (NETWORK_ROUTE_OPTIONS, {
"default": "全球加速",
})
optional_inputs["分辨率"] = ([
"智能",
# ── 1K ──
"1024x10241K 正方形 1:1",
"1536x10241K 横版 3:2",
"1024x15361K 竖版 2:3",
"1365x10241K 横版 4:3",
"1024x13651K 竖版 3:4",
"1820x10241K 横版 16:9",
"1024x18201K 竖版 9:16",
"1360x10241K 横版 4:3",
"1024x13601K 竖版 3:4",
"1824x10241K 横版 16:9",
"1024x18241K 竖版 9:16",
# ── 2K ──
"2048x20482K 正方形 1:1",
"3072x20482K 横版 3:2",
"2048x30722K 竖版 2:3",
"2732x20482K 横版 4:3",
"2048x27322K 竖版 3:4",
"3640x20482K 横版 16:9",
"2048x36402K 竖版 9:16",
"2736x20482K 横版 4:3",
"2048x27362K 竖版 3:4",
"3648x20482K 横版 16:9",
"2048x36482K 竖版 9:16",
# ── 4K ──
"3840x38404K 正方形 1:1",
"3840x25604K 横版 3:2",
"2560x38404K 竖版 2:3",
"3840x28804K 横版 4:3",
"2880x38404K 竖版 3:4",
"2880x28804K 正方形 1:1",
"3504x23364K 横版 3:2",
"2336x35044K 竖版 2:3",
"3264x24484K 横版 4:3",
"2448x32644K 竖版 3:4",
"3840x21604K 横版 16:9",
"2160x38404K 竖版 9:16",
], {
@@ -128,6 +132,7 @@ class O1keyGPTImage:
self,
prompt: str,
模型: str = "gpt-image-2-次卡",
网络: str = "全球加速",
分辨率: str = "auto",
质量: str = "自动",
生图数量: int = 1,
@@ -169,6 +174,7 @@ class O1keyGPTImage:
# ── 3. 创建客户端 ─────────────────────────────────────────────────────
try:
client = GptImageClient()
client.base_url = get_base_url_by_route(网络)
except ValueError as e:
if str(e) == "未授权!":
print("[o1key GPT Image] 请联系作者授权后方可使用!")