Skip to main content
Glama

batch_create_clips

Export multiple podcast clips as vertical shorts with captions in one batch. Provide clip numbers or select all to generate finished MP4s automatically.

Instructions

STEP 3 — Export multiple clips at once as finished vertical shorts.

EASIEST: pass export_selected=true to export all selected clips in one go. Alternative: pass clip_numbers=[1, 3, 5] for specific ones. Everything (video, timestamps, settings) auto-loads from session state.

Pass exactly one of clips, clip_numbers, or export_selected. If several are given, an explicit clips array wins, then export_selected, then clip_numbers.

Each clip gets: 9:16 vertical crop, burned-in captions, normalized audio, H.264 MP4.

Input Schema

NameRequiredDescriptionDefault
clipsNoArray of clips to create. Auto-loaded from suggestions if omitted.
async_modeNoReturn a job_id immediately and render in background. Use for multi-clip batches so Claude can poll job_status and emit live progress. Requires Web UI running.
video_pathNoPath to the original podcast video. Auto-loaded from session state if omitted.
clip_numbersNoExport specific clip numbers from suggestions (e.g. [1, 3, 5]).
clean_fillersNoRemove filler words (um, uh, hmm) from captions and compress long silences. Defaults to the studio's clean filler words setting (on unless the user turned it off).
export_selectedNoIf true, export all selected suggestions from the UI.
transcript_wordsNoWord-level timestamps. Auto-loaded from session state if omitted.
write_clean_variantNoAlso render a clean (no burned captions) variant per clip, batch-level default; per-clip overrides. Returns clean_output_path.
keep_caption_overlayNoKeep ProRes 4444 alpha caption overlays for DaVinci Resolve export (batch-level default; per-clip overrides).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv2.8.0
    • addedInput schema / properties / clips / items / properties / hook
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "Opening hook: a 1-15s passage from inside the clip, played before the clip. It must be a line actually spoken inside the clip's range (or its segments), never invented text.",
      +      "properties": {
      +        "end": {
      +          "description": "Hook end in seconds, on the source clock",
      +          "type": "number"
      +        },
      +        "mode": {
      +          "description": "repeat: the passage plays first and again in place. move: it plays first and is cut from its place.",
      +          "enum": [
      +            "repeat",
      +            "move"
      +          ],
      +          "type": "string"
      +        },
      +        "start": {
      +          "description": "Hook start in seconds, on the source clock",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "start",
      +        "end",
      +        "mode"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedInput schema / properties / clips / items / properties / write_clean_variant
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / write_clean_variant
      Added value: +{
      +  "description": "Also render a clean (no burned captions) variant per clip, batch-level default; per-clip overrides. Returns clean_output_path.",
      +  "type": "boolean"
      +}
  2. Changed3 schema fields changedv2.7.2
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / clips / items / additionalProperties
      Removed value: -false
    • removedInput schema / properties / transcript_words / items / additionalProperties
      Removed value: -false
  3. Changed1 schema field changedv2.5.0
    • addedInput schema / properties / clean_fillers
      Added value: +{
      +  "description": "Remove filler words (um, uh, hmm) from captions and compress long silences. Defaults to the studio's clean filler words setting (on unless the user turned it off).",
      +  "type": "boolean"
      +}
  4. Changed1 schema field changedv2.2.1
    • addedInput schema / properties / clips / items / properties / format
      Added value: +{
      +  "enum": [
      +    "vertical",
      +    "horizontal",
      +    "square"
      +  ],
      +  "type": "string"
      +}
  5. First observedv2.0.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that inputs auto-load from session state and enumerates the concrete output pipeline (9:16 vertical crop, burned-in captions, normalized audio, H.264 MP4). It doesn't address blocking vs background behavior or failure handling, but the core behavioral profile is present.

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

Conciseness5/5

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

Front-loads the core action, then uses labeled EASIEST/Alternative blocks and a single precedence sentence. Every sentence contributes to correct invocation and nothing is padded.

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

Completeness4/5

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

For a 9-parameter tool with no annotations and no output schema, the description covers input selection, auto-loading, and output characteristics adequately. Minor gaps remain around async/blocking behavior and error cases, but an agent has enough to call it correctly.

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

Parameters4/5

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

Schema description coverage is already 100%, so the baseline is 3; the description exceeds it by explaining how clips, clip_numbers and export_selected interact and which wins, which the schema alone does not convey.

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?

States a specific verb (export/create) and resource (multiple clips at once) with scope (finished vertical shorts), and the workflow marker 'STEP 3' locates it in the pipeline. It is distinguishable from the sibling create_clip by the explicit 'multiple clips at once' framing.

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?

Gives concrete selection strategies ('EASIEST: export_selected=true', 'Alternative: clip_numbers=[1,3,5]') plus a precise mutual-exclusivity and precedence rule for clips/clip_numbers/export_selected. It stops short of explicitly stating when to prefer this batch tool over the singular create_clip sibling.

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