API referenceMedia

Transcribe a recording in the library

Read the words out of an audio or video asset already in the library and record them as a project SOURCE, with word-level timings.

The second door to speech-to-text: sources on POST /projects only exists at creation time and only takes a url, so a file already in a project was otherwise unreachable. SPENDS CREDITS by duration (~1 credit per minute of audio, from a generation_pricing row). Asynchronous — 202 with a status to poll; a repeat call on the same asset reports state rather than queueing a second pass, and costs nothing.

POST
/media/{mediaId}/transcribe

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

mediaId*string
Formatuuid

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

application/json

application/json

curl -X POST "https://example.com/media/497f6eca-6276-4993-bfeb-53cbbbba6f08/transcribe" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "media_asset_id": "f83c59c2-d228-4515-88d6-11fa95820958",
    "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
    "status": "pending",
    "duration_sec": 0,
    "credits_used": 0,
    "note": "string"
  }
}
{
  "data": {
    "media_asset_id": "f83c59c2-d228-4515-88d6-11fa95820958",
    "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
    "status": "pending",
    "duration_sec": 0,
    "credits_used": 0,
    "note": "string"
  }
}
{
  "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"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}