Tts.speak working with Google Hub but not Mini

I have 3 Google Nest Hubs and 3 Google Nest Minis. Up until recently, tts.speak was working fine on all, but now works on all 3 Hubs and fails on all 3 Minis. In each case with the Minis it sounds the alert, but then no voice.

After the call, on the Hubs the device activity shows Idle > Buffering > Playing > Idle, but on the Minis it just shows “Changed to Idle triggered by action Text-to-speech (TTS): Speak” without the rest.

The only significant change in the period was upgrading HA from 2025.12.01 (I think) to 2026.02.01. I’m not sure exactly when because I only have a couple of automations that speak unprompted.

Obviously I’ve searched but most refer to the external URL, which can’t be the issue because it works for some Google devices but not others. I’ve done the usual restart the device and HA to no avail. Anybody experiencing similar or have ideas?

It seems I was mistaken. I found this in the HA log:

[homeassistant.components.cast.media_player] Failed to cast media https://my-internal-domain/api/tts_proxy/bAfSDRDFebPP1TyI5Cxzlg.mp3 from internal_url (https://my-internal-domain). Please make sure the URL is: Reachable from the cast device and either a publicly resolvable hostname or an IP address

Changing the internal URL to the actual IP address worked. Strange that this applies only to the Nest Minis and not the Nest Hubs. It also does not work with the mDNS name (homeassistant.local:8123).

Thinking about it further I guess it means the Minis are hardcoded to use Google’s DNS, whereas the Hubs are using that supplied by DHCP (which is my pihole). Annoying.