MCPcopy
hub / github.com/RanFeng/clipsketch-ai

github.com/RanFeng/clipsketch-ai @0.0.1 sqlite

repository ↗ · DeepWiki ↗ · release 0.0.1 ↗
211 symbols 388 edges 26 files 11 documented · 5%
README

ClipSketch AI

ClipSketch AI Logo

動画の瞬間を手描きの物語へ
Turn Video Moments into Hand-Drawn Stories

React TypeScript Tailwind CSS Gemini API

English | 中文 | 日本語 | 한국어

[機能] • [クイックスタート] • [ユーザーガイド] • [技術スタック]

📖 プロジェクト紹介

ClipSketch AI は、動画クリエイター、ソーシャルメディア運用者、二次創作愛好家のために設計された全工程対応の生産性向上ツールです。

単なる動画プレーヤーではなく、AI駆動のコンテンツ制作ワークベンチです。BilibiliやXiaohongshu(小紅書)の動画リンクを解析し、フレーム単位で正確にハイライトシーンをタグ付けできます。Google Geminiの最新マルチモーダルモデルを統合し、これらの瞬間をワンクリックで美しい手描き風ストーリーボードに変換し、ソーシャルメディアに適したバズるキャプションを自動生成します。

🖥️ 画面プレビュー

画面プレビュー

✨ 主な機能

ワークフロー

🎥 強力な動画キャプチャ

  • マルチソースインポート: Bilibili および Xiaohongshu の共有リンク解析に対応(短縮リンクやテキスト混在も可)。
  • HD再生: 縦型動画(9:16)およびワイドスクリーン動画向けに最適化されたアダプティブレイアウト。
  • 精密操作: キーボードショートカット対応(スペースで再生/一時停止、矢印キーでコマ送り/スマートステップ調整)。

🏷️ フレームタグ付けシステム

  • ミリ秒単位の記録: すべての決定的な瞬間を正確に捉えます。
  • ショートカット打刻: T キーを押すだけで素早くタグ付け。
  • データエクスポート: タイムラインタグをTXT形式でエクスポート、またはタグ付けされたフレームをZIP画像パックとしてエクスポート可能。

🎨 AIアートスタジオ (Powered by Gemini)

  • スマートドローイング: gemini-3-pro-image-preview モデルを使用し、複数のタグ付けフレームを一貫した可愛い手描き風ストーリーボードに統合。
  • ソーシャルコピー生成: 視覚的内容に基づき、gemini-3-pro-preview を使用して 3つの異なるスタイル の投稿文を自動生成(エモーショナルストーリー型、実用チュートリアル型、インパクト型)。
  • キャラクター統合: カスタムキャラクター/アバターをアップロードすると、AIが自動的にシーンに融合させます。
  • カバー画像生成: 選定したキャプションと元の映像に基づいて、高品質な縦型動画カバーを生成。
  • 一括リファイン: 分割パネルの一括生成と最適化をサポート(コスト削減のためのBatch API設定が可能)。

📱 マルチプラットフォーム対応

  • レスポンシブデザイン: PCワイドスクリーン、iPadタブレット、スマホの縦画面操作に完全対応。
  • モバイル最適化: スマホでは自動的に上下レイアウトに切り替わり、操作性が向上。

🚀 クイックスタート

前提条件

インストールと実行

  1. リポジトリのクローン bash git clone https://github.com/RanFeng/clipsketch-ai.git cd clipsketch-ai

  2. 依存関係のインストール bash npm install

  3. 環境変数の設定 ルートディレクトリに .env.local ファイルを作成し、APIキーを入力します: env GEMINI_API_KEY=your_api_key_here

  4. 開発サーバーの起動 bash npm run dev

  5. アプリへのアクセス ブラウザで http://localhost:3000 を開きます。

Docker デプロイ

docker run -d --restart=always --name clipsketch-ai -p 3000:3000 earisty/clipsketch-ai:latest

📚 ユーザーガイド

  1. 動画のインポート:
    • Bilibili または Xiaohongshu の共有リンクをコピーします。
    • ホーム画面の入力ボックスに貼り付け、「動画をインポート」をクリックします。
  2. 素材のタグ付け:
    • スペース で再生制御、 / で進行調整。
    • 素晴らしいシーンを見つけたら、Tag ボタンをクリックするか T キーを押します。
  3. AIスタジオへ:
    • タグ付け完了後、右側リスト下部の 「次へ:AI 作画」 をクリックします。
  4. コンテンツ制作:
    • 右上に Gemini API Key を貼り付けます(環境変数未設定の場合)。
    • クリエイティブ分析: AIが動画のステップを分析。
    • 画面生成: 手描きストーリーボードを生成、カスタムキャラクターの融合も可能。
    • パネル精修: 各コマを高解像度で再描画(一括モード対応)。
    • コピー&カバー: ソーシャルメディア用コピーと、それに合ったカバー画像を生成。
  5. エクスポートと共有:
    • 生成されたストーリーボード画像、カバー、または全素材をダウンロード。
    • 気に入ったキャプションをワンクリックでコピー。

🛠️ 技術スタック

  • コアフレームワーク: React 19, TypeScript
  • スタイル: Tailwind CSS
  • アイコン: Lucide React
  • AI SDK: Google GenAI SDK (@google/genai)
  • ツール: JSZip (圧縮ダウンロード), Canvas API (スクリーンショット)
  • ストレージ: IndexedDB (ローカル状態永続化)

⚠️ 注意事項

  • API権限: AI作画機能を使用するには、API Keyが gemini-3-pro-image-preview モデルにアクセスできる権限を持っている必要があります。403エラーが発生した場合は、Google Cloudプロジェクトの設定を確認してください。
  • クロスオリジン: 外部動画の再生とスクリーンショットに対応するため、特定のプロキシ戦略と referrerPolicy="no-referrer" を使用しています。

📄 ライセンス

MIT License © 2024 ClipSketch AI

Extension points exported contracts — how you extend this code

VideoParser (Interface)
(no doc) [8 implementers]
services/parsers.ts
SocialPlatformStrategy (Interface)
(no doc) [4 implementers]
services/strategies.ts
LLMProvider (Interface)
(no doc) [4 implementers]
services/llm.ts
VideoMetadata (Interface)
(no doc)
utils.ts
Tag (Interface)
(no doc)
types.ts
TagListProps (Interface)
(no doc)
components/TagList.tsx
ButtonProps (Interface)
(no doc)
components/Button.tsx
ArtGalleryProps (Interface)
(no doc)
components/ArtGallery.tsx

Core symbols most depended-on inside this repo

updateProject
called by 12
services/storage.ts
getProvider
called by 8
services/gemini.ts
generateContent
called by 8
services/llm.ts
getModelName
called by 7
services/gemini.ts
formatTime
called by 5
utils.ts
handleError
called by 5
components/ArtGallery.tsx
getDB
called by 5
services/storage.ts
generateId
called by 4
utils.ts

Shape

Function 99
Method 61
Interface 31
Class 20

Languages

TypeScript100%

Modules by API surface

services/llm.ts31 symbols
components/ArtGallery.tsx25 symbols
App.tsx22 symbols
services/parsers.ts21 symbols
services/strategies.ts18 symbols
services/gemini.ts17 symbols
components/VideoPlayer.tsx13 symbols
services/storage.ts9 symbols
utils.ts8 symbols
components/art/steps/Step1Input.tsx7 symbols
components/art/Sidebar.tsx6 symbols
components/TagList.tsx6 symbols

Dependencies from manifests, versioned

@google/genailatest · 1×
@types/node22.14.0 · 1×
@vitejs/plugin-react5.0.0 · 1×
jsziplatest · 1×
lucide-react0.554.0 · 1×
react19.2.0 · 1×
react-dom19.2.0 · 1×
typescript5.8.2 · 1×
vite6.2.0 · 1×

For agents

$ claude mcp add clipsketch-ai \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact