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