You hint at it in one of your edits. I tried to duplicate LTspice’s Universal Opamp in this library:
These filter design simulations are one of the most practical use cases for simple models. I like starting with a near ideal opamp (Level 1 with high GBWP and AVOL), and then begin lowering parameters to practical levels to make sure nothing goes wacky. Eventually I’ll plug in the manufacturer’s own model, if it’s available, to see how far off from ideal the frequency response is and tweak values as necessary.
As for scripting, I’m not 100% sure what you’re asking here. Sounds like you have a tool that can generate a filter schematic from some set of specifications and/or transfer function. And you want to be able to generate a KiCad schematic instead (or in addition to) a simple picture schematic. But you also want to be able to have it pre-set up for a simulation so that if the end-user simply opens the schematic and hits RUN it’ll just run and spit out the frequency response without having to fiddle around?
If so, all I think you need to do beyond figuring out how to generate the KiCad schematic is set up the simulation to use a simple, rather ideal model such as the Level 1 for all the Sallen-Key opamps. You can either include the full LIB file, or maybe better you can just copy/paste the .subckt for it directly in the schematic output as Text Notes so it’ll be easily bound inside your output file. You would also use Text Notes to put a default simulation command, something like .ac dec 1k 100 100meg or similar. See Section 15.3.1 of the ngspice manual for more info on that.