/** * Grok API 可用模型列表 * 根據 x.ai 控制台整理 */ export interface GrokModel { name: string displayName: string description: string capabilities: { text: boolean vision: boolean audio: boolean video: boolean imageGeneration: boolean tts: boolean } category: 'text' | 'vision' | 'multimodal' | 'image-generation' | 'video-generation' | 'audio' | 'tts' } /** * Grok 可用模型列表 * 根據 x.ai 控制台整理 */ export const GROK_MODELS: GrokModel[] = [ // Grok 4.1 系列 { name: 'grok-4-1-fast-reasoning', displayName: 'Grok 4.1 Fast Reasoning', description: 'Grok 4.1 Fast Reasoning 模型,支援文字和圖像,具備推理能力,Context: 2,000,000', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, { name: 'grok-4-1-fast-non-reasoning', displayName: 'Grok 4.1 Fast Non-Reasoning', description: 'Grok 4.1 Fast Non-Reasoning 模型,支援文字和圖像,Context: 2,000,000', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, // Grok 4 系列 { name: 'grok-4-fast-reasoning', displayName: 'Grok 4 Fast Reasoning', description: 'Grok 4 Fast Reasoning 模型,支援文字和圖像,具備推理能力,Context: 2,000,000', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, { name: 'grok-4-fast-non-reasoning', displayName: 'Grok 4 Fast Non-Reasoning', description: 'Grok 4 Fast Non-Reasoning 模型,支援文字和圖像,Context: 2,000,000', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, { name: 'grok-4-0709', displayName: 'Grok 4 (0709)', description: 'Grok 4 模型,支援文字和圖像,Context: 256,000', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, // Grok 3 系列 { name: 'grok-3', displayName: 'Grok 3', description: 'Grok 3 模型,支援文字和圖像,Context: 131,072', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, { name: 'grok-3-mini', displayName: 'Grok 3 Mini', description: 'Grok 3 Mini 模型,支援文字和圖像,Context: 131,072', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, // Grok Code 系列 { name: 'grok-code-fast-1', displayName: 'Grok Code Fast 1', description: 'Grok Code Fast 1 模型,專為程式碼優化,支援文字和圖像,Context: 256,000', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'multimodal' }, // Grok 2 系列 { name: 'grok-2-vision-1212', displayName: 'Grok 2 Vision (1212)', description: 'Grok 2 Vision 模型,支援文字和圖像理解,Context: 32,768', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: false, tts: false }, category: 'vision' }, // 圖像生成模型 { name: 'grok-2-image-1212', displayName: 'Grok 2 Image (1212)', description: 'Grok 2 Image 模型,支援圖像生成,支援文字和圖像輸入', capabilities: { text: true, vision: true, audio: false, video: false, imageGeneration: true, tts: false }, category: 'image-generation' } ] /** * 預設文字模型 */ export const DEFAULT_GROK_TEXT_MODEL = 'grok-4-1-fast-reasoning' /** * 預設視覺模型 */ export const DEFAULT_GROK_VISION_MODEL = 'grok-4-1-fast-reasoning' /** * 預設圖像生成模型 */ export const DEFAULT_GROK_IMAGE_GENERATION_MODEL = 'grok-2-image-1212' /** * 取得模型資訊 */ export function getGrokModelInfo(modelName: string): GrokModel | undefined { return GROK_MODELS.find(m => m.name === modelName) } /** * 根據功能需求取得適合的 Grok 模型 */ export function getGrokModelForTask( task: 'text' | 'vision' | 'audio' | 'video' | 'image-generation' | 'tts' ): string { switch (task) { case 'text': return DEFAULT_GROK_TEXT_MODEL case 'vision': return DEFAULT_GROK_VISION_MODEL case 'image-generation': return DEFAULT_GROK_IMAGE_GENERATION_MODEL case 'audio': case 'video': case 'tts': default: return DEFAULT_GROK_TEXT_MODEL } }