support elevenlabs different endpoint (#502)

* support elevenlabs different endpoint

* wip

* wip

* wip
This commit is contained in:
Hoan Luu Huu authored and GitHub committed 2025-10-09 08:20:11 -04:00
1 parent c3d12fafee
commit 8267ddaffd
5 files changed
+26 -15

No files matched your search

+12 -5
View File
@@ -162,6 +162,7 @@ const encryptCredential = (obj) => {
voice_engine,
engine_version,
service_version,
api_uri,
options
} = obj;
@@ -265,7 +266,11 @@ const encryptCredential = (obj) => {
case 'elevenlabs':
assert(api_key, 'invalid elevenLabs speech credential: api_key is required');
assert(model_id, 'invalid elevenLabs speech credential: model_id is required');
const elevenlabsData = JSON.stringify({api_key, model_id, options});
const elevenlabsData = JSON.stringify({
api_key,
model_id,
...(api_uri && {api_uri}),
options});
return encrypt(elevenlabsData);
case 'speechmatics':
@@ -537,7 +542,8 @@ router.put('/:sid', async(req, res) => {
service_version,
speechmatics_stt_uri,
resemble_tts_use_tls,
resemble_tts_uri
resemble_tts_uri,
api_uri
} = req.body;
const newCred = {
@@ -572,7 +578,8 @@ router.put('/:sid', async(req, res) => {
service_version,
speechmatics_stt_uri,
resemble_tts_uri,
resemble_tts_use_tls
resemble_tts_use_tls,
api_uri
};
logger.info({o, newCred}, 'updating speech credential with this new credential');
obj.credential = encryptCredential(newCred);
@@ -865,10 +872,10 @@ router.get('/:sid/test', async(req, res) => {
}
}
} else if (cred.vendor === 'elevenlabs') {
const {api_key, model_id} = credential;
const {api_key, model_id, api_uri} = credential;
if (cred.use_for_tts) {
try {
await testElevenlabs(logger, {api_key, model_id});
await testElevenlabs(logger, {api_key, model_id, api_uri});
results.tts.status = 'ok';
SpeechCredential.ttsTestResult(sid, true);
} catch (err) {