{"id":24774361,"url":"https://github.com/FlameFlag/WhisperAPI","last_synced_at":"2025-10-11T23:30:43.947Z","repository":{"id":160524990,"uuid":"601587905","full_name":"FlameFlag/WhisperAPI","owner":"FlameFlag","description":"WhisperAPI is a fast and reliable API that transcribes video and audio files into text with support for all models and languages. It offers time-stamped results and translation to English.","archived":false,"fork":false,"pushed_at":"2024-10-20T05:47:51.000Z","size":251,"stargazers_count":18,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-26T09:59:48.891Z","etag":null,"topics":["api","api-rest","audio","audio-processing","transcription","video","video-processing","whisper-ai","whisper-cpp"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FlameFlag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-02-14T11:44:42.000Z","updated_at":"2025-08-07T12:28:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce81f9df-7c8b-4785-a9a1-22ed184c9f02","html_url":"https://github.com/FlameFlag/WhisperAPI","commit_stats":null,"previous_names":["flameflag/whisperapi"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/FlameFlag/WhisperAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlameFlag%2FWhisperAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlameFlag%2FWhisperAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlameFlag%2FWhisperAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlameFlag%2FWhisperAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FlameFlag","download_url":"https://codeload.github.com/FlameFlag/WhisperAPI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlameFlag%2FWhisperAPI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009392,"owners_count":26084580,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api","api-rest","audio","audio-processing","transcription","video","video-processing","whisper-ai","whisper-cpp"],"created_at":"2025-01-29T05:48:43.297Z","updated_at":"2025-10-11T23:30:43.678Z","avatar_url":"https://github.com/FlameFlag.png","language":"C#","readme":"# WhisperAPI\n\n[![GitHub license](https://img.shields.io/github/license/DontEatOreo/WhisperAPI)](https://github.com/DontEatOreo/WhisperAPI/blob/master/LICENSE.txt)\n[![GitHub release](https://img.shields.io/github/release/DontEatOreo/WhisperAPI)](https://github.com/DontEatOreo/WhisperAPI/releases)\n[![GitHub issues](https://img.shields.io/github/issues/DontEatOreo/WhisperAPI)](https://github.com/DontEatOreo/WhisperAPI/issues)\n\nWhisperAPI is a wrapper for [Whisper.cpp](https://github.com/ggerganov/whisper.cpp) a C++ implementation of the original OpenAI Whisper that greatly enhances its performance and speed.\n\n## AppSettings\n\nYou will need to edit the `appsettings.json` file to contain a full path to where you want to store models and audio files.\n\n```json\n{\n  \"WhisperSettings\": {\n    \"Folder\": \"/path/to/whisper/folder\"\n  }\n}\n```\n\nIn the `Folder` property you will need to provide a full path to where you want to store models and audio files.\n\n## Note\n\nTranslation increase the processing time, sometimes 2x the time! So avoid translation for long videos or audios.\n\n## Features\n\n- Transcribe video and audio files into text\n- Supports all models\n- Easy to use and integrate into your own projects\n- Fast and reliable transcription results\n- Supports every language by OpenAI Whisper\n- Ability to translate transcribed text to English\n\n### Notes\n\n- You can use any language codes supported by OpenAI Whisper\n- If you're unsure or don't know ahead of time which language code you need you can omit lang property.\n- Supported Models are: Tiny, Base, Medium and Large.\n\n## Usage\n\nBefore making a request to transcribe a file, you should query the `/models` endpoint to get a list of all available models.\n\n```shell\ncurl --location --request GET 'https://localhost:5001/models'\n```\n\nTo use WhisperAPI, you need to send a POST request to the `/transcribe` endpoint with the following form-data payload:\n\n```\nfile: @/path/to/file/\nmodel: String\ntranslate: Boolean\n```\n\nAdditionally, you can add headers to the request for language and response type preferences.\n\n```\nAccept: application/json\nAccept-Language: en\n```\n\nThe file should be provided as a multipart/form-data field named ``file``.\n\n`translate` is an optional property.\n\n- If the `Accept` header is omitted, the API will automatically detect the language of the file.\n- If the `translate` property is omitted, it defaults to false.\n\nHere is an example of a request using curl:\n\n```shell\ncurl --location --request POST 'https://localhost:5001/transcribe' \\\n--header 'Accept: application/json' \\\n--header 'Accept-Language: English' \\\n--form 'file=@\"/path/to/file/\"' \\\n--form 'model=\"base\"' \\\n--form 'translate=\"true\"'\n```\n\nThe response will be a JSON payload with the following format:\n\n```json\n{\n  \"data\": [\n    {\n      \"start\": 0,\n      \"end\": 3,\n      \"text\": \"Hello!\"\n    },\n    {\n      \"start\": 3,\n      \"end\": 6,\n      \"text\": \" World!\"\n    }\n  ],\n  \"count\": 2\n}\n```\n\nIf `text/plain` is used the response will look like this:\n\n```text\nHello! World!\n```\n\nIf `application/xml` is used the response will look like this:\n\n```xml\n\u003cJsonResponse\u003e\n    \u003cData\u003e\n        \u003cResponseData\u003e\n            \u003cStart\u003e0\u003c/Start\u003e\n            \u003cEnd\u003e3\u003c/End\u003e\n            \u003cText\u003eHello\u003c/Text\u003e\n        \u003c/ResponseData\u003e\n        \u003cResponseData\u003e\n            \u003cStart\u003e3\u003c/Start\u003e\n            \u003cEnd\u003e6\u003c/End\u003e\n            \u003cText\u003e World!\u003c/Text\u003e\n        \u003c/ResponseData\u003e\n    \u003c/Data\u003e\n    \u003cCount\u003e2\u003c/Count\u003e\n\u003c/JsonResponse\u003e\n```\n\nIf `application/x-subrip` is used the response will look like this:\n\n```plaintext\n1\n00:00:00,000 --\u003e 00:00:05,000\nHello\n\n2\n00:00:05,000 --\u003e 00:00:10,000\nWorld\n```\n\nOn failure (e.g: invalid file format) the response JSON will be:\n\n```json\n{\n  \"error\": \"Error message\"\n}\n```\n\n## Contributing\n\nWe welcome contributions to WhisperAPI! If you would like to contribute, simply fork the repository and submit a pull request with your changes.\n\n## Support\n\nIf you need help with WhisperAPI, please create an issue on GitHub and I will respond as soon as possible.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFlameFlag%2FWhisperAPI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFlameFlag%2FWhisperAPI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFlameFlag%2FWhisperAPI/lists"}