Cloudflare Stream link upload: no Drive links, plus Sume's import
Cloudflare Stream can fetch a video from a URL but warns against Google Drive share links. Sume media tools need the file imported to media.sume.com first.

Cloudflare Stream will fetch a video from a URL you give it, such as a storage bucket or a host that exposes a download link, and it warns that Google Drive share links are not recommended because rate limiting and access rules can stop the download. Sume's media tools never fetch from the open internet, so a URL has to be imported to media.sume.com before trim, filter, frames or detach can use it.
The Cloudflare facts come from its upload via link page, read 2026-10-03. Sume's import rule is in its video trim docs.
What the Cloudflare page says
The page treats link upload as a convenience for files that already live somewhere with a stable direct download.
| Topic | What the page says |
|---|---|
| Sources that work | Cloud storage buckets (R2, S3, GCS) or a service that exposes a download link |
| Who fetches | Stream fetches the file on your behalf |
| Time | Seconds to minutes, depending on length |
| Ready check | readyToStream returns true |
| Google Drive | Share links are not recommended |
Why a Drive link breaks fetchers
Cloudflare gives the reason in one line: Drive links are prone to rate limiting and access restrictions imposed by Google. A share link is a page, not a file, so any service that fetches it on your behalf can be blocked even when your browser opens it fine.
The fix is the same for any fetcher: give it a direct, stable file URL, such as an object in a bucket.
The Sume side of the same problem
Sume's trim, filter, frames, inspect and detach docs all say video_url must be this workspace's media.sume.com artifact or asset, that there is no open-internet fetch, and that you import first with POST /v1/media-imports. A URL from another host fails with unsupported_media_source at admit.
Captions are the exception: video captions take a public HTTPS video URL, and the docs say localhost, private-network, non-HTTPS and signed or private URLs are rejected.
- Media tools: import, then use the media.sume.com URL.
- Video captions: a fetchable public HTTPS URL.
- Drive share links suit neither, so use a direct file URL.
A clean order of steps
Put the source at a direct HTTPS URL, import it into Sume, run the media tool on the returned media.sume.com URL, and if you also host the video on Stream, upload the finished file by link from your own bucket. That keeps every fetcher pointed at a plain file and avoids the Drive failure Cloudflare describes.
Testing a URL before you use it
A quick test works for any fetcher: request the URL with a plain HTTP client that has no cookies. If the response is a web page rather than the video bytes, the link is a share page and a fetching service will fail on it, as Cloudflare warns for Drive.
A direct object URL from a bucket returns the file itself, which is what both Stream's link upload and a Sume import need.
Sources
Related posts
More in Media tools
- Cloudinary ar_9:16,c_fill,g_auto vs Sume per-shot crop fractions
Cloudinary reframes video with ar_9:16,c_fill,g_auto. On Sume you pick crop x per shot (left, centre, right), with a runnable Python script.
- Sale banner compose errors: not a still, wrong axis, clamped duration
Fix the stable Sume Timeline compose refusals for a sale banner: compose_image_not_still, compose_image_region_wrong_axis and a clamped duration warning.
- Cost of subtitling 20 Shorts in 5 languages: 100 caption jobs
20 Shorts x 5 languages is 100 Video captions jobs. Price it at $0.20 each, plan the idempotency keys, and know what a failed job costs.
- Why did my crossfade render as a hard cut in Sume Timeline?
The clip after a fade needs duration plus the fade length from its source. If the file is shorter, Timeline cuts instead and warns transition_downgraded_to_cut.
Written by Sume