You're viewing a demo portfolio

Join the waitlist
PRSM

clipform_render_composition

Active

Tool of io.github.Clipform/mcp-server

declared in 2.2.0

Render a specialised video composition to MP4 or PNG - custom animated visuals that clipform_generate_video can't provide, such as geography animations or designed motion graphics. Available composition names and their required input props schemas come from clipform_list_compositions. For narrated Ken Burns slideshows from images, use clipform_generate_video instead. Output formats: mp4 (H.264, best for social media) or png (single frame). Returns a public URL when complete. For multi-render builds (e.g. one clip per quiz question), pass everything in ONE call via items (max 10): all renders fire in parallel and you get one job ID each - then collect the URLs in a single clipform_check_render call with job_ids. Single render: pass compositionId/inputProps at the top level (wait: true blocks and returns the URL; wait: false returns a job ID). Choosing a render tool: for a recognisable form/quiz beat (guess-the-city, this-or-that, mystery reveal, multiple choice, photo montage...) reach for a video template first (clipform_list_video_templates + clipform_render_video_template) - it is a one-call recipe. Use clipform_generate_video for a narrated or audio-synced media montage (images/clips timed to a voice track). Use clipform_render_composition only when neither fits and you need a custom layer stack. A render for a form node is not done until it is attached to that node. Pass node_id (and form_id) so the completed render attaches itself automatically - do not poll clipform_check_render to completion or manually chain clipform_upload_media_asset + clipform_attach_node_media; fire the render and move on. In batch mode, set node_id per item (see items) and form_id once at the top level.

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "wait": {
      "type": "boolean",
      "default": true,
      "description": "Single render only: true (default) blocks until the render is ready and returns its URL; false returns a job ID for clipform_check_render. Batch items always run fire-and-poll."
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "compositionId"
        ],
        "properties": {
          "node_id": {
            "type": "string",
            "description": "Form node to attach this item's render to automatically once it completes. Requires the batch's top-level form_id."
          },
          "captions": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "start",
                "end",
                "text"
              ],
              "properties": {
                "end": {
                  "type": "number",
                  "description": "Segment end time in seconds"
                },
                "text": {
                  "type": "string",
                  "description": "Full segment text"
                },
                "start": {
                  "type": "number",
                  "description": "Segment start time in seconds"
                },
                "words": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "word",
                      "start",
                      "end"
                    ],
                    "properties": {
                      "end": {
                        "type": "number"
                      },
                      "word": {
                        "type": "string"
                      },
                      "start": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  },
                  "description": "Per-word timestamps within the segment"
                }
              },
              "additionalProperties": false
            },
            "description": "Word-level captions from clipform_generate_tts - carried onto the attached media asset. Only used when node_id is set."
          },
          "inputProps": {
            "type": "object",
            "description": "Props matching the composition's schema - validated strictly",
            "additionalProperties": {}
          },
          "outputFormat": {
            "enum": [
              "mp4",
              "png"
            ],
            "type": "string",
            "default": "mp4",
            "description": "Output format (default: mp4)"
          },
          "compositionId": {
            "type": "string",
            "description": "The composition ID (see clipform_list_compositions)"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 10,
      "minItems": 1,
      "description": "Batch mode: multiple renders in one call. All fire in parallel; returns one job ID per item - collect with clipform_check_render (job_ids). Use this whenever rendering more than one clip."
    },
    "form_id": {
      "type": "string",
      "format": "uuid",
      "description": "The form UUID - required when node_id is set (single render) or any item sets node_id (batch)."
    },
    "node_id": {
      "type": "string",
      "description": "Single render only: form node to attach this render to automatically once it completes. Requires form_id. For batch mode, set node_id per item instead."
    },
    "captions": {
      "type": "array",
      "items": {
        "$ref": "#/properties/items/items/properties/captions/items"
      },
      "description": "Single render only: word-level captions from clipform_generate_tts, carried onto the attached media asset. Only used when node_id is set. For batch mode, set captions per item instead."
    },
    "inputProps": {
      "type": "object",
      "description": "Single render: props object matching the composition's schema from clipform_list_compositions. Validated STRICTLY - unknown or missing props fail with the schema in the error, nothing renders silently with defaults. For map compositions (Map), wide shots (camera.zoom < 9) may round lat/lng to 1 decimal place to improve cache hit rates; close shots and pin drops should keep full precision — the pin lands exactly on `target`.",
      "additionalProperties": {}
    },
    "outputFormat": {
      "enum": [
        "mp4",
        "png"
      ],
      "type": "string",
      "default": "mp4",
      "description": "Single render: output format (default: mp4)"
    },
    "compositionId": {
      "type": "string",
      "description": "Single render: the composition ID. Call clipform_list_compositions to see available options (e.g. 'Slideshow', 'Map', 'Grid'). Use items instead for multiple renders."
    }
  },
  "additionalProperties": false
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.70.

Parent server

io.github.Clipform/mcp-server

https://github.com/clipform/mcp-server

1/7 registries
View full server →
clipform_render_composition — io.github.Clipform/mcp-server — PRSM MCP