Skip to content

RimeTTSConfig

Configuration for the RimeTTS provider.

Defined in: src/providers/tts/rime/RimeTTS.ts:80

Configuration for the RimeTTS provider.

Remarks

Provide either apiKey (for direct API access) or proxyUrl (for server-side proxy). At least one must be set. If both are provided, proxyUrl takes precedence and the API key is not sent to the client. The speaker is always required.

Example

// Direct API access
const config: RimeTTSConfig = {
  apiKey: 'rime_xxxxxxxxxxxx',
  speaker: 'astra',
  model: 'arcana',
  audioFormat: 'mp3',
};

// Via proxy server
const proxyConfig: RimeTTSConfig = {
  proxyUrl: 'http://localhost:3001/api/proxy/rime',
  speaker: 'astra',
};

See

Extends

Properties

PropertyTypeDefault valueDescriptionOverridesInherited fromDefined in
apiKey?string | () => Promise<string>undefinedAPI key or authentication token for the provider. Remarks Can be a static string or an async factory function that returns a fresh token on each call. Use a factory for short-lived tokens (e.g. Deepgram JWTs) so each WebSocket connection gets a valid credential. For client-side usage, consider using a proxy server to keep API keys secure. The SDK provides Express, Next.js, and Node adapters for this purpose.-TTSProviderConfig.apiKeysrc/core/types/providers.ts:71
audioFormat?RimeTTSFormat'mp3'The audio output format. Remarks Sent to the Rime API via the Accept header; the response body contains the raw audio bytes in this format. See RimeTTSFormat--src/providers/tts/rime/RimeTTS.ts:109
authType?"token" | "bearer"Provider-specific (typically 'token' for Deepgram, ignored for REST providers)Authentication type for providers that support multiple auth mechanisms. Remarks Controls how the apiKey is sent to the provider: - 'token' — WebSocket subprotocol ['token', apiKey] or header Authorization: Token <key>. This is the default for Deepgram providers. - 'bearer' — WebSocket subprotocol ['bearer', token] or header Authorization: Bearer <token>. Use this for OAuth tokens or providers that expect Bearer auth. REST/SDK providers (Anthropic, OpenAI) handle auth through their SDK constructors and ignore this field.-TTSProviderConfig.authTypesrc/core/types/providers.ts:115
debug?booleanfalseWhether to enable debug logging for this provider. Remarks When true, the provider emits detailed internal logs. This is separate from the SDK-level LoggingConfig.-TTSProviderConfig.debugsrc/core/types/providers.ts:126
endpoint?stringundefinedCustom endpoint URL to override the provider’s default API endpoint. Remarks Useful for self-hosted instances, proxy servers, or development environments.-TTSProviderConfig.endpointsrc/core/types/providers.ts:79
language?stringundefined (Rime’s server-side default is 'en'/'eng', varying by model)Language of the input text. Remarks An ISO 639-1 (e.g. 'en', 'es') or ISO 639-2/3 (e.g. 'eng', 'spa') language code, sent to the Rime API as the lang field. It must match the selected speaker’s language. Multilingual synthesis is supported on the Coda and Arcana models.--src/providers/tts/rime/RimeTTS.ts:122
maxRetries?number3Maximum number of retries for failed API requests.--src/providers/tts/rime/RimeTTS.ts:169
model?RimeTTSModel'arcana'The TTS model to use. See RimeTTSModelTTSProviderConfig.model-src/providers/tts/rime/RimeTTS.ts:97
noTextNormalization?booleanundefined (Rime’s server-side default is false)Whether to skip text normalization to reduce latency. Remarks Supported on mistv2 only. Skipping normalization reduces latency at the cost of possible mispronunciation of digits and abbreviations.--src/providers/tts/rime/RimeTTS.ts:152
outputFormat?stringundefinedOutput audio format identifier. Remarks Provider-specific format string (e.g., 'linear16', 'mp3', 'opus').-TTSProviderConfig.outputFormatsrc/core/types/providers.ts:1190
pitch?numberundefinedPitch adjustment in semitones. Remarks Values from -20 to +20 semitones. Not all providers support pitch adjustment.-TTSProviderConfig.pitchsrc/core/types/providers.ts:1182
proxyUrl?stringundefinedURL of a CompositeVoice proxy server endpoint for this provider. Remarks When set, requests are routed through the proxy which injects the real API key server-side. This keeps API keys out of the browser. For WebSocket providers the HTTP URL is automatically converted to ws(s)://. At least one of apiKey or proxyUrl must be set for providers that require authentication (all except NativeSTT, NativeTTS, and WebLLM). Example proxyUrl: 'http://localhost:3000/api/proxy/deepgram'-TTSProviderConfig.proxyUrlsrc/core/types/providers.ts:97
rate?numberundefinedSpeech rate multiplier. Remarks Values from 0.25 (quarter speed) to 4.0 (quadruple speed), where 1.0 is normal speed. Not all providers support rate adjustment.-TTSProviderConfig.ratesrc/core/types/providers.ts:1174
sampleRate?numberundefinedSample rate for the output audio in Hz. Remarks Common values are 16000, 24000, and 48000. Must match the format capabilities of the chosen voice and model.-TTSProviderConfig.sampleRatesrc/core/types/providers.ts:1199
samplingRate?numberundefined (Rime’s server-side default is 24000)Output sampling rate in Hz.--src/providers/tts/rime/RimeTTS.ts:129
speakerstringundefinedThe voice to use for synthesis. Remarks Required. Voice availability depends on the selected model — see Rime’s voices documentation for the per-model catalogs (e.g. 'astra', 'celeste', 'luna').--src/providers/tts/rime/RimeTTS.ts:89
speedAlpha?numberundefined (Rime’s server-side default is 1.0)Speech speed multiplier. Remarks Supported on mistv2: values below 1.0 produce faster speech and values above 1.0 produce slower speech. On other models, use RimeTTSConfig.timeScaleFactor instead.--src/providers/tts/rime/RimeTTS.ts:141
timeout?numberundefinedRequest timeout in milliseconds. Remarks Applies to HTTP requests (REST providers) and connection establishment (WebSocket providers). Set to 0 for no timeout.-TTSProviderConfig.timeoutsrc/core/types/providers.ts:135
timeScaleFactor?numberundefined (Rime’s server-side default is 1.0)Time scaling factor for the output audio. Remarks Values above 1.0 slow the audio down; values below 1.0 speed it up.--src/providers/tts/rime/RimeTTS.ts:162
voice?stringundefinedVoice ID or name to use for synthesis. Remarks Provider-specific voice identifier. For example, Deepgram uses identifiers like 'aura-asteria-en', while ElevenLabs uses voice IDs.-TTSProviderConfig.voicesrc/core/types/providers.ts:1157

© 2026 CompositeVoice. All rights reserved.

Font size
Contrast
Motion
Transparency