From 897c7d5cbfa24becb08d64041bb9fc3da700b63a Mon Sep 17 00:00:00 2001 From: Taylor Smith Date: Fri, 5 Jun 2026 14:13:19 -0500 Subject: [PATCH 1/3] [Stream] Google Drive share links are error-prone --- .../uploading-videos/upload-via-link.mdx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/content/docs/stream/uploading-videos/upload-via-link.mdx b/src/content/docs/stream/uploading-videos/upload-via-link.mdx index 1d7071ca08f..f3edb5e908a 100644 --- a/src/content/docs/stream/uploading-videos/upload-via-link.mdx +++ b/src/content/docs/stream/uploading-videos/upload-via-link.mdx @@ -14,7 +14,13 @@ import { LinkButton, } from "~/components" -If you have videos stored in a cloud storage bucket, you can pass a HTTP link for the file, and Stream will fetch the file on your behalf. +If you have videos stored in a cloud storage bucket (R2, S3, GCS) or hosted in by a service that exposes a download link, you can pass its URL. Stream will fetch the file on your behalf. + +::: note + +Google Drive share links are not recommended for this purpose. They are prone to rate limiting and access restrictions imposed by Google that may prevent Stream from downloading the file. + +::: @@ -25,7 +31,7 @@ If you have videos stored in a cloud storage bucket, you can pass a HTTP link fo Make a `POST` request to the Stream API using the link to your video. ```bash curl \ - --data '{"url":"https://storage.googleapis.com/zaid-test/Watermarks%20Demo/cf-ad-original.mp4","meta":{"name":"My First Stream Video"}}' \ + --data '{"url":"https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4","meta":{"name":"My First Stream Video"}}' \ --header "Authorization: Bearer " \ https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/copy ``` @@ -39,7 +45,7 @@ If you have videos stored in a cloud storage bucket, you can pass a HTTP link fo const video = await client.stream.copy.create({ account_id: '', - url: 'https://storage.googleapis.com/zaid-test/Watermarks%20Demo/cf-ad-original.mp4', + url: 'https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4', }); ``` @@ -56,7 +62,7 @@ export default { async fetch(request, env, ctx): Promise { // upload a video with a link const videoDetails = await env.STREAM.upload( - "https://storage.googleapis.com/zaid-test/Watermarks%20Demo/cf-ad-original.mp4", + "https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4", // (optional) attach metadata { meta: { name: "My First Stream Video" } } ); @@ -117,7 +123,7 @@ You can optionally use [webhooks](/stream/manage-video-library/using-webhooks/) "state": "downloading" }, "meta": { - "downloaded-from": "https://storage.googleapis.com/zaid-test/Watermarks%20Demo/cf-ad-original.mp4", + "downloaded-from": "https://pub-2da57dbfcf5f4369863991d59747d686.r2.dev/acadia.mp4", "name": "My First Stream Video" }, "created": "2020-10-16T20:20:17.872170843Z", @@ -149,4 +155,4 @@ You can optionally use [webhooks](/stream/manage-video-library/using-webhooks/) After the video is uploaded, you can use the video `uid` shown in the example response above to play the video using the [Stream video player](/stream/viewing-videos/using-the-stream-player/). -If you are using your own player or rendering the video in a mobile app, refer to [using your own player](/stream/viewing-videos/using-the-stream-player/using-the-player-api/). \ No newline at end of file +If you are using your own player or rendering the video in a mobile app, refer to [using your own player](/stream/viewing-videos/using-the-stream-player/using-the-player-api/). From dce9f89788f00e2c887b52f378513cc222c1ccac Mon Sep 17 00:00:00 2001 From: Taylor Smith Date: Fri, 5 Jun 2026 14:24:23 -0500 Subject: [PATCH 2/3] got fussed at by the bot --- src/content/docs/stream/uploading-videos/upload-via-link.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/stream/uploading-videos/upload-via-link.mdx b/src/content/docs/stream/uploading-videos/upload-via-link.mdx index f3edb5e908a..db94d070f16 100644 --- a/src/content/docs/stream/uploading-videos/upload-via-link.mdx +++ b/src/content/docs/stream/uploading-videos/upload-via-link.mdx @@ -16,9 +16,9 @@ import { If you have videos stored in a cloud storage bucket (R2, S3, GCS) or hosted in by a service that exposes a download link, you can pass its URL. Stream will fetch the file on your behalf. -::: note +:::note -Google Drive share links are not recommended for this purpose. They are prone to rate limiting and access restrictions imposed by Google that may prevent Stream from downloading the file. +Google Drive share links are _not_ recommended for this purpose. They are prone to rate limiting and access restrictions imposed by Google that may prevent Stream from downloading the file. ::: From f2b0b77ffccac0f7aada458c2d02d5c3d80d700a Mon Sep 17 00:00:00 2001 From: Taylor Smith Date: Fri, 5 Jun 2026 14:25:41 -0500 Subject: [PATCH 3/3] typo-- --- src/content/docs/stream/uploading-videos/upload-via-link.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/stream/uploading-videos/upload-via-link.mdx b/src/content/docs/stream/uploading-videos/upload-via-link.mdx index db94d070f16..6709034cd58 100644 --- a/src/content/docs/stream/uploading-videos/upload-via-link.mdx +++ b/src/content/docs/stream/uploading-videos/upload-via-link.mdx @@ -14,7 +14,7 @@ import { LinkButton, } from "~/components" -If you have videos stored in a cloud storage bucket (R2, S3, GCS) or hosted in by a service that exposes a download link, you can pass its URL. Stream will fetch the file on your behalf. +If you have videos stored in a cloud storage bucket (R2, S3, GCS) or hosted by a service that exposes a download link, you can pass its URL. Stream will fetch the file on your behalf. :::note