Skip to main content
Glama

Short Video Maker MCP

by gyoridavid

Описание

Инструмент для автоматизированного создания видео с открытым исходным кодом для создания короткометражного видеоконтента. Short Video Maker объединяет преобразование текста в речь, автоматические субтитры, фоновые видео и музыку для создания увлекательных коротких видеороликов из простых текстовых вводов.

Этот проект призван предоставить бесплатную альтернативу генерации видео, требующей больших ресурсов GPU (и бесплатную альтернативу дорогим вызовам сторонних API). Он не генерирует видео с нуля на основе изображения или запроса изображения.

Репозиторий был открыт на канале AI Agents AZ Youtube . Мы рекомендуем вам заглянуть на канал для получения большего количества контента и руководств, связанных с ИИ.

Сервер предоставляет доступ к MCP и REST-серверу.

Хотя сервер MCP можно использовать с агентом ИИ (например, n8n), конечные точки REST обеспечивают большую гибкость при генерации видео.

Примеры рабочих процессов n8n, созданных с помощью сервера REST/MCP, можно найти в этом репозитории .

Оглавление

Начиная

Использование

Информация

Учебник с n8n

Автоматизированная генерация безликих видео (n8n + MCP) с субтитрами, фоновой музыкой, локально и на 100% бесплатно

Примеры

Функции

  • Создавайте полноценные короткие видеоролики из текстовых подсказок

  • Преобразование текста в речь

  • Автоматическая генерация и стилизация титров

  • Поиск и выбор фонового видео через Pexels

  • Фоновая музыка с выбором жанра/настроения

  • Выполнять функции сервера REST API и Model Context Protocol (MCP)

Как это работает

Shorts Creator вводит простые текстовые данные и поисковые запросы, а затем:

  1. Преобразует текст в речь с помощью Kokoro TTS

  2. Генерирует точные субтитры с помощью Whisper

  3. Находит соответствующие фоновые видео от Pexels

  4. Составляет все элементы с помощью Remotion

  5. Создает профессионально выглядящее короткое видео с идеально подобранными по времени субтитрами.

Ограничения

  • Проект способен генерировать видео только с английской озвучкой (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+)

Windows в данный момент НЕ поддерживается (иногда возникают сбои при установке whisper.cpp).

Концепции

Сцена

Каждое видео собрано из нескольких сцен. Эти сцены состоят из

  1. Текст: Закадровый текст, который TTS будет читать и на основе которого создавать субтитры.

  2. Поисковые термины: ключевые слова, которые сервер должен использовать для поиска видео из 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 с ограниченными ресурсами

docker run -it --rm --name short-video-maker -p 3123:3123 -e LOG_LEVEL=debug -e PEXELS_API_KEY= gyoridavid/short-video-maker:latest-tiny

Нормальный

  • Использует модель base.en whisper.cpp

  • Использует модель fp32 kokoro

  • CONCURRENCY=1 для устранения ошибок OOM, возникающих при Remotion с ограниченными ресурсами

  • VIDEO_CACHE_SIZE_IN_BYTES=104857600 (100 МБ) для устранения ошибок OOM, возникающих при работе Remotion с ограниченными ресурсами

docker run -it --rm --name short-video-maker -p 3123:3123 -e LOG_LEVEL=debug -e PEXELS_API_KEY= gyoridavid/short-video-maker:latest

Куда

Если у вас есть графический процессор 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 run -it --rm --name short-video-maker -p 3123:3123 -e LOG_LEVEL=debug -e PEXELS_API_KEY= --gpus=all gyoridavid/short-video-maker:latest-cuda

Docker-композиция

Вы можете использовать Docker Compose для запуска n8n или других служб и хотите объединить их. Убедитесь, что вы добавили общую сеть в конфигурацию службы.

version: "3" services: short-video-maker: image: gyoridavid/short-video-maker:latest-tiny environment: - LOG_LEVEL=debug - PEXELS_API_KEY= ports: - "3123:3123" volumes: - ./videos:/app/data/videos # expose the generated videos

Если вы используете стартовый комплект 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

musicVolume

Установите громкость фоновой музыки. Возможные варианты:

low

medium

high

и

muted

high

Использование

МСР-сервер

URL-адреса серверов

/mcp/sse

/mcp/messages

Доступные инструменты

  • create-short-video Создает короткое видео — LLM определит правильную конфигурацию. Если вы хотите использовать определенную конфигурацию, вам нужно указать ее в приглашении.

  • get-video-status Несколько бесполезен, предназначен для проверки статуса видео, но поскольку агенты ИИ не очень хорошо разбираются в концепции времени, вам, вероятно, в любом случае придется использовать для этого REST API.

REST-API

ПОЛУЧИТЬ /health

Конечная точка проверки работоспособности

curl --location 'localhost:3123/health'
{ "status": "ok" }

ОТПРАВИТЬ /api/short-video

curl --location 'localhost:3123/api/short-video' \ --header 'Content-Type: application/json' \ --data '{ "scenes": [ { "text": "Hello world!", "searchTerms": ["river"] } ], "config": { "paddingBack": 1500, "music": "chill" } }'
{ "videoId": "cma9sjly700020jo25vwzfnv9" }

ПОЛУЧИТЬ /api/short-video/{id}/status

curl --location 'localhost:3123/api/short-video/cm9ekme790000hysi5h4odlt1/status'
{ "status": "ready" }

ПОЛУЧИТЬ /api/short-video/{id}

curl --location 'localhost:3123/api/short-video/cm9ekme790000hysi5h4odlt1'

Ответ: двоичные данные видео.

ПОЛУЧИТЬ /api/short-videos

curl --location 'localhost:3123/api/short-videos'
{ "videos": [ { "id": "cma9wcwfc0000brsi60ur4lib", "status": "processing" } ] }

УДАЛИТЬ /api/short-video/{id}

curl --location --request DELETE 'localhost:3123/api/short-video/cma9wcwfc0000brsi60ur4lib'
{ "success": true }

ПОЛУЧИТЬ /api/voices

curl --location 'localhost:3123/api/voices'
[ "af_heart", "af_alloy", "af_aoede", "af_bella", "af_jessica", "af_kore", "af_nicole", "af_nova", "af_river", "af_sarah", "af_sky", "am_adam", "am_echo", "am_eric", "am_fenrir", "am_liam", "am_michael", "am_onyx", "am_puck", "am_santa", "bf_emma", "bf_isabella", "bm_george", "bm_lewis", "bf_alice", "bf_lily", "bm_daniel", "bm_fable" ]

ПОЛУЧИТЬ /api/music-tags

curl --location 'localhost:3123/api/music-tags'
[ "sad", "melancholic", "happy", "euphoric/high", "excited", "chill", "uneasy", "angry", "dark", "hopeful", "contemplative", "funny/quirky" ]

Поиск неисправностей

Докер

Серверу нужно не менее 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 .

Благодарности

  • ❤️ Remotion для программной генерации видео

  • ❤️ Шепот для преобразования речи в текст

  • ❤️ Pexels для видеоконтента

  • ❤️ FFmpeg для обработки аудио/видео

  • ❤️ Кокоро для TTS

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Короткий видеоредактор MCP

  1. Оглавление
    1. Начиная
    2. Использование
    3. Информация
  2. Учебник с n8n
    1. Примеры
      1. Функции
        1. Как это работает
          1. Ограничения
            1. Общие требования
              1. НПМ
                1. Поддерживаемые платформы
              2. Концепции
                1. Сцена
              3. Начиная
                1. Докер (рекомендуется)
                2. Docker-композиция
              4. Веб-интерфейс
                1. Переменные среды
                  1. 🟢 Конфигурация
                  2. ⚙️ Конфигурация системы
                  3. ⚠️ Опасная зона
                2. Параметры конфигурации
                  1. Использование
                    1. МСР-сервер
                    2. URL-адреса серверов
                    3. Доступные инструменты
                  2. REST-API
                    1. ПОЛУЧИТЬ /health
                    2. ОТПРАВИТЬ /api/short-video
                    3. ПОЛУЧИТЬ /api/short-video/{id}/status
                    4. ПОЛУЧИТЬ /api/short-video/{id}
                    5. ПОЛУЧИТЬ /api/short-videos
                    6. УДАЛИТЬ /api/short-video/{id}
                    7. ПОЛУЧИТЬ /api/voices
                    8. ПОЛУЧИТЬ /api/music-tags
                  3. Поиск неисправностей
                    1. Докер
                    2. НПМ
                  4. н8н
                    1. Развертывание в облаке
                      1. Часто задаваемые вопросы
                        1. Могу ли я использовать другие языки? (французский, немецкий и т. д.)
                        2. Могу ли я передавать изображения и видео и можно ли их сшить?
                        3. Стоит ли запускать проект с помощью npm или docker ?
                        4. Какой объем графического процессора использу��тся для генерации видео?
                        5. Есть ли пользовательский интерфейс, который я могу использовать для генерации видео?
                        6. Могу ли я выбрать другой источник видео, нежели Pexels, или предоставить свое собственное видео?
                        7. Может ли проект генерировать видео из изображений?
                        8. Зависимости для генерации видео
                        9. Как внести свой вклад?
                        10. Лицензия
                        11. Благодарности

                      MCP directory API

                      We provide all the information about MCP servers via our MCP API.

                      curl -X GET 'https://glama.ai/api/mcp/v1/servers/gyoridavid/short-video-maker'

                      If you have feedback or need assistance with the MCP directory API, please join our Discord server