#interface ElevenLabDubRequest {
1 messages · Page 1 of 1 (latest)
I am using next js 14 with app router for frontend and for backend I am using nest js
No its a node js framework, if you love TS, you'll absolutely gonna love this
Ill definitely check it out
Is the api url unique to each account?
No its same, https://api.elevenlabs.io/v1
start time and end time are not needed if for example you dub a youtube video?
nah you can still pass it, I am not currently using this, also I don't think you can pass youtube URL in the api, because I am passing Cloufront(S3) Url to the source_url
So, you upload the file to s3 and then pass it? How do you get the response video?
You can see https://elevenlabs.io/docs/api-reference/get-dubbed-file, here you will call the url with dubbing_id and you will get a file type response in return
Would you check the status before trying to get the video?
The only pain point is they don't have the webhook feature where your api get called when the dubbing is finished we've to check it manually
Yes absolutely
I guess we gotta work with what we got, thanks again for all the help
I need a sample video url to test
Any ideas?
It takes YouTube videos and I found one that was two seconds long, which surprisingly took a while to dub
Now I need to figure out a way to get the dubbed file to the front end with next js because a serverless functions times out after 10 seconds
Might just do some polling from the front end
Every 5 seconds
I am implementing the same feature now, I am doing this with Queue, as when the user generates a dub I will push the ID to the queue with a 2-minute delay and 3 retries and then process it in the backend only
So, you request a dub and return the dubbingId to the front end and then wait for it to complete every two minutes?
Yeah, my flow will be first user will send the dub request, they will get a success message about processing and estimates, and then in the backend I will push the dub ID into the Queue and check every two minutes if the dub is completed or not, and then we'll notify the frontend through SSE(Server Side Events)
I am most of done just the SSE part remaining
What do you think of this flow? can it be better?
Currently what I am doing is, the user requests it the dubbed video on the front end and the server returns the dubbingID and the client already has the targetLang, it stores both and checks at an interval the dubbing status and when complete the video loads
But im having trouble with the video not displaying
Possibly a security measure from elevenlabs might have to upload video to cloud and then render on client
Is it better? Idk
Trial and error
Yeah I am uploading the dubbed video to the s3 bucker and then rendering the video in frontend
I hate dealing with aws, I got charged on the free plan
And still annoyed by it
Also I hate their ui/ux
Its so awful
Totally Agree, I am still getting charged even though I am using s3 and I can see in the cost manager is cost is almost $0
Do you delete the videos after you render them on the frontend?
Do you memoize them? That would be interesting
No, I keep the videos in s3, memoize what? video URL
Video url and targetlang
No I don't memoize them, one every page load client will request the backend for links and target_lang stored in db
Do you know of any service like s3 bucket but with better user experience?
I mean you could use azure entirely or you can use digitalOcean or Vercel storage which under hood uses the aws
Prices the same?
I might just have to suck it up and use s3
I dont want to learn a new one
Same for me, as I used aws extensively in my previous roles