Large uploads (>200 mbs) directly from browser

I’m looking to allow the users of my web app to upload large size HD videos directly from the browser.

According to the docs, direct user uploads are limited to 200 mb in size (

Accordingly, I have two questions:

1- I found this comment in a discussion here STREAM Direct User Uploads - Not TUS enabled? saying that the team is working on large direct uploads, I was wondering if the cloudflare team has any status update or timeline for this feature ?

2- I’m thinking about using the tus-js-client on a cloud function and when uploading from the browser (via POST to the lambda handler), pipe the stream from the request object through the tus-client to cloudflare. Does that sound like something that would work ? is there anything wrong with doing that ?

I appreciate any help!

Ok so i just found this
I definitely think this should be added to the standalone stream documentation ( , because i almost spent two days implementing a manual version of it :sweat_smile:
But my question now is, in the return value of this method, it seems to have the json property “readyToStream: true”, which makes me wonder for large size files (several gigs), would the return value be for that property “false” and then I have to listen to the webhook ? I’m guessing that’s how it is, if anyone can chime in would be great… otherwise I’ll report back once i finish creating a test implementation

Hey @armouti :wave:

You will need to listen for a webhook or poll the API until readyToStream is set to true unless the API returns readyToStream upon the first API call. This is what most people do.

Regarding point #2 on your original question: yes, using a cloud function to relay TUS calls with authentication definitely is an option. I know of some Stream users who do this. I saw your other post on Direct User Uploads with TUS topic - replying there right now.

1 Like