Few things beats a cheap, powerful Hetzner server, IMO. I host a LOT of stuff on my single €40/month box. 20 core, 64 gb ram, 1 TB ssd, unmetered network. They have GPU-backed servers too, obviously theyre more expensive, and not ideal for your usecase maybe. Modal is a good serverless alternative if you want to scale to zero and be able to handle spiky loads.
Sounds like that might work for OP while they're using APIs, but if they decide to run models locally can you get GPU equipped servers from Hetzner? Edit: Not sure if I misread, or if you edited, but I see you addressed this, and yes in that case sounds like this would be a good option if that kind of price range is ok.
But you really have to do the calculus, as you buy their cheapest servers for at least a month at a time. And with fluctuating loads, a serverless approach might actually be better.
See also: replicate or runpod. But I like modal best; their SDK is pretty comprehensive and has a sane developer experience, replicate is too constrained and runpod instances were unavailable for me half the time...