SQLAlchemy table definitions for uploads and jobs.
Source: web/backend/models.py
PipelineTypeaudio | highlight | lipsync | visualization
JobStatuspending | running | completed | failed
UploadedFile| Column | Type | Description |
|---|---|---|
id |
UUID | Primary key |
original_name |
String | Original filename |
stored_path |
String | Storage key / relative path |
size_bytes |
Integer | File size |
content_type |
String | MIME type |
ref_text |
Text, nullable | Job-time transcript cache for uploaded reference audio |
created_at |
DateTime | Upload timestamp |
Job| Column | Type | Description |
|---|---|---|
id |
UUID | Primary key |
pipeline_type |
PipelineType | Which pipeline to run |
status |
JobStatus | Current state |
progress_current |
Integer | Progress numerator |
progress_total |
Integer | Progress denominator |
progress_phase |
String | Current phase name |
error_message |
Text, nullable | Error details |
config_json |
JSONB | Full pipeline configuration |
uploaded_file_id |
UUID (FK) | Input document |
ref_audio_file_id |
UUID (FK), nullable | Reference audio |
ref_video_file_id |
UUID (FK), nullable | Reference video |
output_path |
String, nullable | Output filename/path |
celery_task_id |
String, nullable | Celery task ID |
created_at |
DateTime | Job creation time |
updated_at |
DateTime | Last update time |
Job ──FK──▶ UploadedFile (uploaded_file_id)
Job ──FK──▶ UploadedFile (ref_audio_file_id)
Job ──FK──▶ UploadedFile (ref_video_file_id)
DB Models
├── SQLAlchemy
└──▶ consumed by Jobs Router
├──▶ Uploads Router
├──▶ Pipeline Tasks
└──▶ Schemas
JobUploadedFile records