| export const DEFAULT_CAPABILITIES = { |
| 'gpt-4o': { text: true, image: true, audio: false }, |
| 'gpt-4o-mini': { text: true, image: true, audio: false }, |
| 'gpt-4-turbo': { text: true, image: true, audio: false }, |
| 'gpt-4-vision-preview': { text: true, image: true, audio: false }, |
| 'gpt-4': { text: true, image: false, audio: false }, |
| 'gpt-3.5-turbo': { text: true, image: false, audio: false }, |
| 'deepseek-v3': { text: true, image: false, audio: false }, |
| 'deepseek-chat': { text: true, image: false, audio: false }, |
| 'qwen2.5-7b-instruct': { text: true, image: false, audio: false }, |
| 'claude-3-5-sonnet': { text: true, image: true, audio: false }, |
| 'claude-3-opus': { text: true, image: true, audio: false }, |
| }; |
|
|
| const UNKNOWN_DEFAULT = { text: true, image: false, audio: false }; |
|
|
| export function getCapabilities(modelId, userOverrides = {}) { |
| const base = DEFAULT_CAPABILITIES[modelId] || UNKNOWN_DEFAULT; |
| const override = userOverrides[modelId]; |
| if (!override) return { ...base }; |
| return { ...base, ...override }; |
| } |
|
|
| export function supportsImage(modelId, userOverrides = {}) { |
| return getCapabilities(modelId, userOverrides).image; |
| } |
|
|
| |
| export function supportsVideo(modelId, userOverrides = {}) { |
| return supportsImage(modelId, userOverrides); |
| } |
|
|
| export function supportsAudio(modelId, userOverrides = {}) { |
| return getCapabilities(modelId, userOverrides).audio; |
| } |
|
|