> For the complete documentation index, see [llms.txt](https://bountyv.gitbook.io/vdocs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bountyv.gitbook.io/vdocs/clip-api/clip-overview.md).

# Overview

Watermark-free downloads, scene-cut splitting, and hook + Vault stitching for TikTok and Instagram Reels — one product surface, gated by your account's `clip` entitlement. Calls return `403 product_disabled` if the entitlement is missing.

| Endpoint                                      | Method                     | Description                                                                                                                                         |
| --------------------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Clean Clip](/vdocs/clip-api/clip-clean.md)   | `POST /api/v1/clip/clean`  | Re-download a Reel without the platform's watermark overlay. Sync, streams the MP4 back.                                                            |
| [Clip Split](/vdocs/clip-api/clip-split.md)   | `POST /api/v1/clip/split`  | Split a Reel at its dominant scene cut; returns start + end sections as a ZIP. Sync.                                                                |
| [Clip Stitch](/vdocs/clip-api/clip-stitch.md) | `POST /api/v1/clip/stitch` | Upload a hook and (optionally) your own audio track, pick an end from our Vault library, get a finished 1080×1920 reel. Async — returns a `job_id`. |
| [Clip Library](#clip-library)                 | `GET /api/v1/clip/library` | List the Vault end clips and audio tracks available to Clip Stitch. Free.                                                                           |

## Billing at a glance

* **Clean Clip** and **Clip Split** are flat per-call charges.
* **Clip Stitch** is a flat charge, applied on successful dispatch.
* **Clip Library** is free — call it as often as you like.

Failed calls are always refunded. See [Credits & pricing](/vdocs/account/credits.md) for current rates.

## Clip Library

`GET /api/v1/clip/library` lists the shared Vault assets you can pick from when building a [Clip Stitch](/vdocs/clip-api/clip-stitch.md) request — not your own uploads. It returns two arrays:

* `ends` — Vault videos in the `virals` category, each with an `id`, `title`, `thumbnail_url`, `preview_url`, `duration_seconds`, and `tags`.
* `audio` — Vault audio tracks, each with an `id`, `title`, `duration_seconds`, and `tags`.

Pass the `id` values you want straight through as `end_id` / `audio_id` on `POST /api/v1/clip/stitch`. Calling this endpoint is free and requires no `Content-Type` or body — just the `Authorization` header.

You don't have to use a Vault track: `POST /api/v1/clip/stitch` also accepts an `audio` file upload, which takes precedence over `audio_id`. That's the recommended path — you choose the exact track and you're responsible for holding the rights to it.

```bash
curl https://substance-api.com/api/v1/clip/library \
  -H "Authorization: Bearer sk_live_..."
```

```json
{
  "ends": [
    {
      "id": "8f3c1a2e-...",
      "title": "Gym PR hype",
      "thumbnail_url": "https://…",
      "preview_url": "https://…",
      "duration_seconds": 6.2,
      "tags": ["gym", "hype"]
    }
  ],
  "audio": [
    { "id": "b71e9d0a-...", "title": "Suspense riser", "duration_seconds": 4.0, "tags": ["suspense"] }
  ]
}
```

Same product gate as the rest of Clip Tools (`403` if `clip` isn't enabled on your account).

## Async pipelines

Clip Stitch is asynchronous: the submit call returns a `job_id` immediately, and you poll a separate endpoint until the render finishes.

* **Clip Stitch** returns a `job_id` — poll it like any other video job via [Job status](/vdocs/video-api/jobs.md), then download the finished reel from `/api/v1/jobs/{id}/video`.

Clean Clip and Clip Split are synchronous — the file streams back directly in the response body of the original call.

## Authentication

All Clip Tools endpoints use the standard header:

```
Authorization: Bearer sk_live_...
```

See [Authentication](/vdocs/authentication.md) for details.

## Want a custom flow?

If you have a use case beyond these — bulk splitting, custom transitions, or a private end library — reach out via your account manager. Early-access slots come with the same pooled-credit billing as the rest of the API.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://bountyv.gitbook.io/vdocs/clip-api/clip-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
