WOW! You are an incredible teacher. I started with Stable Diffusion about a month ago after a year of Midjourney, and comfyUI was like black magic to me. I often got cryptic errors loading new things I got from the internet. This AMAZING video gives me a good understanding of what is happening behind the scenes. Thank you SO MUCH 🙏🏼
This is *exactly* what I was looking for! And yes, please: anything to help with Python would be gratefully learnt. In particular, understanding the errors that sometimes arise (I know - that would be a weeklong, epic-length video)... but just a few pointers on where to look for the source of the problem would help so much. I sincerely hope you keep making videos, particularly with a focus on the Python functionality - these are gold.
Thank you, @robinhahn6987! I'm glad you found the content helpful. Certainly, I'll be making similar content in the future. Your support and encouragement mean a lot.
Very well done, many thanks! I would love to see more on this, and would ESPECIALLY appreciate some clear and concise instructions, ideally including an overview, rules, and step by step instructions in as few words as possible, for use in prompting and AI assisted troubleshooting!.. 🙏🏻
Thank you, @ArielTavori! I appreciate your kind words. Currently, I'm working on a different video idea, but I've noted your request. In a future video, I will cover advanced custom nodes in Python, including AI-assisted troubleshooting. Stay tuned for updates!
Thank you, @kpr2 for the positive feedback and encouragement! I'm glad you the tutorial helped you get closer to completing your token counter project.
Thank you so much for your course, it helped me a lot. I was SURPRISED to see this video. Hope you can continue to persevere. I'm sorry for my English. thanks for the tutorial!!!!!!!!!🙏🙏🙏
Thank you, @user-sp7pg4rw1t! Don't worry about your English, it's perfectly fine! I appreciate your support and will continue to create more similar contents.
Thank you, very helpful vid. Your style of explaining is very clear and shows some of the pitfalls that might occur. That's always helpful. I do have a question: I made my first custom node a while back and I'd really like to make another node to compliment it. What I'd like to do is have a node that will take a STRING input from a prompt generator node and display the prompt in a multiline text field that's editable. In looking through the nodes I have I've not seen any node that can take one of its inputs and display it another of its inputs: In this case a "forceinput" text node to an editable multiline text field. If you know of how this can be done, or of a node that does this that I can examine I'd appreciate it.
Thank you, @glibsonoran! I'm happy to hear that you found the video helpful. You idea of custom node to display and edit a string is interesting. I'll try and give it a shot. I'll keep you informed on the progress and a possible solution. Thanks for the feedback.
Following up on your question about displaying and editing a string input in ComfyUI, I did some research and testing. Since ComfyUI doesn't have a built-in feature to show text output by default, you'll need to implement it using JavaScript. I came across a solution by the user 'pythongosssss' on GitHub. They've created custom nodes called 'Show Text' and 'String Function' that achieve what you're looking for. To access these nodes, you can visit their GitHub profile and look for the repo "ComfyUI-Custom-Scripts". You will need both Python and JavaScript skills to understand the code since using the Python extensions alone won't display the string output in the web UI. The files of interest from the repository are: "web\js\showText.js", "py\show_text.py". Since the project is under the MIT License, you can safely examine and use the code. Hope this helps and points you in the right direction.
@@CodeCraftersCorner Yes I had reviewed that node and the fact that he returned values to UI. There's a math node that also returns to UI (Pythongossss' "Math Expression") it takes A, B and C values as inputs and lets you enter a math expression using those values, the result of which gets sent to output, but it also displays the equation result on the face of the node (uneditable also unfortunately) . However in both cases the result is not editable like a multiline text input would be. It seems that Comfy data only goes in one direction: Input elements => output elements. While you can process the data before output (which is the whole idea I guess), you can't direct data from one input to another for display/editing to the user. At least that's how it looks to me. The UI elements don't seem to be accessible except to read their data. Another node that attempts to get around the inaccessibility of UI elements in Preview Chooser from the Image Chooser node set. They use a set of JavaScripts and Comfy's Server object to pause the workflow. Then they poll for an "event" where the user interacts with a UI element to indicate the workflow should resume. It's pretty interesting, but I haven't been able to suss it all out yet and my JavaScript is not strong.
Thank you, @glibsonoran for the detailed observation. It does seem like a software design choice of ComfyUI. The observation about the data flow in one direction and the challenges in achieving an editable output field is valuable. I appreciate the mention of the Preview Chooser node, and I'll give it a try for a deeper understanding. Same here, my JavaScript skills are primarily focused on frontend development. So it is a challenge to get a good understanding of the backend scripts.
thanks a lot for this great video. I was able to follow and recreate the node you did. I also made one of my own. Only thing I was struggling with was how to add inputs as inputs rather than them appearing in the widget. This seemed to be an issue with multi-line text fields.
Good job getting so far, @michaelbayes802! Some of the inputs fields are predefined to appear as inputs or widgets. I will check the multi-line text fields.
This was a great tutorial. I felt like I was back in class. Excellent work. I do not understand python as well as cpp; but you made this particular application very easy to understand.
Awesome videos... Can you create a tutorial on how ComfyUI displays text inside a node? I was able to figure out how to have a node display images but I can't get it to display text. For example, take an input image, calculate the MD5 hash and then display the Hash as well as the image pixel dimensions. I can output to a text output and that works fine. But when I try to use the "text" format to display in the self (output node true) node, it always error or no output. Thank you!
Hello @CamiloMonsalve! Go to Settings (gear icon above Queue Prompt button) > Look for "Link Render Mode" and change it to "Straight". There is an option to hide the lines too.
@Mindset2Work, I cannot find your comment to reply directly but I got an email notification. To close out of your current ComfyUI session, bring your terminal / Powershell / CMD window to the front and press and hold the control key (CTRL). While held down, press the "c" key on your keyboard. So the shortcut is CTRL + C. This will close ComfyUI server. Then to restart, you can press the UP arrow on your keyboard to get your last command back and press Enter. Hope you find this comment.
Hello, you have to use the INT field. To connect to the width and height of Empty Latent Image (example), convert the width/height of the node to inputs and connect them.
Hello! Please feel free to reach out by email (listed in the description). However, I cannot guarantee that I will be able to take on the project. Thanks for your understanding!
Hello @sinayagubi8805! I see what you meant. I checked the original raw recording. I did pronounce it as "node". When I applied noise reduction and voice processing, it distorted the audio slightly. Thanks for pointing this out.
WOW!
You are an incredible teacher. I started with Stable Diffusion about a month ago after a year of Midjourney, and comfyUI was like black magic to me. I often got cryptic errors loading new things I got from the internet.
This AMAZING video gives me a good understanding of what is happening behind the scenes.
Thank you SO MUCH 🙏🏼
Thank you, @SebAnt! I am glad to hear the video helped you understand ComfyUI better. Appreciate you taking your time for these kind words! Thank you.
Very good tutorial, easy to follow and well structured, thanks.
Glad you enjoyed it!
This is *exactly* what I was looking for! And yes, please: anything to help with Python would be gratefully learnt. In particular, understanding the errors that sometimes arise (I know - that would be a weeklong, epic-length video)... but just a few pointers on where to look for the source of the problem would help so much. I sincerely hope you keep making videos, particularly with a focus on the Python functionality - these are gold.
Thank you, @robinhahn6987! I'm glad you found the content helpful. Certainly, I'll be making similar content in the future. Your support and encouragement mean a lot.
Very well done, many thanks!
I would love to see more on this, and would ESPECIALLY appreciate some clear and concise instructions, ideally including an overview, rules, and step by step instructions in as few words as possible, for use in prompting and AI assisted troubleshooting!.. 🙏🏻
Thank you, @ArielTavori! I appreciate your kind words. Currently, I'm working on a different video idea, but I've noted your request. In a future video, I will cover advanced custom nodes in Python, including AI-assisted troubleshooting. Stay tuned for updates!
Thanks a lot for the very thorough, well organized and informative introduction to custom nodes. Thumbs up!
LOL! Just the info I need in case I end up writing my own "token counter" for giggles. Awesome info, keep the great tutorials coming!!! Thanks much!
Thank you, @kpr2 for the positive feedback and encouragement! I'm glad you the tutorial helped you get closer to completing your token counter project.
Thank you so much for your course, it helped me a lot. I was SURPRISED to see this video. Hope you can continue to persevere. I'm sorry for my English. thanks for the tutorial!!!!!!!!!🙏🙏🙏
Thank you, @user-sp7pg4rw1t! Don't worry about your English, it's perfectly fine! I appreciate your support and will continue to create more similar contents.
Vielen Dank für die gute Erklärung. Ein sehr gutes Video und eine angenehme Stimme.
Thank you very much!
nice, simple, and easily understandable ! thank you !
Glad you liked it!
Thank you, very helpful vid. Your style of explaining is very clear and shows some of the pitfalls that might occur. That's always helpful.
I do have a question:
I made my first custom node a while back and I'd really like to make another node to compliment it. What I'd like to do is have a node that will take a STRING input from a prompt generator node and display the prompt in a multiline text field that's editable. In looking through the nodes I have I've not seen any node that can take one of its inputs and display it another of its inputs: In this case a "forceinput" text node to an editable multiline text field. If you know of how this can be done, or of a node that does this that I can examine I'd appreciate it.
Thank you, @glibsonoran! I'm happy to hear that you found the video helpful.
You idea of custom node to display and edit a string is interesting. I'll try and give it a shot. I'll keep you informed on the progress and a possible solution.
Thanks for the feedback.
Following up on your question about displaying and editing a string input in ComfyUI, I did some research and testing. Since ComfyUI doesn't have a built-in feature to show text output by default, you'll need to implement it using JavaScript. I came across a solution by the user 'pythongosssss' on GitHub. They've created custom nodes called 'Show Text' and 'String Function' that achieve what you're looking for. To access these nodes, you can visit their GitHub profile and look for the repo "ComfyUI-Custom-Scripts". You will need both Python and JavaScript skills to understand the code since using the Python extensions alone won't display the string output in the web UI.
The files of interest from the repository are: "web\js\showText.js", "py\show_text.py". Since the project is under the MIT License, you can safely examine and use the code.
Hope this helps and points you in the right direction.
@@CodeCraftersCorner Yes I had reviewed that node and the fact that he returned values to UI. There's a math node that also returns to UI (Pythongossss' "Math Expression") it takes A, B and C values as inputs and lets you enter a math expression using those values, the result of which gets sent to output, but it also displays the equation result on the face of the node (uneditable also unfortunately) .
However in both cases the result is not editable like a multiline text input would be. It seems that Comfy data only goes in one direction: Input elements => output elements. While you can process the data before output (which is the whole idea I guess), you can't direct data from one input to another for display/editing to the user. At least that's how it looks to me. The UI elements don't seem to be accessible except to read their data.
Another node that attempts to get around the inaccessibility of UI elements in Preview Chooser from the Image Chooser node set. They use a set of JavaScripts and Comfy's Server object to pause the workflow. Then they poll for an "event" where the user interacts with a UI element to indicate the workflow should resume. It's pretty interesting, but I haven't been able to suss it all out yet and my JavaScript is not strong.
Thank you, @glibsonoran for the detailed observation. It does seem like a software design choice of ComfyUI. The observation about the data flow in one direction and the challenges in achieving an editable output field is valuable.
I appreciate the mention of the Preview Chooser node, and I'll give it a try for a deeper understanding.
Same here, my JavaScript skills are primarily focused on frontend development. So it is a challenge to get a good understanding of the backend scripts.
thanks a lot for this great video. I was able to follow and recreate the node you did. I also made one of my own. Only thing I was struggling with was how to add inputs as inputs rather than them appearing in the widget. This seemed to be an issue with multi-line text fields.
Good job getting so far, @michaelbayes802! Some of the inputs fields are predefined to appear as inputs or widgets. I will check the multi-line text fields.
Very good!❤❤❤This video is very useful for me,you are a excellent teacher❤❤
Thank you for the kind words, @venli7692!
Fantastic, thank you for the video hope you make more soon :)
Thank you for watching, @impactframes! Yes, there will be more of similar content in the near future. Appreciate the support.
Don't learn to code "they" said lmao 🤣🤣🤣
Great video bro
This was a great tutorial. I felt like I was back in class. Excellent work. I do not understand python as well as cpp; but you made this particular application very easy to understand.
Glad it was helpful!
Hi, thx for that video, any chance to have something similar for javascript based custom nodes ?
Sure, soon!
Awesome videos...
Can you create a tutorial on how ComfyUI displays text inside a node? I was able to figure out how to have a node display images but I can't get it to display text.
For example, take an input image, calculate the MD5 hash and then display the Hash as well as the image pixel dimensions.
I can output to a text output and that works fine. But when I try to use the "text" format to display in the self (output node true) node, it always error or no output.
Thank you!
Great suggesion, I will see what I can.
How do you make the connectors look like straight lines and not curved lines?
Hello @CamiloMonsalve! Go to Settings (gear icon above Queue Prompt button) > Look for "Link Render Mode" and change it to "Straight". There is an option to hide the lines too.
@@CodeCraftersCorner Awesome Thank you very much!
@CamiloMonsalve My pleasure!
@Mindset2Work, I cannot find your comment to reply directly but I got an email notification. To close out of your current ComfyUI session, bring your terminal / Powershell / CMD window to the front and press and hold the control key (CTRL). While held down, press the "c" key on your keyboard. So the shortcut is CTRL + C. This will close ComfyUI server. Then to restart, you can press the UP arrow on your keyboard to get your last command back and press Enter. Hope you find this comment.
what are you using for your pipeline connecting your nodes together mine curve and i don't like it..
Hello, to make the connection straight lines, you can go to the setting (gear icon) in the ComfyUI menu and change the "Link Render Mode" to Straight.
very informative, great vid
Thank you, @MachineDelusions! Appreciate the positive feedback!
this clip is really good. thx a lot
How to add the INTEGER ?
Only like Width/ Height?
Hello, you have to use the INT field. To connect to the width and height of Empty Latent Image (example), convert the width/height of the node to inputs and connect them.
Muito obrigado !!! ajudou muito
Thank you, @PEDROMATOSFAST!
Your vidéo push me feather in programing my own nodes but i'm locked because of lack of information and learning, where can i learn more about ?
I have other one more video on ComfyUI custom nodes. Unfortunately, there is not a website or much documentation for ComfyUI.
Thanks!!
How much would it cost to hire you to create one or more custom nodes for ComfyUI?
Thank you for your interest! I appreciate your inquiry. Please reach out via email CodeCraftersCorner@gmail.com. I'll review and get back to you.
Can I order the development of a custom node from you for money?
Hello! Please feel free to reach out by email (listed in the description). However, I cannot guarantee that I will be able to take on the project. Thanks for your understanding!
I remember I made that mistake before. You are pronouncing "node" like a different word that has a bad meaning.
Hello @sinayagubi8805! I see what you meant. I checked the original raw recording. I did pronounce it as "node". When I applied noise reduction and voice processing, it distorted the audio slightly. Thanks for pointing this out.
"Noowde'