No project description provided
Project description
Wagtail Transcription
wagtail-transcription is app for Wagtail that allows to create transcriptions for YouTube videos automatically with just few clicks! To create transcription it use AssemblyAi API.
pip install wagtail-transcription
Then add wagtail_transcription
and notifications
to your installed apps:
Note: Make sure that 'wagtail_transcription' is added before 'wagtail.admin'. Otherwise, administration page will not work properly
INSTALLED_APPS = [
...
'wagtail_transcription',
'notifications',
...
]
SetUp
1. Run migrations
After installing wagtail-transcription and adding it to installed apps run migrations:
python manage.py migrate
2. Add wagtail-transcription urls
Add following to your project urls.py
from wagtail_transcription import urls as wagtail_transcription_url
import notifications.urls
urlpatterns = [
...
path("wagtail_transcription/", include(wagtail_transcription_url)),
re_path(r'^inbox/notifications/', include(notifications.urls, namespace='notifications')),
...
]
3. Add ASSEMBLY_API_TOKEN
In your settigns file add 'ASSEMBLY_API_TOKEN' (to get it create Assembly Ai account)
ASSEMBLY_API_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
4. Forward your localhost (developement)
IMPORTANT After transcription process ends AssemblyAi will send request to one of wagtail-transcription views. To receive it on local server you have to forward your localhost. Best and easiest option is use tunelling service like localltunnel.
5. Add BASE_URL
In your settings file add 'BASE_URL = "base_url"' this is used when sending webhook_url for AssemblyAi. In developement you should set it to forward url. If you use localltunnel it will be something like this 'https://your_subdomain.loca.lt'
BASE_URL = "base_url"
6. Add DOCUMENTS_GROUP (Optional)
In your settings file add 'DOCUMENTS_GROUP = True' to create menu group from wagtail documents and transcription
DOCUMENTS_GROUP = True
Usage
In model that you want to add dynamically generated transcryption
from wagtail_transcription.edit_handlers import VideoTranscriptionPanel
from wagtail_transcription.models import Transcription
class YourModel(Orderable, models.Model):
video_id = video_id = models.CharField(max_length=255, blank=True)
transcription = models.ForeignKey(
Transcription,
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
panels = [
MultiFieldPanel([
VideoTranscriptionPanel('video_id', transcription_field='transcription'),
FieldPanel('transcription'),
], heading="Video and Transcription"),
]
video_id field accept only youtube video id (not urls).
VideoTranscriptionPanel takes two arguments:
- field_name - name of field for video_id
- transcription_field - name of transcription field
IMPORTANT You can only generate a transcript on an existing object, if you try to do this in page creation view you will get an error.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for wagtail-transcription-0.0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | efdb008802736b28475e5ad4f935515fb459911fbc9eef4eeeca7eec66259c3d |
|
MD5 | 19b49fc624ff5baffe927d4b17dcb241 |
|
BLAKE2b-256 | c2c96091449affaca9df4bf3467e913b3b1b9c25479a54ee92740f3872c881af |
Hashes for wagtail_transcription-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7930db16c7c8e14c52f76c74ad91554edb48cdb48a2e85125bd2a08e29fb23f |
|
MD5 | 1e904a7f9480c00d9fd811f1f9b0e49b |
|
BLAKE2b-256 | aecbe8b10dd3a5358481f3d8ca5ca2c4cbfffb37f63ba655fa4cb418a52ecc12 |