Ошибки CORS должны появляться только в том случае, если вы пытаетесь вызвать службу из браузера на стороне JavaScript. Сказав, что у меня сложилось впечатление, что Text to Speech был одним из сервисов Watson, который поддерживал CORS
Если вы вызываете сервис из серверной части приложения node.js, то он должен иметь возможность вызывать текст в речь для сервиса без каких-либо ограничений CORS.
Короче говоря, если вы правильно вызываете службу, вы не должны видеть никаких ошибок CORS. Что говорит о том, что вы не вызываете сервис правильно. На основании документации API - https://cloud.ibm.com/apidocs/text-to-speech?code=node
Ваш код должен выглядеть примерно так:
var TextToSpeechV1 = require('watson-developer-cloud/text-to-speech/v1');
var fs = require('fs');
var textToSpeech = new TextToSpeechV1({
iam_apikey: '{apikey}',
url: '{url}'
});
var synthesizeParams = {
text: 'Hello world',
accept: 'audio/wav',
voice: 'en-US_AllisonVoice'
};
// Pipe the synthesized text to a file.
textToSpeech.synthesize(synthesizeParams).on('error', function(error) {
console.log(error);
}).pipe(fs.createWriteStream('hello_world.wav'));
где ваша конечная точка url
должна выглядеть примерно так: https://stream.watsonplatform.net/text-to-speech/api