Skip to main content

Transcription polishing

Transcription polishing rewrites a finished transcript so it reads correctly (grammar, punctuation, capitalization and plainly misheard words) without changing what anyone said.

Speech recognition produces text that is accurate to the sound but awkward as writing: no sentence boundaries, missing capitals, agreement errors and the occasional near-homophone. That is fine for search and keyword matching, and poor for anything a person has to read, such as a transcript attached to a complaint or reviewed for quality. Polishing passes the stored transcript to an AI model and puts the tidied wording back.

Reversible

Recorded calls are polished on request. Live calls can be polished automatically when they end (see below). In both cases the original text is kept and can be restored exactly.

Availability​

Polishing is enabled per account by Speechlytics. Recorded calls are polished when a user of the account requests it in the Speechlytics web app; live calls can be polished automatically (below). Polished transcripts are returned by every call endpoint.

Polishing a recorded call​

A recorded call can be polished once its transcription has finished. Polishing a long call takes a few minutes; when it completes, the call endpoints return the polished text, and keywords and analytics are recomputed. A live call cannot be polished while it is running.

Automatic polishing of live calls​

On accounts with polishing enabled, a live call is polished automatically as soon as its session ends, whether it was stopped, the connection dropped or it went idle. Keyword matching, the summary and analytics then run once, on the polished text. If polishing cannot complete, they run on the original text instead.

Accounts with Protect sensitive content are not polished automatically; their live calls go through masking instead. Recorded calls are never polished automatically.

What polishing changes​

It fixes:

  • grammar, verb forms, agreement, punctuation and capitalization;
  • words that were plainly misheard, where the surrounding conversation makes the intended word unambiguous;
  • words duplicated by mistake.

It is instructed never to:

  • change a number, name, amount, date, address or reference;
  • touch values already masked by Protect sensitive content;
  • change what a speaker meant, or make them sound more articulate, polite or certain;
  • summarize, translate or paraphrase for style;
  • add, remove, merge, split or reorder segments. Timings, speakers and segment count are unchanged.

Review polished transcripts before relying on them for compliance decisions. Polishing is AI-assisted editing, not verification.

Translations are not polished. To refresh a translation, re-transcribe the call.

What happens afterwards​

For a call polished on request, keyword tags and AI analytics were computed from the original wording, so they are recomputed once the polished text is stored. Scores and tags can change: a tag matched on a misheard word disappears when the word is corrected, and a tag that should have matched may now appear. Webhooks are sent again with the new results.

The call's text is also refreshed in transcript search.

Reverting​

Reverting a polished call restores the wording exactly as it was before the first polish, even if the call was polished more than once. Tags and analytics are recomputed again. Because the original is captured after masking, reverting can never expose a masked value.

Status history and API​

Polishing records these entries in the call's status history, shown in the call's life cycle:

ValueStateMeaning
15PolishStartedA polish was requested, or started automatically, and is running.
16PolishEndedThe polished text was applied.
17PolishRevertedThe original text was restored.
18PolishFailedThe run could not be completed; the transcript is unchanged.
19PostProcessingDeferredA live call's keywords and analytics are waiting for its automatic polish.

These are history entries; the call's status in the API stays 2 (Processed). GET /api/v1/calls/{id}/status returns the current transcript, polished or original. Webhooks and call events are sent when keywords and analytics are computed afterwards.

Troubleshooting​

SymptomWhat to check
A call cannot be polishedPolishing is not enabled for the account that owns the call, the call is still live, or transcription has not finished.
Polishing reports that it did not finishThe model did not answer within the time limit. Nothing was changed; try again later.
Only part of the transcript changedSegments that did not need changes, or that the model did not return, keep their original text. Polishing again is safe.
A score changed after polishingExpected: keywords and analytics are recomputed from the corrected text.
A live call has no tags or summary yetThey are waiting for the automatic polish, which takes a few minutes on long calls.