Podcast Title

Author Name

0:00
0:00
Album Art

Stop Paying for APIs: How to Build Your Own Private, Free Alternative

By 10xdev team July 07, 2025

It's time for you to cancel all of your expensive monthly API subscriptions because in this article, we're going to show you how you can set up a private API that is almost entirely free and gives you unlimited use. This can save you hundreds or even thousands of dollars in monthly subscriptions you're probably paying for but don't actually need. It's like the Swiss Army knife for AI automations.

An automation workflow will be used to demonstrate the features of this free API so you can get an idea of how it works. Then, we'll show you how to install this free toolkit and where to get the automation template.

How This Free Toolkit Works

Companies like OpenAI, who sell ChatGPT, write code and deploy that code on servers. They then allow you to use those servers, and running that code doesn't cost very much to them, but they sell it back to us at an extreme markup.

It turns out a lot of this code is free, and we can deploy this code into our own server and access our own server at the same cost that it costs them. In this article, we're going to show you how to access this free code, which is available on GitHub. It's called the No-Code Architects Toolkit, and its features will be demonstrated by walking through an automation workflow.

Exploring the Toolkit's Features

The demonstration isn't a real automation but a collection of different nodes connected to various features of the toolkit. Here are some of the most common use cases.

Video and Audio Transcription

A common need is to transcribe a video. An automation node can do just that by calling a backend API. The code is deployed, in this case, to Digital Ocean and is running there. By sending a request to a specific endpoint for video or audio transcriptions, you can provide a remote file, ask for the transcription, and also request an SRT file.

Testing this endpoint with a sample video will return the full transcript and an SRT file suitable for captions.

Automated Video Captioning

You might also want to caption your videos. A dedicated endpoint will take a video file and automatically put captions on it for free. After running the endpoint, it responds with a URL. Playing the video from this URL shows that it is already highlighting the active word and has the captions added.

Thumbnail Extraction

This endpoint will get a thumbnail from any point in a video. You can define the exact second from which to pull the thumbnail. Testing this endpoint simply responds back with an image file.

Combining Media

The toolkit includes an endpoint to combine two videos. For instance, a 9-second clip can be combined with itself to create a 19-second video that plays the same clip twice. Similarly, you can combine multiple audio files.

Video Editing: Cutting and Trimming

It's possible to make cuts in a video, taking out certain segments. This API call works very well with the silence detection feature. Another endpoint can detect silence longer than a specified duration (e.g., 0.1 seconds) and return those specific moments in the video. You could then simply cut those silent parts out.

Another endpoint can cut a single video into multiple parts. For a sample clip, it can return two separate files, one for each of the requested clips. You can also trim a video to remove the beginning and ending sections.

Advanced Media Manipulation with FFmpeg

A very powerful endpoint is called ffmpeg-compose, which uses the FFmpeg tool. It's highly recommended to check out FFmpeg, as it’s what most of these different endpoints use behind the scenes. This particular tool is very flexible and exposes everything that FFmpeg is able to do.

Cropping and Resizing

With this endpoint, you can crop videos. For example, a YouTube video in a typical horizontal format can be cropped to a particular section and scaled for a vertical video on platforms like TikTok.

Adding Logos and Overlays

You can also add a logo to a video. By providing a video clip and a link to a logo, the endpoint will return the same video with the logo placed in a corner, such as the bottom left.

It's also possible to create your own tweet pics. A thumbnail can be generated from a video clip, and a tweet-style image can be overlaid onto it. You can overlay images on other images or overlay a tweet pic on a video itself.

You can even build reaction-style videos. The process takes the video being reacted to and the video of the reaction, then assembles a final video where one person appears to be watching and responding to the other video.

Dynamic Text on Images

An example of practical application is overlaying text on a template certificate. For a certificate template, member information, instructor name, and the date can be dynamically filled in. A logo can also be added.

Utility and Conversion Tools

There are several other self-explanatory features: - Convert to MP3: Convert any audio or video file into an MP3. - Download Social Media Videos: Download videos from platforms like TikTok or Instagram without the watermark. The API provides metadata like the description, thumbnails, and view count. - File Conversion: Convert any file type to another, such as MP4 to MOV or one audio format to another. - Get Media Metadata: Retrieve detailed metadata for any video or audio file, including bitrate, audio channels, sampling rate, duration, file size, format, frames per second, resolution, and more. - Image to Video: Convert images into a video with a slight zoom-in effect, similar to a Ken Burns effect. - Run Python Code: Execute Python scripts directly. - Cloud Uploads: Upload files to different cloud providers.

How the Toolkit Executes Tasks

So far, the examples have shown how to execute automations inline, where the process runs for a few seconds and then responds. However, for longer processes, like a 45-minute video, this can be problematic. There are two other ways to use the toolkit.

1. Webhooks for Asynchronous Processing

You can use webhooks for long-running processes. An automation can be set up with a webhook listener. A separate node can be configured to perform a task, like combining two audio files, and send the result to the webhook URL when it's done. The initial call responds right away, confirming the process has started in the background. Once finished, it sends the request to the webhook, which then receives the final concatenated audio file.

2. Background Processing with Polling

Another way to handle long-running processes within a single automation is to use polling. In this case, a task like captioning a video is initiated with an empty string for the webhook URL. This tells the toolkit to process in the background. The API responds immediately with a job status. The automation can then continually check the job status in a loop. While the job is not done, it can wait a few seconds and check again. Once the status is "done," it can download the final file.

Monitoring and Testing

The toolkit provides endpoints to help you test and monitor its operations. - Test Authentication & File Uploads: Initial endpoints to verify your setup. - List All Jobs: An endpoint to see all the different jobs the toolkit is currently working on or has completed. - Check Job Status: Check the status of an individual job by providing its ID to get details about the request, response, and current state.

How to Install the Toolkit on Digital Ocean

The following are the easiest instructions for deployment. While there are cheaper ways to deploy, this method is straightforward.

  1. Sign up for Digital Ocean: If you don't have an account, create one.
  2. Create a New Project: Create a project, for example, named APIs.
  3. Create an App: Click "Create" and select "App."
  4. Select Deployment Source: Choose "Container Image" and "DockerHub" for the repository.
  5. Enter Repository: In the repository box, enter steven-g-pope/no-code-architect-toolkit.
  6. Image Tag: For the tag, type latest. Leave credentials alone and click "Next."
  7. Correct App Name: The name might be too long and cause an error. Click "Edit" and remove any extra dashes to fix it.
  8. Select Service and Size: Create a "Web Service." For the size, a larger instance (e.g., $50/month) is recommended for easier installation, though you can experiment with smaller sizes. The size affects processing speed and file size limits. Set the number of containers to one.
  9. Add Environment Variables: This is a critical step. Click "Edit" next to Environment Variables and add the following, ensuring there are no spaces before or after the keys and values.
*   `API_KEY`: For testing, use `test123`. You should change this later.
*   `S3_ENDPOINT_URL`: To get this, you need to create a new Space in Digital Ocean's "Spaces Object Storage."
    *   Create a new bucket (e.g., `nca-install-demo`).
    *   In the bucket's settings, create a new full-access key.
    *   The URL will be provided here. Copy it.
*   `S3_ACCESS_KEY`: Copy the access key from the new key you just created.
*   `S3_SECRET_KEY`: Copy the secret key. **Note:** This is only shown once, so save it.
*   `S3_BUCKET_NAME`: The name of the bucket you created (e.g., `nca-install-demo`).
*   `S3_REGION`: The value for this will be the region of your bucket (e.g., `nyc3`).
  1. Finalize and Deploy: Once all variables are set, close the editor. Pick a region (e.g., San Francisco) and create the app. Deployment will take a few minutes.

Monitoring Your Live App

Once the app is live, you can use the Digital Ocean dashboard to: - Overview: Get basic information about your server. - Insights: Check CPU and memory utilization. - Runtime Logs: Monitor API calls as they come through. - Console: Log into your server to type commands, though this is rarely needed.

Testing with Postman

To test that everything is working, use a service like Postman.

  1. Sign up for Postman: Create a free account and sign in.
  2. Import the Collection: A link to a Postman collection with pre-made API tests should be available. Open this link in your browser while logged into Postman.
  3. Fork the Collection: Create your own fork of the collection. This will load it into your workspace.
  4. Create an Environment: In the "Environments" tab, create a new environment (e.g., "Digital Ocean").
  5. Set Environment Variables: Add the following variables:
    • x-api-key: Set the value to test123 (or whatever you set for API_KEY).
    • base_url: Get this from your app's overview page in Digital Ocean. It's the main URL for your app.
  6. Save and Test: Save the environment.
    • Navigate to the authenticate endpoint in the forked collection. The variables should now be populated. Click "Send." You should see a "success" message.
    • Next, navigate to the test endpoint and click "Send." It should also return a success message with a link to a test file. If you download and open this file, it should confirm that you have successfully installed the NCA Toolkit API.

An Open-Source, Evolving Project

This toolkit is an open-source project, meaning it's totally free and built by multiple contributors. You can make requests for new features, and other people are submitting new features all the time. This ensures the tool is not only free but also constantly improving to benefit everyone.

Join the 10xdev Community

Subscribe and get 8+ free PDFs that contain detailed roadmaps with recommended learning periods for each programming language or field, along with links to free resources such as books, YouTube tutorials, and courses with certificates.

Recommended For You

Up Next