feat: add ASR provider support for voice co-creation

This commit is contained in:
2026-04-24 17:58:49 +08:00
parent 7e450aa5fc
commit 3805c18622
22 changed files with 471 additions and 126 deletions

View File

@@ -4,7 +4,7 @@ from dataclasses import dataclass
from enum import Enum
from typing import Literal, Protocol, TypeAlias
ProviderType: TypeAlias = Literal["text", "image", "tts", "storybook"]
ProviderType: TypeAlias = Literal["text", "image", "tts", "storybook", "asr"]
class RoutingStrategy(str, Enum):
@@ -36,6 +36,7 @@ class ProviderSettings(Protocol):
image_providers: list[str]
tts_providers: list[str]
storybook_providers: list[str]
asr_providers: list[str]
enable_demo_providers: bool
@@ -71,6 +72,14 @@ CAPABILITY_POLICIES: dict[ProviderType, CapabilityPolicy] = {
default_providers=("storybook_primary",),
demo_provider="demo",
),
"asr": CapabilityPolicy(
capability="asr",
label="语音识别",
description="将孩子上传的语音回合转写为文本输入。",
settings_attr="asr_providers",
default_providers=("demo",),
demo_provider="demo",
),
}
@@ -94,6 +103,8 @@ API_KEY_MAP: dict[str, str] = {
"antigravity_api_key": "antigravity_api_key",
"image_primary": "image_api_key",
"image_api_key": "image_api_key",
# ASR
"openai_asr": "openai_api_key",
# TTS
"minimax": "minimax_api_key",
"minimax_api_key": "minimax_api_key",