Skip to main content

Video states and processing completion

A video's status indicates progress through upload, transcription, and search preparation. Refer to it when implementing waiting states or investigating stalled processing.

Normal flow

This diagram shows processing states, not a user-facing button for every arrow. Some registration paths, such as YouTube imports, skip file upload.

ValueWhat it means or waits forWhere to check
uploadingFile upload and completion notificationBrowser, storage, API
pendingTranscription to startQueue delivery, worker
processingAudio-to-text conversion and related workWorker, Whisper
indexingBuilding searchable subtitle dataWorker, embedding API, DB
completedVideo is ready for searchAdd it to a course and ask questions
errorA stage failedError details and relevant logs

Also inspect individual implementations for paths such as reindexing. Normal transition definitions are in video_status.py; indexing completion is handled in tasks/indexing.py.

Check PLOG readiness separately

After search data is created, a build_plog job generates learning concepts and hints. A completed video may therefore still be unavailable for study mode.

plog_build_jobs tracks generation state. Even after generation completes, empty concepts or an unusable learning order prevent study. Do not enable the Study button based only on video status.

Related: PLOG and study mode, Stalled processing.