@aituber-onair/core
Version:
Core library for AITuber OnAir providing voice synthesis and chat processing
47 lines (46 loc) • 1.22 kB
TypeScript
import { ChatService } from '../ChatService';
/**
* Options for chat service providers
*/
export interface ChatServiceOptions {
/** API Key */
apiKey: string;
/** Model name */
model?: string;
/** Vision model name (for image processing) */
visionModel?: string;
/** Additional provider-specific options */
[key: string]: any;
}
/**
* Chat service provider interface
* Abstraction for various AI API providers (OpenAI, Gemini, Claude, etc.)
*/
export interface ChatServiceProvider {
/**
* Create a chat service instance
* @param options Service options
* @returns ChatService implementation
*/
createChatService(options: ChatServiceOptions): ChatService;
/**
* Get the provider name
* @returns Provider name
*/
getProviderName(): string;
/**
* Get the list of supported models
* @returns Array of supported models
*/
getSupportedModels(): string[];
/**
* Get the default model
* @returns Default model name
*/
getDefaultModel(): string;
/**
* Check if the provider supports vision (image processing)
* @returns Support status
*/
supportsVision(): boolean;
}