delete-transcription
ChatGPTDeletes one WhisperTranscript transcription record, or all records for the authenticated user when deleteAll is set. This is destructive and can permanently remove access to the selected history entries. Repeating deleteAll targets the current history again, including records added since the previous call.
get-filelist
ChatGPTLists the authenticated user's recent WhisperTranscript recording jobs for history, result selection, and progress checks. It does not inspect a computer, Downloads folder, cloud drive, or generic files. To open a result, pass the selected record's id to get-transcription-result as fileId. Only display-safe job fields are returned; personal identifiers, session state, telemetry, and internal diagnostics are excluded.
get-transcription-result
ChatGPTReads the current state of a user-owned WhisperTranscript recording-to-document job. When complete, it returns the usable transcript package: searchable text, normalized subtitle entries, summary, timestamps, language, and duration. Preserve subtitleEntries for any follow-up that depends on cue timing. Call it only with a known fileId or the id selected from get-filelist; do not use it for pasted text, sample JSON, generic translation, or subtitle-format conversion. Personal identifiers, session state, telemetry, and internal diagnostics are excluded.
get-upload-url
ChatGPTPrepares a new upload for one recording selected in the WhisperTranscript workspace. Each call counts toward the upload rate limit and issues a new fileId and temporary upload URLs for app-managed storage; it does not upload media or start transcription. Returns only the opaque fileId and temporary upload URLs needed for the next step; storage keys, user identifiers, session state, telemetry, and internal diagnostics stay private.
get-user-preferences
ChatGPTLoads the widget preference state WhisperTranscript needs inside ChatGPT: UI language plus a coarse entitlement flag, hasPremiumAccess. It does not expose billing records, raw subscription fields, personal identifiers, session state, telemetry, or internal diagnostics.
insert-transcription-record
ChatGPTCreates a pending WhisperTranscript job for media uploaded through the widget or a supported media URL. For URL jobs, the backend retrieves media from the supplied external URL for processing. It stores filename, language, speaker/subtitle choices, and duration, and verifies uploaded objects before creating file-upload jobs. Retrying with the same fileId does not create another record or restart an existing job; an existing record is accepted only when it belongs to the authenticated user.
set-user-preferences
ChatGPTReplaces the authenticated user's saved WhisperTranscript widget language preference with the requested value. Repeating the same preference keeps the same language. Returns only the normalized preference payload, not account state, personal identifiers, session state, telemetry, or internal diagnostics.
share-transcription
ChatGPTCreates or reuses a share link that lets anyone with the link read the transcript or subtitle result outside the user's private account. Use only when the user requests sharing. A new link grants read access without media playback or download permission. Existing links are reused when found, but retries after a failed lookup or concurrent calls may create additional links. The response contains the complete share URL with a random sharing identifier, not a user login token, JWT, or API key. The identifier does not encode user identity; no separate account credentials, profile fields, session state, telemetry, or internal diagnostics are returned.
subtitle-generator
ChatGPTOpen the WhisperTranscript timestamped-caption workspace when the user wants new subtitles or captions from an audio/video source. This call only opens the interface; it does not upload media or start a job. Keep cue timing central: the finished result is intended for subtitle review and reuse. Media must be chosen or dragged inside the widget; never ask the user to attach it to the ChatGPT conversation because this app cannot process chat attachments. After the widget opens, briefly confirm in the user's language and ask them to choose or drag media inside it. Do not append links or hypothetical fallback instructions about the widget not rendering. Do not call get-upload-url or insert-transcription-record yourself: the widget uploads the media, creates the job, and polls automatically. Use get-transcription-result only when the user asks for finished subtitle data. Do not call this tool for subtitle text already pasted into the conversation, including translation, editing, summarization, or format conversion.
transcribe
ChatGPTOpen the compact WhisperTranscript recording-to-document workspace when the user wants a new audio/video transcript or their recent WhisperTranscript work. This call only opens the interface; it does not upload media or start a job. The workspace produces searchable text with timestamps and speaker-aware structure when available. Media must be chosen or dragged inside the widget; never ask the user to attach it to the ChatGPT conversation because this app cannot process chat attachments. After the widget opens, briefly confirm in the user's language and ask them to choose or drag media inside it. Do not append links or hypothetical fallback instructions about the widget not rendering. Do not call get-upload-url or insert-transcription-record yourself: the widget uploads the media, creates the job, and polls automatically. Use get-transcription-result only when the user asks for finished transcript data. Do not call this tool for text already pasted into the conversation, including editing, summarization, translation, or format conversion.