This Docker build let's you reduce/eliminate monthly subscription costs for various APIs you may use in your automations.
It's built with Flask and uses FFmpeg for media conversion and the Whisper model for transcription.
In the current v1.0 build:
- Transcribe video/audio (without the 25 MB Whisper limit)
Next up:
- Merge videos and add audio for faceless video automations
- Automate podcast editing, intros, outros, music, etc
- Translate text to other languages
- Automatically add video subtitles
- Upload large videos to GDrive
-
Clone this repository:
git clone [email protected]:stephengpope/no-code-architects-toolkit.git cd <repository-directory>
-
Create a
.env
file in the root directory and add your API key:API_KEY=your_secret_api_key_here
-
Build the Docker image:
docker build -t no-code-architects-toolkit .
-
Run the Docker container:
docker run -p 8080:8080 --env-file .env no-code-architects-toolkit
The API will now be accessible at http://localhost:8080
.
All endpoints require authentication using the X-API-Key
header.
curl -X POST http://localhost:8080/authenticate \
-H "X-API-Key: your_api_key_here"
Convert a media file to MP3 format.
curl -X POST http://localhost:8080/convert-media-to-mp3 \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"media_url": "https://example.com/path/to/media/file",
"webhook_url": "https://your-webhook-url.com/endpoint"
}'
Transcribe a media file to text or SRT format.
curl -X POST http://localhost:8080/transcribe-media \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"media_url": "https://example.com/path/to/media/file",
"output": "transcript",
"webhook_url": "https://your-webhook-url.com/endpoint"
}'
Note: For output
, you can use either "transcript"
or "srt"
.
Retrieve a processed file by filename.
curl -X POST http://localhost:8080/get-file \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"filename": "processed_file.mp3"
}' \
--output downloaded_file.mp3
- The API uses webhooks for asynchronous processing. Provide a
webhook_url
in your requests to receive the results. - Processed files are temporarily stored and automatically deleted after 1 hour.
- The transcription feature uses the Whisper AI model for accurate results.
For more details on the API implementation, please refer to the source code.