diff --git a/src/common/components/forms/useLLMSelect.tsx b/src/common/components/forms/useLLMSelect.tsx
index e7bc92966..e1ae5d8f9 100644
--- a/src/common/components/forms/useLLMSelect.tsx
+++ b/src/common/components/forms/useLLMSelect.tsx
@@ -8,7 +8,7 @@ import type { IModelVendor } from '~/modules/llms/vendors/IModelVendor';
import { findModelVendor } from '~/modules/llms/vendors/vendors.registry';
import type { DModelDomainId } from '~/common/stores/llms/model.domains.types';
-import { DLLM, DLLMId, LLM_IF_OAI_Reasoning, LLM_IF_Outputs_Image, LLM_IF_Tools_WebSearch } from '~/common/stores/llms/llms.types';
+import { DLLM, DLLMId, LLM_IF_OAI_Reasoning, LLM_IF_Outputs_Audio, LLM_IF_Outputs_Image, LLM_IF_Tools_WebSearch } from '~/common/stores/llms/llms.types';
import { TooltipOutlined } from '~/common/components/TooltipOutlined';
import { getChatLLMId, llmsStoreActions } from '~/common/stores/llms/store-llms';
import { optimaOpenModels } from '~/common/layout/optima/useOptima';
@@ -161,6 +161,8 @@ export function useLLMSelect(
features += '🧠 '; // can reason
if (llm.interfaces.includes(LLM_IF_Tools_WebSearch))
features += '🌐 '; // can web search
+ if (llm.interfaces.includes(LLM_IF_Outputs_Audio))
+ features += '🔊 '; // can output audio
if (llm.interfaces.includes(LLM_IF_Outputs_Image))
features += '🖼️ '; // can draw images
}
diff --git a/src/modules/llms/models-modal/ModelsList.tsx b/src/modules/llms/models-modal/ModelsList.tsx
index 35e5c8c3e..9372f4f02 100644
--- a/src/modules/llms/models-modal/ModelsList.tsx
+++ b/src/modules/llms/models-modal/ModelsList.tsx
@@ -9,7 +9,7 @@ import VisibilityOffOutlinedIcon from '@mui/icons-material/VisibilityOffOutlined
import VisibilityOutlinedIcon from '@mui/icons-material/VisibilityOutlined';
import type { DModelsServiceId } from '~/common/stores/llms/llms.service.types';
-import { DLLM, DLLMId, LLM_IF_ANT_PromptCaching, LLM_IF_GEM_CodeExecution, LLM_IF_OAI_Chat, LLM_IF_OAI_Complete, LLM_IF_OAI_Fn, LLM_IF_OAI_Json, LLM_IF_OAI_PromptCaching, LLM_IF_OAI_Realtime, LLM_IF_OAI_Reasoning, LLM_IF_OAI_Vision, LLM_IF_Outputs_Image, LLM_IF_Tools_WebSearch } from '~/common/stores/llms/llms.types';
+import { DLLM, DLLMId, LLM_IF_ANT_PromptCaching, LLM_IF_GEM_CodeExecution, LLM_IF_OAI_Chat, LLM_IF_OAI_Complete, LLM_IF_OAI_Fn, LLM_IF_OAI_Json, LLM_IF_OAI_PromptCaching, LLM_IF_OAI_Realtime, LLM_IF_OAI_Reasoning, LLM_IF_OAI_Vision, LLM_IF_Outputs_Audio, LLM_IF_Outputs_Image, LLM_IF_Tools_WebSearch } from '~/common/stores/llms/llms.types';
import { GoodTooltip } from '~/common/components/GoodTooltip';
import { PhGearSixIcon } from '~/common/components/icons/phosphor/PhGearSixIcon';
import { findModelsServiceOrNull, llmsStoreActions } from '~/common/stores/llms/store-llms';
@@ -192,6 +192,7 @@ function ModelItem(props: {
{/* Features Chips - sync with `useLLMSelect.tsx` */}
{llm.interfaces.includes(LLM_IF_OAI_Reasoning) && isNotSymlink && 🧠}
{llm.interfaces.includes(LLM_IF_Tools_WebSearch) && isNotSymlink && 🌐}
+ {llm.interfaces.includes(LLM_IF_Outputs_Audio) && isNotSymlink && 🔊️}
{llm.interfaces.includes(LLM_IF_Outputs_Image) && isNotSymlink && 🖼️}
{seemsFree && isNotSymlink && free}