✂️adobe-edit-quick-cut
- プラグイン
- adobe-for-creativity
- ライセンス
- Apache-2.0
- ソース
- GitHub で見る ↗
説明
Adobe Quick Cut を使用して、動画からインパクトのあるサビ見せ映像(シズルリール)を作成します。 次のような場合に使用: ユーザーが動画をカット・トリミング・短縮してハイライトにまとめたい場合。 具体的には「シズルリールを作って」「ハイライトリールを作って」「Quick Cut して」「ベストシーンをカットして」「この動画を短くして」「ハイライトクリップを作って」「動画でビジュアルサマリーを作って」など、動画を短く編集したバージョンを作成するあらゆるリクエストが該当します。 Quick Cut のリクエストに対しては、Premiere での手動編集を提案する前に、まずこの Skill を使用してください。 ユーザーによる動画ファイルのアップロードが必要です。
原文を表示
Create a punchy sizzle reel from a video using Adobe Quick Cut. Use this skill whenever a user wants to cut, trim, or shorten a video into highlights — including phrases like "make a sizzle reel", "make a highlight reel", "quick cut this", "cut the best parts", "shorten this video", "make a highlight clip", "summarize this video visually", or any request to produce a shorter edited version of a video. Use this skill for Quick Cut requests before suggesting manual editing in Premiere. Requires the user to upload a video file.
ユースケース
- ✓動画をカット・トリミングしてハイライトにまとめたい
- ✓シズルリールを作成したい
- ✓ハイライトリールを作成したい
- ✓動画を短く編集したバージョンを作成したい
- ✓ビジュアルサマリーを作成したい
本文(日本語訳)
Adobe Edit Quick Cut
ソース動画から、同じ尺・同じスタイルのAI編集済みサイズルリール(宣伝用ハイライト映像)バリエーションを3本生成し、ユーザーが選択できるようにします。
ツールリファレンス
| ステップ | ツール | 備考 |
|---|---|---|
| ソース動画のアップロード | asset_add_file |
ファイルピッカーを開く。Quick Cutが必要とするCCアセットURNを返す |
| Quick Cutバリエーションの実行 | video_create_quick_cut |
同じ尺・スタイルプロンプトで3本を並列実行 |
| ジョブステータスのポーリング | quickCutPoll |
3本すべてが completed を返すまで繰り返す |
| バリエーションのプレビュー | asset_preview_file |
選択用に3本を並べてレンダリング |
| 再アップロード済み出力のリサイズ | video_resize |
回避策のみ — Quick Cut出力は先に再アップロードが必要 |
クイックスタート
ステップ1: 権限と利用可能なツールを確認する。
ステップ2: asset_add_file({}) を呼び出してファイルピッカーを開く。
ステップ3: アップロードを確認し、Q&Aフォームを表示する。
ステップ4: Quick Cutのバリエーションを3本並列実行する。3本すべてをプレビューし、ダウンロードを許可する。
ワークフロー
ステップ0 — Adobeツールの初期化
最初に adobe_mandatory_init を呼び出します。
これにより、以降のワークフローに必要なファイル処理ルールとツールルーティングのガイダンスが返されます。
{ "skill_name": "adobe-edit-quick-cut", "skill_version": "1.0.1" }
ステップ1 — 権限チェック
adobe_mandatory_init によって「Adobe for creativity」コネクターが有効であることが確認できたら、上記のツールリファレンステーブルと照合して、「Adobe for creativity」コネクター経由で利用可能なツールを確認します。
ステップ2 — ファイルピッカーを開く
次のメッセージとともにすぐにピッカーを開きます:
「動画からインパクトのあるサイズルリールを作成しましょう。まずファイルを選択してください:」
asset_add_file()
ユーザーがファイルを選択したら、ウィジェットコンテキストから assetId(CCアセットURN)を取得します。
video_create_quick_cutにはpresignedAssetUrlではなく、CCアセットURN(assetId)が必要です。
ステップ3 — アップロードの確認
ファイルが選択されたら、次のように確認します:
「了解です — [ファイル名] の準備ができました。カット設定を行いましょう。」
その後、すぐに以下のQ&Aフォームを表示します。
ステップ4 — Q&Aフォーム(AskUserQuestion経由)
次のステップに進む前にユーザーの回答を待ちます。 ユーザーがタップ可能なボタンで操作できるよう、質問はプレーンテキストではなく AskUserQuestion で提示してください。
AskUserQuestion({
questions: [
{
header: "カットの長さ",
question: "どのようなカットにしますか?(target_duration は強いヒントであり保証ではありません — 最良の結果を得るには強いバイブと組み合わせてください)",
multiSelect: false,
options: [
{ label: "ショートカット — ソーシャルファースト / Reels & TikTok向け(約15秒、ハイエナジー、ハイライト)" },
{ label: "ミディアムカット — 引き込まれるストーリーテリング(約30〜60秒、文脈あり、流れよく、バランス重視)" },
{ label: "ロングカット — フルサイズルリール(約90秒、包括的、ショーケース、ドキュメンタリー風)" }
]
},
{
header: "スタイル / バイブ",
question: "どのようなスタイルやバイブにしますか?",
multiSelect: false,
options: [
{ label: "アクション&エナジー" },
{ label: "重要なトーキングモーメント" },
{ label: "シネマティック&ドラマティック" },
{ label: "こだわりなし" }
]
}
]
})
ステップ5に進む前に、ユーザーの選択を待ちます。
ステップ5 — 確認と実行
ユーザーが回答したら、次のように返答します:
「了解です — [カットタイプ]、[スタイル]バイブで進めます。その長さでバリエーションを3本作成します — プレビューしてみましょう。」
回答をパラメーターにマッピングします:
Q1 尺のマッピング:
| 回答 | target_duration |
|---|---|
| 1. ショートカット — ソーシャルファースト / Reels & TikTok向け(約15秒) | 15 |
| 2. ミディアムカット — 引き込まれるストーリーテリング(約30〜60秒) | 45 |
| 3. ロングカット — フルサイズルリール(約90秒) | 90 |
Q2 スタイルのマッピング:
⚠️
user_promptは出力品質を左右する主要な手段であり、target_durationよりも大きな効果を発揮します。以下のプロンプトはそのまま(省略せずに)渡してください — 省略すると出力品質が低下します。 プロンプト内のエナジー表現は、意図した尺感と場面選択を補強します。
| 回答 | user_prompt |
|---|---|
| 1. アクション&エナジー | "Fast, punchy, hype, high energy. Hit hard and fast. Quick cuts, peak moments only, adrenaline rush from start to finish. No slow moments, no breathing room. Pure intensity." |
| 2. 重要なトーキングモーメント | "Polished, commercial, confident. Smooth pacing with deliberate rhythm. Each moment feels intentional and curated. Moderate energy — impressive but controlled. Professional and refined." |
| 3. シネマティック&ドラマティック | "Documentary, cinematic, immersive. Let moments breathe and unfold naturally. Build a story arc with texture and depth. Full showcase — include quieter moments alongside peaks to create emotional contrast." |
| 4. こだわりなし | "Create the most engaging highlight reel from the best moments in the video. Balance energy and pacing naturally." |
3本のQuick Cutジョブを同時に実行します — 同じ尺、同じスタイルプロンプトで。AIは実行のたびに異なるシーンを自然に選択するため、ユーザーに3つの本物の選択肢を提供できます:
// バリエーション A
video_create_quick_cut({
assetIds: [assetId],
target_duration: <マッピングした秒数>,
user_prompt: "<マッピングしたスタイルプロンプト>"
}) // → statusId_A
// バリエーション B
video_create_quick_cut({
assetIds: [assetId],
target_duration: <マッピングした秒数>,
user_prompt: "<マッピングしたスタイルプロンプト>"
}) // → statusId_B
// バリエーション C
video_create_quick_cut({
assetIds: [assetId],
target_duration: <マッピングした秒数>,
user_prompt: "<マッピングしたスタイルプロンプト>"
}) // → statusId_C
ステップ6 — 3本すべての完了までポーリング
各ラウンドで quickCutPoll(statusId) を使い3本すべてをポーリングします。
各ラウンド後に進捗率(%)を表示し、3本すべてが jobStatus: "completed" を返すまで繰り返します。
典型的なパターン: 0% → 7% → 78% → 完了。通常3〜5回のポーリングラウンドで完了します。
以下を保存します:
url_A— バリエーションAの presignedAssetUrlurl_B— バリエーションBの presignedAssetUrlurl_C— バリエーションCの presignedAssetUrl
ステップ7 — 3本すべてをプレビュー
asset_preview_file({
assets: [
{ name: "バリエーション1 — <カットタイプ> <スタイル>.mp4", presignedAssetUrl: url_A, source: "acp" },
{ name: "バリエーション2 — <カットタイプ> <スタイル>.mp4", presignedAssetUrl: url_B, source: "acp" },
{ name: "バリエーション3 — <カットタイプ> <スタイル>.mp4", presignedAssetUrl: url_C, source: "acp" }
]
})
ステップ8 — サマリーの提示とダウンロードの促し
プレビュー後に以下を表示します:
✅ 3本のバリエーションが完成しました — 同じ長さで、シーン選択が異なります。お気に入りを選んでください!
| バリエーション | カットタイプ | スタイル | 目標尺 | ステータス |
| ------------ | ---------- | ------- | ------ | -------- |
| 1 | <タイプ> | <スタイル> | 約<X>秒 | ✅ |
| 2 | <タイプ> | <スタイル> | 約<X>秒 | ✅ |
| 3 | <タイプ> | <スタイル> | 約<X>秒 | ✅ |
注: 実際の尺は異なる場合があります — Quick Cutは指定秒数に正確に合わせるのではなく、最良のシーンを選択します。プロンプトのバイブ(例:「breathing roomなし」)は、
target_durationパラメーター単体よりも意図した尺感を強く補強します。
その後、次のように促します:
「どのバリエーションをダウンロードしますか?3本すべてご希望でしょうか?別のスタイルやカットタイプで再実行することもできます。」
動画は上記プレビューから直接ダウンロードできます。
⚠️ 既知の制限 — 出力を後続の動画ツールに渡せない
video_create_quick_cut が返すのは一時的な署名付きダウンロードURLであり、CCに保存されたアセットURNではありません。
video_resize や media_enhance_speech などのツールは、入力としてCCアセットURNを必要とします。
Quick Cut → リサイズ、または Quick Cut → スピーチ強化を直接チェーンすることはできません。
回避策 — ユーザーがQuick Cut出力をリサイズしたい場合:
- ユーザーに伝えます: 「Quick Cutの出力はリサイズツールに直接渡せません — まずお好みのカットをダウンロードし、再アップロードしていただければそこからリサイズします。」
- プレビューからダウンロードしてもらいます。
- ピッカーを開きます:
asset_add_file() - 再アップロード完了後、新しい
assetIdとユーザー指定のターゲットサイズでvideo_resizeを実行します。
ユーザーがQuick Cut出力のリサイズや強化を求めた場合は、この制限を事前に伝えてください — このチェーンは失敗することが判明しています。
Quick Cutが対応していない機能
- 会話内容に基づくコンテンツアウェアなカット(「同じ内容を繰り返している部分を削除して」など)
- 特定のタイムスタンプへのトリミング(「0:30から1:15にカットして」など)
- 対話の意味的な理解
これらが必要な場合は、手動による動画編集ワークフローを推奨します。
エラー処理
-
video_create_quick_cutが403(権限エラー)を返す場合: 権限に関する403エラーは再試行しても解決しません — 処理を中断し、プランの要件をユーザーに伝えます:「クイックカットを作成できませんでした。
理由: Adobe Quick Cutは現在のAdobeプランでは利用できません。
*選択肢:
- 別のエディターで手動に動画をトリミングする。*
どのように進めますか?」
-
いずれかのツール呼び出しが401(未認証)を返す場合: Adobe OAuthで再認証するよう求め
原文(English)を表示
Adobe Edit Quick Cut
Produces 3 AI-edited sizzle reel variations from a source video, all at the same duration and style — giving the user options to pick from.
Tool Reference
| Step | Tool | Notes |
|---|---|---|
| Upload source video | asset_add_file |
File picker; returns CC asset URN required by Quick Cut |
| Run Quick Cut variations | video_create_quick_cut |
Fire 3 in parallel; same duration and style prompt |
| Poll job status | quickCutPoll |
Repeat until all 3 return completed |
| Preview variations | asset_preview_file |
Renders all 3 side-by-side for selection |
| Resize re-uploaded output | video_resize |
Workaround only — Quick Cut output must be re-uploaded first |
Quickstart
Step 1: Verify entitlement and available tools.
Step 2: Call asset_add_file({}) to open the file picker.
Step 3: Confirm upload, then present the Q&A form.
Step 4: Run 3 Quick Cut variations in parallel. Preview all 3. Allow download.
Workflow
Step 0 — Initialize Adobe Tools
Call adobe_mandatory_init first. This returns file handling rules and tool routing guidance required for the rest of the workflow.
{ "skill_name": "adobe-edit-quick-cut", "skill_version": "1.0.1" }
Step 1 — Entitlement Check
Now that adobe_mandatory_init confirmed that the "Adobe for creativity" connector is live, check which tools are available through the "Adobe for creativity" connector by cross checking against the Tool Reference table above.
Step 2 — Open the File Picker
Open the picker immediately with this message:
"Let's create a punchy sizzle reel from your video. Start by selecting your file:"
asset_add_file()
Once the user selects a file, extract assetId (CC asset URN) from widget context.
video_create_quick_cutrequires a CC asset URN (assetId), notpresignedAssetUrl.
Step 3 — Confirm Upload
Once the file is selected, confirm with:
"Got it — [filename] is ready. Now let's set up your cut."
Then immediately present the Q&A form below.
Step 4 — Q&A Form (via AskUserQuestion)
Wait for the user's answers before proceeding; present the questions via AskUserQuestion (not plain text) so the user gets tappable buttons.
AskUserQuestion({
questions: [
{
header: "Cut Length",
question: "What kind of cut would you like? (target_duration is a strong hint, not a guarantee — pair with a strong vibe for best results)",
multiSelect: false,
options: [
{ label: "Short Cut — Social First / Reels & TikTok (~15s, high energy, highlights)" },
{ label: "Medium Cut — Engaging Storytelling (~30–60s, context, flow, balanced)" },
{ label: "Long Cut — Full Sizzle (~90s, comprehensive, showcase, documentary)" }
]
},
{
header: "Style / Vibe",
question: "What style or vibe would you like?",
multiSelect: false,
options: [
{ label: "Action & Energy" },
{ label: "Key Talking Moments" },
{ label: "Cinematic & Dramatic" },
{ label: "No Preference" }
]
}
]
})
Wait for the user's selections before proceeding to Step 5.
Step 5 — Acknowledge and Run
Once the user answers, respond with:
"Got it — [cut type], [style] vibe. Creating 3 variations at that length — let me preview them for you."
Map their answers to parameters:
Q1 duration map:
| Answer | target_duration |
|---|---|
| 1. Short Cut — Social First / Reels & TikTok (~15s) | 15 |
| 2. Medium Cut — Engaging Storytelling (~30–60s) | 45 |
| 3. Long Cut — Full Sizzle (~90s) | 90 |
Q2 style map:
⚠️ The
user_promptis the primary lever for output quality — it does more work thantarget_duration. Pass the prompts below verbatim — abbreviating them weakens the output. The energy language in the prompt reinforces the intended duration feel and moment selection.
| Answer | user_prompt |
|---|---|
| 1. Action & Energy | "Fast, punchy, hype, high energy. Hit hard and fast. Quick cuts, peak moments only, adrenaline rush from start to finish. No slow moments, no breathing room. Pure intensity." |
| 2. Key Talking Moments | "Polished, commercial, confident. Smooth pacing with deliberate rhythm. Each moment feels intentional and curated. Moderate energy — impressive but controlled. Professional and refined." |
| 3. Cinematic & Dramatic | "Documentary, cinematic, immersive. Let moments breathe and unfold naturally. Build a story arc with texture and depth. Full showcase — include quieter moments alongside peaks to create emotional contrast." |
| 4. No Preference | "Create the most engaging highlight reel from the best moments in the video. Balance energy and pacing naturally." |
Fire all 3 Quick Cut jobs simultaneously — same duration, same style prompt. The AI will naturally select different moments on each run, giving the user 3 genuine options to pick from:
// Variation A
video_create_quick_cut({
assetIds: [assetId],
target_duration: <mapped_seconds>,
user_prompt: "<mapped style prompt>"
}) // → statusId_A
// Variation B
video_create_quick_cut({
assetIds: [assetId],
target_duration: <mapped_seconds>,
user_prompt: "<mapped style prompt>"
}) // → statusId_B
// Variation C
video_create_quick_cut({
assetIds: [assetId],
target_duration: <mapped_seconds>,
user_prompt: "<mapped style prompt>"
}) // → statusId_C
Step 6 — Poll Until All 3 Complete
Poll all 3 in each round using quickCutPoll(statusId). Show progress % after each round.
Repeat until all 3 return jobStatus: "completed".
Typical pattern: 0% → 7% → 78% → done. Usually 3–5 poll rounds.
Store:
url_A— Variation A presignedAssetUrlurl_B— Variation B presignedAssetUrlurl_C— Variation C presignedAssetUrl
Step 7 — Preview All 3
asset_preview_file({
assets: [
{ name: "Variation 1 — <cut_type> <style>.mp4", presignedAssetUrl: url_A, source: "acp" },
{ name: "Variation 2 — <cut_type> <style>.mp4", presignedAssetUrl: url_B, source: "acp" },
{ name: "Variation 3 — <cut_type> <style>.mp4", presignedAssetUrl: url_C, source: "acp" }
]
})
Step 8 — Deliver Summary + Download Prompt
After preview, present:
✅ 3 variations ready — same length, different moment selection. Pick your favorite!
| Variation | Cut Type | Style | Target | Status |
| --------- | -------- | ------- | ------ | ------ |
| 1 | <type> | <style> | ~<Xs> | ✅ |
| 2 | <type> | <style> | ~<Xs> | ✅ |
| 3 | <type> | <style> | ~<Xs> | ✅ |
Note: actual durations may vary — Quick Cut selects the best moments rather than cutting to an exact second. The prompt vibe (e.g. "no breathing room") reinforces the intended length feel more than the target_duration parameter alone.
Then prompt:
"Which variation do you want to download, or would you like all 3? You can also rerun with a different style or cut type."
The videos are available for download directly from the preview above.
⚠️ Known Gap — Output Cannot Feed Downstream Video Tools
video_create_quick_cut returns a temporary presigned download URL, not a CC-stored asset URN.
Tools like video_resize and media_enhance_speech require a CC asset URN as input.
You cannot chain Quick Cut → Resize or Quick Cut → Enhance Speech directly.
Workaround — if user wants to resize a Quick Cut output:
- Tell the user: "Quick Cut outputs can't be passed directly to the resize tool — you'll need to download your preferred cut first, then re-upload it and I'll resize from there."
- Let them download from the preview.
- Open the picker:
asset_add_file() - Once re-uploaded, run
video_resizeon the freshassetIdwith their target dimensions.
When the user asks to resize or enhance a Quick Cut output, surface the limitation proactively — the chain is known to fail.
What Quick Cut Does NOT Support
- Content-aware cuts based on speech ("remove the parts where they repeat themselves")
- Trimming to specific timestamps ("cut from 0:30 to 1:15")
- Semantic understanding of dialogue
For these, recommend a manual video-editing workflow.
Error Handling
-
video_create_quick_cutreturns 403 (entitlement): Retrying does not help for a 403 entitlement — stop and surface the plan requirement. Respond with:"I was unable to create your quick cut.
Why: Adobe Quick Cut isn't available on your current Adobe plan.
*Options:
- Manually trim the video in another editor.*
Let me know how you'd like to proceed."
-
Any tool call returns 401 (not authenticated): Ask the user to re-authenticate via Adobe OAuth and retry.
-
StoryBuilderNoARoll: The most common error. Means Quick Cut detected no A-roll (talking head / primary camera footage) in the clip — only B-roll. The tool requires at least some dialogue or narration to anchor the story structure. Respond with:"This video appears to be B-roll only — scenery, action, or product shots without anyone speaking to camera. Quick Cut needs some talking-head footage to build a story around. Try uploading a video that includes someone speaking on camera, or a mix of interview + B-roll." Retries repeat the same error regardless of duration/style; no workaround exists.
-
Job fails with any other error on first attempt: Retry once with the same parameters. If it fails again, report and suggest re-uploading the source video.
-
Stuck at same % for 5+ poll rounds: Inform user, suggest re-uploading the source video.
-
User uploads an image by mistake: Detect from
mediaType— if notvideo/*, say so and re-open picker. -
One of the 3 variations fails (but not all): Preview and deliver the successful ones, note the failure clearly. If all 3 fail with
StoryBuilderNoARoll, apply the B-roll error response above.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。