$git clone https://github.com/gyoridavid/short-video-makerAn open source automated video creation tool for generating short-form video content. Short Video Maker combines text-to-speech, automatic captions, background videos, and music to create engaging short videos from simple text inputs.
| 1 | ## [📚 Join our Skool community for support, premium content and more!](https://www.skool.com/ai-agents-az/about?s1m) |
| 2 | |
| 3 | ### Be part of a growing community and help us create more content like this |
| 4 | |
| 5 | # Description |
| 6 | |
| 7 | An open source automated video creation tool for generating short-form video content. Short Video Maker combines text-to-speech, automatic captions, background videos, and music to create engaging short videos from simple text inputs. |
| 8 | |
| 9 | This project is meant to provide a free alternative to heavy GPU-power hungry video generation (and a free alternative to expensive, third-party API calls). It doesn't generate a video from scratch based on an image or an image prompt. |
| 10 | |
| 11 | The repository was open-sourced by the [AI Agents A-Z Youtube Channel](https://www.youtube.com/channel/UCloXqLhp_KGhHBe1kwaL2Tg). We encourage you to check out the channel for more AI-related content and tutorials. |
| 12 | |
| 13 | The server exposes an [MCP](https://github.com/modelcontextprotocol) and a REST server. |
| 14 | |
| 15 | While the MCP server can be used with an AI Agent (like n8n) the REST endpoints provide more flexibility for video generation. |
| 16 | |
| 17 | You can find example n8n workflows created with the REST/MCP server [in this repository](https://github.com/gyoridavid/ai_agents_az/tree/main/episode_7). |
| 18 | |
| 19 | # TOC |
| 20 | |
| 21 | ## Getting started |
| 22 | |
| 23 | - [Requirements](#general-requirements) |
| 24 | - [How to run the server](#getting-started-1) |
| 25 | - [Web UI](#web-ui) |
| 26 | - [Tutorial](#tutorial-with-n8n) |
| 27 | - [Examples](#examples) |
| 28 | |
| 29 | ## Usage |
| 30 | |
| 31 | - [Environment variables](#environment-variables) |
| 32 | - [REST API](#rest-api) |
| 33 | - [Configuration options](#configuration-options) |
| 34 | - [MCP](#mcp-server) |
| 35 | |
| 36 | ## Info |
| 37 | |
| 38 | - [Features](#features) |
| 39 | - [How it works](#how-it-works) |
| 40 | - [Limitations](#limitations) |
| 41 | - [Concepts](#concepts) |
| 42 | - [Troubleshooting](#troubleshooting) |
| 43 | - [Deploying in the cloud](#deploying-to-the-cloud) |
| 44 | - [FAQ](#faq) |
| 45 | - [Dependencies](#dependencies-for-the-video-generation) |
| 46 | - [Contributing](#how-to-contribute) |
| 47 | - [License](#license) |
| 48 | - [Acknowledgements](#acknowledgments) |
| 49 | |
| 50 | # Tutorial with n8n |
| 51 | |
| 52 | [](https://www.youtube.com/watch?v=jzsQpn-AciM) |
| 53 | |
| 54 | # Examples |
| 55 | |
| 56 | <table> |
| 57 | <tr> |
| 58 | <td> |
| 59 | <video src="https://github.com/user-attachments/assets/1b488e7d-1b40-439d-8767-6ab51dbc0922" width="480" height="270"></video> |
| 60 | </td> |
| 61 | <td> |
| 62 | <video src="https://github.com/user-attachments/assets/bb7ce80f-e6e1-44e5-ba4e-9b13d917f55b" width="270" height="480"></video> |
| 63 | </td> |
| 64 | <td> |
| 65 | </tr> |
| 66 | </table> |
| 67 | |
| 68 | # Features |
| 69 | |
| 70 | - Generate complete short videos from text prompts |
| 71 | - Text-to-speech conversion |
| 72 | - Automatic caption generation and styling |
| 73 | - Background video search and selection via Pexels |
| 74 | - Background music with genre/mood selection |
| 75 | - Serve as both REST API and Model Context Protocol (MCP) server |
| 76 | |
| 77 | # How It Works |
| 78 | |
| 79 | Shorts Creator takes simple text inputs and search terms, then: |
| 80 | |
| 81 | 1. Converts text to speech using Kokoro TTS |
| 82 | 2. Generates accurate captions via Whisper |
| 83 | 3. Finds relevant background videos from Pexels |
| 84 | 4. Composes all elements with Remotion |
| 85 | 5. Renders a professional-looking short video with perfectly timed captions |
| 86 | |
| 87 | # Limitations |
| 88 | |
| 89 | - The project only capable generating videos with English voiceover (kokoro-js doesn’t support other languages at the moment) |
| 90 | - The background videos are sourced from Pexels |
| 91 | |
| 92 | # General Requirements |
| 93 | |
| 94 | - internet |
| 95 | - free pexels api key |
| 96 | - ≥ 3 gb free RAM, my recommendation is 4gb RAM |
| 97 | - ≥ 2 vCPU |
| 98 | - ≥ 5gb disc space |
| 99 | |
| 100 | |
| 101 | # Concepts |
| 102 | |
| 103 | ## Scene |
| 104 | |
| 105 | Each video is assembled from multiple scenes. These scenes consists of |
| 106 | |
| 107 | 1. Text: Narration, the text the TTS will read and create captions from. |
| 108 | 2. Search terms: The keywords the server should use to find videos from Pexels API. If none can be found, joker terms are being used (`nature`, `globe`, `space`, `ocean`) |
| 109 | |
| 110 | # Getting started |
| 111 | |
| 112 | ## D |