feat: initial ComfyUI workflow templates extension
- 40 workflow templates (text-to-image, image-to-video, image-to-image, text-to-music, upscaling, advanced, nsfw) - Color-coded placeholder preview images using Pillow - Template-only extension (no custom nodes) - Preview generation script for future workflow additions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
BIN
example_workflows/acestep-m2m-editing-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
865
example_workflows/acestep-m2m-editing-v1.json
Normal file
@@ -0,0 +1,865 @@
|
||||
{
|
||||
"id": "88ac5dad-efd7-40bb-84fe-fbaefdee1fa9",
|
||||
"revision": 0,
|
||||
"last_node_id": 75,
|
||||
"last_link_id": 138,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 49,
|
||||
"type": "LatentApplyOperationCFG",
|
||||
"pos": [
|
||||
940,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
290,
|
||||
50
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 113
|
||||
},
|
||||
{
|
||||
"name": "operation",
|
||||
"type": "LATENT_OPERATION",
|
||||
"link": 114
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
121
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "LatentApplyOperationCFG"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [
|
||||
180,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
98
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
115
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [
|
||||
83,
|
||||
137
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "CheckpointLoaderSimple",
|
||||
"models": [
|
||||
{
|
||||
"name": "ace_step_v1_3.5b.safetensors",
|
||||
"url": "https://huggingface.co/Comfy-Org/ACE-Step_ComfyUI_repackaged/resolve/main/all_in_one/ace_step_v1_3.5b.safetensors?download=true",
|
||||
"directory": "checkpoints"
|
||||
}
|
||||
]
|
||||
},
|
||||
"widgets_values": [
|
||||
"ace_step_v1_3.5b.safetensors"
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"type": "MarkdownNote",
|
||||
"pos": [
|
||||
-460,
|
||||
-200
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
820
|
||||
],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [],
|
||||
"title": "About ACE Step and Multi-language Input",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"[Tutorial](http://docs.comfy.org/tutorials/audio/ace-step/ace-step-v1) | [教程](http://docs.comfy.org/zh-CN/tutorials/audio/ace-step/ace-step-v1)\n\n\n### Model Download\n\nDownload the following model and save it to the **ComfyUI/models/checkpoints** folder.\n[ace_step_v1_3.5b.safetensors](https://huggingface.co/Comfy-Org/ACE-Step_ComfyUI_repackaged/blob/main/all_in_one/ace_step_v1_3.5b.safetensors)\n\n\n### Multilingual Support\n\nCurrently, the implementation of multi-language support for ACE-Step V1 is achieved by uniformly converting different languages into English characters. At present, in ComfyUI, we haven't implemented the step of converting multi-languages into English. This is because if we need to implement the corresponding conversion, we have to add additional core dependencies of ComfyUI, which may lead to uncertain dependency conflicts.\n\nSo, currently, if you need to input multi-language text, you have to manually convert it into English characters to complete this process. Then, at the beginning of the corresponding `lyrics`, input the abbreviation of the corresponding language code.\n\nFor example, for Chinese, use `[zh]`, for Japanese use `[ja]`, for Korean use `[ko]`, and so on. For specific language input, please check the examples in the instructions. \n\nFor example, Chinese `[zh]`, Japanese `[ja]`, Korean `[ko]`, etc.\n\nExample:\n\n```\n[verse]\n\n[zh]wo3zou3guo4shen1ye4de5jie1dao4\n[zh]leng3feng1chui1luan4si1nian4de5piao4liang4wai4tao4\n[zh]ni3de5wei1xiao4xiang4xing1guang1hen3xuan4yao4\n[zh]zhao4liang4le5wo3gu1du2de5mei3fen1mei3miao3\n\n[chorus]\n\n[verse]\n[ko]hamkke si-kkeuleo-un sesang-ui sodong-eul pihae\n[ko]honja ogsang-eseo dalbich-ui eolyeompus-ileul balaboda\n[ko]niga salang-eun lideum-i ganghan eum-ag gatdago malhaess-eo\n[ko]han ta han tamada ma-eum-ui ondoga eolmana heojeonhanji ijge hae\n\n[bridge]\n[es]cantar mi anhelo por ti sin ocultar\n[es]como poesía y pintura, lleno de anhelo indescifrable\n[es]tu sombra es tan terca como el viento, inborrable\n[es]persiguiéndote en vuelo, brilla como cruzar una mar de nubes\n\n[chorus]\n[fr]que tu sois le vent qui souffle sur ma main\n[fr]un contact chaud comme la douce pluie printanière\n[fr]que tu sois le vent qui s'entoure de mon corps\n[fr]un amour profond qui ne s'éloignera jamais\n\n```\n\n---\n\n### 模型下载\n\n下载下面的模型并保存到 **ComfyUI/models/checkpoints** 文件夹下\n[ace_step_v1_3.5b.safetensors](https://huggingface.co/Comfy-Org/ACE-Step_ComfyUI_repackaged/blob/main/all_in_one/ace_step_v1_3.5b.safetensors)\n\n\n### 多语言支持\n\n目前 ACE-Step V1 多语言的实现是通过将不同语言统一转换为英文字符来实现的,目前在 ComfyUI 中我们并没有实现多语言转换为英文的这一步骤。因为如果需要实现对应转换,则需要增加额外的 ComfyUI 核心依赖,这将可能带来不确定的依赖冲突。\n\n所以目前如果你需要输入多语言,则需要手动转换为英文字符来实现这一过程,然后在对应 `lyrics` 开头输入对应语言代码的缩写。\n\n比如中文`[zh]` 日语 `[ja]` 韩语 `[ko]` 等,具体语言输入请查看说明中的示例\n\n"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"type": "VAEDecodeAudio",
|
||||
"pos": [
|
||||
1080,
|
||||
270
|
||||
],
|
||||
"size": [
|
||||
150.93612670898438,
|
||||
46
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 13,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 122
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 83
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [
|
||||
126,
|
||||
127,
|
||||
128
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "VAEDecodeAudio"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"type": "SaveAudio",
|
||||
"pos": [
|
||||
1260,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
112
|
||||
],
|
||||
"flags": {},
|
||||
"order": 15,
|
||||
"mode": 4,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 127
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "SaveAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"audio/ComfyUI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"type": "SaveAudioOpus",
|
||||
"pos": [
|
||||
1260,
|
||||
220
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
136
|
||||
],
|
||||
"flags": {},
|
||||
"order": 16,
|
||||
"mode": 4,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 128
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "SaveAudioOpus"
|
||||
},
|
||||
"widgets_values": [
|
||||
"audio/ComfyUI",
|
||||
"128k"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"type": "ConditioningZeroOut",
|
||||
"pos": [
|
||||
600,
|
||||
70
|
||||
],
|
||||
"size": [
|
||||
197.712890625,
|
||||
26
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": true
|
||||
},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "conditioning",
|
||||
"type": "CONDITIONING",
|
||||
"link": 108
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
120
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "ConditioningZeroOut"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"type": "ModelSamplingSD3",
|
||||
"pos": [
|
||||
590,
|
||||
-40
|
||||
],
|
||||
"size": [
|
||||
330,
|
||||
60
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 115
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
113
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "ModelSamplingSD3"
|
||||
},
|
||||
"widgets_values": [
|
||||
5.000000000000001
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"type": "LatentOperationTonemapReinhard",
|
||||
"pos": [
|
||||
590,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
330,
|
||||
58
|
||||
],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT_OPERATION",
|
||||
"type": "LATENT_OPERATION",
|
||||
"links": [
|
||||
114
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "LatentOperationTonemapReinhard"
|
||||
},
|
||||
"widgets_values": [
|
||||
1.0000000000000002
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"type": "EmptyAceStepLatentAudio",
|
||||
"pos": [
|
||||
180,
|
||||
50
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
82
|
||||
],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 4,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": []
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "EmptyAceStepLatentAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
120,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"type": "VAEEncodeAudio",
|
||||
"pos": [
|
||||
180,
|
||||
180
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
46
|
||||
],
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 136
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 137
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
138
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "VAEEncodeAudio"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"type": "LoadAudio",
|
||||
"pos": [
|
||||
180,
|
||||
340
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
140
|
||||
],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [
|
||||
136
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "LoadAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"audio_ace_step_1_t2a_song-1.mp3",
|
||||
null,
|
||||
null
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"type": "KSampler",
|
||||
"pos": [
|
||||
940,
|
||||
-40
|
||||
],
|
||||
"size": [
|
||||
290,
|
||||
262
|
||||
],
|
||||
"flags": {},
|
||||
"order": 12,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 121
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 117
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 120
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 138
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
122
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
938549746349002,
|
||||
"randomize",
|
||||
50,
|
||||
5,
|
||||
"euler",
|
||||
"simple",
|
||||
0.30000000000000004
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"type": "SaveAudioMP3",
|
||||
"pos": [
|
||||
1260,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
136
|
||||
],
|
||||
"flags": {},
|
||||
"order": 14,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 126
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "SaveAudioMP3"
|
||||
},
|
||||
"widgets_values": [
|
||||
"audio/ComfyUI",
|
||||
"V0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"type": "Note",
|
||||
"pos": [
|
||||
1260,
|
||||
410
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
90
|
||||
],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [],
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"These nodes can save audio in different formats. Currently, all the modes are Bypass. You can enable them as per your needs.\n\n这些节点可以将 audio 保存成不同格式,目前的模式都是 Bypass ,你可以按你的需要来启用"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"type": "TextEncodeAceStepAudio",
|
||||
"pos": [
|
||||
590,
|
||||
120
|
||||
],
|
||||
"size": [
|
||||
340,
|
||||
500
|
||||
],
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 80
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
108,
|
||||
117
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "TextEncodeAceStepAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"anime, cute female vocals, kawaii pop, j-pop, childish, piano, guitar, synthesizer, fast, happy, cheerful, lighthearted",
|
||||
"[verse]\nフワフワ オミミガ\nユレルヨ カゼノナカ\nキラキラ アオイメ\nミツメル セカイヲ\n\n[verse]\nフワフワ シッポハ\nオオキク ユレルヨ\nキンイロ カミノケ\nナビクヨ カゼノナカ\n\n[verse]\nコンフィーユーアイノ\nマモリビト\nピンクノ セーターデ\nエガオヲ クレルヨ\n\nアオイロ スカートト\nクロイコート キンノモヨウ\nヤサシイ ヒカリガ\nツツムヨ フェネックガール\n\n[verse]\nフワフワ オミミデ\nキコエル ココロノ コエ\nダイスキ フェネックガール\nイツデモ ソバニイルヨ",
|
||||
0.9900000000000002
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 75,
|
||||
"type": "MarkdownNote",
|
||||
"pos": [
|
||||
950,
|
||||
410
|
||||
],
|
||||
"size": [
|
||||
280,
|
||||
210
|
||||
],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [],
|
||||
"title": "About Repainting",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"Providing the lyrics of the original song or the modified lyrics is very important for the output of repainting or editing. \n\nAdjust the value of the **denoise** parameter in KSampler. The larger the value, the lower the similarity between the output audio and the original audio.\n\n提供原始歌曲的歌词或者修改后的歌词对于音频编辑的输出是非常重要的,调整 KSampler 中的 denoise 参数的数值,数值越大输出的音频与原始音频相似度越低"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
80,
|
||||
40,
|
||||
1,
|
||||
14,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
83,
|
||||
40,
|
||||
2,
|
||||
18,
|
||||
1,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
108,
|
||||
14,
|
||||
0,
|
||||
44,
|
||||
0,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
113,
|
||||
51,
|
||||
0,
|
||||
49,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
114,
|
||||
50,
|
||||
0,
|
||||
49,
|
||||
1,
|
||||
"LATENT_OPERATION"
|
||||
],
|
||||
[
|
||||
115,
|
||||
40,
|
||||
0,
|
||||
51,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
117,
|
||||
14,
|
||||
0,
|
||||
52,
|
||||
1,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
120,
|
||||
44,
|
||||
0,
|
||||
52,
|
||||
2,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
121,
|
||||
49,
|
||||
0,
|
||||
52,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
122,
|
||||
52,
|
||||
0,
|
||||
18,
|
||||
0,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
126,
|
||||
18,
|
||||
0,
|
||||
59,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
127,
|
||||
18,
|
||||
0,
|
||||
60,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
128,
|
||||
18,
|
||||
0,
|
||||
61,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
136,
|
||||
64,
|
||||
0,
|
||||
68,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
137,
|
||||
40,
|
||||
2,
|
||||
68,
|
||||
1,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
138,
|
||||
68,
|
||||
0,
|
||||
52,
|
||||
3,
|
||||
"LATENT"
|
||||
]
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Load model here",
|
||||
"bounding": [
|
||||
170,
|
||||
-230,
|
||||
390,
|
||||
180
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Latent",
|
||||
"bounding": [
|
||||
170,
|
||||
-30,
|
||||
390,
|
||||
280
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Adjust the vocal volume",
|
||||
"bounding": [
|
||||
580,
|
||||
-230,
|
||||
350,
|
||||
140
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "For repainting",
|
||||
"bounding": [
|
||||
170,
|
||||
270,
|
||||
390,
|
||||
223.60000610351562
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Output",
|
||||
"bounding": [
|
||||
1250,
|
||||
-230,
|
||||
630,
|
||||
760
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"ds": {
|
||||
"scale": 0.6830134553650705,
|
||||
"offset": [
|
||||
785.724285521853,
|
||||
434.02395631202546
|
||||
]
|
||||
},
|
||||
"frontendVersion": "1.19.9",
|
||||
"node_versions": {
|
||||
"comfy-core": "0.3.34",
|
||||
"ace-step": "06f751d65491c9077fa2bc9b06d2c6f2a90e4c56"
|
||||
},
|
||||
"VHS_latentpreview": false,
|
||||
"VHS_latentpreviewrate": 0,
|
||||
"VHS_MetadataImage": true,
|
||||
"VHS_KeepIntermediate": true
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/acestep-official-t2m-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
841
example_workflows/acestep-official-t2m-v1.json
Normal file
@@ -0,0 +1,841 @@
|
||||
{
|
||||
"id": "88ac5dad-efd7-40bb-84fe-fbaefdee1fa9",
|
||||
"revision": 0,
|
||||
"last_node_id": 73,
|
||||
"last_link_id": 137,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 49,
|
||||
"type": "LatentApplyOperationCFG",
|
||||
"pos": [
|
||||
940,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
290,
|
||||
50
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 113
|
||||
},
|
||||
{
|
||||
"name": "operation",
|
||||
"type": "LATENT_OPERATION",
|
||||
"link": 114
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
121
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "LatentApplyOperationCFG"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"type": "LoadAudio",
|
||||
"pos": [
|
||||
180,
|
||||
340
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
140
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 4,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [
|
||||
136
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "LoadAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"ace_step_example.flac",
|
||||
null,
|
||||
null
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"type": "VAEEncodeAudio",
|
||||
"pos": [
|
||||
180,
|
||||
180
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
46
|
||||
],
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 4,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 136
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 137
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "VAEEncodeAudio"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [
|
||||
180,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
98
|
||||
],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
115
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [
|
||||
83,
|
||||
137
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "CheckpointLoaderSimple",
|
||||
"models": [
|
||||
{
|
||||
"name": "ace_step_v1_3.5b.safetensors",
|
||||
"url": "https://huggingface.co/Comfy-Org/ACE-Step_ComfyUI_repackaged/resolve/main/all_in_one/ace_step_v1_3.5b.safetensors?download=true",
|
||||
"directory": "checkpoints"
|
||||
}
|
||||
]
|
||||
},
|
||||
"widgets_values": [
|
||||
"ace_step_v1_3.5b.safetensors"
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"type": "MarkdownNote",
|
||||
"pos": [
|
||||
-460,
|
||||
-200
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
820
|
||||
],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [],
|
||||
"title": "About ACE Step and Multi-language Input",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"[Tutorial](http://docs.comfy.org/tutorials/audio/ace-step/ace-step-v1) | [教程](http://docs.comfy.org/zh-CN/tutorials/audio/ace-step/ace-step-v1)\n\n\n### Model Download\n\nDownload the following model and save it to the **ComfyUI/models/checkpoints** folder.\n[ace_step_v1_3.5b.safetensors](https://huggingface.co/Comfy-Org/ACE-Step_ComfyUI_repackaged/blob/main/all_in_one/ace_step_v1_3.5b.safetensors)\n\n\n### Multilingual Support\n\nCurrently, the implementation of multi-language support for ACE-Step V1 is achieved by uniformly converting different languages into English characters. At present, in ComfyUI, we haven't implemented the step of converting multi-languages into English. This is because if we need to implement the corresponding conversion, we have to add additional core dependencies of ComfyUI, which may lead to uncertain dependency conflicts.\n\nSo, currently, if you need to input multi-language text, you have to manually convert it into English characters to complete this process. Then, at the beginning of the corresponding `lyrics`, input the abbreviation of the corresponding language code.\n\nFor example, for Chinese, use `[zh]`, for Japanese use `[ja]`, for Korean use `[ko]`, and so on. For specific language input, please check the examples in the instructions. \n\nFor example, Chinese `[zh]`, Japanese `[ja]`, Korean `[ko]`, etc.\n\nExample:\n\n```\n[verse]\n\n[zh]wo3zou3guo4shen1ye4de5jie1dao4\n[zh]leng3feng1chui1luan4si1nian4de5piao4liang4wai4tao4\n[zh]ni3de5wei1xiao4xiang4xing1guang1hen3xuan4yao4\n[zh]zhao4liang4le5wo3gu1du2de5mei3fen1mei3miao3\n\n[chorus]\n\n[verse]\n[ko]hamkke si-kkeuleo-un sesang-ui sodong-eul pihae\n[ko]honja ogsang-eseo dalbich-ui eolyeompus-ileul balaboda\n[ko]niga salang-eun lideum-i ganghan eum-ag gatdago malhaess-eo\n[ko]han ta han tamada ma-eum-ui ondoga eolmana heojeonhanji ijge hae\n\n[bridge]\n[es]cantar mi anhelo por ti sin ocultar\n[es]como poesía y pintura, lleno de anhelo indescifrable\n[es]tu sombra es tan terca como el viento, inborrable\n[es]persiguiéndote en vuelo, brilla como cruzar una mar de nubes\n\n[chorus]\n[fr]que tu sois le vent qui souffle sur ma main\n[fr]un contact chaud comme la douce pluie printanière\n[fr]que tu sois le vent qui s'entoure de mon corps\n[fr]un amour profond qui ne s'éloignera jamais\n\n```\n\n---\n\n### 模型下载\n\n下载下面的模型并保存到 **ComfyUI/models/checkpoints** 文件夹下\n[ace_step_v1_3.5b.safetensors](https://huggingface.co/Comfy-Org/ACE-Step_ComfyUI_repackaged/blob/main/all_in_one/ace_step_v1_3.5b.safetensors)\n\n\n### 多语言支持\n\n目前 ACE-Step V1 多语言的实现是通过将不同语言统一转换为英文字符来实现的,目前在 ComfyUI 中我们并没有实现多语言转换为英文的这一步骤。因为如果需要实现对应转换,则需要增加额外的 ComfyUI 核心依赖,这将可能带来不确定的依赖冲突。\n\n所以目前如果你需要输入多语言,则需要手动转换为英文字符来实现这一过程,然后在对应 `lyrics` 开头输入对应语言代码的缩写。\n\n比如中文`[zh]` 日语 `[ja]` 韩语 `[ko]` 等,具体语言输入请查看说明中的示例\n\n"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"type": "VAEDecodeAudio",
|
||||
"pos": [
|
||||
1080,
|
||||
270
|
||||
],
|
||||
"size": [
|
||||
150.93612670898438,
|
||||
46
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 12,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 122
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 83
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [
|
||||
126,
|
||||
127,
|
||||
128
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "VAEDecodeAudio"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"type": "SaveAudio",
|
||||
"pos": [
|
||||
1260,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
112
|
||||
],
|
||||
"flags": {},
|
||||
"order": 14,
|
||||
"mode": 4,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 127
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "SaveAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"audio/ComfyUI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"type": "SaveAudioOpus",
|
||||
"pos": [
|
||||
1260,
|
||||
220
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
136
|
||||
],
|
||||
"flags": {},
|
||||
"order": 15,
|
||||
"mode": 4,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 128
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "SaveAudioOpus"
|
||||
},
|
||||
"widgets_values": [
|
||||
"audio/ComfyUI",
|
||||
"128k"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"type": "Note",
|
||||
"pos": [
|
||||
1260,
|
||||
410
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
90
|
||||
],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [],
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"These nodes can save audio in different formats. Currently, all the modes are Bypass. You can enable them as per your needs.\n\n这些节点可以将 audio 保存成不同格式,目前的模式都是 Bypass ,你可以按你的需要来启用"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"type": "ConditioningZeroOut",
|
||||
"pos": [
|
||||
600,
|
||||
70
|
||||
],
|
||||
"size": [
|
||||
197.712890625,
|
||||
26
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": true
|
||||
},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "conditioning",
|
||||
"type": "CONDITIONING",
|
||||
"link": 108
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
120
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "ConditioningZeroOut"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"type": "ModelSamplingSD3",
|
||||
"pos": [
|
||||
590,
|
||||
-40
|
||||
],
|
||||
"size": [
|
||||
330,
|
||||
60
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 115
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
113
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "ModelSamplingSD3"
|
||||
},
|
||||
"widgets_values": [
|
||||
5.000000000000001
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"type": "LatentOperationTonemapReinhard",
|
||||
"pos": [
|
||||
590,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
330,
|
||||
58
|
||||
],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT_OPERATION",
|
||||
"type": "LATENT_OPERATION",
|
||||
"links": [
|
||||
114
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "LatentOperationTonemapReinhard"
|
||||
},
|
||||
"widgets_values": [
|
||||
1.0000000000000002
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"type": "KSampler",
|
||||
"pos": [
|
||||
940,
|
||||
-40
|
||||
],
|
||||
"size": [
|
||||
290,
|
||||
262
|
||||
],
|
||||
"flags": {},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 121
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 117
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 120
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 119
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
122
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
468254064217846,
|
||||
"randomize",
|
||||
50,
|
||||
5,
|
||||
"euler",
|
||||
"simple",
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"type": "TextEncodeAceStepAudio",
|
||||
"pos": [
|
||||
590,
|
||||
120
|
||||
],
|
||||
"size": [
|
||||
340,
|
||||
500
|
||||
],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 80
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
108,
|
||||
117
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "TextEncodeAceStepAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"anime, soft female vocals, kawaii pop, j-pop, childish, piano, guitar, synthesizer, fast, happy, cheerful, lighthearted\t\n",
|
||||
"[inst]\n\n[verse]\nふわふわ おみみが\nゆれるよ かぜのなか\nきらきら あおいめ\nみつめる せかいを\n\n[verse]\nふわふわ しっぽは\nおおきく ゆれるよ\nきんいろ かみのけ\nなびくよ かぜのなか\n\n[verse]\nコンフィーユーアイの\nまもりびと\nピンクの セーターで\nえがおを くれるよ\n\nあおいろ スカートと\nくろいコート きんのもよう\nやさしい ひかりが\nつつむよ フェネックガール\n\n[verse]\nふわふわ おみみで\nきこえる こころの こえ\nだいすき フェネックガール\nいつでも そばにいるよ\n\n\n",
|
||||
0.9900000000000002
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"type": "EmptyAceStepLatentAudio",
|
||||
"pos": [
|
||||
180,
|
||||
50
|
||||
],
|
||||
"size": [
|
||||
370,
|
||||
82
|
||||
],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
119
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "EmptyAceStepLatentAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
120,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"type": "SaveAudioMP3",
|
||||
"pos": [
|
||||
1260,
|
||||
-160
|
||||
],
|
||||
"size": [
|
||||
610,
|
||||
136
|
||||
],
|
||||
"flags": {},
|
||||
"order": 13,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 126
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.34",
|
||||
"Node name for S&R": "SaveAudioMP3"
|
||||
},
|
||||
"widgets_values": [
|
||||
"audio/ComfyUI",
|
||||
"V0"
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
80,
|
||||
40,
|
||||
1,
|
||||
14,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
83,
|
||||
40,
|
||||
2,
|
||||
18,
|
||||
1,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
108,
|
||||
14,
|
||||
0,
|
||||
44,
|
||||
0,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
113,
|
||||
51,
|
||||
0,
|
||||
49,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
114,
|
||||
50,
|
||||
0,
|
||||
49,
|
||||
1,
|
||||
"LATENT_OPERATION"
|
||||
],
|
||||
[
|
||||
115,
|
||||
40,
|
||||
0,
|
||||
51,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
117,
|
||||
14,
|
||||
0,
|
||||
52,
|
||||
1,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
119,
|
||||
17,
|
||||
0,
|
||||
52,
|
||||
3,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
120,
|
||||
44,
|
||||
0,
|
||||
52,
|
||||
2,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
121,
|
||||
49,
|
||||
0,
|
||||
52,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
122,
|
||||
52,
|
||||
0,
|
||||
18,
|
||||
0,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
126,
|
||||
18,
|
||||
0,
|
||||
59,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
127,
|
||||
18,
|
||||
0,
|
||||
60,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
128,
|
||||
18,
|
||||
0,
|
||||
61,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
136,
|
||||
64,
|
||||
0,
|
||||
68,
|
||||
0,
|
||||
"AUDIO"
|
||||
],
|
||||
[
|
||||
137,
|
||||
40,
|
||||
2,
|
||||
68,
|
||||
1,
|
||||
"VAE"
|
||||
]
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Load model here",
|
||||
"bounding": [
|
||||
170,
|
||||
-230,
|
||||
390,
|
||||
180
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Latent",
|
||||
"bounding": [
|
||||
170,
|
||||
-30,
|
||||
390,
|
||||
280
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Adjust the vocal volume",
|
||||
"bounding": [
|
||||
580,
|
||||
-230,
|
||||
350,
|
||||
140
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "For repainting",
|
||||
"bounding": [
|
||||
170,
|
||||
270,
|
||||
390,
|
||||
223.60000610351562
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Output",
|
||||
"bounding": [
|
||||
1250,
|
||||
-230,
|
||||
630,
|
||||
760
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"ds": {
|
||||
"scale": 1,
|
||||
"offset": [
|
||||
-147.02717343600432,
|
||||
384.62272311479
|
||||
]
|
||||
},
|
||||
"frontendVersion": "1.19.9",
|
||||
"node_versions": {
|
||||
"comfy-core": "0.3.34",
|
||||
"ace-step": "06f751d65491c9077fa2bc9b06d2c6f2a90e4c56"
|
||||
},
|
||||
"VHS_latentpreview": false,
|
||||
"VHS_latentpreviewrate": 0,
|
||||
"VHS_MetadataImage": true,
|
||||
"VHS_KeepIntermediate": true
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/animatediff-video-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
248
example_workflows/animatediff-video-production-v1.json
Normal file
@@ -0,0 +1,248 @@
|
||||
{
|
||||
"last_node_id": 10,
|
||||
"last_link_id": 12,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CheckpointLoaderSimple"},
|
||||
"widgets_values": ["v1-5-pruned-emaonly.safetensors"],
|
||||
"title": "SD 1.5 Checkpoint Loader",
|
||||
"outputs": [
|
||||
{"name": "MODEL", "type": "MODEL", "links": [1], "slot_index": 0},
|
||||
{"name": "CLIP", "type": "CLIP", "links": [2, 3], "slot_index": 1},
|
||||
{"name": "VAE", "type": "VAE", "links": [4], "slot_index": 2}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "ADE_LoadAnimateDiffModel",
|
||||
"pos": [50, 300],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "ADE_LoadAnimateDiffModel"},
|
||||
"widgets_values": ["mm_sd_v15_v2.ckpt"],
|
||||
"title": "Load AnimateDiff Motion Module",
|
||||
"outputs": [
|
||||
{"name": "MOTION_MODEL", "type": "MOTION_MODEL_ADE", "links": [5], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "ADE_ApplyAnimateDiffModelSimple",
|
||||
"pos": [450, 300],
|
||||
"size": {"0": 315, "1": 100},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "ADE_ApplyAnimateDiffModelSimple"},
|
||||
"inputs": [
|
||||
{"name": "motion_model", "type": "MOTION_MODEL_ADE", "link": 5}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "M_MODELS", "type": "M_MODELS", "links": [6], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "ADE_UseEvolvedSampling",
|
||||
"pos": [800, 100],
|
||||
"size": {"0": 315, "1": 100},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "ADE_UseEvolvedSampling"},
|
||||
"widgets_values": ["sqrt_linear (AnimateDiff)"],
|
||||
"inputs": [
|
||||
{"name": "model", "type": "MODEL", "link": 1},
|
||||
{"name": "m_models", "type": "M_MODELS", "link": 6}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "MODEL", "type": "MODEL", "links": [7], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 500],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CLIPTextEncode"},
|
||||
"widgets_values": ["A person walking through a forest, cinematic movement"],
|
||||
"title": "API Video Prompt",
|
||||
"inputs": [
|
||||
{"name": "clip", "type": "CLIP", "link": 2}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [8], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 750],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CLIPTextEncode"},
|
||||
"widgets_values": ["static, blurry, low quality"],
|
||||
"title": "API Negative Prompt",
|
||||
"inputs": [
|
||||
{"name": "clip", "type": "CLIP", "link": 3}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [9], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [800, 300],
|
||||
"size": {"0": 315, "1": 100},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "EmptyLatentImage"},
|
||||
"widgets_values": [512, 512, 16],
|
||||
"title": "API Latent Config (16 frames)",
|
||||
"outputs": [
|
||||
{"name": "LATENT", "type": "LATENT", "links": [10], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "KSamplerAdvanced",
|
||||
"pos": [1150, 100],
|
||||
"size": {"0": 315, "1": 474},
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "KSamplerAdvanced"},
|
||||
"widgets_values": ["enable", 42, "fixed", 20, 8.0, "euler", "normal", 0, 10000, "disable"],
|
||||
"title": "AnimateDiff Sampler",
|
||||
"inputs": [
|
||||
{"name": "model", "type": "MODEL", "link": 7},
|
||||
{"name": "positive", "type": "CONDITIONING", "link": 8},
|
||||
{"name": "negative", "type": "CONDITIONING", "link": 9},
|
||||
{"name": "latent_image", "type": "LATENT", "link": 10}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "LATENT", "type": "LATENT", "links": [11], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1500, 100],
|
||||
"size": {"0": 315, "1": 100},
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "VAEDecode"},
|
||||
"title": "VAE Decode Video",
|
||||
"inputs": [
|
||||
{"name": "samples", "type": "LATENT", "link": 11},
|
||||
{"name": "vae", "type": "VAE", "link": 4}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "IMAGE", "type": "IMAGE", "links": [12], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": "VHS_VideoCombine",
|
||||
"pos": [1800, 100],
|
||||
"size": {"0": 315, "1": 100},
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "VHS_VideoCombine"},
|
||||
"widgets_values": [8, 0, "animatediff_output", "video/h264-mp4", false, true, "yuv420p", 19, true, false],
|
||||
"title": "Combine Frames",
|
||||
"inputs": [
|
||||
{"name": "images", "type": "IMAGE", "link": 12}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 4, 0, "MODEL"],
|
||||
[2, 1, 1, 5, 0, "CLIP"],
|
||||
[3, 1, 1, 6, 0, "CLIP"],
|
||||
[4, 1, 2, 9, 1, "VAE"],
|
||||
[5, 2, 0, 3, 0, "MOTION_MODEL_ADE"],
|
||||
[6, 3, 0, 4, 1, "M_MODELS"],
|
||||
[7, 4, 0, 8, 0, "MODEL"],
|
||||
[8, 5, 0, 8, 1, "CONDITIONING"],
|
||||
[9, 6, 0, 8, 2, "CONDITIONING"],
|
||||
[10, 7, 0, 8, 3, "LATENT"],
|
||||
[11, 8, 0, 9, 0, "LATENT"],
|
||||
[12, 9, 0, 10, 0, "IMAGE"]
|
||||
],
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "AnimateDiff Video Production",
|
||||
"version": "1.0.0",
|
||||
"description": "Text-to-video generation using AnimateDiff. Create animated sequences from text prompts with natural motion.",
|
||||
"category": "advanced",
|
||||
"tags": [
|
||||
"animatediff",
|
||||
"text-to-video",
|
||||
"animation",
|
||||
"advanced",
|
||||
"production"
|
||||
],
|
||||
"requirements": {
|
||||
"models": [
|
||||
"stable-diffusion-v1-5",
|
||||
"animatediff-motion-module-v15"
|
||||
],
|
||||
"custom_nodes": [
|
||||
"ComfyUI-AnimateDiff-Evolved",
|
||||
"ComfyUI-VideoHelperSuite"
|
||||
],
|
||||
"vram_min": "12GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 5,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"description": "Describe action and movement"
|
||||
},
|
||||
"frames": {
|
||||
"node_id": 7,
|
||||
"type": "integer",
|
||||
"default": 16,
|
||||
"description": "Number of frames (8-32)"
|
||||
},
|
||||
"fps": {
|
||||
"node_id": 10,
|
||||
"type": "integer",
|
||||
"default": 8
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "60-90 seconds",
|
||||
"vram_usage": "~16-20GB",
|
||||
"output": "16 frames (~2s @ 8fps)"
|
||||
},
|
||||
"use_cases": [
|
||||
"Text-to-video animation",
|
||||
"Character animations",
|
||||
"Motion graphics",
|
||||
"Animated storyboards"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/batch-pipeline-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
247
example_workflows/batch-pipeline-production-v1.json
Normal file
@@ -0,0 +1,247 @@
|
||||
{
|
||||
"last_node_id": 10,
|
||||
"last_link_id": 10,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CheckpointLoaderSimple"},
|
||||
"widgets_values": ["sd_xl_base_1.0.safetensors"],
|
||||
"title": "SDXL Base Loader",
|
||||
"outputs": [
|
||||
{"name": "MODEL", "type": "MODEL", "links": [1], "slot_index": 0},
|
||||
{"name": "CLIP", "type": "CLIP", "links": [2, 3], "slot_index": 1},
|
||||
{"name": "VAE", "type": "VAE", "links": [4], "slot_index": 2}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 100],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CLIPTextEncode"},
|
||||
"widgets_values": ["A beautiful landscape"],
|
||||
"title": "API Base Prompt",
|
||||
"inputs": [
|
||||
{"name": "clip", "type": "CLIP", "link": 2}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [5], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 350],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CLIPTextEncode"},
|
||||
"widgets_values": ["blurry, low quality"],
|
||||
"title": "API Negative Prompt",
|
||||
"inputs": [
|
||||
{"name": "clip", "type": "CLIP", "link": 3}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [6], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [450, 600],
|
||||
"size": {"0": 315, "1": 106},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "EmptyLatentImage"},
|
||||
"widgets_values": [1024, 1024, 4],
|
||||
"title": "API Latent Config (Batch=4)",
|
||||
"outputs": [
|
||||
{"name": "LATENT", "type": "LATENT", "links": [7], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [900, 100],
|
||||
"size": {"0": 315, "1": 474},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "KSampler"},
|
||||
"widgets_values": [42, "fixed", 20, 7.0, "euler", "normal", 1],
|
||||
"title": "Batch Sampler (4 variations)",
|
||||
"inputs": [
|
||||
{"name": "model", "type": "MODEL", "link": 1},
|
||||
{"name": "positive", "type": "CONDITIONING", "link": 5},
|
||||
{"name": "negative", "type": "CONDITIONING", "link": 6},
|
||||
{"name": "latent_image", "type": "LATENT", "link": 7}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "LATENT", "type": "LATENT", "links": [8], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1270, 100],
|
||||
"size": {"0": 210, "1": 46},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "VAEDecode"},
|
||||
"title": "VAE Decode Batch",
|
||||
"inputs": [
|
||||
{"name": "samples", "type": "LATENT", "link": 8},
|
||||
{"name": "vae", "type": "VAE", "link": 4}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "IMAGE", "type": "IMAGE", "links": [9, 10], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1530, 100],
|
||||
"size": {"0": 400, "1": 400},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "PreviewImage"},
|
||||
"title": "Preview All Variations",
|
||||
"inputs": [
|
||||
{"name": "images", "type": "IMAGE", "link": 9}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "SaveImage",
|
||||
"pos": [1530, 550],
|
||||
"size": {"0": 400, "1": 100},
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "SaveImage"},
|
||||
"widgets_values": ["batch_output"],
|
||||
"title": "API Save All",
|
||||
"inputs": [
|
||||
{"name": "images", "type": "IMAGE", "link": 10}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "MODEL"],
|
||||
[2, 1, 1, 2, 0, "CLIP"],
|
||||
[3, 1, 1, 3, 0, "CLIP"],
|
||||
[4, 1, 2, 6, 1, "VAE"],
|
||||
[5, 2, 0, 5, 1, "CONDITIONING"],
|
||||
[6, 3, 0, 5, 2, "CONDITIONING"],
|
||||
[7, 4, 0, 5, 3, "LATENT"],
|
||||
[8, 5, 0, 6, 0, "LATENT"],
|
||||
[9, 6, 0, 7, 0, "IMAGE"],
|
||||
[10, 6, 0, 8, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Batch Pipeline Production",
|
||||
"version": "1.0.0",
|
||||
"description": "Batch generation pipeline for multiple variations. Generate 4 images simultaneously with different seeds for rapid iteration using Stable Diffusion XL.",
|
||||
"category": "advanced",
|
||||
"tags": [
|
||||
"batch",
|
||||
"multi-generation",
|
||||
"variations",
|
||||
"advanced",
|
||||
"production",
|
||||
"flux"
|
||||
],
|
||||
"requirements": {
|
||||
"models": ["stable-diffusion-xl-base-1.0"],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "20GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 2,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "A beautiful landscape",
|
||||
"description": "Text description of desired image"
|
||||
},
|
||||
"negative_prompt": {
|
||||
"node_id": 3,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "blurry, low quality",
|
||||
"description": "Undesired elements to avoid"
|
||||
},
|
||||
"batch_count": {
|
||||
"node_id": 4,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 4,
|
||||
"min": 1,
|
||||
"max": 8,
|
||||
"description": "Number of variations to generate (batch size)"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 4294967295,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 5,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 20,
|
||||
"min": 15,
|
||||
"max": 50,
|
||||
"description": "Number of sampling steps (20-30 recommended for SDXL)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"images": {
|
||||
"node_id": 8,
|
||||
"type": "image",
|
||||
"format": "PNG",
|
||||
"count": 4,
|
||||
"resolution": "1024x1024 (configurable)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "45-60 seconds for 4 images (20 steps)",
|
||||
"vram_usage": "~20-24GB (depends on batch size)",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Rapid prototyping with multiple variations",
|
||||
"Concept exploration and A/B testing",
|
||||
"Client presentations with options",
|
||||
"Quick iteration workflows"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/cogvideox-i2v-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
420
example_workflows/cogvideox-i2v-production-v1.json
Normal file
@@ -0,0 +1,420 @@
|
||||
{
|
||||
"last_node_id": 8,
|
||||
"last_link_id": 10,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 100],
|
||||
"size": [315, 314],
|
||||
"widgets_values": ["input_frame.png", "image"],
|
||||
"title": "API Input Image",
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "DownloadAndLoadCogVideoModel",
|
||||
"pos": [50, 500],
|
||||
"size": [350, 100],
|
||||
"widgets_values": ["THUDM/CogVideoX-5b-I2V", "bf16", "disabled", true],
|
||||
"title": "CogVideoX-5b-I2V Loader",
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "DownloadAndLoadCogVideoModel"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "COGVIDEOMODEL",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"links": [3, 10],
|
||||
"slot_index": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "CLIPLoader",
|
||||
"pos": [50, 650],
|
||||
"size": [350, 100],
|
||||
"widgets_values": ["t5xxl_fp16.safetensors", "sd3"],
|
||||
"title": "T5 CLIP Loader",
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPLoader"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [4, 5],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CogVideoTextEncode",
|
||||
"pos": [450, 100],
|
||||
"size": [400, 200],
|
||||
"widgets_values": ["Camera movement description, action, scene details", 1, false],
|
||||
"title": "API Video Prompt (Positive)",
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CogVideoTextEncode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "conditioning",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "CogVideoTextEncode",
|
||||
"pos": [450, 350],
|
||||
"size": [400, 200],
|
||||
"widgets_values": ["low quality, blurry, distorted, watermark", 1, true],
|
||||
"title": "API Video Prompt (Negative)",
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CogVideoTextEncode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 5
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "conditioning",
|
||||
"type": "CONDITIONING",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "CogVideoImageEncode",
|
||||
"pos": [450, 600],
|
||||
"size": [315, 100],
|
||||
"widgets_values": [],
|
||||
"title": "Encode Input Image",
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CogVideoImageEncode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 3
|
||||
},
|
||||
{
|
||||
"name": "start_image",
|
||||
"type": "IMAGE",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"links": [8],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "CogVideoSampler",
|
||||
"pos": [900, 100],
|
||||
"size": [315, 474],
|
||||
"widgets_values": [49, 50, 6.0, 42, "fixed", "CogVideoXDDIM", 1.0],
|
||||
"title": "CogVideoX Sampler (6s @ 8fps)",
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CogVideoSampler"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "COGVIDEOMODEL",
|
||||
"link": 2
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 7
|
||||
},
|
||||
{
|
||||
"name": "image_cond_latents",
|
||||
"type": "LATENT",
|
||||
"link": 8
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"links": [9],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "CogVideoDecode",
|
||||
"pos": [1250, 100],
|
||||
"size": [315, 200],
|
||||
"widgets_values": [true, 240, 360, 0.25, 0.25],
|
||||
"title": "VAE Decode Video",
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CogVideoDecode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 10
|
||||
},
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"links": [11],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VHS_VideoCombine",
|
||||
"pos": [1600, 100],
|
||||
"size": [315, 200],
|
||||
"widgets_values": [8, 0, "cogvideox_output", "video/h264-mp4", "yuv420p", 19, true, false],
|
||||
"title": "Combine Video Frames",
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VHS_VideoCombine"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 11
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "Filenames",
|
||||
"type": "VHS_FILENAMES",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 9, 1, "IMAGE"],
|
||||
[2, 2, 0, 4, 0, "COGVIDEOMODEL"],
|
||||
[3, 2, 1, 9, 0, "VAE"],
|
||||
[4, 7, 0, 3, 0, "CLIP"],
|
||||
[5, 7, 0, 8, 0, "CLIP"],
|
||||
[6, 3, 0, 4, 1, "CONDITIONING"],
|
||||
[7, 8, 0, 4, 2, "CONDITIONING"],
|
||||
[8, 9, 0, 4, 3, "LATENT"],
|
||||
[9, 4, 0, 5, 1, "LATENT"],
|
||||
[10, 2, 1, 5, 0, "VAE"],
|
||||
[11, 5, 0, 6, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "CogVideoX Image-to-Video Production",
|
||||
"version": "1.2.0",
|
||||
"description": "AI-driven image-to-video using CogVideoX-5b-I2V. Generate 6-second videos (49 frames @ 8fps) from input images with camera movement and action.",
|
||||
"category": "image-to-video",
|
||||
"tags": ["cogvideox", "i2v", "video-generation", "production"],
|
||||
"requirements": {
|
||||
"models": ["CogVideoX-5b-I2V", "T5-XXL FP16"],
|
||||
"custom_nodes": ["ComfyUI-VideoHelperSuite", "ComfyUI-CogVideoXWrapper"],
|
||||
"vram_min": "20GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"input_image": {
|
||||
"node_id": 1,
|
||||
"widget_index": 0,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "Starting frame for video generation"
|
||||
},
|
||||
"positive_prompt": {
|
||||
"node_id": 3,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "Camera movement description, action, scene details",
|
||||
"description": "Describe desired camera movement, actions, and scene"
|
||||
},
|
||||
"negative_prompt": {
|
||||
"node_id": 8,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "low quality, blurry, distorted, watermark",
|
||||
"description": "Undesired elements to avoid"
|
||||
},
|
||||
"num_frames": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 49,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"description": "Number of frames to generate (49 = ~6s @ 8fps)"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 4,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 50,
|
||||
"min": 20,
|
||||
"max": 100,
|
||||
"description": "Sampling steps (50 recommended for quality)"
|
||||
},
|
||||
"cfg": {
|
||||
"node_id": 4,
|
||||
"widget_index": 2,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 6.0,
|
||||
"min": 1.0,
|
||||
"max": 30.0,
|
||||
"description": "Classifier-free guidance scale"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 4,
|
||||
"widget_index": 3,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"fps": {
|
||||
"node_id": 6,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 8,
|
||||
"description": "Output video framerate"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"video": {
|
||||
"node_id": 6,
|
||||
"type": "video",
|
||||
"format": "MP4 (H.264)",
|
||||
"resolution": "Based on input image",
|
||||
"duration": "~6 seconds @ 8fps (49 frames)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "120-180 seconds",
|
||||
"vram_usage": "~20-22GB",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Animate static images with camera motion",
|
||||
"Create video loops from single frames",
|
||||
"Add dynamic movement to product shots",
|
||||
"Generate cinematic camera movements"
|
||||
],
|
||||
"notes": [
|
||||
"CogVideoX-5b-I2V is specifically trained for image-to-video generation",
|
||||
"Model will download automatically on first use (~10GB)",
|
||||
"Enable VAE tiling to reduce VRAM usage",
|
||||
"Higher steps (50-100) improve quality but increase generation time",
|
||||
"T5-XXL text encoder required - automatically linked from SD3.5"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/controlnet-fusion-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
399
example_workflows/controlnet-fusion-production-v1.json
Normal file
@@ -0,0 +1,399 @@
|
||||
{
|
||||
"last_node_id": 14,
|
||||
"last_link_id": 18,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CheckpointLoaderSimple"},
|
||||
"widgets_values": ["sd_xl_base_1.0.safetensors"],
|
||||
"title": "SDXL Base Loader",
|
||||
"outputs": [
|
||||
{"name": "MODEL", "type": "MODEL", "links": [1], "slot_index": 0},
|
||||
{"name": "CLIP", "type": "CLIP", "links": [2, 3], "slot_index": 1},
|
||||
{"name": "VAE", "type": "VAE", "links": [4], "slot_index": 2}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 100],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CLIPTextEncode"},
|
||||
"widgets_values": ["A futuristic city with precise architecture"],
|
||||
"title": "API Positive Prompt",
|
||||
"inputs": [
|
||||
{"name": "clip", "type": "CLIP", "link": 2}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [9], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 350],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "CLIPTextEncode"},
|
||||
"widgets_values": ["blurry, low quality, distorted"],
|
||||
"title": "API Negative Prompt",
|
||||
"inputs": [
|
||||
{"name": "clip", "type": "CLIP", "link": 3}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [10], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "ControlNetLoader",
|
||||
"pos": [50, 300],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "ControlNetLoader"},
|
||||
"widgets_values": ["controlnet-depth-sdxl-1.0.safetensors"],
|
||||
"title": "Load Depth ControlNet",
|
||||
"outputs": [
|
||||
{"name": "CONTROL_NET", "type": "CONTROL_NET", "links": [7], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 450],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "LoadImage"},
|
||||
"widgets_values": ["examples/control_depth.png"],
|
||||
"title": "API Depth Image",
|
||||
"outputs": [
|
||||
{"name": "IMAGE", "type": "IMAGE", "links": [5], "slot_index": 0},
|
||||
{"name": "MASK", "type": "MASK", "links": null, "slot_index": 1}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "ControlNetApplyAdvanced",
|
||||
"pos": [900, 100],
|
||||
"size": {"0": 315, "1": 186},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "ControlNetApplyAdvanced"},
|
||||
"widgets_values": [0.8, 0.0, 1.0],
|
||||
"title": "Apply Depth Control",
|
||||
"inputs": [
|
||||
{"name": "positive", "type": "CONDITIONING", "link": 9},
|
||||
{"name": "negative", "type": "CONDITIONING", "link": 10},
|
||||
{"name": "control_net", "type": "CONTROL_NET", "link": 7},
|
||||
{"name": "image", "type": "IMAGE", "link": 5}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "positive", "type": "CONDITIONING", "links": [11], "slot_index": 0},
|
||||
{"name": "negative", "type": "CONDITIONING", "links": [12], "slot_index": 1}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "ControlNetLoader",
|
||||
"pos": [50, 600],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "ControlNetLoader"},
|
||||
"widgets_values": ["controlnet-canny-sdxl-1.0.safetensors"],
|
||||
"title": "Load Canny ControlNet",
|
||||
"outputs": [
|
||||
{"name": "CONTROL_NET", "type": "CONTROL_NET", "links": [8], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 750],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "LoadImage"},
|
||||
"widgets_values": ["examples/control_canny.png"],
|
||||
"title": "API Canny Image",
|
||||
"outputs": [
|
||||
{"name": "IMAGE", "type": "IMAGE", "links": [6], "slot_index": 0},
|
||||
{"name": "MASK", "type": "MASK", "links": null, "slot_index": 1}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "ControlNetApplyAdvanced",
|
||||
"pos": [900, 400],
|
||||
"size": {"0": 315, "1": 186},
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "ControlNetApplyAdvanced"},
|
||||
"widgets_values": [0.6, 0.0, 1.0],
|
||||
"title": "Apply Canny Control",
|
||||
"inputs": [
|
||||
{"name": "positive", "type": "CONDITIONING", "link": 11},
|
||||
{"name": "negative", "type": "CONDITIONING", "link": 12},
|
||||
{"name": "control_net", "type": "CONTROL_NET", "link": 8},
|
||||
{"name": "image", "type": "IMAGE", "link": 6}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "positive", "type": "CONDITIONING", "links": [13], "slot_index": 0},
|
||||
{"name": "negative", "type": "CONDITIONING", "links": [14], "slot_index": 1}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [450, 600],
|
||||
"size": {"0": 315, "1": 106},
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "EmptyLatentImage"},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "API Latent Config",
|
||||
"outputs": [
|
||||
{"name": "LATENT", "type": "LATENT", "links": [15], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"type": "KSampler",
|
||||
"pos": [1270, 100],
|
||||
"size": {"0": 315, "1": 474},
|
||||
"flags": {},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "KSampler"},
|
||||
"widgets_values": [42, "fixed", 30, 7.0, "euler", "normal", 1],
|
||||
"title": "ControlNet Sampler",
|
||||
"inputs": [
|
||||
{"name": "model", "type": "MODEL", "link": 1},
|
||||
{"name": "positive", "type": "CONDITIONING", "link": 13},
|
||||
{"name": "negative", "type": "CONDITIONING", "link": 14},
|
||||
{"name": "latent_image", "type": "LATENT", "link": 15}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "LATENT", "type": "LATENT", "links": [16], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1640, 100],
|
||||
"size": {"0": 210, "1": 46},
|
||||
"flags": {},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "VAEDecode"},
|
||||
"title": "VAE Decode",
|
||||
"inputs": [
|
||||
{"name": "samples", "type": "LATENT", "link": 16},
|
||||
{"name": "vae", "type": "VAE", "link": 4}
|
||||
],
|
||||
"outputs": [
|
||||
{"name": "IMAGE", "type": "IMAGE", "links": [17, 18], "slot_index": 0}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1900, 100],
|
||||
"size": {"0": 400, "1": 400},
|
||||
"flags": {},
|
||||
"order": 12,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "PreviewImage"},
|
||||
"title": "Preview Result",
|
||||
"inputs": [
|
||||
{"name": "images", "type": "IMAGE", "link": 17}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"type": "SaveImage",
|
||||
"pos": [1900, 550],
|
||||
"size": {"0": 400, "1": 100},
|
||||
"flags": {},
|
||||
"order": 13,
|
||||
"mode": 0,
|
||||
"properties": {"Node name for S&R": "SaveImage"},
|
||||
"widgets_values": ["controlnet_output"],
|
||||
"title": "API Save Image",
|
||||
"inputs": [
|
||||
{"name": "images", "type": "IMAGE", "link": 18}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 11, 0, "MODEL"],
|
||||
[2, 1, 1, 2, 0, "CLIP"],
|
||||
[3, 1, 1, 3, 0, "CLIP"],
|
||||
[4, 1, 2, 12, 1, "VAE"],
|
||||
[5, 5, 0, 6, 3, "IMAGE"],
|
||||
[6, 8, 0, 9, 3, "IMAGE"],
|
||||
[7, 4, 0, 6, 2, "CONTROL_NET"],
|
||||
[8, 7, 0, 9, 2, "CONTROL_NET"],
|
||||
[9, 2, 0, 6, 0, "CONDITIONING"],
|
||||
[10, 3, 0, 6, 1, "CONDITIONING"],
|
||||
[11, 6, 0, 9, 0, "CONDITIONING"],
|
||||
[12, 6, 1, 9, 1, "CONDITIONING"],
|
||||
[13, 9, 0, 11, 1, "CONDITIONING"],
|
||||
[14, 9, 1, 11, 2, "CONDITIONING"],
|
||||
[15, 10, 0, 11, 3, "LATENT"],
|
||||
[16, 11, 0, 12, 0, "LATENT"],
|
||||
[17, 12, 0, 13, 0, "IMAGE"],
|
||||
[18, 12, 0, 14, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "ControlNet Fusion Production",
|
||||
"version": "1.0.0",
|
||||
"description": "Multi-ControlNet workflow combining depth and canny edge control for precise composition. Chain multiple control methods for maximum control over generation.",
|
||||
"category": "advanced",
|
||||
"tags": [
|
||||
"controlnet",
|
||||
"multi-control",
|
||||
"depth",
|
||||
"canny",
|
||||
"advanced",
|
||||
"production",
|
||||
"sdxl"
|
||||
],
|
||||
"requirements": {
|
||||
"models": [
|
||||
"stable-diffusion-xl-base-1.0",
|
||||
"controlnet-depth-sdxl-1.0",
|
||||
"controlnet-canny-sdxl-1.0"
|
||||
],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "16GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 2,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "A futuristic city with precise architecture",
|
||||
"description": "Text description of desired image"
|
||||
},
|
||||
"negative_prompt": {
|
||||
"node_id": 3,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "blurry, low quality, distorted",
|
||||
"description": "Undesired elements to avoid"
|
||||
},
|
||||
"depth_image": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "examples/control_depth.png",
|
||||
"description": "Depth map image for spatial control"
|
||||
},
|
||||
"canny_image": {
|
||||
"node_id": 8,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "examples/control_canny.png",
|
||||
"description": "Canny edge image for structure control"
|
||||
},
|
||||
"depth_strength": {
|
||||
"node_id": 6,
|
||||
"widget_index": 0,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 0.8,
|
||||
"min": 0.0,
|
||||
"max": 2.0,
|
||||
"description": "Strength of depth control (0.0-2.0)"
|
||||
},
|
||||
"canny_strength": {
|
||||
"node_id": 9,
|
||||
"widget_index": 0,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 0.6,
|
||||
"min": 0.0,
|
||||
"max": 2.0,
|
||||
"description": "Strength of canny edge control (0.0-2.0)"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 11,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 30,
|
||||
"min": 20,
|
||||
"max": 50,
|
||||
"description": "Number of sampling steps (30-40 recommended for ControlNet)"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 11,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 4294967295,
|
||||
"description": "Random seed for reproducibility"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"images": {
|
||||
"node_id": 14,
|
||||
"type": "image",
|
||||
"format": "PNG",
|
||||
"count": 1,
|
||||
"resolution": "1024x1024 (configurable)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "50-70 seconds (30 steps)",
|
||||
"vram_usage": "~18-22GB (dual ControlNet + SDXL)",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Architectural visualization with precise control",
|
||||
"Product renders with exact composition",
|
||||
"Character poses with depth and edge guidance",
|
||||
"Complex scene generation with multiple constraints"
|
||||
],
|
||||
"notes": [
|
||||
"Example control images provided in examples/ directory",
|
||||
"Depth map: Grayscale image where brightness = distance from camera",
|
||||
"Canny edges: White edges on black background",
|
||||
"Adjust control strengths to balance control vs. creativity",
|
||||
"Higher steps (30-40) recommended for best quality with ControlNet"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/diffrhythm-full-length-t2m-v1.jpg
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
130
example_workflows/diffrhythm-full-length-t2m-v1.json
Normal file
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"last_node_id": 3,
|
||||
"last_link_id": 2,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "DiffRhythmRun",
|
||||
"pos": [100, 100],
|
||||
"size": [400, 400],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [1, 2]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "DiffRhythmRun"
|
||||
},
|
||||
"widgets_values": [
|
||||
"cfm_full_model.pt",
|
||||
"Cinematic orchestral piece with soaring strings, powerful brass, and emotional piano melodies building to an epic crescendo",
|
||||
true,
|
||||
"euler",
|
||||
30,
|
||||
4,
|
||||
"quality",
|
||||
123,
|
||||
"randomize",
|
||||
false,
|
||||
"[-1, 20], [60, -1]"
|
||||
],
|
||||
"title": "DiffRhythm Full-Length Text-to-Music (4m45s)"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "PreviewAudio",
|
||||
"pos": [600, 100],
|
||||
"size": [300, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewAudio"
|
||||
},
|
||||
"title": "Preview Audio"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "SaveAudio",
|
||||
"pos": [600, 250],
|
||||
"size": [300, 100],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"diffrhythm_full_output"
|
||||
],
|
||||
"title": "Save Audio"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "AUDIO"],
|
||||
[2, 1, 0, 3, 0, "AUDIO"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "DiffRhythm Full-Length Text-to-Music v1",
|
||||
"description": "Full-length music generation using DiffRhythm Full (4 minutes 45 seconds)",
|
||||
"version": "1.0.0",
|
||||
"author": "valknar@pivoine.art",
|
||||
"category": "text-to-music",
|
||||
"tags": ["diffrhythm", "music-generation", "text-to-music", "full-length", "4m45s"],
|
||||
"requirements": {
|
||||
"custom_nodes": ["ComfyUI_DiffRhythm"],
|
||||
"models": ["ASLP-lab/DiffRhythm-full", "ASLP-lab/DiffRhythm-vae", "OpenMuQ/MuQ-MuLan-large", "OpenMuQ/MuQ-large-msd-iter", "FacebookAI/xlm-roberta-base"],
|
||||
"vram_min": "16GB",
|
||||
"vram_recommended": "20GB",
|
||||
"system_deps": ["espeak-ng"]
|
||||
},
|
||||
"usage": {
|
||||
"model": "cfm_full_model.pt (DiffRhythm Full - 4m45s/285s generation)",
|
||||
"style_prompt": "Detailed text description of the desired full-length music composition",
|
||||
"unload_model": "Boolean to unload model after generation (default: true)",
|
||||
"odeint_method": "ODE solver: euler, midpoint, rk4, implicit_adams (default: euler)",
|
||||
"steps": "Number of diffusion steps: 1-100 (default: 30)",
|
||||
"cfg": "Classifier-free guidance scale: 1-10 (default: 4)",
|
||||
"quality_or_speed": "Generation mode: quality or speed (default: quality for full-length)",
|
||||
"seed": "Random seed for reproducibility (default: 123)",
|
||||
"edit": "Enable segment editing mode (default: false)",
|
||||
"edit_segments": "Segments to edit when edit=true"
|
||||
},
|
||||
"performance": {
|
||||
"generation_time": "~60-90 seconds on RTX 4090",
|
||||
"vram_usage": "~16GB during generation",
|
||||
"note": "Significantly faster than real-time music generation"
|
||||
},
|
||||
"notes": [
|
||||
"This workflow uses DiffRhythm Full for 4 minute 45 second music generation",
|
||||
"Best for complete song compositions with intro, development, and outro",
|
||||
"All parameters except model and style_prompt are optional",
|
||||
"Supports complex, multi-part compositions",
|
||||
"Can optionally connect MultiLineLyricsDR node for lyrics input"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/diffrhythm-reference-based-v1.jpg
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
164
example_workflows/diffrhythm-reference-based-v1.json
Normal file
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"last_node_id": 4,
|
||||
"last_link_id": 3,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadAudio",
|
||||
"pos": [100, 100],
|
||||
"size": [300, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [1]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"reference_audio.wav"
|
||||
],
|
||||
"title": "Load Reference Audio"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "DiffRhythmRun",
|
||||
"pos": [500, 100],
|
||||
"size": [400, 450],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "style_audio_or_edit_song",
|
||||
"type": "AUDIO",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [2, 3]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "DiffRhythmRun"
|
||||
},
|
||||
"widgets_values": [
|
||||
"cfm_model_v1_2.pt",
|
||||
"Energetic rock music with driving guitar riffs and powerful drums",
|
||||
true,
|
||||
"euler",
|
||||
30,
|
||||
5,
|
||||
"speed",
|
||||
456,
|
||||
"randomize",
|
||||
false,
|
||||
"[-1, 20], [60, -1]"
|
||||
],
|
||||
"title": "DiffRhythm Reference-Based Generation"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "PreviewAudio",
|
||||
"pos": [1000, 100],
|
||||
"size": [300, 100],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewAudio"
|
||||
},
|
||||
"title": "Preview Generated Audio"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "SaveAudio",
|
||||
"pos": [1000, 250],
|
||||
"size": [300, 100],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"diffrhythm_reference_output"
|
||||
],
|
||||
"title": "Save Audio"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "AUDIO"],
|
||||
[2, 2, 0, 3, 0, "AUDIO"],
|
||||
[3, 2, 0, 4, 0, "AUDIO"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "DiffRhythm Reference-Based Generation v1",
|
||||
"description": "Generate new music based on a reference audio file while following text prompt guidance",
|
||||
"version": "1.0.0",
|
||||
"author": "valknar@pivoine.art",
|
||||
"category": "text-to-music",
|
||||
"tags": ["diffrhythm", "music-generation", "reference-based", "style-transfer"],
|
||||
"requirements": {
|
||||
"custom_nodes": ["ComfyUI_DiffRhythm"],
|
||||
"models": ["ASLP-lab/DiffRhythm-1_2", "ASLP-lab/DiffRhythm-vae", "OpenMuQ/MuQ-MuLan-large", "OpenMuQ/MuQ-large-msd-iter", "FacebookAI/xlm-roberta-base"],
|
||||
"vram_min": "14GB",
|
||||
"vram_recommended": "18GB",
|
||||
"system_deps": ["espeak-ng"]
|
||||
},
|
||||
"usage": {
|
||||
"reference_audio": "Path to reference audio file (WAV, MP3, or other supported formats)",
|
||||
"model": "cfm_model_v1_2.pt (DiffRhythm 1.2)",
|
||||
"style_prompt": "Text description guiding the style and characteristics of generated music",
|
||||
"unload_model": "Boolean to unload model after generation (default: true)",
|
||||
"odeint_method": "ODE solver: euler, midpoint, rk4, implicit_adams (default: euler)",
|
||||
"steps": "Number of diffusion steps: 1-100 (default: 30)",
|
||||
"cfg": "Classifier-free guidance scale: 1-10 (default: 5 for reference-based)",
|
||||
"quality_or_speed": "Generation mode: quality or speed (default: speed)",
|
||||
"seed": "Random seed for reproducibility (default: 456)",
|
||||
"edit": "Enable segment editing mode (default: false)",
|
||||
"edit_segments": "Segments to edit when edit=true"
|
||||
},
|
||||
"use_cases": [
|
||||
"Style transfer: Apply the style of reference music to new prompt",
|
||||
"Variations: Create variations of existing compositions",
|
||||
"Genre transformation: Transform music to different genre while keeping structure",
|
||||
"Mood adaptation: Change the mood/emotion while maintaining musical elements"
|
||||
],
|
||||
"notes": [
|
||||
"This workflow combines reference audio with text prompt guidance",
|
||||
"The reference audio is connected to the style_audio_or_edit_song input",
|
||||
"Higher cfg values (7-10) = closer adherence to both prompt and reference",
|
||||
"Lower cfg values (2-4) = more creative interpretation",
|
||||
"Reference audio should ideally be similar duration to target (95s for cfm_model_v1_2.pt)",
|
||||
"Can use any format supported by ComfyUI's LoadAudio node"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/diffrhythm-simple-t2m-v1.jpg
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
125
example_workflows/diffrhythm-simple-t2m-v1.json
Normal file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"last_node_id": 3,
|
||||
"last_link_id": 2,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "DiffRhythmRun",
|
||||
"pos": [100, 100],
|
||||
"size": [400, 400],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "AUDIO",
|
||||
"type": "AUDIO",
|
||||
"links": [1, 2]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "DiffRhythmRun"
|
||||
},
|
||||
"widgets_values": [
|
||||
"cfm_model_v1_2.pt",
|
||||
"Upbeat electronic dance music with energetic beats and synthesizer melodies",
|
||||
true,
|
||||
"euler",
|
||||
30,
|
||||
4,
|
||||
"speed",
|
||||
42,
|
||||
"randomize",
|
||||
false,
|
||||
"[-1, 20], [60, -1]"
|
||||
],
|
||||
"title": "DiffRhythm Text-to-Music (95s)"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "PreviewAudio",
|
||||
"pos": [600, 100],
|
||||
"size": [300, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewAudio"
|
||||
},
|
||||
"title": "Preview Audio"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "SaveAudio",
|
||||
"pos": [600, 250],
|
||||
"size": [300, 100],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveAudio"
|
||||
},
|
||||
"widgets_values": [
|
||||
"diffrhythm_output"
|
||||
],
|
||||
"title": "Save Audio"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "AUDIO"],
|
||||
[2, 1, 0, 3, 0, "AUDIO"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "DiffRhythm Simple Text-to-Music v1",
|
||||
"description": "Basic text-to-music generation using DiffRhythm 1.2 (95 seconds)",
|
||||
"version": "1.0.0",
|
||||
"author": "valknar@pivoine.art",
|
||||
"category": "text-to-music",
|
||||
"tags": ["diffrhythm", "music-generation", "text-to-music", "95s"],
|
||||
"requirements": {
|
||||
"custom_nodes": ["ComfyUI_DiffRhythm"],
|
||||
"models": ["ASLP-lab/DiffRhythm-1_2", "ASLP-lab/DiffRhythm-vae", "OpenMuQ/MuQ-MuLan-large", "OpenMuQ/MuQ-large-msd-iter", "FacebookAI/xlm-roberta-base"],
|
||||
"vram_min": "12GB",
|
||||
"vram_recommended": "16GB",
|
||||
"system_deps": ["espeak-ng"]
|
||||
},
|
||||
"usage": {
|
||||
"model": "cfm_model_v1_2.pt (DiffRhythm 1.2 - 95s generation)",
|
||||
"style_prompt": "Text description of the desired music style, mood, and instruments",
|
||||
"unload_model": "Boolean to unload model after generation (default: true)",
|
||||
"odeint_method": "ODE solver: euler, midpoint, rk4, implicit_adams (default: euler)",
|
||||
"steps": "Number of diffusion steps: 1-100 (default: 30)",
|
||||
"cfg": "Classifier-free guidance scale: 1-10 (default: 4)",
|
||||
"quality_or_speed": "Generation mode: quality or speed (default: speed)",
|
||||
"seed": "Random seed for reproducibility (default: 42)",
|
||||
"edit": "Enable segment editing mode (default: false)",
|
||||
"edit_segments": "Segments to edit when edit=true (default: [-1, 20], [60, -1])"
|
||||
},
|
||||
"notes": [
|
||||
"This workflow uses DiffRhythm 1.2 for 95-second music generation",
|
||||
"All parameters except model and style_prompt are optional",
|
||||
"Supports English and Chinese text prompts",
|
||||
"Generation time: ~30-60 seconds on RTX 4090",
|
||||
"Can optionally connect MultiLineLyricsDR node for lyrics input"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/face-upscale-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
185
example_workflows/face-upscale-production-v1.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"last_node_id": 5,
|
||||
"last_link_id": 4,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 100],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null,
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": ["input_portrait.png", "image"],
|
||||
"title": "API Input Portrait"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "UpscaleModelLoader",
|
||||
"pos": [50, 400],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "UPSCALE_MODEL",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UpscaleModelLoader"
|
||||
},
|
||||
"widgets_values": ["RealESRGAN_x2.pth"],
|
||||
"title": "Face Upscale Model (2x)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "ImageUpscaleWithModel",
|
||||
"pos": [450, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "upscale_model",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"link": 2
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [3, 4],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ImageUpscaleWithModel"
|
||||
},
|
||||
"title": "Upscale Portrait (2x)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "PreviewImage",
|
||||
"pos": [800, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Enhanced"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "SaveImage",
|
||||
"pos": [800, 400],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["face_upscale_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 3, 1, "IMAGE"],
|
||||
[2, 2, 0, 3, 0, "UPSCALE_MODEL"],
|
||||
[3, 3, 0, 4, 0, "IMAGE"],
|
||||
[4, 3, 0, 5, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Face Upscale Production",
|
||||
"version": "1.1.0",
|
||||
"description": "Portrait-focused upscaling using RealESRGAN x2. Simplified workflow optimized for face enhancement. For advanced face detection with FaceDetailer, additional nodes are required.",
|
||||
"category": "upscaling",
|
||||
"tags": ["face-upscale", "portrait", "realesrgan", "production"],
|
||||
"requirements": {
|
||||
"models": ["RealESRGAN"],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "8GB"
|
||||
},
|
||||
"parameters": {
|
||||
"input_image": {
|
||||
"node_id": 1,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "Portrait image to upscale"
|
||||
},
|
||||
"model": {
|
||||
"node_id": 2,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"default": "RealESRGAN_x2.pth",
|
||||
"options": ["RealESRGAN_x2.pth", "RealESRGAN_x4.pth"],
|
||||
"description": "Upscale model (x2 recommended for portraits)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "5-15 seconds",
|
||||
"vram_usage": "~6-8GB"
|
||||
},
|
||||
"use_cases": [
|
||||
"Portrait enhancement",
|
||||
"Professional headshots",
|
||||
"Face restoration",
|
||||
"ID photo upscaling"
|
||||
],
|
||||
"notes": [
|
||||
"This is a simplified version using basic upscaling",
|
||||
"For advanced face detection, use FaceDetailer from Impact-Pack",
|
||||
"FaceDetailer requires: BBOX detector, SDXL checkpoint, CLIP conditioning",
|
||||
"Current version optimized for speed and simplicity"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/flux-dev-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
362
example_workflows/flux-dev-t2i-production-v1.json
Normal file
@@ -0,0 +1,362 @@
|
||||
{
|
||||
"last_node_id": 9,
|
||||
"last_link_id": 13,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "UNETLoader",
|
||||
"pos": [50, 100],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UNETLoader"
|
||||
},
|
||||
"widgets_values": ["flux1-dev.safetensors", "default"],
|
||||
"title": "FLUX Dev UNET Loader"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "DualCLIPLoader",
|
||||
"pos": [50, 250],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "DualCLIPLoader"
|
||||
},
|
||||
"widgets_values": ["t5xxl_fp16.safetensors", "clip_l.safetensors", "flux"],
|
||||
"title": "FLUX CLIP Loader"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncodeFlux",
|
||||
"pos": [450, 100],
|
||||
"size": [400, 250],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [3, 8],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncodeFlux"
|
||||
},
|
||||
"widgets_values": [
|
||||
"A beautiful mountain landscape at sunset, highly detailed, professional photography, cinematic lighting, 8k ultra HD",
|
||||
"A beautiful mountain landscape at sunset, highly detailed, professional photography, cinematic lighting, 8k ultra HD",
|
||||
3.5
|
||||
],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "ConditioningZeroOut",
|
||||
"pos": [450, 400],
|
||||
"size": [315, 60],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "conditioning",
|
||||
"type": "CONDITIONING",
|
||||
"link": 8
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ConditioningZeroOut"
|
||||
},
|
||||
"title": "Empty Negative Conditioning"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [450, 500],
|
||||
"size": [315, 106],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [4],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "API Latent Image Config"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [900, 100],
|
||||
"size": [315, 474],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 3
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 9
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [42, "fixed", 20, 1.0, "euler", "normal", 1.0],
|
||||
"title": "FLUX Dev Sampler (20 steps)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAELoader",
|
||||
"pos": [900, 600],
|
||||
"size": [315, 60],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAELoader"
|
||||
},
|
||||
"widgets_values": ["ae.safetensors"],
|
||||
"title": "FLUX VAE Loader"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1270, 100],
|
||||
"size": [210, 46],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 6
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "SaveImage",
|
||||
"pos": [1530, 100],
|
||||
"size": [400, 100],
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["flux_dev_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "MODEL"],
|
||||
[2, 2, 0, 3, 0, "CLIP"],
|
||||
[3, 3, 0, 5, 1, "CONDITIONING"],
|
||||
[4, 4, 0, 5, 3, "LATENT"],
|
||||
[5, 5, 0, 7, 0, "LATENT"],
|
||||
[6, 6, 0, 7, 1, "VAE"],
|
||||
[7, 7, 0, 8, 0, "IMAGE"],
|
||||
[8, 3, 0, 9, 0, "CONDITIONING"],
|
||||
[9, 9, 0, 5, 2, "CONDITIONING"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "FLUX Dev Text-to-Image Production",
|
||||
"version": "1.2.0",
|
||||
"description": "High-quality text-to-image generation using FLUX.1-dev (20-50 steps). Optimized for final production outputs with excellent detail and coherence.",
|
||||
"category": "text-to-image",
|
||||
"tags": ["flux", "dev", "high-quality", "production", "t2i"],
|
||||
"requirements": {
|
||||
"models": ["FLUX.1-dev", "CLIP-L", "T5-XXL FP16"],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "20GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 3,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "A beautiful mountain landscape at sunset",
|
||||
"description": "Text description of desired image"
|
||||
},
|
||||
"width": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image width in pixels"
|
||||
},
|
||||
"height": {
|
||||
"node_id": 4,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image height in pixels"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 4294967295,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 5,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 20,
|
||||
"min": 10,
|
||||
"max": 50,
|
||||
"description": "Number of sampling steps (20-50 recommended for FLUX Dev)"
|
||||
},
|
||||
"guidance": {
|
||||
"node_id": 3,
|
||||
"widget_index": 2,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 3.5,
|
||||
"min": 1.0,
|
||||
"max": 10.0,
|
||||
"description": "Guidance scale (3.5 recommended for FLUX)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"image": {
|
||||
"node_id": 8,
|
||||
"type": "image",
|
||||
"format": "PNG",
|
||||
"resolution": "1024x1024 (configurable)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "25-35 seconds (20 steps), 60-75 seconds (50 steps)",
|
||||
"vram_usage": "~20-22GB",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"notes": [
|
||||
"FLUX uses UNETLoader instead of CheckpointLoader",
|
||||
"DualCLIPLoader loads both T5-XXL and CLIP-L text encoders",
|
||||
"CLIPTextEncodeFlux is FLUX-specific text encoder",
|
||||
"No negative prompt for FLUX - guidance is handled differently",
|
||||
"CFG scale of 1.0 recommended, guidance in text encoder"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/flux-schnell-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
363
example_workflows/flux-schnell-t2i-production-v1.json
Normal file
@@ -0,0 +1,363 @@
|
||||
{
|
||||
"last_node_id": 9,
|
||||
"last_link_id": 9,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "UNETLoader",
|
||||
"pos": [50, 100],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UNETLoader"
|
||||
},
|
||||
"widgets_values": ["flux1-schnell.safetensors", "default"],
|
||||
"title": "FLUX Schnell UNET Loader"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "DualCLIPLoader",
|
||||
"pos": [50, 250],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "DualCLIPLoader"
|
||||
},
|
||||
"widgets_values": ["t5xxl_fp16.safetensors", "clip_l.safetensors", "flux"],
|
||||
"title": "FLUX CLIP Loader"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncodeFlux",
|
||||
"pos": [450, 100],
|
||||
"size": [400, 250],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [3, 8],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncodeFlux"
|
||||
},
|
||||
"widgets_values": [
|
||||
"A beautiful mountain landscape at sunset, highly detailed, cinematic lighting, 8k",
|
||||
"A beautiful mountain landscape at sunset, highly detailed, cinematic lighting, 8k",
|
||||
3.5
|
||||
],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "ConditioningZeroOut",
|
||||
"pos": [450, 400],
|
||||
"size": [315, 60],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "conditioning",
|
||||
"type": "CONDITIONING",
|
||||
"link": 8
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ConditioningZeroOut"
|
||||
},
|
||||
"title": "Empty Negative Conditioning"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [450, 500],
|
||||
"size": [315, 106],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [4],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "API Latent Image Config"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [900, 100],
|
||||
"size": [315, 474],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 3
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 9
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [42, "fixed", 4, 1.0, "euler", "normal", 1.0],
|
||||
"title": "FLUX Schnell Sampler (4 steps)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAELoader",
|
||||
"pos": [900, 600],
|
||||
"size": [315, 60],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAELoader"
|
||||
},
|
||||
"widgets_values": ["ae.safetensors"],
|
||||
"title": "FLUX VAE Loader"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1270, 100],
|
||||
"size": [210, 46],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 6
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "SaveImage",
|
||||
"pos": [1530, 100],
|
||||
"size": [400, 100],
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["flux_schnell_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "MODEL"],
|
||||
[2, 2, 0, 3, 0, "CLIP"],
|
||||
[3, 3, 0, 5, 1, "CONDITIONING"],
|
||||
[4, 4, 0, 5, 3, "LATENT"],
|
||||
[5, 5, 0, 7, 0, "LATENT"],
|
||||
[6, 6, 0, 7, 1, "VAE"],
|
||||
[7, 7, 0, 8, 0, "IMAGE"],
|
||||
[8, 3, 0, 9, 0, "CONDITIONING"],
|
||||
[9, 9, 0, 5, 2, "CONDITIONING"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "FLUX Schnell Text-to-Image Production",
|
||||
"version": "1.2.0",
|
||||
"description": "Fast text-to-image generation using FLUX.1-schnell (4 steps). Optimized for rapid prototyping and iteration.",
|
||||
"category": "text-to-image",
|
||||
"tags": ["flux", "schnell", "fast", "production", "t2i"],
|
||||
"requirements": {
|
||||
"models": ["FLUX.1-schnell", "CLIP-L", "T5-XXL FP16"],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "16GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 3,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "A beautiful mountain landscape at sunset",
|
||||
"description": "Text description of desired image"
|
||||
},
|
||||
"width": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image width in pixels"
|
||||
},
|
||||
"height": {
|
||||
"node_id": 4,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image height in pixels"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 4294967295,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 5,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 4,
|
||||
"min": 1,
|
||||
"max": 10,
|
||||
"description": "Number of sampling steps (4 recommended for FLUX Schnell)"
|
||||
},
|
||||
"guidance": {
|
||||
"node_id": 3,
|
||||
"widget_index": 2,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 3.5,
|
||||
"min": 1.0,
|
||||
"max": 10.0,
|
||||
"description": "Guidance scale (3.5 recommended for FLUX)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"image": {
|
||||
"node_id": 8,
|
||||
"type": "image",
|
||||
"format": "PNG",
|
||||
"resolution": "1024x1024 (configurable)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "5-8 seconds (4 steps)",
|
||||
"vram_usage": "~16-18GB",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"notes": [
|
||||
"FLUX uses UNETLoader instead of CheckpointLoader",
|
||||
"DualCLIPLoader loads both T5-XXL and CLIP-L text encoders",
|
||||
"CLIPTextEncodeFlux is FLUX-specific text encoder",
|
||||
"No negative prompt for FLUX - guidance is handled differently",
|
||||
"CFG scale of 1.0 recommended, guidance in text encoder",
|
||||
"Schnell is optimized for 4 steps - fastest FLUX variant"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/i2v_hunyuan15-i2v-720p.jpg
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
2528
example_workflows/i2v_hunyuan15-i2v-720p.json
Normal file
BIN
example_workflows/i2v_hunyuan15-t2v-720p.jpg
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
2269
example_workflows/i2v_hunyuan15-t2v-720p.json
Normal file
BIN
example_workflows/i2v_wan22-14b-animate.jpg
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
6182
example_workflows/i2v_wan22-14b-animate.json
Normal file
BIN
example_workflows/i2v_wan22-14b-flf2v.jpg
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
2739
example_workflows/i2v_wan22-14b-flf2v.json
Normal file
BIN
example_workflows/i2v_wan22-14b-fun-camera.jpg
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
2735
example_workflows/i2v_wan22-14b-fun-camera.json
Normal file
BIN
example_workflows/i2v_wan22-14b-fun-control.jpg
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
2908
example_workflows/i2v_wan22-14b-fun-control.json
Normal file
BIN
example_workflows/i2v_wan22-14b-i2v.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
2327
example_workflows/i2v_wan22-14b-i2v.json
Normal file
BIN
example_workflows/i2v_wan22-14b-s2v.jpg
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
7988
example_workflows/i2v_wan22-14b-s2v.json
Normal file
BIN
example_workflows/i2v_wan22-14b-t2v.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
1876
example_workflows/i2v_wan22-14b-t2v.json
Normal file
BIN
example_workflows/i2v_wan22-5b-ti2v.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
733
example_workflows/i2v_wan22-5b-ti2v.json
Normal file
@@ -0,0 +1,733 @@
|
||||
{
|
||||
"id": "91f6bbe2-ed41-4fd6-bac7-71d5b5864ecb",
|
||||
"revision": 0,
|
||||
"last_node_id": 59,
|
||||
"last_link_id": 108,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 37,
|
||||
"type": "UNETLoader",
|
||||
"pos": [
|
||||
-30,
|
||||
50
|
||||
],
|
||||
"size": [
|
||||
346.7470703125,
|
||||
82
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
94
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "UNETLoader",
|
||||
"models": [
|
||||
{
|
||||
"name": "wan2.2_ti2v_5B_fp16.safetensors",
|
||||
"url": "https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/diffusion_models/wan2.2_ti2v_5B_fp16.safetensors",
|
||||
"directory": "diffusion_models"
|
||||
}
|
||||
]
|
||||
},
|
||||
"widgets_values": [
|
||||
"wan2.2_ti2v_5B_fp16.safetensors",
|
||||
"default"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"type": "CLIPLoader",
|
||||
"pos": [
|
||||
-30,
|
||||
190
|
||||
],
|
||||
"size": [
|
||||
350,
|
||||
110
|
||||
],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
74,
|
||||
75
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "CLIPLoader",
|
||||
"models": [
|
||||
{
|
||||
"name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
|
||||
"url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors",
|
||||
"directory": "text_encoders"
|
||||
}
|
||||
]
|
||||
},
|
||||
"widgets_values": [
|
||||
"umt5_xxl_fp8_e4m3fn_scaled.safetensors",
|
||||
"wan",
|
||||
"default"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"type": "VAELoader",
|
||||
"pos": [
|
||||
-30,
|
||||
350
|
||||
],
|
||||
"size": [
|
||||
350,
|
||||
60
|
||||
],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
76,
|
||||
105
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "VAELoader",
|
||||
"models": [
|
||||
{
|
||||
"name": "wan2.2_vae.safetensors",
|
||||
"url": "https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/vae/wan2.2_vae.safetensors",
|
||||
"directory": "vae"
|
||||
}
|
||||
]
|
||||
},
|
||||
"widgets_values": [
|
||||
"wan2.2_vae.safetensors"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "VAEDecode",
|
||||
"pos": [
|
||||
1190,
|
||||
150
|
||||
],
|
||||
"size": [
|
||||
210,
|
||||
46
|
||||
],
|
||||
"flags": {},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 35
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 76
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
107
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"type": "CreateVideo",
|
||||
"pos": [
|
||||
1200,
|
||||
240
|
||||
],
|
||||
"size": [
|
||||
270,
|
||||
78
|
||||
],
|
||||
"flags": {},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 107
|
||||
},
|
||||
{
|
||||
"name": "audio",
|
||||
"shape": 7,
|
||||
"type": "AUDIO",
|
||||
"link": null
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "VIDEO",
|
||||
"type": "VIDEO",
|
||||
"links": [
|
||||
108
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "CreateVideo"
|
||||
},
|
||||
"widgets_values": [
|
||||
24
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 58,
|
||||
"type": "SaveVideo",
|
||||
"pos": [
|
||||
1200,
|
||||
370
|
||||
],
|
||||
"size": [
|
||||
660,
|
||||
450
|
||||
],
|
||||
"flags": {},
|
||||
"order": 12,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "video",
|
||||
"type": "VIDEO",
|
||||
"link": 108
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "SaveVideo"
|
||||
},
|
||||
"widgets_values": [
|
||||
"video/ComfyUI",
|
||||
"auto",
|
||||
"auto"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"type": "Wan22ImageToVideoLatent",
|
||||
"pos": [
|
||||
380,
|
||||
540
|
||||
],
|
||||
"size": [
|
||||
271.9126892089844,
|
||||
150
|
||||
],
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 105
|
||||
},
|
||||
{
|
||||
"name": "start_image",
|
||||
"shape": 7,
|
||||
"type": "IMAGE",
|
||||
"link": 106
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
104
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "Wan22ImageToVideoLatent"
|
||||
},
|
||||
"widgets_values": [
|
||||
1280,
|
||||
704,
|
||||
121,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
0,
|
||||
540
|
||||
],
|
||||
"size": [
|
||||
274.080078125,
|
||||
314
|
||||
],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 4,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
106
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"example.png",
|
||||
"image"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
380,
|
||||
260
|
||||
],
|
||||
"size": [
|
||||
425.27801513671875,
|
||||
180.6060791015625
|
||||
],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 75
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
52
|
||||
]
|
||||
}
|
||||
],
|
||||
"title": "CLIP Text Encode (Negative Prompt)",
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": [
|
||||
"色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走"
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
380,
|
||||
50
|
||||
],
|
||||
"size": [
|
||||
422.84503173828125,
|
||||
164.31304931640625
|
||||
],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 74
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
46
|
||||
]
|
||||
}
|
||||
],
|
||||
"title": "CLIP Text Encode (Positive Prompt)",
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Low contrast. In a retro 1970s-style subway station, a street musician plays in dim colors and rough textures. He wears an old jacket, playing guitar with focus. Commuters hurry by, and a small crowd gathers to listen. The camera slowly moves right, capturing the blend of music and city noise, with old subway signs and mottled walls in the background."
|
||||
],
|
||||
"color": "#232",
|
||||
"bgcolor": "#353"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "KSampler",
|
||||
"pos": [
|
||||
850,
|
||||
130
|
||||
],
|
||||
"size": [
|
||||
315,
|
||||
262
|
||||
],
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 95
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 46
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 52
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 104
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
35
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
898471028164125,
|
||||
"randomize",
|
||||
20,
|
||||
5,
|
||||
"uni_pc",
|
||||
"simple",
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"type": "ModelSamplingSD3",
|
||||
"pos": [
|
||||
850,
|
||||
20
|
||||
],
|
||||
"size": [
|
||||
210,
|
||||
58
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 94
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"slot_index": 0,
|
||||
"links": [
|
||||
95
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.45",
|
||||
"Node name for S&R": "ModelSamplingSD3"
|
||||
},
|
||||
"widgets_values": [
|
||||
8
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"type": "MarkdownNote",
|
||||
"pos": [
|
||||
-550,
|
||||
10
|
||||
],
|
||||
"size": [
|
||||
480,
|
||||
340
|
||||
],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [],
|
||||
"title": "Model Links",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"[Tutorial](https://docs.comfy.org/tutorials/video/wan/wan2_2\n) \n\n**Diffusion Model**\n- [wan2.2_ti2v_5B_fp16.safetensors](https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/diffusion_models/wan2.2_ti2v_5B_fp16.safetensors)\n\n**VAE**\n- [wan2.2_vae.safetensors](https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/vae/wan2.2_vae.safetensors)\n\n**Text Encoder** \n- [umt5_xxl_fp8_e4m3fn_scaled.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors)\n\n\nFile save location\n\n```\nComfyUI/\n├───📂 models/\n│ ├───📂 diffusion_models/\n│ │ └───wan2.2_ti2v_5B_fp16.safetensors\n│ ├───📂 text_encoders/\n│ │ └─── umt5_xxl_fp8_e4m3fn_scaled.safetensors \n│ └───📂 vae/\n│ └── wan2.2_vae.safetensors\n```\n"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
35,
|
||||
3,
|
||||
0,
|
||||
8,
|
||||
0,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
46,
|
||||
6,
|
||||
0,
|
||||
3,
|
||||
1,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
52,
|
||||
7,
|
||||
0,
|
||||
3,
|
||||
2,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
74,
|
||||
38,
|
||||
0,
|
||||
6,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
75,
|
||||
38,
|
||||
0,
|
||||
7,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
76,
|
||||
39,
|
||||
0,
|
||||
8,
|
||||
1,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
94,
|
||||
37,
|
||||
0,
|
||||
48,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
95,
|
||||
48,
|
||||
0,
|
||||
3,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
104,
|
||||
55,
|
||||
0,
|
||||
3,
|
||||
3,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
105,
|
||||
39,
|
||||
0,
|
||||
55,
|
||||
0,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
106,
|
||||
56,
|
||||
0,
|
||||
55,
|
||||
1,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
107,
|
||||
8,
|
||||
0,
|
||||
57,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
108,
|
||||
57,
|
||||
0,
|
||||
58,
|
||||
0,
|
||||
"VIDEO"
|
||||
]
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Step1 - Load models",
|
||||
"bounding": [
|
||||
-50,
|
||||
-20,
|
||||
400,
|
||||
453.6000061035156
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Step3 - Prompt",
|
||||
"bounding": [
|
||||
370,
|
||||
-20,
|
||||
448.27801513671875,
|
||||
473.2060852050781
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "For i2v, use Ctrl + B to enable",
|
||||
"bounding": [
|
||||
-50,
|
||||
450,
|
||||
400,
|
||||
420
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Video Size & length",
|
||||
"bounding": [
|
||||
370,
|
||||
470,
|
||||
291.9127197265625,
|
||||
233.60000610351562
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 24,
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"ds": {
|
||||
"scale": 0.46462425349300085,
|
||||
"offset": [
|
||||
847.5372059811432,
|
||||
288.7938392118285
|
||||
]
|
||||
},
|
||||
"frontendVersion": "1.27.10",
|
||||
"VHS_latentpreview": false,
|
||||
"VHS_latentpreviewrate": 0,
|
||||
"VHS_MetadataImage": true,
|
||||
"VHS_KeepIntermediate": true
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/ipadapter-composition-i2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
866
example_workflows/ipadapter-composition-i2i-production-v1.json
Normal file
@@ -0,0 +1,866 @@
|
||||
{
|
||||
"last_node_id": 19,
|
||||
"last_link_id": 27,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [
|
||||
50,
|
||||
100
|
||||
],
|
||||
"widgets_values": [
|
||||
"sd_xl_base_1.0.safetensors"
|
||||
],
|
||||
"title": "SDXL Checkpoint Loader",
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"size": {
|
||||
"0": 350,
|
||||
"1": 100
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [
|
||||
12,
|
||||
13
|
||||
],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [
|
||||
19
|
||||
],
|
||||
"slot_index": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
50,
|
||||
300
|
||||
],
|
||||
"widgets_values": [
|
||||
"composition_ref1.png",
|
||||
"image"
|
||||
],
|
||||
"title": "API Composition Ref 1",
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"size": {
|
||||
"0": 350,
|
||||
"1": 100
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
5
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": [],
|
||||
"slot_index": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
50,
|
||||
650
|
||||
],
|
||||
"widgets_values": [
|
||||
"composition_ref2.png",
|
||||
"image"
|
||||
],
|
||||
"title": "API Composition Ref 2",
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"size": {
|
||||
"0": 350,
|
||||
"1": 100
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
8
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": [],
|
||||
"slot_index": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "IPAdapterUnifiedLoader",
|
||||
"pos": [
|
||||
450,
|
||||
100
|
||||
],
|
||||
"widgets_values": [
|
||||
"VIT-G (medium strength)"
|
||||
],
|
||||
"title": "IP-Adapter Loader 1",
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterUnifiedLoader"
|
||||
},
|
||||
"size": {
|
||||
"0": 350,
|
||||
"1": 100
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
6
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "IPADAPTER",
|
||||
"type": "IPADAPTER",
|
||||
"links": [
|
||||
7
|
||||
],
|
||||
"slot_index": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "IPAdapterUnifiedLoader",
|
||||
"pos": [
|
||||
450,
|
||||
250
|
||||
],
|
||||
"widgets_values": [
|
||||
"VIT-G (medium strength)"
|
||||
],
|
||||
"title": "IP-Adapter Loader 2",
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterUnifiedLoader"
|
||||
},
|
||||
"size": {
|
||||
"0": 350,
|
||||
"1": 100
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "IPADAPTER",
|
||||
"type": "IPADAPTER",
|
||||
"links": [
|
||||
10
|
||||
],
|
||||
"slot_index": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "IPAdapterAdvanced",
|
||||
"pos": [
|
||||
800,
|
||||
100
|
||||
],
|
||||
"widgets_values": [
|
||||
0.6,
|
||||
"ease in-out",
|
||||
"average",
|
||||
0.0,
|
||||
1.0,
|
||||
"V only"
|
||||
],
|
||||
"title": "Apply IP-Adapter 1",
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterAdvanced"
|
||||
},
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 258
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "ipadapter",
|
||||
"type": "IPADAPTER",
|
||||
"link": 7
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "clip_vision",
|
||||
"type": "CLIP_VISION",
|
||||
"link": 25
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
11
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "IPAdapterAdvanced",
|
||||
"pos": [
|
||||
1100,
|
||||
100
|
||||
],
|
||||
"widgets_values": [
|
||||
0.5,
|
||||
"ease in-out",
|
||||
"average",
|
||||
0.0,
|
||||
1.0,
|
||||
"V only"
|
||||
],
|
||||
"title": "Apply IP-Adapter 2",
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterAdvanced"
|
||||
},
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 258
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 11
|
||||
},
|
||||
{
|
||||
"name": "ipadapter",
|
||||
"type": "IPADAPTER",
|
||||
"link": 10
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "clip_vision",
|
||||
"type": "CLIP_VISION",
|
||||
"link": 26
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
14
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
450,
|
||||
500
|
||||
],
|
||||
"widgets_values": [
|
||||
"Complex scene composition, detailed, professional"
|
||||
],
|
||||
"title": "API Positive Prompt",
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 200
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 12
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
15
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
450,
|
||||
750
|
||||
],
|
||||
"widgets_values": [
|
||||
"blurry, low quality"
|
||||
],
|
||||
"title": "API Negative Prompt",
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 200
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 13
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
16
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [
|
||||
800,
|
||||
500
|
||||
],
|
||||
"widgets_values": [
|
||||
1024,
|
||||
1024,
|
||||
1
|
||||
],
|
||||
"title": "API Latent Config",
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 100
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
17
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"type": "KSampler",
|
||||
"pos": [
|
||||
1400,
|
||||
100
|
||||
],
|
||||
"widgets_values": [
|
||||
42,
|
||||
"fixed",
|
||||
35,
|
||||
7.0,
|
||||
"dpmpp_2m",
|
||||
"karras",
|
||||
1
|
||||
],
|
||||
"title": "Multi-Composition Sampler",
|
||||
"flags": {},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 474
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 14
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 15
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 16
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 17
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
18
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"type": "VAEDecode",
|
||||
"pos": [
|
||||
1750,
|
||||
100
|
||||
],
|
||||
"title": "VAE Decode",
|
||||
"flags": {},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 100
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 18
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 19
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
20,
|
||||
21
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"type": "PreviewImage",
|
||||
"pos": [
|
||||
2000,
|
||||
100
|
||||
],
|
||||
"title": "Preview Output",
|
||||
"flags": {},
|
||||
"order": 12,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 100
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"type": "SaveImage",
|
||||
"pos": [
|
||||
2000,
|
||||
550
|
||||
],
|
||||
"widgets_values": [
|
||||
"ipadapter_composition_output"
|
||||
],
|
||||
"title": "API Image Output",
|
||||
"flags": {},
|
||||
"order": 13,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 100
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 21
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"type": "CLIPVisionLoader",
|
||||
"pos": [
|
||||
450,
|
||||
250
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 58
|
||||
},
|
||||
"widgets_values": [
|
||||
"CLIP-ViT-bigG-14-laion2B-39B-b160k.safetensors"
|
||||
],
|
||||
"title": "CLIP Vision Loader",
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPVisionLoader"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CLIP_VISION",
|
||||
"type": "CLIP_VISION",
|
||||
"links": [
|
||||
25,
|
||||
26
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
4,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
3,
|
||||
1,
|
||||
0,
|
||||
5,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
5,
|
||||
2,
|
||||
0,
|
||||
6,
|
||||
2,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
6,
|
||||
4,
|
||||
0,
|
||||
6,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
7,
|
||||
4,
|
||||
1,
|
||||
6,
|
||||
1,
|
||||
"IPADAPTER"
|
||||
],
|
||||
[
|
||||
8,
|
||||
3,
|
||||
0,
|
||||
7,
|
||||
2,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
10,
|
||||
5,
|
||||
1,
|
||||
7,
|
||||
1,
|
||||
"IPADAPTER"
|
||||
],
|
||||
[
|
||||
11,
|
||||
6,
|
||||
0,
|
||||
7,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
12,
|
||||
1,
|
||||
1,
|
||||
8,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
13,
|
||||
1,
|
||||
1,
|
||||
9,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
14,
|
||||
7,
|
||||
0,
|
||||
11,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
15,
|
||||
8,
|
||||
0,
|
||||
11,
|
||||
1,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
16,
|
||||
9,
|
||||
0,
|
||||
11,
|
||||
2,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
17,
|
||||
10,
|
||||
0,
|
||||
11,
|
||||
3,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
18,
|
||||
11,
|
||||
0,
|
||||
12,
|
||||
0,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
19,
|
||||
1,
|
||||
2,
|
||||
12,
|
||||
1,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
20,
|
||||
12,
|
||||
0,
|
||||
13,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
21,
|
||||
12,
|
||||
0,
|
||||
14,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
25,
|
||||
15,
|
||||
0,
|
||||
6,
|
||||
3,
|
||||
"CLIP_VISION"
|
||||
],
|
||||
[
|
||||
26,
|
||||
15,
|
||||
0,
|
||||
7,
|
||||
3,
|
||||
"CLIP_VISION"
|
||||
]
|
||||
],
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "IP-Adapter Multi-Composition Image-to-Image Production",
|
||||
"version": "1.0.0",
|
||||
"description": "Complex scene composition using multiple IP-Adapter references. Combine visual elements from multiple source images.",
|
||||
"category": "image-to-image",
|
||||
"tags": [
|
||||
"ipadapter",
|
||||
"composition",
|
||||
"multi-reference",
|
||||
"i2i",
|
||||
"production"
|
||||
],
|
||||
"requirements": {
|
||||
"models": [
|
||||
"stable-diffusion-xl-base-1.0",
|
||||
"ip-adapter-plus"
|
||||
],
|
||||
"custom_nodes": [
|
||||
"ComfyUI_IPAdapter_plus"
|
||||
],
|
||||
"vram_min": "18GB"
|
||||
},
|
||||
"parameters": {
|
||||
"ref_image_1": {
|
||||
"node_id": 2,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "First composition reference"
|
||||
},
|
||||
"ref_image_2": {
|
||||
"node_id": 3,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "Second composition reference"
|
||||
},
|
||||
"weight_1": {
|
||||
"node_id": 6,
|
||||
"type": "float",
|
||||
"default": 0.6,
|
||||
"description": "Weight for first reference"
|
||||
},
|
||||
"weight_2": {
|
||||
"node_id": 7,
|
||||
"type": "float",
|
||||
"default": 0.5,
|
||||
"description": "Weight for second reference"
|
||||
}
|
||||
},
|
||||
"use_cases": [
|
||||
"Multi-source scene composition",
|
||||
"Blend multiple visual concepts",
|
||||
"Complex artistic compositions",
|
||||
"Style mixing"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/ipadapter-face-i2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
675
example_workflows/ipadapter-face-i2i-production-v1.json
Normal file
@@ -0,0 +1,675 @@
|
||||
{
|
||||
"last_node_id": 16,
|
||||
"last_link_id": 21,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [
|
||||
50,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 350,
|
||||
"1": 100
|
||||
},
|
||||
"widgets_values": [
|
||||
"sd_xl_base_1.0.safetensors"
|
||||
],
|
||||
"title": "SDXL Base Checkpoint Loader",
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
1
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [
|
||||
6,
|
||||
7
|
||||
],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [
|
||||
13
|
||||
],
|
||||
"slot_index": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
50,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
315,
|
||||
314
|
||||
],
|
||||
"widgets_values": [
|
||||
"face_reference.png",
|
||||
"image"
|
||||
],
|
||||
"title": "API Face Reference Input",
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
3
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": [],
|
||||
"slot_index": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "IPAdapterUnifiedLoader",
|
||||
"pos": [
|
||||
450,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 78
|
||||
},
|
||||
"widgets_values": [
|
||||
"VIT-G (medium strength)"
|
||||
],
|
||||
"title": "IP-Adapter Face Loader",
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterUnifiedLoader"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
4
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "IPADAPTER",
|
||||
"type": "IPADAPTER",
|
||||
"links": [
|
||||
5
|
||||
],
|
||||
"slot_index": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "IPAdapterAdvanced",
|
||||
"pos": [
|
||||
800,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 258
|
||||
},
|
||||
"widgets_values": [
|
||||
0.85,
|
||||
"ease in-out",
|
||||
"average",
|
||||
0.0,
|
||||
1.0,
|
||||
"V only"
|
||||
],
|
||||
"title": "Apply IP-Adapter Face",
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterAdvanced"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 4
|
||||
},
|
||||
{
|
||||
"name": "ipadapter",
|
||||
"type": "IPADAPTER",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 3
|
||||
},
|
||||
{
|
||||
"name": "clip_vision",
|
||||
"type": "CLIP_VISION",
|
||||
"link": 20
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
8
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
450,
|
||||
400
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 200
|
||||
},
|
||||
"widgets_values": [
|
||||
"A professional portrait, studio lighting, detailed face"
|
||||
],
|
||||
"title": "API Positive Prompt",
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 6
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
9
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
450,
|
||||
650
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 200
|
||||
},
|
||||
"widgets_values": [
|
||||
"blurry, distorted face, low quality"
|
||||
],
|
||||
"title": "API Negative Prompt",
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
10
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [
|
||||
800,
|
||||
450
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 106
|
||||
},
|
||||
"widgets_values": [
|
||||
1024,
|
||||
1024,
|
||||
1
|
||||
],
|
||||
"title": "API Latent Image Config",
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
11
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "KSampler",
|
||||
"pos": [
|
||||
1170,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 474
|
||||
},
|
||||
"widgets_values": [
|
||||
42,
|
||||
"fixed",
|
||||
30,
|
||||
6.5,
|
||||
"dpmpp_2m",
|
||||
"karras",
|
||||
1
|
||||
],
|
||||
"title": "Sampler with Face",
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 9
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 10
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 11
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
12
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "VAEDecode",
|
||||
"pos": [
|
||||
1540,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 46
|
||||
},
|
||||
"title": "VAE Decode",
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 12
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 13
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
14,
|
||||
15
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": "PreviewImage",
|
||||
"pos": [
|
||||
1800,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 400
|
||||
},
|
||||
"title": "Preview Output",
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 14
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"type": "SaveImage",
|
||||
"pos": [
|
||||
1800,
|
||||
550
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 100
|
||||
},
|
||||
"widgets_values": [
|
||||
"ipadapter_face_output"
|
||||
],
|
||||
"title": "API Image Output",
|
||||
"flags": {},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 15
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"type": "CLIPVisionLoader",
|
||||
"pos": [
|
||||
450,
|
||||
250
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 58
|
||||
},
|
||||
"widgets_values": [
|
||||
"CLIP-ViT-bigG-14-laion2B-39B-b160k.safetensors"
|
||||
],
|
||||
"title": "CLIP Vision Loader",
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPVisionLoader"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CLIP_VISION",
|
||||
"type": "CLIP_VISION",
|
||||
"links": [
|
||||
20
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
3,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
3,
|
||||
2,
|
||||
0,
|
||||
4,
|
||||
2,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
4,
|
||||
3,
|
||||
0,
|
||||
4,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
5,
|
||||
3,
|
||||
1,
|
||||
4,
|
||||
1,
|
||||
"IPADAPTER"
|
||||
],
|
||||
[
|
||||
6,
|
||||
1,
|
||||
1,
|
||||
5,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
7,
|
||||
1,
|
||||
1,
|
||||
6,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
8,
|
||||
4,
|
||||
0,
|
||||
8,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
9,
|
||||
5,
|
||||
0,
|
||||
8,
|
||||
1,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
10,
|
||||
6,
|
||||
0,
|
||||
8,
|
||||
2,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
11,
|
||||
7,
|
||||
0,
|
||||
8,
|
||||
3,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
12,
|
||||
8,
|
||||
0,
|
||||
9,
|
||||
0,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
13,
|
||||
1,
|
||||
2,
|
||||
9,
|
||||
1,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
14,
|
||||
9,
|
||||
0,
|
||||
10,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
15,
|
||||
9,
|
||||
0,
|
||||
11,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
20,
|
||||
12,
|
||||
0,
|
||||
4,
|
||||
3,
|
||||
"CLIP_VISION"
|
||||
]
|
||||
],
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "IP-Adapter Face Portrait Image-to-Image Production",
|
||||
"version": "1.0.0",
|
||||
"description": "Face-focused generation using IP-Adapter Face model. Transfer facial features from reference to generate new portraits or perform face swaps.",
|
||||
"category": "image-to-image",
|
||||
"tags": [
|
||||
"ipadapter",
|
||||
"face",
|
||||
"portrait",
|
||||
"i2i",
|
||||
"production"
|
||||
],
|
||||
"requirements": {
|
||||
"models": [
|
||||
"stable-diffusion-xl-base-1.0",
|
||||
"ip-adapter-face"
|
||||
],
|
||||
"custom_nodes": [
|
||||
"ComfyUI_IPAdapter_plus"
|
||||
],
|
||||
"vram_min": "16GB"
|
||||
},
|
||||
"parameters": {
|
||||
"face_image": {
|
||||
"node_id": 2,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "Reference face image"
|
||||
},
|
||||
"prompt": {
|
||||
"node_id": 5,
|
||||
"type": "string",
|
||||
"default": "A professional portrait",
|
||||
"description": "Portrait description"
|
||||
},
|
||||
"face_weight": {
|
||||
"node_id": 4,
|
||||
"type": "float",
|
||||
"default": 0.85,
|
||||
"description": "Face similarity strength (0.85 recommended)"
|
||||
}
|
||||
},
|
||||
"use_cases": [
|
||||
"Portrait generation with specific face",
|
||||
"Face swap in different contexts",
|
||||
"Consistent character portraits",
|
||||
"Professional headshots"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/ipadapter-style-i2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
723
example_workflows/ipadapter-style-i2i-production-v1.json
Normal file
@@ -0,0 +1,723 @@
|
||||
{
|
||||
"last_node_id": 15,
|
||||
"last_link_id": 20,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [
|
||||
50,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 350,
|
||||
"1": 100
|
||||
},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
1
|
||||
],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [
|
||||
2,
|
||||
3
|
||||
],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [
|
||||
4
|
||||
],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": [
|
||||
"sd_xl_base_1.0.safetensors"
|
||||
],
|
||||
"title": "SDXL Base Checkpoint Loader"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
50,
|
||||
300
|
||||
],
|
||||
"size": [
|
||||
315,
|
||||
314
|
||||
],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
11
|
||||
],
|
||||
"shape": 3
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null,
|
||||
"shape": 3
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"style_reference.png",
|
||||
"image"
|
||||
],
|
||||
"title": "API Style Reference Input"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "IPAdapterUnifiedLoader",
|
||||
"pos": [
|
||||
450,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 78
|
||||
},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "ipadapter",
|
||||
"type": "IPADAPTER",
|
||||
"link": null
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
12
|
||||
],
|
||||
"shape": 3,
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "ipadapter",
|
||||
"type": "IPADAPTER",
|
||||
"links": [
|
||||
13
|
||||
],
|
||||
"shape": 3,
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterUnifiedLoader"
|
||||
},
|
||||
"widgets_values": [
|
||||
"VIT-G (medium strength)"
|
||||
],
|
||||
"title": "IP-Adapter Loader"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "IPAdapter",
|
||||
"pos": [
|
||||
800,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 258
|
||||
},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "ipadapter",
|
||||
"type": "IPADAPTER",
|
||||
"link": 13
|
||||
},
|
||||
{
|
||||
"name": "clip_vision",
|
||||
"type": "CLIP_VISION",
|
||||
"link": null
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 11
|
||||
},
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 12
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [
|
||||
14
|
||||
],
|
||||
"shape": 3,
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "IPAdapterApply"
|
||||
},
|
||||
"widgets_values": [
|
||||
0.75,
|
||||
0.0,
|
||||
1.0,
|
||||
"style transfer"
|
||||
],
|
||||
"title": "Apply IP-Adapter Style"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
450,
|
||||
400
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 200
|
||||
},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
5
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": [
|
||||
"A portrait of a person, highly detailed, professional photography"
|
||||
],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [
|
||||
450,
|
||||
650
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 200
|
||||
},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [
|
||||
6
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": [
|
||||
"blurry, low quality, distorted, deformed"
|
||||
],
|
||||
"title": "API Negative Prompt"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [
|
||||
800,
|
||||
450
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 106
|
||||
},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
7
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
1024,
|
||||
1024,
|
||||
1
|
||||
],
|
||||
"title": "API Latent Image Config"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "KSampler",
|
||||
"pos": [
|
||||
1170,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 474
|
||||
},
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 14
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [
|
||||
8
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
42,
|
||||
"fixed",
|
||||
30,
|
||||
6.5,
|
||||
"dpmpp_2m",
|
||||
"karras",
|
||||
1
|
||||
],
|
||||
"title": "Sampler with Style"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "VAEDecode",
|
||||
"pos": [
|
||||
1540,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 46
|
||||
},
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": "PreviewImage",
|
||||
"pos": [
|
||||
1800,
|
||||
100
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 400
|
||||
},
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Output"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"type": "SaveImage",
|
||||
"pos": [
|
||||
1800,
|
||||
550
|
||||
],
|
||||
"size": {
|
||||
"0": 400,
|
||||
"1": 100
|
||||
},
|
||||
"flags": {},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 10
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"ipadapter_style_output"
|
||||
],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
3,
|
||||
0,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
5,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
3,
|
||||
1,
|
||||
1,
|
||||
6,
|
||||
0,
|
||||
"CLIP"
|
||||
],
|
||||
[
|
||||
4,
|
||||
1,
|
||||
2,
|
||||
9,
|
||||
1,
|
||||
"VAE"
|
||||
],
|
||||
[
|
||||
5,
|
||||
5,
|
||||
0,
|
||||
8,
|
||||
1,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
6,
|
||||
6,
|
||||
0,
|
||||
8,
|
||||
2,
|
||||
"CONDITIONING"
|
||||
],
|
||||
[
|
||||
7,
|
||||
7,
|
||||
0,
|
||||
8,
|
||||
3,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
8,
|
||||
8,
|
||||
0,
|
||||
9,
|
||||
0,
|
||||
"LATENT"
|
||||
],
|
||||
[
|
||||
9,
|
||||
9,
|
||||
0,
|
||||
10,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
10,
|
||||
9,
|
||||
0,
|
||||
11,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
11,
|
||||
2,
|
||||
0,
|
||||
4,
|
||||
2,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
12,
|
||||
3,
|
||||
0,
|
||||
4,
|
||||
3,
|
||||
"MODEL"
|
||||
],
|
||||
[
|
||||
13,
|
||||
3,
|
||||
1,
|
||||
4,
|
||||
0,
|
||||
"IPADAPTER"
|
||||
],
|
||||
[
|
||||
14,
|
||||
4,
|
||||
0,
|
||||
8,
|
||||
0,
|
||||
"MODEL"
|
||||
]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "IP-Adapter Style Transfer Image-to-Image Production",
|
||||
"version": "1.0.0",
|
||||
"author": "RunPod AI Model Orchestrator",
|
||||
"description": "Style transfer using IP-Adapter. Apply the visual style from a reference image to generate new images matching that aesthetic.",
|
||||
"category": "image-to-image",
|
||||
"tags": [
|
||||
"ipadapter",
|
||||
"style-transfer",
|
||||
"i2i",
|
||||
"production",
|
||||
"sdxl"
|
||||
],
|
||||
"requirements": {
|
||||
"models": [
|
||||
"stable-diffusion-xl-base-1.0",
|
||||
"ip-adapter-plus"
|
||||
],
|
||||
"custom_nodes": [
|
||||
"ComfyUI_IPAdapter_plus"
|
||||
],
|
||||
"vram_min": "16GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"style_image": {
|
||||
"node_id": 2,
|
||||
"widget_index": 0,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "Reference image for style extraction"
|
||||
},
|
||||
"prompt": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "A portrait of a person",
|
||||
"description": "Text description of desired content"
|
||||
},
|
||||
"negative_prompt": {
|
||||
"node_id": 6,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "blurry, low quality",
|
||||
"description": "Undesired elements to avoid"
|
||||
},
|
||||
"style_weight": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 0.75,
|
||||
"min": 0.0,
|
||||
"max": 1.0,
|
||||
"description": "Strength of style application (0.75 recommended)"
|
||||
},
|
||||
"width": {
|
||||
"node_id": 7,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Output image width"
|
||||
},
|
||||
"height": {
|
||||
"node_id": 7,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Output image height"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 8,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 4294967295,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 8,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 30,
|
||||
"min": 20,
|
||||
"max": 50,
|
||||
"description": "Number of sampling steps"
|
||||
},
|
||||
"cfg": {
|
||||
"node_id": 8,
|
||||
"widget_index": 3,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 6.5,
|
||||
"min": 1.0,
|
||||
"max": 15.0,
|
||||
"description": "Classifier-free guidance scale"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"image": {
|
||||
"node_id": 11,
|
||||
"type": "image",
|
||||
"format": "PNG",
|
||||
"resolution": "1024x1024 (configurable)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "30-40 seconds",
|
||||
"vram_usage": "~16-18GB",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Apply artistic styles to new subjects",
|
||||
"Match aesthetic of reference images",
|
||||
"Consistent style across generated images",
|
||||
"Photography style transfer"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/lora-fusion-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
408
example_workflows/lora-fusion-t2i-production-v1.json
Normal file
@@ -0,0 +1,408 @@
|
||||
{
|
||||
"last_node_id": 15,
|
||||
"last_link_id": 24,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 380, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [2],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [3],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["sd_xl_base_1.0.safetensors"],
|
||||
"title": "Base Checkpoint Loader"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "LoraLoader",
|
||||
"pos": [480, 100],
|
||||
"size": {"0": 380, "1": 130},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [4],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [5],
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoraLoader"
|
||||
},
|
||||
"widgets_values": ["add-detail-xl.safetensors", 0.8, 0.8],
|
||||
"title": "LoRA 1 (Primary Style)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "LoraLoader",
|
||||
"pos": [920, 100],
|
||||
"size": {"0": 380, "1": 130},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 4
|
||||
},
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 5
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [7],
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoraLoader"
|
||||
},
|
||||
"widgets_values": ["add-detail-xl.safetensors", 0.5, 0.5],
|
||||
"title": "LoRA 2 (Secondary Style)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "LoraLoader",
|
||||
"pos": [1360, 100],
|
||||
"size": {"0": 380, "1": 130},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [8],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [9, 10],
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoraLoader"
|
||||
},
|
||||
"widgets_values": ["add-detail-xl.safetensors", 0.3, 0.3],
|
||||
"title": "LoRA 3 (Accent/Detail)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [50, 280],
|
||||
"size": {"0": 450, "1": 250},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [11],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["A beautiful scenic landscape with mountains, vibrant colors, detailed, high quality, masterpiece, best quality, 8k"],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [50, 580],
|
||||
"size": {"0": 450, "1": 150},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 10
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [12],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["(worst quality, low quality:1.4), bad anatomy, deformed, blurry, watermark, text"],
|
||||
"title": "Negative Prompt"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [560, 580],
|
||||
"size": {"0": 315, "1": 110},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [13],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "Latent Image (SDXL Resolution)"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "KSampler",
|
||||
"pos": [920, 280],
|
||||
"size": {"0": 350, "1": 290},
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 11
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 12
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 13
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [14],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
0,
|
||||
"randomize",
|
||||
30,
|
||||
7.0,
|
||||
"dpmpp_2m_sde",
|
||||
"karras",
|
||||
1.0
|
||||
],
|
||||
"title": "KSampler (Standard Settings)"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1320, 280],
|
||||
"size": {"0": 210, "1": 50},
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 14
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [15],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": "SaveImage",
|
||||
"pos": [1580, 280],
|
||||
"size": {"0": 320, "1": 290},
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 15
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["lora_fusion"],
|
||||
"title": "API Output Image"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "MODEL"],
|
||||
[2, 1, 1, 2, 1, "CLIP"],
|
||||
[3, 1, 2, 9, 1, "VAE"],
|
||||
[4, 2, 0, 3, 0, "MODEL"],
|
||||
[5, 2, 1, 3, 1, "CLIP"],
|
||||
[6, 3, 0, 4, 0, "MODEL"],
|
||||
[7, 3, 1, 4, 1, "CLIP"],
|
||||
[8, 4, 0, 8, 0, "MODEL"],
|
||||
[9, 4, 1, 5, 0, "CLIP"],
|
||||
[10, 4, 1, 6, 0, "CLIP"],
|
||||
[11, 5, 0, 8, 1, "CONDITIONING"],
|
||||
[12, 6, 0, 8, 2, "CONDITIONING"],
|
||||
[13, 7, 0, 8, 3, "LATENT"],
|
||||
[14, 8, 0, 9, 0, "LATENT"],
|
||||
[15, 9, 0, 10, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "LoRA Fusion Multi-Stack Text-to-Image",
|
||||
"version": "1.0",
|
||||
"description": "Production workflow for combining multiple LoRA models with adjustable weights. Stack up to 3 LoRAs with fine-tuned strength control for style mixing and enhancement. Works with any SDXL checkpoint including NSFW models.",
|
||||
"category": "text-to-image",
|
||||
"features": [
|
||||
"Triple LoRA stacking with independent weight control",
|
||||
"Compatible with any SDXL checkpoint (SFW/NSFW)",
|
||||
"Hierarchical strength: Primary (0.7-1.0), Secondary (0.4-0.7), Accent (0.2-0.5)",
|
||||
"Supports style LoRAs, detail enhancers, and character LoRAs",
|
||||
"Easy to disable individual LoRAs by setting weights to 0.0"
|
||||
],
|
||||
"recommended_usage": {
|
||||
"lora_1_strength": "0.7-1.0 (primary style influence)",
|
||||
"lora_2_strength": "0.4-0.7 (secondary style blend)",
|
||||
"lora_3_strength": "0.2-0.5 (subtle accent/details)",
|
||||
"disable_lora": "Set both model and clip weights to 0.0"
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"use_case": "Portrait Enhancement",
|
||||
"lora_1": "Detail enhancer (0.8)",
|
||||
"lora_2": "Skin texture LoRA (0.5)",
|
||||
"lora_3": "Lighting style (0.3)"
|
||||
},
|
||||
{
|
||||
"use_case": "Artistic Style Fusion",
|
||||
"lora_1": "Primary art style (1.0)",
|
||||
"lora_2": "Secondary style blend (0.6)",
|
||||
"lora_3": "Color grading (0.4)"
|
||||
},
|
||||
{
|
||||
"use_case": "Character + Style",
|
||||
"lora_1": "Character LoRA (0.9)",
|
||||
"lora_2": "Pose/anatomy enhancer (0.5)",
|
||||
"lora_3": "Background style (0.3)"
|
||||
}
|
||||
],
|
||||
"tags": ["lora", "multi-stack", "fusion", "style-mixing", "enhancement", "sdxl"]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/lustify-realistic-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
256
example_workflows/lustify-realistic-t2i-production-v1.json
Normal file
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"last_node_id": 11,
|
||||
"last_link_id": 16,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 380, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [2, 3],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [4],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["lustifySDXLNSFW_endgame.safetensors"],
|
||||
"title": "LUSTIFY v7.0 GGWP Checkpoint"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [480, 100],
|
||||
"size": {"0": 450, "1": 250},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["A beautiful woman in elegant dress, photorealistic, professional photography, high quality, detailed skin texture, natural lighting, 8k, masterpiece, best quality"],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [480, 400],
|
||||
"size": {"0": 450, "1": 150},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["(worst quality, low quality:1.4), illustration, 3d, 2d, painting, cartoons, sketch, open mouth, bad anatomy, deformed, blurry, watermark, text"],
|
||||
"title": "Negative Prompt (LUSTIFY Optimized)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [480, 600],
|
||||
"size": {"0": 315, "1": 110},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "Latent Image (SDXL Resolution)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [980, 100],
|
||||
"size": {"0": 350, "1": 290},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [8],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
0,
|
||||
"randomize",
|
||||
30,
|
||||
6.0,
|
||||
"dpmpp_2m_sde",
|
||||
"exponential",
|
||||
1.0
|
||||
],
|
||||
"title": "LUSTIFY Sampler (DPM++ 2M SDE / Exponential)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1380, 100],
|
||||
"size": {"0": 210, "1": 50},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "SaveImage",
|
||||
"pos": [1640, 100],
|
||||
"size": {"0": 320, "1": 290},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["lustify_realistic"],
|
||||
"title": "API Output Image"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "MODEL"],
|
||||
[2, 1, 1, 2, 0, "CLIP"],
|
||||
[3, 1, 1, 3, 0, "CLIP"],
|
||||
[4, 1, 2, 6, 1, "VAE"],
|
||||
[5, 2, 0, 5, 1, "CONDITIONING"],
|
||||
[6, 3, 0, 5, 2, "CONDITIONING"],
|
||||
[7, 4, 0, 5, 3, "LATENT"],
|
||||
[8, 5, 0, 6, 0, "LATENT"],
|
||||
[9, 6, 0, 7, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "LUSTIFY Realistic NSFW Text-to-Image",
|
||||
"version": "1.0",
|
||||
"description": "Production workflow for LUSTIFY v7.0 GGWP checkpoint optimized for photorealistic NSFW generation with recommended settings (DPM++ 2M SDE, Exponential scheduler, 30 steps, CFG 6.0)",
|
||||
"category": "nsfw",
|
||||
"model": "lustifySDXLNSFW_endgame.safetensors",
|
||||
"recommended_settings": {
|
||||
"sampler": "dpmpp_2m_sde or dpmpp_3m_sde",
|
||||
"scheduler": "exponential or karras",
|
||||
"steps": 30,
|
||||
"cfg_scale": "4.0-7.0"
|
||||
},
|
||||
"tags": ["nsfw", "realistic", "photography", "women", "sdxl"]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/musicgen-large-t2m-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
151
example_workflows/musicgen-large-t2m-production-v1.json
Normal file
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"last_node_id": 2,
|
||||
"last_link_id": 1,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "Musicgen_",
|
||||
"pos": [50, 100],
|
||||
"size": [400, 300],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "Musicgen_"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Upbeat electronic dance music with energetic beats and synthesizer melodies",
|
||||
30.0,
|
||||
4.0,
|
||||
42,
|
||||
"auto"
|
||||
],
|
||||
"title": "MusicGen Large Generator"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "AudioPlay",
|
||||
"pos": [500, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "AudioPlay"
|
||||
},
|
||||
"title": "API Audio Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "AUDIO"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "MusicGen Large Text-to-Music Production",
|
||||
"version": "1.2.0",
|
||||
"description": "High-quality music generation using MusicGen Large. Generates up to 30 seconds of music from text prompts.",
|
||||
"category": "text-to-music",
|
||||
"tags": ["musicgen", "large", "t2m", "audio", "production"],
|
||||
"requirements": {
|
||||
"models": ["facebook/musicgen-large"],
|
||||
"custom_nodes": ["comfyui-sound-lab"],
|
||||
"vram_min": "12GB",
|
||||
"vram_recommended": "16GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 1,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "Upbeat electronic dance music",
|
||||
"description": "Text description of desired music style, genre, mood, instruments"
|
||||
},
|
||||
"duration": {
|
||||
"node_id": 1,
|
||||
"widget_index": 1,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 30.0,
|
||||
"min": 1.0,
|
||||
"max": 60.0,
|
||||
"description": "Duration in seconds (up to 30s recommended for best quality)"
|
||||
},
|
||||
"guidance_scale": {
|
||||
"node_id": 1,
|
||||
"widget_index": 2,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 4.0,
|
||||
"min": 0.0,
|
||||
"max": 20.0,
|
||||
"description": "How closely to follow the prompt (4.0 recommended)"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 1,
|
||||
"widget_index": 3,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 2147483647,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"device": {
|
||||
"node_id": 1,
|
||||
"widget_index": 4,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "auto",
|
||||
"options": ["auto", "cpu"],
|
||||
"description": "Computation device (auto recommended)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"audio": {
|
||||
"node_id": 2,
|
||||
"type": "audio",
|
||||
"format": "FLAC",
|
||||
"sample_rate": "32000 Hz",
|
||||
"channels": "stereo"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "60-90 seconds for 30s audio",
|
||||
"vram_usage": "~14-16GB",
|
||||
"gpu_utilization": "90-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Background music generation",
|
||||
"Game soundtrack creation",
|
||||
"Video background music",
|
||||
"Music prototyping and ideation"
|
||||
],
|
||||
"notes": [
|
||||
"MusicGen Large produces highest quality output",
|
||||
"Best results with clear, specific prompts",
|
||||
"Can specify genre, mood, instruments, tempo",
|
||||
"Output is 32kHz stereo FLAC format",
|
||||
"Longer durations (>30s) may reduce coherence"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/musicgen-medium-t2m-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
151
example_workflows/musicgen-medium-t2m-production-v1.json
Normal file
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"last_node_id": 2,
|
||||
"last_link_id": 1,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "Musicgen_",
|
||||
"pos": [50, 100],
|
||||
"size": [400, 300],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "Musicgen_"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Upbeat electronic dance music with energetic beats and synthesizer melodies",
|
||||
30.0,
|
||||
3.0,
|
||||
42,
|
||||
"auto"
|
||||
],
|
||||
"title": "MusicGen Medium Generator"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "AudioPlay",
|
||||
"pos": [500, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "AudioPlay"
|
||||
},
|
||||
"title": "API Audio Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "AUDIO"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "MusicGen Medium Text-to-Music Production",
|
||||
"version": "1.2.0",
|
||||
"description": "Balanced music generation using MusicGen Medium. Good quality with moderate VRAM usage.",
|
||||
"category": "text-to-music",
|
||||
"tags": ["musicgen", "medium", "t2m", "audio", "production"],
|
||||
"requirements": {
|
||||
"models": ["facebook/musicgen-medium"],
|
||||
"custom_nodes": ["comfyui-sound-lab"],
|
||||
"vram_min": "8GB",
|
||||
"vram_recommended": "10GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 1,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "Upbeat electronic dance music",
|
||||
"description": "Text description of desired music style, genre, mood, instruments"
|
||||
},
|
||||
"duration": {
|
||||
"node_id": 1,
|
||||
"widget_index": 1,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 30.0,
|
||||
"min": 1.0,
|
||||
"max": 60.0,
|
||||
"description": "Duration in seconds (up to 30s recommended for best quality)"
|
||||
},
|
||||
"guidance_scale": {
|
||||
"node_id": 1,
|
||||
"widget_index": 2,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 3.0,
|
||||
"min": 0.0,
|
||||
"max": 20.0,
|
||||
"description": "How closely to follow the prompt (3.0 recommended)"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 1,
|
||||
"widget_index": 3,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 2147483647,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"device": {
|
||||
"node_id": 1,
|
||||
"widget_index": 4,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "auto",
|
||||
"options": ["auto", "cpu"],
|
||||
"description": "Computation device (auto recommended)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"audio": {
|
||||
"node_id": 2,
|
||||
"type": "audio",
|
||||
"format": "FLAC",
|
||||
"sample_rate": "32000 Hz",
|
||||
"channels": "stereo"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "30-50 seconds for 30s audio",
|
||||
"vram_usage": "~8-10GB",
|
||||
"gpu_utilization": "90-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Background music generation",
|
||||
"Game soundtrack creation",
|
||||
"Video background music",
|
||||
"Music prototyping with moderate quality"
|
||||
],
|
||||
"notes": [
|
||||
"MusicGen Medium balances quality and resource usage",
|
||||
"Faster than Large, better quality than Small",
|
||||
"Best results with clear, specific prompts",
|
||||
"Can specify genre, mood, instruments, tempo",
|
||||
"Output is 32kHz stereo FLAC format"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/musicgen-melody-t2m-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
150
example_workflows/musicgen-melody-t2m-production-v1.json
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"last_node_id": 2,
|
||||
"last_link_id": 1,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "Musicgen_",
|
||||
"pos": [50, 100],
|
||||
"size": [400, 300],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "Musicgen_"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Electronic music with melodic elements and catchy hooks",
|
||||
30.0,
|
||||
3.5,
|
||||
42,
|
||||
"auto"
|
||||
],
|
||||
"title": "MusicGen Melody Generator"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "AudioPlay",
|
||||
"pos": [500, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "AudioPlay"
|
||||
},
|
||||
"title": "API Audio Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "AUDIO"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "MusicGen Melody Text-to-Music Production",
|
||||
"version": "1.2.0",
|
||||
"description": "Music generation using MusicGen with melodic focus. Note: Melody conditioning via audio input not yet supported.",
|
||||
"category": "text-to-music",
|
||||
"tags": ["musicgen", "melody", "t2m", "audio", "production"],
|
||||
"requirements": {
|
||||
"models": ["facebook/musicgen-melody"],
|
||||
"custom_nodes": ["comfyui-sound-lab"],
|
||||
"vram_min": "10GB",
|
||||
"vram_recommended": "12GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 1,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "Electronic music with melodic elements",
|
||||
"description": "Text description of desired music style, genre, mood, instruments"
|
||||
},
|
||||
"duration": {
|
||||
"node_id": 1,
|
||||
"widget_index": 1,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 30.0,
|
||||
"min": 1.0,
|
||||
"max": 60.0,
|
||||
"description": "Duration in seconds (up to 30s recommended for best quality)"
|
||||
},
|
||||
"guidance_scale": {
|
||||
"node_id": 1,
|
||||
"widget_index": 2,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 3.5,
|
||||
"min": 0.0,
|
||||
"max": 20.0,
|
||||
"description": "How closely to follow the prompt (3.5 recommended)"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 1,
|
||||
"widget_index": 3,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 2147483647,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"device": {
|
||||
"node_id": 1,
|
||||
"widget_index": 4,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "auto",
|
||||
"options": ["auto", "cpu"],
|
||||
"description": "Computation device (auto recommended)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"audio": {
|
||||
"node_id": 2,
|
||||
"type": "audio",
|
||||
"format": "FLAC",
|
||||
"sample_rate": "32000 Hz",
|
||||
"channels": "stereo"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "40-60 seconds for 30s audio",
|
||||
"vram_usage": "~10-12GB",
|
||||
"gpu_utilization": "90-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Melodic music generation",
|
||||
"Creating catchy hooks and melodies",
|
||||
"Music with strong melodic structure"
|
||||
],
|
||||
"notes": [
|
||||
"IMPORTANT: Melody conditioning via audio input not yet supported in current Sound Lab implementation",
|
||||
"This workflow uses text prompts only - describe melodic characteristics in the prompt",
|
||||
"For best melodic results, use descriptive terms like 'catchy melody', 'melodic hooks', 'harmonic progression'",
|
||||
"MusicGen Melody model trained for melodic content",
|
||||
"Output is 32kHz stereo FLAC format"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/musicgen-small-t2m-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
151
example_workflows/musicgen-small-t2m-production-v1.json
Normal file
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"last_node_id": 2,
|
||||
"last_link_id": 1,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "Musicgen_",
|
||||
"pos": [50, 100],
|
||||
"size": [400, 300],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "Musicgen_"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Upbeat electronic dance music with energetic beats and synthesizer melodies",
|
||||
30.0,
|
||||
3.0,
|
||||
42,
|
||||
"auto"
|
||||
],
|
||||
"title": "MusicGen Small Generator"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "AudioPlay",
|
||||
"pos": [500, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "audio",
|
||||
"type": "AUDIO",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "AudioPlay"
|
||||
},
|
||||
"title": "API Audio Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 2, 0, "AUDIO"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "MusicGen Small Text-to-Music Production",
|
||||
"version": "1.2.0",
|
||||
"description": "Fast music generation using MusicGen Small. Lower quality but fastest generation and minimal VRAM.",
|
||||
"category": "text-to-music",
|
||||
"tags": ["musicgen", "small", "t2m", "audio", "production", "fast"],
|
||||
"requirements": {
|
||||
"models": ["facebook/musicgen-small"],
|
||||
"custom_nodes": ["comfyui-sound-lab"],
|
||||
"vram_min": "4GB",
|
||||
"vram_recommended": "6GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 1,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "Upbeat electronic dance music",
|
||||
"description": "Text description of desired music style, genre, mood, instruments"
|
||||
},
|
||||
"duration": {
|
||||
"node_id": 1,
|
||||
"widget_index": 1,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 30.0,
|
||||
"min": 1.0,
|
||||
"max": 60.0,
|
||||
"description": "Duration in seconds (up to 30s recommended for best quality)"
|
||||
},
|
||||
"guidance_scale": {
|
||||
"node_id": 1,
|
||||
"widget_index": 2,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 3.0,
|
||||
"min": 0.0,
|
||||
"max": 20.0,
|
||||
"description": "How closely to follow the prompt (3.0 recommended)"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 1,
|
||||
"widget_index": 3,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 2147483647,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"device": {
|
||||
"node_id": 1,
|
||||
"widget_index": 4,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "auto",
|
||||
"options": ["auto", "cpu"],
|
||||
"description": "Computation device (auto recommended)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"audio": {
|
||||
"node_id": 2,
|
||||
"type": "audio",
|
||||
"format": "FLAC",
|
||||
"sample_rate": "32000 Hz",
|
||||
"channels": "stereo"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "20-35 seconds for 30s audio",
|
||||
"vram_usage": "~4-6GB",
|
||||
"gpu_utilization": "85-95%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Rapid prototyping",
|
||||
"Low-resource environments",
|
||||
"Quick background music drafts",
|
||||
"Testing different prompts quickly"
|
||||
],
|
||||
"notes": [
|
||||
"MusicGen Small is fastest but lowest quality",
|
||||
"Good for rapid iteration and testing",
|
||||
"Best results with clear, specific prompts",
|
||||
"Can specify genre, mood, instruments, tempo",
|
||||
"Output is 32kHz stereo FLAC format"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/nsfw-ultimate-upscale-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
300
example_workflows/nsfw-ultimate-upscale-production-v1.json
Normal file
@@ -0,0 +1,300 @@
|
||||
{
|
||||
"last_node_id": 8,
|
||||
"last_link_id": 10,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 100],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null,
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": ["input_image.png", "image"],
|
||||
"title": "API Input Image"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 250],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [3, 4],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [5],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["lustifySDXLNSFW_endgame.safetensors"],
|
||||
"title": "LUSTIFY v7.0 GGWP Checkpoint"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 100],
|
||||
"size": [400, 200],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["photorealistic, professional photography, high quality, detailed skin texture, natural lighting, 8k, masterpiece, best quality, sharp details"],
|
||||
"title": "API Positive Prompt (Enhancement)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 350],
|
||||
"size": [400, 200],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["(worst quality, low quality:1.4), blurry, pixelated, jpeg artifacts, bad anatomy, deformed, watermark, text"],
|
||||
"title": "API Negative Prompt (Refinement)"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "UpscaleModelLoader",
|
||||
"pos": [50, 400],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "UPSCALE_MODEL",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"links": [10],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UpscaleModelLoader"
|
||||
},
|
||||
"widgets_values": ["RealESRGAN_x2.pth"],
|
||||
"title": "Upscale Model Loader (2x)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "UltimateSDUpscale",
|
||||
"pos": [900, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 2
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 7
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "upscale_model",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"link": 10
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [8, 9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UltimateSDUpscale"
|
||||
},
|
||||
"widgets_values": [2, 42, "randomize", 20, 7.0, "dpmpp_2m_sde", "exponential", 0.25, "Linear", 512, 512, 8, 32, "None", 1.0, 64, 8, 16, true, false],
|
||||
"title": "Ultimate SD Upscale NSFW (2x)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1270, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 8
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Output"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "SaveImage",
|
||||
"pos": [1270, 400],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["nsfw_upscale_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "IMAGE"],
|
||||
[2, 2, 0, 5, 1, "MODEL"],
|
||||
[3, 2, 1, 3, 0, "CLIP"],
|
||||
[4, 2, 1, 4, 0, "CLIP"],
|
||||
[5, 2, 2, 5, 4, "VAE"],
|
||||
[6, 3, 0, 5, 2, "CONDITIONING"],
|
||||
[7, 4, 0, 5, 3, "CONDITIONING"],
|
||||
[8, 5, 0, 6, 0, "IMAGE"],
|
||||
[9, 5, 0, 7, 0, "IMAGE"],
|
||||
[10, 8, 0, 5, 5, "UPSCALE_MODEL"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "NSFW Ultimate SD Upscale Production",
|
||||
"version": "1.0",
|
||||
"description": "Professional 2x upscaling for NSFW images using Ultimate SD Upscale with LUSTIFY checkpoint. Combines RealESRGAN upscaling with diffusion refinement for superior detail, skin texture, and photorealistic quality in adult content.",
|
||||
"category": "nsfw",
|
||||
"model": "lustifySDXLNSFW_endgame.safetensors",
|
||||
"recommended_settings": {
|
||||
"upscale_factor": "2x (use RealESRGAN_x2.pth)",
|
||||
"denoise": "0.2-0.3 (lower preserves original, higher adds detail)",
|
||||
"sampler": "dpmpp_2m_sde",
|
||||
"scheduler": "exponential",
|
||||
"steps": 20,
|
||||
"cfg_scale": "6.0-8.0",
|
||||
"tile_size": "512x512 (optimal for SDXL)"
|
||||
},
|
||||
"features": [
|
||||
"2x upscaling with RealESRGAN + diffusion refinement",
|
||||
"LUSTIFY checkpoint for photorealistic NSFW enhancement",
|
||||
"Tiled processing for handling large images",
|
||||
"Optimized for detailed skin texture and natural lighting",
|
||||
"Low denoise (0.25) preserves original composition",
|
||||
"Can swap checkpoint for different styles (Pony, RealVisXL)"
|
||||
],
|
||||
"tags": ["nsfw", "upscaling", "ultimate-sd-upscale", "lustify", "enhancement", "production"],
|
||||
"requirements": {
|
||||
"models": ["lustifySDXLNSFW_endgame.safetensors", "RealESRGAN_x2.pth"],
|
||||
"custom_nodes": ["ComfyUI_UltimateSDUpscale"],
|
||||
"vram_min": "18GB"
|
||||
},
|
||||
"usage_notes": {
|
||||
"checkpoint_swap": "Change node 2 to use different NSFW models (pony, realvisxl, etc.)",
|
||||
"denoise_tuning": "0.2 = subtle enhancement, 0.3 = moderate refinement, 0.4+ = creative upscaling",
|
||||
"prompt_matching": "Match enhancement prompt to original generation prompt for best results",
|
||||
"tile_overlap": "8px overlap prevents visible seams in large upscales"
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "90-150 seconds (1024x1024 -> 2048x2048)",
|
||||
"vram_usage": "~20-22GB (LUSTIFY + tiled processing)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/pony-anime-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
260
example_workflows/pony-anime-t2i-production-v1.json
Normal file
@@ -0,0 +1,260 @@
|
||||
{
|
||||
"last_node_id": 11,
|
||||
"last_link_id": 16,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 380, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [2, 3],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [4],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["ponyDiffusionV6XL_v6StartWithThisOne.safetensors"],
|
||||
"title": "Pony Diffusion V6 XL Checkpoint (Anime/Furry)"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [480, 100],
|
||||
"size": {"0": 450, "1": 250},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["1girl, solo, long_hair, breasts, smile, looking_at_viewer, anime style, high quality, detailed, masterpiece, best quality"],
|
||||
"title": "API Positive Prompt (Danbooru Tags)"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [480, 400],
|
||||
"size": {"0": 450, "1": 150},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["(worst quality, low quality:1.4), bad anatomy, deformed, blurry, watermark, text, signature, artist name"],
|
||||
"title": "Negative Prompt (Pony Optimized)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [480, 600],
|
||||
"size": {"0": 315, "1": 110},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "Latent Image (SDXL Resolution)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [980, 100],
|
||||
"size": {"0": 350, "1": 290},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [8],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
0,
|
||||
"randomize",
|
||||
35,
|
||||
7.5,
|
||||
"euler_ancestral",
|
||||
"normal",
|
||||
1.0
|
||||
],
|
||||
"title": "Pony Sampler (Euler A / Normal)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1380, 100],
|
||||
"size": {"0": 210, "1": 50},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "SaveImage",
|
||||
"pos": [1640, 100],
|
||||
"size": {"0": 320, "1": 290},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["pony_anime"],
|
||||
"title": "API Output Image"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "MODEL"],
|
||||
[2, 1, 1, 2, 0, "CLIP"],
|
||||
[3, 1, 1, 3, 0, "CLIP"],
|
||||
[4, 1, 2, 6, 1, "VAE"],
|
||||
[5, 2, 0, 5, 1, "CONDITIONING"],
|
||||
[6, 3, 0, 5, 2, "CONDITIONING"],
|
||||
[7, 4, 0, 5, 3, "LATENT"],
|
||||
[8, 5, 0, 6, 0, "LATENT"],
|
||||
[9, 6, 0, 7, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Pony Diffusion V6 XL Anime/Furry NSFW Text-to-Image",
|
||||
"version": "1.0",
|
||||
"description": "Production workflow for Pony Diffusion V6 XL optimized for anime, cartoon, and furry NSFW generation with danbooru tag support and balanced content (safe/questionable/explicit)",
|
||||
"category": "nsfw",
|
||||
"model": "ponyDiffusionV6XL_v6StartWithThisOne.safetensors",
|
||||
"recommended_settings": {
|
||||
"sampler": "euler_ancestral or dpmpp_2m",
|
||||
"scheduler": "normal or karras",
|
||||
"steps": "30-40",
|
||||
"cfg_scale": "7.0-8.5"
|
||||
},
|
||||
"training_info": {
|
||||
"images": "2.6M aesthetically ranked",
|
||||
"ratio": "1:1:1 safe/questionable/explicit"
|
||||
},
|
||||
"tags": ["nsfw", "anime", "furry", "cartoon", "versatile", "danbooru", "sdxl"]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/realvisxl-lightning-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
263
example_workflows/realvisxl-lightning-t2i-production-v1.json
Normal file
@@ -0,0 +1,263 @@
|
||||
{
|
||||
"last_node_id": 11,
|
||||
"last_link_id": 16,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 380, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [2, 3],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [4],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["realvisxlV50_v50LightningBakedvae.safetensors"],
|
||||
"title": "RealVisXL V5.0 Lightning Checkpoint"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [480, 100],
|
||||
"size": {"0": 450, "1": 250},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["Beautiful woman portrait, professional photography, natural lighting, high quality, detailed, 8k"],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [480, 400],
|
||||
"size": {"0": 450, "1": 150},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["(worst quality, low quality:1.4), bad anatomy, deformed, blurry, watermark, text, ugly, cartoon, anime"],
|
||||
"title": "Negative Prompt (RealVisXL Optimized)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [480, 600],
|
||||
"size": {"0": 315, "1": 110},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "Latent Image (SDXL Resolution)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [980, 100],
|
||||
"size": {"0": 350, "1": 290},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [8],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
0,
|
||||
"randomize",
|
||||
6,
|
||||
2.0,
|
||||
"dpmpp_sde",
|
||||
"karras",
|
||||
1.0
|
||||
],
|
||||
"title": "Lightning Sampler (DPM++ SDE Karras / 6 Steps)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1380, 100],
|
||||
"size": {"0": 210, "1": 50},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "SaveImage",
|
||||
"pos": [1640, 100],
|
||||
"size": {"0": 320, "1": 290},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["realvisxl_lightning"],
|
||||
"title": "API Output Image"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "MODEL"],
|
||||
[2, 1, 1, 2, 0, "CLIP"],
|
||||
[3, 1, 1, 3, 0, "CLIP"],
|
||||
[4, 1, 2, 6, 1, "VAE"],
|
||||
[5, 2, 0, 5, 1, "CONDITIONING"],
|
||||
[6, 3, 0, 5, 2, "CONDITIONING"],
|
||||
[7, 4, 0, 5, 3, "LATENT"],
|
||||
[8, 5, 0, 6, 0, "LATENT"],
|
||||
[9, 6, 0, 7, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "RealVisXL V5.0 Lightning Fast NSFW Text-to-Image",
|
||||
"version": "1.0",
|
||||
"description": "Production workflow for RealVisXL V5.0 Lightning checkpoint optimized for ultra-fast photorealistic NSFW generation with 4-6 step inference (vs 30+ for standard models)",
|
||||
"category": "nsfw",
|
||||
"model": "realvisxlV50_v50LightningBakedvae.safetensors",
|
||||
"recommended_settings": {
|
||||
"sampler": "dpmpp_sde with karras scheduler",
|
||||
"scheduler": "karras",
|
||||
"steps": "4-6 (Lightning optimized)",
|
||||
"cfg_scale": "1.0-2.0 (lower for Lightning)"
|
||||
},
|
||||
"features": [
|
||||
"Ultra-fast 4-6 step generation",
|
||||
"High-quality photorealistic output",
|
||||
"Baked VAE for optimal quality",
|
||||
"Professional portraits and scenes",
|
||||
"Both SFW and NSFW capable"
|
||||
],
|
||||
"tags": ["nsfw", "realistic", "photorealistic", "lightning", "fast", "sdxl"]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/sd35-large-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
376
example_workflows/sd35-large-t2i-production-v1.json
Normal file
@@ -0,0 +1,376 @@
|
||||
{
|
||||
"last_node_id": 9,
|
||||
"last_link_id": 10,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": null
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [4],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["sd3.5_large.safetensors"],
|
||||
"title": "SD3.5 Large Checkpoint Loader"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "TripleCLIPLoader",
|
||||
"pos": [50, 250],
|
||||
"size": [350, 150],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [9, 10],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "TripleCLIPLoader"
|
||||
},
|
||||
"widgets_values": ["clip_l.safetensors", "clip_g.safetensors", "t5xxl_fp16.safetensors"],
|
||||
"title": "SD3.5 CLIP Loaders (L+G+T5)"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 100],
|
||||
"size": [400, 200],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["A beautiful mountain landscape at sunset, highly detailed, professional photography, cinematic lighting, 8k ultra HD, photorealistic"],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 350],
|
||||
"size": [400, 200],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 10
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["blurry, low quality, distorted, watermark, text, signature, ugly, cartoon, painting"],
|
||||
"title": "API Negative Prompt"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [450, 600],
|
||||
"size": [315, 106],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "API Latent Image Config"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [900, 100],
|
||||
"size": [315, 474],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [8],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [42, "fixed", 28, 4.5, "dpmpp_2m", "karras", 1],
|
||||
"title": "SD3.5 Sampler (28 steps)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1270, 100],
|
||||
"size": [210, 46],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [2, 3],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1530, 100],
|
||||
"size": [400, 400],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Output"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "SaveImage",
|
||||
"pos": [1530, 550],
|
||||
"size": [400, 100],
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["sd35_large_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "MODEL"],
|
||||
[2, 6, 0, 7, 0, "IMAGE"],
|
||||
[3, 6, 0, 8, 0, "IMAGE"],
|
||||
[4, 1, 2, 6, 1, "VAE"],
|
||||
[5, 2, 0, 5, 1, "CONDITIONING"],
|
||||
[6, 3, 0, 5, 2, "CONDITIONING"],
|
||||
[7, 4, 0, 5, 3, "LATENT"],
|
||||
[8, 5, 0, 6, 0, "LATENT"],
|
||||
[9, 9, 0, 2, 0, "CLIP"],
|
||||
[10, 9, 0, 3, 0, "CLIP"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Stable Diffusion 3.5 Large Text-to-Image Production",
|
||||
"version": "1.2.0",
|
||||
"description": "Latest generation text-to-image using Stable Diffusion 3.5 Large (28 steps). Provides excellent photorealism and prompt adherence.",
|
||||
"category": "text-to-image",
|
||||
"tags": ["sd3.5", "stable-diffusion", "large", "production", "t2i", "photorealistic"],
|
||||
"requirements": {
|
||||
"models": ["SD3.5-large", "CLIP-L", "CLIP-G", "T5-XXL FP16"],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "18GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": 2,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "A beautiful mountain landscape at sunset",
|
||||
"description": "Text description of desired image"
|
||||
},
|
||||
"negative_prompt": {
|
||||
"node_id": 3,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "blurry, low quality",
|
||||
"description": "Undesired elements to avoid"
|
||||
},
|
||||
"width": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image width in pixels"
|
||||
},
|
||||
"height": {
|
||||
"node_id": 4,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image height in pixels"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 4294967295,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 5,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 28,
|
||||
"min": 20,
|
||||
"max": 50,
|
||||
"description": "Number of sampling steps (28 recommended for SD3.5)"
|
||||
},
|
||||
"cfg": {
|
||||
"node_id": 5,
|
||||
"widget_index": 3,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 4.5,
|
||||
"min": 1.0,
|
||||
"max": 15.0,
|
||||
"description": "Classifier-free guidance scale (4.5 recommended)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"image": {
|
||||
"node_id": 8,
|
||||
"type": "image",
|
||||
"format": "PNG",
|
||||
"resolution": "1024x1024 (configurable)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "35-45 seconds",
|
||||
"vram_usage": "~18-20GB",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"notes": [
|
||||
"SD3.5 uses CheckpointLoaderSimple for MODEL+VAE",
|
||||
"TripleCLIPLoader loads CLIP-L, CLIP-G, and T5-XXL separately",
|
||||
"Checkpoint file doesn't include CLIP encoders",
|
||||
"All three CLIP encoders required for best quality"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/sdxl-refiner-t2i-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
581
example_workflows/sdxl-refiner-t2i-production-v1.json
Normal file
@@ -0,0 +1,581 @@
|
||||
{
|
||||
"last_node_id": 15,
|
||||
"last_link_id": 22,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 100],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [2, 3],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [4],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["sd_xl_base_1.0.safetensors"],
|
||||
"title": "SDXL Base Checkpoint Loader"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 300],
|
||||
"size": {"0": 350, "1": 100},
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [11],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [12, 13],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [14],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["sd_xl_refiner_1.0.safetensors"],
|
||||
"title": "SDXL Refiner Checkpoint Loader"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 100],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["A beautiful mountain landscape at sunset, highly detailed, professional photography, cinematic lighting, 8k ultra HD, masterpiece"],
|
||||
"title": "API Positive Prompt (Base)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 350],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["blurry, low quality, distorted, watermark, text, signature, bad anatomy, deformed"],
|
||||
"title": "API Negative Prompt (Base)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 600],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 12
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [15],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["A beautiful mountain landscape at sunset, highly detailed, professional photography, cinematic lighting, 8k ultra HD, masterpiece"],
|
||||
"title": "API Positive Prompt (Refiner)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 850],
|
||||
"size": {"0": 400, "1": 200},
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 13
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [16],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["blurry, low quality, distorted, watermark, text, signature, bad anatomy, deformed"],
|
||||
"title": "API Negative Prompt (Refiner)"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "EmptyLatentImage",
|
||||
"pos": [900, 600],
|
||||
"size": {"0": 315, "1": 106},
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "EmptyLatentImage"
|
||||
},
|
||||
"widgets_values": [1024, 1024, 1],
|
||||
"title": "API Latent Image Config"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "KSampler",
|
||||
"pos": [900, 100],
|
||||
"size": {"0": 315, "1": 474},
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [8, 17],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
42,
|
||||
"fixed",
|
||||
30,
|
||||
7.5,
|
||||
"dpmpp_2m",
|
||||
"karras",
|
||||
1
|
||||
],
|
||||
"title": "SDXL Base Sampler (30 steps)"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1270, 100],
|
||||
"size": {"0": 210, "1": 46},
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode (Base)"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1530, 100],
|
||||
"size": {"0": 400, "1": 400},
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Base Output"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"type": "KSampler",
|
||||
"pos": [1270, 600],
|
||||
"size": {"0": 315, "1": 474},
|
||||
"flags": {},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 11
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 15
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 16
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 17
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [18],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"widgets_values": [
|
||||
42,
|
||||
"fixed",
|
||||
20,
|
||||
7.5,
|
||||
"dpmpp_2m",
|
||||
"karras",
|
||||
1
|
||||
],
|
||||
"title": "SDXL Refiner Sampler (20 steps)"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1640, 600],
|
||||
"size": {"0": 210, "1": 46},
|
||||
"flags": {},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 18
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 14
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [19, 20],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"title": "VAE Decode (Refiner)"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1900, 600],
|
||||
"size": {"0": 400, "1": 400},
|
||||
"flags": {},
|
||||
"order": 12,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 19
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Refined Output"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"type": "SaveImage",
|
||||
"pos": [1900, 1050],
|
||||
"size": {"0": 400, "1": 100},
|
||||
"flags": {},
|
||||
"order": 13,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 20
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["sdxl_refined_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 8, 0, "MODEL"],
|
||||
[2, 1, 1, 3, 0, "CLIP"],
|
||||
[3, 1, 1, 4, 0, "CLIP"],
|
||||
[4, 1, 2, 9, 1, "VAE"],
|
||||
[5, 3, 0, 8, 1, "CONDITIONING"],
|
||||
[6, 4, 0, 8, 2, "CONDITIONING"],
|
||||
[7, 7, 0, 8, 3, "LATENT"],
|
||||
[8, 8, 0, 9, 0, "LATENT"],
|
||||
[9, 9, 0, 10, 0, "IMAGE"],
|
||||
[11, 2, 0, 11, 0, "MODEL"],
|
||||
[12, 2, 1, 5, 0, "CLIP"],
|
||||
[13, 2, 1, 6, 0, "CLIP"],
|
||||
[14, 2, 2, 12, 1, "VAE"],
|
||||
[15, 5, 0, 11, 1, "CONDITIONING"],
|
||||
[16, 6, 0, 11, 2, "CONDITIONING"],
|
||||
[17, 8, 0, 11, 3, "LATENT"],
|
||||
[18, 11, 0, 12, 0, "LATENT"],
|
||||
[19, 12, 0, 13, 0, "IMAGE"],
|
||||
[20, 12, 0, 14, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "SDXL with Refiner Text-to-Image Production",
|
||||
"version": "1.0.0",
|
||||
"author": "RunPod AI Model Orchestrator",
|
||||
"description": "Two-stage text-to-image generation using SDXL Base (30 steps) + Refiner (20 steps). Produces highly detailed, refined outputs with excellent coherence.",
|
||||
"category": "text-to-image",
|
||||
"tags": ["sdxl", "refiner", "two-stage", "high-quality", "production", "t2i"],
|
||||
"requirements": {
|
||||
"models": ["stable-diffusion-xl-base-1.0", "stable-diffusion-xl-refiner-1.0"],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "20GB",
|
||||
"vram_recommended": "24GB"
|
||||
},
|
||||
"parameters": {
|
||||
"prompt": {
|
||||
"node_id": [3, 5],
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"default": "A beautiful mountain landscape at sunset",
|
||||
"description": "Text description of desired image (used for both base and refiner)"
|
||||
},
|
||||
"negative_prompt": {
|
||||
"node_id": [4, 6],
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "blurry, low quality",
|
||||
"description": "Undesired elements to avoid (used for both base and refiner)"
|
||||
},
|
||||
"width": {
|
||||
"node_id": 7,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image width in pixels"
|
||||
},
|
||||
"height": {
|
||||
"node_id": 7,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 512,
|
||||
"max": 2048,
|
||||
"description": "Image height in pixels"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": [8, 11],
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"min": 0,
|
||||
"max": 4294967295,
|
||||
"description": "Random seed for reproducibility (same for base and refiner)"
|
||||
},
|
||||
"base_steps": {
|
||||
"node_id": 8,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 30,
|
||||
"min": 20,
|
||||
"max": 50,
|
||||
"description": "Number of sampling steps for base model"
|
||||
},
|
||||
"refiner_steps": {
|
||||
"node_id": 11,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 20,
|
||||
"min": 10,
|
||||
"max": 30,
|
||||
"description": "Number of sampling steps for refiner model"
|
||||
},
|
||||
"cfg": {
|
||||
"node_id": [8, 11],
|
||||
"widget_index": 3,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 7.5,
|
||||
"min": 1.0,
|
||||
"max": 15.0,
|
||||
"description": "Classifier-free guidance scale (7.5 recommended for SDXL)"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"base_image": {
|
||||
"node_id": 10,
|
||||
"type": "preview",
|
||||
"description": "Base model output (before refinement)"
|
||||
},
|
||||
"refined_image": {
|
||||
"node_id": 14,
|
||||
"type": "image",
|
||||
"format": "PNG",
|
||||
"resolution": "1024x1024 (configurable)",
|
||||
"description": "Final refined output"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "40-60 seconds (30+20 steps)",
|
||||
"vram_usage": "~18-20GB",
|
||||
"gpu_utilization": "95-100%",
|
||||
"notes": "Base and refiner run sequentially to manage VRAM"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/simple-upscale-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
207
example_workflows/simple-upscale-production-v1.json
Normal file
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"last_node_id": 6,
|
||||
"last_link_id": 5,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 100],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null,
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": ["input_image.png", "image"],
|
||||
"title": "API Input Image"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "UpscaleModelLoader",
|
||||
"pos": [50, 400],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "UPSCALE_MODEL",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UpscaleModelLoader"
|
||||
},
|
||||
"widgets_values": ["RealESRGAN_x4.pth"],
|
||||
"title": "Upscale Model Loader"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "ImageUpscaleWithModel",
|
||||
"pos": [450, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "upscale_model",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"link": 2
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 1
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [3],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ImageUpscaleWithModel"
|
||||
},
|
||||
"title": "Upscale with Model (4x)"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "ImageScaleBy",
|
||||
"pos": [800, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [4, 5],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ImageScaleBy"
|
||||
},
|
||||
"widgets_values": ["lanczos", 0.5],
|
||||
"title": "Optional Downscale to 2x"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1150, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Output"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "SaveImage",
|
||||
"pos": [1150, 400],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 5
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["simple_upscale_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 3, 1, "IMAGE"],
|
||||
[2, 2, 0, 3, 0, "UPSCALE_MODEL"],
|
||||
[3, 3, 0, 4, 0, "IMAGE"],
|
||||
[4, 4, 0, 5, 0, "IMAGE"],
|
||||
[5, 4, 0, 6, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Simple Upscale Production",
|
||||
"version": "1.0.0",
|
||||
"description": "Fast, straightforward upscaling using RealESRGAN. No diffusion refinement, optimized for speed.",
|
||||
"category": "upscaling",
|
||||
"tags": ["simple-upscale", "fast", "realesrgan", "production"],
|
||||
"requirements": {
|
||||
"models": ["RealESRGAN"],
|
||||
"custom_nodes": [],
|
||||
"vram_min": "8GB"
|
||||
},
|
||||
"parameters": {
|
||||
"input_image": {
|
||||
"node_id": 1,
|
||||
"type": "image",
|
||||
"required": true
|
||||
},
|
||||
"model": {
|
||||
"node_id": 2,
|
||||
"type": "string",
|
||||
"default": "RealESRGAN_x4.pth",
|
||||
"options": ["RealESRGAN_x2.pth", "RealESRGAN_x4.pth"]
|
||||
},
|
||||
"final_scale": {
|
||||
"node_id": 4,
|
||||
"widget_index": 1,
|
||||
"type": "float",
|
||||
"default": 0.5,
|
||||
"description": "Scale factor after 4x upscale (0.5 = final 2x, 1.0 = keep 4x)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "5-15 seconds",
|
||||
"vram_usage": "~6-8GB"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/svd-i2v-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
416
example_workflows/svd-i2v-production-v1.json
Normal file
@@ -0,0 +1,416 @@
|
||||
{
|
||||
"last_node_id": 7,
|
||||
"last_link_id": 10,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 100],
|
||||
"size": [315, 314],
|
||||
"widgets_values": ["input_frame.png", "image"],
|
||||
"title": "API Input Image",
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "ImageOnlyCheckpointLoader",
|
||||
"pos": [50, 500],
|
||||
"size": [350, 100],
|
||||
"widgets_values": ["svd_xt.safetensors"],
|
||||
"title": "SVD-XT Model Loader",
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "ImageOnlyCheckpointLoader"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP_VISION",
|
||||
"type": "CLIP_VISION",
|
||||
"links": [3],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [4, 5],
|
||||
"slot_index": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "VideoLinearCFGGuidance",
|
||||
"pos": [450, 500],
|
||||
"size": [315, 100],
|
||||
"widgets_values": [1.0],
|
||||
"title": "Linear CFG Guidance",
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VideoLinearCFGGuidance"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "SVD_img2vid_Conditioning",
|
||||
"pos": [450, 100],
|
||||
"size": [315, 350],
|
||||
"widgets_values": [1024, 576, 14, 127, 6, 0.0],
|
||||
"title": "SVD Image-to-Video Conditioning",
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "SVD_img2vid_Conditioning"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip_vision",
|
||||
"type": "CLIP_VISION",
|
||||
"link": 3
|
||||
},
|
||||
{
|
||||
"name": "init_image",
|
||||
"type": "IMAGE",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"links": [8],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "latent",
|
||||
"type": "LATENT",
|
||||
"links": [9],
|
||||
"slot_index": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [800, 100],
|
||||
"size": [315, 474],
|
||||
"widgets_values": [42, "fixed", 25, 6.0, "euler", "karras", 1.0],
|
||||
"title": "KSampler (25 steps)",
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 7
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [10],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1150, 100],
|
||||
"size": [210, 46],
|
||||
"widgets_values": [],
|
||||
"title": "VAE Decode Video Frames",
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 10
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 5
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [11],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "VHS_VideoCombine",
|
||||
"pos": [1400, 100],
|
||||
"size": [315, 200],
|
||||
"widgets_values": [6, 0, "svd_output", "video/h264-mp4", false, true],
|
||||
"title": "Combine Video Frames",
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VHS_VideoCombine"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 11
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "Filenames",
|
||||
"type": "VHS_FILENAMES",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 4, 1, "IMAGE"],
|
||||
[2, 2, 0, 3, 0, "MODEL"],
|
||||
[3, 2, 1, 4, 0, "CLIP_VISION"],
|
||||
[4, 2, 2, 4, 2, "VAE"],
|
||||
[5, 2, 2, 6, 1, "VAE"],
|
||||
[6, 3, 0, 5, 0, "MODEL"],
|
||||
[7, 4, 0, 5, 1, "CONDITIONING"],
|
||||
[8, 4, 1, 5, 2, "CONDITIONING"],
|
||||
[9, 4, 2, 5, 3, "LATENT"],
|
||||
[10, 5, 0, 6, 0, "LATENT"],
|
||||
[11, 6, 0, 7, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Stable Video Diffusion Image-to-Video Production",
|
||||
"version": "1.2.0",
|
||||
"description": "Quick animation using SVD-XT. Generate 14-frame video from single image with motion and camera movement.",
|
||||
"category": "image-to-video",
|
||||
"tags": ["svd", "svd-xt", "stable-video-diffusion", "i2v", "animation", "production"],
|
||||
"requirements": {
|
||||
"models": ["SVD-XT"],
|
||||
"custom_nodes": ["ComfyUI-VideoHelperSuite"],
|
||||
"vram_min": "16GB",
|
||||
"vram_recommended": "20GB"
|
||||
},
|
||||
"parameters": {
|
||||
"input_image": {
|
||||
"node_id": 1,
|
||||
"widget_index": 0,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "Starting frame for video generation (1024x576 recommended)"
|
||||
},
|
||||
"width": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 16,
|
||||
"max": 16384,
|
||||
"description": "Output video width"
|
||||
},
|
||||
"height": {
|
||||
"node_id": 4,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 576,
|
||||
"min": 16,
|
||||
"max": 16384,
|
||||
"description": "Output video height"
|
||||
},
|
||||
"video_frames": {
|
||||
"node_id": 4,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 14,
|
||||
"min": 1,
|
||||
"max": 4096,
|
||||
"description": "Number of frames to generate (14 or 25 for SVD/SVD-XT)"
|
||||
},
|
||||
"motion_bucket_id": {
|
||||
"node_id": 4,
|
||||
"widget_index": 3,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 127,
|
||||
"min": 1,
|
||||
"max": 1023,
|
||||
"description": "Motion amount (higher = more motion)"
|
||||
},
|
||||
"fps": {
|
||||
"node_id": 4,
|
||||
"widget_index": 4,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 6,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"description": "Frames per second for conditioning"
|
||||
},
|
||||
"augmentation_level": {
|
||||
"node_id": 4,
|
||||
"widget_index": 5,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 0.0,
|
||||
"min": 0.0,
|
||||
"max": 10.0,
|
||||
"description": "Noise augmentation level"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 5,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 25,
|
||||
"min": 1,
|
||||
"max": 150,
|
||||
"description": "Sampling steps (25 recommended)"
|
||||
},
|
||||
"cfg": {
|
||||
"node_id": 5,
|
||||
"widget_index": 3,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 6.0,
|
||||
"min": 0.0,
|
||||
"max": 30.0,
|
||||
"description": "Classifier-free guidance scale"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"output_fps": {
|
||||
"node_id": 7,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 6,
|
||||
"description": "Output video framerate"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"video": {
|
||||
"node_id": 7,
|
||||
"type": "video",
|
||||
"format": "MP4 (H.264)",
|
||||
"resolution": "1024x576 (configurable)",
|
||||
"duration": "~2.3 seconds @ 6fps (14 frames)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "25-35 seconds",
|
||||
"vram_usage": "~16-18GB",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Animate static images with natural motion",
|
||||
"Create short video loops from single frames",
|
||||
"Add subtle camera movements to still images",
|
||||
"Generate product animation previews"
|
||||
],
|
||||
"notes": [
|
||||
"SVD-XT extends frame count from 14 to 25 frames",
|
||||
"Model auto-downloads on first use (~9GB)",
|
||||
"Recommended resolution: 1024x576 (16:9)",
|
||||
"Higher motion_bucket_id = more movement",
|
||||
"Linear CFG guidance improves temporal consistency"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/svd-xt-i2v-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
417
example_workflows/svd-xt-i2v-production-v1.json
Normal file
@@ -0,0 +1,417 @@
|
||||
{
|
||||
"last_node_id": 7,
|
||||
"last_link_id": 10,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 100],
|
||||
"size": [315, 314],
|
||||
"widgets_values": ["input_frame.png", "image"],
|
||||
"title": "API Input Image",
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "ImageOnlyCheckpointLoader",
|
||||
"pos": [50, 500],
|
||||
"size": [350, 100],
|
||||
"widgets_values": ["svd_xt.safetensors"],
|
||||
"title": "SVD-XT Model Loader",
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "ImageOnlyCheckpointLoader"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP_VISION",
|
||||
"type": "CLIP_VISION",
|
||||
"links": [3],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [4, 5],
|
||||
"slot_index": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "VideoLinearCFGGuidance",
|
||||
"pos": [450, 500],
|
||||
"size": [315, 100],
|
||||
"widgets_values": [1.0],
|
||||
"title": "Linear CFG Guidance",
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VideoLinearCFGGuidance"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 2
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "SVD_img2vid_Conditioning",
|
||||
"pos": [450, 100],
|
||||
"size": [315, 350],
|
||||
"widgets_values": [1024, 576, 25, 127, 6, 0.0],
|
||||
"title": "SVD-XT Image-to-Video Conditioning (25 frames)",
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "SVD_img2vid_Conditioning"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip_vision",
|
||||
"type": "CLIP_VISION",
|
||||
"link": 3
|
||||
},
|
||||
{
|
||||
"name": "init_image",
|
||||
"type": "IMAGE",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"links": [8],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "latent",
|
||||
"type": "LATENT",
|
||||
"links": [9],
|
||||
"slot_index": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "KSampler",
|
||||
"pos": [800, 100],
|
||||
"size": [315, 474],
|
||||
"widgets_values": [42, "fixed", 30, 6.0, "euler", "karras", 1.0],
|
||||
"title": "KSampler (30 steps)",
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "KSampler"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 7
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 8
|
||||
},
|
||||
{
|
||||
"name": "latent_image",
|
||||
"type": "LATENT",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LATENT",
|
||||
"type": "LATENT",
|
||||
"links": [10],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "VAEDecode",
|
||||
"pos": [1150, 100],
|
||||
"size": [210, 46],
|
||||
"widgets_values": [],
|
||||
"title": "VAE Decode Video Frames",
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VAEDecode"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "samples",
|
||||
"type": "LATENT",
|
||||
"link": 10
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 5
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [11],
|
||||
"slot_index": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "VHS_VideoCombine",
|
||||
"pos": [1400, 100],
|
||||
"size": [315, 200],
|
||||
"widgets_values": [6, 0, "svd_xt_output", "video/h264-mp4", false, true],
|
||||
"title": "Combine Video Frames",
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"Node name for S&R": "VHS_VideoCombine"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 11
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "Filenames",
|
||||
"type": "VHS_FILENAMES",
|
||||
"links": null
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 4, 1, "IMAGE"],
|
||||
[2, 2, 0, 3, 0, "MODEL"],
|
||||
[3, 2, 1, 4, 0, "CLIP_VISION"],
|
||||
[4, 2, 2, 4, 2, "VAE"],
|
||||
[5, 2, 2, 6, 1, "VAE"],
|
||||
[6, 3, 0, 5, 0, "MODEL"],
|
||||
[7, 4, 0, 5, 1, "CONDITIONING"],
|
||||
[8, 4, 1, 5, 2, "CONDITIONING"],
|
||||
[9, 4, 2, 5, 3, "LATENT"],
|
||||
[10, 5, 0, 6, 0, "LATENT"],
|
||||
[11, 6, 0, 7, 0, "IMAGE"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Stable Video Diffusion XT Image-to-Video Production",
|
||||
"version": "1.2.0",
|
||||
"description": "Extended animation using SVD-XT. Generate 25-frame video for longer animations with smooth motion.",
|
||||
"category": "image-to-video",
|
||||
"tags": ["svd-xt", "stable-video-diffusion", "i2v", "extended", "production"],
|
||||
"requirements": {
|
||||
"models": ["SVD-XT"],
|
||||
"custom_nodes": ["ComfyUI-VideoHelperSuite"],
|
||||
"vram_min": "18GB",
|
||||
"vram_recommended": "20GB"
|
||||
},
|
||||
"parameters": {
|
||||
"input_image": {
|
||||
"node_id": 1,
|
||||
"widget_index": 0,
|
||||
"type": "image",
|
||||
"required": true,
|
||||
"description": "Starting frame for video generation (1024x576 recommended)"
|
||||
},
|
||||
"width": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 1024,
|
||||
"min": 16,
|
||||
"max": 16384,
|
||||
"description": "Output video width"
|
||||
},
|
||||
"height": {
|
||||
"node_id": 4,
|
||||
"widget_index": 1,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 576,
|
||||
"min": 16,
|
||||
"max": 16384,
|
||||
"description": "Output video height"
|
||||
},
|
||||
"video_frames": {
|
||||
"node_id": 4,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 25,
|
||||
"min": 1,
|
||||
"max": 4096,
|
||||
"description": "Number of frames to generate (25 for SVD-XT)"
|
||||
},
|
||||
"motion_bucket_id": {
|
||||
"node_id": 4,
|
||||
"widget_index": 3,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 127,
|
||||
"min": 1,
|
||||
"max": 1023,
|
||||
"description": "Motion amount (higher = more motion)"
|
||||
},
|
||||
"fps": {
|
||||
"node_id": 4,
|
||||
"widget_index": 4,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 6,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"description": "Frames per second for conditioning"
|
||||
},
|
||||
"augmentation_level": {
|
||||
"node_id": 4,
|
||||
"widget_index": 5,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 0.0,
|
||||
"min": 0.0,
|
||||
"max": 10.0,
|
||||
"description": "Noise augmentation level"
|
||||
},
|
||||
"steps": {
|
||||
"node_id": 5,
|
||||
"widget_index": 2,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 30,
|
||||
"min": 1,
|
||||
"max": 150,
|
||||
"description": "Sampling steps (30 recommended)"
|
||||
},
|
||||
"cfg": {
|
||||
"node_id": 5,
|
||||
"widget_index": 3,
|
||||
"type": "float",
|
||||
"required": false,
|
||||
"default": 6.0,
|
||||
"min": 0.0,
|
||||
"max": 30.0,
|
||||
"description": "Classifier-free guidance scale"
|
||||
},
|
||||
"seed": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 42,
|
||||
"description": "Random seed for reproducibility"
|
||||
},
|
||||
"output_fps": {
|
||||
"node_id": 7,
|
||||
"widget_index": 0,
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"default": 6,
|
||||
"description": "Output video framerate"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"video": {
|
||||
"node_id": 7,
|
||||
"type": "video",
|
||||
"format": "MP4 (H.264)",
|
||||
"resolution": "1024x576 (configurable)",
|
||||
"duration": "~4.2 seconds @ 6fps (25 frames)"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "40-55 seconds",
|
||||
"vram_usage": "~18-20GB",
|
||||
"gpu_utilization": "95-100%"
|
||||
},
|
||||
"use_cases": [
|
||||
"Extended animations with smooth motion",
|
||||
"Longer video loops from single frames",
|
||||
"Cinematic camera movements",
|
||||
"Product animation showcases"
|
||||
],
|
||||
"notes": [
|
||||
"SVD-XT generates 25 frames vs 14 frames in base SVD",
|
||||
"Requires more VRAM (~18GB vs ~16GB)",
|
||||
"Model auto-downloads on first use (~9GB)",
|
||||
"Recommended resolution: 1024x576 (16:9)",
|
||||
"Higher motion_bucket_id = more movement",
|
||||
"Linear CFG guidance improves temporal consistency"
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
BIN
example_workflows/ultimate-sd-upscale-production-v1.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
335
example_workflows/ultimate-sd-upscale-production-v1.json
Normal file
@@ -0,0 +1,335 @@
|
||||
{
|
||||
"last_node_id": 8,
|
||||
"last_link_id": 10,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 1,
|
||||
"type": "LoadImage",
|
||||
"pos": [50, 100],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [1],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null,
|
||||
"slot_index": 1
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": ["input_image.png", "image"],
|
||||
"title": "API Input Image"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"type": "CheckpointLoaderSimple",
|
||||
"pos": [50, 250],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "MODEL",
|
||||
"type": "MODEL",
|
||||
"links": [2],
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "CLIP",
|
||||
"type": "CLIP",
|
||||
"links": [3, 4],
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "VAE",
|
||||
"type": "VAE",
|
||||
"links": [5],
|
||||
"slot_index": 2
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CheckpointLoaderSimple"
|
||||
},
|
||||
"widgets_values": ["sd_xl_base_1.0.safetensors"],
|
||||
"title": "SDXL Checkpoint Loader"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 100],
|
||||
"size": [400, 200],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 3
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [6],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["high quality, detailed, sharp"],
|
||||
"title": "API Positive Prompt"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"type": "CLIPTextEncode",
|
||||
"pos": [450, 350],
|
||||
"size": [400, 200],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "clip",
|
||||
"type": "CLIP",
|
||||
"link": 4
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "CONDITIONING",
|
||||
"type": "CONDITIONING",
|
||||
"links": [7],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "CLIPTextEncode"
|
||||
},
|
||||
"widgets_values": ["blurry, low quality"],
|
||||
"title": "API Negative Prompt"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": "UpscaleModelLoader",
|
||||
"pos": [50, 400],
|
||||
"size": [350, 100],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "UPSCALE_MODEL",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"links": [10],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UpscaleModelLoader"
|
||||
},
|
||||
"widgets_values": ["RealESRGAN_x2.pth"],
|
||||
"title": "Upscale Model Loader"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"type": "UltimateSDUpscale",
|
||||
"pos": [900, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 1
|
||||
},
|
||||
{
|
||||
"name": "model",
|
||||
"type": "MODEL",
|
||||
"link": 2
|
||||
},
|
||||
{
|
||||
"name": "positive",
|
||||
"type": "CONDITIONING",
|
||||
"link": 6
|
||||
},
|
||||
{
|
||||
"name": "negative",
|
||||
"type": "CONDITIONING",
|
||||
"link": 7
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"type": "VAE",
|
||||
"link": 5
|
||||
},
|
||||
{
|
||||
"name": "upscale_model",
|
||||
"type": "UPSCALE_MODEL",
|
||||
"link": 10
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [8, 9],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "UltimateSDUpscale"
|
||||
},
|
||||
"widgets_values": [2, 42, "randomize", 20, 8.0, "dpmpp_2m", "karras", 0.3, "Linear", 512, 512, 8, 32, "None", 1.0, 64, 8, 16, true, false],
|
||||
"title": "Ultimate SD Upscale (2x)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": "PreviewImage",
|
||||
"pos": [1270, 100],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 8
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"title": "Preview Output"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": "SaveImage",
|
||||
"pos": [1270, 400],
|
||||
"size": [315, 100],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 9
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "SaveImage"
|
||||
},
|
||||
"widgets_values": ["ultimate_upscale_output"],
|
||||
"title": "API Image Output"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[1, 1, 0, 5, 0, "IMAGE"],
|
||||
[2, 2, 0, 5, 1, "MODEL"],
|
||||
[3, 2, 1, 3, 0, "CLIP"],
|
||||
[4, 2, 1, 4, 0, "CLIP"],
|
||||
[5, 2, 2, 5, 4, "VAE"],
|
||||
[6, 3, 0, 5, 2, "CONDITIONING"],
|
||||
[7, 4, 0, 5, 3, "CONDITIONING"],
|
||||
[8, 5, 0, 6, 0, "IMAGE"],
|
||||
[9, 5, 0, 7, 0, "IMAGE"],
|
||||
[10, 8, 0, 5, 5, "UPSCALE_MODEL"]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"workflow_info": {
|
||||
"name": "Ultimate SD Upscale Production",
|
||||
"version": "1.1.0",
|
||||
"description": "Professional upscaling with Ultimate SD Upscale. Combines AI upscaling with diffusion refinement for superior detail and quality.",
|
||||
"category": "upscaling",
|
||||
"tags": ["ultimate-sd-upscale", "upscaling", "enhancement", "production"],
|
||||
"requirements": {
|
||||
"models": ["stable-diffusion-xl-base-1.0", "RealESRGAN"],
|
||||
"custom_nodes": ["ComfyUI_UltimateSDUpscale"],
|
||||
"vram_min": "18GB"
|
||||
},
|
||||
"parameters": {
|
||||
"input_image": {
|
||||
"node_id": 1,
|
||||
"type": "image",
|
||||
"required": true
|
||||
},
|
||||
"positive_prompt": {
|
||||
"node_id": 3,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"default": "high quality, detailed, sharp",
|
||||
"description": "Enhancement prompt"
|
||||
},
|
||||
"negative_prompt": {
|
||||
"node_id": 4,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"default": "blurry, low quality",
|
||||
"description": "Qualities to avoid"
|
||||
},
|
||||
"upscale_model": {
|
||||
"node_id": 8,
|
||||
"widget_index": 0,
|
||||
"type": "string",
|
||||
"default": "RealESRGAN_x2.pth",
|
||||
"options": ["RealESRGAN_x2.pth", "RealESRGAN_x4.pth"],
|
||||
"description": "Upscale model to use"
|
||||
},
|
||||
"upscale_by": {
|
||||
"node_id": 5,
|
||||
"widget_index": 0,
|
||||
"type": "float",
|
||||
"default": 2,
|
||||
"min": 0.05,
|
||||
"max": 4,
|
||||
"description": "Upscale factor"
|
||||
},
|
||||
"denoise": {
|
||||
"node_id": 5,
|
||||
"widget_index": 6,
|
||||
"type": "float",
|
||||
"default": 0.3,
|
||||
"description": "Refinement strength"
|
||||
},
|
||||
"tile_width": {
|
||||
"node_id": 5,
|
||||
"widget_index": 8,
|
||||
"type": "integer",
|
||||
"default": 512,
|
||||
"description": "Tile width for processing"
|
||||
},
|
||||
"tile_height": {
|
||||
"node_id": 5,
|
||||
"widget_index": 9,
|
||||
"type": "integer",
|
||||
"default": 512,
|
||||
"description": "Tile height for processing"
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"avg_generation_time": "60-120 seconds (depending on input size)",
|
||||
"vram_usage": "~16-20GB"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||