Skip to main content

benecaster_transcription_prompt

Filter Premium transcription

Overrides, per show or per episode, the vocabulary prompt the Transcription Service add-on sends to the provider. $prompt is the Vocabulary hints and context setting on Settings → Transcription: the shipped default until the podcaster changes it, or '' if they saved it empty.

Each provider reads it differently. OpenAI Whisper receives the text as written and reads roughly its last 224 tokens; the gpt-4o-transcribe-diarize model receives none. AssemblyAI, Deepgram and Rev.ai receive only its terms: the text is split on commas, semicolons and line breaks, terms over 50 characters are dropped, duplicates are removed, and at most 100 are sent. The shipped default is a single Whisper sentence with no separators, so those three providers receive nothing from it.

Return the prompt for this request. A value that is not a string is ignored and the setting is used. The return is not capped: the setting is limited to 1,000 characters, but your filter is trusted to know what its provider accepts.

Parameters

Name Type Default Description
$prompt string — The Vocabulary hints and context setting, the shipped default, or '' if saved empty
$show_id int — ID of the episode's show
$episode_id int — ID of the episode being transcribed

Returns: string

Example

add_filter( 'benecaster_transcription_prompt', function ( string $prompt, int $show_id, int $episode_id ): string {
    // A cooking show: its own terms, added to the global prompt.
    return 123 === $show_id ? $prompt . ', sous vide, mirepoix, Escoffier' : $prompt;
}, 10, 3 );

Notes

The prompt text is sent only to the provider. Benecaster's anonymous usage data says only whether the global setting differs from the shipped default, and this filter does not change that. Walkthrough: Send a different vocabulary prompt for one show or episode.

Need this built rather than just documented? See our services →