Webhook to Eleven Labs API timing out before the esponse (returning 422)

  • 26 August 2023
  • 1 reply

Userlevel 1

I’m passing some text to Eleven Labs using a webhook. And it’s connecting into ElevenLab’s API just fine. 


The word count on this specific post is 319 words. It’s roughly 2:18 when it’s read by ElevenLabs. The issue I am running into, is Zapier is closing the response window before ElevenLabs is done with it’s processing, especially with the longer text.  if I change this to “text”: “this is a test of what the voice should sound like” it will work just fine. ElevenLabs is able to accept the information, and it is able to process the information and output the file before the API timeout window closes. But it’s not able to do that with longer text within the timeout window of 30 seconds. 

I have read you can’t get around that with Zapier, and it’s sort of set that way. 

I do have a work around, but that work around is stupid. I basically just send off the POST, and wait 2 minutes, then I run a “GET ElevenLabs History”, it pulls ALL the history from my account. Then I add a row to a google spreadsheet and I update that row with the entire elevenlabs history. It puts ALL the ID’s of ALL the prompts it’s run in a single cell that’s really long. Once I have all the ID’s, I then pull out the first entry and pass that back to my “GET ElevenLabs Audio File” using the ID it stores from the previous step. Which is always the newest one. The problem I’m now running into with this solution is that the history is getting so long it’s starting to cause errors in it being too large to move. I could always just purge my eleven labs history, but that’s manual, and who wants to do that?

Anyone know a good way to get around what the timeout issue? I need these to be longer actually for what I’m trying to do, and my current solution just isn’t cutting it. 

I tried doing the streamingAPI and that gave me the same results. I was hoping maybe that would make the file available prior to it being completed, but it doesn’t do it that way. 

Any help would be great! Thanks. 




1 reply

Userlevel 7
Badge +14

Hi @MikeFreeman 

Good question.

Check this related topic:

One approach might be to use an AWS Lambda function.