Python for Nuke 101

Learn how to automate your workflow with the basics of Python, and level up your Compositing skillset.

$79.99 USD
When buying this course, you will be redirected to Gumroad to process secure payment via Credit Card or PayPal.
Please reach out to should you not receive the course download within 15 minutes.

Who this course is for.

As Compositors, we're at the end of the VFX pipeline. Other departments up-stream get notes, schedules push, and unforeseen circumstances always prevent a shot from smoothly flowing through the pipeline.

The reality of this means us Compositors often get the least amount of time to creatively finesse our shots, so finding an efficient way to work should be top priority.

Luckily for us, Nuke is built with Python at its core and offers a robust amount of programmability. This brings unthinkable benefits to Compositors who are conscious of not wasting time on menial tasks, but instead are 
willing to harness the power of simple customization & automation.

Learn what you need to know, without the fluff.

Humans learn their first native language because they're surrounded by people speaking it from birth. We don't learn the basics word-by-word, we understand the context of what is being communicated, and why it's communicated that way. So why would we learn a programming language any differently?

This course teaches you the basics of Python within the context of Nuke. You wont waste hours learning the theoretical "fundamentals" of the programming language. Instead, you will pick them up naturally, as you learn how to create useful Python scripts to speed up your workflow, and tools to automate tedious tasks!

What this course includes.


10 Lessons of Python Tutorials

Delivered as project-based video tutorials, with information-dense written course notes and annotated timecodes to help you follow along, or easily re-watch what you learn again at a later date.


Finished Python scripts

For you to use and compare with your code at the end of every lesson. It's easy to learn when you are able to deconstruct the finished product!


Cheat Sheets & Code Snippets

Easy-access code snippets with explanations to reference whenever you need a refresher. Creating your own Python Scripts will be fast & easy!


Lesson Challenges

Take the challenge at the end of each lesson and put your newfound knowledge into practice.


What you will learn.

  • The difference between and, and what they do.
  • The importance of version controlling your code with Github.
  • How & where to look for help when you get stuck.
  • Setting default knob values for any node.
  • Create custom hotkeys to create nodes & run Python scripts.
  • Create your own menus, to hold all of the new tools that you'll create in this course!
  • Start out right and learn some good habits for naming conventions and keeping your code clean, efficient & organized.
  • How to create and connect nodes programmatically.
  • How to get and set node values with Python.
  • How variables, loops and dictionaries work in real-world projects.
  • How to define and run functions.
  • How to navigate & work with lists & strings.
  • How to create Python Panels and accept data from the user, to later use in your Python script.
  • The key differences between writing Python Scripts, and using Python Buttons on Gizmos.
  • Creating and looping through lists & dictionaries, instead of copy/pasting chunks of code to do similar things.
  • The importance of error checking.

          Just to name a few...

What you will create.

  • A preset nuke environment, customized to fit your needs, that you can take with you from studio to studio.
  • Default Nuke nodes that automatically work the way you like to use them.
  • Nuke nodes with custom properties, presets & features.
  • Custom menus in Nuke to hold all your new tools for easy access.
  • Tools to speed up the process of keeping your Nuke script tidy & human-readable.
  • A node labeller tool.
  • Shuffle Node presets with custom hotkeys.
  • A Python Script that searches your Nuke Script for specific nodes.
  • An easy way to create a list of the current elements & versions you're using in your Nuke script for upstream departments.
  • A shortcut to toggle between "opposite" values on multiple nodes.
  • A tool to globally set motionblur values on relevant nodes.
  • A global Node Disabler tool.

          ...and much more!

Your Instructor.

Ben McEwan is a professional Compositing Supervisor & VFX Mentor. 

He has created a career focusing on Visual Effects for Feature Film. Since 2011, he has worked with many top-tier studios such as Industrial Light & Magic, DNEG, Method, and Image Engine just to name a few. His experience has covered a variety of roles from being a senior artist and leading a comp team, to supervising and developing an entire compositing department.

Ben has contributed work to various feature films, including the Academy Award-winning Gravity, Marvel's Captain America: Civil War and Doctor Strange, through to projects such as Neill Blomkamp's Chappie and OATS Studios shorts. Click here to view his full list of film credits.

Including working on the latest Hollywood blockbusters, Ben has mentored students privately, at Vancouver Film School, and currently teaches at Langara Centre for Entertainment Arts, helping the next generation of VFX artists be their best. He also helped Compositors level-up via Ben's Comp Newsletter, a free bi-weekly newsletter.


What past students are saying.

Josh Barham  ||  Framestore

I had not properly written a single line of code before this course and now I have advanced so much in such a short space of time. I've done quite a few courses and tutorials from a variety of places and this course has been hands down the best, most useful, most relevant, most prepared and thought through course I've done.

This course has really made my skillset go above and beyond what is expected of a roto/paint artist and I'm even contributing to helping make new tools for the department, and I'm just generally super motivated to continue learning Python.


Attila Gasparetz  ||  Goodbye Kansas

If you want to start learning python to improve your comping skills start with Ben`s course! His course helped me a great deal making very useful practical things.

When I work I always keep his cheat sheets in reach. It makes it much easier to learn more about python now that I know what I can achieve by applying it at work.

Highly recommend it to any comper colleagues who wants to be more efficient!


Rob Holder  ||  Disney

I’ve tried various styles of adding python code to nuke in the last 6 months, and I have to say your approach is my favourite.

During the weeks of the course, I’ve made about five tools that I use every day, and because I’ve managed to organize them sensibly using your philosophy and style, I can easily share them with colleagues.

I've had hours of fun following your course!


Marlon Engel  ||  Encore

I spent a few years trying to learn Python to apply in Nuke, but many of the programs out there just show you Python in general. I just needed to learn the correct syntax and how to explore Nuke's Python library and modules.

It didn't take me long to buy the course. It's a very small investment for something that would widen my knowledge in coding Python for Nuke. Ben put a lot of effort into getting this together -- it was nice to support all this effort, and it totally paid off. I can code by myself now, and I learned how to look for more information and push my coding in Nuke forward too.


Tom Channell  ||  SlateVFX

I loved this course. I knew very little python before I started the course but Python for Nuke 101 has given me a huge amount of confidence. More importantly, its given me important skills and ways I can practically apply them in Nuke for everyday use. I couldn't recommend this course more.

Chris La  ||  Method

What sets Ben McEwan's course apart from other courses are the resources provided along with the video series. The transcribed notes with timestamps provide a quick and handy reference for that one thing you're looking for. A great introduction to python for Nuke!


Are there any previews for the course?

Actually, yes! Foundry and I recently teamed up to create a webinar titled "How to improve your Nuke workflow with Python scripting", which you can watch here (or just the pre-recorded part without Q&A here). It provides a brief look at how Python can benefit your daily work inside of Nuke, and is a nice overview of the first actionable steps you can take, which this course naturally expands on.

How and when will the course be delivered?

After payment has been processed, you will immediately receive an email containing a download link for the entire course, including all video tutorials, notes, course material and example project files.

If you don't receive the download link after purchasing, please reach out to and I will rectify the situation ASAP.

I am learning with Python 3, will I have any issues following along?

Thankfully, 99% of the course will be the same no matter if you use Python 2 (Nuke 12) or Python 3 (Nuke 13+). There is only one small difference with the syntax of how we "print", or return the results of our code. To resolve this, I've included a PDF in the course download explaining what you'll need to keep in mind as you begin the course.

How long will it take to complete the course?

This course contains 10 lessons in the form of video tutorials, with a total runtime of 4 hours, 10 minutes & 44 seconds. You can certainly binge-watch the tutorials over the course of an afternoon, but I would highly recommend taking one lesson per week to maximize your knowledge retention.

Each video tutorial is designed to be stopped and started so you can code alongside me, and fully explore any curiosities about what you're learning at your own pace.

Each lesson ends with a weekly challenge, where you can put your new knowledge to the test. Allowing adequate time to figure this out for yourself vs. simply jumping ahead and looking at the solutions is crucial to how much you take away from this course!

How long will I have access to the course?

As it's a digital product, you will have unlimited access to take this course at your own leisure, and re-take it at any time you wish.

Are there any discounts for students?

We should all be students for life, therefore the price is set at an already low price for everyone!

Can I pay via PayPal?

Absolutely! At checkout, just click the PayPal logo and you will be redirected to where you want to go.

If you encounter any troubles, please don't hesitate to send me an email at and we can figure out how to arrange an alternative form of payment.

Do you accept refunds if I'm unhappy with the course?

A lot of time and effort went into creating and refining the content of this course, and I'm sure you'll love it. Unfortunately, I can't accept refunds on digital download products, as there is no way to return it. Although if the course doesn't meet your expectations, please email and let me know why. I'll do my best to come to a resolution with you.
If you have other inquiries or require assistance to receive this course, please don't hesitate to
reach out via email to, and I'd be happy to assist you!