Transcription

Transcribe from a URL

We fetch the media from the link and transcribe it. Same options as the file submit. A link to one podcast episode (Apple Podcasts ?i= link, Podbean, Transistor, Captivate or any episode page) is transcribed as that episode; if we cannot tell which episode it is, the request is refused with 400 EPISODE_UNKNOWN and nothing is charged. A show page or an RSS feed URL means the show's latest episode. A profile, playlist or set is refused with 400 LINK_IS_A_LIST.

post/v1/transcribe/url

Request

  • Base URL: https://whipscribe.com/api
  • URL: https://whipscribe.com/api/v1/transcribe/url
  • Auth: API key in header X-API-Key

Headers

Idempotency-Keystring

Optional. Retries that carry the same key (per API key) return the original job (HTTP 200, X-Idempotent-Replay: true) instead of creating a duplicate. Up to 255 characters from [A-Za-z0-9_.:/-].

Request body

urlstring uri required

Public link to the audio or video (a page link or a direct media file).

languagestring

ISO 639-1 language code (en, es, fr, ...), or auto to detect it.

diarizeboolean

Label who is speaking.

word_timestampsboolean

Include per-word start and end times.

source'upload' | 'url' | 'recording' | 'api'

How the transcript was created. Defaults to upload for file submits and url for link submits.

Example request

{
  "url": "https://example.com/episode-412.mp3",
  "language": "en",
  "source": "api"
}

Response

Idempotent replay of an earlier submit with the same Idempotency-Key.

job_idstring uuid required
status'queued' | 'processing' | 'done' | 'failed' required
claim_tokenstring

Returned only when no user identity was supplied. Send it as X-Claim-Token on later reads of this job.

Example response

{
  "job_id": "35f4be54-aa3e-4adc-85b7-b44f284d1fc3",
  "status": "queued"
}

Changes

No recorded changes to this operation across all 1 revision of this API.