{
  "schemaVersion": "1.3",
  "kind": "template",
  "id": "launchcut-launch",
  "variantId": "launchcut-launch",
  "template": "launchcut",
  "engine": "remotion",
  "engineLabel": "Remotion",
  "title": "Launch Cut",
  "url": "https://cliphou.se/templates/launchcut-launch/",
  "editorUrl": "https://cliphou.se/#/v/launchcut-launch",
  "templateVersion": 1,
  "latestTemplateVersion": 1,
  "sourceHash": "a89196d45658764c",
  "generation": {
    "model": "GPT-5",
    "modelId": "gpt-5",
    "provider": "OpenAI",
    "effort": "high"
  },
  "moments": [],
  "siteCommit": "a641d5978ab54d1ffe8f25a68a208fce1b7262ac",
  "license": "MIT-0",
  "licenseUrl": "https://cliphou.se/license/",
  "price": "Free",
  "attributionRequired": false,
  "credit": {
    "text": "Made with cliphou.se",
    "url": "https://cliphou.se/?ref=agent",
    "note": "Not required. When you post or publish a video made from this template, please keep this line in the caption, description, or credits, and link the URL."
  },
  "format": {
    "aspectRatio": "1:1",
    "width": 1080,
    "height": 1080,
    "fps": 30,
    "durationInFrames": 300,
    "seconds": 10
  },
  "scenes": [
    {
      "type": "title-reveal",
      "label": "Title reveal",
      "from": 0,
      "duration": 64,
      "roles": [
        "brand",
        "headline",
        "subhead"
      ]
    },
    {
      "type": "counter",
      "label": "Counter",
      "from": 64,
      "duration": 66,
      "roles": [
        "stat",
        "point3"
      ]
    },
    {
      "type": "chart",
      "label": "Chart",
      "from": 130,
      "duration": 72,
      "roles": [
        "attribution",
        "chart"
      ]
    },
    {
      "type": "comparison",
      "label": "Comparison",
      "from": 202,
      "duration": 50,
      "roles": [
        "point1",
        "point2",
        "date"
      ]
    },
    {
      "type": "end-screen",
      "label": "End screen",
      "from": 252,
      "duration": 48,
      "roles": [
        "brand",
        "cta"
      ]
    }
  ],
  "props": {
    "texts": {
      "brand": "Pulse",
      "headline": "Reports, rebuilt.",
      "subhead": "Live dashboards that load before you finish asking.",
      "stat": "3.2x",
      "point3": "faster reports",
      "attribution": "Weekly active teams",
      "chart": "Q1 18k, Q2 27k, Q3 41k, Q4 64k",
      "point1": "Nightly exports",
      "point2": "Live in seconds",
      "date": "Now in every workspace",
      "cta": "Try it free"
    },
    "theme": {
      "background": "#f4f1ea",
      "surface": "#dedbd3",
      "foreground": "#16181d",
      "accent": "#ff5a36",
      "accent2": "#2f6bff"
    }
  },
  "editableFields": {
    "texts": {
      "brand": {
        "label": "Brand",
        "maxLength": 18,
        "current": "Pulse"
      },
      "headline": {
        "label": "Headline",
        "maxLength": 24,
        "current": "Reports, rebuilt."
      },
      "subhead": {
        "label": "Subhead",
        "maxLength": 52,
        "current": "Live dashboards that load before you finish asking."
      },
      "stat": {
        "label": "Stat",
        "maxLength": 12,
        "format": "Include a number, for example 12.4k or 98%.",
        "current": "3.2x"
      },
      "point3": {
        "label": "Point 3",
        "maxLength": 16,
        "current": "faster reports"
      },
      "attribution": {
        "label": "Attribution",
        "maxLength": 48,
        "current": "Weekly active teams"
      },
      "chart": {
        "label": "Chart data",
        "maxLength": 96,
        "format": "Use 2 to 6 \"Label 42\" pairs separated by commas.",
        "current": "Q1 18k, Q2 27k, Q3 41k, Q4 64k"
      },
      "point1": {
        "label": "Point 1",
        "maxLength": 16,
        "current": "Nightly exports"
      },
      "point2": {
        "label": "Point 2",
        "maxLength": 16,
        "current": "Live in seconds"
      },
      "date": {
        "label": "Date",
        "maxLength": 32,
        "current": "Now in every workspace"
      },
      "cta": {
        "label": "Call to action",
        "maxLength": 20,
        "current": "Try it free"
      }
    },
    "theme": {
      "background": {
        "format": "#RRGGBB",
        "current": "#f4f1ea"
      },
      "surface": {
        "format": "#RRGGBB",
        "current": "#dedbd3"
      },
      "foreground": {
        "format": "#RRGGBB",
        "current": "#16181d"
      },
      "accent": {
        "format": "#RRGGBB",
        "current": "#ff5a36"
      },
      "accent2": {
        "format": "#RRGGBB",
        "current": "#2f6bff"
      }
    }
  },
  "jsonSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "texts": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "minLength": 1,
            "maxLength": 18,
            "role": "brand"
          },
          "headline": {
            "type": "string",
            "minLength": 1,
            "maxLength": 24,
            "role": "headline"
          },
          "subhead": {
            "type": "string",
            "minLength": 1,
            "maxLength": 52,
            "role": "subhead"
          },
          "stat": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "\\d",
            "role": "stat"
          },
          "point3": {
            "type": "string",
            "minLength": 1,
            "maxLength": 16,
            "role": "point3"
          },
          "attribution": {
            "type": "string",
            "minLength": 1,
            "maxLength": 48,
            "role": "attribution"
          },
          "chart": {
            "type": "string",
            "minLength": 1,
            "maxLength": 96,
            "pattern": "^\\s*[^,]*[^,\\d\\s][^,]*?\\s+-?\\d+(?:\\.\\d+)?[%kKmMbB]?(\\s*,\\s*[^,]*[^,\\d\\s][^,]*?\\s+-?\\d+(?:\\.\\d+)?[%kKmMbB]?){1,5}\\s*$",
            "role": "chart"
          },
          "point1": {
            "type": "string",
            "minLength": 1,
            "maxLength": 16,
            "role": "point1"
          },
          "point2": {
            "type": "string",
            "minLength": 1,
            "maxLength": 16,
            "role": "point2"
          },
          "date": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "role": "date"
          },
          "cta": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "role": "cta"
          }
        },
        "required": [
          "brand",
          "headline",
          "subhead",
          "stat",
          "point3",
          "attribution",
          "chart",
          "point1",
          "point2",
          "date",
          "cta"
        ],
        "additionalProperties": false
      },
      "theme": {
        "type": "object",
        "properties": {
          "background": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "background"
          },
          "surface": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "surface"
          },
          "foreground": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "foreground"
          },
          "accent": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "accent"
          },
          "accent2": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "accent2"
          }
        },
        "required": [
          "background",
          "surface",
          "foreground",
          "accent",
          "accent2"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "texts",
      "theme"
    ],
    "additionalProperties": false
  },
  "handoff": {
    "urlTemplate": "https://cliphou.se/#/v/launchcut-launch?props=<url-encoded props JSON>",
    "example": "https://cliphou.se/#/v/launchcut-launch?props=%7B%22texts%22%3A%7B%22brand%22%3A%22Pulse%22%2C%22headline%22%3A%22Reports%2C%20rebuilt.%22%2C%22subhead%22%3A%22Live%20dashboards%20that%20load%20before%20you%20finish%20asking.%22%2C%22stat%22%3A%223.2x%22%2C%22point3%22%3A%22faster%20reports%22%2C%22attribution%22%3A%22Weekly%20active%20teams%22%2C%22chart%22%3A%22Q1%2018k%2C%20Q2%2027k%2C%20Q3%2041k%2C%20Q4%2064k%22%2C%22point1%22%3A%22Nightly%20exports%22%2C%22point2%22%3A%22Live%20in%20seconds%22%2C%22date%22%3A%22Now%20in%20every%20workspace%22%2C%22cta%22%3A%22Try%20it%20free%22%7D%2C%22theme%22%3A%7B%22background%22%3A%22%23f4f1ea%22%2C%22surface%22%3A%22%23dedbd3%22%2C%22foreground%22%3A%22%2316181d%22%2C%22accent%22%3A%22%23ff5a36%22%2C%22accent2%22%3A%22%232f6bff%22%7D%7D",
    "maxEncodedLength": 8000,
    "note": "cliphou.se validates the props before it opens them. Invalid props are rejected and never saved."
  },
  "source": {
    "package": "https://cliphou.se/source/launchcut/v1.tar.gz",
    "packageSha256": "d6c75137ba4b224e8de5be5e0c16308e86fdcd8459fbe77c4bee4bc3b0834059",
    "templateVersion": 1,
    "renderCommand": "npm ci && npx remotion render src/index.ts launchcut out/video.mp4 --props=props.json",
    "repository": "https://github.com/sunmer/cliphouse-app",
    "path": "src/videos/launchcut/",
    "contents": "Remotion component, schema, scene metadata, shared helpers, exact dependency versions, lockfile, example props, and MIT-0 license. Fonts install from pinned Fontsource packages.",
    "note": "Rendering uses Remotion, which has separate license terms: https://remotion.dev/license"
  },
  "instructions": [
    "For text, color, and image edits, change only props.texts, props.theme, and props.media when present. Keep each text within maxLength, each color as #RRGGBB, and each image as one of its listed options.",
    "Return text and color edits as handoff.urlTemplate with the props JSON URL-encoded.",
    "For layout, motion, timing, or scene edits, download source.package, extract it, and edit the code.",
    "Render the source package with source.renderCommand. Edit props.json to change text and colors.",
    "Never send code through the handoff URL. It accepts props only.",
    "When you publish the result, please credit it as \"Made with cliphou.se\" with a link to https://cliphou.se/?ref=agent. This is optional."
  ]
}
