349 lines
7.8 KiB
JSON
349 lines
7.8 KiB
JSON
{
|
|
"id": "4fbf6f31-0f7b-4465-8ec8-25df4862e076",
|
|
"revision": 0,
|
|
"last_node_id": 34,
|
|
"last_link_id": 42,
|
|
"nodes": [
|
|
{
|
|
"id": 31,
|
|
"type": "PrimitiveNode",
|
|
"pos": [
|
|
4672,
|
|
-928
|
|
],
|
|
"size": [
|
|
210,
|
|
82
|
|
],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "connect to widget input",
|
|
"type": "*",
|
|
"links": []
|
|
}
|
|
],
|
|
"properties": {
|
|
"Run widget replace on values": false,
|
|
"ue_properties": {
|
|
"widget_ue_connectable": {},
|
|
"version": "7.5.2",
|
|
"input_ue_unconnectable": {}
|
|
}
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 29,
|
|
"type": "ParallelSharpnessLoader",
|
|
"pos": [
|
|
4992,
|
|
-1024
|
|
],
|
|
"size": [
|
|
320,
|
|
262
|
|
],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "images",
|
|
"type": "IMAGE",
|
|
"links": [
|
|
42
|
|
]
|
|
},
|
|
{
|
|
"name": "scores_info",
|
|
"type": "STRING",
|
|
"links": []
|
|
},
|
|
{
|
|
"name": "batch_int",
|
|
"type": "INT",
|
|
"links": null
|
|
},
|
|
{
|
|
"name": "batch_status",
|
|
"type": "STRING",
|
|
"links": [
|
|
39
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"aux_id": "ComfyUI-Sharp-Selector.git",
|
|
"ver": "dab38a1fbf0077655fe568d500866fce6ecc857d",
|
|
"Node name for S&R": "ParallelSharpnessLoader",
|
|
"ue_properties": {
|
|
"widget_ue_connectable": {},
|
|
"input_ue_unconnectable": {},
|
|
"version": "7.5.2"
|
|
}
|
|
},
|
|
"widgets_values": [
|
|
"C:\\path\\to\\video.mp4",
|
|
0,
|
|
1440,
|
|
1,
|
|
30,
|
|
24,
|
|
2000
|
|
]
|
|
},
|
|
{
|
|
"id": 1,
|
|
"type": "SharpFrameSelector",
|
|
"pos": [
|
|
4992,
|
|
-704
|
|
],
|
|
"size": [
|
|
288,
|
|
174
|
|
],
|
|
"flags": {},
|
|
"order": 6,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "images",
|
|
"type": "IMAGE",
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "scores",
|
|
"type": "SHARPNESS_SCORES",
|
|
"link": 3
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "selected_images",
|
|
"type": "IMAGE",
|
|
"links": [
|
|
32
|
|
]
|
|
},
|
|
{
|
|
"name": "count",
|
|
"type": "INT",
|
|
"links": null
|
|
}
|
|
],
|
|
"properties": {
|
|
"aux_id": "ComfyUI-Sharp-Selector.git",
|
|
"ver": "f30f948c9fa8acf9b7fe09559f172d8a63468c8d",
|
|
"Node name for S&R": "SharpFrameSelector",
|
|
"ue_properties": {
|
|
"widget_ue_connectable": {},
|
|
"input_ue_unconnectable": {},
|
|
"version": "7.5.2"
|
|
}
|
|
},
|
|
"widgets_values": [
|
|
"best_n",
|
|
144,
|
|
24,
|
|
3,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"id": 34,
|
|
"type": "Note",
|
|
"pos": [
|
|
4224,
|
|
-1120
|
|
],
|
|
"size": [
|
|
416,
|
|
736
|
|
],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"properties": {},
|
|
"widgets_values": [
|
|
"📌 ComfyUI Sharpness Tools Explained\n\n1. Parallel Video Loader (The \"Loader\")\n\n Best for: Processing long videos or movie files directly from disk.\n\n How it works: It opens the video file itself and uses multi-threading (parallel CPU cores) to scan thousands of frames without loading them into memory. It only \"decodes\" the final few sharpest frames.\n\n Use Case: Extracting dataset images, finding high-quality frames from a raw movie file, or scanning 10,000 frames without crashing your RAM.\n\n Key Feature: Features a \"Batch Counter\" to automatically page through long videos (e.g., scan minute 0-1, then minute 1-2).\n\n2. Standard Sharpness Duo (The \"Filter\")\n\n Best for: Processing images already inside your workflow (e.g., after an img2img pass, or a short generated GIF).\n\n How it works:\n\n Node A (Analyzer): Assigns a score to every image in the batch.\n\n Node B (Selector): Picks the best ones based on those scores.\n\n Use Case: Filtering bad generations, picking the best frame from a small batch of AnimateDiff results, or cleaning up a sequence.\n\n Limitation: It is single-threaded and requires all images to be loaded in VRAM/RAM first (slow for long videos).\n\n🚀 Which one to use?\n\n Starting from a Video File? → Use Parallel Loader.\n\n Starting from a Generation/Latent? → Use Standard Duo."
|
|
],
|
|
"color": "#432",
|
|
"bgcolor": "#653"
|
|
},
|
|
{
|
|
"id": 33,
|
|
"type": "SaveImage",
|
|
"pos": [
|
|
5824,
|
|
-1024
|
|
],
|
|
"size": [
|
|
270,
|
|
58
|
|
],
|
|
"flags": {},
|
|
"order": 4,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "images",
|
|
"type": "IMAGE",
|
|
"link": 42
|
|
}
|
|
],
|
|
"outputs": [],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.9.2",
|
|
"ue_properties": {
|
|
"widget_ue_connectable": {},
|
|
"input_ue_unconnectable": {}
|
|
},
|
|
"Node name for S&R": "SaveImage"
|
|
},
|
|
"widgets_values": [
|
|
"sharp/img_"
|
|
]
|
|
},
|
|
{
|
|
"id": 32,
|
|
"type": "easy showAnything",
|
|
"pos": [
|
|
5344,
|
|
-1024
|
|
],
|
|
"size": [
|
|
448,
|
|
96
|
|
],
|
|
"flags": {},
|
|
"order": 5,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "anything",
|
|
"shape": 7,
|
|
"type": "*",
|
|
"link": 39
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "output",
|
|
"type": "*",
|
|
"links": null
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfyui-easy-use",
|
|
"ver": "5dfcbcf51d8a6efed947bc7bdd6797827fecab55",
|
|
"Node name for S&R": "easy showAnything",
|
|
"ue_properties": {
|
|
"widget_ue_connectable": {},
|
|
"input_ue_unconnectable": {},
|
|
"version": "7.5.2"
|
|
}
|
|
},
|
|
"widgets_values": [
|
|
"Batch 1: Skipped 3440 frames. Scanning range 3440 -> 4880."
|
|
]
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "SharpnessAnalyzer",
|
|
"pos": [
|
|
4672,
|
|
-672
|
|
],
|
|
"size": [
|
|
185.9771484375,
|
|
26
|
|
],
|
|
"flags": {},
|
|
"order": 3,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "images",
|
|
"type": "IMAGE",
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "scores",
|
|
"type": "SHARPNESS_SCORES",
|
|
"links": [
|
|
3,
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"aux_id": "ComfyUI-Sharp-Selector.git",
|
|
"ver": "0df11447abb7f41bf7f12a2906aa868a5d2027b4",
|
|
"Node name for S&R": "SharpnessAnalyzer",
|
|
"ue_properties": {
|
|
"widget_ue_connectable": {},
|
|
"input_ue_unconnectable": {},
|
|
"version": "7.5.2"
|
|
}
|
|
},
|
|
"widgets_values": []
|
|
}
|
|
],
|
|
"links": [
|
|
[
|
|
3,
|
|
5,
|
|
0,
|
|
1,
|
|
1,
|
|
"SHARPNESS_SCORES"
|
|
],
|
|
[
|
|
39,
|
|
29,
|
|
3,
|
|
32,
|
|
0,
|
|
"STRING"
|
|
],
|
|
[
|
|
42,
|
|
29,
|
|
0,
|
|
33,
|
|
0,
|
|
"IMAGE"
|
|
]
|
|
],
|
|
"groups": [],
|
|
"config": {},
|
|
"extra": {
|
|
"workflowRendererVersion": "LG",
|
|
"ue_links": [],
|
|
"links_added_by_ue": [],
|
|
"ds": {
|
|
"scale": 0.8264462809917354,
|
|
"offset": [
|
|
-2054.6525613149634,
|
|
1737.5186871750661
|
|
]
|
|
},
|
|
"frontendVersion": "1.36.14",
|
|
"VHS_latentpreview": true,
|
|
"VHS_latentpreviewrate": 0,
|
|
"VHS_MetadataImage": true,
|
|
"VHS_KeepIntermediate": true
|
|
},
|
|
"version": 0.4
|
|
} |