---
title: "Set Clip Banner Text"
method: POST
path: "/runs/{run_id}/clips/{clip_id}/banner-text"
---

# Set Clip Banner Text

`POST /runs/{run_id}/clips/{clip_id}/banner-text`

## Request

- Base URL: `https://www.clipzyn.com/v1`
- URL: `https://www.clipzyn.com/v1/runs/{run_id}/clips/{clip_id}/banner-text`
- Auth: HTTP bearer

Set (or clear) the TEXTUAL banner on an ALREADY-FINISHED clip (v2 §4.6): a
hook address (lane and rank, resolved server-side), a custom text of at most
400 characters, or clear set to true. This is a text-only intent with no
render, no burn, and no finishing quota spent. Provide exactly one of the
three shapes. Recover from scope_missing by minting a finish:write key,
run_not_ready by polling progress until the run completes, run_not_found or
clip_not_found by listing your runs and their clips, and validation_error by
providing exactly one valid shape (a real lane and rank, a non-empty text, or
clear). For service_unavailable, wait retry_after_sec and retry once.

## Path parameters

- `run_id` string, required
- `clip_id` string, required

## Request body

- BannerTextRequest: v2 §4.6 banner-text: text-only intent (no render, no spend). Exactly one of a hook address (lane+rank), custom ``text`` (<=400), or ``clear``.
  - `lane` string, nullable
  - `rank` integer, nullable
  - `text` string, nullable
  - `clear` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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