CutLuma video editor
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Free online video editor: search tools, guides and templates, video sizes, pricing, editor links.
| Author | com.cutluma |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2292 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"CutLuma video editor": {
"url": "https://cutluma.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (25)
search_cutlumaread-onlySearch CutLuma's free online video tools, "video editor for <platform>" pages, how-to guides (video sizes, subtitles, screen recording, shorts…), the video business playbooks (how to earn from video: clipping, YouTube, UGC, courses, podcasts…) and 5030 animated video templates. Returns matching pages with links, a Markdown URL for the full text and, where it applies, a link that opens the editor with that tool or template ready.
Parameters:
query(required) — string — What the user wants to do or find, e.g. "add Arabic subtitles", "TikTok size", "sale template"kind— string — "guide" covers the how-to guides and the video business playbookslimit— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_pageread-onlyRead any CutLuma content page as Markdown: "/" (overview, plans, features), "/tools", "/tools/<slug>", "/video-editor", "/video-editor/<slug>", "/guides", "/guides/<slug>", "/templates", "/templates/<id>".
Parameters:
path(required) — string — Path such as /guides/social-media-video-sizes
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_free_toolsread-onlyAll 68 single-purpose tools (captions, screen recorder, resize, trim, remove silence, add music, green screen, GIF maker…) with what each does, whether it is free or part of the paid plans, and the link that opens it.
Hints: read-only yes · destructive no · idempotent yes · open-world no
find_templatesread-onlyFind animated video templates by keyword, format (9:16 for TikTok/Reels/Shorts, 1:1, 4:5, 16:9 for YouTube), category (Trending formats, Social posts, Hooks & intros, Lists & tips, Tutorials & courses, Stats & data, Quotes & stories, Sales & business, Real estate, Construction, Medical & health, Product & launch, Creators, Food & drink, Fitness & wellness, Fashion & beauty, Travel, Music & nightlife, Events, Holidays, Education & school, Kids & family, Gaming & esports, Tech & SaaS, Finance & money, Cars & automotive, Sports, Pets & animals, Home & interior, Hotels & hospitality, Nonprofit & causes, Local services, News & media, Weddings & love, Corporate & HR, Memes & humor, Faith & spirituality, Science & nature, Art & photography, Books & writing, Film & entertainment, Government & public info, 中文 · Chinese, हिन्दी · Hindi, Español · Spanish, عربي · Arabic, Français · French, বাংলা · Bengali, Português · Portuguese, Русский · Russian, Bahasa Indonesia · Indonesian, اردو · Urdu, Deutsch · German, 日本語 · Japanese, Türkçe · Turkish, 한국어 · Korean) or language (en, zh, hi, es, ar, fr, bn, pt, ru, id, ur, de, ja, tr, ko). Each result has an "open" link that loads it in the editor.
Parameters:
limit— integerquery— stringarabic— boolean — true: Arabic right-to-left templates onlyformat— stringcategory— stringlanguage— string — only templates written in this language
Hints: read-only yes · destructive no · idempotent yes · open-world no
video_size_guideread-onlyRecommended aspect ratio and pixel size for YouTube, Shorts, TikTok, Instagram Reels/Stories/feed, Facebook, LinkedIn and X, with safe-zone advice for vertical video.
Parameters:
platform— string — Optional filter, e.g. "tiktok", "instagram reels", "youtube"
Hints: read-only yes · destructive no · idempotent yes · open-world no
video_business_playbooksread-onlyCutLuma's series of researched guides on earning money with video (start here, service business, channel business, platform income, platform payouts, retainer service, local service, digital product, commission income, audience business, localization service, ad creative, operating system, lead generation). Without arguments: every part with its business model, key facts and takeaways. With "topic": the parts that match (e.g. "clipping", "YouTube pay", "UGC", "real estate", "course", "affiliate", "podcast", "translate"). Each part cites its sources; read the full text with get_page. Figures are published ranges and worked examples, not promises of income.
Parameters:
topic— string — Optional: what the user wants to earn from or which model they ask about
Hints: read-only yes · destructive no · idempotent yes · open-world no
make_editor_linkread-onlyA link the user can open to start right away in the CutLuma editor with a tool or template ready. tool is one of: captions, record, resize, silence, shorts, product, testimonials, trim, text, music, montage, camera, voice, speed, tts, translate, greenscreen, cutout, prompter, stock, textvideo, magicdesign, aiimage, bgremove, magicedit, visualizer, charts, industry, effects, translatedesign, localize, transcript, dub, publish, present, open, subtitles, textbehind, tracking, subjectfx, colorchange, freezeintro, guide, hub, narration, agent, grade, mixer, multicam. language is a two-letter code for captions (e.g. "ar", "es"). With neither, a blank project opens.
Parameters:
tool— stringlanguage— stringtemplate— string — Template id from find_templates
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_pricingread-onlyCurrent CutLuma plans with price, billing interval, limits and what each includes. The editor is free; AI features are part of the paid plans.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_shared_videoread-onlyDetails of a video shared with a CutLuma link (cutluma.com/watch?v=…): title, kind, size, length, direct file, embed and thumbnail URLs.
Parameters:
url(required) — string — The share link
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_projectsread-onlyThe signed-in user's CutLuma projects, newest first, with ids, sizes and durations. Needs the user's sign-in or an agent key.
Parameters:
limit— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_projectStart an empty project. format: 16:9 (YouTube), 9:16 (TikTok, Reels, Shorts), 1:1, 4:5 or 21:9; or give width and height. Returns the id and the link the user opens so you can edit it.
Parameters:
name— stringwidth— integerformat— stringheight— integer
Hints: read-only no · destructive no · idempotent no · open-world no
get_projectread-onlyTracks (top to bottom) and every clip with id, kind, start and duration in seconds, as last saved. Use before editing. full=true also lists caption clips.
Parameters:
project(required) — string — Project id from list_projects or create_projectfull— boolean
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_mediaread-onlyVideos, images and sounds the user has uploaded or recorded: id, name, kind, duration. Put one on the timeline with the addMedia op.
Parameters:
kind— stringlimit— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_transcriptread-onlyThe spoken words of the project’s clips placed on the timeline (start/end in seconds), when the clips have been transcribed. If this is empty, get_media_transcript transcribes a file (also one that is not on the timeline yet), or run the addCaptions op.
Parameters:
project(required) — string — Project id from list_projects or create_project
Hints: read-only yes · destructive no · idempotent yes · open-world no
connect_editorread-onlyWhether an editor tab is listening for this project. If not, returns the link the user must open. Editing, frames and export need it.
Parameters:
project(required) — string — Project id from list_projects or create_project
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_edit_opsread-onlyThe full catalogue of ops the open editor can run (name, arguments, meaning): text, captions, trims, colour grading, sound, effects, AI tools… Call once per session before edit_project.
Parameters:
project(required) — string — Project id from list_projects or create_project
Hints: read-only yes · destructive no · idempotent yes · open-world no
edit_projectdestructiveRun one or more ops from list_edit_ops in order, as one undo step. Returns what changed (or why an op failed) and the new timeline. Times are seconds; clip ids come from get_project. Ops that only measure (loudness, scopes) return their data here too.
Parameters:
project(required) — string — Project id from list_projects or create_projectactions(required) — arrayconfirm— boolean — Set true to run ops that normally wait for a person’s click (delete everything, share).
Hints: read-only no · destructive yes · idempotent no · open-world no
view_frameread-onlyThe composited picture at a time, as a JPEG, so you can check framing, text, colour and layout. Moves the playhead there. With clip, that one clip alone (its crop, grade and effects, nothing in front of it or behind it) — also the way to see a multicam angle that is not on air.
Parameters:
project(required) — string — Project id from list_projects or create_projecttime(required) — number — Seconds from the startclip— string — A clip id from get_project (or part of its name): show that clip alonewidth— integer — Picture width in pixels (default 640)
Hints: read-only yes · destructive no · idempotent yes · open-world no
view_contact_sheetread-onlyA grid of frames across the project (or between from and to), each stamped with its time. The quickest way to review an edit. Give times to see exact moments instead (both sides of every cut, say); give clip to see one clip alone across its length.
Parameters:
project(required) — string — Project id from list_projects or create_projectto— numberclip— string — A clip id from get_project (or part of its name): show that clip alonefrom— numbercount— integertimes— array — Exact times in seconds to show, instead of from / to / count
Hints: read-only yes · destructive no · idempotent yes · open-world no
view_mediaread-onlyA contact sheet of a video in the media library (or the picture itself, for an image): frames across the file, each stamped with its time in the file, without putting it on the timeline. Use it to find the part worth using in a long recording: look at the whole file, then closer with from / to, then view_media_frame for one moment. Runs in the open editor.
Parameters:
project(required) — string — Project id from list_projects or create_projectmedia(required) — string — Media id from list_media, or the file nameto— numberfrom— number — Seconds into the filecount— integertimes— array — Exact times in the file to show
Hints: read-only yes · destructive no · idempotent yes · open-world no
view_media_frameread-onlyOne frame of a library video at a time in the file (or a library image), as a JPEG: the file itself, with no crop, grade or titles.
Parameters:
project(required) — string — Project id from list_projects or create_projectmedia(required) — string — Media id from list_media, or the file nametime— number — Seconds into the filewidth— integer — Picture width in pixels (default 640)
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_media_transcriptThe words said in a library video or sound file, in lines with their times in the file (seconds), whether or not it is on the timeline. COST: a stretch that was not heard before is transcribed now with the user’s AI time (paid plans): one AI minute per minute of sound, silence is free. What was heard is kept, so asking again, or captioning the file once it is on the timeline, costs nothing more — the result says how many AI seconds this call used and which stretches are known. Give from / to to listen to part of a long file (get_media_levels shows where there is sound, for free). A long stretch answers with a job id: poll get_job.
Parameters:
project(required) — string — Project id from list_projects or create_projectmedia(required) — string — Media id from list_media, or the file nameto— number — Seconds into the file (default: its end)from— number — Seconds into the file (default: its start)language— string — Spoken language code such as en, ar, es (default: detect)
Hints: read-only no · destructive no · idempotent yes · open-world no
get_media_levelsread-onlyLoudness over time of a library video or sound file: RMS in dBFS per step (−100 = silence), the quiet stretches (pauses, dead air) and the loudest moments (a clap, laughter, applause), all in seconds of the file. Finds where the talking is without transcribing. Free. A long file takes a while the first time: it may answer with a job id (poll get_job).
Parameters:
project(required) — string — Project id from list_projects or create_projectmedia(required) — string — Media id from list_media, or the file nameto— numberfrom— numberstep— number — Seconds per reading (default: about 300 readings)
Hints: read-only yes · destructive no · idempotent yes · open-world no
export_videoRender the project to MP4 in the user’s editor, save it to their library and return a share link. Takes about as long as the video, so this returns a job id at once: poll get_job. The plan’s limits apply (Free: 1080p with a watermark).
Parameters:
project(required) — string — Project id from list_projects or create_projectfps— integershare— boolean — Also make a public watch link (default true)quality— stringresolution— integer
Hints: read-only no · destructive no · idempotent no · open-world yes
get_jobread-onlyStatus (queued, running, done, failed) and result of an export or any call that answered "running".
Parameters:
job(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.