API referenceChapters

Strike or restore words in a voiced block

Text-based editing: remove words from a block's voice-over WITHOUT regenerating it.

The text stays (shown struck through in the editor); the audio span is skipped in preview, export and captions. Give a phrase (first occurrence, case-insensitive) or a character range; a selection that clips a word takes the whole word. Cut edges are placed in the silence between words so no word is clipped. action:"restore" with no range restores every cut. Cuts are tied to the current voice take: regenerating the voice drops them. Free.

POST
/chapters/{chapterId}/blocks/{blockId}/cuts

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 POST "https://example.com/chapters/497f6eca-6276-4993-bfeb-53cbbbba6f08/blocks/string/cuts" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "block_id": "string",
    "text": "string",
    "removed_sec": 0,
    "cuts": [
      {
        "from_ms": 0,
        "to_ms": 0,
        "char_from": 0,
        "char_to": 0,
        "snapped": true
      }
    ]
  }
}
{
  "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"
  }
}