ClaudeCloudflare Developer Platform2026/05/07 0:00

Stream - Introducing Stream Bindings for Workers

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

claudejamodel: claude-haiku-4-5

Stream Bindings for Workers の導入

Key Points

  • Stream Bindingsで認証なしにAPI操作が可能
  • AI生成動画の直接アップロードに対応
  • 署名付きトークン生成で鍵管理が不要

Summary

Cloudflareは、WorkersからStream動画ライブラリと直接連携できる新しいバインディング機能を発表しました。認証APIコールなしに、動画のアップロード、直接アップロードのプロビジョニング、メタデータ管理、署名付きURLの生成が可能になります。

Key Points

  • 動画アップロード: URLから動画をアップロードするか、エンドユーザー向けの直接アップロードリンクを作成
  • 署名付きトークン生成: 署名キーを管理せずに再生トークンを生成
  • メタデータ管理: 動画のメタデータ、キャプション、ダウンロード、ウォーターマークを管理
  • AI統合: Google Veo-3.1などのAIモデルで生成した動画を直接Streamにアップロード
  • 簡単な設定: Wrangler設定ファイルにバインディングを追加するだけで利用開始可能
  • プログラマティックパイプライン: Worker内で完全な動画パイプラインを構築可能

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

claudejamodel: claude-haiku-4-5

Stream - Workers向けStream Bindingsの紹介

Introducing Stream Bindings for Workers

2026年5月7日 | Stream

Workers向けの新しいBindingsを使用して、Stream動画ライブラリと対話できるようになりました。これにより、顧客はWorkerから認証されたAPIコールを行わずに、Streamにコンテンツをアップロードし、直接アップロードをプロビジョニングし、動画を管理し、署名付きURLを生成できます。StreamとWorkersをより密接に統合し、より多くのプログラマティックパイプライン、より緊密な統合、生成AIと推論ワークロードのサポートを実現できることに興奮しています。

Stream Bindingを使用する場合

Stream Bindingは以下の場合に使用してください:

  • URLから動画をアップロードするか、エンドユーザー向けの基本的な直接アップロードリンクを作成する
  • 署名キーを管理せずに署名付き再生トークンを生成する
  • 動画メタデータ、キャプション、ダウンロード、ウォーターマークを管理する
  • Workers内で完全に動画パイプラインを構築する

開始方法

Wrangler設定にStream Bindingを追加します:

wrangler.jsonc

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "stream": {
    "binding": "STREAM"
  }
}

wrangler.toml

[stream]
binding = "STREAM"

AIで動画を生成してStreamに直接アップロード

AIで動画を生成するか、既存のファイルのURLを送信します:

JavaScript

const aiResponse = await env.AI.run(
  "google/veo-3.1",
  {
    prompt: "A dog walking next to a river",
    duration: "10s",
    aspect_ratio: "16:9",
    resolution: "1080p",
    generate_audio: true,
  },
  {
    gateway: {
      id: "experiments",
    },
  }
);

// Veoは生成されたアセットのURLを返します
const videoUrl = aiResponse.result.video;

// 代替オプション:Austin Officeモバイルの動画
// const videoUrl = 'https://pub-d9fcbc1abcd244c1821f38b99017347f.r2.dev/aus-mobile.mp4';

// URLを提供してStreamにアップロード
const streamVideo = await env.STREAM.upload(videoUrl);

// streamVideoレスポンスには、動画ID、再生およびマニフェストURL、
// およびREST APIと同様のその他の情報が含まれます

TypeScript

const aiResponse = await env.AI.run(
  'google/veo-3.1',
  {
    prompt: 'A dog walking next to a river',
    duration: '10s',
    aspect_ratio: '16:9',
    resolution: '1080p',
    generate_audio: true,
  },
  {
    gateway: {
      id: 'experiments',
    },
  }
);

// Veoは生成されたアセットのURLを返します
const videoUrl = aiResponse.result.video;

// 代替オプション:Austin Officeモバイルの動画
// const videoUrl = 'https://pub-d9fcbc1abcd244c1821f38b99017347f.r2.dev/aus-mobile.mp4';

// URLを提供してStreamにアップロード
const streamVideo = await env.STREAM.upload(videoUrl);

// streamVideoレスポンスには、動画ID、再生およびマニフェストURL、
// およびREST APIと同様のその他の情報が含まれます

署名キーやAPIコールを使用せずに署名付きURLを生成

JavaScript

const video_id = "ce800be43a9772f4bb02f35b860fb516";
const token = await env.STREAM.video(video_id).generateToken();

// iframeエンベッドコード、マニフェストURL、またはサムネイルで「token」を使用します:
const embedUrl = `https://customer-igynxd2rwhmuoxw8.cloudflarestream.com/${token}/iframe`;

TypeScript

const video_id = 'ce800be43a9772f4bb02f35b860fb516';
const token = await env.STREAM.video(video_id).generateToken();

// iframeエンベッドコード、マニフェストURL、またはサムネイルで「token」を使用します:
const embedUrl = `https://customer-igynxd2rwhmuoxw8.cloudflarestream.com/${token}/iframe`;

動画プロパティを簡単に取得および設定

JavaScript

const video_id = "46c8b7f480d410840758c1cb14a72e47";
const result = await env.STREAM.video(video_id).details();

await env.STREAM.video(video_id).update({
  meta: {
    name: "sample video",
  },
});

TypeScript

const video_id = '46c8b7f480d410840758c1cb14a72e47';
const result = await env.STREAM.video(video_id).details();

await env.STREAM.video(video_id).update({
  meta: {
    name: 'sample video',
  },
});

詳細情報

セットアップ手順と完全なAPIリファレンスについては、Bind to Workers APIを参照してください。

Agentを使い始める

Cloudflare Stream(env.STREAM)のBindingを追加します。ウォッチページで、Stream Bindingを使用してIDに基づいて情報を取得し、video.meta.nameをページタイトルとして活用します。

Stream — Workers向け Stream バインディングの紹介 | Cloudflare Developer Platform | DocsDigest