From d2bead0f7adff7ff8867f7ce5f9d5e61df86bbb5 Mon Sep 17 00:00:00 2001 From: Nicholas Tindle Date: Thu, 22 Jan 2026 13:49:48 -0600 Subject: [PATCH] feat(blocks): create video module with all blocks Consolidate video editing blocks into dedicated module. Migrate blocks from media.py per review feedback. Addresses: @majdyz review comment --- .../backend/backend/blocks/video/__init__.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 autogpt_platform/backend/backend/blocks/video/__init__.py diff --git a/autogpt_platform/backend/backend/blocks/video/__init__.py b/autogpt_platform/backend/backend/blocks/video/__init__.py new file mode 100644 index 0000000000..6ca977d08f --- /dev/null +++ b/autogpt_platform/backend/backend/blocks/video/__init__.py @@ -0,0 +1,31 @@ +"""Video editing blocks for AutoGPT Platform. + +This module provides blocks for: +- Downloading videos from URLs (YouTube, Vimeo, news sites, direct links) +- Clipping/trimming video segments +- Concatenating multiple videos +- Adding text overlays +- Adding AI-generated narration +- Getting media duration +- Looping videos +- Adding audio to videos + +Dependencies: +- yt-dlp: For video downloading +- moviepy: For video editing operations +- requests: For API calls (narration block) +""" + +from backend.blocks.video.clip import VideoClipBlock +from backend.blocks.video.concat import VideoConcatBlock +from backend.blocks.video.download import VideoDownloadBlock +from backend.blocks.video.narration import VideoNarrationBlock +from backend.blocks.video.text_overlay import VideoTextOverlayBlock + +__all__ = [ + "VideoClipBlock", + "VideoConcatBlock", + "VideoDownloadBlock", + "VideoNarrationBlock", + "VideoTextOverlayBlock", +]