js-tts-wrapper
Version:
A JavaScript/TypeScript library that provides a unified API for working with multiple cloud-based Text-to-Speech (TTS) services
49 lines (48 loc) • 1.7 kB
TypeScript
import { AbstractTTSClient } from "../core/abstract-tts";
import type { SpeakOptions, TTSCredentials, UnifiedVoice } from "../types";
export interface MistralTTSOptions extends SpeakOptions {
model?: string;
voice?: string;
responseFormat?: "mp3" | "wav" | "opus";
providerOptions?: Record<string, unknown>;
}
export interface MistralTTSCredentials extends TTSCredentials {
apiKey?: string;
baseURL?: string;
model?: string;
properties?: Record<string, unknown> | string;
propertiesJson?: string;
}
export declare class MistralTTSClient extends AbstractTTSClient {
private apiKey;
private baseUrl;
private model;
private responseFormat;
static readonly VOICES: {
id: string;
name: string;
gender: "Unknown";
language: string;
}[];
constructor(credentials?: MistralTTSCredentials);
private applyCredentialProperties;
private prepareText;
setModel(model: string): void;
setVoice(voiceId: string): void;
getProperty(property: string): any;
setProperty(property: string, value: any): void;
checkCredentials(): Promise<boolean>;
protected getRequiredCredentials(): string[];
protected _getVoices(): Promise<any[]>;
protected _mapVoicesToUnified(rawVoices: any[]): Promise<UnifiedVoice[]>;
synthToBytes(text: string, options?: MistralTTSOptions): Promise<Uint8Array>;
synthToBytestream(text: string, options?: MistralTTSOptions): Promise<{
audioStream: ReadableStream<Uint8Array>;
wordBoundaries: Array<{
text: string;
offset: number;
duration: number;
}>;
}>;
private parseSseBase64Stream;
}