comfyui-mcp 0.52.1 → 0.52.2
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.
- package/README.md +0 -7
- package/dist/boot.js +41 -0
- package/dist/boot.js.map +1 -1
- package/dist/comfyui/client.js +6 -27
- package/dist/comfyui/client.js.map +1 -1
- package/dist/comfyui/cloud-client.js +9 -1
- package/dist/comfyui/cloud-client.js.map +1 -1
- package/dist/comfyui/upload-target.js +38 -0
- package/dist/comfyui/upload-target.js.map +1 -0
- package/dist/orchestrator/agent-backend.js.map +1 -1
- package/dist/orchestrator/codex-backend.js +67 -11
- package/dist/orchestrator/codex-backend.js.map +1 -1
- package/dist/orchestrator/panel-agent.js +157 -6
- package/dist/orchestrator/panel-agent.js.map +1 -1
- package/dist/orchestrator/panel-tools.js +51 -10
- package/dist/orchestrator/panel-tools.js.map +1 -1
- package/dist/orchestrator/preview-budget.js +41 -0
- package/dist/orchestrator/preview-budget.js.map +1 -0
- package/dist/orchestrator/session-store.js +43 -0
- package/dist/orchestrator/session-store.js.map +1 -1
- package/dist/services/download-cache.js +17 -4
- package/dist/services/download-cache.js.map +1 -1
- package/dist/services/download-jobs.js +136 -1
- package/dist/services/download-jobs.js.map +1 -1
- package/dist/services/image-management.js +9 -2
- package/dist/services/image-management.js.map +1 -1
- package/dist/services/model-resolver.js +57 -37
- package/dist/services/model-resolver.js.map +1 -1
- package/dist/services/registry-client.js +31 -18
- package/dist/services/registry-client.js.map +1 -1
- package/dist/services/workflow-settings-extractor.js +1 -1
- package/dist/services/workflow-settings-extractor.js.map +1 -1
- package/dist/tools/image-management.js +20 -6
- package/dist/tools/image-management.js.map +1 -1
- package/package.json +3 -5
- package/plugin/skills/model-registry/SKILL.md +1 -1
- package/scripts/check-docs-links.mjs +23 -0
- package/scripts/check-docs-mdx.mjs +71 -0
- package/scripts/smoke-install.mjs +10 -9
- package/dist/services/download-root-correspondence.js +0 -64
- package/dist/services/download-root-correspondence.js.map +0 -1
- package/model-settings.json +0 -509
- package/model-settings.user.jsonc.example +0 -97
- package/scripts/postinstall.mjs +0 -29
package/model-settings.json
DELETED
|
@@ -1,509 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "model-settings.schema.json",
|
|
3
|
-
"_version": "0.2.0",
|
|
4
|
-
"_description": "Community-maintained best settings for ComfyUI models. Merge order: defaults (this file) → user overrides (model-settings.user.json). PRs welcome!",
|
|
5
|
-
"_updated": "2026-02-16",
|
|
6
|
-
"_merge_strategy": "deep_merge_user_wins",
|
|
7
|
-
|
|
8
|
-
"model_families": {
|
|
9
|
-
|
|
10
|
-
"qwen_image": {
|
|
11
|
-
"display_name": "Qwen Image (Base Architecture)",
|
|
12
|
-
"architecture": "qwen_image",
|
|
13
|
-
"clip_type": "qwen_image",
|
|
14
|
-
"vae": "qwen_image_vae.safetensors",
|
|
15
|
-
"prompt_style": "natural_language",
|
|
16
|
-
"prompt_notes": "Use natural language, 1-3 sentences. Put text to render in quotes. 'photograph' > 'photorealistic'. Negative prompts: use NLP-style descriptions, not keyword spam.",
|
|
17
|
-
"resolutions": {
|
|
18
|
-
"_note": "Qwen Image operates at ~1.6 megapixels natively",
|
|
19
|
-
"square": [1328, 1328],
|
|
20
|
-
"portrait_3_4": [1104, 1472],
|
|
21
|
-
"portrait_9_16": [928, 1664],
|
|
22
|
-
"portrait_2_3": [1056, 1584],
|
|
23
|
-
"landscape_4_3": [1472, 1104],
|
|
24
|
-
"landscape_16_9": [1664, 928],
|
|
25
|
-
"landscape_3_2": [1584, 1056],
|
|
26
|
-
"ultrawide_portrait": [1536, 2048]
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
"presets": {
|
|
30
|
-
"lightning_4step": {
|
|
31
|
-
"description": "Fast 4-step with LightX2V lightning LoRA. Good general-purpose.",
|
|
32
|
-
"steps": 4,
|
|
33
|
-
"cfg": 1.0,
|
|
34
|
-
"sampler": "euler",
|
|
35
|
-
"scheduler": "simple",
|
|
36
|
-
"denoise": 1.0,
|
|
37
|
-
"auraflow_shift": 3.1,
|
|
38
|
-
"lora": {
|
|
39
|
-
"name": "Qwen-Image-Lightning-4steps-V1.0.safetensors",
|
|
40
|
-
"strength": 1.0
|
|
41
|
-
},
|
|
42
|
-
"notes": "For 2511 edit models, use 2511-specific lightning LoRA."
|
|
43
|
-
},
|
|
44
|
-
"lightning_4step_2511_edit": {
|
|
45
|
-
"description": "Fast 4-step specifically for 2511 edit model.",
|
|
46
|
-
"steps": 4,
|
|
47
|
-
"cfg": 1.0,
|
|
48
|
-
"sampler": "euler",
|
|
49
|
-
"scheduler": "simple",
|
|
50
|
-
"denoise": 1.0,
|
|
51
|
-
"lora": {
|
|
52
|
-
"name": "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors",
|
|
53
|
-
"strength": 1.0
|
|
54
|
-
},
|
|
55
|
-
"notes": "Cannot combine with distilled model variant."
|
|
56
|
-
},
|
|
57
|
-
"lightning_8step": {
|
|
58
|
-
"description": "Higher quality 8-step lightning. Better detail than 4-step.",
|
|
59
|
-
"steps": 8,
|
|
60
|
-
"cfg": 1.0,
|
|
61
|
-
"sampler": "euler",
|
|
62
|
-
"scheduler": "simple",
|
|
63
|
-
"denoise": 1.0,
|
|
64
|
-
"auraflow_shift": 3.1,
|
|
65
|
-
"lora": {
|
|
66
|
-
"name": "Qwen-Image-Lightning-8steps-V1.0.safetensors",
|
|
67
|
-
"strength": 1.0
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
"lightning_8step_character": {
|
|
71
|
-
"description": "8-step lightning tuned for detailed character/portrait work.",
|
|
72
|
-
"steps": 8,
|
|
73
|
-
"cfg": 2.5,
|
|
74
|
-
"sampler": "euler",
|
|
75
|
-
"scheduler": "simple",
|
|
76
|
-
"denoise": 1.0,
|
|
77
|
-
"auraflow_shift": 3.1,
|
|
78
|
-
"lora": {
|
|
79
|
-
"name": "Qwen-Image-Lightning-8steps-V1.0.safetensors",
|
|
80
|
-
"strength": 1.0
|
|
81
|
-
},
|
|
82
|
-
"notes": "CFG 2.5 gives better prompt adherence for character details (Imageized author examples)."
|
|
83
|
-
},
|
|
84
|
-
"standard": {
|
|
85
|
-
"description": "Official full-quality settings from ComfyUI template.",
|
|
86
|
-
"steps": 50,
|
|
87
|
-
"cfg": 4.0,
|
|
88
|
-
"sampler": "euler",
|
|
89
|
-
"scheduler": "simple",
|
|
90
|
-
"denoise": 1.0,
|
|
91
|
-
"auraflow_shift": 3.1,
|
|
92
|
-
"notes": "Official ComfyUI workflow template values. 30-50 steps work well."
|
|
93
|
-
},
|
|
94
|
-
"standard_golden": {
|
|
95
|
-
"description": "Community-tested 'golden configuration' for best quality.",
|
|
96
|
-
"steps": 50,
|
|
97
|
-
"cfg": 4.5,
|
|
98
|
-
"sampler": "euler",
|
|
99
|
-
"scheduler": "simple",
|
|
100
|
-
"denoise": 1.0,
|
|
101
|
-
"auraflow_shift": 3.1,
|
|
102
|
-
"notes": "Community consensus: CFG 4.5 + 50 steps for peak quality."
|
|
103
|
-
},
|
|
104
|
-
"standard_character_composition": {
|
|
105
|
-
"description": "Optimized for multi-character scenes and complex compositions.",
|
|
106
|
-
"steps": 30,
|
|
107
|
-
"cfg": 4.0,
|
|
108
|
-
"sampler": "euler_ancestral",
|
|
109
|
-
"scheduler": "beta",
|
|
110
|
-
"denoise": 1.0,
|
|
111
|
-
"auraflow_shift": 3.1,
|
|
112
|
-
"notes": "euler_ancestral + beta helps with character variety and scene coherence."
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
|
|
117
|
-
"qwen_image_2512": {
|
|
118
|
-
"display_name": "Qwen Image 2512 (December 2025)",
|
|
119
|
-
"inherits": "qwen_image",
|
|
120
|
-
"unet": "qwen_image_2512_fp8_e4m3fn.safetensors",
|
|
121
|
-
"clip": "qwen_2.5_vl_7b_fp8_scaled.safetensors",
|
|
122
|
-
"vae": "qwen_image_vae.safetensors",
|
|
123
|
-
"notes": "Latest official Qwen Image model. fp8 for 24GB VRAM. Inherits all qwen_image presets."
|
|
124
|
-
},
|
|
125
|
-
|
|
126
|
-
"qwen_image_2511_edit": {
|
|
127
|
-
"display_name": "Qwen Image Edit 2511 (November 2025)",
|
|
128
|
-
"inherits": "qwen_image",
|
|
129
|
-
"unet": "qwen_image_edit_2511_bf16.safetensors",
|
|
130
|
-
"clip": "qwen_2.5_vl_7b_fp8_scaled.safetensors",
|
|
131
|
-
"vae": "qwen_image_vae.safetensors",
|
|
132
|
-
"notes": "Optimized for image editing. bf16 precision. Use 2511-specific lightning LoRA.",
|
|
133
|
-
|
|
134
|
-
"presets": {
|
|
135
|
-
"edit_standard": {
|
|
136
|
-
"description": "Full quality img2img editing.",
|
|
137
|
-
"steps": 40,
|
|
138
|
-
"cfg": 4.0,
|
|
139
|
-
"sampler": "euler",
|
|
140
|
-
"scheduler": "simple",
|
|
141
|
-
"denoise": 0.75,
|
|
142
|
-
"notes": "Denoise 0.5-0.8: lower = closer to input. Negative conditioning should be zeroed."
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
"qwen_finetuned": {
|
|
148
|
-
"display_name": "Qwen Image Fine-tuned Models",
|
|
149
|
-
"architecture": "qwen_image",
|
|
150
|
-
|
|
151
|
-
"models": {
|
|
152
|
-
"qwenUltimateRealism_v11": {
|
|
153
|
-
"display_name": "Qwen Ultimate Realism v1.1",
|
|
154
|
-
"author": "Imageized",
|
|
155
|
-
"source": "https://civitai.com/models/2027494",
|
|
156
|
-
"unet_path": "Qwen/imageized/qwenUltimateRealism_v11.safetensors",
|
|
157
|
-
"clip": "qwen_2.5_vl_7b_fp8_scaled.safetensors",
|
|
158
|
-
"vae": "qwen_image_vae.safetensors",
|
|
159
|
-
"focus": "Product photography, hyper-realistic, e-commerce",
|
|
160
|
-
"presets": {
|
|
161
|
-
"author_quality": {
|
|
162
|
-
"description": "Author's best quality settings.",
|
|
163
|
-
"steps": 30,
|
|
164
|
-
"cfg": 7.5,
|
|
165
|
-
"sampler": "euler",
|
|
166
|
-
"scheduler": "simple",
|
|
167
|
-
"denoise": 1.0,
|
|
168
|
-
"notes": "Steps 20-40, CFG 5-10 (sweet spot 7-8)."
|
|
169
|
-
},
|
|
170
|
-
"author_fast": {
|
|
171
|
-
"steps": 4,
|
|
172
|
-
"cfg": 1.0,
|
|
173
|
-
"sampler": "euler",
|
|
174
|
-
"scheduler": "simple",
|
|
175
|
-
"lora": {
|
|
176
|
-
"name": "Qwen-Image-Lightning-4steps-V1.0.safetensors",
|
|
177
|
-
"strength": 1.01
|
|
178
|
-
},
|
|
179
|
-
"notes": "Author uses strength 1.01 specifically."
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
|
|
184
|
-
"copaxTimeless_qwenUltraRealistic": {
|
|
185
|
-
"display_name": "CopaxTimeless Qwen Ultra Realistic",
|
|
186
|
-
"author": "Copax",
|
|
187
|
-
"source": "https://civitai.com/models/copaxTimeless",
|
|
188
|
-
"unet_path": "Qwen/realistic/copaxTimeless_qwenUltraRealistic.safetensors",
|
|
189
|
-
"clip": "qwen_2.5_vl_7b_fp8_scaled.safetensors",
|
|
190
|
-
"vae": "qwen_image_vae.safetensors",
|
|
191
|
-
"focus": "Ultra-realistic portraits and scenes",
|
|
192
|
-
"presets": {
|
|
193
|
-
"author_recommended": {
|
|
194
|
-
"steps": 30,
|
|
195
|
-
"cfg": 4.0,
|
|
196
|
-
"sampler": "res_multistep",
|
|
197
|
-
"scheduler": "sgm_uniform",
|
|
198
|
-
"denoise": 1.0,
|
|
199
|
-
"auraflow_shift": 3.1,
|
|
200
|
-
"notes": "Consistently uses res_multistep + sgm_uniform. Steps 20/30/50 all work."
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
"resolutions": [
|
|
204
|
-
[1152, 1536], [992, 1776], [928, 1984], [1536, 2048]
|
|
205
|
-
]
|
|
206
|
-
},
|
|
207
|
-
|
|
208
|
-
"redcraftRedzimage_DX1": {
|
|
209
|
-
"display_name": "RedCraft Redzimage DX1",
|
|
210
|
-
"source": "https://civitai.com/models/958009",
|
|
211
|
-
"unet_path": "redcraftRedzimageUpdatedJAN30_redzibDX1.safetensors",
|
|
212
|
-
"loader": "CheckpointLoaderSimple",
|
|
213
|
-
"focus": "Realistic generation (combined checkpoint)",
|
|
214
|
-
"presets": {
|
|
215
|
-
"distilled_fast": {
|
|
216
|
-
"steps": 10,
|
|
217
|
-
"cfg": 1.0,
|
|
218
|
-
"sampler": "euler",
|
|
219
|
-
"scheduler": "simple"
|
|
220
|
-
},
|
|
221
|
-
"standard": {
|
|
222
|
-
"steps": 30,
|
|
223
|
-
"cfg": 4.0,
|
|
224
|
-
"sampler": "euler",
|
|
225
|
-
"scheduler": "simple"
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
"notes": "Combined checkpoint (UNET+CLIP+VAE). Use CheckpointLoaderSimple, not separate loaders."
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
},
|
|
232
|
-
|
|
233
|
-
"z_image": {
|
|
234
|
-
"display_name": "Z-Image Family",
|
|
235
|
-
"architecture": "z_image",
|
|
236
|
-
"notes": "Must use Qwen tokenizer, not standard CLIP nodes.",
|
|
237
|
-
|
|
238
|
-
"models": {
|
|
239
|
-
"z_image_turbo": {
|
|
240
|
-
"display_name": "Z-Image Turbo",
|
|
241
|
-
"unet": "z_image_turbo_bf16.safetensors",
|
|
242
|
-
"clip": "qwen_3_4b.safetensors",
|
|
243
|
-
"vae": "z-image-ae.safetensors",
|
|
244
|
-
"clip_type": "qwen_image",
|
|
245
|
-
"presets": {
|
|
246
|
-
"author_recommended": {
|
|
247
|
-
"steps": 14,
|
|
248
|
-
"cfg": 1.0,
|
|
249
|
-
"sampler": "res_2s",
|
|
250
|
-
"scheduler": "simple",
|
|
251
|
-
"notes": "From CopaxTimeless author. Distilled CFG 1."
|
|
252
|
-
},
|
|
253
|
-
"beauty_fashion": {
|
|
254
|
-
"steps": 10,
|
|
255
|
-
"cfg": 1.0,
|
|
256
|
-
"sampler": "euler_ancestral",
|
|
257
|
-
"scheduler": "beta",
|
|
258
|
-
"notes": "Smooth skin, ideal for beauty/fashion (560-image test)."
|
|
259
|
-
},
|
|
260
|
-
"sharpest": {
|
|
261
|
-
"steps": 10,
|
|
262
|
-
"cfg": 1.0,
|
|
263
|
-
"sampler": "dpmpp_sde",
|
|
264
|
-
"scheduler": "beta",
|
|
265
|
-
"notes": "Sharpest, most natural results from community testing."
|
|
266
|
-
}
|
|
267
|
-
},
|
|
268
|
-
"negative_prompt_template": "over-smooth skin, plastic skin, doll face, anime, CGI, waxy texture, blurry face, fake pores, exaggerated makeup, over-sharpening, unrealistic symmetry, flat lighting, low detail skin, extra fingers, distorted anatomy"
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
},
|
|
272
|
-
|
|
273
|
-
"sdxl": {
|
|
274
|
-
"display_name": "SDXL 1.0",
|
|
275
|
-
"architecture": "sdxl",
|
|
276
|
-
"clip_type": "sdxl",
|
|
277
|
-
"prompt_style": "tags_and_natural",
|
|
278
|
-
|
|
279
|
-
"presets": {
|
|
280
|
-
"realistic_photo": {
|
|
281
|
-
"description": "Gold standard for SDXL photorealism.",
|
|
282
|
-
"steps": 25,
|
|
283
|
-
"cfg": 5.0,
|
|
284
|
-
"sampler": "dpmpp_2m",
|
|
285
|
-
"scheduler": "karras",
|
|
286
|
-
"notes": "DPM++ 2M Karras. CFG 5-7. AVOID Euler for SDXL (causes washed-out images)."
|
|
287
|
-
},
|
|
288
|
-
"realistic_creative": {
|
|
289
|
-
"description": "More diverse realistic results.",
|
|
290
|
-
"steps": 30,
|
|
291
|
-
"cfg": 6.0,
|
|
292
|
-
"sampler": "dpmpp_2m_sde",
|
|
293
|
-
"scheduler": "karras",
|
|
294
|
-
"notes": "DPM++ 2M SDE Karras for more creative variation."
|
|
295
|
-
},
|
|
296
|
-
"realistic_best": {
|
|
297
|
-
"description": "Highest quality realistic (slow).",
|
|
298
|
-
"steps": 35,
|
|
299
|
-
"cfg": 6.0,
|
|
300
|
-
"sampler": "heun",
|
|
301
|
-
"scheduler": "normal",
|
|
302
|
-
"notes": "Heun is 2x compute per step but highest quality. Use for final renders."
|
|
303
|
-
},
|
|
304
|
-
"anime_pony": {
|
|
305
|
-
"description": "Pony Diffusion V6 XL author settings.",
|
|
306
|
-
"steps": 25,
|
|
307
|
-
"cfg": 7.0,
|
|
308
|
-
"sampler": "euler_ancestral",
|
|
309
|
-
"scheduler": "normal",
|
|
310
|
-
"clip_skip": 2,
|
|
311
|
-
"notes": "CLIP SKIP 2 IS CRITICAL for Pony — model outputs blobs without it. No neg prompt needed. Use score_9, score_8_up tags."
|
|
312
|
-
},
|
|
313
|
-
"anime_sharp": {
|
|
314
|
-
"description": "Sharp anime with SDE sampler.",
|
|
315
|
-
"steps": 25,
|
|
316
|
-
"cfg": 7.5,
|
|
317
|
-
"sampler": "dpmpp_sde",
|
|
318
|
-
"scheduler": "karras",
|
|
319
|
-
"notes": "DPM++ SDE Karras for sharper anime. Slower than 2M."
|
|
320
|
-
}
|
|
321
|
-
},
|
|
322
|
-
"resolutions": {
|
|
323
|
-
"square": [1024, 1024],
|
|
324
|
-
"portrait_3_4": [896, 1152],
|
|
325
|
-
"portrait_9_16": [768, 1344],
|
|
326
|
-
"landscape_4_3": [1152, 896],
|
|
327
|
-
"landscape_16_9": [1344, 768]
|
|
328
|
-
}
|
|
329
|
-
},
|
|
330
|
-
|
|
331
|
-
"illustrious": {
|
|
332
|
-
"display_name": "Illustrious XL",
|
|
333
|
-
"architecture": "sdxl",
|
|
334
|
-
"clip_type": "sdxl",
|
|
335
|
-
"prompt_style": "booru_tags",
|
|
336
|
-
"prompt_notes": "Use danbooru tags: 1girl, solo, long_hair, blue_eyes. Quality: masterpiece, best quality, absurdres. CFG > 7.5 causes oversaturation, < 3 loses color.",
|
|
337
|
-
|
|
338
|
-
"presets": {
|
|
339
|
-
"default": {
|
|
340
|
-
"description": "Community standard Illustrious settings.",
|
|
341
|
-
"steps": 25,
|
|
342
|
-
"cfg": 4.5,
|
|
343
|
-
"sampler": "euler_ancestral",
|
|
344
|
-
"scheduler": "simple",
|
|
345
|
-
"notes": "CFG 4.5-5.0 is the sweet spot. euler_ancestral is community favorite."
|
|
346
|
-
},
|
|
347
|
-
"detailed": {
|
|
348
|
-
"steps": 30,
|
|
349
|
-
"cfg": 5.0,
|
|
350
|
-
"sampler": "dpmpp_2m",
|
|
351
|
-
"scheduler": "karras",
|
|
352
|
-
"notes": "More consistent/detailed. For complex compositions, increase steps to 40."
|
|
353
|
-
},
|
|
354
|
-
"sharp_shading": {
|
|
355
|
-
"steps": 15,
|
|
356
|
-
"cfg": 5.0,
|
|
357
|
-
"sampler": "dpmpp_2s_ancestral",
|
|
358
|
-
"scheduler": "karras",
|
|
359
|
-
"notes": "Enhanced shading detail. Watch for noise in flat color areas."
|
|
360
|
-
}
|
|
361
|
-
},
|
|
362
|
-
"resolutions": {
|
|
363
|
-
"optimal_range": "1024-1536px per side"
|
|
364
|
-
}
|
|
365
|
-
},
|
|
366
|
-
|
|
367
|
-
"flux": {
|
|
368
|
-
"display_name": "Flux.1",
|
|
369
|
-
"architecture": "flux",
|
|
370
|
-
"clip_type": "flux",
|
|
371
|
-
"prompt_style": "natural_language",
|
|
372
|
-
"prompt_notes": "Natural language descriptions. No quality tags needed. Detailed, descriptive prompts work best.",
|
|
373
|
-
"notes": "Flux uses FluxGuidance node (guidance=3.5), NOT KSampler CFG. Set KSampler CFG=1.0 always.",
|
|
374
|
-
|
|
375
|
-
"presets": {
|
|
376
|
-
"dev": {
|
|
377
|
-
"description": "Flux.1-dev standard.",
|
|
378
|
-
"steps": 20,
|
|
379
|
-
"cfg": 1.0,
|
|
380
|
-
"sampler": "euler",
|
|
381
|
-
"scheduler": "simple",
|
|
382
|
-
"guidance": 3.5,
|
|
383
|
-
"notes": "Guidance 3.5 via FluxGuidance node. Steps 20-28. Short prompts: guidance 3.5-4.0, long prompts: 1.0-1.5."
|
|
384
|
-
},
|
|
385
|
-
"schnell": {
|
|
386
|
-
"description": "Flux.1-schnell (1-4 steps, no LoRA needed).",
|
|
387
|
-
"steps": 4,
|
|
388
|
-
"cfg": 1.0,
|
|
389
|
-
"sampler": "euler",
|
|
390
|
-
"scheduler": "simple"
|
|
391
|
-
},
|
|
392
|
-
"flux2_turbo": {
|
|
393
|
-
"description": "Flux 2 with turbo LoRA.",
|
|
394
|
-
"steps": 4,
|
|
395
|
-
"cfg": 1.0,
|
|
396
|
-
"sampler": "euler",
|
|
397
|
-
"scheduler": "simple",
|
|
398
|
-
"lora": {
|
|
399
|
-
"name": "flux2-turbo-lora.safetensors",
|
|
400
|
-
"strength": 1.0
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
},
|
|
404
|
-
"resolutions": {
|
|
405
|
-
"square": [1024, 1024],
|
|
406
|
-
"portrait_3_4": [896, 1152],
|
|
407
|
-
"landscape_4_3": [1152, 896]
|
|
408
|
-
}
|
|
409
|
-
},
|
|
410
|
-
|
|
411
|
-
"sd35": {
|
|
412
|
-
"display_name": "Stable Diffusion 3.5",
|
|
413
|
-
"architecture": "sd3",
|
|
414
|
-
|
|
415
|
-
"presets": {
|
|
416
|
-
"large": {
|
|
417
|
-
"steps": 25,
|
|
418
|
-
"cfg": 4.5,
|
|
419
|
-
"sampler": "dpmpp_2m",
|
|
420
|
-
"scheduler": "normal"
|
|
421
|
-
},
|
|
422
|
-
"large_turbo": {
|
|
423
|
-
"steps": 5,
|
|
424
|
-
"cfg": 1.0,
|
|
425
|
-
"sampler": "euler",
|
|
426
|
-
"scheduler": "normal"
|
|
427
|
-
},
|
|
428
|
-
"medium": {
|
|
429
|
-
"steps": 28,
|
|
430
|
-
"cfg": 4.5,
|
|
431
|
-
"sampler": "euler",
|
|
432
|
-
"scheduler": "normal"
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
},
|
|
437
|
-
|
|
438
|
-
"lightning_loras": {
|
|
439
|
-
"_description": "Index of available lightning/turbo LoRAs.",
|
|
440
|
-
|
|
441
|
-
"qwen_image_4step": {
|
|
442
|
-
"file": "Qwen-Image-Lightning-4steps-V1.0.safetensors",
|
|
443
|
-
"source": "https://huggingface.co/lightx2v/Qwen-Image-2512-Lightning",
|
|
444
|
-
"steps": 4,
|
|
445
|
-
"compatible_with": ["qwen_image", "qwen_image_2512", "qwen_finetuned"],
|
|
446
|
-
"strength": 1.0,
|
|
447
|
-
"cfg": 1.0,
|
|
448
|
-
"speedup": "12-25x"
|
|
449
|
-
},
|
|
450
|
-
"qwen_image_8step": {
|
|
451
|
-
"file": "Qwen-Image-Lightning-8steps-V1.0.safetensors",
|
|
452
|
-
"source": "https://huggingface.co/lightx2v/Qwen-Image-2512-Lightning",
|
|
453
|
-
"steps": 8,
|
|
454
|
-
"compatible_with": ["qwen_image", "qwen_image_2512", "qwen_finetuned"],
|
|
455
|
-
"strength": 1.0,
|
|
456
|
-
"cfg": 1.0,
|
|
457
|
-
"notes": "Better quality than 4-step. Use CFG 2.5 for character detail."
|
|
458
|
-
},
|
|
459
|
-
"qwen_edit_2511_4step": {
|
|
460
|
-
"file": "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors",
|
|
461
|
-
"source": "https://huggingface.co/lightx2v/Qwen-Image-Edit-2511-Lightning",
|
|
462
|
-
"steps": 4,
|
|
463
|
-
"compatible_with": ["qwen_image_2511_edit"],
|
|
464
|
-
"strength": 1.0,
|
|
465
|
-
"cfg": 1.0,
|
|
466
|
-
"speedup": "~10x",
|
|
467
|
-
"notes": "Cannot combine with distilled model."
|
|
468
|
-
},
|
|
469
|
-
"wuli_turbo_v3": {
|
|
470
|
-
"file": "NOT_INSTALLED",
|
|
471
|
-
"source": "https://huggingface.co/Wuli-art/Qwen-Image-2512-Turbo-LoRA",
|
|
472
|
-
"steps": 4,
|
|
473
|
-
"compatible_with": ["qwen_image_2512"],
|
|
474
|
-
"strength": 1.0,
|
|
475
|
-
"cfg": 1.0,
|
|
476
|
-
"speedup": "20x",
|
|
477
|
-
"notes": "Wuli-art V3.0 (Jan 2026). CFG-distilled. Also has 2-step and 8-step variants. May need download."
|
|
478
|
-
},
|
|
479
|
-
"flux2_turbo": {
|
|
480
|
-
"file": "flux2-turbo-lora.safetensors",
|
|
481
|
-
"steps": 4,
|
|
482
|
-
"compatible_with": ["flux"],
|
|
483
|
-
"strength": 1.0,
|
|
484
|
-
"cfg": 1.0
|
|
485
|
-
}
|
|
486
|
-
},
|
|
487
|
-
|
|
488
|
-
"sampler_guide": {
|
|
489
|
-
"_description": "Quick reference for sampler/scheduler by use case.",
|
|
490
|
-
"general_fast": { "sampler": "euler", "scheduler": "simple", "notes": "Works everywhere. Default." },
|
|
491
|
-
"sdxl_realistic": { "sampler": "dpmpp_2m", "scheduler": "karras", "notes": "SDXL gold standard. AVOID Euler on SDXL." },
|
|
492
|
-
"sdxl_anime": { "sampler": "euler_ancestral", "scheduler": "normal", "notes": "Pony/anime SDXL. Clip skip 2 for Pony." },
|
|
493
|
-
"illustrious": { "sampler": "euler_ancestral", "scheduler": "simple", "notes": "CFG 4.5-5.0 sweet spot." },
|
|
494
|
-
"character_composition":{ "sampler": "euler_ancestral", "scheduler": "beta", "notes": "Multi-character scenes, varied compositions." },
|
|
495
|
-
"qwen_realistic_hq": { "sampler": "res_multistep", "scheduler": "sgm_uniform", "notes": "CopaxTimeless pick for Qwen." },
|
|
496
|
-
"z_image_sharp": { "sampler": "dpmpp_sde", "scheduler": "beta", "notes": "Sharpest Z-Image results (560-image test)." },
|
|
497
|
-
"z_image_beauty": { "sampler": "euler_ancestral", "scheduler": "beta", "notes": "Smooth skin, fashion/beauty." },
|
|
498
|
-
"z_image_turbo": { "sampler": "res_2s", "scheduler": "simple", "notes": "Z-Image Turbo distilled." }
|
|
499
|
-
},
|
|
500
|
-
|
|
501
|
-
"_contributing": {
|
|
502
|
-
"how_to_contribute": "Fork the repo, add your model/preset, submit a PR.",
|
|
503
|
-
"required_fields": ["Model name + author", "Source URL", "At least one preset (steps/cfg/sampler/scheduler)", "Resolution if non-standard"],
|
|
504
|
-
"optional_fields": ["Lightning LoRA compatibility", "Prompt style tips", "Known quirks", "img2img denoise range"],
|
|
505
|
-
"contributors": [
|
|
506
|
-
{ "name": "artokun", "role": "maintainer", "date": "2026-02-16" }
|
|
507
|
-
]
|
|
508
|
-
}
|
|
509
|
-
}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
// =============================================================================
|
|
2
|
-
// ComfyUI MCP — User Model Settings
|
|
3
|
-
// =============================================================================
|
|
4
|
-
//
|
|
5
|
-
// Your personal overrides. Deep-merged ON TOP of model-settings.json defaults.
|
|
6
|
-
// User settings always win. This file is gitignored.
|
|
7
|
-
//
|
|
8
|
-
// Merge rules:
|
|
9
|
-
// - Keys here override matching keys in defaults
|
|
10
|
-
// - New keys are added alongside defaults
|
|
11
|
-
// - To "disable" a default, override it with your preferred value
|
|
12
|
-
//
|
|
13
|
-
// Tip: Copy any preset from model-settings.json, paste here, tweak values.
|
|
14
|
-
// Only include what you want to change — everything else inherits from defaults.
|
|
15
|
-
// =============================================================================
|
|
16
|
-
{
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
// Override existing presets
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
// "model_families": {
|
|
21
|
-
//
|
|
22
|
-
// // Example: Make Qwen 2512 standard faster by default
|
|
23
|
-
// "qwen_image": {
|
|
24
|
-
// "presets": {
|
|
25
|
-
// "standard": {
|
|
26
|
-
// "steps": 30,
|
|
27
|
-
// "notes": "I prefer 30 steps — good enough quality, 40% faster"
|
|
28
|
-
// }
|
|
29
|
-
// }
|
|
30
|
-
// },
|
|
31
|
-
//
|
|
32
|
-
// // Example: Add a personal preset to an existing family
|
|
33
|
-
// "sdxl": {
|
|
34
|
-
// "presets": {
|
|
35
|
-
// "my_portrait_style": {
|
|
36
|
-
// "description": "My go-to for portrait photography",
|
|
37
|
-
// "steps": 28,
|
|
38
|
-
// "cfg": 6.5,
|
|
39
|
-
// "sampler": "dpmpp_2m_sde",
|
|
40
|
-
// "scheduler": "karras",
|
|
41
|
-
// "denoise": 1.0
|
|
42
|
-
// }
|
|
43
|
-
// }
|
|
44
|
-
// }
|
|
45
|
-
// },
|
|
46
|
-
|
|
47
|
-
// ---------------------------------------------------------------------------
|
|
48
|
-
// Add models not in the official config
|
|
49
|
-
// ---------------------------------------------------------------------------
|
|
50
|
-
// "custom_models": {
|
|
51
|
-
//
|
|
52
|
-
// // Example: A custom SDXL merge you downloaded
|
|
53
|
-
// "my_sdxl_merge_v3": {
|
|
54
|
-
// "display_name": "My Custom SDXL Merge v3",
|
|
55
|
-
// "architecture": "sdxl",
|
|
56
|
-
// "loader": "CheckpointLoaderSimple",
|
|
57
|
-
// "checkpoint": "my_merge_v3.safetensors",
|
|
58
|
-
// "presets": {
|
|
59
|
-
// "default": {
|
|
60
|
-
// "steps": 22,
|
|
61
|
-
// "cfg": 6.5,
|
|
62
|
-
// "sampler": "dpmpp_2m",
|
|
63
|
-
// "scheduler": "karras"
|
|
64
|
-
// }
|
|
65
|
-
// }
|
|
66
|
-
// },
|
|
67
|
-
//
|
|
68
|
-
// // Example: A Qwen fine-tune from CivitAI
|
|
69
|
-
// "my_qwen_finetune": {
|
|
70
|
-
// "display_name": "SomeAuthor's Qwen Realistic v2",
|
|
71
|
-
// "architecture": "qwen_image",
|
|
72
|
-
// "unet_path": "Qwen/custom/someModel_v2.safetensors",
|
|
73
|
-
// "clip": "qwen_2.5_vl_7b_fp8_scaled.safetensors",
|
|
74
|
-
// "vae": "qwen_image_vae.safetensors",
|
|
75
|
-
// "source": "https://civitai.com/models/XXXXX",
|
|
76
|
-
// "presets": {
|
|
77
|
-
// "author_recommended": {
|
|
78
|
-
// "steps": 25,
|
|
79
|
-
// "cfg": 5.0,
|
|
80
|
-
// "sampler": "euler",
|
|
81
|
-
// "scheduler": "simple",
|
|
82
|
-
// "auraflow_shift": 3.1
|
|
83
|
-
// }
|
|
84
|
-
// }
|
|
85
|
-
// }
|
|
86
|
-
// },
|
|
87
|
-
|
|
88
|
-
// ---------------------------------------------------------------------------
|
|
89
|
-
// Pin your favorite presets for quick access
|
|
90
|
-
// ---------------------------------------------------------------------------
|
|
91
|
-
// "favorite_presets": {
|
|
92
|
-
// "txt2img_default": "qwen_image.lightning_4step",
|
|
93
|
-
// "portrait_default": "qwen_image.lightning_8step_character",
|
|
94
|
-
// "anime_default": "illustrious.default",
|
|
95
|
-
// "fast_realistic": "qwen_image_2512.lightning_4step"
|
|
96
|
-
// }
|
|
97
|
-
}
|
package/scripts/postinstall.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Post-install script for comfyui-mcp.
|
|
5
|
-
*
|
|
6
|
-
* Copies model-settings.user.jsonc from the example template if the user
|
|
7
|
-
* doesn't already have one — same pattern as .env.example → .env.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { existsSync, copyFileSync } from "node:fs";
|
|
11
|
-
import { resolve, dirname } from "node:path";
|
|
12
|
-
import { fileURLToPath } from "node:url";
|
|
13
|
-
|
|
14
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
15
|
-
const root = resolve(__dirname, "..");
|
|
16
|
-
|
|
17
|
-
const example = resolve(root, "model-settings.user.jsonc.example");
|
|
18
|
-
const target = resolve(root, "model-settings.user.jsonc");
|
|
19
|
-
|
|
20
|
-
if (!existsSync(target)) {
|
|
21
|
-
if (existsSync(example)) {
|
|
22
|
-
copyFileSync(example, target);
|
|
23
|
-
console.log(
|
|
24
|
-
"✔ Created model-settings.user.jsonc from example template. Edit it to add your personal presets."
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
// User file already exists — don't touch it
|
|
29
|
-
}
|