webhook_url to receive the completed transcript pushed directly to your server.
AI transcription is an add-on feature. Confirm that it is enabled on your TalkChief account before calling this API — requests made without the feature activated will return a
403 Forbidden error. Contact your account manager or check Settings → Add-ons in your dashboard to enable it.Your exact API base URL is customer-specific and available in your TalkChief dashboard under Settings → Developers.
Pricing
Transcription usage is billed at **0.025 + (0.0375. Jobs that fail before producing any output are not billed. If your team transcribes frequently, the AI Transcription add-on is available at $10 per member per month and includes 1,500 minutes of transcription per month. Once your included minutes are consumed, additional usage is billed at the standard per-second rate.Billing is based on the audio duration of the submitted recording, not the length of the final transcript. Silence counts toward billable duration.
Submitting a Recording
Send aPOST request to the transcriptions endpoint with the URL of the recording you want transcribed. The recording must be accessible over HTTPS — either a public URL or a pre-signed URL that TalkChief can fetch without additional authentication.
Request Parameters
string
required
A publicly accessible HTTPS URL pointing to the audio file to transcribe. Supported formats include MP3, WAV, OGG, and M4A. The URL must remain accessible until the transcription job completes — pre-signed URLs should have an expiry of at least 30 minutes.
string
The language of the recording. Accepted values are
"ar" (Arabic), "he" (Hebrew), "en" (English), or "auto" for automatic detection. Defaults to "auto" if omitted. Providing the correct language explicitly improves accuracy and reduces processing time.string
An HTTPS URL on your server. When the transcript is ready, TalkChief sends a
POST request to this URL with the completed transcript payload — the same structure returned by the GET endpoint. Use this instead of polling for production integrations.Example Request
- cURL
- JavaScript
- Python
201 Created with a transcription object whose status is "pending".
Checking Status
Retrieve the current state of a transcription job — or fetch the completed transcript — by sending aGET request with the transcription ID returned at submission.
Response Fields
string
The unique identifier for this transcription job, prefixed with
txn_ (e.g., txn_abc123).string
The current processing state of the job. One of:
string
The BCP 47 language code identified in the audio (e.g.,
"en", "ar", "he"). Present once status is completed.number
The total audio duration in seconds, used for billing calculation. Present once status is
completed.array
An array of speaker-segment objects, each representing a continuous block of speech from a single speaker. Present only when
status is completed.Transcript Output Format
A completed transcription resource looks like the following. Each element of thetranscript array represents one contiguous utterance from a single speaker, in chronological order.
Using Webhooks for Completion
Rather than polling the GET endpoint, pass awebhook_url in your submission request. When the job transitions to completed or failed, TalkChief sends a POST request to that URL with the full transcription object as the request body — identical to the shape returned by the GET endpoint.
Your webhook endpoint must respond with a 2xx status code within 10 seconds. If it does not, TalkChief retries delivery with exponential backoff. Implement idempotency on your end using the id field to avoid processing the same transcript twice.
Transcription webhooks do not use the same HMAC-SHA256 signing mechanism as CDR webhooks. Validate the payload by checking that the
id matches a transcription job you previously submitted.
