{"data":{"slug":"travisvn-openai-edge-tts","name":"openai-edge-tts","tagline":"Free, high-quality text-to-speech API endpoint to replace OpenAI, Azure, or ElevenLabs","github_url":"https://github.com/travisvn/openai-edge-tts","owner":"travisvn","repo":"openai-edge-tts","owner_avatar_url":"https://avatars.githubusercontent.com/u/2686415?v=4","primary_language":"Python","stars":1985,"forks":301,"topics":["ai","azure","chatgpt","claude","edge-tts","elevenlabs","gpt","llm","llm-webui","llms","local-llm","ollama","ollama-webui","open-webui","openai","self-hosted","speech","text-to-speech","tts"],"archived":false,"github_pushed_at":"2025-07-01T23:56:27+00:00","maintenance_label":"Dormant","url":"https://www.graphcanon.com/tools/travisvn-openai-edge-tts","markdown_url":"https://www.graphcanon.com/tools/travisvn-openai-edge-tts.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/travisvn-openai-edge-tts","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=travisvn-openai-edge-tts","description":"Free, high-quality text-to-speech API endpoint to replace OpenAI, Azure, or ElevenLabs","homepage_url":"https://tts.travisvn.com","license":"GPL-3.0","open_issues":11,"watchers":13,"ai_summary":null,"readme_excerpt":"## ⚡️ Quick start\n\nThe simplest way to get started without having to configure anything is to run the command below\n\n```bash\ndocker run -d -p 5050:5050 travisvn/openai-edge-tts:latest\n```\n\nThis will run the service at port 5050 with all the default configs\n\n_(Docker required, obviously)_\n\n---\n\n### Installation\n\n1. **Clone the Repository**:\n\n```bash\ngit clone https://github.com/travisvn/openai-edge-tts.git\ncd openai-edge-tts\n```\n\n2. **Environment Variables**: Create a `.env` file in the root directory with the following variables:\n\n```\nAPI_KEY=your_api_key_here\nPORT=5050\n\nDEFAULT_VOICE=en-US-AvaNeural\nDEFAULT_RESPONSE_FORMAT=mp3\nDEFAULT_SPEED=1.0\n\nDEFAULT_LANGUAGE=en-US\n\nREQUIRE_API_KEY=True\nREMOVE_FILTER=False\nEXPAND_API=True\nDETAILED_ERROR_LOGGING=True\n```\n\nOr, copy the default `.env.example` with the following:\n\n```bash\ncp .env.example .env\n```\n\n3. **Run with Docker Compose** (recommended):\n\n```bash\ndocker compose up --build\n```\n\nRun with `-d` to run docker compose in \"detached mode\", meaning it will run in the background and free up your terminal.\n\n```bash\ndocker compose up -d\n```\n\n<details>\n<summary>\n\n#### Building Locally with FFmpeg using Docker Compose\n\n</summary>\n\nBy default, `docker compose up --build` creates a minimal image _without_ `ffmpeg`. If you're building locally (after cloning this repository) and need `ffmpeg` for audio format conversions (beyond MP3), you can include it in the build.\n\nThis is controlled by the `INSTALL_FFMPEG_ARG` build argument. Set this environment variable to `true` in one of these ways:\n\n1.  **Prefixing the command:**\n    ```bash\n    INSTALL_FFMPEG_ARG=true docker compose up --build\n    ```\n2.  **Adding to your `.env` file:**\n    Add this line to the `.env` file in the project root:\n    ```env\n    INSTALL_FFMPEG_ARG=true\n    ```\n    Then, run `docker compose up --build`.\n3.  **Exporting in your shell environment:**\n    Add `export INSTALL_FFMPEG_ARG=true` to your shell configuration (e.g., `~/.zshrc`, `~/.bashrc`) and reload your shell. Then `docker compose up --build` will use it.\n\nThis is for local builds. For pre-built Docker Hub images, add the `latest-ffmpeg` tag to the version\n\n```bash\ndocker run -d -p 5050:5050 -e API_KEY=your_api_key_here -e PORT=5050 travisvn/openai-edge-tts:latest-ffmpeg\n```\n\n---\n\n</details>\n\nAlternatively, **run directly with Docker**:\n\n```bash\ndocker build -t openai-edge-tts .\ndocker run -p 5050:5050 --env-file .env openai-edge-tts\n```\n\nTo run the container in the background, add `-d` after the `docker run` command:\n\n```bash\ndocker run -d -p 5050:5050 --env-file .env openai-edge-tts\n```\n\n4. **Access the API**: Your server will be accessible at `http://localhost:5050`.\n\n<details>\n<summary>\n\n---\n\n### 3. Install Dependencies\n\nUse `pip` to install the required packages listed in `requirements.txt`:\n\n```bash\npip install -r requirements.txt\n```\n\n---\n\n### License\n\nThis project is licensed under GNU General Public License v3.0 (GPL-3.0), and the acceptable use-case is intended to be personal use. For enterprise or non-personal use of `openai-edge-tts`, contact me at tts@travisvn.com\n\n---","github_created_at":"2024-10-09T23:31:11+00:00","created_at":"2026-07-11T12:09:26.970363+00:00","updated_at":"2026-07-11T12:09:34.355571+00:00","categories":[{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"}],"tags":[{"slug":"llm","name":"llm"},{"slug":"ai","name":"ai"},{"slug":"chatgpt","name":"chatgpt"},{"slug":"gpt","name":"gpt"},{"slug":"claude","name":"claude"},{"slug":"azure","name":"azure"},{"slug":"edge-tts","name":"edge-tts"},{"slug":"elevenlabs","name":"elevenlabs"}],"trust":{"provenance":{"is_fork":false,"github_id":870374636,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T12:09:27.579Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":374,"last_release_at":"2024-12-28T23:01:19Z"},"security_summary":{"status":"ok","scanner":"osv@v1","low_count":0,"high_count":0,"last_scan_at":"2026-07-11T12:09:29.573Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T12:09:29.195Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-07-11T12:09:29.195Z","managed_saas":false},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-07-11T12:09:29.195Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-07-11T12:09:29.195Z"},"license_spdx":{"value":"GPL-3.0","source":"github.license","observed_at":"2026-07-11T12:09:29.195Z"}}}}