Timeout Limit with Elevenlab - Searching for a Workaround

The purpose of my Automation is to receive text content via Email, text-to-speech output it via Elevenlabs and then upload the audio file via FTP.

This is working perfectly for short texts already, but my clients will sometimes utilize the full possibility of Elevenlabs (5000 characters) - these audio files take 2-3 Minutes to generate, which leads to the timeout happening. I tried to add an “Ignore” Error handler first, which didnt help. Then, I tried connecting a “Sleep” tool in case of error, with 200 seconds to give Elevenlabs enough time to finish the process, and then continue the scenario.

However, after the 200 seconds, the next step of the scenario ends in error again - because no filename & data is received from Elevenlabs that can be passed on.

So what i need, is to get the output from the elevenlabs process once it is finished - even if it takes 2-3 minutes.

How do i do that?

Welcome to the Make community!

There are two methods if you want to do a polling wait in the same/single scenario.

Method 1 — difficulty level: Easy

The simplest solution would be to use a Sleep module to wait out 5 minutes (or the longest period that the external service takes).

You could even use more than one, if you have a Make subscription (free tier max 5 minutes per scenario run).
Screenshot_2024-01-30_090129

Method 2 — difficulty level: ???

This other method allows you to check multiple times at shorter intervals, because you “throw” an error to break from the repeater and end the scenario when successful/completed.

The secret is in the success check filter, the error handler, and the commit directive.

Hope this helps!

samliewrequest private consultation

Join the Make Fans Discord server to chat with other makers!

1 Like

Hi @samliew, thank you for your suggestions!
Here’s a screenshot of the current scenario:


So, since I’m using the default Elevenlabs integration, both the transmission of the data & the output currently happen within one step.

If I understand it correctly, with both potential solutions, I’d have to split the Elevenlabs process into two steps, POST & GET, to get the data after the time has passed.

Is that correct // is there any other way to extend the waiting time within the default Elevenlabs integration?

Thank you!

There is no way to increase module timeout.

samliewrequest private consultation

Join the Make Fans Discord server to chat with other makers!

1 Like

So for anyone else facing this issue in the future, here is how I solved the problem:
→ using the HTTP - Make a request module to send a POST request to Elevenlabs (instead of the default Elevenlabs module), I’m able to set the timeout to 300 seconds. This is longer than the duration of the Elevenlabs module (seems strange - if anyone from the Make.com staff sees this, please extend the duration of the Elevenlabs module to 300 sec as well :bulb:)
→ To get the HTTP POST request module to work properly with Elevenlabs, I recommend looking at this thread: API Elevenlabs recovery mp3 files - #2 by Simo which has a useful discussion on the topic
→ In my case, I additionally had to add two “Text parser” modules. Because the JSON format for the POST request is more sensitive to breaking (due to line breaks, or unexpected " signs), compared to the native Elevenlabs integration.

My recommendation: if your text is around 1000-2000 characters, it’ll most likely be done within the time limit, and you should use the native Elevenlabs module from Make.com. If your text is longer than that, it best to use the custom HTTP POST Request. So far, nothing I encountered took more than 3 minutes on Elevenlabs btw, so a singular 300 second module, should be fine!

2 Likes

Hey there @Leander_C_Seidl :wave:

Just wanted to jump in and congratulate you on solving your troubles.
Thanks for sharing your findings with us! :pray:

Keep up the good work

1 Like

Hi Leander, I have this exact same issue, can you please post here the image of your final flow with HTTP. Also where did you set the timeout to 300 seconds? Thanks.


Hi @Emmanuel_Zabala , hopefully this helps. The email step at the beginning is a monitored inbox. The parsers are specifically replacing some characters from the source data, that would otherwise break the API request (in my case, line breaks - looks like this:

). The HTTP module is configured identically to the one from @robin_georges from this thread (API Elevenlabs recovery mp3 files). Where it says “text”: “o”, in his screenshot, I’m putting in the data from the previous parser module!

2 Likes

Thanks Leander, very useful i will give it a try. Only one additional question, why you have 2 text parsers in place? both are there to replace line breaks?