{
  "openapi": "3.1.0",
  "info": {
    "title": "CutLuma public API",
    "version": "1.0.0",
    "summary": "Read-only endpoints for assistants and agents: search CutLuma's tools, guides and templates, read pages as Markdown, look up pricing and shared videos.",
    "description": "CutLuma (https://cutluma.com) is a free online video editor that runs in the browser. No API key is needed for anything described here. Agents that speak MCP can use https://cutluma.com/mcp instead (same data, with tool schemas). Every content page is also available as Markdown by appending .md to its path or sending Accept: text/markdown.",
    "termsOfService": "https://cutluma.com/terms",
    "contact": {
      "url": "https://cutluma.com/"
    }
  },
  "servers": [
    {
      "url": "https://cutluma.com"
    }
  ],
  "externalDocs": {
    "description": "llms.txt",
    "url": "https://cutluma.com/llms.txt"
  },
  "paths": {
    "/api/public/catalog": {
      "get": {
        "summary": "Site catalog",
        "operationId": "catalog",
        "description": "Every free tool, use-case page, guide and template with titles, descriptions and links.",
        "responses": {
          "200": {
            "description": "Catalog",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/search": {
      "get": {
        "summary": "Search the site",
        "operationId": "search",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "What the user wants to do or find",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "description": "Restrict to one type",
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "tool",
                "use",
                "guide",
                "template"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Max results (1-50)",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Matches with url, markdown and open links",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/templates": {
      "get": {
        "summary": "Find video templates",
        "operationId": "templates",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Keywords",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Aspect ratio",
            "schema": {
              "type": "string",
              "enum": [
                "9:16",
                "1:1",
                "4:5",
                "16:9"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "description": "Category name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "arabic",
            "in": "query",
            "description": "1 for Arabic right-to-left templates only",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "en, ar or es: only templates written in that language",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Max results (1-100)",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Templates with an \"open\" link that loads each one in the editor",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/plans": {
      "get": {
        "summary": "Plans and prices",
        "operationId": "plans",
        "responses": {
          "200": {
            "description": "Active plans",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/sizes": {
      "get": {
        "summary": "Video sizes per platform",
        "operationId": "sizes",
        "parameters": [
          {
            "name": "platform",
            "in": "query",
            "description": "Optional filter such as tiktok or youtube",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Aspect ratios and recommended pixel sizes",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/editor-link": {
      "get": {
        "summary": "Build an editor link",
        "operationId": "editorLink",
        "description": "A URL that opens the editor with a tool or template ready for the user.",
        "parameters": [
          {
            "name": "tool",
            "in": "query",
            "description": "Editor tool",
            "schema": {
              "type": "string",
              "enum": [
                "captions",
                "record",
                "resize",
                "silence",
                "shorts",
                "product",
                "testimonials",
                "trim",
                "text",
                "music",
                "montage",
                "camera",
                "voice",
                "speed",
                "tts",
                "translate",
                "greenscreen",
                "cutout",
                "prompter",
                "stock",
                "textvideo",
                "magicdesign",
                "aiimage",
                "bgremove",
                "magicedit",
                "visualizer",
                "charts",
                "industry",
                "effects",
                "translatedesign",
                "transcript",
                "dub",
                "publish",
                "present",
                "open",
                "subtitles"
              ]
            }
          },
          {
            "name": "template",
            "in": "query",
            "description": "Template id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Two-letter caption language",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "url + note",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/{token}": {
      "get": {
        "summary": "Shared video details",
        "operationId": "sharedVideo",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The v= value of a share link"
          }
        ],
        "responses": {
          "200": {
            "description": "Name, kind, size, duration and media URLs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/oembed": {
      "get": {
        "summary": "oEmbed for a share link",
        "operationId": "oembed",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "A share link such as https://cutluma.com/watch?v=abc123",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "json",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxwidth",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "maxheight",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "oEmbed 1.0 response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "Site overview for language models",
        "operationId": "llms",
        "responses": {
          "200": {
            "description": "Markdown",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Every page as Markdown",
        "operationId": "llmsFull",
        "responses": {
          "200": {
            "description": "Markdown",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/{hub}/{slug}.md": {
      "get": {
        "summary": "Any content page as Markdown",
        "operationId": "pageMarkdown",
        "parameters": [
          {
            "name": "hub",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "tools",
                "video-editor",
                "guides",
                "templates"
              ]
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Markdown",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "x-mcp": {
    "url": "https://cutluma.com/mcp",
    "transport": "streamable-http",
    "authentication": "none",
    "card": "https://cutluma.com/.well-known/mcp.json"
  }
}