comfygit-core 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. comfygit_core/analyzers/custom_node_scanner.py +109 -0
  2. comfygit_core/analyzers/git_change_parser.py +156 -0
  3. comfygit_core/analyzers/model_scanner.py +318 -0
  4. comfygit_core/analyzers/node_classifier.py +58 -0
  5. comfygit_core/analyzers/node_git_analyzer.py +77 -0
  6. comfygit_core/analyzers/status_scanner.py +362 -0
  7. comfygit_core/analyzers/workflow_dependency_parser.py +143 -0
  8. comfygit_core/caching/__init__.py +16 -0
  9. comfygit_core/caching/api_cache.py +210 -0
  10. comfygit_core/caching/base.py +212 -0
  11. comfygit_core/caching/comfyui_cache.py +100 -0
  12. comfygit_core/caching/custom_node_cache.py +320 -0
  13. comfygit_core/caching/workflow_cache.py +797 -0
  14. comfygit_core/clients/__init__.py +4 -0
  15. comfygit_core/clients/civitai_client.py +412 -0
  16. comfygit_core/clients/github_client.py +349 -0
  17. comfygit_core/clients/registry_client.py +230 -0
  18. comfygit_core/configs/comfyui_builtin_nodes.py +1614 -0
  19. comfygit_core/configs/comfyui_models.py +62 -0
  20. comfygit_core/configs/model_config.py +151 -0
  21. comfygit_core/constants.py +82 -0
  22. comfygit_core/core/environment.py +1635 -0
  23. comfygit_core/core/workspace.py +898 -0
  24. comfygit_core/factories/environment_factory.py +419 -0
  25. comfygit_core/factories/uv_factory.py +61 -0
  26. comfygit_core/factories/workspace_factory.py +109 -0
  27. comfygit_core/infrastructure/sqlite_manager.py +156 -0
  28. comfygit_core/integrations/__init__.py +7 -0
  29. comfygit_core/integrations/uv_command.py +318 -0
  30. comfygit_core/logging/logging_config.py +15 -0
  31. comfygit_core/managers/environment_git_orchestrator.py +316 -0
  32. comfygit_core/managers/environment_model_manager.py +296 -0
  33. comfygit_core/managers/export_import_manager.py +116 -0
  34. comfygit_core/managers/git_manager.py +667 -0
  35. comfygit_core/managers/model_download_manager.py +252 -0
  36. comfygit_core/managers/model_symlink_manager.py +166 -0
  37. comfygit_core/managers/node_manager.py +1378 -0
  38. comfygit_core/managers/pyproject_manager.py +1321 -0
  39. comfygit_core/managers/user_content_symlink_manager.py +436 -0
  40. comfygit_core/managers/uv_project_manager.py +569 -0
  41. comfygit_core/managers/workflow_manager.py +1944 -0
  42. comfygit_core/models/civitai.py +432 -0
  43. comfygit_core/models/commit.py +18 -0
  44. comfygit_core/models/environment.py +293 -0
  45. comfygit_core/models/exceptions.py +378 -0
  46. comfygit_core/models/manifest.py +132 -0
  47. comfygit_core/models/node_mapping.py +201 -0
  48. comfygit_core/models/protocols.py +248 -0
  49. comfygit_core/models/registry.py +63 -0
  50. comfygit_core/models/shared.py +356 -0
  51. comfygit_core/models/sync.py +42 -0
  52. comfygit_core/models/system.py +204 -0
  53. comfygit_core/models/workflow.py +914 -0
  54. comfygit_core/models/workspace_config.py +71 -0
  55. comfygit_core/py.typed +0 -0
  56. comfygit_core/repositories/migrate_paths.py +49 -0
  57. comfygit_core/repositories/model_repository.py +958 -0
  58. comfygit_core/repositories/node_mappings_repository.py +246 -0
  59. comfygit_core/repositories/workflow_repository.py +57 -0
  60. comfygit_core/repositories/workspace_config_repository.py +121 -0
  61. comfygit_core/resolvers/global_node_resolver.py +459 -0
  62. comfygit_core/resolvers/model_resolver.py +250 -0
  63. comfygit_core/services/import_analyzer.py +218 -0
  64. comfygit_core/services/model_downloader.py +422 -0
  65. comfygit_core/services/node_lookup_service.py +251 -0
  66. comfygit_core/services/registry_data_manager.py +161 -0
  67. comfygit_core/strategies/__init__.py +4 -0
  68. comfygit_core/strategies/auto.py +72 -0
  69. comfygit_core/strategies/confirmation.py +69 -0
  70. comfygit_core/utils/comfyui_ops.py +125 -0
  71. comfygit_core/utils/common.py +164 -0
  72. comfygit_core/utils/conflict_parser.py +232 -0
  73. comfygit_core/utils/dependency_parser.py +231 -0
  74. comfygit_core/utils/download.py +216 -0
  75. comfygit_core/utils/environment_cleanup.py +111 -0
  76. comfygit_core/utils/filesystem.py +178 -0
  77. comfygit_core/utils/git.py +1184 -0
  78. comfygit_core/utils/input_signature.py +145 -0
  79. comfygit_core/utils/model_categories.py +52 -0
  80. comfygit_core/utils/pytorch.py +71 -0
  81. comfygit_core/utils/requirements.py +211 -0
  82. comfygit_core/utils/retry.py +242 -0
  83. comfygit_core/utils/symlink_utils.py +119 -0
  84. comfygit_core/utils/system_detector.py +258 -0
  85. comfygit_core/utils/uuid.py +28 -0
  86. comfygit_core/utils/uv_error_handler.py +158 -0
  87. comfygit_core/utils/version.py +73 -0
  88. comfygit_core/utils/workflow_hash.py +90 -0
  89. comfygit_core/validation/resolution_tester.py +297 -0
  90. comfygit_core-0.2.0.dist-info/METADATA +939 -0
  91. comfygit_core-0.2.0.dist-info/RECORD +93 -0
  92. comfygit_core-0.2.0.dist-info/WHEEL +4 -0
  93. comfygit_core-0.2.0.dist-info/licenses/LICENSE.txt +661 -0
@@ -0,0 +1,1614 @@
1
+ COMFYUI_BUILTIN_NODES = {
2
+ "metadata": {
3
+ "description": "Built-in ComfyUI node mappings",
4
+ "total_nodes": 481,
5
+ "categories": [
6
+ "core",
7
+ "extras",
8
+ "api",
9
+ "custom",
10
+ "frontend"
11
+ ]
12
+ },
13
+ "nodes_by_category": {
14
+ "core": {
15
+ "source": "nodes.py",
16
+ "nodes": [
17
+ "CLIPLoader",
18
+ "CLIPSetLastLayer",
19
+ "CLIPTextEncode",
20
+ "CLIPVisionEncode",
21
+ "CLIPVisionLoader",
22
+ "CheckpointLoader",
23
+ "CheckpointLoaderSimple",
24
+ "ConditioningAverage",
25
+ "ConditioningCombine",
26
+ "ConditioningConcat",
27
+ "ConditioningSetArea",
28
+ "ConditioningSetAreaPercentage",
29
+ "ConditioningSetAreaStrength",
30
+ "ConditioningSetMask",
31
+ "ConditioningSetTimestepRange",
32
+ "ConditioningZeroOut",
33
+ "ControlNetApply",
34
+ "ControlNetApplyAdvanced",
35
+ "ControlNetLoader",
36
+ "DiffControlNetLoader",
37
+ "DiffusersLoader",
38
+ "DualCLIPLoader",
39
+ "EmptyImage",
40
+ "EmptyLatentImage",
41
+ "GLIGENLoader",
42
+ "GLIGENTextBoxApply",
43
+ "ImageBatch",
44
+ "ImageInvert",
45
+ "ImagePadForOutpaint",
46
+ "ImageScale",
47
+ "ImageScaleBy",
48
+ "InpaintModelConditioning",
49
+ "KSampler",
50
+ "KSamplerAdvanced",
51
+ "LatentBlend",
52
+ "LatentComposite",
53
+ "LatentCrop",
54
+ "LatentFlip",
55
+ "LatentFromBatch",
56
+ "LatentRotate",
57
+ "LatentUpscale",
58
+ "LatentUpscaleBy",
59
+ "LoadImage",
60
+ "LoadImageMask",
61
+ "LoadImageOutput",
62
+ "LoadLatent",
63
+ "LoraLoader",
64
+ "LoraLoaderModelOnly",
65
+ "PreviewImage",
66
+ "RepeatLatentBatch",
67
+ "SaveImage",
68
+ "SaveLatent",
69
+ "SetLatentNoiseMask",
70
+ "StyleModelApply",
71
+ "StyleModelLoader",
72
+ "UNETLoader",
73
+ "VAEDecode",
74
+ "VAEDecodeTiled",
75
+ "VAEEncode",
76
+ "VAEEncodeForInpaint",
77
+ "VAEEncodeTiled",
78
+ "VAELoader",
79
+ "unCLIPCheckpointLoader",
80
+ "unCLIPConditioning"
81
+ ],
82
+ "count": 64
83
+ },
84
+ "extras": {
85
+ "source": "comfy_extras",
86
+ "nodes": [
87
+ "APG",
88
+ "AddNoise",
89
+ "AlignYourStepsScheduler",
90
+ "AudioEncoderEncode",
91
+ "AudioEncoderLoader",
92
+ "BasicGuider",
93
+ "BasicScheduler",
94
+ "BetaSamplingScheduler",
95
+ "CFGGuider",
96
+ "CFGNorm",
97
+ "CFGZeroStar",
98
+ "CLIPAttentionMultiply",
99
+ "CLIPMergeAdd",
100
+ "CLIPMergeSimple",
101
+ "CLIPMergeSubtract",
102
+ "CLIPSave",
103
+ "CLIPTextEncodeControlnet",
104
+ "CLIPTextEncodeFlux",
105
+ "CLIPTextEncodeHiDream",
106
+ "CLIPTextEncodeHunyuanDiT",
107
+ "CLIPTextEncodeLumina2",
108
+ "CLIPTextEncodePixArtAlpha",
109
+ "CLIPTextEncodeSD3",
110
+ "CLIPTextEncodeSDXL",
111
+ "CLIPTextEncodeSDXLRefiner",
112
+ "Canny",
113
+ "CaseConverter",
114
+ "CheckpointSave",
115
+ "CombineHooks2",
116
+ "CombineHooks4",
117
+ "CombineHooks8",
118
+ "ConditioningSetAreaPercentageVideo",
119
+ "ConditioningSetDefaultCombine",
120
+ "ConditioningSetProperties",
121
+ "ConditioningSetPropertiesAndCombine",
122
+ "ConditioningStableAudio",
123
+ "ConditioningTimestepsRange",
124
+ "ContextWindowsManual",
125
+ "ControlNetApplySD3",
126
+ "ControlNetInpaintingAliMamaApply",
127
+ "CosmosImageToVideoLatent",
128
+ "CosmosPredict2ImageToVideoLatent",
129
+ "CreateHookKeyframe",
130
+ "CreateHookKeyframesFromFloats",
131
+ "CreateHookKeyframesInterpolated",
132
+ "CreateHookLora",
133
+ "CreateHookLoraModelOnly",
134
+ "CreateHookModelAsLora",
135
+ "CreateHookModelAsLoraModelOnly",
136
+ "CreateVideo",
137
+ "CropMask",
138
+ "DifferentialDiffusion",
139
+ "DisableNoise",
140
+ "DualCFGGuider",
141
+ "EasyCache",
142
+ "EmptyAceStepLatentAudio",
143
+ "EmptyCosmosLatentVideo",
144
+ "EmptyHunyuanImageLatent",
145
+ "EmptyHunyuanLatentVideo",
146
+ "EmptyLTXVLatentVideo",
147
+ "EmptyLatentAudio",
148
+ "EmptyLatentHunyuan3Dv2",
149
+ "EmptyMochiLatentVideo",
150
+ "EmptySD3LatentImage",
151
+ "ExponentialScheduler",
152
+ "ExtendIntermediateSigmas",
153
+ "FeatherMask",
154
+ "FlipSigmas",
155
+ "FluxDisableGuidance",
156
+ "FluxGuidance",
157
+ "FluxKontextImageScale",
158
+ "FluxKontextMultiReferenceLatentMethod",
159
+ "FreSca",
160
+ "FreeU",
161
+ "FreeU_V2",
162
+ "GITSScheduler",
163
+ "GetImageSize",
164
+ "GetVideoComponents",
165
+ "GrowMask",
166
+ "Hunyuan3Dv2Conditioning",
167
+ "Hunyuan3Dv2ConditioningMultiView",
168
+ "HunyuanImageToVideo",
169
+ "HyperTile",
170
+ "HypernetworkLoader",
171
+ "ImageAddNoise",
172
+ "ImageBlend",
173
+ "ImageBlur",
174
+ "ImageColorToMask",
175
+ "ImageCompositeMasked",
176
+ "ImageCrop",
177
+ "ImageFlip",
178
+ "ImageFromBatch",
179
+ "ImageOnlyCheckpointLoader",
180
+ "ImageOnlyCheckpointSave",
181
+ "ImageQuantize",
182
+ "ImageRGBToYUV",
183
+ "ImageRotate",
184
+ "ImageScaleToMaxDimension",
185
+ "ImageScaleToTotalPixels",
186
+ "ImageSharpen",
187
+ "ImageStitch",
188
+ "ImageToMask",
189
+ "ImageUpscaleWithModel",
190
+ "ImageYUVToRGB",
191
+ "InstructPixToPixConditioning",
192
+ "InvertMask",
193
+ "JoinImageWithAlpha",
194
+ "KSamplerSelect",
195
+ "KarrasScheduler",
196
+ "LTXVAddGuide",
197
+ "LTXVConditioning",
198
+ "LTXVCropGuides",
199
+ "LTXVImgToVideo",
200
+ "LTXVPreprocess",
201
+ "LTXVScheduler",
202
+ "LaplaceScheduler",
203
+ "LatentAdd",
204
+ "LatentApplyOperation",
205
+ "LatentApplyOperationCFG",
206
+ "LatentBatch",
207
+ "LatentBatchSeedBehavior",
208
+ "LatentCompositeMasked",
209
+ "LatentConcat",
210
+ "LatentCut",
211
+ "LatentInterpolate",
212
+ "LatentMultiply",
213
+ "LatentOperationSharpen",
214
+ "LatentOperationTonemapReinhard",
215
+ "LatentSubtract",
216
+ "LazyCache",
217
+ "Load3D",
218
+ "Load3DAnimation",
219
+ "LoadAudio",
220
+ "LoadImageSetFromFolderNode",
221
+ "LoadImageTextSetFromFolderNode",
222
+ "LoadVideo",
223
+ "LoraModelLoader",
224
+ "LoraSave",
225
+ "LossGraphNode",
226
+ "LotusConditioning",
227
+ "Mahiro",
228
+ "MaskComposite",
229
+ "MaskPreview",
230
+ "MaskToImage",
231
+ "ModelComputeDtype",
232
+ "ModelMergeAdd",
233
+ "ModelMergeAuraflow",
234
+ "ModelMergeBlocks",
235
+ "ModelMergeCosmos14B",
236
+ "ModelMergeCosmos7B",
237
+ "ModelMergeCosmosPredict2_14B",
238
+ "ModelMergeCosmosPredict2_2B",
239
+ "ModelMergeFlux1",
240
+ "ModelMergeLTXV",
241
+ "ModelMergeMochiPreview",
242
+ "ModelMergeQwenImage",
243
+ "ModelMergeSD1",
244
+ "ModelMergeSD2",
245
+ "ModelMergeSD35_Large",
246
+ "ModelMergeSD3_2B",
247
+ "ModelMergeSDXL",
248
+ "ModelMergeSimple",
249
+ "ModelMergeSubtract",
250
+ "ModelMergeWAN2_1",
251
+ "ModelPatchLoader",
252
+ "ModelSamplingAuraFlow",
253
+ "ModelSamplingContinuousEDM",
254
+ "ModelSamplingContinuousV",
255
+ "ModelSamplingDiscrete",
256
+ "ModelSamplingFlux",
257
+ "ModelSamplingLTXV",
258
+ "ModelSamplingSD3",
259
+ "ModelSamplingStableCascade",
260
+ "ModelSave",
261
+ "Morphology",
262
+ "OptimalStepsScheduler",
263
+ "PairConditioningCombine",
264
+ "PairConditioningSetDefaultCombine",
265
+ "PairConditioningSetProperties",
266
+ "PairConditioningSetPropertiesAndCombine",
267
+ "PatchModelAddDownscale",
268
+ "PerpNeg",
269
+ "PerpNegGuider",
270
+ "PerturbedAttentionGuidance",
271
+ "PhotoMakerEncode",
272
+ "PhotoMakerLoader",
273
+ "PolyexponentialScheduler",
274
+ "PorterDuffImageComposite",
275
+ "Preview3D",
276
+ "Preview3DAnimation",
277
+ "PreviewAny",
278
+ "PreviewAudio",
279
+ "PrimitiveBoolean",
280
+ "PrimitiveFloat",
281
+ "PrimitiveInt",
282
+ "PrimitiveString",
283
+ "PrimitiveStringMultiline",
284
+ "QuadrupleCLIPLoader",
285
+ "QwenImageDiffsynthControlnet",
286
+ "RandomNoise",
287
+ "RebatchImages",
288
+ "RebatchLatents",
289
+ "RecordAudio",
290
+ "ReferenceLatent",
291
+ "RegexExtract",
292
+ "RegexMatch",
293
+ "RegexReplace",
294
+ "RenormCFG",
295
+ "RepeatImageBatch",
296
+ "RescaleCFG",
297
+ "ResizeAndPadImage",
298
+ "SDTurboScheduler",
299
+ "SD_4XUpscale_Conditioning",
300
+ "SV3D_Conditioning",
301
+ "SVD_img2vid_Conditioning",
302
+ "SamplerCustom",
303
+ "SamplerCustomAdvanced",
304
+ "SamplerDPMAdaptative",
305
+ "SamplerDPMPP_2M_SDE",
306
+ "SamplerDPMPP_2S_Ancestral",
307
+ "SamplerDPMPP_3M_SDE",
308
+ "SamplerDPMPP_SDE",
309
+ "SamplerER_SDE",
310
+ "SamplerEulerAncestral",
311
+ "SamplerEulerAncestralCFGPP",
312
+ "SamplerEulerCFGpp",
313
+ "SamplerLCMUpscale",
314
+ "SamplerLMS",
315
+ "SamplerSASolver",
316
+ "SamplingPercentToSigma",
317
+ "SaveAnimatedPNG",
318
+ "SaveAnimatedWEBP",
319
+ "SaveAudio",
320
+ "SaveAudioMP3",
321
+ "SaveAudioOpus",
322
+ "SaveGLB",
323
+ "SaveLoRANode",
324
+ "SaveSVGNode",
325
+ "SaveVideo",
326
+ "SaveWEBM",
327
+ "SelfAttentionGuidance",
328
+ "SetClipHooks",
329
+ "SetFirstSigma",
330
+ "SetHookKeyframes",
331
+ "SetUnionControlNetType",
332
+ "SkipLayerGuidanceDiT",
333
+ "SkipLayerGuidanceDiTSimple",
334
+ "SkipLayerGuidanceSD3",
335
+ "SolidMask",
336
+ "SplitImageWithAlpha",
337
+ "SplitSigmas",
338
+ "SplitSigmasDenoise",
339
+ "StableCascade_EmptyLatentImage",
340
+ "StableCascade_StageB_Conditioning",
341
+ "StableCascade_StageC_VAEEncode",
342
+ "StableCascade_SuperResolutionControlnet",
343
+ "StableZero123_Conditioning",
344
+ "StableZero123_Conditioning_Batched",
345
+ "StringCompare",
346
+ "StringConcatenate",
347
+ "StringContains",
348
+ "StringLength",
349
+ "StringReplace",
350
+ "StringSubstring",
351
+ "StringTrim",
352
+ "T5TokenizerOptions",
353
+ "TCFG",
354
+ "TextEncodeAceStepAudio",
355
+ "TextEncodeHunyuanVideo_ImageToVideo",
356
+ "TextEncodeQwenImageEdit",
357
+ "ThresholdMask",
358
+ "TomePatchModel",
359
+ "TorchCompileModel",
360
+ "TrainLoraNode",
361
+ "TrimVideoLatent",
362
+ "TripleCLIPLoader",
363
+ "UNetCrossAttentionMultiply",
364
+ "UNetSelfAttentionMultiply",
365
+ "UNetTemporalAttentionMultiply",
366
+ "USOStyleReference",
367
+ "UpscaleModelLoader",
368
+ "VAEDecodeAudio",
369
+ "VAEDecodeHunyuan3D",
370
+ "VAEEncodeAudio",
371
+ "VAESave",
372
+ "VPScheduler",
373
+ "VideoLinearCFGGuidance",
374
+ "VideoTriangleCFGGuidance",
375
+ "VoxelToMesh",
376
+ "VoxelToMeshBasic",
377
+ "Wan22FunControlToVideo",
378
+ "Wan22ImageToVideoLatent",
379
+ "WanCameraEmbedding",
380
+ "WanCameraImageToVideo",
381
+ "WanContextWindowsManual",
382
+ "WanFirstLastFrameToVideo",
383
+ "WanFunControlToVideo",
384
+ "WanFunInpaintToVideo",
385
+ "WanImageToVideo",
386
+ "WanPhantomSubjectToVideo",
387
+ "WanSoundImageToVideo",
388
+ "WanSoundImageToVideoExtend",
389
+ "WanTrackToVideo",
390
+ "WanVaceToVideo",
391
+ "WebcamCapture"
392
+ ],
393
+ "count": 305,
394
+ "by_file": {
395
+ "nodes_ace.py": [
396
+ "EmptyAceStepLatentAudio",
397
+ "TextEncodeAceStepAudio"
398
+ ],
399
+ "nodes_advanced_samplers.py": [
400
+ "SamplerEulerCFGpp",
401
+ "SamplerLCMUpscale"
402
+ ],
403
+ "nodes_align_your_steps.py": [
404
+ "AlignYourStepsScheduler"
405
+ ],
406
+ "nodes_apg.py": [
407
+ "APG"
408
+ ],
409
+ "nodes_attention_multiply.py": [
410
+ "CLIPAttentionMultiply",
411
+ "UNetCrossAttentionMultiply",
412
+ "UNetSelfAttentionMultiply",
413
+ "UNetTemporalAttentionMultiply"
414
+ ],
415
+ "nodes_audio.py": [
416
+ "ConditioningStableAudio",
417
+ "EmptyLatentAudio",
418
+ "LoadAudio",
419
+ "PreviewAudio",
420
+ "RecordAudio",
421
+ "SaveAudio",
422
+ "SaveAudioMP3",
423
+ "SaveAudioOpus",
424
+ "VAEDecodeAudio",
425
+ "VAEEncodeAudio"
426
+ ],
427
+ "nodes_audio_encoder.py": [
428
+ "AudioEncoderEncode",
429
+ "AudioEncoderLoader"
430
+ ],
431
+ "nodes_camera_trajectory.py": [
432
+ "WanCameraEmbedding"
433
+ ],
434
+ "nodes_canny.py": [
435
+ "Canny"
436
+ ],
437
+ "nodes_cfg.py": [
438
+ "CFGNorm",
439
+ "CFGZeroStar"
440
+ ],
441
+ "nodes_clip_sdxl.py": [
442
+ "CLIPTextEncodeSDXL",
443
+ "CLIPTextEncodeSDXLRefiner"
444
+ ],
445
+ "nodes_compositing.py": [
446
+ "JoinImageWithAlpha",
447
+ "PorterDuffImageComposite",
448
+ "SplitImageWithAlpha"
449
+ ],
450
+ "nodes_cond.py": [
451
+ "CLIPTextEncodeControlnet",
452
+ "T5TokenizerOptions"
453
+ ],
454
+ "nodes_context_windows.py": [
455
+ "ContextWindowsManual",
456
+ "WanContextWindowsManual"
457
+ ],
458
+ "nodes_controlnet.py": [
459
+ "ControlNetInpaintingAliMamaApply",
460
+ "SetUnionControlNetType"
461
+ ],
462
+ "nodes_cosmos.py": [
463
+ "CosmosImageToVideoLatent",
464
+ "CosmosPredict2ImageToVideoLatent",
465
+ "EmptyCosmosLatentVideo"
466
+ ],
467
+ "nodes_custom_sampler.py": [
468
+ "AddNoise",
469
+ "BasicGuider",
470
+ "BasicScheduler",
471
+ "BetaSamplingScheduler",
472
+ "CFGGuider",
473
+ "DisableNoise",
474
+ "DualCFGGuider",
475
+ "ExponentialScheduler",
476
+ "ExtendIntermediateSigmas",
477
+ "FlipSigmas",
478
+ "KSamplerSelect",
479
+ "KarrasScheduler",
480
+ "LaplaceScheduler",
481
+ "PolyexponentialScheduler",
482
+ "RandomNoise",
483
+ "SDTurboScheduler",
484
+ "SamplerCustom",
485
+ "SamplerCustomAdvanced",
486
+ "SamplerDPMAdaptative",
487
+ "SamplerDPMPP_2M_SDE",
488
+ "SamplerDPMPP_2S_Ancestral",
489
+ "SamplerDPMPP_3M_SDE",
490
+ "SamplerDPMPP_SDE",
491
+ "SamplerER_SDE",
492
+ "SamplerEulerAncestral",
493
+ "SamplerEulerAncestralCFGPP",
494
+ "SamplerLMS",
495
+ "SamplerSASolver",
496
+ "SamplingPercentToSigma",
497
+ "SetFirstSigma",
498
+ "SplitSigmas",
499
+ "SplitSigmasDenoise",
500
+ "VPScheduler"
501
+ ],
502
+ "nodes_differential_diffusion.py": [
503
+ "DifferentialDiffusion"
504
+ ],
505
+ "nodes_easycache.py": [
506
+ "EasyCache",
507
+ "LazyCache"
508
+ ],
509
+ "nodes_edit_model.py": [
510
+ "ReferenceLatent"
511
+ ],
512
+ "nodes_flux.py": [
513
+ "CLIPTextEncodeFlux",
514
+ "FluxDisableGuidance",
515
+ "FluxGuidance",
516
+ "FluxKontextImageScale",
517
+ "FluxKontextMultiReferenceLatentMethod"
518
+ ],
519
+ "nodes_freelunch.py": [
520
+ "FreeU",
521
+ "FreeU_V2"
522
+ ],
523
+ "nodes_fresca.py": [
524
+ "FreSca"
525
+ ],
526
+ "nodes_gits.py": [
527
+ "GITSScheduler"
528
+ ],
529
+ "nodes_hidream.py": [
530
+ "CLIPTextEncodeHiDream",
531
+ "QuadrupleCLIPLoader"
532
+ ],
533
+ "nodes_hooks.py": [
534
+ "CombineHooks2",
535
+ "CombineHooks4",
536
+ "CombineHooks8",
537
+ "ConditioningSetDefaultCombine",
538
+ "ConditioningSetProperties",
539
+ "ConditioningSetPropertiesAndCombine",
540
+ "ConditioningTimestepsRange",
541
+ "CreateHookKeyframe",
542
+ "CreateHookKeyframesFromFloats",
543
+ "CreateHookKeyframesInterpolated",
544
+ "CreateHookLora",
545
+ "CreateHookLoraModelOnly",
546
+ "CreateHookModelAsLora",
547
+ "CreateHookModelAsLoraModelOnly",
548
+ "PairConditioningCombine",
549
+ "PairConditioningSetDefaultCombine",
550
+ "PairConditioningSetProperties",
551
+ "PairConditioningSetPropertiesAndCombine",
552
+ "SetClipHooks",
553
+ "SetHookKeyframes"
554
+ ],
555
+ "nodes_hunyuan.py": [
556
+ "CLIPTextEncodeHunyuanDiT",
557
+ "EmptyHunyuanImageLatent",
558
+ "EmptyHunyuanLatentVideo",
559
+ "HunyuanImageToVideo",
560
+ "TextEncodeHunyuanVideo_ImageToVideo"
561
+ ],
562
+ "nodes_hunyuan3d.py": [
563
+ "EmptyLatentHunyuan3Dv2",
564
+ "Hunyuan3Dv2Conditioning",
565
+ "Hunyuan3Dv2ConditioningMultiView",
566
+ "SaveGLB",
567
+ "VAEDecodeHunyuan3D",
568
+ "VoxelToMesh",
569
+ "VoxelToMeshBasic"
570
+ ],
571
+ "nodes_hypernetwork.py": [
572
+ "HypernetworkLoader"
573
+ ],
574
+ "nodes_hypertile.py": [
575
+ "HyperTile"
576
+ ],
577
+ "nodes_images.py": [
578
+ "GetImageSize",
579
+ "ImageAddNoise",
580
+ "ImageCrop",
581
+ "ImageFlip",
582
+ "ImageFromBatch",
583
+ "ImageRotate",
584
+ "ImageScaleToMaxDimension",
585
+ "ImageStitch",
586
+ "RepeatImageBatch",
587
+ "ResizeAndPadImage",
588
+ "SaveAnimatedPNG",
589
+ "SaveAnimatedWEBP",
590
+ "SaveSVGNode"
591
+ ],
592
+ "nodes_ip2p.py": [
593
+ "InstructPixToPixConditioning"
594
+ ],
595
+ "nodes_latent.py": [
596
+ "LatentAdd",
597
+ "LatentApplyOperation",
598
+ "LatentApplyOperationCFG",
599
+ "LatentBatch",
600
+ "LatentBatchSeedBehavior",
601
+ "LatentConcat",
602
+ "LatentCut",
603
+ "LatentInterpolate",
604
+ "LatentMultiply",
605
+ "LatentOperationSharpen",
606
+ "LatentOperationTonemapReinhard",
607
+ "LatentSubtract"
608
+ ],
609
+ "nodes_load_3d.py": [
610
+ "Load3D",
611
+ "Load3DAnimation",
612
+ "Preview3D",
613
+ "Preview3DAnimation"
614
+ ],
615
+ "nodes_lora_extract.py": [
616
+ "LoraSave"
617
+ ],
618
+ "nodes_lotus.py": [
619
+ "LotusConditioning"
620
+ ],
621
+ "nodes_lt.py": [
622
+ "EmptyLTXVLatentVideo",
623
+ "LTXVAddGuide",
624
+ "LTXVConditioning",
625
+ "LTXVCropGuides",
626
+ "LTXVImgToVideo",
627
+ "LTXVPreprocess",
628
+ "LTXVScheduler",
629
+ "ModelSamplingLTXV"
630
+ ],
631
+ "nodes_lumina2.py": [
632
+ "CLIPTextEncodeLumina2",
633
+ "RenormCFG"
634
+ ],
635
+ "nodes_mahiro.py": [
636
+ "Mahiro"
637
+ ],
638
+ "nodes_mask.py": [
639
+ "CropMask",
640
+ "FeatherMask",
641
+ "GrowMask",
642
+ "ImageColorToMask",
643
+ "ImageCompositeMasked",
644
+ "ImageToMask",
645
+ "InvertMask",
646
+ "LatentCompositeMasked",
647
+ "MaskComposite",
648
+ "MaskPreview",
649
+ "MaskToImage",
650
+ "SolidMask",
651
+ "ThresholdMask"
652
+ ],
653
+ "nodes_mochi.py": [
654
+ "EmptyMochiLatentVideo"
655
+ ],
656
+ "nodes_model_advanced.py": [
657
+ "ModelComputeDtype",
658
+ "ModelSamplingAuraFlow",
659
+ "ModelSamplingContinuousEDM",
660
+ "ModelSamplingContinuousV",
661
+ "ModelSamplingDiscrete",
662
+ "ModelSamplingFlux",
663
+ "ModelSamplingSD3",
664
+ "ModelSamplingStableCascade",
665
+ "RescaleCFG"
666
+ ],
667
+ "nodes_model_downscale.py": [
668
+ "PatchModelAddDownscale"
669
+ ],
670
+ "nodes_model_merging.py": [
671
+ "CLIPMergeAdd",
672
+ "CLIPMergeSimple",
673
+ "CLIPMergeSubtract",
674
+ "CLIPSave",
675
+ "CheckpointSave",
676
+ "ModelMergeAdd",
677
+ "ModelMergeBlocks",
678
+ "ModelMergeSimple",
679
+ "ModelMergeSubtract",
680
+ "ModelSave",
681
+ "VAESave"
682
+ ],
683
+ "nodes_model_merging_model_specific.py": [
684
+ "ModelMergeAuraflow",
685
+ "ModelMergeCosmos14B",
686
+ "ModelMergeCosmos7B",
687
+ "ModelMergeCosmosPredict2_14B",
688
+ "ModelMergeCosmosPredict2_2B",
689
+ "ModelMergeFlux1",
690
+ "ModelMergeLTXV",
691
+ "ModelMergeMochiPreview",
692
+ "ModelMergeQwenImage",
693
+ "ModelMergeSD1",
694
+ "ModelMergeSD2",
695
+ "ModelMergeSD35_Large",
696
+ "ModelMergeSD3_2B",
697
+ "ModelMergeSDXL",
698
+ "ModelMergeWAN2_1"
699
+ ],
700
+ "nodes_model_patch.py": [
701
+ "ModelPatchLoader",
702
+ "QwenImageDiffsynthControlnet",
703
+ "USOStyleReference"
704
+ ],
705
+ "nodes_morphology.py": [
706
+ "ImageRGBToYUV",
707
+ "ImageYUVToRGB",
708
+ "Morphology"
709
+ ],
710
+ "nodes_optimalsteps.py": [
711
+ "OptimalStepsScheduler"
712
+ ],
713
+ "nodes_pag.py": [
714
+ "PerturbedAttentionGuidance"
715
+ ],
716
+ "nodes_perpneg.py": [
717
+ "PerpNeg",
718
+ "PerpNegGuider"
719
+ ],
720
+ "nodes_photomaker.py": [
721
+ "PhotoMakerEncode",
722
+ "PhotoMakerLoader"
723
+ ],
724
+ "nodes_pixart.py": [
725
+ "CLIPTextEncodePixArtAlpha"
726
+ ],
727
+ "nodes_post_processing.py": [
728
+ "ImageBlend",
729
+ "ImageBlur",
730
+ "ImageQuantize",
731
+ "ImageScaleToTotalPixels",
732
+ "ImageSharpen"
733
+ ],
734
+ "nodes_preview_any.py": [
735
+ "PreviewAny"
736
+ ],
737
+ "nodes_primitive.py": [
738
+ "PrimitiveBoolean",
739
+ "PrimitiveFloat",
740
+ "PrimitiveInt",
741
+ "PrimitiveString",
742
+ "PrimitiveStringMultiline"
743
+ ],
744
+ "nodes_qwen.py": [
745
+ "TextEncodeQwenImageEdit"
746
+ ],
747
+ "nodes_rebatch.py": [
748
+ "RebatchImages",
749
+ "RebatchLatents"
750
+ ],
751
+ "nodes_sag.py": [
752
+ "SelfAttentionGuidance"
753
+ ],
754
+ "nodes_sd3.py": [
755
+ "CLIPTextEncodeSD3",
756
+ "ControlNetApplySD3",
757
+ "EmptySD3LatentImage",
758
+ "SkipLayerGuidanceSD3",
759
+ "TripleCLIPLoader"
760
+ ],
761
+ "nodes_sdupscale.py": [
762
+ "SD_4XUpscale_Conditioning"
763
+ ],
764
+ "nodes_slg.py": [
765
+ "SkipLayerGuidanceDiT",
766
+ "SkipLayerGuidanceDiTSimple"
767
+ ],
768
+ "nodes_stable3d.py": [
769
+ "SV3D_Conditioning",
770
+ "StableZero123_Conditioning",
771
+ "StableZero123_Conditioning_Batched"
772
+ ],
773
+ "nodes_stable_cascade.py": [
774
+ "StableCascade_EmptyLatentImage",
775
+ "StableCascade_StageB_Conditioning",
776
+ "StableCascade_StageC_VAEEncode",
777
+ "StableCascade_SuperResolutionControlnet"
778
+ ],
779
+ "nodes_string.py": [
780
+ "CaseConverter",
781
+ "RegexExtract",
782
+ "RegexMatch",
783
+ "RegexReplace",
784
+ "StringCompare",
785
+ "StringConcatenate",
786
+ "StringContains",
787
+ "StringLength",
788
+ "StringReplace",
789
+ "StringSubstring",
790
+ "StringTrim"
791
+ ],
792
+ "nodes_tcfg.py": [
793
+ "TCFG"
794
+ ],
795
+ "nodes_tomesd.py": [
796
+ "TomePatchModel"
797
+ ],
798
+ "nodes_torch_compile.py": [
799
+ "TorchCompileModel"
800
+ ],
801
+ "nodes_train.py": [
802
+ "LoadImageSetFromFolderNode",
803
+ "LoadImageTextSetFromFolderNode",
804
+ "LoraModelLoader",
805
+ "LossGraphNode",
806
+ "SaveLoRANode",
807
+ "TrainLoraNode"
808
+ ],
809
+ "nodes_upscale_model.py": [
810
+ "ImageUpscaleWithModel",
811
+ "UpscaleModelLoader"
812
+ ],
813
+ "nodes_video.py": [
814
+ "CreateVideo",
815
+ "GetVideoComponents",
816
+ "LoadVideo",
817
+ "SaveVideo",
818
+ "SaveWEBM"
819
+ ],
820
+ "nodes_video_model.py": [
821
+ "ConditioningSetAreaPercentageVideo",
822
+ "ImageOnlyCheckpointLoader",
823
+ "ImageOnlyCheckpointSave",
824
+ "SVD_img2vid_Conditioning",
825
+ "VideoLinearCFGGuidance",
826
+ "VideoTriangleCFGGuidance"
827
+ ],
828
+ "nodes_wan.py": [
829
+ "TrimVideoLatent",
830
+ "Wan22FunControlToVideo",
831
+ "Wan22ImageToVideoLatent",
832
+ "WanCameraImageToVideo",
833
+ "WanFirstLastFrameToVideo",
834
+ "WanFunControlToVideo",
835
+ "WanFunInpaintToVideo",
836
+ "WanImageToVideo",
837
+ "WanPhantomSubjectToVideo",
838
+ "WanSoundImageToVideo",
839
+ "WanSoundImageToVideoExtend",
840
+ "WanTrackToVideo",
841
+ "WanVaceToVideo"
842
+ ],
843
+ "nodes_webcam.py": [
844
+ "WebcamCapture"
845
+ ]
846
+ }
847
+ },
848
+ "api": {
849
+ "source": "comfy_api_nodes",
850
+ "nodes": [
851
+ "ByteDanceFirstLastFrameNode",
852
+ "ByteDanceImageEditNode",
853
+ "ByteDanceImageNode",
854
+ "ByteDanceImageReferenceNode",
855
+ "ByteDanceImageToVideoNode",
856
+ "ByteDanceSeedreamNode",
857
+ "ByteDanceTextToVideoNode",
858
+ "FluxKontextMaxImageNode",
859
+ "FluxKontextProImageNode",
860
+ "FluxProCannyNode",
861
+ "FluxProDepthNode",
862
+ "FluxProExpandNode",
863
+ "FluxProFillNode",
864
+ "FluxProUltraImageNode",
865
+ "GeminiImageNode",
866
+ "GeminiInputFiles",
867
+ "GeminiNode",
868
+ "IdeogramV1",
869
+ "IdeogramV2",
870
+ "IdeogramV3",
871
+ "KlingCameraControlI2VNode",
872
+ "KlingCameraControlT2VNode",
873
+ "KlingCameraControls",
874
+ "KlingDualCharacterVideoEffectNode",
875
+ "KlingImage2VideoNode",
876
+ "KlingImageGenerationNode",
877
+ "KlingLipSyncAudioToVideoNode",
878
+ "KlingLipSyncTextToVideoNode",
879
+ "KlingSingleImageVideoEffectNode",
880
+ "KlingStartEndFrameNode",
881
+ "KlingTextToVideoNode",
882
+ "KlingVideoExtendNode",
883
+ "KlingVirtualTryOnNode",
884
+ "LumaConceptsNode",
885
+ "LumaImageModifyNode",
886
+ "LumaImageNode",
887
+ "LumaImageToVideoNode",
888
+ "LumaReferenceNode",
889
+ "LumaVideoNode",
890
+ "MinimaxHailuoVideoNode",
891
+ "MinimaxImageToVideoNode",
892
+ "MinimaxTextToVideoNode",
893
+ "MoonvalleyImg2VideoNode",
894
+ "MoonvalleyTxt2VideoNode",
895
+ "MoonvalleyVideo2VideoNode",
896
+ "OpenAIChatConfig",
897
+ "OpenAIChatNode",
898
+ "OpenAIDalle2",
899
+ "OpenAIDalle3",
900
+ "OpenAIGPTImage1",
901
+ "OpenAIInputFiles",
902
+ "PikaImageToVideoNode2_2",
903
+ "PikaScenesV2_2",
904
+ "PikaStartEndFrameNode2_2",
905
+ "PikaTextToVideoNode2_2",
906
+ "Pikadditions",
907
+ "Pikaffects",
908
+ "Pikaswaps",
909
+ "PixverseImageToVideoNode",
910
+ "PixverseTemplateNode",
911
+ "PixverseTextToVideoNode",
912
+ "PixverseTransitionVideoNode",
913
+ "RecraftColorRGB",
914
+ "RecraftControls",
915
+ "RecraftCreativeUpscaleNode",
916
+ "RecraftCrispUpscaleNode",
917
+ "RecraftImageInpaintingNode",
918
+ "RecraftImageToImageNode",
919
+ "RecraftRemoveBackgroundNode",
920
+ "RecraftReplaceBackgroundNode",
921
+ "RecraftStyleV3DigitalIllustration",
922
+ "RecraftStyleV3InfiniteStyleLibrary",
923
+ "RecraftStyleV3LogoRaster",
924
+ "RecraftStyleV3RealisticImage",
925
+ "RecraftTextToImageNode",
926
+ "RecraftTextToVectorNode",
927
+ "RecraftVectorizeImageNode",
928
+ "Rodin3D_Detail",
929
+ "Rodin3D_Regular",
930
+ "Rodin3D_Sketch",
931
+ "Rodin3D_Smooth",
932
+ "RunwayFirstLastFrameNode",
933
+ "RunwayImageToVideoNodeGen3a",
934
+ "RunwayImageToVideoNodeGen4",
935
+ "RunwayTextToImageNode",
936
+ "StabilityAudioInpaint",
937
+ "StabilityAudioToAudio",
938
+ "StabilityStableImageSD_3_5Node",
939
+ "StabilityStableImageUltraNode",
940
+ "StabilityTextToAudio",
941
+ "StabilityUpscaleConservativeNode",
942
+ "StabilityUpscaleCreativeNode",
943
+ "StabilityUpscaleFastNode",
944
+ "TripoConversionNode",
945
+ "TripoImageToModelNode",
946
+ "TripoMultiviewToModelNode",
947
+ "TripoRefineNode",
948
+ "TripoRetargetNode",
949
+ "TripoRigNode",
950
+ "TripoTextToModelNode",
951
+ "TripoTextureNode",
952
+ "Veo3VideoGenerationNode",
953
+ "VeoVideoGenerationNode",
954
+ "ViduImageToVideoNode",
955
+ "ViduReferenceVideoNode",
956
+ "ViduStartEndToVideoNode",
957
+ "ViduTextToVideoNode"
958
+ ],
959
+ "count": 107,
960
+ "by_file": {
961
+ "nodes_bfl.py": [
962
+ "FluxKontextMaxImageNode",
963
+ "FluxKontextProImageNode",
964
+ "FluxProCannyNode",
965
+ "FluxProDepthNode",
966
+ "FluxProExpandNode",
967
+ "FluxProFillNode",
968
+ "FluxProUltraImageNode"
969
+ ],
970
+ "nodes_bytedance.py": [
971
+ "ByteDanceFirstLastFrameNode",
972
+ "ByteDanceImageEditNode",
973
+ "ByteDanceImageNode",
974
+ "ByteDanceImageReferenceNode",
975
+ "ByteDanceImageToVideoNode",
976
+ "ByteDanceSeedreamNode",
977
+ "ByteDanceTextToVideoNode"
978
+ ],
979
+ "nodes_gemini.py": [
980
+ "GeminiImageNode",
981
+ "GeminiInputFiles",
982
+ "GeminiNode"
983
+ ],
984
+ "nodes_ideogram.py": [
985
+ "IdeogramV1",
986
+ "IdeogramV2",
987
+ "IdeogramV3"
988
+ ],
989
+ "nodes_kling.py": [
990
+ "KlingCameraControlI2VNode",
991
+ "KlingCameraControlT2VNode",
992
+ "KlingCameraControls",
993
+ "KlingDualCharacterVideoEffectNode",
994
+ "KlingImage2VideoNode",
995
+ "KlingImageGenerationNode",
996
+ "KlingLipSyncAudioToVideoNode",
997
+ "KlingLipSyncTextToVideoNode",
998
+ "KlingSingleImageVideoEffectNode",
999
+ "KlingStartEndFrameNode",
1000
+ "KlingTextToVideoNode",
1001
+ "KlingVideoExtendNode",
1002
+ "KlingVirtualTryOnNode"
1003
+ ],
1004
+ "nodes_luma.py": [
1005
+ "LumaConceptsNode",
1006
+ "LumaImageModifyNode",
1007
+ "LumaImageNode",
1008
+ "LumaImageToVideoNode",
1009
+ "LumaReferenceNode",
1010
+ "LumaVideoNode"
1011
+ ],
1012
+ "nodes_minimax.py": [
1013
+ "MinimaxHailuoVideoNode",
1014
+ "MinimaxImageToVideoNode",
1015
+ "MinimaxTextToVideoNode"
1016
+ ],
1017
+ "nodes_moonvalley.py": [
1018
+ "MoonvalleyImg2VideoNode",
1019
+ "MoonvalleyTxt2VideoNode",
1020
+ "MoonvalleyVideo2VideoNode"
1021
+ ],
1022
+ "nodes_openai.py": [
1023
+ "OpenAIChatConfig",
1024
+ "OpenAIChatNode",
1025
+ "OpenAIDalle2",
1026
+ "OpenAIDalle3",
1027
+ "OpenAIGPTImage1",
1028
+ "OpenAIInputFiles"
1029
+ ],
1030
+ "nodes_pika.py": [
1031
+ "PikaImageToVideoNode2_2",
1032
+ "PikaScenesV2_2",
1033
+ "PikaStartEndFrameNode2_2",
1034
+ "PikaTextToVideoNode2_2",
1035
+ "Pikadditions",
1036
+ "Pikaffects",
1037
+ "Pikaswaps"
1038
+ ],
1039
+ "nodes_pixverse.py": [
1040
+ "PixverseImageToVideoNode",
1041
+ "PixverseTemplateNode",
1042
+ "PixverseTextToVideoNode",
1043
+ "PixverseTransitionVideoNode"
1044
+ ],
1045
+ "nodes_recraft.py": [
1046
+ "RecraftColorRGB",
1047
+ "RecraftControls",
1048
+ "RecraftCreativeUpscaleNode",
1049
+ "RecraftCrispUpscaleNode",
1050
+ "RecraftImageInpaintingNode",
1051
+ "RecraftImageToImageNode",
1052
+ "RecraftRemoveBackgroundNode",
1053
+ "RecraftReplaceBackgroundNode",
1054
+ "RecraftStyleV3DigitalIllustration",
1055
+ "RecraftStyleV3InfiniteStyleLibrary",
1056
+ "RecraftStyleV3LogoRaster",
1057
+ "RecraftStyleV3RealisticImage",
1058
+ "RecraftTextToImageNode",
1059
+ "RecraftTextToVectorNode",
1060
+ "RecraftVectorizeImageNode"
1061
+ ],
1062
+ "nodes_rodin.py": [
1063
+ "Rodin3D_Detail",
1064
+ "Rodin3D_Regular",
1065
+ "Rodin3D_Sketch",
1066
+ "Rodin3D_Smooth"
1067
+ ],
1068
+ "nodes_runway.py": [
1069
+ "RunwayFirstLastFrameNode",
1070
+ "RunwayImageToVideoNodeGen3a",
1071
+ "RunwayImageToVideoNodeGen4",
1072
+ "RunwayTextToImageNode"
1073
+ ],
1074
+ "nodes_stability.py": [
1075
+ "StabilityAudioInpaint",
1076
+ "StabilityAudioToAudio",
1077
+ "StabilityStableImageSD_3_5Node",
1078
+ "StabilityStableImageUltraNode",
1079
+ "StabilityTextToAudio",
1080
+ "StabilityUpscaleConservativeNode",
1081
+ "StabilityUpscaleCreativeNode",
1082
+ "StabilityUpscaleFastNode"
1083
+ ],
1084
+ "nodes_tripo.py": [
1085
+ "TripoConversionNode",
1086
+ "TripoImageToModelNode",
1087
+ "TripoMultiviewToModelNode",
1088
+ "TripoRefineNode",
1089
+ "TripoRetargetNode",
1090
+ "TripoRigNode",
1091
+ "TripoTextToModelNode",
1092
+ "TripoTextureNode"
1093
+ ],
1094
+ "nodes_veo2.py": [
1095
+ "Veo3VideoGenerationNode",
1096
+ "VeoVideoGenerationNode"
1097
+ ],
1098
+ "nodes_vidu.py": [
1099
+ "ViduImageToVideoNode",
1100
+ "ViduReferenceVideoNode",
1101
+ "ViduStartEndToVideoNode",
1102
+ "ViduTextToVideoNode"
1103
+ ]
1104
+ }
1105
+ },
1106
+ "custom": {
1107
+ "source": "custom_nodes",
1108
+ "nodes": [
1109
+ "SaveImageWebsocket"
1110
+ ],
1111
+ "count": 1,
1112
+ "by_file": {
1113
+ "websocket_image_save.py": [
1114
+ "SaveImageWebsocket"
1115
+ ]
1116
+ }
1117
+ },
1118
+ "frontend": {
1119
+ "source": "known_frontend_and_custom",
1120
+ "nodes": [
1121
+ "MarkdownNote",
1122
+ "Note",
1123
+ "PrimitiveNode",
1124
+ "Reroute",
1125
+ "SaveImageWebsocket"
1126
+ ],
1127
+ "count": 5,
1128
+ "description": "Frontend-only UI nodes and native custom nodes that exist in ComfyUI but are not backend-defined"
1129
+ }
1130
+ },
1131
+ "all_builtin_nodes": [
1132
+ "APG",
1133
+ "AddNoise",
1134
+ "AlignYourStepsScheduler",
1135
+ "AudioEncoderEncode",
1136
+ "AudioEncoderLoader",
1137
+ "BasicGuider",
1138
+ "BasicScheduler",
1139
+ "BetaSamplingScheduler",
1140
+ "ByteDanceFirstLastFrameNode",
1141
+ "ByteDanceImageEditNode",
1142
+ "ByteDanceImageNode",
1143
+ "ByteDanceImageReferenceNode",
1144
+ "ByteDanceImageToVideoNode",
1145
+ "ByteDanceSeedreamNode",
1146
+ "ByteDanceTextToVideoNode",
1147
+ "CFGGuider",
1148
+ "CFGNorm",
1149
+ "CFGZeroStar",
1150
+ "CLIPAttentionMultiply",
1151
+ "CLIPLoader",
1152
+ "CLIPMergeAdd",
1153
+ "CLIPMergeSimple",
1154
+ "CLIPMergeSubtract",
1155
+ "CLIPSave",
1156
+ "CLIPSetLastLayer",
1157
+ "CLIPTextEncode",
1158
+ "CLIPTextEncodeControlnet",
1159
+ "CLIPTextEncodeFlux",
1160
+ "CLIPTextEncodeHiDream",
1161
+ "CLIPTextEncodeHunyuanDiT",
1162
+ "CLIPTextEncodeLumina2",
1163
+ "CLIPTextEncodePixArtAlpha",
1164
+ "CLIPTextEncodeSD3",
1165
+ "CLIPTextEncodeSDXL",
1166
+ "CLIPTextEncodeSDXLRefiner",
1167
+ "CLIPVisionEncode",
1168
+ "CLIPVisionLoader",
1169
+ "Canny",
1170
+ "CaseConverter",
1171
+ "CheckpointLoader",
1172
+ "CheckpointLoaderSimple",
1173
+ "CheckpointSave",
1174
+ "CombineHooks2",
1175
+ "CombineHooks4",
1176
+ "CombineHooks8",
1177
+ "ConditioningAverage",
1178
+ "ConditioningCombine",
1179
+ "ConditioningConcat",
1180
+ "ConditioningSetArea",
1181
+ "ConditioningSetAreaPercentage",
1182
+ "ConditioningSetAreaPercentageVideo",
1183
+ "ConditioningSetAreaStrength",
1184
+ "ConditioningSetDefaultCombine",
1185
+ "ConditioningSetMask",
1186
+ "ConditioningSetProperties",
1187
+ "ConditioningSetPropertiesAndCombine",
1188
+ "ConditioningSetTimestepRange",
1189
+ "ConditioningStableAudio",
1190
+ "ConditioningTimestepsRange",
1191
+ "ConditioningZeroOut",
1192
+ "ContextWindowsManual",
1193
+ "ControlNetApply",
1194
+ "ControlNetApplyAdvanced",
1195
+ "ControlNetApplySD3",
1196
+ "ControlNetInpaintingAliMamaApply",
1197
+ "ControlNetLoader",
1198
+ "CosmosImageToVideoLatent",
1199
+ "CosmosPredict2ImageToVideoLatent",
1200
+ "CreateHookKeyframe",
1201
+ "CreateHookKeyframesFromFloats",
1202
+ "CreateHookKeyframesInterpolated",
1203
+ "CreateHookLora",
1204
+ "CreateHookLoraModelOnly",
1205
+ "CreateHookModelAsLora",
1206
+ "CreateHookModelAsLoraModelOnly",
1207
+ "CreateVideo",
1208
+ "CropMask",
1209
+ "DiffControlNetLoader",
1210
+ "DifferentialDiffusion",
1211
+ "DiffusersLoader",
1212
+ "DisableNoise",
1213
+ "DualCFGGuider",
1214
+ "DualCLIPLoader",
1215
+ "EasyCache",
1216
+ "EmptyAceStepLatentAudio",
1217
+ "EmptyCosmosLatentVideo",
1218
+ "EmptyHunyuanImageLatent",
1219
+ "EmptyHunyuanLatentVideo",
1220
+ "EmptyImage",
1221
+ "EmptyLTXVLatentVideo",
1222
+ "EmptyLatentAudio",
1223
+ "EmptyLatentHunyuan3Dv2",
1224
+ "EmptyLatentImage",
1225
+ "EmptyMochiLatentVideo",
1226
+ "EmptySD3LatentImage",
1227
+ "ExponentialScheduler",
1228
+ "ExtendIntermediateSigmas",
1229
+ "FeatherMask",
1230
+ "FlipSigmas",
1231
+ "FluxDisableGuidance",
1232
+ "FluxGuidance",
1233
+ "FluxKontextImageScale",
1234
+ "FluxKontextMaxImageNode",
1235
+ "FluxKontextMultiReferenceLatentMethod",
1236
+ "FluxKontextProImageNode",
1237
+ "FluxProCannyNode",
1238
+ "FluxProDepthNode",
1239
+ "FluxProExpandNode",
1240
+ "FluxProFillNode",
1241
+ "FluxProUltraImageNode",
1242
+ "FreSca",
1243
+ "FreeU",
1244
+ "FreeU_V2",
1245
+ "GITSScheduler",
1246
+ "GLIGENLoader",
1247
+ "GLIGENTextBoxApply",
1248
+ "GeminiImageNode",
1249
+ "GeminiInputFiles",
1250
+ "GeminiNode",
1251
+ "GetImageSize",
1252
+ "GetVideoComponents",
1253
+ "GrowMask",
1254
+ "Hunyuan3Dv2Conditioning",
1255
+ "Hunyuan3Dv2ConditioningMultiView",
1256
+ "HunyuanImageToVideo",
1257
+ "HyperTile",
1258
+ "HypernetworkLoader",
1259
+ "IdeogramV1",
1260
+ "IdeogramV2",
1261
+ "IdeogramV3",
1262
+ "ImageAddNoise",
1263
+ "ImageBatch",
1264
+ "ImageBlend",
1265
+ "ImageBlur",
1266
+ "ImageColorToMask",
1267
+ "ImageCompositeMasked",
1268
+ "ImageCrop",
1269
+ "ImageFlip",
1270
+ "ImageFromBatch",
1271
+ "ImageInvert",
1272
+ "ImageOnlyCheckpointLoader",
1273
+ "ImageOnlyCheckpointSave",
1274
+ "ImagePadForOutpaint",
1275
+ "ImageQuantize",
1276
+ "ImageRGBToYUV",
1277
+ "ImageRotate",
1278
+ "ImageScale",
1279
+ "ImageScaleBy",
1280
+ "ImageScaleToMaxDimension",
1281
+ "ImageScaleToTotalPixels",
1282
+ "ImageSharpen",
1283
+ "ImageStitch",
1284
+ "ImageToMask",
1285
+ "ImageUpscaleWithModel",
1286
+ "ImageYUVToRGB",
1287
+ "InpaintModelConditioning",
1288
+ "InstructPixToPixConditioning",
1289
+ "InvertMask",
1290
+ "JoinImageWithAlpha",
1291
+ "KSampler",
1292
+ "KSamplerAdvanced",
1293
+ "KSamplerSelect",
1294
+ "KarrasScheduler",
1295
+ "KlingCameraControlI2VNode",
1296
+ "KlingCameraControlT2VNode",
1297
+ "KlingCameraControls",
1298
+ "KlingDualCharacterVideoEffectNode",
1299
+ "KlingImage2VideoNode",
1300
+ "KlingImageGenerationNode",
1301
+ "KlingLipSyncAudioToVideoNode",
1302
+ "KlingLipSyncTextToVideoNode",
1303
+ "KlingSingleImageVideoEffectNode",
1304
+ "KlingStartEndFrameNode",
1305
+ "KlingTextToVideoNode",
1306
+ "KlingVideoExtendNode",
1307
+ "KlingVirtualTryOnNode",
1308
+ "LTXVAddGuide",
1309
+ "LTXVConditioning",
1310
+ "LTXVCropGuides",
1311
+ "LTXVImgToVideo",
1312
+ "LTXVPreprocess",
1313
+ "LTXVScheduler",
1314
+ "LaplaceScheduler",
1315
+ "LatentAdd",
1316
+ "LatentApplyOperation",
1317
+ "LatentApplyOperationCFG",
1318
+ "LatentBatch",
1319
+ "LatentBatchSeedBehavior",
1320
+ "LatentBlend",
1321
+ "LatentComposite",
1322
+ "LatentCompositeMasked",
1323
+ "LatentConcat",
1324
+ "LatentCrop",
1325
+ "LatentCut",
1326
+ "LatentFlip",
1327
+ "LatentFromBatch",
1328
+ "LatentInterpolate",
1329
+ "LatentMultiply",
1330
+ "LatentOperationSharpen",
1331
+ "LatentOperationTonemapReinhard",
1332
+ "LatentRotate",
1333
+ "LatentSubtract",
1334
+ "LatentUpscale",
1335
+ "LatentUpscaleBy",
1336
+ "LazyCache",
1337
+ "Load3D",
1338
+ "Load3DAnimation",
1339
+ "LoadAudio",
1340
+ "LoadImage",
1341
+ "LoadImageMask",
1342
+ "LoadImageOutput",
1343
+ "LoadImageSetFromFolderNode",
1344
+ "LoadImageTextSetFromFolderNode",
1345
+ "LoadLatent",
1346
+ "LoadVideo",
1347
+ "LoraLoader",
1348
+ "LoraLoaderModelOnly",
1349
+ "LoraModelLoader",
1350
+ "LoraSave",
1351
+ "LossGraphNode",
1352
+ "LotusConditioning",
1353
+ "LumaConceptsNode",
1354
+ "LumaImageModifyNode",
1355
+ "LumaImageNode",
1356
+ "LumaImageToVideoNode",
1357
+ "LumaReferenceNode",
1358
+ "LumaVideoNode",
1359
+ "Mahiro",
1360
+ "MarkdownNote",
1361
+ "MaskComposite",
1362
+ "MaskPreview",
1363
+ "MaskToImage",
1364
+ "MinimaxHailuoVideoNode",
1365
+ "MinimaxImageToVideoNode",
1366
+ "MinimaxTextToVideoNode",
1367
+ "ModelComputeDtype",
1368
+ "ModelMergeAdd",
1369
+ "ModelMergeAuraflow",
1370
+ "ModelMergeBlocks",
1371
+ "ModelMergeCosmos14B",
1372
+ "ModelMergeCosmos7B",
1373
+ "ModelMergeCosmosPredict2_14B",
1374
+ "ModelMergeCosmosPredict2_2B",
1375
+ "ModelMergeFlux1",
1376
+ "ModelMergeLTXV",
1377
+ "ModelMergeMochiPreview",
1378
+ "ModelMergeQwenImage",
1379
+ "ModelMergeSD1",
1380
+ "ModelMergeSD2",
1381
+ "ModelMergeSD35_Large",
1382
+ "ModelMergeSD3_2B",
1383
+ "ModelMergeSDXL",
1384
+ "ModelMergeSimple",
1385
+ "ModelMergeSubtract",
1386
+ "ModelMergeWAN2_1",
1387
+ "ModelPatchLoader",
1388
+ "ModelSamplingAuraFlow",
1389
+ "ModelSamplingContinuousEDM",
1390
+ "ModelSamplingContinuousV",
1391
+ "ModelSamplingDiscrete",
1392
+ "ModelSamplingFlux",
1393
+ "ModelSamplingLTXV",
1394
+ "ModelSamplingSD3",
1395
+ "ModelSamplingStableCascade",
1396
+ "ModelSave",
1397
+ "MoonvalleyImg2VideoNode",
1398
+ "MoonvalleyTxt2VideoNode",
1399
+ "MoonvalleyVideo2VideoNode",
1400
+ "Morphology",
1401
+ "Note",
1402
+ "OpenAIChatConfig",
1403
+ "OpenAIChatNode",
1404
+ "OpenAIDalle2",
1405
+ "OpenAIDalle3",
1406
+ "OpenAIGPTImage1",
1407
+ "OpenAIInputFiles",
1408
+ "OptimalStepsScheduler",
1409
+ "PairConditioningCombine",
1410
+ "PairConditioningSetDefaultCombine",
1411
+ "PairConditioningSetProperties",
1412
+ "PairConditioningSetPropertiesAndCombine",
1413
+ "PatchModelAddDownscale",
1414
+ "PerpNeg",
1415
+ "PerpNegGuider",
1416
+ "PerturbedAttentionGuidance",
1417
+ "PhotoMakerEncode",
1418
+ "PhotoMakerLoader",
1419
+ "PikaImageToVideoNode2_2",
1420
+ "PikaScenesV2_2",
1421
+ "PikaStartEndFrameNode2_2",
1422
+ "PikaTextToVideoNode2_2",
1423
+ "Pikadditions",
1424
+ "Pikaffects",
1425
+ "Pikaswaps",
1426
+ "PixverseImageToVideoNode",
1427
+ "PixverseTemplateNode",
1428
+ "PixverseTextToVideoNode",
1429
+ "PixverseTransitionVideoNode",
1430
+ "PolyexponentialScheduler",
1431
+ "PorterDuffImageComposite",
1432
+ "Preview3D",
1433
+ "Preview3DAnimation",
1434
+ "PreviewAny",
1435
+ "PreviewAudio",
1436
+ "PreviewImage",
1437
+ "PrimitiveBoolean",
1438
+ "PrimitiveFloat",
1439
+ "PrimitiveInt",
1440
+ "PrimitiveNode",
1441
+ "PrimitiveString",
1442
+ "PrimitiveStringMultiline",
1443
+ "QuadrupleCLIPLoader",
1444
+ "QwenImageDiffsynthControlnet",
1445
+ "RandomNoise",
1446
+ "RebatchImages",
1447
+ "RebatchLatents",
1448
+ "RecordAudio",
1449
+ "RecraftColorRGB",
1450
+ "RecraftControls",
1451
+ "RecraftCreativeUpscaleNode",
1452
+ "RecraftCrispUpscaleNode",
1453
+ "RecraftImageInpaintingNode",
1454
+ "RecraftImageToImageNode",
1455
+ "RecraftRemoveBackgroundNode",
1456
+ "RecraftReplaceBackgroundNode",
1457
+ "RecraftStyleV3DigitalIllustration",
1458
+ "RecraftStyleV3InfiniteStyleLibrary",
1459
+ "RecraftStyleV3LogoRaster",
1460
+ "RecraftStyleV3RealisticImage",
1461
+ "RecraftTextToImageNode",
1462
+ "RecraftTextToVectorNode",
1463
+ "RecraftVectorizeImageNode",
1464
+ "ReferenceLatent",
1465
+ "RegexExtract",
1466
+ "RegexMatch",
1467
+ "RegexReplace",
1468
+ "RenormCFG",
1469
+ "RepeatImageBatch",
1470
+ "RepeatLatentBatch",
1471
+ "Reroute",
1472
+ "RescaleCFG",
1473
+ "ResizeAndPadImage",
1474
+ "Rodin3D_Detail",
1475
+ "Rodin3D_Regular",
1476
+ "Rodin3D_Sketch",
1477
+ "Rodin3D_Smooth",
1478
+ "RunwayFirstLastFrameNode",
1479
+ "RunwayImageToVideoNodeGen3a",
1480
+ "RunwayImageToVideoNodeGen4",
1481
+ "RunwayTextToImageNode",
1482
+ "SDTurboScheduler",
1483
+ "SD_4XUpscale_Conditioning",
1484
+ "SV3D_Conditioning",
1485
+ "SVD_img2vid_Conditioning",
1486
+ "SamplerCustom",
1487
+ "SamplerCustomAdvanced",
1488
+ "SamplerDPMAdaptative",
1489
+ "SamplerDPMPP_2M_SDE",
1490
+ "SamplerDPMPP_2S_Ancestral",
1491
+ "SamplerDPMPP_3M_SDE",
1492
+ "SamplerDPMPP_SDE",
1493
+ "SamplerER_SDE",
1494
+ "SamplerEulerAncestral",
1495
+ "SamplerEulerAncestralCFGPP",
1496
+ "SamplerEulerCFGpp",
1497
+ "SamplerLCMUpscale",
1498
+ "SamplerLMS",
1499
+ "SamplerSASolver",
1500
+ "SamplingPercentToSigma",
1501
+ "SaveAnimatedPNG",
1502
+ "SaveAnimatedWEBP",
1503
+ "SaveAudio",
1504
+ "SaveAudioMP3",
1505
+ "SaveAudioOpus",
1506
+ "SaveGLB",
1507
+ "SaveImage",
1508
+ "SaveImageWebsocket",
1509
+ "SaveLatent",
1510
+ "SaveLoRANode",
1511
+ "SaveSVGNode",
1512
+ "SaveVideo",
1513
+ "SaveWEBM",
1514
+ "SelfAttentionGuidance",
1515
+ "SetClipHooks",
1516
+ "SetFirstSigma",
1517
+ "SetHookKeyframes",
1518
+ "SetLatentNoiseMask",
1519
+ "SetUnionControlNetType",
1520
+ "SkipLayerGuidanceDiT",
1521
+ "SkipLayerGuidanceDiTSimple",
1522
+ "SkipLayerGuidanceSD3",
1523
+ "SolidMask",
1524
+ "SplitImageWithAlpha",
1525
+ "SplitSigmas",
1526
+ "SplitSigmasDenoise",
1527
+ "StabilityAudioInpaint",
1528
+ "StabilityAudioToAudio",
1529
+ "StabilityStableImageSD_3_5Node",
1530
+ "StabilityStableImageUltraNode",
1531
+ "StabilityTextToAudio",
1532
+ "StabilityUpscaleConservativeNode",
1533
+ "StabilityUpscaleCreativeNode",
1534
+ "StabilityUpscaleFastNode",
1535
+ "StableCascade_EmptyLatentImage",
1536
+ "StableCascade_StageB_Conditioning",
1537
+ "StableCascade_StageC_VAEEncode",
1538
+ "StableCascade_SuperResolutionControlnet",
1539
+ "StableZero123_Conditioning",
1540
+ "StableZero123_Conditioning_Batched",
1541
+ "StringCompare",
1542
+ "StringConcatenate",
1543
+ "StringContains",
1544
+ "StringLength",
1545
+ "StringReplace",
1546
+ "StringSubstring",
1547
+ "StringTrim",
1548
+ "StyleModelApply",
1549
+ "StyleModelLoader",
1550
+ "T5TokenizerOptions",
1551
+ "TCFG",
1552
+ "TextEncodeAceStepAudio",
1553
+ "TextEncodeHunyuanVideo_ImageToVideo",
1554
+ "TextEncodeQwenImageEdit",
1555
+ "ThresholdMask",
1556
+ "TomePatchModel",
1557
+ "TorchCompileModel",
1558
+ "TrainLoraNode",
1559
+ "TrimVideoLatent",
1560
+ "TripleCLIPLoader",
1561
+ "TripoConversionNode",
1562
+ "TripoImageToModelNode",
1563
+ "TripoMultiviewToModelNode",
1564
+ "TripoRefineNode",
1565
+ "TripoRetargetNode",
1566
+ "TripoRigNode",
1567
+ "TripoTextToModelNode",
1568
+ "TripoTextureNode",
1569
+ "UNETLoader",
1570
+ "UNetCrossAttentionMultiply",
1571
+ "UNetSelfAttentionMultiply",
1572
+ "UNetTemporalAttentionMultiply",
1573
+ "USOStyleReference",
1574
+ "UpscaleModelLoader",
1575
+ "VAEDecode",
1576
+ "VAEDecodeAudio",
1577
+ "VAEDecodeHunyuan3D",
1578
+ "VAEDecodeTiled",
1579
+ "VAEEncode",
1580
+ "VAEEncodeAudio",
1581
+ "VAEEncodeForInpaint",
1582
+ "VAEEncodeTiled",
1583
+ "VAELoader",
1584
+ "VAESave",
1585
+ "VPScheduler",
1586
+ "Veo3VideoGenerationNode",
1587
+ "VeoVideoGenerationNode",
1588
+ "VideoLinearCFGGuidance",
1589
+ "VideoTriangleCFGGuidance",
1590
+ "ViduImageToVideoNode",
1591
+ "ViduReferenceVideoNode",
1592
+ "ViduStartEndToVideoNode",
1593
+ "ViduTextToVideoNode",
1594
+ "VoxelToMesh",
1595
+ "VoxelToMeshBasic",
1596
+ "Wan22FunControlToVideo",
1597
+ "Wan22ImageToVideoLatent",
1598
+ "WanCameraEmbedding",
1599
+ "WanCameraImageToVideo",
1600
+ "WanContextWindowsManual",
1601
+ "WanFirstLastFrameToVideo",
1602
+ "WanFunControlToVideo",
1603
+ "WanFunInpaintToVideo",
1604
+ "WanImageToVideo",
1605
+ "WanPhantomSubjectToVideo",
1606
+ "WanSoundImageToVideo",
1607
+ "WanSoundImageToVideoExtend",
1608
+ "WanTrackToVideo",
1609
+ "WanVaceToVideo",
1610
+ "WebcamCapture",
1611
+ "unCLIPCheckpointLoader",
1612
+ "unCLIPConditioning"
1613
+ ]
1614
+ }