---
title: "Add a hook to a clip"
method: POST
path: "/jobs/{id}/clips/{index}/hook"
---

# Add a hook to a clip

`POST /jobs/{id}/clips/{index}/hook`

## Request

- Base URL: `https://katto.tech/api/v1`
- URL: `https://katto.tech/api/v1/jobs/{id}/clips/{index}/hook`
- Auth: HTTP bearer

Burns a hook (large text over the first seconds) into the clip and re-renders it. Without text, the AI writes one from the clip (same generator as the editor's AI Hook). Styled like the editor's hook (white, boxed, animated). Versioned: the original clip is kept, so a new call replaces the hook. No video quota. Requires write scope.

## Path parameters

- `id` string, uuid, required
- `index` integer, required

## Request body

- object
  - `text` string
  - `position` 'top' | 'center'
  - `duration` number

## Response `202`

Re-render queued

- object
  - `rerender_id` string
  - `status` 'queued'
  - `status_url` string, uri: Poll GET /jobs/{id}/rerenders/{rerender_id}.
  - `hook_text` string
  - `generated` boolean: true when the AI wrote the hook.

## Other responses

- `400`: Error
- `401`: Error
- `403`: Error
- `404`: Error
- `409`: Error
- `429`: Error
- `500`: Error

---

[API](https://skmtc.dev/katto/apis/katto-api.md) · [All operations](https://skmtc.dev/katto/apis/katto-api/llms.txt) · [OpenAPI document](https://skmtc.dev/katto/apis/katto-api/revisions/f2ae2d85e51d?raw)
