mcpField
O
opusclip

opusclip

github.com/opus-proクリエイティブ・メディア24141 回インストール2 週間前に更新
リポジトリ

opusclip について

opusclipは、OpusClip APIに長尺動画を送信し、生成されたクリップを管理するコマンドラインスキルです。作成、プレビュー、書き出し、編集、プロジェクト整理に対応します。

主な機能

  1. 01動画URLまたはローカルファイルからクリップ作成
  2. 02長さ、アスペクト比、モデルの指定
  3. 03クリップと動画の文字起こしを確認
  4. 04HDクリップの書き出しとコレクション管理
  5. 05名前付き操作によるクリップ編集

活用シーン

  1. 01長尺動画を短いクリップに変換
  2. 02クリップのプレビューとスコアを確認
  3. 03選択したクリップのHD版をダウンロード
  4. 04クリップをエクスポート可能なコレクションに整理

MCP 対応

READMEによると、コマンドラインのクリップ編集操作はOpusClip MCPのedit_clipツールと同じ実装および操作語彙を使用します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/opus-pro/opus-skills --skill opusclip

インストール後、Claude Code で/opusclipを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

openclaw.plugin.json
.claude-plugin/
plugin.json
.codex-plugin/
plugin.json
references/
api-reference.md
editing-script.md
scripts/
opusclip
skills/copy-video-style/references/
editing-elements.md
native-production.md
reference-analysis.md
skills/copy-video-style/scripts/
telemetry.mjs
skills/opusclip-media-generation/references/
billing.md
music.md
speech.md
video.md
templates/
preview.html

詳細

OpusClip

OpusClip API を使って、長尺動画から短いクリップを作成します。ユーザーの映像を参考にしてローカルで編集する場合は、利用可能であれば別の copy-video-style スキルを使用してください。

ベータ版 — 機能と料金は変更される場合があります。API の料金はウェブ版の料金と異なる可能性があります。

前提条件

  • OPUSCLIP_API_KEY を設定する必要があります。ユーザーがすでに Enterprise、Pro、または Max プランを利用している場合は、https://clip.opus.pro/dashboard からキーをコピーできます。それ以外の場合は、料金ページを案内してください。API の利用には Enterprise、Pro、または Max が必要です。
  • scripts/opusclip の CLI には Node.js(>=18)が必要です。バンドルされた JS ファイルです

CLI クイックリファレンス

バンドルされた CLI を scripts/opusclip から実行します。コマンドは リソース + 動詞 のツリー(opusclip <resource> <verb>)に従い、すべてのコマンドは JSON を出力します。

opusclip project create --url URL [options]   Submit video for clipping
opusclip project create --file PATH [options] Upload local video + create project
opusclip project list [--page N]              List the org's clip projects (most recent first)
opusclip project share --project ID           Share project publicly
opusclip project transcript --project ID      Get the source-video transcript (paragraphs + word timing in ms)
opusclip project preview --project ID [--output PATH]  Generate HTML preview and open in browser
opusclip clip list --project ID               List a project's clips (preview URLs; HD via clip export)
opusclip clip get --project ID --clip CID     Get clip details (transcript, layout info)
opusclip clip export --project ID --clip CID  Get the HD download URL for one clip (ready|rendering|unavailable)
opusclip clip edit <verb> [flags]             Server-side clip edits (charged, re-renders the clip) (beta — pricing may change)
  ops             Named edit operations, applied in order, one re-render (beta — pricing may change)
  get             Fetch EditingScript JSON for round-trip edits (escape hatch) (beta — pricing may change)
  apply           Submit an edited EditingScript directly (escape hatch) (beta — pricing may change)
  censor          Profanity censor (dictionary-based; --beep adds sound effect) (beta — pricing may change)
opusclip clip duplicate --project ID --clip CID   Duplicate a clip into a "(Copy)" (free, server-side)
opusclip clip trim --project ID --clip CID --start S --end E   Local ffmpeg trim (no API call, no captions)
opusclip clip storyboard --project ID --clip CID   Generate 2x2 frame preview (requires ffmpeg)
opusclip collection <verb> [options]          Manage collections (list, clips, create, export, add-clip)
opusclip post <verb> [options]                Social posting (create, schedule, cancel)
  list            List scheduled/published posts (--project, or an --from/--to window)
  account list    List connected social accounts
  copy create     Generate AI-optimized post copy
  copy get        Poll for generated copy result
  schedule        Schedule a post for future publishing (beta — pricing may change)
opusclip thumbnail create --url URL [options] Generate YouTube thumbnails (experimental; credit-charged per call)
opusclip template list                        List brand templates
opusclip usage                                Show the org's API cap usage (monthly + concurrent, or uncapped)

従来の動詞のみのエイリアス(submit、create-project、upload、list、get-clips、list-projects、describe、templates、transcript、share、share-project、collections、edit-clip、trim、storyboard、preview、post publish|accounts|generate-copy|copy-status)も引き続き使用できますが、以下のリソース + 動詞形式が標準です。

project create

著作権に関する注意

opusclip project create を呼び出す直前に、次の文を通常の通知としてユーザーに伝えてください(AskUserQuestion ではなく、はい/いいえで回答を求めるものでもありません)。

自分が所有していない動画を使用すると、著作権法に違反するおそれがあります。続行することで、これはご自身のオリジナルコンテンツであることを確認したものとします。

これは、OpusClip のウェブアプリが送信パネルに表示するインラインの免責事項と同じ内容です。project create のたびに原文のまま表示してください。確認を求めて処理を止めないでください。

opusclip project create --url "https://youtube.com/watch?v=..." --durations "30,60,90" [more options]
フラグ説明
--url--file を指定しない場合は必須。動画 URL
--fileURL の代わりにローカル動画をアップロードします(GCS アップロードの全 4 ステップを自動的に処理します。その他のフラグは同じです)
--durations目標とするクリップの長さ(秒)。例:"30,60,90"。省略可能です。省略すると OpusClip が選択します。クリップ作成の実行にのみ適用されます(--skip-slicing / --skip-curate とは併用できません)。
--modelClipBasic(トークヘッド)または ClipAnything(多様な内容)
--promptカスタムのクリップ作成プロンプト(ClipAnything のみ)
--keywordsカンマ区切りのトピックキーワード(ClipBasic のみ)
--aspectportrait(デフォルト)、landscape、square
--range-start / --range-end一部分のみをクリップします(秒)
--templateブランドテンプレート ID
--genre動画のジャンルに関するヒント
--lang元の言語コード
--target-langレンダリングしたクリップをこの言語コードに翻訳します(翻訳テキスト/字幕)。吹き替え音声には代わりに --dubbing-language を使用してください。この 2 つは併用できません
--dubbing-language動画の音声をこの言語コードに吹き替えます(右から左に記述する言語はサポートされていません)。動画吹き替えのクイックスタートを送信します。クリップ化せず、動画全体を吹き替え音声付きで処理します。クリップ化オプションやレンダリングオプションとは併用できません。送信料金に加えて、吹き替えクレジット(元動画 1 分あたり 10 クレジット)が課金されます。送信前にユーザーに伝えてください
--skip-slicing動画全体をクリップに分割せず、そのまま使用します(動画全体をインポート/リフレーム/字幕付けします)
--enable-auto-hook各クリップの冒頭に AI 生成のフックを追加します。クリップ作成の実行のみで使用できます。--skip-slicing / --skip-curate とは併用できません
--enable-captionレンダリングしたクリップに字幕を焼き込みます。省略すると、ブランドテンプレート/組織のデフォルト設定を引き継ぎます
--title動画タイトルのメタデータ
--webhook完了通知用の Webhook URL
--skip-curateAI によるキュレーションを行わずに元の動画を処理します
--remove-fillerフィラー語を削除します

併用できないオプションの組み合わせは、わかりやすいエラーとともに実行前に拒否されます(例:--enable-auto-hook と --skip-slicing、または --dubbing-language と --target-lang)。エラーをユーザーに伝え、やみくもに再試行せず、どちらを希望するか尋ねてください。

clip list
opusclip clip list --project PROJECT_ID
FlagDescription
--project(必須)クリップを取得するプロジェクト ID
--summary非推奨の no-op(後方互換性のために維持)— スコア付き/人間が読みやすいフィールドは常に含まれるようになりました

コレクション内のクリップを一覧表示するには、collection clips --id COLLECTION_ID を使用します。

クリップには、デフォルトで人間が読みやすいフィールド(タイトル、説明、ハッシュタグ、スコア)が含まれています。クリップ ID だけでなく、タイトルと説明を表示してください。

出力には、project_id と clip_id が別々のフィールドとして含まれます。--clip フラグには、複合 ID ではなく clip_id(例:0RiWBs5xuF)を使用してください。

clip list が返すのは preview_url(視聴可能な低解像度の成果物)とサムネイルであり、HD ダウンロード URL ではありません。クリップの HD ファイルをダウンロードするには、clip export(1 つのクリップ)または collection export(コレクション全体)を使用します。

clip export

単一のクリップの HD ダウンロード URL を取得します。これは明示的なエクスポート手順です。HD リンクがエクスポートをクリックした後にのみ表示されるウェブアプリと同様に、clip list/clip get で取得できるのはプレビューのみです。

opusclip clip export --project PROJECT_ID --clip CLIP_ID
FlagDescription
--project(必須)プロジェクト ID
--clip(必須)クリップ ID

{project_id, clip_id, status, export_url?} を返します。

  • status: "ready" — export_url は HD mp4 です。ダウンロードしてください。
  • status: "rendering" — HD のレンダリングが進行中です。状態を確認するには、clip export を再度呼び出してください(個別のポーリングコマンドはありません)。
  • status: "unavailable" — HD の成果物がなく、レンダリングも進行していません。これは最終的な応答です(繰り返し実行しないでください)。たとえば、プレビューのみのプランの場合です。

複数のクリップをまとめて処理するには、コレクションに追加して collection export を使用します。

project list

呼び出し元の組織のクリッププロジェクトを、新しいものから順に一覧表示します。ユーザーから project_id が指定されていない場合に、これを使って確認してください。

opusclip project list
opusclip project list --page 1 --page-size 50
FlagDescription
--pageページ番号。0 始まり(デフォルト:0)
--page-size1 ページあたりの項目数。1~100(デフォルト:20)

各行には、project_id、title、source_type、source_video_id、stage、created_at、updated_at、is_deleted が含まれます。

project transcript

プロジェクトのソース動画の文字起こしを取得します。段落と、単語単位のタイミング(ミリ秒単位)が含まれます。

opusclip project transcript --project PROJECT_ID
FlagDescription
--project文字起こしを取得するプロジェクト ID

{ project_id, paragraphs: [{ paragraph_id, start_ms, end_ms, text, words: [{ word, start_ms, end_ms }] }] } を返します。プロジェクトの文字起こしがまだない場合(処理中の場合)、paragraphs は省略されます。

project preview

すべてのクリップの動画プレーヤーを含む HTML プレビューを生成し、ブラウザーで開きます。

opusclip project preview --project PROJECT_ID
opusclip project preview --project PROJECT_ID --output /path/to/output.html
FlagDescription
--projectプロジェクト ID
--outputカスタム出力パス(デフォルト:/tmp/opusclip-preview-{id}.html)

プレビューページには、スコア順に並べたクリップと、インライン動画プレーヤー、タイトル、説明、ハッシュタグ、詳細な AI スコア(フック、一貫性、関連性、トレンド)が表示されます。ユーザーがクリップの視聴やプレビューを希望する場合は、必ずこれを使用してください。

project share
opusclip project share --project PROJECT_ID
FlagDescription
--project(必須)プロジェクト ID
collection
opusclip collection list
opusclip collection clips --id COL_ID
opusclip collection create --name "NAME"
opusclip collection export --id ID
opusclip collection add-clip --id COL_ID --content-id PROJECT_ID.CLIP_ID

コレクションを削除したり、クリップを削除したりする破壊的または複雑な操作は、意図的にウェブ専用となっています。CLI で利用できるのは、基本的で安全な操作のみです。コレクションはエクスポート(ダウンロードリンクの取得)できますが、一般公開で共有することはできません。クリップを一般公開で共有するには、代わりにプロジェクトに対して project share --project を使用してください。

clip edit

ベータ — 機能や価格は変更される場合があります。API の価格はウェブ版の価格と異なる場合があります。

ワークフローに関するガイダンス

1 回のセッションで、1 つのクリップに対して clip edit を 3 回より多く実行する前に、ユーザーに確認してください。ウェブ版の UX と異なる料金が発生する可能性があります。

ユーザーの確認なしに、clip edit または post schedule をループで実行しないでください。 既存のクリップをサーバー側で編集します。get以外の各サブ動詞はクリップを再レンダリングします(課金対象です。ベータ版の上限が適用されます)。

クリップを編集する方法はopsです。 クリップのEditingScriptに名前付き操作を適用して結果を送信します。呼び出しは1回、再レンダリングも1回で、操作はいくつでも指定できます。これはOpusClip MCPのedit_clipツールが公開しているものと同じ操作語彙で、同じ実装を実行します。そのため、2つのインターフェースの動作が食い違うことはありません。

opusclip clip edit ops --project PID --clip CID --op NAME[:k=v,k=v] [--op ...] [--dry-run]

操作は指定した順序で適用されます。--dry-runを指定すると、送信も再レンダリングも行わずにローカルで操作を適用し、変更内容を報告します。レンダリングを実行する前に操作を確認するために使用してください。--opを一切指定せずに--dry-runを実行すると、機能を確認できます。クリップが持つトラック(KeyFrameTrack、CaptionTrack、EmojiTrack、TextOverlayTrackなど)が一覧表示されるため、操作を試して拒否される前に、編集可能な項目を確認できます。

操作パラメーター動作
trim_sectionsectionIndex、keepFromSec、keepToSec1つのセクションを短くします。秒数はクリップではなく、そのセクションの開始時点から計測されます。keepToSecだけを指定すると、「このセクションをN秒にする」という指定になります。
split_sectionatClipSec指定した時点を含むセクションを2つに分割します。プレビューと同様に、秒数はクリップ全体の開始時点から計測されます。セクションのインデックスは不要です。
drop_sectionsectionIndexセクションを完全に削除します。
reorder_sectionsorder=0,2,1セクションの順序を変更します。現在の0始まりのインデックスすべてを含む完全な並べ替えを指定する必要があります。
delete_phrasephrase、occurrence話し言葉のフレーズを、画面上のテキストだけでなく、動画と字幕の両方から削除します。照合では、大文字と小文字、句読点、余分な空白は無視されます。フレーズが複数回登場する場合は、occurrence(1始まり)またはoccurrence=allを指定します。
replace_phrasephrase、replacement、occurrence誤字や聞き間違えた単語など、字幕のテキストを修正します。動画やタイミングには手を加えません。クリップの長さはミリ秒単位まで変わりません。話された各単語がそれぞれのタイミングを維持するため、replacementの単語数はphraseと同じである必要があります(prooduct → productは可能ですが、you know → obviouslyは拒否されます)。照合とoccurrenceのルールはdelete_phraseと同じです。
set_stylecaptionColor、highlightColor、captionPosition、uppercase字幕の外観を変更します。これらはスクリプトの編集ではなくスタイル設定です。EditingScriptには字幕の色が含まれていないため、字幕の色を変更する唯一の方法です。1つのset_styleで複数のフィールドを指定しても、変更は1件として扱われます。
add_text_overlaytext、atClipSec、durationSec、positionタイトルカード、ローワーサード、アウトロのテキストを動画に重ねて表示します。クリップの長さは変わりません。durationSecの既定値は5で、クリップの終了時点を超えないように調整されます。positionにはtop(既定値)、middle、bottomを指定します。自動フックと同じカードとしてレンダリングされ、白い角丸ボックスに太字の黒いテキストが表示されます。
set_text_overlayoverlayIndex、text、position既存のオーバーレイを編集します。textまたはpositionのいずれかを少なくとも1つ指定してください。
remove_text_overlayoverlayIndexオーバーレイを1つ削除します。プロジェクトの自動フックも通常のオーバーレイとして扱われるため、これを使ってフックを削除することもできます。
remove_emojiatClipSec指定した時点に表示されている絵文字を削除します。絵文字はインデックスではなく時間で指定します。その時点で画面に絵文字が表示されていない場合は、絵文字が表示されている時刻がエラーに一覧表示されます。MCPのset_emojiによる切り替えとは異なり、ほかの絵文字はそのまま残ります。
move_emojiatClipSec、position指定した絵文字をtop/middle/bottomの領域に移動します。
セクションとは、クリップを切り分けた各部分のことで、0 から始まる sectionIndex で指定します。タイムライン操作はすべて、結果のセクションを index / start_sec / end_sec として返すため、クリップを再読み込みせずに次の操作を指定できます。オーバーレイも同様に、0 から始まる overlayIndex を時間順に割り当てます。すべてのオーバーレイ操作は、それぞれのテキストと表示時間を含む全リストを返します。

カンマを含む値は引用符で囲む必要があります。囲まないとパラメーターが分割され、値が途中で切れてしまいます:--op 'delete_phrase:phrase="um, you know"'。

色は #RRGGBB 形式です。captionColor は通常のキャプションテキストの色、highlightColor は強調表示された単語のアクセントカラーです(OpusClip のデフォルトは明るい緑 #04f827)。captionPosition は top、middle、bottom のいずれかです。uppercase は true または false です。

highlightColor を設定しても、ハイライト表示は有効になりません。

キーワードのハイライト表示を切り替える操作(set_keyword_highlight)は、MCP の edit_clip ツールでは利用できますが、この CLI ではまだ利用できません。クリップでハイライト表示がオフの場合、色を変更しても見た目に反映されません。同様に、set_captions、set_emoji、remove_filler_words、remove_pauses も、現時点では MCP でのみ利用できます。

# make the first section 8 seconds long, then drop the third
opusclip clip edit ops --project PID --clip CID \
  --op trim_section:sectionIndex=0,keepToSec=8 \
  --op drop_section:sectionIndex=2

# cut a phrase, and put white uppercase captions at the top
opusclip clip edit ops --project PID --clip CID \
  --op 'delete_phrase:phrase=you know what I mean' \
  --op 'set_style:captionColor=#FFFFFF,uppercase=true,captionPosition=top'

# fix a typo in the captions -- the video and its timing are untouched
opusclip clip edit ops --project PID --clip CID \
  --op 'replace_phrase:phrase=prooduct,replacement=product'

# add a title card for the first 3 seconds, then take the auto-hook off
opusclip clip edit ops --project PID --clip CID \
  --op 'add_text_overlay:text=Welcome,atClipSec=0,durationSec=3,position=bottom' \
  --op remove_text_overlay:overlayIndex=0

# move the emoji that pops up at 0:21 out of the way
opusclip clip edit ops --project PID --clip CID --op 'move_emoji:atClipSec=21,position=top'

# check what an op would do, render nothing
opusclip clip edit ops --project PID --clip CID --op drop_section:sectionIndex=1 --dry-run

# what can I edit on this clip? (lists its tracks, changes nothing)
opusclip clip edit ops --project PID --clip CID --dry-run
エスケープハッチ:get / apply / censor
opusclip clip edit get             --project PID --clip CID [--output FILE]
opusclip clip edit apply           --project PID --clip CID --script FILE
opusclip clip edit censor          --project PID --clip CID [--beep]

ops で対応できない編集の場合は、EditingScript を取得して編集し、再度送信してください。変更パスとレシピについては references/editing-script.md を参照してください。該当する場合は常に ops を優先してください。約 1400 行のスクリプトを手動編集した結果、構造が壊れたスクリプトが出荷・レンダリングされ、そのまま 2 週間問題なく動作してしまったことがあります。censor は辞書ベースの不適切な表現の処理で、引き続き便利な動詞として使えます。

caption-fix、caption-replace、サーバー側の trim サブ動詞は、現在 ops があるため削除されました。これらは CLI で EditingScript を独自に生成していたため、エンジンとのずれが生じていました。(opusclip clip trim は、プレビュー mp4 を対象とした、無料ですぐ使えるキャプションなしの ffmpeg カットとして引き続き利用できます。)

ops / apply / censor は {job_id} を返します(何も送信しない --dry-run では返されません)。opusclip clip get --project PID --clip CID でステータスを確認してください。再レンダリング中は render_pending が true になり、完了後は項目が存在しないか false になります。完了したら、opusclip clip export --project PID --clip CID で HD mp4 を取得してください。

clip get

クリップに関する構造化情報を取得します。動画を視聴せずにクリップの内容を把握する際に使用します。

opusclip clip get --project PROJECT_ID --clip CLIP_ID
opusclip clip get --transcript --project PROJECT_ID --clip CLIP_ID
opusclip clip get --layout --project PROJECT_ID --clip CLIP_ID
フラグ説明
--project(必須)プロジェクト ID
--clip(必須)クリップ ID
--transcriptトランスクリプトテキストのみを表示します
--layoutレイアウト/フレーミング情報のみを表示します

--transcript または --layout を指定しない場合、デフォルトの出力には、コンテンツフィールド(title、description、transcript、hashtags、keywords、score、duration_sec、aspect)、preview_url(視聴可能な低解像度の生成物)、render_pending(再レンダリング中は true、完了後は項目が存在しないか false)が含まれます。これらの情報を再レンダリングのポーリングに使用します。HD ダウンロード URL はここにはありません。取得するには clip export を使用してください。音声テキストのみが必要な場合は --transcript を使用します。レイアウトの変更を提案する前に現在のフレーミングを確認するには --layout を使用します。

再レンダリングのポーリング(clip edit のサブ動詞を実行した後):

while :; do
  opusclip clip get --project P --clip C \
    | jq -e '.render_pending != true' >/dev/null && break
  sleep 10
done
clip storyboard

クリップのプレビュー動画から 2x2 のフレームグリッド画像を生成します。ffmpeg が必要です。

opusclip clip storyboard --project PROJECT_ID --clip CLIP_ID
opusclip clip storyboard --project PROJECT_ID --clip CLIP_ID --output /path/to/output.jpg
フラグ説明
--project(必須)プロジェクト ID
--clip(必須)クリップ ID
--output出力先のカスタムパス(デフォルト:/tmp/opusclip-storyboard-{clipId}.jpg)

macOS/Linux では画像が自動的に開きます。クリップの内容を手早く目視確認する際に使用します。

clip trim

クリップのプレビュー動画をローカルでトリミングします。ffmpeg が必要です。

opusclip clip trim --project PROJECT_ID --clip CLIP_ID --start 3 --end 50
opusclip clip trim --project PROJECT_ID --clip CLIP_ID --start 3 --end 50 --output trimmed.mp4
フラグ説明
--project(必須)プロジェクト ID
--clip(必須)クリップ ID
--start(必須)開始時刻(秒)
--end(必須)終了時刻(秒)
--output出力先のカスタムパス(デフォルト:/tmp/opusclip-trimmed-{clipId}.mp4)
clip duplicate

プロジェクト内でクリップを複製します。<title> (Copy) というタイトルの独立したコピーを作成します。元のクリップに影響を与えることなく編集やエクスポートができます。サーバーはレンダリング済みのクリップをディープコピーするため、コピーはすぐに使用できます。

料金: 無料 — クレジットは消費されません(レンダリング済みクリップのサーバー側コピーであり、再レンダリングは行いません)。

opusclip clip duplicate --project PROJECT_ID --clip CLIP_ID
フラグ説明
--project(必須)プロジェクト ID
--clip(必須)クリップ ID

新しいクリップは、clip list と同じ形式(同じ JSON フィールド)で返されるため、そのまま clip edit や post create に渡せます。冪等ではありません。呼び出すたびに別のコピーが作成されます。

post

ベータ版 — 機能と料金は変更される場合があります。API の料金はウェブ版の料金と異なる場合があります。 post create と post schedule に適用されます。

ワークフローに関するガイダンス

1 回のセッションで 5 件を超える投稿をスケジュールする前に、ユーザーに確認してください。スケジュールした投稿には、投稿ごとの料金が発生する場合があります。

各回でユーザーの確認を得ずに、clip edit や post schedule をループ内で実行しないでください。

ソーシャル投稿を管理し、クリップを YouTube、TikTok、Facebook、Instagram、LinkedIn、X に公開します。

opusclip post account list
opusclip post copy create --project PID --clip CID --account AID [--prompt "tone"]
opusclip post copy get --job JOB_ID
opusclip post create --project PID --clip CID --account AID --title "Title" [--description "..."] [--privacy public]
opusclip post schedule --project PID --clip CID --account AID --title "Title" --at 2026-03-25T14:00:00Z
opusclip post cancel --schedule SCHEDULE_ID
サブコマンド説明
account list接続済みのソーシャルアカウントを一覧表示します
copy createクリップ用に AI で最適化された投稿文を生成します
copy get生成された投稿文の結果をポーリングします
createクリップをすぐに公開します
scheduleクリップの公開を予約します(ベータ版 — 料金は変更される場合があります)
cancel予約済みの投稿をキャンセルします

対応プラットフォーム:YouTube、TikTok Business、Facebook Page、Instagram Business、LinkedIn、X(Twitter)。「Twitter」は X を指します。プラットフォーム識別子は TWITTER です。X の投稿 1 件につき 1 クレジットがかかります。

ユーザーが投稿タイトルを指定しない場合は、clip list の出力にあるクリップのタイトルを使用してください。

thumbnail create

実験的機能 — 機能と料金は変更される場合があります。1 日あたりの上限が適用されます。実験的な提供期間中、エンドポイントが一時的に無効になる場合があります。

ソース動画から AI でデザインした YouTube サムネイルを生成します。完了すると、結果は自動的にダウンロードされます。

料金: Pro/Enterprise の呼び出しでは、すべての呼び出しでクレジットが消費されます。API には無料枠がありません(無料枠はウェブ版のみです)。呼び出しごとに一定数のクレジットがかかります(現在は 7 クレジット)。Free/Starter の呼び出しでは QuotaExceedErr が返されます。

opusclip thumbnail create --url "https://youtube.com/watch?v=..."
opusclip thumbnail create --url URL --reference ./face.png --prompt "bold red text 'EPIC'" --output ./thumbs/
フラグ説明
--url(必須)ソース動画の URL。project create と同じソース(sourceUri)を使用します。
--reference参照用の任意のローカル画像(顔、ブランド素材)。usecase: FreeToolMedia を指定して /upload-links 経由でアップロードします。
--maskマスクとして使用する任意のローカル画像。同じアップロード手順を使用します。
--promptデザイン(スタイル、文言)を指定する任意のテキストプロンプト。
--outputダウンロードした PNG の出力ディレクトリ(デフォルト:/tmp/opusclip-thumbnails-{jobId}/)。

このコマンドは jobType: thumbnail を指定して /generative-jobs に POST し、5 秒ごとに GET /generative-jobs/{jobId} をポーリングします。その後、各 result.generatedThumbnailUris[] を出力ディレクトリにダウンロードします(macOS では自動的に開きます)。

エラーコード:

  • 403 — Pro/Enterprise ではない場合、またはアカウントでサムネイルの jobType が公開されていない場合。
  • 429 — 1 日あたりの上限または 30 req/min のレート制限に達した場合(Retry-After が含まれることがあります)。
  • 503 — エンドポイントが一時的に無効になっている場合(キルスイッチ)。後でもう一度お試しください。

このエンドポイントはキルスイッチ(pro_api_generative_jobs_enabled)によって制御されています。503 は機能が一時停止していることを示しており、呼び出しに問題があるわけではありません。

template list
opusclip template list

ブランドテンプレートを一覧表示します。テンプレートの ID は project create --template で指定します。

usage

呼び出し元の組織の API 上限使用量を表示します。「月間 API 上限をどれくらい使用したか/上限までどれくらいか」に答えます。フラグは不要です。GET /api/api-usage?q=mine を読み込みます。

opusclip usage

出力形式は 2 種類です。

  • 上限あり: { uncapped: false, monthly: { used, limit, remaining, reset_at }, concurrent: { used, limit } }。monthly の数値は、すべての API レスポンスに記載される X-RateLimit-Limit/X-RateLimit-Remaining(reset_at は X-RateLimit-Reset の ISO 形式)と同じです。そのため、実際に適用される値と食い違うことはありません。concurrent は、処理中のプロジェクト数と同時実行上限を示します。
  • 上限なし: { uncapped: true } — ワークスペースに API 上限がありません(一部の Enterprise プラン)。報告する数値はありません。

一般的なワークフロー

YouTube 動画をクリップする
opusclip project create --url "https://youtube.com/watch?v=VIDEO_ID" --durations "30,60,90"
# Wait for processing, then:
opusclip clip list --project PROJECT_ID
# Preview clips in browser:
opusclip project preview --project PROJECT_ID

実際には --durations が必須です。curationPref.clipDurations がないペイロードは API に拒否されます。生成するクリップの長さを指定してください(各値が [0, N] のバケットになります)。

カスタムプロンプトで ClipAnything を使用する
opusclip project create \
  --url "https://youtube.com/watch?v=VIDEO_ID" \
  --model ClipAnything \
  --prompt "Find the most emotional moments" \
  --durations "30,60,90"
ローカル動画をアップロードして、クリップし、整理する
opusclip project create --file video.mp4 --title "Interview" --model ClipBasic
opusclip clip list --project PROJECT_ID
opusclip collection create --name "Best Clips"
opusclip collection add-clip --id COL_ID --content-id PROJECT_ID.CLIP_ID
opusclip collection export --id COL_ID
クリップを作成、キュレーションして共有する
opusclip project create --url "https://youtube.com/watch?v=..." --durations "30,60,90"
opusclip clip list --project PROJECT_ID

# Understand clip content
opusclip clip get --transcript --project PROJECT_ID --clip CLIP_ID

# Visual review
opusclip clip storyboard --project PROJECT_ID --clip CLIP_ID

# Share
opusclip project share --project PROJECT_ID
クリップを作成し、投稿文を生成して、ソーシャルメディアに投稿する
# 1. Submit and get clips
opusclip project create --url "https://youtube.com/watch?v=..." --durations "30,60,90"
opusclip clip list --project PROJECT_ID

# 2. See where you can post
opusclip post account list

# 3. Generate platform-optimized copy
opusclip post copy create --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --prompt "witty and engaging"
opusclip post copy get --job JOB_ID

# 4a. Publish immediately
opusclip post create --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --title "Check this out!"

# 4b. Or schedule for later
opusclip post schedule --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --title "Check this out!" --at 2026-03-25T14:00:00Z

# Cancel if needed
opusclip post cancel --schedule SCHEDULE_ID
クリップを編集してから投稿する
# Server-side edit (censor / apply)
opusclip clip edit censor --project PROJECT_ID --clip CLIP_ID --beep

# Wait for the re-render
while :; do
  opusclip clip get --project PROJECT_ID --clip CLIP_ID \
    | jq -e '.render_pending != true' >/dev/null && break
  sleep 10
done

# Post the edited clip
opusclip post create --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --title "..."

制約

  • レート制限:30 req/min
  • 動画の最大サイズ:10 hours、30 GB
  • 同時実行の最大数:50 projects
  • プロジェクトの有効期限:30 days
  • 1 クレジット = 動画 1 分
  • サムネイル API:呼び出しごとにクレジットを消費します(Pro/Enterprise のみ。現在は 7 クレジット)。実験的な機能のため、予告なく無効になる場合があります(503)

API リファレンス

エンドポイントのスキーマ、パラメーター、レスポンス形式の詳細については、references/api-reference.md を参照してください。

コメント