Skip to main content
Glama
Hermoso

Hermoso

Official

Dub video

dub_video

Localize a finished video into another language without re-rendering: keep timing, native voice, lip-sync, and background; provide video and target language to get a localized video URL.

Instructions

Localize a finished video into another language WITHOUT re-rendering it: each spoken line is said where it was said, in a native voice, lip-synced, background kept. Pass the video and the language; the script is read off the source (script only overrides it). Paid by length; dryRun quotes. Returns the localized video URL.

Input Schema

NameRequiredDescriptionDefault
videoYesthe source video URL
voiceNooptional, e.g. 'Aria' (woman) or 'George' (man): a native voice of that sex speaks. Default: the source speaker's sex.
dryRunNoquote only
scriptNoOPTIONAL override for the original spoken words. Leave this out — the source video is transcribed automatically. Only pass it when you already know the exact script and the auto-transcript got it wrong.
languageYestarget language, e.g. 'Spanish', 'de', 'French (Canada)'

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.409
    • addedInput schema / properties / dryRun
      Added value: +{
      +  "description": "quote only",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / voice / description
      Previous value: -"optional target voice preset, e.g. 'Aria' (warm female) or 'George' (confident male). Defaults to a voice matching the source speaker's register."New value: +"optional, e.g. 'Aria' (woman) or 'George' (man): a native voice of that sex speaks. Default: the source speaker's sex."
  2. Changed3 schema fields changedv0.1.161
    • changedInput schema / properties / script / description
      Previous value: -"the original spoken script if known — improves translation fidelity"New value: +"OPTIONAL override for the original spoken words. Leave this out — the source video is transcribed automatically. Only pass it when you already know the exact script and the auto-transcript got it wrong."
    • addedInput schema / properties / voice
      Added value: +{
      +  "description": "optional target voice preset, e.g. 'Aria' (warm female) or 'George' (confident male). Defaults to a voice matching the source speaker's register.",
      +  "type": "string"
      +}
    • 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.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only state the safety profile (openWorld, non-idempotent, non-destructive); the description adds substantial behavior beyond that: no re-render, lip-sync, background preservation, cost model ('Paid by length'), a dryRun quoting path, and the return value (localized video URL). That is exactly the context an agent needs for a paid, non-idempotent operation.

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?

Three sentences, front-loaded with the differentiating capability ('WITHOUT re-rendering it'), followed by call essentials and cost/output facts. No filler; every clause earns its place.

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 5-param, 100%-covered schema with a full annotation set and no output schema, the description supplies the remaining needed pieces: the cost/quote path and the returned URL. An agent has everything required to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reinforces that the script is read off the source and that `script` only overrides it, which is already conveyed by the schema's detailed property text, so it adds little beyond the structured fields.

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

Purpose4/5

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

The description gives a precise verb and resource ('Localize a finished video into another language') and even sharpens the scope with 'WITHOUT re-rendering it.' It does not name or explicitly distinguish itself from siblings like localize_ad or edit_video, so a 4 rather than a 5.

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

Usage Guidelines3/5

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

Usage context is only implied: 'Pass the video and the language' explains the call, not when to choose this over localize_ad or another localization/edit tool. There is no when-not guidance or named alternative. The only real routing hint is the param-level note that script should be omitted unless the auto-transcript is wrong.

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