Spaces:
Running
Running
File size: 1,141 Bytes
0d0fd8d 3b1b3cb 36271b3 0d0fd8d 36271b3 0d0fd8d 4369b06 3b1b3cb 63f26c4 3b1b3cb 0d0fd8d b989bc8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | from enum import Enum
from pydantic import BaseModel, Field
class JobState(str, Enum):
pending = "pending"
processing = "processing"
done = "done"
error = "error"
class JobStatus(BaseModel):
job_id: str
state: JobState
progress: int = Field(default=0, ge=0, le=100)
error: str | None = None
stems: dict[str, str] | None = None
original_filename: str | None = None
# Analysis metadata for creators.
bpm: float | None = Field(default=None, ge=30, le=260)
bpm_confidence: float | None = Field(default=None, ge=0, le=1)
musical_key: str | None = None
key_scale: str | None = None
key_confidence: float | None = Field(default=None, ge=0, le=1)
# Rhythm / tala metadata.
tala: str | None = None
time_signature: str | None = None
class DownloadRecord(BaseModel):
job_id: str
original_filename: str
stem: str
timestamp: str
class UploadResponse(BaseModel):
job_id: str
class YoutubeJobRequest(BaseModel):
url: str
class YoutubeJobStatus(BaseModel):
id: str
status: str
error: str | None = None
slug: str | None = None
|