Want your text to "speak" with natural, lifelike voices that sound like real people? Microsoft Edge's built-in "Read Aloud" feature can do just that! It supports dozens of languages and multiple voice styles, and the best part—it's completely free.
The open-source project edge-tts, based on this feature, is also widely popular, and many free text-to-speech tools are developed using it. However, as user numbers grow, Microsoft has started rate-limiting voice synthesis requests. Now, even moderate usage can trigger 403 errors, making it impossible to continue generating speech.
How to Avoid or Reduce 403 Errors?
Since this is a Microsoft-provided API service, not an open-source project, local deployment isn't feasible. No matter what, speech synthesis must connect to Microsoft's servers.
Deploy to Cloudflare: This can reduce the frequency of 403 errors but won't eliminate them entirely.
- If you're interested, refer to this tutorial: https://pyvideotrans.com/edgettscf
Use Dynamic IP Proxies: Automatically switching IPs every few minutes can effectively prevent 403 errors. Stability depends on the quality of the dynamic IPs. If the dynamic IP reliability is 97%, then
edge-ttsavailability can also reach 97%.- This seems to be the best solution currently. Of course, high-quality dynamic IP proxy services usually require payment. Free proxies often have poor quality and cannot meet the requirements.
So, how do you configure dynamic IP proxies, and which services are worth recommending?
Dynamic IPs cannot guarantee 100% availability; actual availability may only be around 85%-95%.
Here, I'll use Proxy302, which I've personally used, as an example. It provides foreign residential IPs that switch approximately every 5 minutes, billed by data usage ($1.5/GB).
Below are the detailed steps for setup and usage:
1. Register an Account
Visit 302AI to register an account; this account and its balance are shared with Proxy302. The reason for recommending registration via 302AI is that its minimum top-up is $5, whereas Proxy302's minimum is $20. For initial testing, it's advisable to start with a smaller amount to minimize risk.
Open this link to register: https://gpt302.saaslink.net/teRK8Y Use your email to sign up and complete email verification.
Top up your balance: Follow the illustration below to top up, with a minimum of $5.

2. Log in to Proxy302.com
After topping up, log in to https://dash.proxy302.com/login using the same account credentials.
Once logged in, you'll see your balance.

3. Create a Dynamic IP Proxy Address
As shown above, click on Dynamic IP (Short-term) --> Pay by Traffic in the left navigation bar.
Then click Generate Universal Proxy --> Generate Universal Proxy, as shown below.

- After generation, you'll see the new proxy address under Existing Proxies --> Purchased Proxies. Click the help button next to the address, set the country for the proxy IP, and copy the proxy address.

- As shown below, select
United States (US)in the country dropdown, click to generate a randomSession, and copy the address at the very bottom.
Important: Always click the
helpbutton to copy the proxy address each time you need it.

4. Apply the Proxy Address to Video Translation Software
First, you must upgrade the video translation software to v3.50.
In the same directory as
sp.exefor thepyVideoTransvideo translation software (or in the directory wheresp.pyis located if using source code deployment), create a plain text file namededgetts.txt.Paste the proxy address copied in the previous step into the
edgetts.txtfile and save it, as shown below.

Now, you can try using edge-tts for speech synthesis.
Billed by data usage, roughly estimated at 3-5 hours of speech synthesis per 1 CNY (retries due to errors will increase costs; actual expenses may vary, so test it yourself for accuracy).
