API referenceChapters

Set the pauses of a script block

Set a block's pacing: a pause is SILENCE inserted into the voice-over timeline at a point in the text, so the words after it are heard later (the editor's pause chips).

Nothing is re-voiced; the block's anchored scenes re-time and the chapter timeline is re-derived. Place each pause with after_text (right after that phrase, case-insensitive; occurrence = n-th match, default 1) or a raw char_pos — exactly one. duration_ms 1–20000, at most 64 pauses. mode:"replace" (default) makes the list the block's pauses ([] clears); "merge" keeps existing pauses at other positions. Pauses at the same position collapse (last wins). Pauses are text positions: they survive a voice regeneration, but rewriting the block text clears them. Free.

PUT
/chapters/{chapterId}/blocks/{blockId}/pauses

Authorization

bearerAuth
AuthorizationBearer <token>

Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….

In: header

Path Parameters

chapterId*string
Formatuuid
blockId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/chapters/497f6eca-6276-4993-bfeb-53cbbbba6f08/blocks/string/pauses" \  -H "Content-Type: application/json" \  -d '{    "pauses": [      {        "duration_ms": 1      }    ]  }'
{
  "data": {
    "block_id": "string",
    "pauses": [
      {
        "char_pos": 0,
        "duration_ms": 0,
        "context": "string"
      }
    ],
    "timeline_duration_sec": 0
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}