Files
xiaoxia-saas/apps/api/app/schemas/edit_plan.py
T

65 lines
1.5 KiB
Python

from datetime import datetime
from pydantic import BaseModel, Field
class EditTemplateResponse(BaseModel):
id: str
workspace_id: str = ""
project_id: str
name: str
description: str
target_duration: float
clip_count: int
is_active: bool
created_at: datetime | None = None
class EditPlanClipResponse(BaseModel):
id: str
asset_id: str
asset_name: str
sequence: int
start_time: float
duration: float
reason: str
layer: str = "main" # main, pip, broll
class EditPlanResponse(BaseModel):
id: str
workspace_id: str = ""
project_id: str
template_id: str
asset_library_id: str
title_id: str = ""
status: str
summary: str
editing_mode: str | None = None # one_take, pip, voice_over, voice_pip
clips: list[EditPlanClipResponse] = Field(default_factory=list)
created_at: datetime | None = None
updated_at: datetime | None = None
class CreateEditPlanRequest(BaseModel):
workspace_id: str = ""
asset_library_id: str
template_id: str = ""
title_id: str = ""
class AutoGenerateEditPlanRequest(BaseModel):
"""智能生成剪辑计划请求"""
workspace_id: str = ""
asset_library_id: str
editing_mode: str = Field(
default="one_take",
description="剪辑模式: one_take, pip, voice_over, voice_pip"
)
target_duration: float = Field(
default=30.0,
description="目标时长(秒)"
)
template_id: str = ""
title_id: str = ""