StateSet ReSponse Guides
Voice Quickstart
Getting started with Voice
ReSponse CX integration with Eleven Labs Voice
Introduction
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.
Prerequisites
- Node.js installed on your machine
- Eleven Labs Voice account
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);
// Handle the error, for example by returning an error response
res.status(response.status).send("Error generating voice");
}
} catch (error) {
console.error("Error:", error);
// Handle the error, for example by returning an error response
res.status(500).send("Error generating voice");
}
Transcription
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}`);
}
}