Transcription

Get a campaign video transcript

Changed on

Returns the transcript of a campaign video as JSON, or as a subtitle file with ?format=vtt or ?format=srt. Reading never starts a transcription, so this endpoint costs nothing and has no side effects. A campaign whose transcript is not ready returns 404; use the status endpoint to tell why.

get/v1/workspaces/{workspaceId}/campaigns/{campaignId}/transcript

Request

  • Base URL
    https://api-gw.sendspark.com
  • Auth
    API key in header x-api-key and API key in header x-api-secret

Path parameters

workspaceIdstring required
Example:7voa5y6qjj04kkbfqbgjd7kdvxlf4gqo

The workspace the campaign belongs to. Retrieve it from GET /v1/workspaces/identifier.

campaignIdstring required
Example:2qnbb3ki589oioyimq0o7t1dxkb402ux

The campaign whose video transcript you want.

Query parameters

format'json' | 'vtt' | 'srt'

The representation to return. json is the default. vtt returns a WebVTT file and srt a SubRip file, both sent as a download with a Content-Disposition header.

Response

The transcript, in the requested representation.

campaignIdstring
languagestring

The language the transcript is stored under.

source'master' | 'prospect'

Which recording the transcript describes: master is the campaign's own video, prospect the personalized render made for one recipient.

generatedAtstring date-time nullable

When the transcript was produced. Null for a prospect transcript, which is derived from the master.

textstring

The whole transcript as plain text, one line per segment.

Example response

{
  "campaignId": "2qnbb3ki589oioyimq0o7t1dxkb402ux",
  "language": "en",
  "source": "master",
  "generatedAt": "2026-09-16T10:00:00.000Z",
  "text": "Hi there, thanks for taking a look at this.",
  "segments": [
    {
      "speaker": "Speaker1",
      "start": 0.78,
      "end": 6.26,
      "text": "Hi there, thanks for taking a look at this."
    }
  ]
}

Changes