{"id":49544138,"url":"https://github.com/xibn/http-openai-tts","last_synced_at":"2026-05-02T17:06:16.485Z","repository":{"id":233002412,"uuid":"782966150","full_name":"xibn/http-openai-tts","owner":"xibn","description":"An HTTP microservice using OpenAI to generate text-to-speech.","archived":false,"fork":false,"pushed_at":"2024-10-01T23:47:18.000Z","size":67,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-06T17:09:04.704Z","etag":null,"topics":["ai","go","golang","http","microservice","openai","text-to-speech","tts"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xibn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-06T14:58:39.000Z","updated_at":"2026-01-02T01:28:59.000Z","dependencies_parsed_at":"2024-04-12T22:22:56.886Z","dependency_job_id":"55d040ab-bc06-4f28-817c-5cd01fe4dc80","html_url":"https://github.com/xibn/http-openai-tts","commit_stats":null,"previous_names":["maximierung/http-openai-tts","maximatically/http-openai-tts","maxibue/http-openai-tts","xibn/http-openai-tts"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/xibn/http-openai-tts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xibn%2Fhttp-openai-tts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xibn%2Fhttp-openai-tts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xibn%2Fhttp-openai-tts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xibn%2Fhttp-openai-tts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xibn","download_url":"https://codeload.github.com/xibn/http-openai-tts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xibn%2Fhttp-openai-tts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32542230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","go","golang","http","microservice","openai","text-to-speech","tts"],"created_at":"2026-05-02T17:06:15.971Z","updated_at":"2026-05-02T17:06:16.469Z","avatar_url":"https://github.com/xibn.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# http-openai-tts\n\nAn HTTP microservice using OpenAI to generate TTS.\n\n##### *More documentation added soon!*\n\n## Caution\nRequests with the max input length can cost you between 3 and 5 cents of OpenAI credits. If\nconfig.json's \"needKey\" is turned off and/or your input length is not monitored bad actors could run up an expensive bill for you or use up all of your credits extremely fast.\n\n*When testing it took me not even 3 minutes (OpenAI only allows 50 RPM) to send enough requests (~135) to spend $5 of credits. That's about $90-100 if unsupervised for 1 hour.*\n\n## Models (Optional, Defaults to tts-1):\n- tts-1\n- tts-1-hd\n\n## Voices (Optional, Defaults to echo):\n- alloy\n- echo\n- fable\n- onyx\n- nova\n- shimmer\n\n## Response formats (Optional, Defaults to mp3):\n- mp3\n- opus\n- aac\n- flac\n- wav\n- pcm\n\n## Speed (Optional, Defaults to 1):\nSelect a value between 0.25 and 4.0.\n\n## Text:\nThe maximum text is 4096 characters.\n\n## Example requests:\n- `GET /tts?model=tts-1-hd\u0026voice=alloy\u0026format=mp3\u0026speed=1\u0026text=Hello%20World`\n- `GET /raw?model=tts-1\u0026voice=echo\u0026format=wav\u0026speed=1.3\u0026text=Foo%20Bar`\n\n*If \"allowHosting\" is set to false /tts automatically returns the /raw output.*\n\n## Error response format for /tts \u0026 /raw:\n```json\n{\n\t\"status\": \"Error description\",\n\t\"message\": \"Information about the response.\",\n\t\"error\": \"Provides either an actual go error, a premade error or an OpenAI API reponse.\"\n}\n```\n\n## Response for /tts:\n```json\n{\n\t\"status\": \"OK\",\n\t\"message\": \"Information about the response.\",\n\t\"link\": \"Contains a link to the hosted file.\"\n}\n```\n## Response for /raw:\nJust returns the audio file content.\n\n## Response of /ping:\n```json\n{\n\t\"status\": \"OK\",\n\t\"message\": \"Pong!\"\n}\n```\n## Admin Controls (adding \u0026 removing keys)\n- `POST /admin/add?name=Alvin\u0026key=cm8f4a250816`\n- `POST /admin/remove?name=Theodore`\n\n## Response for /admin/add:\n```json\n{\n\t\"status\": \"OK\",\n\t\"message\": \"Created the key Alvin successfully.\",\n\t\"key\": \"cm8f4a250816\"\n}\n```\n\n## Response for /admin/remove:\n```json\n{\n\t\"status\": \"OK\",\n\t\"message\": \"Removed the key Theodore successfully.\"\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxibn%2Fhttp-openai-tts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxibn%2Fhttp-openai-tts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxibn%2Fhttp-openai-tts/lists"}