{"id":29583000,"url":"https://github.com/jockdarock/scribby","last_synced_at":"2025-07-19T22:07:18.935Z","repository":{"id":293151423,"uuid":"983106231","full_name":"JockDaRock/scribby","owner":"JockDaRock","description":"An WebGUI based tool that uses and AI Agent on the backend to help people promote content on social.","archived":false,"fork":false,"pushed_at":"2025-05-30T18:43:51.000Z","size":298,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-31T03:03:45.294Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/JockDaRock.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":"2025-05-13T22:18:35.000Z","updated_at":"2025-05-30T18:43:55.000Z","dependencies_parsed_at":"2025-05-14T00:33:57.398Z","dependency_job_id":"96b6f4ff-0723-427b-851b-8efb54932e3f","html_url":"https://github.com/JockDaRock/scribby","commit_stats":null,"previous_names":["jockdarock/scribby"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JockDaRock/scribby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JockDaRock%2Fscribby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JockDaRock%2Fscribby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JockDaRock%2Fscribby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JockDaRock%2Fscribby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JockDaRock","download_url":"https://codeload.github.com/JockDaRock/scribby/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JockDaRock%2Fscribby/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266026542,"owners_count":23866034,"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":[],"created_at":"2025-07-19T22:07:15.955Z","updated_at":"2025-07-19T22:07:18.901Z","avatar_url":"https://github.com/JockDaRock.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whisper Transcription Application\r\n\r\nThis application allows you to transcribe audio files, YouTube videos, and microphone recordings using the Whisper API. The application has been split into two components:\r\n\r\n1. **Backend**: A RESTful API server that handles all transcription functionality\r\n2. **Frontend**: A Gradio web interface that communicates with the backend API\r\n\r\n## Project Structure\r\n\r\n```\r\nscribby/\r\n├── backend/\r\n│   ├── api.py                # FastAPI server implementation\r\n│   ├── transcriber.py        # Transcription functionality\r\n│   ├── requirements.txt      # Backend dependencies\r\n│   └── Dockerfile            # Backend container definition\r\n├── frontend/\r\n│   ├── frontend.py           # Gradio interface\r\n│   ├── requirements.txt      # Frontend dependencies\r\n│   └── Dockerfile            # Frontend container definition\r\n├── outputs/                  # Shared directory for transcription outputs\r\n└── docker-compose.yml        # Configuration for running both services\r\n```\r\n\r\n## Features\r\n\r\n- Transcribe audio files (MP3, MP4, WAV, etc.)\r\n- Transcribe YouTube videos by URL\r\n- Transcribe microphone recordings\r\n- Language detection or selection\r\n- Translation to English option\r\n- Large file handling with automatic chunking\r\n- Background processing for long-running tasks\r\n\r\n## Installation and Setup\r\n\r\n### Option 1: Using Docker Compose (Recommended)\r\n\r\n1. Make sure you have Docker and Docker Compose installed\r\n2. Clone this repository\r\n3. Create the directory structure and place the files in their respective locations\r\n4. Run the application:\r\n\r\n```bash\r\ndocker-compose up -d\r\n```\r\n\r\nThe frontend will be available at http://localhost:7860, and the backend API at http://localhost:8000.\r\n\r\n### Option 2: Manual Setup\r\n\r\n#### Backend Setup\r\n\r\n1. Create a virtual environment and activate it:\r\n\r\n```bash\r\npython -m venv backend-env\r\nsource backend-env/bin/activate  # On Windows: backend-env\\Scripts\\activate\r\n```\r\n\r\n2. Install dependencies:\r\n\r\n```bash\r\ncd backend\r\npip install -r requirements.txt\r\n```\r\n\r\n3. Install system dependencies:\r\n   - ffmpeg: For audio processing\r\n   - yt-dlp: For YouTube video downloading\r\n\r\n4. Run the backend:\r\n\r\n```bash\r\nuvicorn api:app --host 0.0.0.0 --port 8000 --reload\r\n```\r\n\r\n#### Frontend Setup\r\n\r\n1. Create a virtual environment and activate it:\r\n\r\n```bash\r\npython -m venv frontend-env\r\nsource frontend-env/bin/activate  # On Windows: frontend-env\\Scripts\\activate\r\n```\r\n\r\n2. Install dependencies:\r\n\r\n```bash\r\ncd frontend\r\npip install -r requirements.txt\r\n```\r\n\r\n3. Set the API_BASE_URL environment variable to point to your backend:\r\n\r\n```bash\r\n# Linux/Mac\r\nexport API_BASE_URL=http://localhost:8000\r\n\r\n# Windows\r\nset API_BASE_URL=http://localhost:8000\r\n```\r\n\r\n4. Run the frontend:\r\n\r\n```bash\r\npython frontend.py\r\n```\r\n\r\nThe Gradio interface will be available at http://localhost:7860.\r\n\r\n## Using the API\r\n\r\nThe backend provides the following endpoints:\r\n\r\n- `GET /models`: Get available transcription models\r\n- `GET /languages`: Get available languages\r\n- `POST /transcribe/file`: Transcribe an audio file\r\n- `POST /transcribe/youtube`: Transcribe a YouTube video\r\n- `GET /status/{job_id}`: Check the status of a transcription job\r\n- `GET /download/{job_id}`: Download the transcription result\r\n- `GET /youtube-info`: Get information about a YouTube video\r\n\r\nFor more details, access the Swagger documentation at http://localhost:8000/docs when the backend is running.\r\n\r\n## Environment Variables\r\n\r\n### Backend\r\n\r\n- `BASE_URL`: Base URL for the Whisper API (default: `https://litellm.darock.io/v1`)\r\n- `DEBUG`: Enable detailed logging (default: `true`)\r\n\r\n### Frontend\r\n\r\n- `API_BASE_URL`: URL of the backend API (default: `http://localhost:8000`)\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjockdarock%2Fscribby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjockdarock%2Fscribby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjockdarock%2Fscribby/lists"}