
No-Code Architects Toolkit API
Tired of wasting thousands of dollars on API subscriptions to support all your automations? What if there was a free alternative?
The 100% FREE No-Code Architects Toolkit API processes different types of media. It is built in Python using Flask.
What Can It Do?
The API can convert audio files. It creates transcriptions of content. It translates content between languages. It adds captions to videos. It can do very complicated media processing for content creation. The API can also manage files across multiple cloud services like Google Drive, Amazon S3, Google Cloud Storage, and Dropbox.
You can deploy this toolkit in several ways. It works with Docker. It runs on Google Cloud Platform. It functions on Digital Ocean. You can use it with any system that hosts Docker.
Easily replace services like ChatGPT Whisper, Cloud Convert, Createomate, JSON2Video, PDF(dot)co, Placid and OCodeKit.
👥 No-Code Architects Community
Want help? Join a supportive community and get dedicated tech support.
Join the ONLY community where you learn to leverage AI automation and content to grow your business (and streamline your biz).
Who’s this for?
- Coaches and consultants
- AI Automation agencies
- SMMA & Content agencies
- SaaS Startup Founders
Get courses, community, support, daily calls and more.
Join the No-Code Architects Community today!
API Endpoints
Each endpoint is supported by robust payload validation and detailed API documentation to facilitate easy integration and usage.
Audio
Code
FFmpeg
/v1/ffmpeg/compose
- Provides a flexible interface to FFmpeg for complex media processing operations.
Image
Media
S3
/v1/s3/upload
- Uploads files to Amazon S3 storage by streaming directly from a URL.
Toolkit
Video
-
/v1/video/caption
- Adds customizable captions to videos with various styling options.
-
/v1/video/concatenate
- Combines multiple videos into a single continuous video file.
-
/v1/video/thumbnail
- Extracts a thumbnail image from a specific timestamp in a video.
-
/v1/video/cut
- Cuts specified segments from a video file with optional encoding settings.
-
/v1/video/split
- Splits a video into multiple segments based on specified start and end times.
-
/v1/video/trim
- Trims a video by keeping only the content between specified start and end times.
Docker Build and Run
Build the Docker Image
docker build -t no-code-architects-toolkit .
General Environment Variables
API_KEY
- Purpose: Used for API authentication.
- Requirement: Mandatory.
Google Cloud Platform (GCP) Environment Variables
GCP_SA_CREDENTIALS
- Purpose: The JSON credentials for the GCP Service Account.
- Requirement: Mandatory if using GCP storage.
GCP_BUCKET_NAME
- Purpose: The name of the GCP storage bucket.
- Requirement: Mandatory if using GCP storage.
S3-Compatible Storage Environment Variable
S3_ENDPOINT_URL
- Purpose: Endpoint URL for the S3-compatible service.
- Requirement: Mandatory if using S3-compatible storage.
S3_ACCESS_KEY
- Purpose: The access key for the S3-compatible storage service.
- Requirement: Mandatory if using S3-compatible storage.
S3_SECRET_KEY
- Purpose: The secret key for the S3-compatible storage service.
- Requirement: Mandatory if using S3-compatible storage.
S3_BUCKET_NAME
- Purpose: The bucket name for the S3-compatible storage service.
- Requirement: Mandatory if using S3-compatible storage.
S3_REGION
- Purpose: The region for the S3-compatible storage service.
- Requirement: Mandatory if using S3-compatible storage, “None” is acceptible for some s3 providers.
Performance Tuning Variables
MAX_QUEUE_LENGTH
- Purpose: Limits the maximum number of concurrent tasks in the queue.
- Default: 0 (unlimited)
- Recommendation: Set to a value based on your server resources, e.g., 10-20 for smaller instances.
GUNICORN_WORKERS
- Purpose: Number of worker processes for handling requests.
- Default: Number of CPU cores + 1
- Recommendation: 2-4Ă— number of CPU cores for CPU-bound workloads.
GUNICORN_TIMEOUT
- Purpose: Timeout (in seconds) for worker processes.
- Default: 30
- Recommendation: Increase for processing large media files (e.g., 300-600).
Storage Configuration
LOCAL_STORAGE_PATH
- Purpose: Directory for temporary file storage during processing.
- Default: /tmp
- Recommendation: Set to a path with sufficient disk space for your expected workloads.
Notes
- Ensure all required environment variables are set based on the storage provider in use (GCP or S3-compatible).
- Missing any required variables will result in errors during runtime.
- Performance variables can be tuned based on your workload and available resources.
Run the Docker Container:
docker run -d -p 8080:8080 \
# Authentication (required)
-e API_KEY=your_api_key \
# Cloud storage provider (choose one)
-e GCP_SA_CREDENTIALS='{"your":"service_account_json"}' \
-e GCP_BUCKET_NAME=your_gcs_bucket_name \
# Or
-e S3_ENDPOINT_URL=https://nyc3.digitaloceanspaces.com \
-e S3_ACCESS_KEY=your_access_key \
-e S3_SECRET_KEY=your_secret_key \
-e S3_BUCKET_NAME=your_bucket_name \
-e S3_REGION=nyc3 \
# Local storage configuration (optional)
-e LOCAL_STORAGE_PATH=/tmp \
# Performance tuning (optional)
-e MAX_QUEUE_LENGTH=10 \
-e GUNICORN_WORKERS=4 \
-e GUNICORN_TIMEOUT=300 \
no-code-architects-toolkit
Installation Guides
This API can be deployed to various cloud platforms:
Testing the API
- Install the Postman Template on your computer
- Import the API example requests from the template
- Configure your environment variables in Postman:
base_url
: Your deployed API URL
x-api-key
: Your API key configured during installation
- Use the example requests to validate that the API is functioning correctly
- Use the NCA Toolkit API GPT to explore additional features
Contributing To the NCA Toolkit API
We welcome contributions from the public! If you’d like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes
- Submit a pull request to the “build” branch
Pull Request Process
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
Thank you for your contributions!
How To Get Support
Get courses, community, support daily calls and more.
Join the No-Code Architects Community today!
License
This project is licensed under the GNU General Public License v2.0 (GPL-2.0).