> ## Documentation Index
> Fetch the complete documentation index at: https://askeditor.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Launch Cut

> Turn a raw screen recording plus the product's website into a directed, narrated, brand-matched demo film: the kind a founder posts on ship day..

Turn a raw screen recording plus the product's website into a directed, narrated, brand-matched demo film: the kind a founder posts on ship day.

## See it

<Tabs>
  <Tab title="Output">
    <video controls muted loop playsinline preload="metadata" width="100%" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/example-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/example-v1.mp4" />

    3 minutes 42 seconds of raw screen recording in; a 62-second directed film out, a 3.6x compression. The narration is the speakers own voice, rewritten and re-timed; the chapters, the device plane and the brand world were all chosen by the director from the recording and the site.
  </Tab>

  <Tab title="Your input video">
    <video controls muted loop playsinline preload="metadata" width="100%" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/source-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/source-v1.mp4" />
  </Tab>

  <Tab title="Side by side">
    <Columns cols={2}>
      <Frame caption="Your input video">
        <video controls muted loop playsinline preload="metadata" style={{width:"100%",aspectRatio:"16 / 9",objectFit:"contain",background:"rgba(127,127,127,0.10)",borderRadius:"6px"}} poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/source-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/source-v1.mp4" />
      </Frame>

      <Frame caption="Output">
        <video controls muted loop playsinline preload="metadata" style={{width:"100%",aspectRatio:"16 / 9",objectFit:"contain",background:"rgba(127,127,127,0.10)",borderRadius:"6px"}} poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/example-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/launch-cut/example-v1.mp4" />
      </Frame>
    </Columns>
  </Tab>
</Tabs>

## Material

A screen recording between 15 seconds and 20 minutes, with the narration audible. If the take is silent, set narrationSource='screen' and the director writes and speaks the narration instead.

## Spec

| Field             | Type                      | Required | Description                                                                                                                               |
| ----------------- | ------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `siteUrl`         | string                    | **yes**  | The product's public website. The brand (colours, type, logo) is measured from it.                                                        |
| `brandName`       | string                    | **yes**  | How the product should be named on screen.                                                                                                |
| `narrationSource` | enum (`user` \| `screen`) | no       | 'user' (default) uses the voice on the recording. 'screen' writes narration from the frames and the site: opt-in only, for a silent take. |
| `directorNote`    | string                    | no       | One instruction to the director, e.g. 'lead with the pricing moment'.                                                                     |

## Pricing & timing

|              |                                                                                 |
| ------------ | ------------------------------------------------------------------------------- |
| **Delivery** | **File** — an mp4 at `outputUrl`, plus an editable canvas                       |
| Price        | 500 credits: [estimate](/docs/setting-up/jobs-and-polling) is free and authoritative |
| Typical run  | \~600s                                                                          |
| Review gate  | **Yes**: the run parks for your approval before spending                        |

## Refusals this template can return

* `UNREADABLE`

Refusals are free and typed: see [Refusals](/docs/setting-up/refusals).

## Run it

<Tabs>
  <Tab title="curl (REST)">
    ```bash theme={null}
    # 1. mint an upload ticket, then put the file against it
    curl -X POST https://api.askeditor.com/v1/uploads \
      -H "Authorization: Bearer $ASKEDITOR_API_KEY" \
      -H "Content-Type: application/json" -d '{"purpose":"launch-cut"}'
    # → { "ticket": "upl_…", "uploadUrl": "…" }

    curl -X POST https://api.askeditor.com/v1/uploads/{ticket}/file \
      -F "file=@./recording.mp4"
    # → { "material": "mat_…" }

    # 2. submit the run
    curl -X POST https://api.askeditor.com/api/launch-cut/jobs \
      -H "Authorization: Bearer $ASKEDITOR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "material": "mat_…", "clientRequestId": "your-own-id", "siteUrl": …, "brandName": … }'
    # → { "jobId": "…", "envelopeId": "launch-cut:…", "credits": { "quoted": 500, "charged": 0 } }

    # 3. poll until it resolves
    curl https://api.askeditor.com/v1/jobs/{envelopeId} \
      -H "Authorization: Bearer $ASKEDITOR_API_KEY"
    ```

    `clientRequestId` is **required**: reuse the same value on a retry and you
    cannot be charged twice for the same run.
  </Tab>

  <Tab title="Agent (MCP)">
    Connected via the [MCP connector](/docs/mcp/connect)? It is one sentence:

    > "Run the **Launch Cut** template on \~/Desktop/recording.mp4"

    The agent lists the menu, estimates (free), asks your consent, uploads, runs,
    and polls [`GET /v1/jobs/{id}`](/docs/setting-up/jobs-and-polling) to the finished
    envelope.
  </Tab>
</Tabs>

**Editable delivery:** Delivers decomposed: one clip per beat plus the narration mix as its own audio element.
