Skip to main content
Glama

Cut a YouTube video

cut_youtube_video

Cut a YouTube video into one or more clips and receive a direct download URL. Supports time ranges, batch cuts, multiple output formats, and job status polling.

Instructions

Cut a clip (or clips) from a YouTube video and return its download URL. Submits a cut job to AppsGolem and (by default) polls until it's produced, then returns the produced status — which includes a download_url once a download token is ready. Pricing: 1 credit per produced clip (4K = 4/clip, except audio_only which stays 1; a known source duration > 2h adds +1 once); a batch/stitch of N clips costs N per-clip. Failed cuts are never billed. On a wait-timeout the result has still_processing=true; poll get_cut_status with the returned id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoClip end as "SS"/"MM:SS"/"HH:MM:SS" (≤300h). Omit when passing clips.
urlYesA YouTube video URL (watch/share/youtu.be — playlists rejected).
fastNoStream-copy (≈10× faster, keyframe-aligned); video/nosound/both only. Mutually exclusive with a non-1× speed — fast wins and speed is forced to 1.0.
modeNoOne of "video" (video file, default; MP4 normally, source container e.g. WebM in fast mode), "audio_only" (mp3/m4a/wav/flac), "both" (video + MP3 zip), "nosound" (video, no audio), "short" (portrait 9:16; AI smart-crop when applicable, else letterbox-blur with source-dependent aspect), "gif" (animated GIF, ≤5 min), "frames" (JPG stills).video
waitNoPoll until ready (default) up to the timeout_seconds polling deadline.
clipsNoA non-empty list of 1–10 {start,end} ranges INSTEAD of start/end.
sheetNoFrames — a single contact-sheet JPG (2..80 frames, single clip); disables burn_ts.
speedNoPlayback speed 0.5/1.0/1.25/1.5/2.0; video/nosound/both/audio_only.
startNoClip start as "SS"/"MM:SS"/"HH:MM:SS" (≤300h). Omit when passing clips.
stitchNoWith 2+ clips, join them into one file (else a zip of clips); ignored for a single clip; video/audio_only/both/short/nosound only.
bitrateNoLossy-audio bitrate "320"(default)/"256"/"192"/"128" — MP3/M4A in audio_only, MP3 in both; ignored for wav/flac.
burn_tsNoFrames — burn the source timestamp onto each JPG.
resolutionNo144p/240p/360p/480p/720p/1080p (default)/1440p/2160p (4K; total cut ≤60 min).1080p
interval_msNoFrames sampling interval — 100/500/1000/2000(default)/5000/10000; non-sheet extraction is capped at 1800 JPGs total across all clips.
audio_formatNoaudio_only output format — "mp3"(default)/"m4a"/"wav"/"flac". both always produces MP3.
idempotency_keyNoA stable key (≤200 chars) so a retried request reuses the same job.
timeout_secondsNoPolling deadline in seconds when wait=true (default 300); submission + one in-flight status request can extend total wall-clock.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides substantial behavioral details: default polling, timeout behavior, pricing, failure billing, stream-copy speed trade-offs, and mode-specific constraints. It does not cover error responses or rate limits, but given the scope, it is thoroughly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single block of text but is organized logically, starting with the core action and then layering pricing and behavioral details. It is not overly verbose given the complexity, though it could be broken into clearer paragraphs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 17 parameters, the description covers all necessary context: modes, polling, pricing, output format, and edge cases (e.g., fast mode, mutex with speed). Although there is no output schema, the return object is described (status with download_url), making the tool self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema descriptions are extremely detailed, covering allowed values, defaults, constraints, and mutual exclusivities (e.g., fast vs. speed, clips vs. start/end). The overall description repeats key points. No parameter is left ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Cut' and the resource 'YouTube video', and explains the flow of submitting a job, polling, and returning a download URL. It is distinct from the sibling tools (get_cut_status and get_account_balance) which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use the tool (for cutting videos) and describes the polling behavior and wait parameter, but does not explicitly contrast with the status-checking sibling tool. It is clear enough that an agent would know to use this for cutting rather than checking status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/apancyborg/appsgolem-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server