Eleven Labs Node
Eleven Labs NodeJS 包,用于将文本转换为语音!
在 GitHub 上给我们一个 ⭐ 来帮助项目改进!
关于
这是一个开源的 Eleven Labs NodeJS 包,用于使用 Eleven Labs API 将文本转换为语音。
功能
函数 | 参数 | 端点 |
---|---|---|
textToSpeech | ({voiceId, fileName, textInput, stability, similarityBoost, modelId, style, speakerBoost}) | /v1/text-to-speech/{voice_id} |
textToSpeechStream | ({voiceId, textInput, stability, similarityBoost, modelId, responseType, style, speakerBoost}) | /v1/text-to-speech/{voice_id}/stream |
editVoiceSettings | ({voiceId, stability, similarityBoost}) | /v1/voices/{voice_id}/settings/edit |
getVoiceSettings | ({voiceId}) | /v1/voices/{voice_id}/settings |
deleteVoice | ({voiceId}) | /v1/voices/{voice_id} |
getVoice | ({voiceId}) | /v1/voices/{voice_id} |
getVoices | N/A | /v1/voices |
getModels | N/A | /v1/models |
getUserInfo | N/A | /v1/user |
getUserSubscription | N/A | /v1/user/subscription |
getDefaultVoiceSettings | N/A | /v1/voices/settings/default |
参数
变量 | 描述 | 类型 |
---|---|---|
fileName | 音频文件的名称和文件路径,例如(./gen/hello ) | String |
textInput | 要转换为音频的文本,例如(Hello ) | String |
stability | 文本转语音的稳定性,默认值(0 ) | Float |
similarityBoost | 文本转语音的相似度提升,默认值(0 ) | Float |
voiceId | ElevenLabs 语音 ID,例如(pNInz6obpgDQGcFmaJgB ) | String |
modelId | ElevenLabs 模型 ID,例如(eleven_multilingual_v2 ) | String |
responseType | 流式响应类型,例如(stream ) | String |
speakerBoost | 文本转语音的说话者增强,例如(true ) | Boolean |
style | 文本转语音的风格夸张度(0-100),默认值(0 ) | Integer |
要求
开始使用
要安装 Elevenlabs 包,请运行以下命令:
npm install elevenlabs-node
设置
为您的项目设置 ElevenLabs 配置。
变量 | 描述 | 默认值 |
---|---|---|
apiKey | (必填 )您的 Elevenlabs API 密钥 | 不适用 |
voiceId | (可选 )Elevenlabs 的语音 ID | Adam (pNInz6obpgDQGcFmaJgB ) |
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的 Elevenlabs API 密钥
voiceId: "pNInz6obpgDQGcFmaJgB", // Elevenlabs 的语音 ID
}
);
使用方法
文本转语音
从文本生成音频文件。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的 Elevenlabs API 密钥
voiceId: "pNInz6obpgDQGcFmaJgB", // Elevenlabs 的语音 ID
}
);
voice.textToSpeech({
// 必填参数
fileName: "audio.mp3", // 您的音频文件名
textInput: "mozzy is cool", // 您希望转换为语音的文本
// 可选参数
voiceId: "21m00Tcm4TlvDq8ikWAM", // 与默认不同的语音 ID
stability: 0.5, // 转换语音的稳定性
similarityBoost: 0.5, // 转换语音的相似度提升
modelId: "eleven_multilingual_v2", // ElevenLabs 模型 ID
style: 1, // 转换语音的风格夸张度
speakerBoost: true // 转换语音的说话者增强
}).then((res) => {
console.log(res);
});
文本转语音流
从文本生成音频流。
const ElevenLabs = require("elevenlabs-node");
const fs = require("fs-extra");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的 Elevenlabs API 密钥
voiceId: "pNInz6obpgDQGcFmaJgB", // Elevenlabs 的语音 ID
}
);
const voiceResponse = voice.textToSpeechStream({
// 必填参数
textInput: "mozzy is cool", // 您希望转换为语音的文本
// 可选参数
voiceId: "21m00Tcm4TlvDq8ikWAM", // 与默认不同的语音 ID
stability: 0.5, // 转换语音的稳定性
similarityBoost: 0.5, // 转换语音的相似度提升
modelId: "eleven_multilingual_v2", // ElevenLabs 模型 ID
style: 1, // 转换语音的风格夸张度
responseType: "stream", // 流式类型(arraybuffer、stream、json)
speakerBoost: true // 转换语音的说话者增强
}).then((res) => {
res.pipe(fs.createWriteStream(fileName));
});
编辑语音设置
编辑语音设置。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.editVoiceSettings({
// 必需参数
voiceId: "pNInz6obpgDQGcFmaJgB", // 您想要编辑的语音ID
stabilityBoost: 0.5, // 语音的稳定性提升
similarityBoost: 0.5, // 语音的相似度提升
}).then((res) => {
console.log(res);
});
获取语音设置
获取语音设置。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.getVoiceSettings({
// 必需参数
voiceId: "pNInz6obpgDQGcFmaJgB" // 您想要获取的语音ID
}).then((res) => {
console.log(res);
});
删除语音
删除语音。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.deleteVoice({
// 必需参数
voiceId: "pNInz6obpgDQGcFmaJgB" // 您想要删除的语音ID
}).then((res) => {
console.log(res);
});
获取语音
获取语音详情。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.getVoice({
// 必需参数
voiceId: "pNInz6obpgDQGcFmaJgB" // 您想要获取的语音ID
}).then((res) => {
console.log(res);
});
获取所有语音
获取所有语音详情。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.getVoices().then((res) => {
console.log(res);
});
获取模型
获取所有模型详情。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.getModels().then((res) => {
console.log(res);
});
获取用户信息
获取与API密钥关联的用户信息。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.getUserInfo().then((res) => {
console.log(res);
});
获取用户订阅
获取与API密钥关联的用户订阅信息。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.getUserSubscription().then((res) => {
console.log(res);
});
获取默认语音设置
获取默认语音设置。
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // 您的Elevenlabs API密钥
}
);
const voiceResponse = voice.getDefaultVoiceSettings().then((res) => {
console.log(res);
});
贡献
欢迎贡献 :)
阅读我们的CONTRIBUTING.md以了解更多信息。