Integrations
Provides community support and discussions through a Discord server for users seeking help with the Short Video Maker tool.
Offers containerized deployment options for running the Short Video Maker, including specialized images for CPU and NVIDIA GPU acceleration.
Utilizes FFmpeg for audio and video manipulation during the video creation process, enabling professional audio/video processing capabilities.
Описание
Инструмент для автоматизированного создания видео с открытым исходным кодом для создания короткометражного видеоконтента. Short Video Maker объединяет преобразование текста в речь, автоматические субтитры, фоновые видео и музыку для создания увлекательных коротких видеороликов из простых текстовых вводов.
Этот проект призван предоставить бесплатную альтернативу генерации видео, требующей больших ресурсов GPU (и бесплатную альтернативу дорогим вызовам сторонних API). Он не генерирует видео с нуля на основе изображения или запроса изображения.
Репозиторий был открыт на канале AI Agents AZ Youtube . Мы рекомендуем вам заглянуть на канал для получения большего количества контента и руководств, связанных с ИИ.
Сервер предоставляет доступ к MCP и REST-серверу.
Хотя сервер MCP можно использовать с агентом ИИ (например, n8n), конечные точки REST обеспечивают большую гибкость при генерации видео.
Примеры рабочих процессов n8n, созданных с помощью сервера REST/MCP, можно найти в этом репозитории .
Оглавление
Начиная
Использование
Информация
- Функции
- Как это работает
- Ограничения
- Концепции
- Поиск неисправностей
- Развертывание в облаке
- Часто задаваемые вопросы
- Зависимости
- Внося вклад
- Лицензия
- Благодарности
Учебник с n8n
Примеры
Функции
- Создавайте полноценные короткие видеоролики из текстовых подсказок
- Преобразование текста в речь
- Автоматическая генерация и стилизация титров
- Поиск и выбор фонового видео через Pexels
- Фоновая музыка с выбором жанра/настроения
- Выполнять функции сервера REST API и Model Context Protocol (MCP)
Как это работает
Shorts Creator вводит простые текстовые данные и поисковые запросы, а затем:
- Преобразует текст в речь с помощью Kokoro TTS
- Генерирует точные субтитры с помощью Whisper
- Находит соответствующие фоновые видео от Pexels
- Составляет все элементы с помощью Remotion
- Создает профессионально выглядящее короткое видео с идеально подобранными по времени субтитрами.
Ограничения
- Проект способен генерировать видео только с английской озвучкой (kokoro-js на данный момент не поддерживает другие языки)
- Фоновые видео взяты с сайта Pexels
Общие требования
- интернет
- бесплатный ключ API Pexels
- ≥ 3 ГБ свободной оперативной памяти, я рекомендую 4 ГБ оперативной памяти
- ≥ 2 виртуальных ЦП
- ≥ 5 ГБ дискового пространства
НПМ
Хотя Docker — рекомендуемый способ запустить проект, вы можете запустить его с помощью npm или npx. Помимо общих требований, для запуска сервера необходимо следующее.
Поддерживаемые платформы
- Ubuntu ≥ 22.04 (libc 2.5 для Whisper.cpp)
- Необходимые пакеты:
git wget cmake ffmpeg curl make libsdl2-dev libnss3 libdbus-1-3 libatk1.0-0 libgbm-dev libasound2 libxrandr2 libxkbcommon-dev libxfixes3 libxcomposite1 libxdamage1 libatk-bridge2.0-0 libpango-1.0-0 libcairo2 libcups2
- Необходимые пакеты:
- ОС Mac
- ffmpeg (
brew install ffmpeg
) - node.js (проверено на 22+)
- ffmpeg (
В данный момент Windows НЕ поддерживается (иногда возникают сбои при установке whisper.cpp).
Концепции
Сцена
Каждое видео собрано из нескольких сцен. Эти сцены состоят из
- Текст: Закадровый текст, который TTS будет читать и на основе которого создавать субтитры.
- Поисковые термины: ключевые слова, которые сервер должен использовать для поиска видео из API Pexels. Если ничего не найдено, используются шутливые термины (
nature
,globe
,space
,ocean
)
Начиная
Докер (рекомендуется)
Есть три образа docker для трех различных вариантов использования. Вообще говоря, в большинстве случаев вы хотите раскрутить tiny
.
Крошечный
- Использует модель
tiny.en
whisper.cpp - Использует квантованную модель кокоро
q4
CONCURRENCY=1
для устранения ошибок OOM, возникающих при Remotion с ограниченными ресурсамиVIDEO_CACHE_SIZE_IN_BYTES=104857600
(100 МБ) для устранения ошибок OOM, возникающих при работе Remotion с ограниченными ресурсами
Нормальный
- Использует модель
base.en
whisper.cpp - Использует модель
fp32
kokoro CONCURRENCY=1
для устранения ошибок OOM, возникающих при Remotion с ограниченными ресурсамиVIDEO_CACHE_SIZE_IN_BYTES=104857600
(100 МБ) для устранения ошибок OOM, возникающих при работе Remotion с ограниченными ресурсами
Куда
Если у вас есть графический процессор Nvidia и вы хотите использовать более мощную модель Whisper с ускорением GPU, вы можете использовать оптимизированный для CUDA образ Docker.
- Использует модель
medium.en
whisper.cpp (с ускорением GPU) - Использует модель
fp32
kokoro CONCURRENCY=1
для устранения ошибок OOM, возникающих при Remotion с ограниченными ресурсамиVIDEO_CACHE_SIZE_IN_BYTES=104857600
(100 МБ) для устранения ошибок OOM, возникающих при работе Remotion с ограниченными ресурсами
Docker-композиция
Вы можете использовать Docker Compose для запуска n8n или других служб и хотите объединить их. Убедитесь, что вы добавили общую сеть в конфигурацию службы.
Если вы используете стартовый комплект Self-hosted AI, вам необходимо добавить networks: ['demo']
к сервису ** short-video-maker
чтобы вы могли получить к нему доступ по адресу http://short-video-maker:3123 в n8n.
Веб-интерфейс
@mushitori создал веб-интерфейс для генерации видео из вашего браузера.
Вы можете загрузить его по адресу http://localhost:3123
Переменные среды
🟢 Конфигурация
ключ | описание | по умолчанию |
---|---|---|
PEXELS_API_KEY | ваш (бесплатный) ключ API Pexels | |
УРОВЕНЬ_ЛОГА | уровень логарифма пино | информация |
WHISPER_VERBOSE | следует ли перенаправлять вывод whisper.cpp в stdout | ЛОЖЬ |
ПОРТ | порт, который будет прослушивать сервер | 3123 |
⚙️ Конфигурация системы
ключ | описание | по умолчанию |
---|---|---|
KOKORO_MODEL_PRECISION | Размер модели Kokoro для использования. Допустимые параметры: fp32 , fp16 , q8 , q4 , q4f16 | зависит, см. описания образов Docker выше ^^ |
КОНКУРЕНТНОСТЬ | concurrency относится к тому, сколько вкладок браузера открыто параллельно во время рендеринга. Каждая вкладка Chrome рендерит веб-контент, а затем делает его снимок экрана. . Настройка этого значения помогает при запуске проекта с ограниченными ресурсами. | зависит, см. описания образов Docker выше ^^ |
РАЗМЕР_КЭША_ВИДЕО_В_БАЙТАХ | Кэш для Кадры в Remotion. Настройка этого значения помогает при запуске проекта с ограниченными ресурсами. | зависит, см. описания образов Docker выше ^^ |
⚠️ Опасная зона
ключ | описание | по умолчанию |
---|---|---|
WHISPER_MODEL | Какую модель whisper.cpp использовать. Допустимые варианты: tiny , tiny.en , base , base.en , small , small.en , medium , medium.en , large-v1 , large-v2 , large-v3 , large-v3-turbo | Зависит, см. описания образов docker выше. Для npm параметр по умолчанию — medium.en |
DATA_DIR_PATH | каталог данных проекта | ~/.ai-agents-az-video-generator с npm, /app/data в образах Docker |
ДОКЕР | запущен ли проект в контейнере Docker | true для образов Docker, в противном случае false |
ДЕВ | предполагать! :) | false |
Параметры конфигурации
ключ | описание | по умолчанию |
---|---|---|
paddingBack | Конечный экран, как долго должно воспроизводиться видео после окончания закадрового текста (в миллисекундах). | 0 |
музыка | Настроение фоновой музыки. Получите доступные параметры из конечной точки GET /api/music-tags . | случайный |
заголовокПозиция | Позиция, в которой должны отображаться подписи. Возможные варианты: top , center , bottom . Значение по умолчанию | bottom |
подписьЦвет фона | Цвет фона активного элемента подписи. | blue |
голос | Голос Кокоро. | af_heart |
ориентация | Ориентация видео. Возможные варианты: portrait и landscape | portrait |
Использование
МСР-сервер
URL-адреса серверов
/mcp/sse
/mcp/messages
Доступные инструменты
create-short-video
Создает короткое видео — LLM определит правильную конфигурацию. Если вы хотите использовать определенную конфигурацию, вам нужно указать ее в приглашении.get-video-status
Несколько бесполезен, предназначен для проверки статуса видео, но поскольку агенты ИИ не очень хорошо разбираются в концепции времени, вам, вероятно, в любом случае придется использовать для этого REST API.
REST-API
ПОЛУЧИТЬ /health
Конечная точка проверки работоспособности
ОТПРАВИТЬ /api/short-video
ПОЛУЧИТЬ /api/short-video/{id}/status
ПОЛУЧИТЬ /api/short-video/{id}
Ответ: двоичные данные видео.
ПОЛУЧИТЬ /api/short-videos
УДАЛИТЬ /api/short-video/{id}
ПОЛУЧИТЬ /api/voices
ПОЛУЧИТЬ /api/music-tags
Поиск неисправностей
Докер
Серверу нужно не менее 3 ГБ свободной памяти. Убедитесь, что вы выделили достаточно оперативной памяти для Docker.
Если вы запускаете сервер из Windows и через wsl2, вам необходимо установить ограничения ресурсов с помощью утилиты wsl 2 , в противном случае установите их с помощью Docker Desktop. (Ubuntu не ограничивает ресурсы, если это не указано в команде run).
НПМ
Убедитесь, что установлены все необходимые пакеты.
н8н
Настройка сервера MCP (или REST) зависит от того, как вы запускаете n8n и сервер. Пожалуйста, следуйте примерам из матрицы ниже.
|n8n работает локально, используя n8n start
|n8n работает локально с использованием Docker|n8n работает в облаке|
|---|---|---|---|
|short-video-maker
работает локально в Docker|http://localhost:3123
|Это зависит от обстоятельств. Технически вы можете использовать http://host.docker.internal:3123
поскольку он указывает на хост, но вы можете настроить использование той же сети и использовать имя службы для связи, например http://short-video-maker:3123
|не работает - разверните short-video-maker
в облаке|
|short-video-maker
работает с npm/npx|http://localhost:3123
|http://host.docker.internal:3123
|не работает - разверните short-video-maker
в облаке|
|short-video-maker
работает в облаке|Вам следует использовать ваш IP-адрес http://{YOUR_IP}:3123
|Вам следует использовать ваш IP-адрес http://{YOUR_IP}:3123
|Вам следует использовать ваш IP-адрес http://{YOUR_IP}:3123
|
Развертывание в облаке
Хотя каждый провайдер VPS отличается и невозможно предоставить конфигурацию для всех из них, вот несколько советов.
- Используйте Ubuntu ≥ 22.04
- Иметь ≥ 4 ГБ ОЗУ, ≥ 2 виртуальных ЦП и ≥ 5 ГБ памяти
- Используйте pm2 для запуска/управления сервером
- Поместите переменные среды в файл
.bashrc
(или аналогичный)
Часто задаваемые вопросы
Могу ли я использовать другие языки? (французский, немецкий и т. д.)
К сожалению, на данный момент это невозможно. Kokoro-js поддерживает только английский язык.
Могу ли я передавать изображения и видео и можно ли их сшить?
Нет
Стоит ли запускать проект с помощью npm
или docker
?
Для запуска проекта рекомендуется использовать Docker.
Какой объем графического процессора используется для генерации видео?
Честно говоря, не так уж много — ускорить можно только whisper.cpp.
Remotion нагружает процессор, а Kokoro-js работает на процессоре.
Есть ли пользовательский интерфейс, который я могу использовать для генерации видео?
Еще нет)
Могу ли я выбрать другой источник видео, нежели Pexels, или предоставить свое собственное видео?
Нет
Может ли проект генерировать видео из изображений?
Нет
Зависимости для генерации видео
Зависимость | Версия | Лицензия | Цель |
---|---|---|---|
Перемещение | ^4.0.286 | Лицензия на отзыв | Видеокомпозиция и рендеринг |
Шепот CPP | версия 1.5.5 | Массачусетский технологический институт | Преобразование речи в текст для субтитров |
FFmpeg | ^2.1.3 | LGPL/GPL | Манипуляции с аудио/видео |
Kokoro.js | ^1.2.0 | Массачусетский технологический институт | Генерация текста в речь |
API Pexels | Н/Д | Условия Pexels | Фоновые видео |
Как внести свой вклад?
PR приветствуются. Инструкции по настройке локальной среды разработки см. в файле CONTRIBUTING.md.
Лицензия
Данный проект лицензирован в соответствии с лицензией MIT .
Благодарности
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Короткий видеоредактор MCP
- Оглавление
- Учебник с n8n
- Примеры
- Функции
- Как это работает
- Ограничения
- Общие требования
- НПМ
- Концепции
- Начиная
- Веб-интерфейс
- Переменные среды
- Параметры конфигурации
- Использование
- REST-API
- Поиск неисправностей
- н8н
- Развертывание в облаке
- Часто задаваемые вопросы
- Могу ли я использовать другие языки? (французский, немецкий и т. д.)
- Могу ли я передавать изображения и видео и можно ли их сшить?
- Стоит ли запускать проект с помощью npm или docker ?
- Какой объем графического процессора используется для генерации видео?
- Есть ли пользовательский интерфейс, который я могу использовать для генерации видео?
- Могу ли я выбрать другой источник видео, нежели Pexels, или предоставить свое собственное видео?
- Может ли проект генерировать видео из изображений?
- Зависимости для генерации видео
- Как внести свой вклад?
- Лицензия
- Благодарности
Related MCP Servers
- -securityAlicense-qualityA MCP server that creates graphic recordings by converting websites or text input into visual summaries using different prompt styles (standard, elementary, timeline).Last updated -TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server providing video processing capabilities through FFmpeg, enabling dialog-based local video search, trimming, concatenation, and playback functionalities.Last updated -79PythonMIT License
- AsecurityAlicenseAqualityMCP server that exposes Google's Veo2 video generation capabilities, allowing clients to generate videos from text prompts or images.Last updated -77TypeScriptMIT License
- Rust