Is there a way to scale up a collection of objects individually in random intervals
your collection should have the name &quot;Automatic_frames&quot; (or you just change the name in this script to your collection's name).
It does not check, whether you already have keyframes...so if you ran it twice, each object will scale two times and might overlap. Of course you can change the frame_from range to your needs.
you can do it like this:
import bpy
import random



for eachObject in bpy.data.collections['Automatic_frames'].objects:
    
    frame_from = random.randint(100, 400)
    frame_to = frame_from + 40
    
    eachObject.scale = (0,0,0) 
    eachObject.keyframe_insert(data_path = 'scale', frame = frame_from)    
         
    eachObject.scale = (1,1,1)
    eachObject.keyframe_insert(data_path = 'scale', frame = frame_to) 
 

possible result: