getDefaults static method
Get default configuration for a provider
Implementation
static Map<String, dynamic> getDefaults(String providerId) {
switch (providerId) {
case 'openai':
return {
'baseUrl': openaiBaseUrl,
'model': openaiDefaultModel,
'ttsModel': openaiDefaultTTSModel,
'sttModel': openaiDefaultSTTModel,
'defaultVoice': openaiDefaultVoice,
'defaultAudioFormat': openaiDefaultAudioFormat,
'supportedVoices': openaiSupportedVoices,
'supportedTTSFormats': openaiSupportedTTSFormats,
'supportedSTTFormats': openaiSupportedSTTFormats,
'supportedImageSizes': openaiSupportedImageSizes,
'supportedImageFormats': openaiSupportedImageFormats,
};
case 'anthropic':
return {
'baseUrl': anthropicBaseUrl,
'model': anthropicDefaultModel,
};
case 'google':
return {
'baseUrl': googleBaseUrl,
'model': googleDefaultModel,
};
case 'deepseek':
return {
'baseUrl': deepseekBaseUrl,
'model': deepseekDefaultModel,
};
case 'groq':
return {
'baseUrl': groqBaseUrl,
'model': groqDefaultModel,
};
case 'xai':
return {
'baseUrl': xaiBaseUrl,
'model': xaiDefaultModel,
};
case 'phind':
return {
'baseUrl': phindBaseUrl,
'model': phindDefaultModel,
};
case 'elevenlabs':
return {
'baseUrl': elevenLabsBaseUrl,
'model': elevenLabsDefaultTTSModel, // Use TTS model as default model
'voiceId': elevenLabsDefaultVoiceId,
'ttsModel': elevenLabsDefaultTTSModel,
'sttModel': elevenLabsDefaultSTTModel,
'supportedAudioFormats': elevenLabsSupportedAudioFormats,
};
case 'ollama':
return {
'baseUrl': ollamaBaseUrl,
'model': ollamaDefaultModel,
};
// OpenAI-compatible providers
case 'openrouter':
return {
'baseUrl': openRouterBaseUrl,
'model': openRouterDefaultModel,
};
case 'github-copilot':
return {
'baseUrl': githubCopilotBaseUrl,
'model': githubCopilotDefaultModel,
};
case 'together-ai':
return {
'baseUrl': togetherAIBaseUrl,
'model': togetherAIDefaultModel,
};
default:
throw ArgumentError('Unknown provider: $providerId');
}
}