By gradient do you mean a change in font weight (not color)?
Variable font weights can be scripted. This example changes the weight and width axes of a line of selected text set in Acumin Variable Concept:
app.selection[0].appliedFont = "Acumin Variable Concept Regular"
var selectedText = app.selection[0].characters;
var t = selectedText[0];
var myDesignAxesName = t.appliedFont.designAxesName;
var myDesignAxesRange = t.appliedFont.designAxesRange;
var myDesignAxesValues = t.appliedFont.designAxesValues;
var wrange = myDesignAxesRange[0];
var w0 = wrange[0];
var w1 = wrange[1];
var wstep = (w1-w0)/selectedText.length;
var crange = myDesignAxesRange[1];
var c0 = crange[0];
var c1 = crange[1];
var cstep = (c1-c0)/selectedText.length;
for (s=0; s<selectedText.length; s++){
myDesignAxesValues[0]=(w0+wstep*s);
myDesignAxesValues[1]=(c0+cstep*s);
selectedText[s].designAxes=myDesignAxesValues;
}
A line of text set with Acumin Variable:

