An Azure service to easily conduct machine translation with a simple REST API call.
Good testing, and I think two separate things are getting mixed together here, which changes the conclusion.
- The 401001 you saw from curl and the portal demo isn't the quota error. It means the key or region header was wrong or missing. When an F0 resource actually runs out, Translator returns 403001, "the subscription has exceeded its free quota". So the direct calls weren't proving enforcement, they were failing for a different reason, which is why V3 kept working with its correctly configured connection.
- The billing worry can be set aside. F0 has no overage billing at all. It's a hard limit, and once metering catches up, requests are rejected rather than charged. Because metering lags a bit, a small overshoot like your 2.57M can slip through, but it's never back-billed.
- For your failover, key off the real signal. In the flow, add a parallel branch or a following action set to run after the V3 action fails, check the error output for 403001, and call the S1 resource there.
- Even better, switch before the wall. Set an Azure Monitor metric alert on "Characters Translated" for the F0 resource at around 1.9M, and flip a variable or connection when it fires.
- If the V3 connector still translates after a confirmed 403001 from direct calls, then it's worth a report with the flow run IDs. Until then, this looks like normal metering delay plus a test that didn't measure what it seemed to.
If this helped, please click Accept Answer so others building free tier failover can find it.
References: https://learn.microsoft.com/en-us/azure/ai-services/translator/service-limits https://learn.microsoft.com/en-us/azure/ai-services/translator/reference/v3-0-reference