Files
video-gen/video-gen-api/app/schemas/admin_upload.py
T

31 lines
1.7 KiB
Python

from __future__ import annotations
from pydantic import BaseModel, Field
from app.enums.admin_upload import AdminUploadResourceTypeEnum, AdminUploadSceneEnum
class AdminUploadMediaReferenceOut(BaseModel):
url: str = Field(..., description="附件URL。")
type: str = Field(..., description="附件类型:image/video/audio/pdf/file。")
name: str | None = Field(None, description="附件名称。")
duration: float | None = Field(None, description="音视频时长,单位秒。")
source: str = Field("admin_upload", description="来源标识。")
upload_resource_id: str | None = Field(None, description="UploadResource资源ID。")
display_url: str | None = Field(None, description="展示URL。")
preview_url: str | None = Field(None, description="预览URL。")
role: str | None = Field(None, description="参考素材角色。")
class AdminUploadFileOut(BaseModel):
resource_id: str = Field(..., description="UploadResource资源ID。")
scene: AdminUploadSceneEnum = Field(..., description="上传场景。")
module: str = Field(..., description="上传资源模块。")
resource_type: AdminUploadResourceTypeEnum = Field(..., description="资源类型。")
url: str = Field(..., description="文件URL。")
file_name: str = Field(..., description="保存后的文件名。")
original_file_name: str | None = Field(None, description="原始文件名。")
file_size_bytes: int = Field(0, description="文件大小,单位字节。")
duration_seconds: float | None = Field(None, description="音视频时长,单位秒。")
media_reference: AdminUploadMediaReferenceOut | None = Field(None, description="兼容生成任务 media_references 的附件引用对象。")