Atom shows off what you can do with custom nodes in the Blender 2.7 release with a focus on the Cycles Render Engine. Previous versions of Blender had Cycles with a locked down API, making it harder for the average person to fiddle around with creating custom features for Cycles. With the release of 2.7 however, you can customize Blender’s original node template to create a completely functioning PyNode that will allow you to connect any float value in the Cycles Render Engine Node Tree.
This is a short video that shows how to modify the custom node template that ships with Blender into a fully functioning pynodeAtom
By running some python code, Blender will make a float value node in the Cycles Node Tree. This can then be linked to single attribute connections offering a great way to override aspects of the shader tree values.
The interesting part is that you can have the custom node work for you. By adding the custom float value node, you are still able to work with the GPU for rendering. So as Atom notes, if the custom node imported and used an image, this would offer much more flexibility than running a script in Cycles.
Atom walks through how he altered the custom template to create the PyNode for Cycles, and also provides a couple of practical examples for using a custom node in Cycles. Atom also posted the source code for the node in the Blender Artists Forum. You can check out the thread and find a link for download here. Cycles Custom Float Node?