mcpField
G
good-TTvideo2text

good-TTvideo2text

github.com/imgoodbaiクリエイティブ・メディア19542 回インストール39 週間前に更新
リポジトリ

good-TTvideo2text について

DouyinとTikTokの動画から音声を取り出し、ASRサービスでタイムスタンプ付きのテキストに変換するスキルです。Web UIとコマンドラインスクリプトに対応し、GoodableプラットフォームのASR連携が必要です。

主な機能

  1. 01DouyinとTikTokの動画リンク解析
  2. 02文字起こし用の音声抽出
  3. 03タイムスタンプ付きテキスト生成
  4. 04Web UIでの文字起こし管理
  5. 05コマンドラインからの文字起こし

活用シーン

  1. 01共有されたDouyin動画の文字起こし
  2. 02スクリプトでTikTokリンクを処理
  3. 03UIでタイムスタンプ付き結果を確認

インストール

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

$npx skills add https://github.com/imgoodbai/goodable --skill good-ttvideo2text

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

同梱ファイル

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

.gitignore
.env.example
requirements.txt
PLAN.md
template.json
test_extract_music.py
app/
main.py
__init__.py
downloads/
.gitkeep
scripts/
transcribe.py
static/
index.html

詳細

good-TTvideo2text

Douyin/TikTok 動画から音声を抽出し、ASR サービスを使ってテキストに文字起こしします。

タスクの目的

Douyin/TikTok 動画の音声を、タイムスタンプ付きのテキストに変換します。対話型 UI とコマンドラインのワークフローの両方に対応しています。

機能: 動画の解析、音声の抽出、ASR による文字起こし、タイムスタンプの生成

トリガー: ユーザーが Douyin/TikTok の URL を提示し、文字起こしを依頼したとき

使用モード

モード 1:Web UI(推奨)

文字起こしを管理するためのビジュアルインターフェースです。

# Install dependencies
cd skills/good-TTvideo2text
pip install -r requirements.txt

# Start service (default port 8000)
python app/main.py

# Browser access
http://localhost:8000

機能:

  • 動画の URL を貼り付けて、すぐに文字起こしを開始
  • タイムスタンプ付きの結果を表示
  • アクセス制限のある動画向けの Cookie 管理
  • リアルタイムの進行状況を表示
モード 2:スクリプト(コマンドライン)

自動化や AI ワークフローへの統合に適しています。

# Basic usage
python scripts/transcribe.py "https://v.douyin.com/xxx"

# Extract URL from share text
python scripts/transcribe.py "7.47 复制打开抖音,看看【用户名】的作品 https://v.douyin.com/xxx"

# JSON output
python scripts/transcribe.py "https://v.douyin.com/xxx" --output json

# Text output (default)
python scripts/transcribe.py "https://v.douyin.com/xxx" --output text

出力形式(テキスト):

=== Video Info ===
Title: Video title
Author: Author name
Duration: 30s

=== Transcription ===
Full Text:
Complete transcription text...

Sentences with Timestamps:
[00:00-00:03] First sentence
[00:03-00:06] Second sentence

出力形式(JSON):

{
  "success": true,
  "video_info": {
    "title": "Video title",
    "author": "Author name",
    "duration": 30,
    "create_time": 1234567890
  },
  "transcription": {
    "text": "Complete transcription...",
    "sentences": [
      {
        "start_ms": 0,
        "end_ms": 3000,
        "text": "First sentence"
      }
    ]
  }
}

前提条件

依存関係:

  • fastapi>=0.120.3, uvicorn>=0.35.0, httpx>=0.28.1
  • TikTokDownloader の依存関係(requirements.txt を参照)

ASR の設定:

  • 環境変数は Goodable プラットフォームによって自動的に注入されます
  • GOODABLE_ASR_SUBMIT_URL - ASR タスクの送信先エンドポイント
  • GOODABLE_ASR_QUERY_URL_TEMPLATE - ASR 結果の問い合わせ先エンドポイント({task_id} プレースホルダーを含む)

Cookie の設定(任意):

  • 動画によってはログイン Cookie が必要です
  • Web UI の Settings から設定するか、TikTokDownloader/settings.json を編集してください
  • Cookie の形式:Douyin の Web Cookie 文字列

標準的なワークフロー(AI による使用)

ユーザーが URL を提示した場合
  1. 入力から URL を抽出します:

    • ユーザーは URL を直接提示する場合と、URL を含む共有テキストを提示する場合があります
    • 正規表現を使って実際の動画 URL を抽出します
  2. 文字起こしスクリプトを呼び出します:

    python scripts/transcribe.py "USER_PROVIDED_TEXT"
    
  3. 結果を処理します:

    • 成功:文字起こしテキストとタイムスタンプを提示します
    • エラー:エラーメッセージを確認してトラブルシューティングを行います
よくあるエラーへの対処
エラー原因解決策
無効な動画 URLURL の形式が正しくありません有効な Douyin/TikTok URL を提示するようユーザーに依頼します
動画が見つかりません動画が削除されたか、ログインが必要です動画を確認するか、Cookie を提示するようユーザーに依頼します
音声が見つかりません動画に BGM がありませんこの動画には音声トラックがないことをユーザーに伝えます
ASR が設定されていません環境変数がありませんGoodable プラットフォーム経由で実行します(環境変数は自動的に注入されます)
ASR がタイムアウトしました音声が長いか、サービスの応答が遅れています再試行するか、進行状況を確認できる Web UI を使います

リソース一覧

  • app/main.py - FastAPI アプリケーションのエントリーポイント
  • scripts/transcribe.py - コマンドライン文字起こしスクリプト
  • TikTokDownloader/ - 動画解析ライブラリ(ソースコード)
  • TikTokDownloader/settings.json - Cookie と設定
  • static/index.html - Web UI インターフェース
  • requirements.txt - Python の依存関係
  • downloads/ - 一時ファイル用ディレクトリ

重要な注意事項

  1. Cookie の要件: 公開動画は Cookie なしで利用できますが、アクセス制限のある動画にはログイン Cookie が必要です
  2. ASR プラットフォーム: このスキルには、Goodable プラットフォームの ASR サービスとの統合が必要です
  3. 対応 URL 形式:
    • 短縮 URL:https://v.douyin.com/xxx
    • 完全 URL:https://www.douyin.com/video/1234567890
    • TikTok:https://vm.tiktok.com/xxx、https://www.tiktok.com/@user/video/xxx
  4. 音声の抽出: BGM の URL を直接抽出します(ダウンロードは不要です)
  5. ASR の処理時間: 音声の長さによりますが、通常 5~30 秒です

AI の使用例

User: "帮我转写这个抖音视频 7.47 复制打开抖音 https://v.douyin.com/abc123"

AI: Let me transcribe this video for you.

[Calls transcribe.py script with the provided text]

Based on the transcription:

Video: "视频标题"
Author: 作者名

Transcription:
[00:00-00:03] 第一句话内容
[00:03-00:08] 第二句话内容
...

Full text:
完整的转写文本内容...

コメント