A powerful AI voice processing platform that integrates Text-to-Speech (TTS) functionality. Based on Microsoft Edge TTS, it supports dozens of voice options, providing users with a complete voice processing solution.
Live Demo: https://tts.pptboard.com
- 🗣️ Text-to-Speech (TTS) - Powered by Microsoft Edge TTS, supporting 20+ Chinese voices and dozens of foreign languages.
- 🌍 Multi-language Support - Fully supports 16 UI languages.
- ⚡ Instant Generation - Generates high-quality audio files instantly.
- 🆓 Completely Free - No registration required, no usage limits.
- 📱 Responsive Design - Perfectly adapts to desktop and mobile devices, with full dark mode support.
- 🎛️ Rich Parameters - Adjust speech rate, pitch, and voice styles easily.
- 📥 Downloadable Audio - Generated audio can be directly downloaded in MP3 format.
- 🔗 API Compatibility - Fully compatible with the OpenAI TTS API format.
You can quickly deploy the frontend UI of this project using the buttons below:
Thanks to Nuxt 3's zero-config capabilities, you can simply click the Vercel button above to deploy. Vercel will automatically detect and build the Nuxt frontend as well as the Serverless API.
The repository includes a wrangler.toml configuration file. Click the Cloudflare button above to deploy the frontend globally via Cloudflare Pages.
- Node.js (v18+)
- pnpm (v8+)
# Clone the repository
git clone https://github.com/iss-tools/edge-tts-demo.git
cd edge-tts-demo
# Install dependencies
pnpm install
# Start the development server (Nuxt 3 Full-stack)
pnpm dev- Web UI & API:
http://localhost:3000
The built-in Nitro server provides a fully OpenAI-compatible Text-to-Speech endpoint at /v1/audio/speech.
# cURL Example
curl -X POST "http://localhost:3000/v1/audio/speech" \
-H "Content-Type: application/json" \
-d '{
"input": "Hello, this is a test",
"voice": "en-US-AriaNeural",
"speed": 1.0,
"pitch": "0"
}' \
--output speech.mp3This project uses Husky, commitlint, and lint-staged to enforce code quality and standard commit messages. Your commit messages must follow the Conventional Commits format.
Supported prefixes include:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools and libraries such as documentation generation
Example: git commit -m "feat: add user login"
Note: ESLint will automatically format your code during the pre-commit phase. Ensure your code passes all linting rules.
Issues and Pull Requests are always welcome!
MIT License