Skip to content

Video

Convert, compress, trim and inspect video. 27 tools. Run any of them from the app, as dogubako video <tool>, over the HTTP API or as an MCP tool.

Tool Id Needs
Convert Video video.convert FFmpeg, FFprobe
Compress Video video.compress FFmpeg, FFprobe
Resize Video video.resize FFmpeg, FFprobe
Change Frame Rate video.fps FFmpeg, FFprobe
Trim Video video.trim FFmpeg, FFprobe
Cut / Split Video video.cut FFmpeg, FFprobe
Crop Video video.crop FFmpeg, FFprobe
Rotate / Flip Video video.rotate FFmpeg, FFprobe
Merge Videos video.merge FFmpeg, FFprobe
Extract Audio from Video video.extract_audio FFmpeg, FFprobe
Remove Audio video.remove_audio FFmpeg, FFprobe
Replace Audio video.replace_audio FFmpeg, FFprobe
Extract Frames video.extract_frames FFmpeg, FFprobe
Video Thumbnail video.thumbnail FFmpeg, FFprobe
Video to GIF video.to_gif FFmpeg, FFprobe
GIF to Video video.from_gif FFmpeg, FFprobe
Change Video Speed video.speed FFmpeg, FFprobe
Stabilize Video video.stabilize FFmpeg, FFprobe
Video Info video.info FFmpeg, FFprobe
Video Preview Clip video.preview FFmpeg, FFprobe
Hardware Encoders video.hw_encoders FFmpeg
Watermark Video video.watermark FFmpeg, FFprobe
Video Contact Sheet video.contact_sheet FFmpeg, FFprobe
Add Subtitles video.subtitles_add FFmpeg, FFprobe
Remove Subtitles video.subtitles_remove FFmpeg, FFprobe
Burn In Subtitles video.subtitles_burn FFmpeg, FFprobe
Extract Subtitles video.subtitles_extract FFmpeg, FFprobe
external engineFFmpegFFprobeprogress

Convert videos between containers and codecs (MP4/H.264, H.265, WebM/VP9, AV1, MKV, MOV, AVI, GIF) with quality control and optional GPU encoding.

Terminal window
dogubako video convert <files…> [options]

Id video.convert · MCP video_convert · Output: files · Timeout 240 min

Also found by: transcode, mp4, webm, mkv, mov, avi, h264, h265, hevc, vp9, av1, prores, format

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
format --format choice mp4 One of: mp4, webm, mkv (MKV (Matroska)), mov (MOV (QuickTime)), avi, gif (Animated GIF).
video_codec --video-codec choice auto One of: auto (Auto (best for container)), h264 (H.264 / AVC), h265 (H.265 / HEVC), vp9, av1, vp8, mpeg4 (MPEG-4 Part 2), prores (Apple ProRes), copy (Copy (no re-encode)). Only used when format is one of mp4, webm, mkv, mov, avi.
audio_codec --audio-codec choice auto One of: auto, aac, mp3, opus, vorbis, flac, pcm (PCM (uncompressed)), ac3 (AC-3), copy, none (Remove audio). Only used when format is one of mp4, webm, mkv, mov, avi.
quality --quality choice medium One of: high, medium (Balanced), low (Small file), custom (Custom CRF).
crf --crf integer 0–63 23 Codec-native constant quality value (lower = better). Only used when quality is custom. Advanced.
speed --speed choice medium One of: fast, medium, slow (Slow (smaller)). Advanced.
audio_bitrate --audio-bitrate integer 32–512 160 Audio bitrate (kbit/s). Advanced.
hardware --hardware choice none Use a hardware encoder when present (falls back to software). One of: none (Software only), auto (Auto (use GPU if available)), nvenc (NVIDIA NVENC), qsv (Intel Quick Sync), vaapi (VA-API), videotoolbox (Apple VideoToolbox), amf (AMD AMF). Advanced.
external engineFFmpegFFprobeprogress

Shrink videos by quality level or to a target file size (two-pass bitrate), optionally capping the resolution.

Terminal window
dogubako video compress <files…> [options]

Id video.compress · MCP video_compress · Output: files · Timeout 240 min

Also found by: reduce size, smaller, shrink, target size, bitrate, 2-pass, email, discord

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
mode --mode choice quality One of: quality (By quality level), size (To a target file size).
level --level choice balanced One of: light (Light (best quality)), balanced, strong (Strong (smallest)). Only used when mode is quality.
target_mb --target-mb number 0.1–100000 25 Target size (MB). Only used when mode is size.
max_resolution --max-resolution choice keep Cap the shorter side of the video. One of: keep, 2160 (4K (2160p)), 1440 (1440p), 1080 (1080p), 720 (720p), 480 (480p), 360 (360p).
codec --codec choice h264 One of: h264 (H.264 (MP4, most compatible)), h265 (H.265 (MP4, smaller)), av1 (AV1 (MP4, smallest, slow)), vp9 (VP9 (WebM)).
audio_kbps --audio-kbps integer 16–320 128 Audio bitrate (kbit/s). Advanced.
speed --speed choice medium One of: fast, medium, slow (Slow (smaller)). Advanced.
hardware --hardware choice none Use a hardware encoder when present (falls back to software). One of: none (Software only), auto (Auto (use GPU if available)), nvenc (NVIDIA NVENC), qsv (Intel Quick Sync), vaapi (VA-API), videotoolbox (Apple VideoToolbox), amf (AMD AMF). Advanced.
external engineFFmpegFFprobeprogress

Scale videos to a preset (4K…240p), custom size or percentage, keeping aspect ratio with fit, fill (crop) or pad modes.

Terminal window
dogubako video resize <files…> [options]

Id video.resize · MCP video_resize · Output: files · Timeout 240 min

Also found by: scale, resolution, 1080p, 720p, downscale, upscale, dimensions, letterbox

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
size --size choice 720 Presets set the shorter side of the video. One of: 2160 (4K (2160p)), 1440 (1440p), 1080 (1080p), 720 (720p), 480 (480p), 360 (360p), 240 (240p), custom (Custom width/height), percent (Percentage).
width --width integer 16–8192 Leave empty to derive from height. Only used when size is custom.
height --height integer 16–8192 Leave empty to derive from width. Only used when size is custom.
percent --percent number 1–400 50 Only used when size is percent.
fit --fit choice fit One of: fit (Fit (keep aspect)), fill (Fill (crop to exact size)), pad (Pad (letterbox to exact size)), stretch. Only used when size is custom.
pad_color --pad-color color #000000 Only used when fit is pad. Advanced.
upscale --upscale boolean false Allow making videos larger than the source. Advanced.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Change a video’s frame rate by dropping/duplicating, blending or motion-interpolating frames.

Terminal window
dogubako video fps <files…> --fps <fps> [options]

Id video.fps · MCP video_fps · Output: files · Timeout 240 min

Also found by: framerate, fps, 60fps, 30fps, 24fps, interpolate, slow motion, smooth

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
fps (required) --fps number 1–240 30 Frames per second.
method --method choice drop One of: drop (Drop / duplicate frames (fast)), blend (Blend frames), interpolate (Motion interpolation (slow)).
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Keep only part of a video by start/end time or duration — fast keyframe stream copy or frame-accurate re-encode.

Terminal window
dogubako video trim <files…> [options]

Id video.trim · MCP video_trim · Output: files · Timeout 240 min

Also found by: cut, clip, shorten, start, end, extract part, segment

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
start --start text Start time (seconds or HH:MM:SS.mmm).
end --end text End time (takes precedence over duration).
duration --duration text Length of the clip.
mode --mode choice accurate One of: accurate (Accurate (re-encode)), copy (Fast (stream copy, cuts on keyframes)).
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Remove a section from a video, or split it into several files at timestamps or every N seconds.

Terminal window
dogubako video cut <file> [options]

Id video.cut · MCP video_cut · Output: files · Timeout 240 min

Also found by: split, remove part, delete segment, chop, chunks, segments

Option CLI Type Default Description
input (required) positional file Video. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
operation --operation choice remove One of: remove (Remove a section), split (Split at timestamps), every (Split every N seconds).
start --start text Start of the section to remove. Only used when operation is remove.
end --end text End of the section to remove. Only used when operation is remove.
points --points text Split points (comma separated). Only used when operation is split.
every_seconds --every-seconds number 1–86400 60 Only used when operation is every.
mode --mode choice accurate One of: accurate (Accurate (re-encode)), copy (Fast (stream copy, cuts on keyframes)).
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Crop videos to a rectangle, a centered aspect ratio (16:9, 9:16, 1:1…) or automatically remove black bars (cropdetect).

Terminal window
dogubako video crop <files…> [options]

Id video.crop · MCP video_crop · Output: files · Timeout 240 min

Also found by: crop, black bars, letterbox, aspect ratio, square, vertical, 9:16, cropdetect

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
mode --mode choice aspect One of: aspect (Aspect ratio (centered)), manual (Rectangle), auto (Auto-detect black bars).
aspect --aspect choice 1:1 One of: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 21:9, 2:1. Only used when mode is aspect.
x --x integer ≥ 0 0 Only used when mode is manual.
y --y integer ≥ 0 0 Only used when mode is manual.
width --width integer ≥ 2 Only used when mode is manual.
height --height integer ≥ 2 Only used when mode is manual.
threshold --threshold integer 0–255 24 Black level threshold for auto-detection. Only used when mode is auto. Advanced.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Rotate videos by 90/180/270 degrees or mirror them; optionally change only the rotation metadata (instant, lossless).

Terminal window
dogubako video rotate <files…> [options]

Id video.rotate · MCP video_rotate · Output: files · Timeout 240 min

Also found by: rotate, flip, mirror, portrait, landscape, orientation, sideways, upside down

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
rotation --rotation choice cw90 One of: cw90 (90° clockwise), ccw90 (90° counter-clockwise), 180 (180°), hflip (Flip horizontally), vflip (Flip vertically).
method --method choice reencode One of: reencode (Re-encode (works everywhere)), metadata (Metadata only (lossless, instant)).
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Join videos end to end — lossless stream copy when they match, or re-encode to a common resolution and frame rate.

Terminal window
dogubako video merge <files…> [options]

Id video.merge · MCP video_merge · Output: files · Timeout 240 min

Also found by: join, concatenate, combine, append, concat

Option CLI Type Default Description
input (required) positional files Videos in the order they should be joined (at least two). Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
mode --mode choice auto One of: auto (Auto (copy when compatible)), copy (Stream copy (identical formats only)), reencode (Re-encode (any inputs)).
resolution --resolution choice first One of: first (Same as first video), largest (Largest input), 1080 (1080p), 720 (720p), 480 (480p). Only used when mode is one of auto, reencode.
format --format choice same One of: same (Same as first video), mp4, mkv, webm, mov.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Save the soundtrack of videos as audio — lossless stream copy or MP3, AAC, WAV, FLAC, Opus or Ogg.

Terminal window
dogubako video extract-audio <files…> [options]

Id video.extract_audio · MCP video_extract_audio · Output: files · Timeout 180 min

Also found by: rip audio, soundtrack, video to mp3, mp4 to mp3, demux, audio track

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
format --format choice mp3 One of: copy (Original (no re-encode)), mp3, m4a (AAC (M4A)), wav, flac, opus, ogg (Ogg Vorbis).
bitrate --bitrate integer 32–320 192 Bitrate (kbit/s). Only used when format is one of mp3, m4a, opus.
track --track integer 0–64 0 Audio track number (0 = first). Advanced.
external engineFFmpegFFprobeprogress

Strip all audio tracks from videos without re-encoding the picture.

Terminal window
dogubako video remove-audio <files…>

Id video.remove_audio · MCP video_remove_audio · Output: files · Timeout 240 min

Also found by: mute, silent, strip audio, no sound, remove sound

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
external engineFFmpegFFprobeprogress

Put a new soundtrack on videos — end at the shorter stream, loop or pad the audio, delay it, or mix it with the original sound.

Terminal window
dogubako video replace-audio <files…> --audio <audio> [options]

Id video.replace_audio · MCP video_replace_audio · Output: files · Timeout 240 min

Also found by: add music, background music, soundtrack, dub, voiceover, mix audio

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
audio (required) --audio file New audio. Accepts audio/*, video/*, .mp3 .m4a .aac .wav .flac .ogg +24 more.
fit --fit choice pad One of: shortest (End with the shorter stream), loop (Loop audio to video length), pad (Pad audio with silence to video length).
mix_original --mix-original boolean false Mix the new audio with the video’s existing sound instead of replacing it.
original_volume --original-volume number 0–4 0.3 Only used when mix_original is true.
new_volume --new-volume number 0–4 1 Advanced.
offset --offset text Delay before the new audio starts. Advanced.
external engineFFmpegFFprobeprogress

Export frames as images: every N seconds, at a frame rate, at specific timestamps, at scene changes, keyframes only, or every frame — optionally zipped.

Terminal window
dogubako video extract-frames <files…> [options]

Id video.extract_frames · MCP video_extract_frames · Output: files · Timeout 240 min

Also found by: frames, images, screenshots, stills, png sequence, scene detection, keyframes

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
mode --mode choice interval One of: interval (Every N seconds), fps (Frames per second), timestamps (At timestamps), scene (At scene changes), keyframes (Keyframes only), all (Every frame).
interval --interval number 0.01–86400 1 Interval (seconds). Only used when mode is interval.
fps --fps number 0.001–240 1 Only used when mode is fps.
timestamps --timestamps text Only used when mode is timestamps.
scene_threshold --scene-threshold number 0.01–1 0.3 Scene change sensitivity (lower = more frames). Only used when mode is scene.
format --format choice png One of: png, jpg (JPEG), webp.
width --width integer 16–8192 Scale frames to this width (keeps aspect). Advanced.
max_frames --max-frames integer 1–20000 300
zip --zip boolean false Return a single ZIP archive (automatic above 100 frames).
external engineFFmpegFFprobeprogress

Grab a single frame as an image — at a time or percentage, or let FFmpeg’s thumbnail filter pick the most representative frame.

Terminal window
dogubako video thumbnail <files…> [options]

Id video.thumbnail · MCP video_thumbnail · Output: files · Timeout 240 min

Also found by: poster, cover, preview image, screenshot, still, frame grab

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
mode --mode choice best One of: best (Most representative frame), time (At a specific time).
time --time text 10% Time or percentage of the duration (for ‘best’, where to start looking).
width --width integer 16–8192 Scale to this width (keeps aspect).
format --format choice jpg One of: jpg (JPEG), png, webp.
external engineFFmpegFFprobeprogress

Turn video clips into high-quality animated GIFs (two-pass palette), animated WebP or APNG with frame rate, width, range, looping and dithering control.

Terminal window
dogubako video to-gif <files…> [options]

Id video.to_gif · MCP video_to_gif · Output: files · Timeout 240 min

Also found by: gif, animated, meme, webp, apng, palette, convert to gif

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
start --start text Start time.
duration --duration text Length (empty = until the end).
fps --fps integer 1–50 12
width --width integer 0–4096 480 Output width in pixels (0 = original).
loop --loop choice forever One of: forever (Loop forever), once (Play once), 3 (3 times), 5 (5 times).
format --format choice gif One of: gif, webp (Animated WebP), apng (Animated PNG).
dither --dither choice sierra2_4a One of: sierra2_4a (Sierra (default)), floyd_steinberg (Floyd–Steinberg), bayer (Bayer (ordered)), none. Only used when format is gif. Advanced.
colors --colors integer 2–256 256 Only used when format is gif. Advanced.
palette_mode --palette-mode choice diff One of: diff (Optimize for motion), full (Whole frame). Only used when format is gif. Advanced.
external engineFFmpegFFprobeprogress

Convert animated GIF / WebP / APNG files to MP4 (H.264) or WebM (VP9) — much smaller and widely playable.

Terminal window
dogubako video from-gif <files…> [options]

Id video.from_gif · MCP video_from_gif · Output: files · Timeout 240 min

Also found by: gif to mp4, gif to webm, animated, convert gif

Option CLI Type Default Description
input (required) positional files Animations. Accepts .gif .webp .apng .png.
format --format choice mp4 One of: mp4 (MP4 (H.264)), webm (WebM (VP9)).
repeat --repeat integer 0–100 0 Extra times to repeat the animation.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Speed up or slow down videos (0.25×–4×), adjusting the audio tempo without changing pitch.

Terminal window
dogubako video speed <files…> --factor <factor> [options]

Id video.speed · MCP video_speed · Output: files · Timeout 240 min

Also found by: fast forward, slow motion, timelapse, playback speed, speed up, slow down

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
factor (required) --factor number 0.25–4 2 2 = twice as fast, 0.5 = half speed.
audio --audio choice keep One of: keep (Keep (tempo adjusted, same pitch)), mute (Remove audio).
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Reduce camera shake with two-pass vid.stab (vidstabdetect/vidstabtransform) when available, otherwise FFmpeg’s deshake filter.

Terminal window
dogubako video stabilize <files…> [options]

Id video.stabilize · MCP video_stabilize · Output: files · Timeout 240 min

Also found by: shaky, stabilise, deshake, smooth, handheld, vidstab, gimbal

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
strength --strength choice medium One of: low, medium, high.
method --method choice auto One of: auto, vidstab (vid.stab (two-pass)), deshake (deshake (single pass)). Advanced.
borders --borders choice zoom One of: zoom (Zoom to hide borders), black (Keep black borders). Advanced.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobe

Inspect media files with ffprobe: container, duration, bitrate, every stream (codec, resolution, frame rate, audio layout, language), chapters and tags.

Terminal window
dogubako video info <files…>

Id video.info · MCP video_info · Output: structured data · Timeout 5 min

Also found by: metadata, ffprobe, mediainfo, codec, resolution, bitrate, streams, properties

Option CLI Type Default Description
input (required) positional files Media files. Accepts audio/*, video/*, .mp3 .m4a .aac .wav .flac .ogg +24 more.
external engineFFmpegFFprobeprogress

Make a short preview / teaser made of N clips sampled evenly across each video.

Terminal window
dogubako video preview <files…> [options]

Id video.preview · MCP video_preview · Output: files · Timeout 240 min

Also found by: teaser, trailer, highlight, summary, sample, hover preview

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
segments --segments integer 1–30 6
segment_seconds --segment-seconds number 0.5–30 2
width --width integer 0–3840 640 Output width (0 = original).
audio --audio boolean true
format --format choice mp4 One of: mp4, webm.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpeg

List GPU/hardware video encoders and decoders FFmpeg supports here (NVENC, Quick Sync, VA-API, VideoToolbox, AMF) and test which actually work.

Terminal window
dogubako video hw-encoders [options]

Id video.hw_encoders · MCP video_hw_encoders · Output: structured data · Timeout 5 min

Also found by: gpu, nvenc, qsv, vaapi, videotoolbox, amf, hardware acceleration, hwaccel, cuda

Option CLI Type Default Description
test --test boolean true Run a tiny test encode for each compiled-in encoder.
external engineFFmpegFFprobeprogress

Overlay a logo image or a text watermark on videos with position, margin, size and opacity control.

Terminal window
dogubako video watermark <files…> [options]

Id video.watermark · MCP video_watermark · Output: files · Timeout 240 min

Also found by: logo, overlay, branding, drawtext, text overlay, copyright

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
kind --kind choice text One of: image (Image / logo), text.
image --image file Accepts image/*. Only used when kind is image.
text --text text Only used when kind is text.
position --position choice bottom-right One of: bottom-right (Bottom right), bottom-left (Bottom left), top-right (Top right), top-left (Top left), center.
margin --margin integer 0–2000 16
opacity --opacity number 0–1 0.8
size --size number 1–100 15 Image width / text height as a percentage of the video width / height.
color --color color #ffffff Only used when kind is text.
box --box boolean true Draw a translucent box behind the text. Only used when kind is text.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

Create a screenshot grid (contact sheet) of frames sampled evenly across each video.

Terminal window
dogubako video contact-sheet <files…> [options]

Id video.contact_sheet · MCP video_contact_sheet · Output: files · Timeout 240 min

Also found by: screenshot grid, thumbnails, storyboard, mosaic, tile, overview, screen caps

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
columns --columns integer 1–12 4
rows --rows integer 1–20 4
tile_width --tile-width integer 32–1920 320
padding --padding integer 0–64 4 Advanced.
background --background color #000000 Advanced.
format --format choice jpg One of: jpg (JPEG), png, webp.
external engineFFmpegFFprobeprogress

Add one or more soft subtitle tracks (SRT, WebVTT, ASS) to a video with language tags — no re-encoding.

Terminal window
dogubako video subtitles-add <file> --subtitles <subtitles> [options]

Id video.subtitles_add · MCP video_subtitles_add · Output: files · Timeout 240 min

Also found by: soft subtitles, captions, mux, srt, subtitle track, embed subtitles, closed captions

Option CLI Type Default Description
input (required) positional file Video. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
subtitles (required) --subtitles files Accepts .srt .vtt .ass .ssa.
languages --languages text ISO 639 language codes, one per subtitle file.
default_track --default-track boolean true Mark the first added track as default.
format --format choice same One of: same (Same as input (AVI → MKV)), mkv, mp4, mov, webm.
external engineFFmpegFFprobeprogress

Remove embedded subtitle tracks from videos without re-encoding (all, or only selected languages).

Terminal window
dogubako video subtitles-remove <files…> [options]

Id video.subtitles_remove · MCP video_subtitles_remove · Output: files · Timeout 240 min

Also found by: strip subtitles, delete captions, remove subtitle track

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
languages --languages text Only remove these languages (empty = remove all).
external engineFFmpegFFprobeprogress

Permanently render subtitles into the picture (hard subs) from an SRT/VTT/ASS file or an embedded track, with font size, colour and position options.

Terminal window
dogubako video subtitles-burn <files…> [options]

Id video.subtitles_burn · MCP video_subtitles_burn · Output: files · Timeout 240 min

Also found by: hardsub, hard subtitles, open captions, burn subtitles, render captions

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
subtitles --subtitles file Accepts .srt .vtt .ass .ssa.
stream --stream integer 0–99 …or burn this embedded subtitle track (0 = first).
font_size --font-size integer 0–200 0 0 = automatic.
color --color color #ffffff
outline_color --outline-color color #000000 Advanced.
position --position choice bottom One of: bottom, top, middle.
margin --margin integer 0–500 20 Advanced.
override_ass_style --override-ass-style boolean false Apply the style options to ASS files too. Advanced.
quality --quality choice medium Encoding quality used when the video must be re-encoded. One of: high (High (larger file)), medium (Balanced), low (Low (smaller file)). Advanced.
external engineFFmpegFFprobeprogress

List the subtitle tracks of videos and save them as SRT, WebVTT or ASS (or copy image-based tracks as-is).

Terminal window
dogubako video subtitles-extract <files…> [options]

Id video.subtitles_extract · MCP video_subtitles_extract · Output: files · Timeout 240 min

Also found by: rip subtitles, export captions, srt, subtitle track, demux subtitles

Option CLI Type Default Description
input (required) positional files Videos. Accepts video/*, .mkv .mp4 .mov .webm .avi .m4v +10 more.
format --format choice srt One of: srt, vtt (WebVTT), ass, copy (Original format).
track --track integer 0–99 Only this subtitle track (0 = first; empty = all).
list_only --list-only boolean false Only list the tracks.