comfy-org/comfyui
View on GitHub ↗
Internal83
Unique within the repo — the other 17% repeats across its own files.
Public69
Unique across all public code — a further 14% is its own but appears in other public repos too.
Original and tidy — it rarely repeats itself, and little of it turns up in other public code. About as close to genuinely its own work as this metric can measure.
Worth consolidating — in the code
Real, actionable duplication in this repo's source, most concrete first.
Longest identical blocks
The longest runs of identical consecutive lines copied between two files (indentation ignored) — the most concrete copy-paste. Lift the block into a shared function or module.
| Lines | File A | File B | Cross-repo |
|---|---|---|---|
| 76 | comfy-org/comfyui/script_examples/websockets_api_example.py:59 |
comfy-org/comfyui/script_examples/websockets_api_example_ws_images.py:52 |
same repo |
| 24 | comfy-org/comfyui/comfy/cldm/cldm.py:214 |
comfy-org/comfyui/comfy/ldm/modules/diffusionmodules/openaimodel.py:638 |
same repo |
| 24 | comfy-org/comfyui/comfy/ldm/hydit/controlnet.py:65 |
comfy-org/comfyui/comfy/ldm/hydit/models.py:190 |
same repo |
| 22 | comfy-org/comfyui/comfy_api_nodes/nodes_anthropic.py:194 |
comfy-org/comfyui/comfy_api_nodes/nodes_bytedance_llm.py:146 |
same repo |
| 21 | comfy-org/comfyui/comfy_api_nodes/nodes_qwen.py:216 |
comfy-org/comfyui/comfy_api_nodes/nodes_wan.py:921 |
same repo |
| 19 | comfy-org/comfyui/alembic_db/versions/0001_assets.py:32 |
comfy-org/comfyui/alembic_db/versions/0002_merge_to_asset_references.py:212 |
same repo |
| 19 | comfy-org/comfyui/comfy_api_nodes/nodes_anthropic.py:194 |
comfy-org/comfyui/comfy_api_nodes/nodes_openrouter.py:335 |
same repo |
| 19 | comfy-org/comfyui/comfy_api_nodes/nodes_bytedance_llm.py:146 |
comfy-org/comfyui/comfy_api_nodes/nodes_openrouter.py:335 |
same repo |
| 19 | comfy-org/comfyui/comfy_api_nodes/nodes_hunyuan_image.py:39 |
comfy-org/comfyui/comfy_api_nodes/nodes_qwen.py:40 |
same repo |
| 18 | comfy-org/comfyui/app/assets/services/asset_management.py:48 |
comfy-org/comfyui/app/assets/services/ingest.py:319 |
same repo |
| 18 | comfy-org/comfyui/comfy/ldm/cascade/stage_b.py:139 |
comfy-org/comfyui/comfy/ldm/cascade/stage_c.py:143 |
same repo |
| 18 | comfy-org/comfyui/comfy/ldm/chroma/model.py:57 |
comfy-org/comfyui/comfy/ldm/chroma_radiance/model.py:55 |
same repo |
| 17 | comfy-org/comfyui/comfy_api_nodes/nodes_hunyuan_image.py:134 |
comfy-org/comfyui/comfy_api_nodes/nodes_meta.py:109 |
same repo |
| 16 | comfy-org/comfyui/comfy/ldm/wan/ar_model.py:140 |
comfy-org/comfyui/comfy/ldm/wan/model.py:431 |
same repo |
| 16 | comfy-org/comfyui/comfy/ldm/wan/model.py:619 |
comfy-org/comfyui/comfy/ldm/wan/model_wandancer.py:171 |
same repo |
| 16 | comfy-org/comfyui/comfy/ldm/wan/model.py:619 |
comfy-org/comfyui/comfy/ldm/wan/model_animate.py:532 |
same repo |
| 16 | comfy-org/comfyui/comfy/ldm/wan/model_animate.py:532 |
comfy-org/comfyui/comfy/ldm/wan/model_wandancer.py:171 |
same repo |
| 16 | comfy-org/comfyui/comfy_api_nodes/nodes_gemini.py:536 |
comfy-org/comfyui/comfy_api_nodes/nodes_openai.py:821 |
same repo |
| 16 | comfy-org/comfyui/comfy_api_nodes/nodes_minimax.py:671 |
comfy-org/comfyui/comfy_api_nodes/nodes_wan.py:938 |
same repo |
| 16 | comfy-org/comfyui/comfy_api_nodes/nodes_vidu.py:539 |
comfy-org/comfyui/comfy_api_nodes/nodes_wan.py:625 |
same repo |
Top duplication hotspots
| Similarity | Overlap | File A | File B | Cross-repo |
|---|---|---|---|---|
| 12% | 607 | comfy-org/comfyui/comfy/text_encoders/gemma4.py |
comfy-org/comfyui/comfy/text_encoders/llama.py |
same repo |
| 10% | 512 | comfy-org/comfyui/comfy/comfy_types/node_typing.py |
comfy-org/comfyui/comfy_api/latest/_io.py |
same repo |
| 9% | 508 | comfy-org/comfyui/comfy/text_encoders/gemma4.py |
comfy-org/comfyui/comfy/text_encoders/qwen35.py |
same repo |
| 73% | 481 | comfy-org/comfyui/comfy/ldm/cascade/stage_b.py |
comfy-org/comfyui/comfy/ldm/cascade/stage_c.py |
same repo |
| 11% | 479 | comfy-org/comfyui/comfy/text_encoders/llama.py |
comfy-org/comfyui/comfy/text_encoders/qwen35.py |
same repo |
| 24% | 471 | comfy-org/comfyui/comfy/ldm/cosmos/model.py |
comfy-org/comfyui/comfy/ldm/cosmos/predict2.py |
same repo |
| 19% | 458 | comfy-org/comfyui/comfy/ldm/cosmos/blocks.py |
comfy-org/comfyui/comfy/ldm/cosmos/predict2.py |
same repo |
| 4% | 452 | comfy-org/comfyui/comfy_extras/nodes_gaussian_splat.py |
comfy-org/comfyui/comfy_extras/nodes_mesh_postprocess.py |
same repo |
| 8% | 419 | comfy-org/comfyui/comfy_api_nodes/nodes_bytedance.py |
comfy-org/comfyui/comfy_api_nodes/nodes_minimax.py |
same repo |
| 4% | 385 | comfy-org/comfyui/comfy_extras/mesh3d/postprocess/qem_decimate.py |
comfy-org/comfyui/comfy_extras/nodes_mesh_postprocess.py |
same repo |
| 17% | 382 | comfy-org/comfyui/comfy/ldm/wan/model.py |
comfy-org/comfyui/comfy/ldm/wan/model_wandancer.py |
same repo |
| 6% | 378 | comfy-org/comfyui/comfy_api_nodes/nodes_bytedance.py |
comfy-org/comfyui/comfy_api_nodes/nodes_gemini.py |
same repo |
| 6% | 377 | comfy-org/comfyui/comfy_api_nodes/nodes_bytedance.py |
comfy-org/comfyui/comfy_api_nodes/nodes_kling.py |
same repo |
| 13% | 362 | comfy-org/comfyui/comfy/text_encoders/qwen35.py |
comfy-org/comfyui/comfy/text_encoders/qwen3vl.py |
same repo |
| 5% | 362 | comfy-org/comfyui/comfy_extras/nodes_images.py |
comfy-org/comfyui/nodes.py |
same repo |
| 11% | 358 | comfy-org/comfyui/comfy_api_nodes/nodes_gemini.py |
comfy-org/comfyui/comfy_api_nodes/nodes_openai.py |
same repo |
| 6% | 358 | comfy-org/comfyui/comfy_api_nodes/nodes_bfl.py |
comfy-org/comfyui/comfy_api_nodes/nodes_bytedance.py |
same repo |
| 7% | 355 | comfy-org/comfyui/comfy_api_nodes/nodes_bytedance.py |
comfy-org/comfyui/comfy_api_nodes/nodes_wan.py |
same repo |
| 25% | 353 | comfy-org/comfyui/comfy/ldm/lens/model.py |
comfy-org/comfyui/comfy/ldm/qwen_image/model.py |
same repo |
| 7% | 353 | comfy-org/comfyui/comfy_api_nodes/nodes_bytedance.py |
comfy-org/comfyui/comfy_api_nodes/nodes_heygen.py |
same repo |
Duplicate declarations
The same function, variable, class, or type name declared in more than one file — a fast copy-paste signal. Consider extracting a shared definition.
| Files | Declaration | Where |
|---|---|---|
| 185 | fn execute |
comfy-org/comfyui/comfy/comfy_types/examples/example_nodes.pycomfy-org/comfyui/comfy/context_windows.pycomfy-org/comfyui/comfy/patcher_extension.py+182 more |
| 182 | fn forward |
comfy-org/comfyui/comfy/audio.pycomfy-org/comfyui/comfy/audio_encoders/mert2.pycomfy-org/comfyui/comfy/audio_encoders/sheetsage2.py+179 more |
| 180 | fn define_schema |
comfy-org/comfyui/comfy_api/latest/_io.pycomfy-org/comfyui/comfy_api_nodes/nodes_anthropic.pycomfy-org/comfyui/comfy_api_nodes/nodes_beeble.py+177 more |
| 178 | fn get_node_list |
comfy-org/comfyui/comfy_api/latest/__init__.pycomfy-org/comfyui/comfy_api_nodes/nodes_anthropic.pycomfy-org/comfyui/comfy_api_nodes/nodes_beeble.py+175 more |
| 177 | fn comfy_entrypoint |
comfy-org/comfyui/comfy_api_nodes/nodes_anthropic.pycomfy-org/comfyui/comfy_api_nodes/nodes_beeble.pycomfy-org/comfyui/comfy_api_nodes/nodes_bfl.py+174 more |
| 44 | fn decode |
comfy-org/comfyui/comfy/audio_encoders/sheetsage2.pycomfy-org/comfyui/comfy/ldm/ace/model.pycomfy-org/comfyui/comfy/ldm/ace/vae/autoencoder_dc.py+41 more |
| 38 | fn tokenize_with_weights |
comfy-org/comfyui/comfy/sd1_clip.pycomfy-org/comfyui/comfy/sdxl_clip.pycomfy-org/comfyui/comfy/text_encoders/ace.py+35 more |
| 37 | fn _forward |
comfy-org/comfyui/comfy/ldm/ace/model.pycomfy-org/comfyui/comfy/ldm/audio/dit.pycomfy-org/comfyui/comfy/ldm/aura/mmdit.py+34 more |
| 36 | fn encode |
comfy-org/comfyui/comfy/audio_encoders/sheetsage2.pycomfy-org/comfyui/comfy/ldm/ace/model.pycomfy-org/comfyui/comfy/ldm/ace/vae/autoencoder_dc.py+33 more |
| 30 | fn encode_token_weights |
comfy-org/comfyui/comfy/sd1_clip.pycomfy-org/comfyui/comfy/sdxl_clip.pycomfy-org/comfyui/comfy/text_encoders/ace.py+27 more |
| 25 | fn block_wrap |
comfy-org/comfyui/comfy/ldm/audio/dit.pycomfy-org/comfyui/comfy/ldm/aura/mmdit.pycomfy-org/comfyui/comfy/ldm/chroma/model.py+22 more |
| 24 | class attention |
comfy-org/comfyui/comfy/audio_encoders/mert2.pycomfy-org/comfyui/comfy/audio_encoders/wav2vec2.pycomfy-org/comfyui/comfy/background_removal/birefnet.py+21 more |
| 23 | fn load_sd |
comfy-org/comfyui/comfy/audio_encoders/audio_encoders.pycomfy-org/comfyui/comfy/bg_removal_model.pycomfy-org/comfyui/comfy/clip_vision.py+20 more |
| 23 | fn state_dict |
comfy-org/comfyui/comfy/k_diffusion/utils.pycomfy-org/comfyui/comfy/ops.pycomfy-org/comfyui/comfy/sd1_clip.py+20 more |
| 18 | fn reset_clip_options |
comfy-org/comfyui/comfy/sd1_clip.pycomfy-org/comfyui/comfy/sdxl_clip.pycomfy-org/comfyui/comfy/text_encoders/ace.py+15 more |
| 18 | fn set_clip_options |
comfy-org/comfyui/comfy/sd1_clip.pycomfy-org/comfyui/comfy/sdxl_clip.pycomfy-org/comfyui/comfy/text_encoders/ace.py+15 more |
| 17 | class mlp |
comfy-org/comfyui/comfy/background_removal/birefnet.pycomfy-org/comfyui/comfy/ldm/ace/ace_step15.pycomfy-org/comfyui/comfy/ldm/aura/mmdit.py+14 more |
| 14 | class FeedForward |
comfy-org/comfyui/comfy/audio_encoders/mert2.pycomfy-org/comfyui/comfy/audio_encoders/wav2vec2.pycomfy-org/comfyui/comfy/ldm/audio/dit.py+11 more |
| 14 | fn INPUT_TYPES |
comfy-org/comfyui/comfy/comfy_types/examples/example_nodes.pycomfy-org/comfyui/comfy/comfy_types/node_typing.pycomfy-org/comfyui/comfy_api/latest/_io.py+11 more |
| 14 | fn sample |
comfy-org/comfyui/comfy/extra_samplers/uni_pc.pycomfy-org/comfyui/comfy/ldm/cosmos/vae.pycomfy-org/comfyui/comfy/ldm/genmo/vae/model.py+11 more |
| 13 | fn unpatchify |
comfy-org/comfyui/comfy/ldm/aura/mmdit.pycomfy-org/comfyui/comfy/ldm/cosmos/predict2.pycomfy-org/comfyui/comfy/ldm/hidream/model.py+10 more |
| 12 | fn load |
comfy-org/comfyui/comfy/bg_removal_model.pycomfy-org/comfyui/comfy/clip_vision.pycomfy-org/comfyui/comfy/model_patcher.py+9 more |
| 12 | fn untokenize |
comfy-org/comfyui/comfy/sd1_clip.pycomfy-org/comfyui/comfy/sdxl_clip.pycomfy-org/comfyui/comfy/text_encoders/ace.py+9 more |
| 11 | class decoder |
comfy-org/comfyui/comfy/audio_encoders/sheetsage2.pycomfy-org/comfyui/comfy/background_removal/birefnet.pycomfy-org/comfyui/comfy/ldm/ace/vae/autoencoder_dc.py+8 more |
| 11 | class FinalLayer |
comfy-org/comfyui/comfy/ldm/cosmos/blocks.pycomfy-org/comfyui/comfy/ldm/cosmos/predict2.pycomfy-org/comfyui/comfy/ldm/genmo/joint_model/asymm_models_joint.py+8 more |
Largest files
Largest files
| LOC | File | Status |
|---|---|---|
| — | comfy-org/comfyui/comfy/text_encoders/llama_tokenizer/tokenizer.json | skipped from indexing (too large to index (8.7 MB)) |
| — | comfy-org/comfyui/comfy/text_encoders/qwen35_tokenizer/vocab.json | skipped from indexing (too large to index (6.4 MB)) |
| — | comfy-org/comfyui/comfy/text_encoders/qwen35_tokenizer/merges.txt | skipped from indexing (too large to index (3.2 MB)) |
| — | comfy-org/comfyui/comfy/text_encoders/qwen25_tokenizer/vocab.json | skipped from indexing (too large to index (2.6 MB)) |
| — | comfy-org/comfyui/comfy/text_encoders/t5_tokenizer/tokenizer.json | skipped from indexing (too large to index (2.3 MB)) |
| 48895 | comfy-org/comfyui/comfy/sd1_tokenizer/merges.txt | skipped from indexing (over 0 LOC) |
| 47020 | comfy-org/comfyui/comfy/text_encoders/hydit_clip_tokenizer/vocab.txt | skipped from indexing (over 0 LOC) |
| — | comfy-org/comfyui/comfy/text_encoders/qwen25_tokenizer/merges.txt | skipped from indexing (too large to index (1.6 MB)) |
| — | comfy-org/comfyui/comfy/sd1_tokenizer/vocab.json | skipped from indexing (too large to index (1.0 MB)) |
| 15535 | comfy-org/comfyui/comfy/text_encoders/ace_lyrics_tokenizer/vocab.json | skipped from indexing (over 0 LOC) |