openaijamodel: gpt-5-mini-2025-08-07
Stream - Workers向け Media Transformations バインディング
Key Points
- R2から直接変換
- フレーム/音声抽出対応
- wranglerで簡単設定
Summary
Media Transformations の Workers バインディングを使うと、R2 を含むプライベートな場所にある動画を Workers 内で直接変換(リサイズ、トリミング、フレーム抽出、音声抽出など)でき、変換結果をそのまま R2 へ保存したり AI ワークフローに渡したりできます。エッジでの最適化やトランスコード、フレーム抽出を簡単に統合できます。
Key Points
- 設定(wrangler)
// wrangler.jsonc
{
"$schema": "./node_modules/wrangler/config-schema.json",
"media": { "binding": "MEDIA" }
}
# wrangler.toml
[media]
binding = "MEDIA"
- 基本的な使い方(JS/TS)
const video = await env.R2_BUCKET.get("input.mp4");
const result = env.MEDIA
.input(video.body)
.transform({ width: 480, height: 270 })
.output({ mode: "video", duration: "5s" });
return await result.response();
- 出力モード: video (MP4最適化), frame (静止画), spritesheet (複数フレーム), audio (M4A)
- 主な利用ケース: プライベートソースの変換、動画最適化→R2保存、フレーム抽出による分類/説明、音声抽出→文字起こし
- 実運用メモ: 入出力はストリーム処理可能、出力を再度 R2 に保存してキャッシュや再利用が容易