Maybe you could try to use a ShaderMaterial attached to a sprite or a plane, render it with an adapted viewport, and use get_screen_capture() to get an image of the rendering result. To me, that’s the way to go.
Well, I had hoped for something a tad easier.
If nothing else comes up, I’ll accept it as the answer.