Skip to main content

Transcript Corrections

WizChat automatically detects likely transcription errors in your video content and suggests corrections. You can review and resolve these suggestions — accepting, rejecting, or providing custom replacements — to improve the accuracy of your knowledge base.

Draft content — awaiting human review

This page was auto-drafted during a docs-sync run. Verify dashboard navigation labels against the current product before treating as authoritative.

How corrections work

When a video is transcribed, the system detects spans that may be mis-transcribed and generates candidate replacement words. Each correction has a status:

StatusMeaning
suggested_autoThe system has a high-confidence suggestion; not yet reviewed.
needs_reviewFlagged for human review (lower-confidence span).
acceptedA suggested or candidate word was accepted.
rejectedThe correction was dismissed; the original stands.
customA custom replacement text was applied.

Accepting a correction, applying custom text, or undoing a previous transcript-changing resolution can trigger a transcript rebuild and re-embedding in the background, so your chatbot's answers reflect the corrected text.

Reviewing corrections via the Management API

List all corrections across a chatbot

GET /api/v1/chatbots/{chatbotId}/corrections

Required scope: documents:read

Returns a flat review queue of corrections across all of the chatbot's videos. Each item includes the video ID, video title, timestamp, original text, suggested replacement, and any candidates. Use the per-video endpoint when you need transcript context snippets around each correction span.

Response includes:

  • corrections — array of PublicCorrection objects
  • totals — per-status counts across the chatbot
  • truncated — whether the result was capped (paginate by video if you need all)

List corrections for a single video

GET /api/v1/videos/{videoId}/corrections

Required scope: documents:read

Returns a paginated list of corrections for one video (IDOR-guarded). Includes:

  • corrections — page of PublicCorrection objects
  • correctionTotal — total correction count for the video
  • hasMoreCorrections / correctionPage — pagination signals
  • correctionSummary — per-status totals for the video
  • correctionReembedStatus — current async correction re-embed status, if any

Each PublicCorrection object includes:

FieldDescription
idCorrection identifier.
statusCurrent status (see table above).
originalThe original transcribed text.
correctedThe suggested replacement, or null.
candidatesAlternative candidate replacements.
charStart / charEndCharacter offsets in the raw transcript.
contextA short transcript window around the span, with the span marked.

Resolving a correction

PATCH /api/v1/videos/{videoId}/corrections

Required scope: documents:write

Resolves one correction (IDOR-guarded). You can accept a candidate, reject the suggestion, apply custom text, or undo a previous resolution.

Request body:

FieldTypeDescription
actionstringaccept | reject | custom | undo
correctionIdstringThe correction to resolve (alternative to correctionIndex).
correctionIndexintegerPosition in the correction list (alternative to correctionId).
pickedCandidatestringFor action: "accept" — the candidate text to apply.
customTextstringFor action: "custom" — the replacement text.

Response includes transcriptChanged (whether the transcript was modified) and reembedDispatched (whether a background re-embed was triggered).