IIRC this is almost exactly the use case for OpenRouter, down to provider fallback https://openrouter.ai/docs/guides/best-practices/uptime-opti...