File upload endpoint for documents and reference media.
Source: web/backend/routers/uploads.py
POST /api/uploadsUpload a document file or reference audio/video file.
Request: multipart/form-data with file
MAX_UPLOAD_SIZE_MB from Web Configref_text unset.The upload endpoint never calls or enqueues /transcribe. Pipeline workers transcribe
reference audio on demand when a submitted job actually uses it.
{
"id": "uuid",
"original_name": "voice.wav",
"size_bytes": 123456,
"content_type": "audio/wav"
}
GET /api/uploads/{file_id}/previewStreams an uploaded file inline for new-job previews.
Preview is allowed for:
.mp4, .mov, .m4v, .webm, .ogg, .ogv)video/The response sets Content-Disposition: inline and uses a guessed media type when possible.
Uploads Router
├── Web Database (async session)
├── DB Models (UploadedFile)
├── Schemas (UploadResponse)
├── Storage Service (save_upload, get_upload_abs_path)
└── Web Config (MAX_UPLOAD_SIZE_MB)