feat: Implement Aliyun TTS backend integration and API key management

This commit is contained in:
2026-02-03 15:44:25 +08:00
parent 5a5c93f075
commit abe0dc131b
19 changed files with 716 additions and 118 deletions

View File

@@ -24,6 +24,7 @@ class CustomVoiceRequest(BaseModel):
top_k: Optional[int] = Field(default=50, ge=1, le=100)
top_p: Optional[float] = Field(default=1.0, ge=0.0, le=1.0)
repetition_penalty: Optional[float] = Field(default=1.05, ge=1.0, le=2.0)
backend: Optional[str] = Field(default=None, description="Backend type: local or aliyun")
class VoiceDesignRequest(BaseModel):
@@ -35,6 +36,7 @@ class VoiceDesignRequest(BaseModel):
top_k: Optional[int] = Field(default=50, ge=1, le=100)
top_p: Optional[float] = Field(default=1.0, ge=0.0, le=1.0)
repetition_penalty: Optional[float] = Field(default=1.05, ge=1.0, le=2.0)
backend: Optional[str] = Field(default=None)
class VoiceCloneRequest(BaseModel):

View File

@@ -111,3 +111,10 @@ class PasswordChange(BaseModel):
if self.new_password != self.confirm_password:
raise ValueError('Passwords do not match')
return self
class AliyunKeyUpdate(BaseModel):
api_key: str = Field(..., min_length=1, max_length=500)
class AliyunKeyVerifyResponse(BaseModel):
valid: bool
message: str