Skip to main content
Glama
hermoso-ai

Hermoso

Official

Stitch multi-scene video

stitch_video

Render a multi-scene video for ads longer than a model's maximum single-clip duration. Combine two or more scenes into one stitched spot when the total length exceeds the model's clip limit.

Instructions

Render a multi-scene STITCHED video (≥2 scenes) — ONLY for spots LONGER than ONE clip of the chosen model. A multi-beat ad that FITS one clip renders better and cheaper as ONE single-pass generate_video/render_ad (a single generation carries the whole hook->demo->payoff arc) — never stitch those. What fits is the model’s own maximum from hermoso_capabilities, not a fixed number: 15s on most models, 30s on the longest-clip one, so a 30s spot need not be stitched at all if you name that model. Blocks until done. Spends credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNovideo model id from hermoso_capabilities — omit to let the router pick
voiceNovoiceover voice name, e.g. Rachel / George
scenesYesarray of scene objects (visual + optional voiceover/seconds)
voiceoverNofull voiceover script spoken across the scenes
resolutionNo720p (default), 1080p for full detail, or 480p for a cheaper draft
aspectRatioNooutput aspect ratio, e.g. 9:16 (default) / 1:1 / 16:9
durationSecondsNototal spot length in seconds (defaults to the sum of the scenes’ seconds)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.251
    • changedInput schema / properties / resolution / description
      Previous value: -"1080p (default), or 480p/720p for a cheaper draft"New value: +"720p (default), 1080p for full detail, or 480p for a cheaper draft"
  2. Changed2 schema fields changedv0.1.161
    • changedInput schema / properties / resolution / description
      Previous value: -"720p (default), 480p draft, or 1080p final"New value: +"1080p (default), or 480p/720p for a cheaper draft"
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "jobId": {
      -      "description": "the render job id — poll get_job with this id to resume or inspect",
      -      "type": "string"
      -    },
      -    "model": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "the product-facing label of the model that rendered it"
      -    },
      -    "raw": {
      -      "description": "the raw job result payload (e.g. images[] for carousel template ads)"
      -    },
      -    "stillRendering": {
      -      "description": "true when the render is still in progress — keep polling get_job with jobId",
      -      "type": "boolean"
      -    },
      -    "url": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "the served URL of the finished media (absent/null while still rendering)"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  3. Addedv0.1.15
  4. Removedv0.1.0
  5. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate this is a mutating operation, and the description adds meaningful behavioral context beyond them: it blocks until done and spends credits. This is useful cost/latency information an agent cannot infer from the schema or annotations alone.

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, putting the core meaning and primary exclusion rule first. It is slightly wordy in places, but every sentence carries selection or behavior information that justifies its place.

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 7-parameter generation tool with no output schema, the description covers the critical decisions: whether to stitch, which model lengths matter, blocking behavior, and credit cost. It leaves the return format implicit, but the core invocation requirements are sufficiently specified.

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 coverage is 100%, so the baseline is 3, but the description adds material meaning for the model and durationSeconds parameters by explaining that clip-length depends on the selected model (15s most, 30s on the longest-clip model). It does not deeply explain the scene object structure, but the schema already labels it as visual + optional voiceover/seconds.

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 names a specific verb and resource ('Render a multi-scene STITCHED video') and immediately distinguishes it from single-generation alternatives by requiring ≥2 scenes and spots longer than one clip. It reads as a precise definition that an agent can reliably separate from generate_video, render_ad, clip_video, or edit_video.

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 gives explicit when-to-use and when-not-to-use guidance: stitch only spots longer than one clip, never stitch ads that fit one clip, and prefer generate_video/render_ad for those. It even names the alternatives and clarifies that the cutoff comes from hermoso_capabilities rather than a fixed number, including concrete examples.

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

Deploy Server

Other Tools