Skip to main content
Glama
README.md
# Full Telop Editor

日本語トーク動画からローカルで文字起こしし、フィラー除去、字幕編集、波形タイミング補正、SRT書き出しまで行うWebアプリです。

## セットアップ

macOSでffmpegが無い場合だけ先に入れてください。

```bash
brew install ffmpeg
```

Python 3.12で仮想環境を作り、依存パッケージを入れます。

```bash
python3.12 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
```

## 起動

```bash
PORT=8510 python run.py
```

ブラウザで `http://localhost:8510` を開きます。`PORT` 未指定時も `8510` で起動します。

## 基本の使い方

1. 動画ファイルのパスを入力して「パス読込」、または動画ファイルをアップロードします。
2. Whisperモデルを選び「文字起こし」を押します。初回は `models/` 配下にモデルをダウンロードします。
3. フィラー除去リストと1行最大文字数を調整できます。「分割ルールのみ再適用」は文字起こしをやり直しません。
4. 字幕リストでテキスト、開始秒、終了秒を直接編集できます。行の分割、結合、検索、置換、一括置換、Undo/Redoが使えます。
5. 「波形でタイミング補正」で音声区間に合わせて開始・終了秒を補正します。
6. 「SRT」から現在の字幕をSRT形式で書き出します。

プロジェクトは `.telop-data/` 配下に自動保存され、再起動後は直近のプロジェクトを自動で読み込みます。

## AI精査

AI精査は任意機能です。未設定でも文字起こし、編集、波形同期、保存、SRT書き出しは動きます。送信されるのは字幕テキストだけで、音声・動画は送信しません。

Ollamaを使う場合:

```bash
AI_REVIEW_PROVIDER=ollama OLLAMA_MODEL=llama3.1 PORT=8510 python run.py
```

OpenAI互換のChat Completions APIを使う場合:

```bash
AI_REVIEW_PROVIDER=openai OPENAI_API_KEY=... AI_REVIEW_MODEL=gpt-4o-mini PORT=8510 python run.py
```

互換APIのURLを変える場合は `AI_REVIEW_BASE_URL` を指定します。AI精査のHTTPタイムアウトはデフォルト300秒です。推論に時間がかかるモデルを使う場合は `AI_REVIEW_TIMEOUT=600` のように秒数で指定できます。

## ローカルデータ

- 作業データ: `.telop-data/`
- Whisperモデル: `models/faster-whisper/`
- Hugging Faceキャッシュ: `models/huggingface/`

## テスト

```bash
.venv/bin/python -m pytest tests -q
node --check app/static/app.js
```

## MCPサーバーとして使う(他のAIから道具として呼ぶ)

stdio MCPサーバーを起動:

```bash
.venv/bin/python mcp_run.py
```

公開ツール: `list_presets` / `start_transcription` / `start_burnin` / `start_subtitled_video` / `get_job` / `cancel_job`

Claude Code への登録:

```bash
claude mcp add telop-codex -- <repo>/.venv/bin/python <repo>/mcp_run.py
```

codex(`~/.codex/config.toml`):

```toml
[mcp_servers.telop-codex]
command = "<repo>/.venv/bin/python"
args = ["<repo>/mcp_run.py"]
```

環境変数 `TELOP_MCP_DATA_DIR` でMCP専用データディレクトリを指定できる(既定 `.telop-data-mcp/`)。