mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-03 04:54:36 +00:00
Add StreamingTTSProvider interface for audio streaming support. Implement voice caching with TTL+LRU. Add ElevenLabs model validation and voice list retrieval.
13 lines
547 B
Go
13 lines
547 B
Go
package audio
|
|
|
|
// Voice represents a single TTS voice as returned by a provider's voice-list
|
|
// endpoint (e.g. ElevenLabs GET /v1/voices). Kept provider-agnostic so HTTP/WS
|
|
// handlers can depend on the audio package without importing sub-providers.
|
|
type Voice struct {
|
|
ID string `json:"voice_id"`
|
|
Name string `json:"name"`
|
|
Labels map[string]string `json:"labels"`
|
|
PreviewURL string `json:"preview_url"`
|
|
Category string `json:"category"` // "premade" | "cloned" | "generated"
|
|
}
|