无法在 Google AppScript 中获取 ElevenLabs API 来返回有效响应

问题描述 投票:0回答:1

我正在使用 Google AppScript 将 11 Labs 的 API 集成到工作表中。 试图通过这一步,以便我可以对返回的文件执行某些操作,但我无法通过此响应代码 422。我正在遵循他们的 javascript 示例。我开始乐了

https://elevenlabs.io/docs/api-reference/text-to-speech

apiUrlEndPoint = "https://api.elevenlabs.io/v1/text-to-speech/Xb7hH8MSUJpSbSDYk0k2"


const options = {
  method: 'POST',
  headers: {
    'xi-api-key': myAPIKeyWhichIDoHave
    'Content-Type': 'application/json',
  },
  body: '{"text":"This is the text to convert","model_id":"eleven_multilingual_v2","voice_settings":{"stability":1,"similarity_boost":1}}',
  muteHttpExceptions: true
};

const response = UrlFetchApp.fetch(apiUrlEndPoint, options);

我尝试过使用 stringify 和不使用 stringify 的变体。结果相同。

Response Code: 422
Response Body: {"detail":[{"loc":["body","text"],"msg":"field required","type":"value_error.missing"}]}
Request failed with status code 422
javascript api elevenlabs
1个回答
0
投票

您在 Google Apps 脚本中使用 ElevenLabs API 时遇到的问题是由于响应代码 422 指示请求正文存在问题。具体来说,错误消息指出“文本”字段是必填字段,但缺失。

这是代码的修订版本,以确保请求正文的格式正确:

javascript

var apiUrlEndPoint = "https://api.elevenlabs.io/v1/text-to-speech/Xb7hH8MSUJpSbSDYk0k2";
var options = {
  method: 'POST',
  headers: {
    'xi-api-key': myAPIKeyWhichIDoHave,
    'Content-Type': 'application/json',
  },
  payload: JSON.stringify({
    "text": "This is the text to convert",
    "model_id": "eleven_multilingual_v2",
    "voice_settings": {
      "stability": 1,
      "similarity_boost": 1
    }
  }),
  muteHttpExceptions: true
};

var 响应 = UrlFetchApp.fetch(apiUrlEndPoint, 选项); Logger.log(response.getContentText()); 确保 API 密钥设置正确并且 JSON 有效负载结构正确。这应该可以解决 422 错误并从 ElevenLabs API 返回有效响应。

© www.soinside.com 2019 - 2024. All rights reserved.