/** * AI Provider Interface * 定義所有 AI Provider 必須實作的方法 */ export interface AIProvider { /** * 生成分鏡表 * @param input - 輸入參數(故事、風格、節奏等) * @returns 分鏡表文字結果 */ generateStoryboard(input: unknown): Promise /** * 分析攝影機鏡位與運鏡 * @param input - 輸入參數(圖片或描述) * @returns 鏡位分析結果 */ analyzeCamera(input: unknown): Promise /** * 生成影片規劃 * @param input - 輸入參數(prompt 或描述) * @returns 影片規劃文字結果 */ generateVideoPlan(input: unknown): Promise /** * 生成剪輯建議 * @param input - 輸入參數(素材、劇情等) * @returns 剪輯建議文字結果 */ generateEditSuggestion(input: unknown): Promise } /** * AI Provider 類型 */ export type AIProviderType = 'gemini' | 'grok' /** * AI Provider 設定 */ export interface AIProviderConfig { type: AIProviderType token: string }