comfyui-workflow-templates 0.1.59__py3-none-any.whl → 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. comfyui_workflow_templates/__init__.py +32 -11
  2. comfyui_workflow_templates-0.6.0.dist-info/METADATA +434 -0
  3. comfyui_workflow_templates-0.6.0.dist-info/RECORD +6 -0
  4. comfyui_workflow_templates/templates/2_pass_pose_worship-1.webp +0 -0
  5. comfyui_workflow_templates/templates/2_pass_pose_worship-2.webp +0 -0
  6. comfyui_workflow_templates/templates/2_pass_pose_worship.json +0 -844
  7. comfyui_workflow_templates/templates/3d_hunyuan3d_image_to_model-1.webp +0 -0
  8. comfyui_workflow_templates/templates/3d_hunyuan3d_image_to_model.json +0 -786
  9. comfyui_workflow_templates/templates/3d_hunyuan3d_multiview_to_model-1.webp +0 -0
  10. comfyui_workflow_templates/templates/3d_hunyuan3d_multiview_to_model-2.webp +0 -0
  11. comfyui_workflow_templates/templates/3d_hunyuan3d_multiview_to_model.json +0 -1103
  12. comfyui_workflow_templates/templates/3d_hunyuan3d_multiview_to_model_turbo-1.webp +0 -0
  13. comfyui_workflow_templates/templates/3d_hunyuan3d_multiview_to_model_turbo-2.webp +0 -0
  14. comfyui_workflow_templates/templates/3d_hunyuan3d_multiview_to_model_turbo.json +0 -1151
  15. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_max_image-1.webp +0 -0
  16. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_max_image-2.webp +0 -0
  17. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_max_image.json +0 -343
  18. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_multiple_images_input-1.webp +0 -0
  19. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_multiple_images_input-2.webp +0 -0
  20. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_multiple_images_input.json +0 -470
  21. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_pro_image-1.webp +0 -0
  22. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_pro_image-2.webp +0 -0
  23. comfyui_workflow_templates/templates/api_bfl_flux_1_kontext_pro_image.json +0 -343
  24. comfyui_workflow_templates/templates/api_bfl_flux_pro_t2i-1.webp +0 -0
  25. comfyui_workflow_templates/templates/api_bfl_flux_pro_t2i.json +0 -219
  26. comfyui_workflow_templates/templates/api_google_gemini-1.webp +0 -0
  27. comfyui_workflow_templates/templates/api_google_gemini.json +0 -597
  28. comfyui_workflow_templates/templates/api_hailuo_minimax_i2v-1.webp +0 -0
  29. comfyui_workflow_templates/templates/api_hailuo_minimax_i2v.json +0 -164
  30. comfyui_workflow_templates/templates/api_hailuo_minimax_t2v-1.webp +0 -0
  31. comfyui_workflow_templates/templates/api_hailuo_minimax_t2v.json +0 -138
  32. comfyui_workflow_templates/templates/api_ideogram_v3_t2i-1.webp +0 -0
  33. comfyui_workflow_templates/templates/api_ideogram_v3_t2i.json +0 -212
  34. comfyui_workflow_templates/templates/api_kling_effects-1.webp +0 -0
  35. comfyui_workflow_templates/templates/api_kling_effects.json +0 -188
  36. comfyui_workflow_templates/templates/api_kling_flf-1.webp +0 -0
  37. comfyui_workflow_templates/templates/api_kling_flf.json +0 -246
  38. comfyui_workflow_templates/templates/api_kling_i2v-1.webp +0 -0
  39. comfyui_workflow_templates/templates/api_kling_i2v.json +0 -184
  40. comfyui_workflow_templates/templates/api_luma_i2v-1.webp +0 -0
  41. comfyui_workflow_templates/templates/api_luma_i2v.json +0 -351
  42. comfyui_workflow_templates/templates/api_luma_photon_i2i-1.webp +0 -0
  43. comfyui_workflow_templates/templates/api_luma_photon_i2i-2.webp +0 -0
  44. comfyui_workflow_templates/templates/api_luma_photon_i2i.json +0 -185
  45. comfyui_workflow_templates/templates/api_luma_photon_style_ref-1.webp +0 -0
  46. comfyui_workflow_templates/templates/api_luma_photon_style_ref-2.webp +0 -0
  47. comfyui_workflow_templates/templates/api_luma_photon_style_ref.json +0 -974
  48. comfyui_workflow_templates/templates/api_luma_t2v-1.webp +0 -0
  49. comfyui_workflow_templates/templates/api_luma_t2v.json +0 -246
  50. comfyui_workflow_templates/templates/api_moonvalley_image_to_video-1.webp +0 -0
  51. comfyui_workflow_templates/templates/api_moonvalley_image_to_video.json +0 -177
  52. comfyui_workflow_templates/templates/api_moonvalley_text_to_video-1.webp +0 -0
  53. comfyui_workflow_templates/templates/api_moonvalley_text_to_video.json +0 -125
  54. comfyui_workflow_templates/templates/api_moonvalley_video_to_video_motion_transfer-1.webp +0 -0
  55. comfyui_workflow_templates/templates/api_moonvalley_video_to_video_motion_transfer-2.webp +0 -0
  56. comfyui_workflow_templates/templates/api_moonvalley_video_to_video_motion_transfer.json +0 -189
  57. comfyui_workflow_templates/templates/api_moonvalley_video_to_video_pose_control-1.webp +0 -0
  58. comfyui_workflow_templates/templates/api_moonvalley_video_to_video_pose_control-2.webp +0 -0
  59. comfyui_workflow_templates/templates/api_moonvalley_video_to_video_pose_control.json +0 -185
  60. comfyui_workflow_templates/templates/api_openai_chat-1.webp +0 -0
  61. comfyui_workflow_templates/templates/api_openai_chat.json +0 -585
  62. comfyui_workflow_templates/templates/api_openai_dall_e_2_inpaint-1.webp +0 -0
  63. comfyui_workflow_templates/templates/api_openai_dall_e_2_inpaint-2.webp +0 -0
  64. comfyui_workflow_templates/templates/api_openai_dall_e_2_inpaint.json +0 -215
  65. comfyui_workflow_templates/templates/api_openai_dall_e_2_t2i-1.webp +0 -0
  66. comfyui_workflow_templates/templates/api_openai_dall_e_2_t2i.json +0 -160
  67. comfyui_workflow_templates/templates/api_openai_dall_e_3_t2i-1.webp +0 -0
  68. comfyui_workflow_templates/templates/api_openai_dall_e_3_t2i.json +0 -148
  69. comfyui_workflow_templates/templates/api_openai_image_1_i2i-1.webp +0 -0
  70. comfyui_workflow_templates/templates/api_openai_image_1_i2i-2.webp +0 -0
  71. comfyui_workflow_templates/templates/api_openai_image_1_i2i.json +0 -207
  72. comfyui_workflow_templates/templates/api_openai_image_1_inpaint-1.webp +0 -0
  73. comfyui_workflow_templates/templates/api_openai_image_1_inpaint-2.webp +0 -0
  74. comfyui_workflow_templates/templates/api_openai_image_1_inpaint.json +0 -217
  75. comfyui_workflow_templates/templates/api_openai_image_1_multi_inputs-1.webp +0 -0
  76. comfyui_workflow_templates/templates/api_openai_image_1_multi_inputs-2.webp +0 -0
  77. comfyui_workflow_templates/templates/api_openai_image_1_multi_inputs.json +0 -302
  78. comfyui_workflow_templates/templates/api_openai_image_1_t2i-1.webp +0 -0
  79. comfyui_workflow_templates/templates/api_openai_image_1_t2i.json +0 -217
  80. comfyui_workflow_templates/templates/api_pika_i2v-1.webp +0 -0
  81. comfyui_workflow_templates/templates/api_pika_i2v.json +0 -199
  82. comfyui_workflow_templates/templates/api_pika_scene-1.webp +0 -0
  83. comfyui_workflow_templates/templates/api_pika_scene.json +0 -328
  84. comfyui_workflow_templates/templates/api_pixverse_i2v-1.webp +0 -0
  85. comfyui_workflow_templates/templates/api_pixverse_i2v.json +0 -241
  86. comfyui_workflow_templates/templates/api_pixverse_t2v-1.webp +0 -0
  87. comfyui_workflow_templates/templates/api_pixverse_t2v.json +0 -168
  88. comfyui_workflow_templates/templates/api_pixverse_template_i2v-1.webp +0 -0
  89. comfyui_workflow_templates/templates/api_pixverse_template_i2v.json +0 -217
  90. comfyui_workflow_templates/templates/api_recraft_image_gen_with_color_control-1.webp +0 -0
  91. comfyui_workflow_templates/templates/api_recraft_image_gen_with_color_control.json +0 -585
  92. comfyui_workflow_templates/templates/api_recraft_image_gen_with_style_control-1.webp +0 -0
  93. comfyui_workflow_templates/templates/api_recraft_image_gen_with_style_control.json +0 -572
  94. comfyui_workflow_templates/templates/api_recraft_vector_gen-1.webp +0 -0
  95. comfyui_workflow_templates/templates/api_recraft_vector_gen.json +0 -395
  96. comfyui_workflow_templates/templates/api_rodin_image_to_model-1.webp +0 -0
  97. comfyui_workflow_templates/templates/api_rodin_image_to_model-2.webp +0 -0
  98. comfyui_workflow_templates/templates/api_rodin_image_to_model.json +0 -1018
  99. comfyui_workflow_templates/templates/api_rodin_multiview_to_model-1.webp +0 -0
  100. comfyui_workflow_templates/templates/api_rodin_multiview_to_model-2.webp +0 -0
  101. comfyui_workflow_templates/templates/api_rodin_multiview_to_model.json +0 -768
  102. comfyui_workflow_templates/templates/api_runway_first_last_frame-1.webp +0 -0
  103. comfyui_workflow_templates/templates/api_runway_first_last_frame.json +0 -224
  104. comfyui_workflow_templates/templates/api_runway_gen3a_turbo_image_to_video-1.webp +0 -0
  105. comfyui_workflow_templates/templates/api_runway_gen3a_turbo_image_to_video.json +0 -175
  106. comfyui_workflow_templates/templates/api_runway_gen4_turo_image_to_video-1.webp +0 -0
  107. comfyui_workflow_templates/templates/api_runway_gen4_turo_image_to_video.json +0 -175
  108. comfyui_workflow_templates/templates/api_runway_reference_to_image-1.webp +0 -0
  109. comfyui_workflow_templates/templates/api_runway_reference_to_image-2.webp +0 -0
  110. comfyui_workflow_templates/templates/api_runway_reference_to_image.json +0 -192
  111. comfyui_workflow_templates/templates/api_runway_text_to_image-1.webp +0 -0
  112. comfyui_workflow_templates/templates/api_runway_text_to_image.json +0 -191
  113. comfyui_workflow_templates/templates/api_stability_ai_i2i-1.webp +0 -0
  114. comfyui_workflow_templates/templates/api_stability_ai_i2i-2.webp +0 -0
  115. comfyui_workflow_templates/templates/api_stability_ai_i2i.json +0 -192
  116. comfyui_workflow_templates/templates/api_stability_ai_sd3.5_i2i-1.webp +0 -0
  117. comfyui_workflow_templates/templates/api_stability_ai_sd3.5_i2i-2.webp +0 -0
  118. comfyui_workflow_templates/templates/api_stability_ai_sd3.5_i2i.json +0 -241
  119. comfyui_workflow_templates/templates/api_stability_ai_sd3.5_t2i-1.webp +0 -0
  120. comfyui_workflow_templates/templates/api_stability_ai_sd3.5_t2i.json +0 -231
  121. comfyui_workflow_templates/templates/api_stability_ai_stable_image_ultra_t2i-1.webp +0 -0
  122. comfyui_workflow_templates/templates/api_stability_ai_stable_image_ultra_t2i.json +0 -176
  123. comfyui_workflow_templates/templates/api_tripo_image_to_model-1.webp +0 -0
  124. comfyui_workflow_templates/templates/api_tripo_image_to_model-2.webp +0 -0
  125. comfyui_workflow_templates/templates/api_tripo_image_to_model.json +0 -523
  126. comfyui_workflow_templates/templates/api_tripo_multiview_to_model-1.webp +0 -0
  127. comfyui_workflow_templates/templates/api_tripo_multiview_to_model-2.webp +0 -0
  128. comfyui_workflow_templates/templates/api_tripo_multiview_to_model.json +0 -933
  129. comfyui_workflow_templates/templates/api_tripo_text_to_model-1.webp +0 -0
  130. comfyui_workflow_templates/templates/api_tripo_text_to_model.json +0 -703
  131. comfyui_workflow_templates/templates/api_veo2_i2v-1.webp +0 -0
  132. comfyui_workflow_templates/templates/api_veo2_i2v.json +0 -176
  133. comfyui_workflow_templates/templates/area_composition-1.webp +0 -0
  134. comfyui_workflow_templates/templates/area_composition.json +0 -1605
  135. comfyui_workflow_templates/templates/area_composition_square_area_for_subject-1.webp +0 -0
  136. comfyui_workflow_templates/templates/area_composition_square_area_for_subject.json +0 -1113
  137. comfyui_workflow_templates/templates/audio_ace_step_1_m2m_editing-1.mp3 +0 -0
  138. comfyui_workflow_templates/templates/audio_ace_step_1_m2m_editing.json +0 -865
  139. comfyui_workflow_templates/templates/audio_ace_step_1_t2a_instrumentals-1.mp3 +0 -0
  140. comfyui_workflow_templates/templates/audio_ace_step_1_t2a_instrumentals.json +0 -841
  141. comfyui_workflow_templates/templates/audio_ace_step_1_t2a_song-1.mp3 +0 -0
  142. comfyui_workflow_templates/templates/audio_ace_step_1_t2a_song.json +0 -841
  143. comfyui_workflow_templates/templates/audio_stable_audio_example-1.mp3 +0 -0
  144. comfyui_workflow_templates/templates/audio_stable_audio_example.json +0 -457
  145. comfyui_workflow_templates/templates/controlnet_example-1.webp +0 -0
  146. comfyui_workflow_templates/templates/controlnet_example-2.webp +0 -0
  147. comfyui_workflow_templates/templates/controlnet_example.json +0 -860
  148. comfyui_workflow_templates/templates/default-1.webp +0 -0
  149. comfyui_workflow_templates/templates/default.json +0 -357
  150. comfyui_workflow_templates/templates/depth_controlnet-1.webp +0 -0
  151. comfyui_workflow_templates/templates/depth_controlnet-2.webp +0 -0
  152. comfyui_workflow_templates/templates/depth_controlnet.json +0 -421
  153. comfyui_workflow_templates/templates/depth_t2i_adapter-1.webp +0 -0
  154. comfyui_workflow_templates/templates/depth_t2i_adapter-2.webp +0 -0
  155. comfyui_workflow_templates/templates/depth_t2i_adapter.json +0 -422
  156. comfyui_workflow_templates/templates/embedding_example-1.webp +0 -0
  157. comfyui_workflow_templates/templates/embedding_example.json +0 -267
  158. comfyui_workflow_templates/templates/esrgan_example-1.webp +0 -0
  159. comfyui_workflow_templates/templates/esrgan_example-2.webp +0 -0
  160. comfyui_workflow_templates/templates/esrgan_example.json +0 -641
  161. comfyui_workflow_templates/templates/flux1_krea_dev-1.webp +0 -0
  162. comfyui_workflow_templates/templates/flux1_krea_dev.json +0 -543
  163. comfyui_workflow_templates/templates/flux_canny_model_example-1.webp +0 -0
  164. comfyui_workflow_templates/templates/flux_canny_model_example-2.webp +0 -0
  165. comfyui_workflow_templates/templates/flux_canny_model_example.json +0 -478
  166. comfyui_workflow_templates/templates/flux_depth_lora_example-1.webp +0 -0
  167. comfyui_workflow_templates/templates/flux_depth_lora_example-2.webp +0 -0
  168. comfyui_workflow_templates/templates/flux_depth_lora_example.json +0 -717
  169. comfyui_workflow_templates/templates/flux_dev_checkpoint_example-1.webp +0 -0
  170. comfyui_workflow_templates/templates/flux_dev_checkpoint_example.json +0 -332
  171. comfyui_workflow_templates/templates/flux_dev_full_text_to_image-1.webp +0 -0
  172. comfyui_workflow_templates/templates/flux_dev_full_text_to_image.json +0 -552
  173. comfyui_workflow_templates/templates/flux_fill_inpaint_example-1.webp +0 -0
  174. comfyui_workflow_templates/templates/flux_fill_inpaint_example-2.webp +0 -0
  175. comfyui_workflow_templates/templates/flux_fill_inpaint_example.json +0 -462
  176. comfyui_workflow_templates/templates/flux_fill_outpaint_example-1.webp +0 -0
  177. comfyui_workflow_templates/templates/flux_fill_outpaint_example-2.webp +0 -0
  178. comfyui_workflow_templates/templates/flux_fill_outpaint_example.json +0 -495
  179. comfyui_workflow_templates/templates/flux_kontext_dev_basic-1.webp +0 -0
  180. comfyui_workflow_templates/templates/flux_kontext_dev_basic-2.webp +0 -0
  181. comfyui_workflow_templates/templates/flux_kontext_dev_basic.json +0 -1138
  182. comfyui_workflow_templates/templates/flux_kontext_dev_grouped-1.webp +0 -0
  183. comfyui_workflow_templates/templates/flux_kontext_dev_grouped-2.webp +0 -0
  184. comfyui_workflow_templates/templates/flux_kontext_dev_grouped.json +0 -1456
  185. comfyui_workflow_templates/templates/flux_redux_model_example-1.webp +0 -0
  186. comfyui_workflow_templates/templates/flux_redux_model_example.json +0 -1454
  187. comfyui_workflow_templates/templates/flux_schnell-1.webp +0 -0
  188. comfyui_workflow_templates/templates/flux_schnell.json +0 -302
  189. comfyui_workflow_templates/templates/flux_schnell_full_text_to_image-1.webp +0 -0
  190. comfyui_workflow_templates/templates/flux_schnell_full_text_to_image.json +0 -552
  191. comfyui_workflow_templates/templates/gligen_textbox_example-1.webp +0 -0
  192. comfyui_workflow_templates/templates/gligen_textbox_example.json +0 -626
  193. comfyui_workflow_templates/templates/hidream_e1_1-1.webp +0 -0
  194. comfyui_workflow_templates/templates/hidream_e1_1-2.webp +0 -0
  195. comfyui_workflow_templates/templates/hidream_e1_1.json +0 -1163
  196. comfyui_workflow_templates/templates/hidream_e1_full-1.webp +0 -0
  197. comfyui_workflow_templates/templates/hidream_e1_full-2.webp +0 -0
  198. comfyui_workflow_templates/templates/hidream_e1_full.json +0 -1027
  199. comfyui_workflow_templates/templates/hidream_i1_dev-1.webp +0 -0
  200. comfyui_workflow_templates/templates/hidream_i1_dev.json +0 -532
  201. comfyui_workflow_templates/templates/hidream_i1_fast-1.webp +0 -0
  202. comfyui_workflow_templates/templates/hidream_i1_fast.json +0 -532
  203. comfyui_workflow_templates/templates/hidream_i1_full-1.webp +0 -0
  204. comfyui_workflow_templates/templates/hidream_i1_full.json +0 -532
  205. comfyui_workflow_templates/templates/hiresfix_esrgan_workflow-1.webp +0 -0
  206. comfyui_workflow_templates/templates/hiresfix_esrgan_workflow-2.webp +0 -0
  207. comfyui_workflow_templates/templates/hiresfix_esrgan_workflow.json +0 -1035
  208. comfyui_workflow_templates/templates/hiresfix_latent_workflow-1.webp +0 -0
  209. comfyui_workflow_templates/templates/hiresfix_latent_workflow-2.webp +0 -0
  210. comfyui_workflow_templates/templates/hiresfix_latent_workflow.json +0 -776
  211. comfyui_workflow_templates/templates/hunyuan_video_text_to_video-1.webp +0 -0
  212. comfyui_workflow_templates/templates/hunyuan_video_text_to_video.json +0 -934
  213. comfyui_workflow_templates/templates/image2image-1.webp +0 -0
  214. comfyui_workflow_templates/templates/image2image.json +0 -631
  215. comfyui_workflow_templates/templates/image_chroma_text_to_image-1.webp +0 -0
  216. comfyui_workflow_templates/templates/image_chroma_text_to_image.json +0 -754
  217. comfyui_workflow_templates/templates/image_cosmos_predict2_2B_t2i-1.webp +0 -0
  218. comfyui_workflow_templates/templates/image_cosmos_predict2_2B_t2i.json +0 -544
  219. comfyui_workflow_templates/templates/image_lotus_depth_v1_1-1.webp +0 -0
  220. comfyui_workflow_templates/templates/image_lotus_depth_v1_1-2.webp +0 -0
  221. comfyui_workflow_templates/templates/image_lotus_depth_v1_1.json +0 -802
  222. comfyui_workflow_templates/templates/image_omnigen2_image_edit-1.webp +0 -0
  223. comfyui_workflow_templates/templates/image_omnigen2_image_edit-2.webp +0 -0
  224. comfyui_workflow_templates/templates/image_omnigen2_image_edit.json +0 -1497
  225. comfyui_workflow_templates/templates/image_omnigen2_t2i-1.webp +0 -0
  226. comfyui_workflow_templates/templates/image_omnigen2_t2i.json +0 -774
  227. comfyui_workflow_templates/templates/image_qwen_image-1.webp +0 -0
  228. comfyui_workflow_templates/templates/image_qwen_image.json +0 -844
  229. comfyui_workflow_templates/templates/image_to_video-1.webp +0 -0
  230. comfyui_workflow_templates/templates/image_to_video.json +0 -543
  231. comfyui_workflow_templates/templates/image_to_video_wan-1.webp +0 -0
  232. comfyui_workflow_templates/templates/image_to_video_wan.json +0 -837
  233. comfyui_workflow_templates/templates/index.es.json +0 -2357
  234. comfyui_workflow_templates/templates/index.fr.json +0 -2357
  235. comfyui_workflow_templates/templates/index.ja.json +0 -2357
  236. comfyui_workflow_templates/templates/index.json +0 -1639
  237. comfyui_workflow_templates/templates/index.ko.json +0 -2357
  238. comfyui_workflow_templates/templates/index.ru.json +0 -2357
  239. comfyui_workflow_templates/templates/index.schema.json +0 -102
  240. comfyui_workflow_templates/templates/index.zh-TW.json +0 -2357
  241. comfyui_workflow_templates/templates/index.zh.json +0 -2357
  242. comfyui_workflow_templates/templates/inpaint_example-1.webp +0 -0
  243. comfyui_workflow_templates/templates/inpaint_example-2.webp +0 -0
  244. comfyui_workflow_templates/templates/inpaint_example.json +0 -649
  245. comfyui_workflow_templates/templates/inpaint_model_outpainting-1.webp +0 -0
  246. comfyui_workflow_templates/templates/inpaint_model_outpainting-2.webp +0 -0
  247. comfyui_workflow_templates/templates/inpaint_model_outpainting.json +0 -707
  248. comfyui_workflow_templates/templates/latent_upscale_different_prompt_model-1.webp +0 -0
  249. comfyui_workflow_templates/templates/latent_upscale_different_prompt_model.json +0 -935
  250. comfyui_workflow_templates/templates/lora-1.webp +0 -0
  251. comfyui_workflow_templates/templates/lora.json +0 -610
  252. comfyui_workflow_templates/templates/lora_multiple-1.webp +0 -0
  253. comfyui_workflow_templates/templates/lora_multiple.json +0 -409
  254. comfyui_workflow_templates/templates/ltxv_image_to_video-1.webp +0 -0
  255. comfyui_workflow_templates/templates/ltxv_image_to_video.json +0 -886
  256. comfyui_workflow_templates/templates/ltxv_text_to_video-1.webp +0 -0
  257. comfyui_workflow_templates/templates/ltxv_text_to_video.json +0 -765
  258. comfyui_workflow_templates/templates/mixing_controlnets-1.webp +0 -0
  259. comfyui_workflow_templates/templates/mixing_controlnets-2.webp +0 -0
  260. comfyui_workflow_templates/templates/mixing_controlnets.json +0 -864
  261. comfyui_workflow_templates/templates/mochi_text_to_video_example-1.webp +0 -0
  262. comfyui_workflow_templates/templates/mochi_text_to_video_example.json +0 -575
  263. comfyui_workflow_templates/templates/sd3.5_large_blur-1.webp +0 -0
  264. comfyui_workflow_templates/templates/sd3.5_large_blur-2.webp +0 -0
  265. comfyui_workflow_templates/templates/sd3.5_large_blur.json +0 -685
  266. comfyui_workflow_templates/templates/sd3.5_large_canny_controlnet_example-1.webp +0 -0
  267. comfyui_workflow_templates/templates/sd3.5_large_canny_controlnet_example-2.webp +0 -0
  268. comfyui_workflow_templates/templates/sd3.5_large_canny_controlnet_example.json +0 -472
  269. comfyui_workflow_templates/templates/sd3.5_large_depth-1.webp +0 -0
  270. comfyui_workflow_templates/templates/sd3.5_large_depth-2.webp +0 -0
  271. comfyui_workflow_templates/templates/sd3.5_large_depth.json +0 -675
  272. comfyui_workflow_templates/templates/sd3.5_simple_example-1.webp +0 -0
  273. comfyui_workflow_templates/templates/sd3.5_simple_example.json +0 -278
  274. comfyui_workflow_templates/templates/sdxl_refiner_prompt_example-1.webp +0 -0
  275. comfyui_workflow_templates/templates/sdxl_refiner_prompt_example.json +0 -758
  276. comfyui_workflow_templates/templates/sdxl_revision_text_prompts-1.webp +0 -0
  277. comfyui_workflow_templates/templates/sdxl_revision_text_prompts.json +0 -492
  278. comfyui_workflow_templates/templates/sdxl_revision_zero_positive-1.webp +0 -0
  279. comfyui_workflow_templates/templates/sdxl_revision_zero_positive.json +0 -496
  280. comfyui_workflow_templates/templates/sdxl_simple_example-1.webp +0 -0
  281. comfyui_workflow_templates/templates/sdxl_simple_example.json +0 -1346
  282. comfyui_workflow_templates/templates/sdxlturbo_example-1.webp +0 -0
  283. comfyui_workflow_templates/templates/sdxlturbo_example.json +0 -372
  284. comfyui_workflow_templates/templates/stable_zero123_example-1.webp +0 -0
  285. comfyui_workflow_templates/templates/stable_zero123_example.json +0 -273
  286. comfyui_workflow_templates/templates/text_to_video_wan-1.webp +0 -0
  287. comfyui_workflow_templates/templates/text_to_video_wan.json +0 -601
  288. comfyui_workflow_templates/templates/txt_to_image_to_video-1.webp +0 -0
  289. comfyui_workflow_templates/templates/txt_to_image_to_video.json +0 -870
  290. comfyui_workflow_templates/templates/video_cosmos_predict2_2B_video2world_480p_16fps-1.webp +0 -0
  291. comfyui_workflow_templates/templates/video_cosmos_predict2_2B_video2world_480p_16fps.json +0 -724
  292. comfyui_workflow_templates/templates/video_wan2.1_fun_camera_v1.1_1.3B-1.webp +0 -0
  293. comfyui_workflow_templates/templates/video_wan2.1_fun_camera_v1.1_1.3B.json +0 -1030
  294. comfyui_workflow_templates/templates/video_wan2.1_fun_camera_v1.1_14B-1.webp +0 -0
  295. comfyui_workflow_templates/templates/video_wan2.1_fun_camera_v1.1_14B.json +0 -1063
  296. comfyui_workflow_templates/templates/video_wan2_2_14B_flf2v-1.webp +0 -0
  297. comfyui_workflow_templates/templates/video_wan2_2_14B_flf2v-2.webp +0 -0
  298. comfyui_workflow_templates/templates/video_wan2_2_14B_flf2v.json +0 -2629
  299. comfyui_workflow_templates/templates/video_wan2_2_14B_fun_control-1.webp +0 -0
  300. comfyui_workflow_templates/templates/video_wan2_2_14B_fun_control.json +0 -2837
  301. comfyui_workflow_templates/templates/video_wan2_2_14B_fun_inpaint-1.webp +0 -0
  302. comfyui_workflow_templates/templates/video_wan2_2_14B_fun_inpaint.json +0 -2549
  303. comfyui_workflow_templates/templates/video_wan2_2_14B_i2v-1.webp +0 -0
  304. comfyui_workflow_templates/templates/video_wan2_2_14B_i2v-2.webp +0 -0
  305. comfyui_workflow_templates/templates/video_wan2_2_14B_i2v.json +0 -2114
  306. comfyui_workflow_templates/templates/video_wan2_2_14B_t2v-1.webp +0 -0
  307. comfyui_workflow_templates/templates/video_wan2_2_14B_t2v.json +0 -1852
  308. comfyui_workflow_templates/templates/video_wan2_2_5B_ti2v-1.webp +0 -0
  309. comfyui_workflow_templates/templates/video_wan2_2_5B_ti2v.json +0 -733
  310. comfyui_workflow_templates/templates/video_wan_ati-1.webp +0 -0
  311. comfyui_workflow_templates/templates/video_wan_ati-2.webp +0 -0
  312. comfyui_workflow_templates/templates/video_wan_ati.json +0 -1070
  313. comfyui_workflow_templates/templates/video_wan_vace_14B_ref2v-1.webp +0 -0
  314. comfyui_workflow_templates/templates/video_wan_vace_14B_ref2v.json +0 -2165
  315. comfyui_workflow_templates/templates/video_wan_vace_14B_t2v-1.webp +0 -0
  316. comfyui_workflow_templates/templates/video_wan_vace_14B_t2v.json +0 -1242
  317. comfyui_workflow_templates/templates/video_wan_vace_14B_v2v-1.webp +0 -0
  318. comfyui_workflow_templates/templates/video_wan_vace_14B_v2v-2.webp +0 -0
  319. comfyui_workflow_templates/templates/video_wan_vace_14B_v2v.json +0 -1538
  320. comfyui_workflow_templates/templates/video_wan_vace_flf2v-1.webp +0 -0
  321. comfyui_workflow_templates/templates/video_wan_vace_flf2v.json +0 -2272
  322. comfyui_workflow_templates/templates/video_wan_vace_inpainting-1.webp +0 -0
  323. comfyui_workflow_templates/templates/video_wan_vace_inpainting-2.webp +0 -0
  324. comfyui_workflow_templates/templates/video_wan_vace_inpainting.json +0 -2113
  325. comfyui_workflow_templates/templates/video_wan_vace_outpainting-1.webp +0 -0
  326. comfyui_workflow_templates/templates/video_wan_vace_outpainting-2.webp +0 -0
  327. comfyui_workflow_templates/templates/video_wan_vace_outpainting.json +0 -1913
  328. comfyui_workflow_templates/templates/wan2.1_flf2v_720_f16-1.webp +0 -0
  329. comfyui_workflow_templates/templates/wan2.1_flf2v_720_f16.json +0 -1046
  330. comfyui_workflow_templates/templates/wan2.1_fun_control-1.webp +0 -0
  331. comfyui_workflow_templates/templates/wan2.1_fun_control-2.webp +0 -0
  332. comfyui_workflow_templates/templates/wan2.1_fun_control.json +0 -1215
  333. comfyui_workflow_templates/templates/wan2.1_fun_inp-1.webp +0 -0
  334. comfyui_workflow_templates/templates/wan2.1_fun_inp.json +0 -1116
  335. comfyui_workflow_templates-0.1.59.dist-info/METADATA +0 -1060
  336. comfyui_workflow_templates-0.1.59.dist-info/RECORD +0 -337
  337. {comfyui_workflow_templates-0.1.59.dist-info → comfyui_workflow_templates-0.6.0.dist-info}/WHEEL +0 -0
  338. {comfyui_workflow_templates-0.1.59.dist-info → comfyui_workflow_templates-0.6.0.dist-info}/licenses/LICENSE +0 -0
  339. {comfyui_workflow_templates-0.1.59.dist-info → comfyui_workflow_templates-0.6.0.dist-info}/top_level.txt +0 -0
@@ -1,16 +1,37 @@
1
1
  """
2
- ComfyUI Workflow Templates Package
2
+ Meta-package wrapper that re-exports core manifest helpers while
3
+ keeping the original import path (`comfyui_workflow_templates`) stable.
3
4
  """
4
5
 
5
- import importlib.resources
6
+ from __future__ import annotations
6
7
 
8
+ from comfyui_workflow_templates_core import (
9
+ get_asset_path,
10
+ get_template_entry,
11
+ iter_templates,
12
+ load_manifest,
13
+ resolve_all_assets,
14
+ )
7
15
 
8
- def get_templates_path():
9
- """Return the absolute path to the templates directory"""
10
- try:
11
- return str(
12
- importlib.resources.files("comfyui_workflow_templates") / "templates"
13
- )
14
- except Exception as e:
15
- print(f"Error accessing templates: {e}")
16
- return None
16
+ __all__ = [
17
+ "get_asset_path",
18
+ "get_template_entry",
19
+ "iter_templates",
20
+ "load_manifest",
21
+ "resolve_all_assets",
22
+ "get_templates_path",
23
+ ]
24
+
25
+
26
+ def get_templates_path() -> str:
27
+ """
28
+ Legacy helper retained for compatibility.
29
+
30
+ Multi-bundle distribution no longer exposes a single `templates/`
31
+ directory, so this function now raises to encourage callers to use
32
+ `get_asset_path`/`resolve_all_assets` instead.
33
+ """
34
+ raise RuntimeError(
35
+ "get_templates_path() is no longer supported. "
36
+ "Use get_asset_path(template_id, filename) to access assets."
37
+ )
@@ -0,0 +1,434 @@
1
+ Metadata-Version: 2.4
2
+ Name: comfyui_workflow_templates
3
+ Version: 0.6.0
4
+ Summary: ComfyUI workflow templates package
5
+ Author: Comfy-Org
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Operating System :: OS Independent
9
+ Requires-Python: >=3.9
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Requires-Dist: comfyui-workflow-templates-core==0.3.3
13
+ Requires-Dist: comfyui-workflow-templates-media-api==0.3.8
14
+ Requires-Dist: comfyui-workflow-templates-media-video==0.3.1
15
+ Requires-Dist: comfyui-workflow-templates-media-image==0.3.3
16
+ Requires-Dist: comfyui-workflow-templates-media-other==0.3.3
17
+ Provides-Extra: api
18
+ Requires-Dist: comfyui-workflow-templates-media-api==0.3.8; extra == "api"
19
+ Provides-Extra: video
20
+ Requires-Dist: comfyui-workflow-templates-media-video==0.3.1; extra == "video"
21
+ Provides-Extra: image
22
+ Requires-Dist: comfyui-workflow-templates-media-image==0.3.3; extra == "image"
23
+ Provides-Extra: other
24
+ Requires-Dist: comfyui-workflow-templates-media-other==0.3.3; extra == "other"
25
+ Provides-Extra: all
26
+ Requires-Dist: comfyui-workflow-templates-media-api==0.3.8; extra == "all"
27
+ Requires-Dist: comfyui-workflow-templates-media-video==0.3.1; extra == "all"
28
+ Requires-Dist: comfyui-workflow-templates-media-image==0.3.3; extra == "all"
29
+ Requires-Dist: comfyui-workflow-templates-media-other==0.3.3; extra == "all"
30
+ Dynamic: license-file
31
+
32
+ # workflow_templates
33
+
34
+ This repo hosts the official ComfyUI workflow templates. The repository now ships a
35
+ **package-per-media** structure:
36
+
37
+ - `packages/core` – manifest + loader helpers shipped as `comfyui-workflow-templates-core`
38
+ - `packages/media_*` – the actual template JSON + preview assets for each media type
39
+ - `packages/meta` and the root `pyproject.toml` – the `comfyui-workflow-templates` meta package that depends on all others
40
+
41
+ Most contributors only touch the `templates/` folder and `bundles.json`, but the build
42
+ pipeline now requires the helper scripts described below. See the sections on "Adding
43
+ new templates" and "Publishing" for the exact steps.
44
+
45
+ - [workflow\_templates](#workflow_templates)
46
+ - [Adding New Templates](#adding-new-templates)
47
+ - [1 — Find Templates Folder](#1--find-templates-folder)
48
+ - [2 — Obtain Workflow](#2--obtain-workflow)
49
+ - [3 — Obtain Thumbnails](#3--obtain-thumbnails)
50
+ - [4 — Choose Thumbnail Type](#4--choose-thumbnail-type)
51
+ - [5 — Compress Assets](#5--compress-assets)
52
+ - [6 — Rename and Move Files](#6--rename-and-move-files)
53
+ - [7 — Assign Bundle & Sync Assets](#7--assign-bundle--sync-assets)
54
+ - [8 — Add Entry to `index.json`](#8--add-entry-to-indexjson)
55
+ - [9 — Embed Models](#9--embed-models)
56
+ - [10 — Embed Node Versions (optional)](#10--embed-node-versions-optional)
57
+ - [11 — Add Documentation Nodes (optional)](#11--add-documentation-nodes-optional)
58
+ - [12 — Bump Version and Create PR](#12--bump-version-and-create-pr)
59
+ - [13 — Add Translations](#13--add-translations)
60
+
61
+ ## Adding New Templates
62
+
63
+ I will demonstrate how to add a new template by walking through the process of adding the Wan text to video template.
64
+
65
+ ### 1 — Find Templates Folder
66
+
67
+ [Set up ComfyUI_frontend dev environment](https://github.com/Comfy-Org/ComfyUI_frontend?tab=readme-ov-file#development). In the `ComfyUI_frontend/.env` file, add the line `DISABLE_TEMPLATES_PROXY=true` then start the dev server with `npm run dev`.
68
+
69
+ Copy the `templates` folder from this repository to the `ComfyUI_frontend/public` folder.
70
+
71
+ ### 2 — Obtain Workflow
72
+
73
+ Either
74
+
75
+ - Create the workflow and export using `Save` => `Export`
76
+ - Use an existing workflow. To extract the workflow json from an image, you can use this tool: <https://comfyui-embedded-workflow-editor.vercel.app/>
77
+
78
+ I will get my workflow from the [ComfyUI_examples Wan 2.1 page](https://comfyanonymous.github.io/ComfyUI_examples/wan/). To get the workflow from the video on that page, I'll drag the video into [comfyui-embedded-workflow-editor](https://comfyui-embedded-workflow-editor.vercel.app/). Then I'll copy and paste it into a new json file on my computer.
79
+
80
+ > [!IMPORTANT]
81
+ >
82
+ > Make sure you start ComfyUI with `--disable-all-custom-nodes` when creating the workflow file (to prevent custom extensions adding metadata into the saved workflow file)
83
+
84
+ ### 3 — Obtain Thumbnails
85
+
86
+ Ideally, the thumbnail is simply the output produced by the workflow on first execution. As an example, see the output of the [**_Mixing ControlNets_** template](https://docs.comfy.org/tutorials/controlnet/mixing-controlnets):
87
+
88
+ ![](docs/pictures/controlnet-output-match-thumbnail.png)
89
+
90
+ For my Wan 2.1 template, I'll just use [the webp video](https://comfyanonymous.github.io/ComfyUI_examples/wan/text_to_video_wan.webp) I got the workflow from.
91
+
92
+ ### 4 — Choose Thumbnail Type
93
+
94
+ Choose the content type and hover effect (optional) for your thumbnail:
95
+
96
+ | Content Types | Hover Effects |
97
+ | --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
98
+ | ![Image Element](docs/pictures/thumbnail-variants/default.gif)<br>**Image**: Default image with no extra effect | ![Compare Slider](docs/pictures/thumbnail-variants/compare-slider.gif)<br>**Compare Slider**: Before/after comparison tool |
99
+ | ![Video Player](docs/pictures/thumbnail-variants/video.gif)<br>**Video**: Webp animation | ![Hover Dissolve](docs/pictures/thumbnail-variants/hover-disolve.gif)<br>**Hover Dissolve**: Dissolves to 2nd image on hover |
100
+ | ![Audio Controls](docs/pictures/thumbnail-variants/audio.gif)<br>**Audio**: Audio playback | ![Hover Zoom](docs/pictures/thumbnail-variants/hover-zoom.gif)<br>**Hover Zoom**: Same as default but zooms more |
101
+
102
+ > [!WARNING]
103
+ >
104
+ > For video thumbnails, thumbnails need to be converted to webp format first
105
+
106
+ Since my Wan 2.1 thumbnail is already an animated video, I'll use a video thumbnail but choose not to add an effect.
107
+
108
+ ### 5 — Compress Assets
109
+
110
+ Attempt to compress the assets. Since the thumbnails will never be taking up a large portion of the screen, it is acceptable to lower their size. It's also good to convert them to a space-efficient file format like webp or jpeg, applying a lossy compression algorithm (e.g., convert at 65% quality).
111
+
112
+ [EzGif](https://ezgif.com/png-to-webp) has free tools for changing resolution, compressing, and converting file types. Use whatever tool you are comfortable with.
113
+
114
+ > [!TIP]
115
+ >
116
+ > Convert to webp first, then resize to a smaller resolution. You can maintain high quality and still get near 95% reduction if e.g., converting from png.
117
+
118
+ ### 6 — Rename and Move Files
119
+
120
+ Give the workflow a filename that has no spaces, dots, or special characters. Then rename the thumbnail file(s) to match, but with a counter suffix.
121
+
122
+ ```
123
+ your_template_name.json
124
+ your_template_name-1.png
125
+ your_template_name-2.png
126
+ ```
127
+
128
+ I'll name the Wan 2.1 template as `text_to_video_wan.json`. So my files will be:
129
+
130
+ ```
131
+ text_to_video_wan.json
132
+ text_to_video_wan-1.webp
133
+ ```
134
+
135
+ Then move the renamed files to your templates folder.
136
+
137
+ ### 7 — Assign Bundle & Sync Assets
138
+
139
+ Each template lives in one bundle (`media-image`, `media-video`, etc.). Update
140
+ [`bundles.json`](bundles.json) with the template ID so the correct media package ships it.
141
+ After editing `templates/` or `bundles.json`, regenerate the manifest and copy assets into
142
+ the package directories:
143
+
144
+ ```bash
145
+ python scripts/sync_bundles.py
146
+ # or via Nx
147
+ npm run sync
148
+ ```
149
+
150
+ This step must be run before committing; CI will fail if the manifest/bundles are out of sync.
151
+
152
+ ### 8 — Add Entry to `index.json`
153
+
154
+ There's an [`index.json`](templates/index.json) file in the templates folder which is where template configurations are set. You will need to add your template to this file, using the fields outlined below:
155
+
156
+ ![](docs/pictures/index-json-fields.png)
157
+
158
+ If your template doesn't fit into an existing category, you can add a new one:
159
+
160
+ ```diff
161
+ {
162
+ "moduleName": "default",
163
+ "title": "Basics",
164
+ "type": "image",
165
+ "templates": [
166
+ {
167
+ "name": "default",
168
+ "mediaType": "image",
169
+ "mediaSubtype": "webp",
170
+ "description": "Generate images from text descriptions."
171
+ },
172
+ ]
173
+ },
174
+ + {
175
+ + "moduleName": "default",
176
+ + "title": "Your New Category"s Name",
177
+ + "type": "video",
178
+ + "templates": [
179
+ + {
180
+ + "name": "your_template_name",
181
+ + "description": "A description of your template workflow",
182
+ + "mediaType": "image",
183
+ + "mediaSubtype": "webp",
184
+ + "description": "Your template"s description.",
185
+ + "tutorialUrl": "https://link-to-some-helpful-docs-if-they-exist.como"
186
+ + "thumbnailVariant": "zoomHover",
187
+ + },
188
+ + ]
189
+ + }
190
+ ```
191
+
192
+ The Wan 2.1 template I'm adding already fits into the "Video" category, so I'll just add it there:
193
+
194
+ ```diff
195
+ {
196
+ moduleName: "default",
197
+ title: "Video",
198
+ type: "video",
199
+ templates: [
200
+ {
201
+ name: "ltxv_text_to_video",
202
+ mediaType: "image",
203
+ mediaSubtype: "webp",
204
+ tutorialUrl: "https://comfyanonymous.github.io/ComfyUI_examples/ltxv/"
205
+ },
206
+ + {
207
+ + "name": "text_to_video_wan",
208
+ + "description": "Quickly Generate videos from text descriptions.",
209
+ + "mediaType": "image",
210
+ + "mediaSubtype": "webp",
211
+ + "tutorialUrl": "https://comfyanonymous.github.io/ComfyUI_examples/wan/"
212
+ + },
213
+ ]
214
+ },
215
+ ```
216
+
217
+ The `thumbnailVariant` field is where you add the choice of thumbnail variant.
218
+
219
+ Now you can start ComfyUI (or refresh browser if already running) and test that your template works.
220
+
221
+ > [!WARNING]
222
+ >
223
+ > Make sure to use double-quotes `"` instead of single-quotes `'` when adding things to json files
224
+
225
+ ### 9 — Embed Models
226
+
227
+ Now we need to embed metadata for any models the template workflow uses. This way, the user can download and run the workflow without ever leaving ComfyUI.
228
+
229
+ For instance, my Wan 2.1 template requires 3 models:
230
+
231
+ - umt5_xxl_fp8_e4m3fn_scaled text encoder
232
+ - wan_2.1_vae VAE
233
+ - wan2.1_t2v_1.3B_bf16 model
234
+
235
+ ![alt text](docs/pictures/model_loaders.png)
236
+
237
+ To add them to the workflow json, find each associated node and add the metadata to their properties:
238
+
239
+ ```diff
240
+ {
241
+ "id": 39,
242
+ "type": "VAELoader",
243
+ "pos": [866.3932495117188, 499.18597412109375],
244
+ "size": [306.36004638671875, 58],
245
+ "flags": {},
246
+ "order": 0,
247
+ "mode": 0,
248
+ "inputs": [],
249
+ "outputs": [
250
+ {
251
+ "name": "VAE",
252
+ "type": "VAE",
253
+ "links": [76],
254
+ "slot_index": 0
255
+ }
256
+ ],
257
+ "properties": {
258
+ "Node name for S&R": "VAELoader",
259
+ + "models": [
260
+ + {
261
+ + "name": "wan_2.1_vae.safetensors",
262
+ + "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/vae/wan_2.1_vae.safetensors?download=true",
263
+ + "hash": "2fc39d31359a4b0a64f55876d8ff7fa8d780956ae2cb13463b0223e15148976b"
264
+ + "hash_type": "SHA256",
265
+ + "directory": "vae"
266
+ + }
267
+ + ]
268
+ },
269
+ "widgets_values": ["wan_2.1_vae.safetensors"]
270
+ },
271
+ ```
272
+
273
+ ```diff
274
+ {
275
+ "id": 38,
276
+ "type": "CLIPLoader",
277
+ "pos": [12.94982624053955, 184.6981658935547],
278
+ "size": [390, 82],
279
+ "flags": {},
280
+ "order": 1,
281
+ "mode": 0,
282
+ "inputs": [],
283
+ "outputs": [
284
+ {
285
+ "name": "CLIP",
286
+ "type": "CLIP",
287
+ "links": [74, 75],
288
+ "slot_index": 0
289
+ }
290
+ ],
291
+ "properties": {
292
+ "Node name for S&R": "CLIPLoader",
293
+ + "models": [
294
+ + {
295
+ + "name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
296
+ + "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors?download=true",
297
+ + "hash": "c3355d30191f1f066b26d93fba017ae9809dce6c627dda5f6a66eaa651204f68",
298
+ + "hash_type": "SHA256",
299
+ + "directory": "text_encoders"
300
+ + }
301
+ + ]
302
+ },
303
+ "widgets_values": [
304
+ "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
305
+ "wan",
306
+ "default"
307
+ ]
308
+ },
309
+ ```
310
+
311
+ ```diff
312
+ {
313
+ "id": 37,
314
+ "type": "UNETLoader",
315
+ "pos": [485.1220397949219, 57.094566345214844],
316
+ "size": [346.7470703125, 82],
317
+ "flags": {},
318
+ "order": 3,
319
+ "mode": 0,
320
+ "inputs": [],
321
+ "outputs": [
322
+ {
323
+ "name": "MODEL",
324
+ "type": "MODEL",
325
+ "links": [92],
326
+ "slot_index": 0
327
+ }
328
+ ],
329
+ "properties": {
330
+ "Node name for S&R": "UNETLoader",
331
+ + "models": [
332
+ + {
333
+ + "name": "wan2.1_t2v_1.3B_bf16.safetensors",
334
+ + "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/wan2.1_t2v_1.3B_bf16.safetensors?download=true",
335
+ + "hash": "6f999b0d6cb9a72b3d98ac386ed96f57f8cecae13994a69232514ea4974ad5fd",
336
+ + "hash_type": "SHA256",
337
+ + "directory": "diffusion_models"
338
+ + }
339
+ + ]
340
+ },
341
+ "widgets_values": ["wan2.1_t2v_1.3B_bf16.safetensors", "default"]
342
+ },
343
+ ```
344
+
345
+ You can find the `hash` and `hash_type` for a model on huggingface (see below)or by calculating it yourself with a script or online tool.
346
+
347
+ ![finding hash on hugginface](docs/pictures/finding-hugginface-hash.png)
348
+
349
+ [Workflow spec](https://docs.comfy.org/specs/workflow_json) and [ModelFile Zod schema](https://github.com/Comfy-Org/ComfyUI_frontend/blob/6bc03a624ecbc0439501d0c7c2b073ca90e9a742/src/schemas/comfyWorkflowSchema.ts#L34-L40) for more details.
350
+
351
+ > [!CAUTION]
352
+ >
353
+ > Ensure that the filename being downloaded from the links matches the filenames in the `widgets_values` exactly.
354
+
355
+ ### 10 — Embed Node Versions (optional)
356
+
357
+ If your template requires a specific version of Comfy or a custom node, you can specify that using the same process as with models.
358
+
359
+ The Wan 2.1 workflow requires the SaveWEBM node which wasn't fully supported until ComfyUI v0.3.26. I can add this information into the SaveWEBM node:
360
+
361
+ ```diff
362
+ {
363
+ "id": 47,
364
+ "type": "SaveWEBM",
365
+ "pos": [2367.213134765625, 193.6114959716797],
366
+ "size": [315, 130],
367
+ "flags": {},
368
+ "order": 9,
369
+ "mode": 4,
370
+ "inputs": [
371
+ {
372
+ "name": "images",
373
+ "type": "IMAGE",
374
+ "link": 93
375
+ }
376
+ ],
377
+ "outputs": [],
378
+ "properties": {
379
+ "Node name for S&R": "SaveWEBM",
380
+ + "cnr_id": "comfy-core",
381
+ + "ver": "0.3.26"
382
+ },
383
+ "widgets_values": ["ComfyUI", "vp9", 24, 32]
384
+ },
385
+ ```
386
+
387
+ This can help diagnose issues when others run the workflow and ensure the workflow is more reproducible.
388
+
389
+ ### 11 — Add Documentation Nodes (optional)
390
+
391
+ If your template corresponds with a page on https://github.com/comfyanonymous/ComfyUI_examples, https://docs.comfy.org/custom-nodes/workflow_templates, etc., you can add a `MarkdownNote` node with links:
392
+
393
+ ![](docs/pictures/docs-markdown-node.png)
394
+
395
+ Raw markdown used:
396
+
397
+ ```markdown
398
+ ### Learn more about this workflow
399
+
400
+ > [Wan - ComfyUI_examples](https://comfyanonymous.github.io/ComfyUI_examples/wan/#text-to-video) — Overview
401
+ >
402
+ > [Wan 2.1 Tutorial - docs.comfy.org](https://docs.comfy.org/tutorials/video/wan/wan-video) — Explanation of concepts and step-by-step tutorial
403
+ ```
404
+
405
+ ### 12 — Create PR
406
+
407
+ 1. Fully test the workflow: delete the models, input images, etc. and try it as a new user would. Ensure the process has no hiccups and you can generate the thumbnail image on the first execution (if applicable).
408
+ 2. Create a fork of https://github.com/Comfy-Org/workflow_templates (or just checkout a new branch if you are a Comfy-Org collaborator)
409
+ 3. Clone the fork to your system (if not a collaborator)
410
+ 4. Copy your new workflow and thumbnail(s) into the `templates` folder
411
+ 5. Add your changes to the `templates/index.json` file
412
+ 6. **Bump the version in the root `pyproject.toml`** ([example](https://github.com/Comfy-Org/workflow_templates/pull/32))
413
+ 7. Commit and push changes
414
+ 8. Create a PR on https://github.com/Comfy-Org/workflow_templates
415
+
416
+ Version bumping and package building are automated via CI/CD. Bumping the root `pyproject.toml` version automatically:
417
+ - Detects which subpackages have changed since their last release
418
+ - Bumps versions only for affected packages
419
+ - Updates all dependency references
420
+ - Builds and publishes packages to PyPI
421
+
422
+ Here is the PR I made for the Wan template: https://github.com/Comfy-Org/workflow_templates/pull/16
423
+
424
+ Once the PR is merged, if you followed step 6 correctly, a new version will be published to the [comfyui-workflow-templates PyPi package](https://pypi.org/project/comfyui-workflow-templates).
425
+
426
+ ### 13 — Add Translations
427
+
428
+ Make a PR in https://github.com/Comfy-Org/ComfyUI_frontend adding the mapping from your template filename (without extension) to the English display name title. The mapping goes in [`ComfyUI_frontend/src/locales/en/main.json`](https://github.com/Comfy-Org/ComfyUI_frontend/blob/9f0abac57ba0d5752c51198bf8a075b8336fdda1/src/locales/en/main.json#L480-L487).
429
+
430
+ If you added a new category, do the same in the [categories section of the translation mappings](https://github.com/Comfy-Org/ComfyUI_frontend/blob/9f0abac57ba0d5752c51198bf8a075b8336fdda1/src/locales/en/main.json#L433).
431
+
432
+ You can edit the file and make a PR directly on the GitHub website.
433
+
434
+ Here is the PR I made for the Wan template translations: https://github.com/Comfy-Org/ComfyUI_frontend/pull/3042
@@ -0,0 +1,6 @@
1
+ comfyui_workflow_templates/__init__.py,sha256=GfnP4pvQV_j93d2ch2H3PLVNl6Dd4M5o2If90WCBJJU,941
2
+ comfyui_workflow_templates-0.6.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
3
+ comfyui_workflow_templates-0.6.0.dist-info/METADATA,sha256=lztUD7NJgCABhu5KasWO9vcZ3oK2i_b8pQskXZ4JSI8,17719
4
+ comfyui_workflow_templates-0.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
5
+ comfyui_workflow_templates-0.6.0.dist-info/top_level.txt,sha256=u4ElFwwqJ25NY9OpjIB2eFEaFoAIk4bHrlGJKPMwJOo,27
6
+ comfyui_workflow_templates-0.6.0.dist-info/RECORD,,