This guide will help you get started with the Eleven Labs Voice API. You will learn how to generate a voice from a text and how to use the generated audio file in your application.
try {
const response = await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${voice_id}`, requestOptions);
console.log("API Response Status:", response.status);
if (response.ok) {
const audioBlob = await response.blob();
console.log("audioBlob:", audioBlob);
const arrayBuffer = await audioBlob.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);
res.status(200).send(buffer);
} else {
console.error("Error:", response.status);
res.status(response.status).send("Error generating voice");
}
} catch (error) {
console.error("Error:", error);
res.status(500).send("Error generating voice");
}
Transcription is the process of converting speech into text. This is the first step in the process of generating a voice from a text.
export default async (req, res) => {
var audio = req.body.audio;
const buffer = Buffer.from(audio.binaryData, 'base64');
try {
const formData = new FormData();
formData.append('file', buffer, {
filename: 'audio.webm',
contentType: 'audio/webm'
});
formData.append('model', 'whisper-1');
const response = await fetch('https://api.openai.com/v1/audio/transcriptions', {
method: 'POST',
headers: {
"Authorization": process.env.OPEN_AI,
},
body: formData
});
if (response.ok) {
const responseText = await response.json();
console.log(responseText);
return res.status(200).json(responseText);
} else {
const errorMessage = `Error: ${response.status} - ${response.statusText}`;
console.error(errorMessage);
return res.status(response.status).send(`Error transcribing voice: ${errorMessage}`);
}
} catch (error) {
console.error(error);
return res.status(500).send(`Error transcribing voice: ${error.message}`);
}
}