Gracias Lell por reportar el error.
"""
Seleccionar un objeto que tenga un nodo cycles y correr.
"""
import bpy
import random
ACTOBJ=bpy.context.active_object
ACTMAT=ACTOBJ.material_slots[bpy.context.object.active_material_index].material
NODE=ACTMAT.node_tree.nodes.new(type='ShaderNodeValToRGB')
COLORS=30
CHUNK=1/COLORS
I=0
for ELEMENT in range(COLORS):
NODE.color_ramp.interpolation="CONSTANT"
ELEMENTO=NODE.color_ramp.elements.new(I)
ELEMENTO.color=(random.uniform(0,1),random.uniform(0,1),random.uniform(0,1),1)
I+=CHUNK
---------------------------------------
Si seleccionan un objeto que tenga en el slot de materiales activos un material de cycles, corriendo el script se generará automáticamente un nodo de ramp con muchos colores aleatoriamente.
Solo conecten este material a un emission a la salida y a un random object a la entrada.
Para hacer este proceso no destructivo yo uso el Oscurart Tools, y saco un pass.
Si dos colores quedan overlapeados pueden generan otro nodo para reemplazar.