Skip to content

I used to rely on edge-tts for voiceovers, and it worked flawlessly. Unfortunately, since late last year, it's been frequently throwing 403 errors. Initially, this was only happening in China, and using a foreign IP could temporarily resolve the issue. However, now the error occurs globally. It seems even a large company like Microsoft can't handle the rampant "resource exploitation."

If you still want to use edge-tts, proceed with caution and limit your usage, especially avoiding frequent operations on the same IP. Otherwise, Microsoft's server will directly return a 403 error. To make it easier to understand, the software will display a "rate limit error." Here are two solutions:

  • Try deploying the API to Cloudflare, leveraging its dynamic nature to reduce the occurrence of 403 errors. Refer to this document for specific instructions: https://pvt9.com/edgettscf
  • Alternatively, continue using it locally, but with a dynamic proxy, meaning you'll need to switch IPs with each request. Check out this article for details: https://pvt9.com/edgetts-proxy

Using Local Voiceover Models

Besides edge-tts, you can also use some open-source local voiceover models, such as GPT-SoVITS, ChatTTS-ui, Fish-TTS, F5-TTS, CosyVoice, Clone-voice, KokoroTTS, and more. These are all free and can be used by deploying them on your own computer. However, this requires some extra time for configuration and demands certain computer hardware and technical skills.

If you want to give it a try, you can refer to this tutorial: https://pvt9.com/gptsovits. The left sidebar of the page also provides more information.

Using Online Voiceover APIs as Alternatives

If your hardware isn't powerful enough or you don't want to bother with local deployment, you can choose online voiceover APIs, such as OpenAI TTS, Azure TTS, ByteDance Volcano Engine TTS, and others.

However, directly using OpenAI TTS or Azure TTS in China requires a VPN, the free quotas are very limited, and paying requires a foreign phone number and credit card, which can be quite troublesome. It's recommended to use a directly accessible OpenAI TTS relay service or an Azure TTS relay service in China for more convenience.

If you use the official OpenAI TTS, simply open Menu -- TTS Settings -- OpenAI TTS API in the software and fill in your SK in the SK text box, without needing to configure anything else. But don't forget that you need a VPN to use it in China.


The following section provides step-by-step instructions on how to use third-party relayed OpenAI TTS voiceovers, Azure TTS voiceovers, and ByteDance voice synthesis.

Using 302.AI or Other Third-Party OpenAI TTS Relay APIs

Registration and login address (get $1 credit): https://share.302.ai/pyvideo

The operation steps are very simple:

  1. In the software's Menu -- TTS Settings -- OpenAI TTS API, fill in the API URL as https://api.302.ai/v1. If you are using another company's relay API, fill in the address they provided, usually ending with /v1.
  2. In the SK text box, fill in the API Key you created on 302.AI. If it is another third-party service, fill in the Key they provided.

Test it. If the voiceover audio can be played automatically, it means the setting is successful. Then select OpenAI TTS in the voiceover channel on the main interface of the software to use it. Supported voices include: alloy, ash, coral, echo, fable, onyx, nova, sage, shimmer.

Using 302.AI Relayed Azure TTS

Registration and login address (get $1 credit): https://share.302.ai/pyvideo

OpenAI TTS only has 9 voices, and the Chinese pronunciation is a bit "lispy." If you don't think it's good enough, you can try Azure TTS. This is Microsoft's product, with more voices and better effects than edge-tts. However, using it directly in China requires a foreign credit card. If it's inconvenient, you can use the relay API provided by 302.AI.

Operation method:

  1. Create a Key on 302.AI.
  2. Open the software's Menu -- Translation Settings -- 302.AI and fill in the Key. Note that this time, you need to fill it in the "302.AI" option under the "Translation Settings" menu. After filling it in, you can use all the voiceover roles of Azure TTS. Moreover, 302.AI also relays ByteDance voice synthesis, so ByteDance's voices can also be used directly.

Using ByteDance Voice Synthesis Separately

There is already a detailed tutorial for ByteDance voice synthesis, you can check it out: https://pvt9.com/volcenginetts.

However, please note that only the general male and female voices are available by default. If you want other voices, you need to purchase them separately on the ByteDance official website, which is charged monthly. If you only use it occasionally, it is not cost-effective. It is recommended to use 302.AI mentioned above, which can directly use various ByteDance voices, which is more convenient.