mesh array modifier with simple deform taper and curve modifier
You could control the instance's radius with the curve's vertices radius, AltS, or N panel, but it's still not exactly the result you're looking for:



Actually you could have a much more accurate result with a bezier curve which you'd give a bevel and a taper object: