Skip to content
Tools

Trim, reorder, or swap a segment for other footage the user owns, or turn captions off. Music cannot be turned on. The previous render is dropped.

Access token · edit · Changes account data

Parameters

variant_id string required
View schema
variant_id schema
{
  "type": "string",
  "format": "uuid",
  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
}
ops array required
View schema
ops schema
{
  "minItems": 1,
  "maxItems": 8,
  "type": "array",
  "items": {
    "anyOf": [
      {
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "const": "swap_segment"
          },
          "index": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20
          },
          "assetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "start": {
            "type": "number",
            "minimum": 0
          },
          "end": {
            "type": "number",
            "minimum": 0.05
          }
        },
        "required": [
          "op",
          "index",
          "assetId",
          "start",
          "end"
        ],
        "additionalProperties": false
      },
      {
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "const": "trim"
          },
          "index": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20
          },
          "start": {
            "type": "number",
            "minimum": 0
          },
          "end": {
            "type": "number",
            "minimum": 0.05
          }
        },
        "required": [
          "op",
          "index",
          "start",
          "end"
        ],
        "additionalProperties": false
      },
      {
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "const": "reorder"
          },
          "order": {
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 20
            }
          }
        },
        "required": [
          "op",
          "order"
        ],
        "additionalProperties": false
      },
      {
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "const": "set_caption_look"
          },
          "look": {
            "type": "string",
            "enum": [
              "plain",
              "word_box",
              "off"
            ]
          }
        },
        "required": [
          "op",
          "look"
        ],
        "additionalProperties": false
      },
      {
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "const": "set_music"
          },
          "mode": {
            "type": "string",
            "const": "off"
          }
        },
        "required": [
          "op",
          "mode"
        ],
        "additionalProperties": false
      }
    ]
  }
}

Request example

Tool request · example
{
  "name": "edit_variant",
  "arguments": {
    "variant_id": "00000000-0000-4000-8000-000000000001",
    "ops": [
      {
        "op": "swap_segment",
        "index": 0,
        "assetId": "YOUR_ASSET_ID",
        "start": 0,
        "end": 0.05
      }
    ]
  }
}

Replace example values with ids and arguments read from your own Heavenly account. This example does not execute a tool.

Returns

The tool result from Heavenly’s workspace, encoded as MCP text content. The connector returns isError when an argument, permission, plan or account check fails.

Account access and permissions are checked by Heavenly. See errors for failure handling.