You're viewing a demo portfolio

Join the waitlist
PRSM
This tool is no longer present in the server's latest manifest. Showing the last observed version (server version 1.48.0).

clipform_upload_node_media

Inactive

Tool of io.github.Clipform/mcp-server

declared in 1.48.0

Upload media for one or more nodes. Pass one item or many (max 10). Multiple items upload sequentially. When a public URL is provided, the media is fetched and stored automatically. Only works on node types that support media (choice, open, scale, binary, button). For video: ingested via Mux. For image: stored in Supabase. Each upload lands in your workspace media library and is then attached to the node (so it is reusable across nodes), matching the builder. Captions from clipform_generate_tts enable per-word highlighting in the viewer. When attaching renders from clipform_render_composition or clipform_generate_video, set fit_media: true on each item.

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "form_id",
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "node_id",
          "media_type"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Public URL of the media file. When provided, the server fetches and stores it directly."
          },
          "node_id": {
            "type": "string",
            "description": "The node 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. Required for per-word highlighting - pass the full objects including 'words' arrays."
          },
          "fit_media": {
            "type": "boolean",
            "description": "Show the whole frame (contain) instead of cover-cropping. ALWAYS set true when attaching renders from clipform_render_composition or clipform_generate_video - they are composed 9:16 frames that must never be cropped. Leave unset for user-supplied media (arbitrary aspect ratios want the cover default)."
          },
          "media_type": {
            "enum": [
              "video",
              "still"
            ],
            "type": "string",
            "description": "Type of media"
          },
          "media_source": {
            "enum": [
              "uploaded",
              "recorded"
            ],
            "type": "string",
            "default": "uploaded",
            "description": "How the media was created"
          },
          "show_captions": {
            "type": "boolean",
            "description": "Display captions/subtitles on the node. Defaults to on; pass false to hide them."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 10,
      "minItems": 1,
      "description": "One or more media items to upload"
    },
    "form_id": {
      "type": "string",
      "format": "uuid",
      "description": "The form UUID (returned by clipform_create_form, not the short share_id from the URL)"
    }
  },
  "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 →