gpt-sovits-sdk
Version:
Node.js SDK for GPT-SoVITS API
115 lines (114 loc) • 3.3 kB
TypeScript
/**
* GPT-SoVITS SDK 客户端实现
*/
import { GPTSoVITSClientOptions, TTSRequestOptions, TTSResponse, ModelsResponse, ReferenceAudiosResponse, EmotionAudiosResponse, EmotionAudiosQueryOptions, HealthResponse, RootResponse, APIResponse } from './types';
/**
* GPT-SoVITS API 客户端
*/
export declare class GPTSoVITSClient {
private options;
private controller;
/**
* 创建GPT-SoVITS客户端实例
* @param options 客户端配置选项
*/
constructor(options?: GPTSoVITSClientOptions);
/**
* 记录调试信息
* @param message 消息
* @param data 数据
*/
private log;
/**
* 构建完整URL
* @param endpoint API端点
* @param params 查询参数
* @returns 完整URL
*/
private buildUrl;
/**
* 发送HTTP请求
* @param endpoint API端点
* @param options 请求选项
* @returns 响应数据
*/
private request;
/**
* 获取API根信息
* @returns API根信息
*/
getRoot(): Promise<RootResponse>;
/**
* 获取API健康状态
* @returns 健康状态信息
*/
getHealth(): Promise<HealthResponse>;
/**
* 获取可用模型列表
* @returns 模型列表
*/
getModels(): Promise<APIResponse<ModelsResponse>>;
/**
* 获取参考音频列表
* @param subdir 子目录名称
* @returns 参考音频列表
*/
getReferenceAudios(subdir?: string): Promise<APIResponse<ReferenceAudiosResponse>>;
/**
* 获取情感音频列表
* @param options 查询选项
* @returns 情感音频列表
*/
getEmotionAudios(options?: EmotionAudiosQueryOptions): Promise<APIResponse<EmotionAudiosResponse>>;
/**
* 获取情感参考音频列表
* @returns 情感参考音频列表
*/
getEmotionReferenceAudios(): Promise<APIResponse<EmotionAudiosResponse>>;
/**
* 规范化选项,支持驼峰命名法和下划线命名法
* @param options 原始选项
* @returns 规范化后的选项
*/
private normalizeOptions;
/**
* 文本转语音
* @param options TTS选项
* @returns TTS响应
*/
textToSpeech(options: TTSRequestOptions): Promise<TTSResponse>;
/**
* 文本转语音(直接返回音频数据)
* @param options TTS选项
* @param outputPath 可选的输出文件路径
* @returns 音频数据或文件路径
*/
textToSpeechDirect(options: TTSRequestOptions, outputPath?: string): Promise<ArrayBuffer | string>;
/**
* 设置GPT模型
* @param modelPath 模型路径
* @returns 响应结果
*/
setGptModel(modelPath: string): Promise<{
status: string;
}>;
/**
* 设置SoVITS模型
* @param modelPath 模型路径
* @returns 响应结果
*/
setSovitsModel(modelPath: string): Promise<{
status: string;
}>;
/**
* 获取生成的音频文件
* @param audioName 音频文件名
* @param outputPath 可选的输出文件路径
* @returns 音频数据或文件路径
*/
getAudio(audioName: string, outputPath?: string): Promise<ArrayBuffer | string>;
/**
* 取消所有正在进行的请求
*/
abort(): void;
}