VocalStack LogoVocalStack Logo
VOCALSTACK FOR STRAPI

Every episode, transcribed

A Transcribe button beside every audio file in the Strapi Content Manager. The transcript is saved as editable text and timed sentences, so your frontend reads it from the same REST and GraphQL APIs as the rest of your content.

STRAPI 5 · NODE 20+ · FROM $0.20 AN HOUR OF AUDIO
cms.example.com/admin/content-manager/collection-types/api::episode.episode/42
Content ManagerCOLLECTION TYPESEpisodeArticleUser
← BackEpisode 42: Building in public
TitleEpisode 42: Building in public
Audio
MP3episode-042.mp346.3 MB · audio/mpeg
Transcript
00:00Welcome back to the show. Today: shipping early.
00:07The first version was rough, and that was the point.
ENTRYPublishSave
VocalStack
Transcribing31:06 / 48:20
Stop

Content like any other

Transcripts are a content type of their own, so the REST and GraphQL APIs return them with the text and the timed sentences.

Progress you can see

The side panel shows how much audio is done and survives a reload. Stop ends a job you no longer want.

Or fully automatic

Turn on autoTranscribe and every audio file uploaded to the Media Library is transcribed without a click.

Key stays on the server

A connected API key is kept in Strapi's server-side store and is never sent to the admin panel.

SETUP

Install, enable, transcribe

Install the plugin from GitHub and enable it in config/plugins.ts. Leave out the key and an administrator connects an account from Settings → VocalStack instead.

01Install the plugin from GitHub and enable it in your config.
02Rebuild the admin panel and restart Strapi.
03Open an entry with an audio file and click Transcribe.
bash
npm install github:vocalstack/strapi-plugin
typescript
// config/plugins.ts
export default ({ env }) => ({
  vocalstack: {
    enabled: true,
    config: {
      // Optional: or connect from Settings → VocalStack
      apiKey: env('VOCALSTACK_API_KEY'),
    },
  },
})
OPTIONS

Fits the way you built it

Sensible defaults, and a hook for every place your setup differs.

autoTranscribe

Transcribe every audio file as soon as it is uploaded to the Media Library.

spokenLanguage

The language spoken in the audio. Leave it out to detect it automatically.

fileURL

The address VocalStack fetches the audio from. Point it at your bucket or CDN.

oneClickConnect

Show Connect VocalStack in Settings, so an administrator signs in instead of pasting a key.

enabled

Turn the button and the routes off while keeping the transcripts you already have.

PRICING

No plugin fee

You pay VocalStack only for the audio you transcribe, on the same rate as the Dashboard and the API. Billed per second, with a minimum of 5 minutes per transcription.

FILES$0.20an hour

Every audio file you transcribe, with speakers, punctuation and timings included.

Frequently Asked Questions

View on GitHubRead the README