Install and configure¶
Install the core module for manual authoring, structured imports, and transcript playback. AI generation is available through an optional submodule.
Requirements¶
| Dependency | Required version |
|---|---|
| Drupal core | ^11.3 |
| PHP | ^8.3 |
| Paragraphs | ^1.23 |
| Entity Reference Revisions | ^1.14 |
| Dynamic Entity Reference | ^5.0@RC |
Drupal 12 is not currently supported.
Add the module to an existing site¶
Place the project in web/modules/custom/transcribe. Install its dependencies in the site’s Composer project:
composer require drupal/paragraphs:^1.23 \
drupal/entity_reference_revisions:^1.14 \
'drupal/dynamic_entity_reference:^5.0@RC'
drush en transcribe -y
Enable transcribe_audio to add the supplied audio upload Media type. Skip this step if your site already has a supported audio or video Media type.
AI generation is optional and has additional dependencies; see Generate with AI.
Configure sources and speakers¶
Open Configuration → Media → Transcribe, at /admin/config/media/transcribe.
- Choose eligible Media bundles. An empty bundle list permits every source supported by an installed adapter.
- Choose speaker entity types and bundles. The default speaker type is
user; explicitly enable person nodes, taxonomy, or other content entities as needed. - Set timing tolerance and editor paging.
- Choose the preferred published transcript policy.
Speaker references use string entity IDs. Preserve them as strings in integrations.
Create a first transcript¶
- Open
/admin/content/transcriptionsand create a transcript referencing existing Media. - Use the Edit transcript tab to append exact text, or import a named JSON document.
- Assign speakers and review word timing.
- Save a revision, review it, and publish when ready.
Text authored by hand begins untimed. Audio/video playback still works; measured word highlighting requires reliable word intervals. Follow scrolling is opt-in, and YouTube playback loads only after explicit activation.
Transcription providers need an audio file. For remote video, configure a managed rendition field on the Media type; see Media adapters.