Communitygithub.com

0xsline/openchatcut

OpenChatCutプロジェクトのアセットライブラリにメディアを取得またはインポートする際に使用します。ローカル/接続されたビデオ、ユーザー指定のパス、公開メディアURL、ウェブのビデオ/オーディオ/画像アセット、アップロードのフォールバック判断、そしてimport_media、download_media、手動ユーザー操作のいずれかを決定するためのスキルです。

openchatcut とは?

このスキルは、OpenChatCutエディタのメディアアセットインポートプロセスをガイドします。エディタとメディアサーバーはローカルで動作するため、ホスト型のインポートAPI、CLI、OAuthは存在しません。メディアはエディタUIまたはエージェントツールを通じてプロジェクトに取り込まれ、そのバイトデータの所在に応じて適切なパスが選択されます。主なパスは3つあります。(1) ユーザーのローカルファイル:エディタへのドラッグ&ドロップを促し、自動的にアップロード、トランスコード、音声抽出、文字起こしが行われます。エージェントはユーザーのファイルシステムにアクセスできないため、ローカルパスが提示された場合はエディタへのドロップを依頼します。(2) 公開URL:`download_media`ツールを使用してURLから直接メディアをフェッチし、メディアプールに登録します。(3) 外部ホスト転送:`import_media`を使用してアップロードスロットを作成し、外部スクリプトがそのスロットにアップロードした後、`finalize_uploaded_asset`でアセットを確定します。すべての編集作業はOpenChatCutタイムライン上でオリジナルアセットから行い、インポート前の連結や事前変換は行わないという編集規律が重要です。ストレージはローカルディスク(`/media/uploads/`)が基本で、Cloudflare R2が設定されていればミラーリングによるデバイス間アクセスも可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/0xsline/openchatcut/tree/HEAD/src/agent/skills/asset-import

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

アセットインポート

このビルドはエディターとそのメディアサーバーをローカルで実行します。ホスト型のインポートAPI、CLI、OAuthはありません。メディアはエディターUIまたは以下のエージェントツールを通じてプロジェクトに取り込まれます。バイトデータの所在に基づいてパスを選択してください。

パス1 — ユーザーのローカルファイル(推奨)

ユーザーにエディター(プレビューキャンバスまたは「マイ素材」パネル)にファイルをドラッグ&ドロップするか、アップロードボタンを使用するよう依頼します。その後、ローカルパイプラインが自動的に実行されます。/media/uploads/へのストリーミング書き込み、条件付きトランスコード(長辺≤1920px、ブラウザ互換コーデック、約8Mbps)、音声抽出、自動文字起こし(ASRはアップロード時に開始)です。ユーザーに事前の変換、トリミング、トランスコードを依頼しないでください。パイプラインがそれらを処理します。

エージェントはユーザーのファイルシステムを読み取ることができません。ユーザーが /Users/... や C:\... のパスを指定した場合は、代わりにそのファイルをエディターにドロップするよう伝えてください。エージェントはフェッチできません。

パス2 — 公開URL(エージェント主導)

download_media を単一のURLまたはバッチ配列で使用します。サーバーがフェッチし、/media/uploads/ に保存してプールアセットとして登録します。ユーザーが指定したストック/ウェブメディアにはこちらを推奨します。ダウンロード後、アセットは他のメディアプールアセットと同様に動作します。

パス3 — 外部ホスト転送

import_media を {"action":"create_session", "assetType":..., "filename":..., "contentType":..., "size":...} で呼び出します。これにより、現在のプロジェクト、セッション、アセットID、ベース名、POST、MIMEタイプ、正確なバイト数にバインドされた、短命なアップロードスロットが1つ返されます。ホスト側のスクリプトが、宣言されたヘッダーを使用してその正確なURLにアップロードする場合があります。エージェントサンドボックスはユーザーのlocalhostに到達できないため、run_code からの転送を試みないでください。

アップロード成功のレスポンスは、不透明なレシート、エコーバックされた assetType、アップロードパスを返します。正確な長さ、寸法、fps、音声の有無が必要な場合は、アップロードされたパスをプローブし、その後、レシート、エコーバックされた assetType、測定されたメディアメタデータ、そしてオーディオ/ビデオ/gifの場合は durationInSeconds を指定して finalize_uploaded_asset を呼び出します。サーバーは信頼できるハッシュ、パス、サイズ、ファイル名、アセットIDを解決します。Finalizeはアセットを確定しますが、ASRは開始しません。オーディオ/ビデオアセットをトラックに配置した後、文字起こしが必要な場合は別途 transcribe_track を呼び出します。Finalizeが成功するまで、アセットは存在せず、使用できません。欠落したメディアを置き換える場合は、既存の assetId を import_media に渡します。新しいアセットの場合は省略します。自分で /media/uploads/... を構築したり、アップロードレスポンスの前にバイトが準備できていると主張しないでください。

編集規律

複数ソースの編集では、OpenChatCutタイムライン上の元のソースアセットからレビュー可能な作業を構築します。インポート前にローカルで連結、事前トリミング、事前合成、キャプション書き込み、メディアの平坦化を行わないでください。オリジナルをインポートし、すべての合成をタイムライン上で行うことで、すべてのステップがレビュー可能で元に戻せる状態を保ちます。

手書きのモーショングラフィックスなどのコードアセットについては、create-motion-graphics スキル(新しいアセットには create_motion_graphic_from_code、編集にはアセットコード更新)を使用してください。MGコードはインポートされたファイルではありません。

ストレージに関する注意事項

  • バイトデータはローカルディスク(/media/uploads/)に保存され、Rangeサポート付きで直接提供されます。Cloudflare R2が設定されている場合、アップロードはR2にミラーリングされ、他のデバイスはそこからハイドレートできます。R2がない場合、プロジェクトはローカルのみです。
  • ローカルのみも有効な最終状態です。プレビュー、編集、エクスポートはすべてディスクから読み取ります。クラウドミラーリングはデバイス間アクセスにのみ必要です。

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

0xsline/openchatcut

Connect an MCP-capable coding agent to OpenChatCut and edit local video projects. Use when the user asks to install, connect, or set up OpenChatCut; inspect or edit an OpenChatCut project; work with its timeline, transcript, captions, media, generation, motion graphics, audio, color, or export tools; or recover from an OpenChatCut MCP error.

0xsline/openchatcut

Use when a OpenChatCut video editing or creation workflow needs export, render, download, share, final delivery, subtitle-file export, render choice, local-only asset handling, or export fallback explanation.

0xsline/openchatcut

AI image generation via Fal.ai, gpt-image-2, nano-banana, MiniMax image-01, and xAI Grok Imagine. Use when the user wants to generate or create an image / picture / still.

0xsline/openchatcut

Use when a OpenChatCut tool call fails or returns an unexpected shape.

0xsline/openchatcut

Music generation via Mureka, MiniMax, Atlas Cloud, and Sonilo. Use for instrumentals, songs, soundtracks, track/stem generation, covers, or video-conditioned scoring of the finished cut through `submit_music`.

0xsline/openchatcut

OpenChatCut product knowledge — UI layout, editor features, and how generation providers are configured. Use when the user asks about the product interface, how to use a feature, where to find something, or needs GUI guidance for something the agent cannot do directly. Also use as fallback when a task fails and the user needs to complete it manually in the UI. NOT for live project-state queries ("where are my folders?", "what's on my timeline?", "where is clip X?") — those are answered by `read_project`, not by this skill.

0xsline/openchatcut

AI shader generator for WebGL video effects, transitions, masks, and color grading (LUT / 调色 / 电影感 / film look). Use when the user wants a video effect (滤镜 / 特效), a transition (转场 / crossfade / wipe / cube / 3d), a mask (蒙版 / 遮罩 / reveal), a zoom / push-in (推近 / 推镜头), or a color grade — try the built-in effects (zoom, builtin LUTs) before generating a new shader.

0xsline/openchatcut

Use when checking whether agent edits are reflected in the OpenChatCut project and editor.

0xsline/openchatcut

AI video generation via Fal.ai, Seedance 2.0, Kling, MiniMax Hailuo, xAI Grok Imagine, and OFox. Use when the user wants to generate a video clip — text-to-video, image-to-video, first/last-frame transitions, reference-guided generation, multi-shot, or generatively editing / extending an existing clip.

0xsline/openchatcut

Text-to-Speech (TTS), voiceover, narration placement/sync, and custom sound effects (SFX) generator. Use when the user wants generated speech from text, wants to add/replace/align narration or voiceover for an existing video/timeline, wants to keep existing voiceover synced after visual retiming edits, needs voice audition/selection, or explicitly wants a newly generated/custom sound effect that is not available in the Sound Effects library.

0xsline/openchatcut

Use when the agent should ask the user for structured input with an in-chat form, including single-select, multi-select, text fields, style pickers, or voice audition choices.

関連スキル