> ## 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.

# Tighten

> Give a long raw take back SHORTER.

Give a long raw take back SHORTER. Pre-roll, false starts, restarts, take-fumbles and dead air come out; the argument, the voice and the natural rhythm stay in. NOTHING is composited, reframed, restyled, captioned or added: this register ONLY EVER REMOVES TIME, which is why it takes any orientation and hands back the source's own frame.

## See it

**2:45 → 2:25** one take, tightened  ·  **20.9s** removed  ·  **13%** shorter

> [tab] Output
>
> <video controls muted loop playsinline preload="metadata" width="100%" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/tighten/example-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/tighten/example-v1.mp4" />
>
> Both takes in full, so the player’s own scrubber carries the result: 2:45 on your input, 2:25 on the cut. The frames are deliberately unchanged — same room, same framing, same 1920x1080 — because tighten never recomposes. Only time came out.

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

> [tab] Side by side
>
> <video controls muted loop playsinline preload="metadata" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/tighten/source-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/tighten/source-v1.mp4" />
>
> Your input video
>
> <video controls muted loop playsinline preload="metadata" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/tighten/example-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/tighten/example-v1.mp4" />
>
> Output

### What came out

right, pretty much before the AI storm of LLMs. So five years ago, it's 2026, it was probably just in 2021 or like late,
uh,
around '21, '22, just before,
uh,
the real LLMs start coming up into the mainstream of where we are right now. And ever since that, there's been a lot of changes in all industries from, of course, software engineering to just even normal day productivity of working with Excel also. Before you would have learned how to do things,
um,
and understand the actual Excel macro spreadsheets even like that. That's been updated. Now, where we are now, fast-forward five years, what we've been up to? Well, there's been a lot that has been,
uh,
happening behind the scenes, of course.
Um,
and where we are right
now--
In fact, I just wanna go straight into it. Long story short,
we-- Uh,
the thing before

■ removed — fillers, false starts, restarts and dead air. Everything else is the take's own words, in its own order: tighten never rewrites, it only leaves things out.

## Material

One recording of someone talking, UP TO 20 MINUTES. Any orientation, any resolution: the cut is a splice, so the output keeps the source's own dimensions. The only real requirement is intelligible speech, because the cut is decided from the words.

## Spec

| Field | Type | Required | Description |
| - | - | - | - |
| `targetSeconds` | number | no | Leave unset to let the take decide. Setting it asks the director to REACH a length, which means dropping content and not just fumbles. |
| `maxSeconds` | number | no | Cap on the finished cut, default 1200 (20 min). |

## Pricing & timing

| | |
| - | - |
| **Delivery** | **File** — an mp4 at `outputUrl`, plus an editable canvas |
| Price | 200 credits: [estimate](https://askeditor.com/docs/setting-up/jobs-and-polling.md) is free and authoritative |
| Typical run | \~60s |
| Review gate | No: runs straight through |

## Refusals this template can return

* `NO_USABLE_SPANS`
* `SPAN_TOO_LONG`
* `UNREADABLE`

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

## Run it

> [tab] 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":"tighten"}'
> # → { "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/talking-head-cut/jobs \
>   -H "Authorization: Bearer $ASKEDITOR_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{ "material": "mat_…", "clientRequestId": "your-own-id" }'
> # → { "jobId": "…", "envelopeId": "tighten:…", "credits": { "quoted": 200, "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] Agent (MCP)
>
> Connected via the [MCP connector](https://askeditor.com/docs/mcp/connect.md)? It is one sentence:
>
> > "Run the **Tighten** template on \~/Desktop/recording.mp4"
>
> The agent lists the menu, estimates (free), asks your consent, uploads, runs,
> and polls [`GET /v1/jobs/{id}`](https://askeditor.com/docs/setting-up/jobs-and-polling) to the finished
> envelope.

**Editable delivery:** Delivers as PARTS: one clip per kept span, each a trim of your ORIGINAL recording. A cut you disagree with costs a drag instead of a re-run, and everything plays at master quality.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.