Skip to content

Commit 531c4aa

Browse files
mattmilleraiclaude
andcommitted
fix(api-nodes): use (DEPRECATED) suffix convention for superseded partner nodes
Per review: mark superseded partner nodes with a "(DEPRECATED)" display-name suffix plus is_deprecated=True and a same-line comment naming the replacement, instead of "(legacy)" and long description text. Also covers GeminiNodeV2 and GeminiVideoOmni, which master since deprecated and which collide with their current successors' display names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 372f645 commit 531c4aa

4 files changed

Lines changed: 19 additions & 42 deletions

File tree

‎comfy_api_nodes/nodes_bytedance.py‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -427,14 +427,9 @@ class ByteDanceSeedreamNode(IO.ComfyNode):
427427
def define_schema(cls):
428428
return IO.Schema(
429429
node_id="ByteDanceSeedreamNode",
430-
display_name="ByteDance Seedream 4.5 & 5.0 (legacy)",
430+
display_name="ByteDance Seedream 4.5 & 5.0 (DEPRECATED)",
431431
category="partner/image/ByteDance",
432-
description=(
433-
"Unified text-to-image generation and precise single-sentence editing at up to 4K resolution. "
434-
"This class name is historical and is kept only for compatibility with existing workflows; "
435-
"it supports the current models, "
436-
"so prefer the ByteDanceSeedreamNodeV2 ('ByteDance Seedream 4.5 & 5.0') node for new workflows."
437-
),
432+
description="Unified text-to-image generation and precise single-sentence editing at up to 4K resolution.",
438433
inputs=[
439434
IO.Combo.Input(
440435
"model",
@@ -544,7 +539,7 @@ def define_schema(cls):
544539
)
545540
""",
546541
),
547-
is_deprecated=True,
542+
is_deprecated=True, # superseded by ByteDanceSeedreamNodeV3
548543
)
549544

550545
@classmethod

‎comfy_api_nodes/nodes_gemini.py‎

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -467,14 +467,11 @@ class GeminiNode(IO.ComfyNode):
467467
def define_schema(cls):
468468
return IO.Schema(
469469
node_id="GeminiNode",
470-
display_name="Google Gemini (legacy)",
470+
display_name="Google Gemini (DEPRECATED)",
471471
category="partner/text/Gemini",
472472
description="Generate text responses with Google's Gemini AI model. "
473473
"You can provide multiple types of inputs (text, images, audio, video) "
474-
"as context for generating more relevant and meaningful responses. "
475-
"This class name is historical and is kept only for compatibility with existing workflows; "
476-
"it supports the current Gemini models, "
477-
"so prefer the GeminiNodeV2 ('Google Gemini') node for new workflows.",
474+
"as context for generating more relevant and meaningful responses.",
478475
inputs=[
479476
IO.String.Input(
480477
"prompt",
@@ -576,7 +573,7 @@ def define_schema(cls):
576573
)
577574
""",
578575
),
579-
is_deprecated=True,
576+
is_deprecated=True, # superseded by GeminiNodeV3
580577
)
581578

582579
@classmethod
@@ -890,7 +887,7 @@ class GeminiNodeV2(IO.ComfyNode):
890887
def define_schema(cls):
891888
return IO.Schema(
892889
node_id="GeminiNodeV2",
893-
display_name="Google Gemini",
890+
display_name="Google Gemini (DEPRECATED)",
894891
category="partner/text/Gemini",
895892
description="Generate text responses with Google's Gemini models. Provide a text prompt and, "
896893
"optionally, one or more images, audio clips, videos, or files as multimodal context.",
@@ -948,7 +945,7 @@ def define_schema(cls):
948945
],
949946
is_api_node=True,
950947
price_badge=GEMINI_TEXT_PRICE_BADGE,
951-
is_deprecated=True,
948+
is_deprecated=True, # superseded by GeminiNodeV3
952949
)
953950

954951
@classmethod
@@ -1402,14 +1399,9 @@ class GeminiNanoBanana2(IO.ComfyNode):
14021399
def define_schema(cls):
14031400
return IO.Schema(
14041401
node_id="GeminiNanoBanana2",
1405-
display_name="Nano Banana 2 (legacy)",
1402+
display_name="Nano Banana 2 (DEPRECATED)",
14061403
category="partner/image/Gemini",
1407-
description=(
1408-
"Generate or edit images synchronously via Google Vertex API. "
1409-
"This class name is historical and is kept only for compatibility with existing workflows; "
1410-
"it supports the current models, "
1411-
"so prefer the GeminiNanoBanana2V2 ('Nano Banana 2') node for new workflows."
1412-
),
1404+
description="Generate or edit images synchronously via Google Vertex API.",
14131405
inputs=[
14141406
IO.String.Input(
14151407
"prompt",
@@ -1504,7 +1496,7 @@ def define_schema(cls):
15041496
],
15051497
is_api_node=True,
15061498
price_badge=GEMINI_IMAGE_2_PRICE_BADGE,
1507-
is_deprecated=True,
1499+
is_deprecated=True, # superseded by GeminiNanoBanana2V2
15081500
)
15091501

15101502
@classmethod
@@ -1887,7 +1879,7 @@ class GeminiVideoOmni(IO.ComfyNode):
18871879
def define_schema(cls):
18881880
return IO.Schema(
18891881
node_id="GeminiVideoOmni",
1890-
display_name="Google Gemini Omni (Video)",
1882+
display_name="Google Gemini Omni (Video) (DEPRECATED)",
18911883
category="partner/video/Gemini",
18921884
essentials_category="Video Generation",
18931885
description="Generate a video with audio from a text prompt using Google's Gemini Omni Flash model. "
@@ -1921,7 +1913,7 @@ def define_schema(cls):
19211913
IO.Hidden.unique_id,
19221914
],
19231915
is_api_node=True,
1924-
is_deprecated=True,
1916+
is_deprecated=True, # superseded by GeminiVideoOmniV2
19251917
price_badge=IO.PriceBadge(
19261918
expr='{"type":"usd","usd":0.1449,"format":{"suffix":"/second","approximate":true}}'
19271919
),

‎comfy_api_nodes/nodes_grok.py‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -325,14 +325,9 @@ class GrokImageEditNode(IO.ComfyNode):
325325
def define_schema(cls):
326326
return IO.Schema(
327327
node_id="GrokImageEditNode",
328-
display_name="Grok Image Edit (legacy)",
328+
display_name="Grok Image Edit (DEPRECATED)",
329329
category="partner/image/Grok",
330-
description=(
331-
"Modify an existing image based on a text prompt. "
332-
"This class name is historical and is kept only for compatibility with existing workflows; "
333-
"it supports the current models, "
334-
"so prefer the GrokImageEditNodeV2 ('Grok Image Edit') node for new workflows."
335-
),
330+
description="Modify an existing image based on a text prompt",
336331
inputs=[
337332
IO.Combo.Input(
338333
"model",
@@ -417,7 +412,7 @@ def define_schema(cls):
417412
)
418413
""",
419414
),
420-
is_deprecated=True,
415+
is_deprecated=True, # superseded by GrokImageEditNodeV2
421416
)
422417

423418
@classmethod

‎comfy_api_nodes/nodes_openai.py‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -144,15 +144,10 @@ class OpenAIGPTImage1(IO.ComfyNode):
144144
def define_schema(cls):
145145
return IO.Schema(
146146
node_id="OpenAIGPTImage1",
147-
display_name="OpenAI GPT Image 2 (legacy)",
147+
display_name="OpenAI GPT Image 2 (DEPRECATED)",
148148
category="partner/image/OpenAI",
149-
description=(
150-
"Generates images synchronously via OpenAI's GPT Image endpoint. "
151-
"This class name is historical and is kept only for compatibility with existing workflows; "
152-
"the node is not limited to GPT Image 1 and defaults to the current gpt-image-2 model, "
153-
"so prefer the OpenAIGPTImageNodeV2 ('OpenAI GPT Image 2') node for new workflows."
154-
),
155-
is_deprecated=True,
149+
description="Generates images synchronously via OpenAI's GPT Image endpoint.",
150+
is_deprecated=True, # superseded by OpenAIGPTImageNodeV2
156151
inputs=[
157152
IO.String.Input(
158153
"prompt",

0 commit comments

Comments
 (0)