swf-sdccp-v2-generate-image.json 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. {
  2. "active": true,
  3. "connections": [
  4. {
  5. "sourceNodeId": "node_1785999268136",
  6. "sourceOutput": "main",
  7. "targetInput": "config",
  8. "targetNodeId": "node_1786002941621"
  9. },
  10. {
  11. "sourceNodeId": "node_1786002941621",
  12. "sourceOutput": "main",
  13. "targetInput": "data",
  14. "targetNodeId": "node_1786004423373"
  15. },
  16. {
  17. "sourceNodeId": "node_1785999268136",
  18. "sourceOutput": "main",
  19. "targetInput": "config",
  20. "targetNodeId": "node_1786004423373"
  21. },
  22. {
  23. "sourceNodeId": "node_1785999216336",
  24. "sourceOutput": "main",
  25. "targetInput": "data",
  26. "targetNodeId": "node_1786002941621"
  27. },
  28. {
  29. "sourceNodeId": "node_1785999221583",
  30. "sourceOutput": "main",
  31. "targetInput": "data",
  32. "targetNodeId": "node_1786002941621"
  33. },
  34. {
  35. "sourceNodeId": "node_1785999268136",
  36. "sourceOutput": "main",
  37. "targetInput": "config",
  38. "targetNodeId": "node_1786011832521"
  39. },
  40. {
  41. "sourceNodeId": "node_1786004423373",
  42. "sourceOutput": "main",
  43. "targetInput": "data",
  44. "targetNodeId": "node_1786011832521"
  45. },
  46. {
  47. "sourceNodeId": "node_1785999268136",
  48. "sourceOutput": "main",
  49. "targetInput": "config",
  50. "targetNodeId": "node_1786013716017"
  51. },
  52. {
  53. "sourceNodeId": "node_1786011832521",
  54. "sourceOutput": "main",
  55. "targetInput": "data",
  56. "targetNodeId": "node_1786029193764_8510"
  57. },
  58. {
  59. "sourceNodeId": "node_1786029193764_8510",
  60. "sourceOutput": "main",
  61. "targetInput": "data",
  62. "targetNodeId": "node_1786013716017"
  63. },
  64. {
  65. "sourceNodeId": "node_1786013716017",
  66. "sourceOutput": "main",
  67. "targetInput": "data",
  68. "targetNodeId": "node_1786003128448"
  69. }
  70. ],
  71. "name": "[SWF] SDCCP v2 generate image",
  72. "nodes": [
  73. {
  74. "config": {
  75. "allowExtra": false,
  76. "fields": [
  77. {
  78. "defaultValue": "",
  79. "description": "What to generate",
  80. "name": "prompt",
  81. "required": true
  82. },
  83. {
  84. "defaultValue": "1024",
  85. "description": "Target width",
  86. "name": "width",
  87. "required": true
  88. },
  89. {
  90. "defaultValue": "1024",
  91. "description": "Target height",
  92. "name": "height",
  93. "required": true
  94. },
  95. {
  96. "defaultValue": "<lora:ZImage/zimage_alexandrabotez_v1:0.7>",
  97. "description": "Appended to the prompt. Empty for none",
  98. "name": "loraTag",
  99. "required": false
  100. },
  101. {
  102. "defaultValue": "reddit/r/selfie",
  103. "description": "Job title, so the queue says which workflow asked",
  104. "name": "title",
  105. "required": false
  106. },
  107. {
  108. "defaultValue": "sdcpp_outputs",
  109. "description": "Where the finished image is stored",
  110. "name": "collection",
  111. "required": false
  112. },
  113. {
  114. "defaultValue": "2",
  115. "description": "How many images",
  116. "name": "batchCount",
  117. "required": false
  118. },
  119. {
  120. "defaultValue": "24",
  121. "description": "How long the stored image lives. 0 keeps it for good",
  122. "name": "keepForHours",
  123. "required": false
  124. },
  125. {
  126. "defaultValue": true,
  127. "description": "Keep a copy of the generated image in the database. The image is already on the SD.cpp server and is fetched from there by URL, so a caller that publishes it elsewhere does not need a second copy.",
  128. "name": "storeInDatabase",
  129. "required": false
  130. }
  131. ]
  132. },
  133. "disabled": false,
  134. "id": "node_1785999216336",
  135. "name": "Workflow Input",
  136. "position": {
  137. "x": 320,
  138. "y": 0
  139. },
  140. "type": "workflow-input"
  141. },
  142. {
  143. "config": {
  144. "label": "Execute"
  145. },
  146. "disabled": false,
  147. "id": "node_1785999221583",
  148. "name": "Click Trigger",
  149. "position": {
  150. "x": 620,
  151. "y": 0
  152. },
  153. "type": "click-trigger"
  154. },
  155. {
  156. "config": {
  157. "settings": [
  158. {
  159. "name": "credentialId",
  160. "value": "cred_62748b40-e9d1-4659-b175-6dbc691cc0b1"
  161. },
  162. {
  163. "name": "serverUrl",
  164. "value": "http://mulan:8077"
  165. }
  166. ]
  167. },
  168. "disabled": false,
  169. "id": "node_1785999268136",
  170. "name": "Configurator",
  171. "position": {
  172. "x": -300,
  173. "y": 180
  174. },
  175. "type": "configurator"
  176. },
  177. {
  178. "config": {
  179. "backend": "",
  180. "diffusionConvDirect": false,
  181. "diffusionFlashAttn": true,
  182. "eagerLoad": true,
  183. "enableMmap": false,
  184. "flashAttn": true,
  185. "force": false,
  186. "forceSdxlVaeConvScale": false,
  187. "llm": "Huihui-Qwen3-4B-abliterated-v2.f16.gguf",
  188. "loadWaitMs": 900000,
  189. "loraApplyMode": "",
  190. "maxVram": -1,
  191. "modelArgs": "",
  192. "modelName": "z_image_turbo_bf16.safetensors",
  193. "modelType": "diffusion",
  194. "nThreads": 10,
  195. "options": {},
  196. "paramsBackend": "*=cpu",
  197. "prediction": "",
  198. "rngType": "",
  199. "rpcServers": "",
  200. "samplerRngType": "",
  201. "serverUrl": "http://localhost:8077",
  202. "streamLayers": true,
  203. "taePreviewOnly": false,
  204. "timeout": 600000,
  205. "vae": "ae.safetensors",
  206. "vaeConvDirect": false,
  207. "vaeFormat": "auto",
  208. "weightType": "",
  209. "whenDifferent": "load"
  210. },
  211. "disabled": false,
  212. "id": "node_1786002941621",
  213. "name": "SD.cpp Load Model",
  214. "position": {
  215. "x": 360,
  216. "y": 180
  217. },
  218. "type": "sdcpp-model-load"
  219. },
  220. {
  221. "config": {
  222. "fields": [
  223. {
  224. "name": "jobId",
  225. "value": "{{$node['SD.cpp Wait For Job'].jobId}}"
  226. },
  227. {
  228. "name": "succeeded",
  229. "value": "{{$node['SD.cpp Wait For Job'].succeeded}}"
  230. },
  231. {
  232. "name": "outputs",
  233. "value": "{{$node['SD.cpp Wait For Job'].outputs}}"
  234. },
  235. {
  236. "name": "urls",
  237. "value": "{{$node['SD.cpp Wait For Job'].urls}}"
  238. },
  239. {
  240. "name": "count",
  241. "value": "{{$node['SD.cpp Fetch Output'].count}}"
  242. },
  243. {
  244. "name": "stored",
  245. "value": "{{$node['SD.cpp Fetch Output'].storage}}"
  246. },
  247. {
  248. "name": "error",
  249. "value": "{{$node['SD.cpp Wait For Job'].error}}"
  250. }
  251. ],
  252. "source": "fields"
  253. },
  254. "disabled": false,
  255. "id": "node_1786003128448",
  256. "name": "Workflow Output",
  257. "position": {
  258. "x": 0,
  259. "y": 1260
  260. },
  261. "type": "workflow-output"
  262. },
  263. {
  264. "config": {
  265. "batchCount": "{{$node[\"Workflow Input\"].batchCount}}",
  266. "cacheMode": "off",
  267. "cfgScale": 1,
  268. "clipSkip": -1,
  269. "height": "{{$node[\"Workflow Input\"].height}}",
  270. "prompt": "{{$node[\"Workflow Input\"].prompt}} {{$node[\"Workflow Input\"].loraTag}}",
  271. "sampler": "euler",
  272. "scheduler": "smoothstep",
  273. "seed": 42,
  274. "serverUrl": "http://localhost:8077",
  275. "steps": 9,
  276. "timeout": 30000,
  277. "title": "{{$node[\"Workflow Input\"].title}}",
  278. "width": "{{$node[\"Workflow Input\"].width}}"
  279. },
  280. "disabled": false,
  281. "id": "node_1786004423373",
  282. "name": "SD.cpp Text to Image",
  283. "position": {
  284. "x": 360,
  285. "y": 360
  286. },
  287. "type": "sdcpp-txt2img"
  288. },
  289. {
  290. "config": {
  291. "failOnJobFailure": false,
  292. "failOnTimeout": false,
  293. "jobId": "{{$node[\"SD.cpp Text to Image\"].jobId}}",
  294. "maxWait": 600000,
  295. "pollInterval": 2000,
  296. "serverUrl": "http://localhost:8077",
  297. "timeout": 30000
  298. },
  299. "disabled": false,
  300. "id": "node_1786011832521",
  301. "name": "SD.cpp Wait For Job",
  302. "position": {
  303. "x": 140,
  304. "y": 540
  305. },
  306. "type": "sdcpp-job-wait"
  307. },
  308. {
  309. "config": {
  310. "collection": "{{$node[\"Workflow Input\"].collection}}",
  311. "limit": 0,
  312. "paths": [
  313. "{{$node[\"SD.cpp Wait For Job\"].outputs}}"
  314. ],
  315. "serverUrl": "http://localhost:8077",
  316. "storageTtlHours": "{{$node[\"Workflow Input\"].keepForHours}}",
  317. "storeInDatabase": "{{String($node['Workflow Input'].storeInDatabase) !== 'false'}}",
  318. "timeout": 120000
  319. },
  320. "disabled": false,
  321. "id": "node_1786013716017",
  322. "name": "SD.cpp Fetch Output",
  323. "position": {
  324. "x": 0,
  325. "y": 900
  326. },
  327. "type": "sdcpp-fetch-output"
  328. },
  329. {
  330. "config": {
  331. "duration": 500,
  332. "unit": "milliseconds"
  333. },
  334. "disabled": false,
  335. "id": "node_1786029193764_8510",
  336. "name": "Wait",
  337. "position": {
  338. "x": 140,
  339. "y": 720
  340. },
  341. "type": "wait"
  342. }
  343. ],
  344. "settings": {
  345. "errorWorkflowId": "wf_766fcbcb-6345-4e9c-b7f8-f219505ee45c",
  346. "storagePermissions": {
  347. "collections": {
  348. "anime_images": "read-write",
  349. "files": "read-write",
  350. "sdcpp_outputs": "read-write"
  351. },
  352. "defaultAccess": "none"
  353. }
  354. }
  355. }