AI-powered podcast segment extractor (cold opens, clips, and more)
Project description
podcut
AI-powered podcast segment extractor. Automatically finds the best cold opens, clips, and highlights from podcast episodes.
AIポッドキャスト切り抜きツール。エピソードから最適なコールドオープン・クリップ・ハイライトを自動抽出します。
Features / 機能
- Cold Open Extraction / コールドオープン抽出: Find 10-90 second teasers that hook listeners(10〜90秒のティーザーを検出)
- Clip Extraction / クリップ抽出: Extract 1-10 minute standalone highlights(1〜10分の独立したハイライトを抽出)
- Multiple LLM Providers / LLMプロバイダ: Gemini, OpenAI, Claude, Grok (cloud) and Ollama (local)(Gemini・OpenAI・Claude・Grokクラウド / Ollamaローカル)
- Whisper Transcription / Whisper文字起こし: MLX-accelerated on Apple Silicon, CPU fallback(Apple Silicon MLX高速化、CPUフォールバック対応)
- Smart Cut Points / スマートカット: Silence-aware audio cutting with fade in/out(無音検出によるカットポイント最適化)
- Interactive Wizard / 対話型ウィザード: Guided setup for first-time users(初回ユーザー向けガイド付きセットアップ)
- Feedback Loop / フィードバックループ: Refine results with natural language feedback(自然言語フィードバックで結果を改善)
- Bilingual UI / 多言語UI: Japanese and English support(日本語・英語切り替え対応)
Requirements / 必要環境
- Python 3.11+
- FFmpeg(音声処理用)
- LLM APIキー(いずれか1つ): Gemini / OpenAI / Claude / Grok または Ollama(ローカルLLM、キー不要)
Installation / インストール
# pipx(CLIツール推奨)
pipx install .
# または pip
pip install .
Quick Start / クイックスタート
# 対話型ウィザード
podcut
# 英語UIで起動
podcut --lang en
# 直接コマンド実行
podcut find episode.mp3
# クリップモード(長めのセグメント)
podcut find episode.mp3 --mode clip
# Ollama(ローカルLLM)を使用
podcut find episode.mp3 --provider ollama
# 全候補を自動エクスポート(対話選択スキップ)
podcut find episode.mp3 --auto
# JSON出力
podcut find episode.mp3 --json
Configuration / 設定
初回起動時のウィザードでAPIキーを入力すると ~/.config/podcut/.env に自動保存されます。設定も ~/.config/podcut/settings.json に保存され、2回目以降はEnter連打で即開始できます。
手動で設定する場合:
# LLM APIキー(使用するプロバイダのみ)
export GEMINI_API_KEY=your-key-here
export OPENAI_API_KEY=your-key-here
export ANTHROPIC_API_KEY=your-key-here
export XAI_API_KEY=your-key-here
# または .env ファイル(プロジェクトディレクトリ or ~/.config/podcut/.env)
echo "GEMINI_API_KEY=your-key-here" >> ~/.config/podcut/.env
保存済み設定の管理:
podcut config # 設定一覧表示
podcut config --reset # 設定リセット
podcut config --path # 設定ファイルパス表示
Ollama を使う場合(デフォルト以外のURL):
export OLLAMA_BASE_URL=http://localhost:11434
export OLLAMA_MODEL=qwen3:8b
UI言語の設定:
# 日本語(デフォルト)
export PODCUT_LANGUAGE=ja
# 英語
export PODCUT_LANGUAGE=en
CLI Options / CLIオプション
podcut find [OPTIONS] AUDIO_FILE
Options:
-o, --output PATH 出力ディレクトリ (default: ./output)
-n, --candidates INT 候補数 1-10 (default: 3)
-f, --format TEXT 出力形式: mp3, wav (default: mp3)
-m, --model TEXT Gemini モデル (default: gemini-2.5-flash)
--whisper-model TEXT Whisper モデル (default: turbo)
--backend TEXT Whisper バックエンド: auto, mlx, cpu (default: auto)
--mode TEXT 抽出モード: cold_open, clip (default: cold_open)
--provider TEXT LLMプロバイダ: gemini, ollama, openai, claude, grok (default: gemini)
--ollama-model TEXT Ollama モデル (default: qwen3:8b)
--openai-model TEXT OpenAI モデル (default: gpt-4.1-mini)
--claude-model TEXT Claude モデル (default: claude-sonnet-4-5)
--grok-model TEXT Grok モデル (default: grok-3-mini)
--lang TEXT UI言語: ja, en
--auto 対話選択をスキップし全候補をエクスポート
--json 結果をJSON形式で出力
-v, --verbose 詳細ログを表示
How It Works / 仕組み
- Upload / アップロード: 音声ファイルをアップロード(Geminiのみ。他プロバイダはトランスクリプトのみ使用)
- Transcribe / 文字起こし: Whisper でタイムスタンプ付きトランスクリプトを生成
- Analyze / 分析: LLM が最適なセグメント候補をタイムスタンプ付きで特定
- Optimize / 最適化: カットポイントを無音境界に調整しクリーンな編集を実現
- Extract / 抽出: 音声セグメントをフェードイン/アウト付きでエクスポート
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file podcut-0.2.0.tar.gz.
File metadata
- Download URL: podcut-0.2.0.tar.gz
- Upload date:
- Size: 78.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cafdb4e88e15c8c9b7d4f319332f879941f9a91a7e44348db9ebf60e34916dd
|
|
| MD5 |
769c15b825bfcf5535389400c8e6973d
|
|
| BLAKE2b-256 |
70f71b9646a34544f9f8791649e1d765510423cc7434850c23887d485d68123e
|
File details
Details for the file podcut-0.2.0-py3-none-any.whl.
File metadata
- Download URL: podcut-0.2.0-py3-none-any.whl
- Upload date:
- Size: 65.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34ffb9ecead0f447444e6cc4b8ac50e0256398ac4e45e24ec630cb146f5570cb
|
|
| MD5 |
c31f2d7512b0278895a63163e9c827fc
|
|
| BLAKE2b-256 |
52448711d6f81464c210bfa99a089a6b243135bf08c6fb8ca958ebcdf0685180
|