Skip to main content
Glama

clips_vertical

Batch-cut a set of your own chosen vertical 9:16 clips from a prior find_clips job in one purchase. Two-call flow: (1) call with source_job_id (a find_clips job id) and clips (1-5 objects {start, end, title?} in source seconds — your own picks from that job's clip-candidates output; nothing is auto-selected) to receive {job_id, payment_challenge}; (2) pay by credit card via the returned payment_url or Tempo USDC via mppx, then call again with job_id + payment_credential to start processing. Poll get_job_status(job_id); outputs are roles clip-1-video through clip-N-video (one 1080×1920 .mp4 per requested clip, loudness-normalized to -14 LUFS / -1.5 dBTP) plus clips-manifest (JSON) recording each clip's timing, output role, and any per-clip failure — a batch delivering fewer than N clips is not refunded, only one delivering zero is. Price: N × $0.50 per clip, charged once for the whole batch (Stripe quantity) rather than once per clip — see /.well-known/mpp.json for the Tempo USDC rate. Optional profile (default tiktok-primary; also tiktok-primary-720p, instagram-reels, instagram-stories) and subject (default follow, switches crop between active speakers; auto and center are opt-outs) apply to every clip in the batch. Use this once find_clips has surfaced candidates you like, to cut several in one purchase instead of one extract_vertical_clip call per clip; use extract_vertical_clip directly instead when you need per-clip framing control or more than 5 clips from one source. Source must still be in storage — check expires_at on the find_clips parent via get_job_status. Retrying with job_id alone recovers the current state.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
clipsNoYour own chosen clips (1-5) from source_job_id's clip-candidates output — nothing is auto-selected. Each is cut as a separate vertical clip; the batch is charged N × the per-clip price as one payment covering the whole set, not one charge per clip. Total duration across all clips is capped. Required on the first call.
job_idNoJob ID returned from a previous clips_vertical call. Include along with payment_credential to confirm payment and trigger processing. Also include alone to recover the current state.
profileNoOptional encoding profile applied to every clip in the batch. Default: tiktok-primary (1080×1920 H.264 fast preset, CRF 22, 6 Mbps cap). tiktok-primary-720p: 720×1280, CBR 3 Mbps. instagram-reels: 1080×1920 H.264 slow preset, CBR 4 Mbps. instagram-stories: same encode shape as instagram-reels. Also sets each clip's max duration (240s/180s/60s). All four apply loudness normalization to -14 LUFS / -1.5 dBTP.
subjectNoOptional reframing strategy applied to every clip in the batch. Default: "follow" — cuts between active-speaker framings across each clip, the mode that makes multi-speaker interview clips usable. "auto": one detected framing for the whole clip. "center": fixed centre crop, no detection. "subject_id" and "manual" are not supported here — they need per-clip data a batch call cannot supply; use extract_vertical_clip directly for those.
source_job_idNoJob ID of a prior find_clips job. Possessing this id is the capability — clips_vertical is not session-bound, so a user can come back from a different session within the parent's TTL and still cut. Required on the first call.
payment_credentialNoMPP payment credential (full Authorization header value, e.g. "Payment eyJ..."). clips_vertical accepts Tempo USDC and Stripe SPT — see the challenge's WWW-Authenticate header or /.well-known/mpp.json for the supported methods. Include with job_id after paying the challenge to start processing.

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It comprehensively covers the payment challenge flow, output roles and formatting (1080×1920 .mp4, loudness normalization), refund policy (only zero clips refunded), pricing model (N × $0.50 per clip, single charge), and the requirement that the source remain in storage. This is exemplary transparency for a mutating, payment-requiring tool.

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 dense and front-loaded with the core purpose, then systematically covers the flow, pricing, alternatives, and edge cases. It is long but every sentence carries essential information for an agent to correctly execute this multi-step, payment-gated operation. The redundancy with schema descriptions is minimal, and the organization (purpose → flow → outputs → pricing → alternatives → retry) aids comprehension.

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?

Given the complexity (6 parameters, two-call flow, payment methods, output schemas, failure semantics) and absence of both annotations and an output schema, the description is remarkably complete. It tells the agent exactly how to sequence calls, what to poll, how to interpret outputs (roles clip-1-video...clips-manifest), how to handle partial failures (no refund for <N clips), and even how to recover state (retry with job_id alone). Nothing material is missing.

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?

While schema description coverage is 100% and inline parameter descriptions are already detailed, the tool description adds critical operational semantics: it explains the purpose of each parameter in the two-call sequence (e.g., source_job_id as the capability token, payment_credential after paying the challenge), clarifies the clips array composition (your own picks, nothing auto-selected), and resolves the distinction between job_id-only retry vs job_id+payment_credential. This goes well beyond what the schema provides, especially for the payment flow.

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 opens with a specific verb-resource pairing: 'Batch-cut a set of your own chosen vertical 9:16 clips from a prior find_clips job in one purchase.' This immediately distinguishes it from extract_vertical_clip (single clip) and clips_horizontal (horizontal orientation), making the tool's purpose and scope unambiguous.

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

Usage Guidelines5/5

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

The description explicitly states when to use it ('once find_clips has surfaced candidates you like, to cut several in one purchase') and when to use the alternative ('use extract_vertical_clip directly when you need per-clip framing control or more than 5 clips from one source'). It also outlines the two-call flow and payment confirmation steps, leaving no ambiguity about invocation context.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation4/5

Most tools target distinct tasks (transcribe vs. summarize vs. find_clips, extract_clip vs. extract_vertical_clip, create vs. trigger YouTube). Some overlap exists because summarize and find_clips both produce transcripts, and publish_to_youtube and trigger_youtube_publish are sequential steps that could be confused, but descriptions clarify the boundaries well.

Naming Consistency4/5

The majority follow a verb_noun pattern (complete_upload, extract_clip, find_clips, get_job_status), with a few deviations like the bare verbs 'summarize' and 'transcribe', and 'publish_to_youtube' using a preposition. The pattern is still predictable and readable overall.

Tool Count5/5

11 tools is a well-scoped number for a video/audio processing service covering transcription, summarization, clip extraction, YouTube publishing, and payment testing. Each tool has a clear place, and the count is within the ideal range.

Completeness5/5

The tool surface covers the full lifecycle: job creation (transcribe/summarize/find_clips), payment (mpp_smoke_test, payment challenge flows), upload (complete_upload), status polling (get_job_status), clip extraction (two variants), and YouTube publishing (create/publish/status). No critical gaps are apparent for the stated domain.

Resources