export type TemplateType = "news" | "knowledge" | "opinion" | "marketing" | "github-trending" | "github-weekly"; export type PlatformPreset = | "bilibili" | "douyin-long" | "douyin-short" | "universal-16x9" | "universal-9x16"; export type AspectRatio = "16:9" | "9:16"; export type Tone = "formal" | "casual" | "energetic" | "calm"; export type Pace = "slow" | "normal" | "fast"; export type JobStatus = "pending" | "running" | "completed" | "failed"; export const PLATFORM_PRESETS: Record< PlatformPreset, { width: number; height: number; fps: number; aspect: AspectRatio } > = { bilibili: { width: 1920, height: 1080, fps: 30, aspect: "16:9" }, "douyin-long": { width: 1080, height: 1920, fps: 30, aspect: "9:16" }, "douyin-short": { width: 1080, height: 1920, fps: 30, aspect: "9:16" }, "universal-16x9": { width: 1920, height: 1080, fps: 30, aspect: "16:9" }, "universal-9x16": { width: 1080, height: 1920, fps: 30, aspect: "9:16" }, }; export const TEMPLATE_TYPES: TemplateType[] = [ "news", "knowledge", "opinion", "marketing", "github-trending", "github-weekly", ]; export const PLATFORM_PRESET_KEYS: PlatformPreset[] = [ "bilibili", "douyin-long", "douyin-short", "universal-16x9", "universal-9x16", ];