# Montik

> Montik is a browser video editor for short ads and social videos, built so an agent can edit the same project live, next to the user, over MCP.

## Connect

Add https://studio.montik.app/mcp to your MCP client as a remote server (Streamable HTTP) and sign in with OAuth. The user can also make a personal access token in the Agent page and send it as a Bearer token.

## Docs

- [Full reference](https://studio.montik.app/llms-full.txt): the guide, the playbooks and every tool with its inputs

## Playbooks

- clean-cut: Turn raw talking-head or interview footage into a tight, captioned edit. Use when the user asks to clean up, tighten, shorten or caption someone talking to camera (ums, pauses, retakes, jump cuts, punch-ins).

- ad-variants: Make versions of an ad to test - different hooks, shorter cut-downs (15 s, 6 s) and other formats (9:16, 1:1, 4:5, 16:9). Use when the user asks for variants, A/B versions, more hooks, other lengths or other placements.

- brand-overlays: Design on-brand motion graphics for a video - hook titles, labels, number stamps, price tags, calls to action, lower thirds, logo bugs and custom HTML overlays. Use when the user asks for graphics, titles, animated text, stickers, a CTA or anything "in our brand".

- brand: The brand flow, for projects with a brand kit - keep the kit complete, build and extend the brand's own graphics pack, write every line in its voice, and review the edit against the brand before showing it. Use when get_brand says kit is true, or when the user asks to set up their brand.

- self-review: Check an edit before handing it over, and work through reviewer notes. Use before saying an edit is done, when the user asks to review or check it or whether it is ready, and when there are open notes or a review came back with changes.

## Tools

- get_project: Project settings, tracks with their clips, media and transcript status.

- get_ui_state: What the user is doing in the browser: playhead time, selected clips, and the in and out points they marked (range; "this part" means it).

- list_projects: List the user's projects (most recently edited first) with the folder each is in; the one you are working in is marked current.

- move_projects: Move projects into a folder, their variants with them, to keep the user's work split (by brand, campaign, anything).

- delete_project: Delete a project permanently: its timeline, versions, uploaded media, cover and exports.

- create_project: Create a new empty project and open it.

- open_project: Switch to another project by id.

- set_project_settings: Rename the project or change canvas: aspect preset (16:9, 9:16 for Reels/TikTok/Shorts, 1:1, 4:5…) or exact width/height, fps, background color.

- undo: Undo your last edit.

- redo: Redo the edit you last undid.

- import_media: Add a video, audio or image file to the media library from a public https URL, such as a generated voiceover or music.

- list_media: Media library with bins, durations, resolution, loudness (LUFS; null = silent), AI tags and transcript status.

- remove_media: Remove media items and all their clips.

- update_media: Rename a media item or mark it as a favourite.

- create_bin: Create a bin (folder) in the media library, optionally inside another bin.

- update_bin: Rename a bin or move it into another bin (parentId null = library root).

- delete_bin: Delete a bin.

- move_media: Move media items into a bin (binId null = library root).

- tag_media: Look at footage and photos: a line describing the shot, tags, text readable in it and, for a clip, what happens when (moments), so search_media can find it by content.

- search_media: Search the media library by file name, bin, what is in the shot (tags, description, readable text, moments) and spoken words in transcripts.

- view_media_frames: Look at a source media file.

- detect_silence: Pauses in a media file (no transcript needed): the gaps between detected speech (Silero VAD, made at upload), or audio level below thresholdDb when method is "audio" or the file has no speech data yet.

- add_track: Add a track.

- update_track: Rename / mute / hide / lock a track, or set music ducking (duck: { amount } lowers it while someone speaks; null turns it off).

- remove_track: Delete a track and its clips.

- remove_empty_tracks: Delete every track with no clips on it, keeping one video track.

- move_track: Reorder a track (index 0 = top layer).

- add_clip: Place media on the timeline.

- add_text: Add a text/title clip.

- update_clip: Change any clip property: timing, speed, volume, opacity, fit, transform, crop, color filters, fades, text content/style, or move to another track.

- update_clips: Apply the same patch to many clips at once (e.g.

- move_clip: Move a clip in time and/or to another track.

- trim_clip: Set a clip's timeline start and/or end edge (the in-point follows).

- nudge_clips: Move clips earlier/later by a few frames (or seconds), stopping at the next clip instead of overlapping it.

- slip_clip: Show a different part of the source in the same slot: the clip keeps its place and length, its in-point moves by delta source seconds (or to `in`).

- paste_clips: Copy clips to another time: clipIds are copied so the earliest lands at `at` (keeping their spacing and tracks when free).

- paste_attributes: Copy the look of one clip onto others.

- freeze_frame: Hold the frame at `time` for `duration` seconds (default 1): the clip is split there and the still is inserted, pushing the rest of that track later.

- detach_audio: Move a video clip's sound to its own clip on an audio track (to trim or move it separately).

- replace_media: Swap the footage under clips for another media item, keeping timing, effects, animation and look.

- split_clip: Split at a timeline time.

- delete_clips: Delete clips.

- duplicate_clip: Duplicate a clip (placed right after it unless start is given).

- delete_ranges: Cut timeline time ranges out of all (or given) tracks, splitting clips.

- keep_ranges: Keep only these timeline ranges and remove everything else (ripple).

- close_gaps: Remove empty space between clips on a track (or all tracks).

- batch_edit: Run several actions in order as ONE undo step (e.g.

- get_brand: The project's brand kit (colours, fonts, logo, voice, DNA notes) and how overlays use it.

- list_brands: All saved brand kits.

- delete_brand: Delete a saved brand kit.

- save_brand: Create or update a brand kit: colours (hex), heading/body fonts (any family from list_fonts; add Google fonts first), a logo, the voice (enforced by check_copy and check_edit) and DNA notes (do/don't, references) that you follow when designing for this brand.

- set_project_brand: Use a brand kit for this project (overlays, captions).

- list_fonts: Fonts usable in captions, text and overlays: custom (Google/uploaded) and safe system fonts.

- remove_font: Remove a custom font family.

- add_google_font: Download a Google Fonts family (exact name from fonts.google.com) so captions, text and overlays can use it.

- list_components: Reusable animated overlay components: the project brand's pack (pack: true) first, then the team's saved ones and the built-ins, with their props.

- get_component: Full HTML/CSS/JS of a component (to adapt it or learn the house style).

- save_component: Save an overlay to the library so it can be reused across videos.

- import_lottie: Add a Lottie animation (bodymovin JSON) to the graphics library, and optionally place it on the timeline.

- delete_component: Delete a saved component.

- add_html_overlay: Put an animated HTML overlay on the timeline: a library component with props (see list_components), or your own html/css/js.

- update_html_overlay: Change an overlay: props (merged), component (null = custom code only), or its html/css/js.

- set_keyframes: Animate a clip property over time (video, image, text or overlay clips).

- add_keyframe: Add or replace one keyframe.

- remove_keyframe: Remove the keyframe of one property at clip-local time t.

- clear_keyframes: Remove keyframes (one property or all).

- punch_in: Jump-cut punch-ins like a pro edit: alternates normal and zoomed framing across the clips of the main video track (or given clips), centres the detected face (detects faces first if needed) at anchorY, never shows edges.

- list_sfx: Built-in sound effects, in groups: Transitions (whoosh, swipe, riser, glitch), Hits (boom, impact, punch), Interface (pop, click, notification, message), Foley (shutter, keyboard), Rewards (coin, ka-ching, level-up, sparkle) and Comedy (record-scratch, bruh, sad-trombone, boing, rimshot).

- add_sfx: Place a sound effect at a timeline time on the SFX track (e.g.

- set_ducking: Lower a music track automatically while someone speaks (uses the speech detected at upload, else the transcript, else audio level).

- level_audio: Even out how loud clips play: sets each clip's volume from its file's measured loudness (media `loudness`, LUFS) so they all sound equally loud.

- set_voice_cleanup: Clean up voice on clips (applied on export): denoise removes hiss/room noise, enhance adds clarity (low-cut, presence EQ, gentle compression).

- list_animations: In/out animation types (for video, image and text clips) and transition types (between touching clips).

- set_animation: Animate clips in and/or out (titles, captions, stickers, b-roll).

- set_transition: Transition into a clip from the clip directly before it on the same video track (they must touch).

- set_transitions_all: Put the same transition on every cut of a video track (or all video tracks).

- list_effects: The effect catalog: every effect type, its group and parameter ranges.

- add_effect: Stack an effect on video/image clips (any number per clip, applied in order; keying always runs last).

- update_effect: Change an effect's parameters or turn it on/off.

- remove_effect: Remove one effect from a clip.

- move_effect: Reorder an effect within the clip stack (0 = applied first).

- copy_effects: Copy one clip's whole effect stack onto other clips (replaces theirs unless append=true).

- clear_effects: Remove all effects from clips.

- transcribe_media: Transcribe media with Soniox (word timestamps, speakers, 60+ languages incl.

- get_transcript: Timeline transcript (only what is currently on the timeline, in timeline time).

- delete_words: Text-based editing: delete transcript words by index (from get_transcript) and ripple-cut them from the timeline.

- keep_words: Keep only these word ranges (in timeline order) and cut everything else.

- remove_silences: Cut pauses longer than minGap.

- remove_filler_words: Remove filler words (needs transcript).

- generate_captions: Auto-captions from the transcript onto a "Captions" text track (replaces existing).

- render_frame: Render exactly what the export will look like at timeline times (PNG; up to 8 in one call, faster than one call each).

- export_video: Render the timeline to a file (mp4, or mp3/wav/m4a audio only).

- export_status: Status of an export job (or all jobs).

- cancel_export: Cancel a running export.

- set_playhead: Move the user's playhead in the browser (e.g.

- select_clips: Select clips in the browser UI.

- add_marker: Drop a marker on the timeline (a beat, a line, a moment to cut on).

- list_markers: Markers on the timeline (kind "beat" = made from music beats).

- update_marker: Move, rename or recolour a marker.

- remove_markers: Remove markers by id, all beat markers (kind: "beat"), or all.

- list_notes: The reviewer's notes on the cut: what should change, pinned to a time or range, with the clips there.

- add_note: Pin a review note to a time (or a range with end, or a clip).

- update_note: Edit a note or move it.

- resolve_note: Mark a note as done, with a short reply saying what changed ("moved the caption 6 frames earlier").

- reopen_note: Reopen a resolved note.

- delete_note: Delete a note.

- save_version: Save a named snapshot of the timeline ("v2: tighter hook") the reviewer can compare against or restore.

- list_versions: Saved versions, newest first, each with what changed since the one before.

- compare_versions: What changed between a saved version and the current timeline (or another version).

- restore_version: Put the timeline back to a saved version (the current state is saved as a version first, and undo works).

- delete_version: Delete a saved version.

- get_beats: Beats of the music on the timeline (detected at upload): BPM and beat times on the timeline, per music clip.

- add_beat_markers: Put markers on the beats of a music clip (every beat, every 2nd, every 4th = once a bar in 4/4), so cuts can snap to them.

- check_copy: Check lines of on-screen copy against the project brand's voice before using them: words it avoids, emoji, exclamation marks, case, length for graphics, template phrases.

- check_edit: Review the cut for mistakes before showing it: black frames, flash frames, text under platform buttons (safe areas: tiktok, reels, shorts, title), text over black, captions too fast to read, a slow first cut, music without ducking, a clip much louder or quieter than the rest.

- create_variants: Make copies of this project to try alternatives (e.g.

- export_projects: Export several projects at once (e.g.

- set_cover: Use the frame at `time` as the project thumbnail on the projects screen.

- set_review_status: Where the project stands: draft (still editing), review (ready for the reviewer to look at), changes (the reviewer asked for changes), approved.

- get_playbook: Read the playbook for a whole job before starting it: the steps, tools and settings that make it good.

- create_upload: A link to send one file from your own machine to the project's media library, good for 60 minutes and one upload.

- create_font_upload: A link to add one custom font file (.ttf, .otf or .woff2, up to 30 MB) from your own machine to the workspace's fonts, good for 60 minutes and one upload.

- get_share_link: The project's review link, if it has one (default: the open project).

- create_share_link: Make a review link: anyone who has it can watch the project, leave notes, and approve or ask for changes, without an account.

- revoke_share_link: Turn the review link off, so it stops working for everyone who has it.

- duplicate_project: Copy a project (default: the open one) into a separate new project, in the same folder.

- list_folders: The folders in the user's workspaces, with their ids and brand kits.

- update_folder: Rename a folder or choose its brand kit (list_brands; null: none).

- delete_folder: Delete a folder.