More screenshots

    Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseOpenClawOpenClaw+21 more

    Vertical Video Converter

    1

    Turn any 16:9 or square video into a clean 1080x1920 vertical MP4 in one command - blur fill, focal crop or letterbox, with burned-in captions and batch mode.

    $7

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    0 installsSecurity scanned
    Vertical Video Converter

    Vertical Video Converter

    Example session with this skill installed

    I've got a 16:9 interview clip that has to ship as a Reel. Keep the whole frame - the subject is off-centre so don't crop it - and burn in the captions I already have in transcript.srt. 1080x1920, and tell me if anything about the output isn't right.

    • Read your context and instructions
    • Compiled the vertical video converter
    • Generated the image

    Converted interview_raw.mp4 to a 9:16 master with the whole frame preserved. blur was the right mode here: crop would have pushed the second speaker out of frame, since the subjects sit at roughly 30% and 70% across the source.

    What ran

    python3 scripts/verticalize.py interview_raw.mp4 \
      --mode blur \
      --captions transcript.srt \
      --caption-size 56 --caption-margin 320 \
      --out interview_raw_vertical.mp4
    

    Result

    MetricSourceOutput
    Resolution1056x608 (16:9)1080x1920 (9:16)
    Frame rate23.99924.0
    Duration28.574s28.583s
    Video codech264h264 (yuv420p, +faststart)
    Audioaacaac 128k

    Captions burned at 56 px with a 320 px bottom margin, which clears the Reels UI. Duration drift is 9 ms - one frame at 24 fps from re-timing the filter chain, and it does not desync the audio.

    Files written

    • interview_raw_vertical.mp4 - 8.89 MB, upload-ready
    • preview.png - side-by-side still of source and output, so the framing is checkable before a full render

    Next steps

    • Open preview.png first. If the blurred band reads too busy, re-run with --mode pad for clean black bars instead.
    • For a delivery master, repeat the command with --crf 18 --preset slow; CRF 20 is tuned for social playback.
    • To process the rest of the set, --batch ./clips --outdir ./vertical applies this exact framing to every clip and reports per-file results.

    vertical-video-converter.png

    PNG · 1536×1024

    Generated

    Example file from a real run - the skill writes it into your workspace.

    Connects securely to your tools. The creator never sees your data.

    What you get

    Convert landscape footage to 9:16 vertical MP4s for social media.Batch process entire folders of clips for platform-specific delivery.Burn in SRT captions at specific pixel heights for platform safe zones.Generate blurred-background vertical videos from screen recordings.

    About this skill

    Manual reframing is the tax on every short-form workflow: open an editor, drag a crop box, guess how much of the frame survives, export, then find out the captions sit under the platform's UI. This skill replaces that with one command that always lands on 1080x1920.

    What it does

    • Reframes to 9:16 - 16:9 or 1:1 footage in, a 1080x1920 master out, with even dimensions forced so h264 never rejects the file.
    • Three layout modes - blur fills the frame with a blurred enlargement of the source so nothing is cropped away, crop scales up and keeps only the band you point at, pad letterboxes on black.
    • Focal control - --focus upper|lower|top|bottom|center, or an explicit fraction like 0.4,0.35 when the subject sits off-centre.
    • Captions that stay in the safe area - burns SRT text on a real-pixel canvas, so --caption-size and --caption-margin mean exactly what they say instead of being multiplied by libass's 384x288 default.
    • Batch mode - walks a folder, applies identical framing to every clip, writes batch-report.json, and keeps going when one file fails.

    Verification is built in

    Every run re-probes its own output and prints a source-vs-output QC table (resolution, fps, duration, codecs, audio), then exits non-zero if the height is not what you asked for. You get evidence, not a green checkmark.

    Requirements

    ffmpeg and ffprobe 5.x+ on PATH (any full build; libass is needed for captions). Python 3.9+, standard library only. No pip installs and no network access.

    Known limitations

    Cropping is geometric, not semantic: there is no face or subject tracking, so --focus is where you point it, and a subject that crosses the frame may still need a fixed band that happens to cover the action. Captions accept SRT, not ASS.

    How to install

    Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.

    ~30 seconds
    1. 1

      Download the ZIP

      Free skills download straight away. Paid skills unlock right after purchase.

    2. 2

      Unzip into your skills folder

      Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.

    3. 3

      Ask your agent to use it

      Restart the agent if it was already running. It picks the skill up automatically - no config needed.

    Skills folder by agent

    Click the path to copy it. Create the folder if it does not exist yet.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean 2 days ago

    • Passed all security checks, Safe to install

    Listed2 days ago

    What's inside

    Frequently Asked Questions