{"id":20797000,"url":"https://github.com/sabber-slt/youtube-subtitle-generator","last_synced_at":"2025-07-20T07:35:14.324Z","repository":{"id":173999861,"uuid":"651622176","full_name":"sabber-slt/youtube-subtitle-generator","owner":"sabber-slt","description":"Express.js rest api that generates Persian subtitles for YouTube videos.","archived":false,"fork":false,"pushed_at":"2023-06-21T20:32:39.000Z","size":24821,"stargazers_count":109,"open_issues_count":1,"forks_count":16,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-06T18:50:03.546Z","etag":null,"topics":["expressjs","nodejs","translate","typescript","youtube"],"latest_commit_sha":null,"homepage":"https://sabber.dev","language":"TypeScript","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/sabber-slt.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,"zenodo":null}},"created_at":"2023-06-09T16:51:00.000Z","updated_at":"2025-04-19T12:07:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"ae33a4f0-49af-4b81-9154-df1ce74ff6f7","html_url":"https://github.com/sabber-slt/youtube-subtitle-generator","commit_stats":null,"previous_names":["sabber-slt/youtube-subtitle-generator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sabber-slt/youtube-subtitle-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabber-slt%2Fyoutube-subtitle-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabber-slt%2Fyoutube-subtitle-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabber-slt%2Fyoutube-subtitle-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabber-slt%2Fyoutube-subtitle-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sabber-slt","download_url":"https://codeload.github.com/sabber-slt/youtube-subtitle-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabber-slt%2Fyoutube-subtitle-generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266086299,"owners_count":23874488,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["expressjs","nodejs","translate","typescript","youtube"],"created_at":"2024-11-17T16:31:54.483Z","updated_at":"2025-07-20T07:35:14.299Z","avatar_url":"https://github.com/sabber-slt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Express.js rest api that generates subtitles, download video and audio seprately\n\nDue to the importance of using YouTube content for learning different subjects and the lack of Persian subtitles for some videos or the poor quality of these subtitles, I have decided to create a personal server for subtitle creation using available libraries and APIs.\n\nThe workflow is as follows: when the text is entered into the server, it is translated once using Google Translate, and when the result is ready, the Persian text is rewritten once more using ChatGPT and ParaMent.\n\nIn this repository, I have used the Google API due to the open source format and ease of use for developers for YouTube subtitle. However, you can improve the translation quality by purchasing reputable services and replacing the API key with Google.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./demo.png\" width=\"900\"/\u003e\n\u003c/p\u003e\n\n### Api Endpoints\n\n- /subtitles =\u003e generate persian subtitle\n- /video720 =\u003e download video 720p\n- /video1080 =\u003e download video 1080\n- /audio =\u003e download audio separately\n- /subtitles/:id =\u003e download subtitle\n\n## 🔮 Usage\n\n1. Make sure you have installed `node` already.\n\n2. Simply `git clone` or download this repo, `cd` into the project folder.\n\n3. Get your telegram token from the BOTFATHER. [Telegram token](https://telegram.me/BotFather)\n\n4. Put your telegram token in `env.local` and rename it to `.env`\n\n5. Install all modules\n\n```sh\nyarn\n```\n\n6. run developer server\n\n```sh\nyarn dev\n```\n\n## 💌 Resources\n\n- [Telegram token](https://telegram.me/BotFather).\n- [Deepl](https://www.npmjs.com/package/deepl-node).\n- [Youtube dl](https://www.npmjs.com/package/youtube-dl-exec).\n- [Express.js](https://github.com/expressjs/express).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabber-slt%2Fyoutube-subtitle-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsabber-slt%2Fyoutube-subtitle-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabber-slt%2Fyoutube-subtitle-generator/lists"}