Skip to main content

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 / 仕組み

  1. Upload / アップロード: 音声ファイルをアップロード(Geminiのみ。他プロバイダはトランスクリプトのみ使用)
  2. Transcribe / 文字起こし: Whisper でタイムスタンプ付きトランスクリプトを生成
  3. Analyze / 分析: LLM が最適なセグメント候補をタイムスタンプ付きで特定
  4. Optimize / 最適化: カットポイントを無音境界に調整しクリーンな編集を実現
  5. Extract / 抽出: 音声セグメントをフェードイン/アウト付きでエクスポート

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

podcut-0.2.1.tar.gz (78.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

podcut-0.2.1-py3-none-any.whl (65.5 kB view details)

Uploaded Python 3

File details

Details for the file podcut-0.2.1.tar.gz.

File metadata

  • Download URL: podcut-0.2.1.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

Hashes for podcut-0.2.1.tar.gz
Algorithm Hash digest
SHA256 5b837880d9a7c6f9b54bb82d012c5c8f8cce01bc3c28a3ff20b92e2635b42c56
MD5 c6f53d30961bb60d79b02cb43c4fc4fa
BLAKE2b-256 d6372fc410c65bc0e8760d1ab5f902272646d8d94663db1abe7087ce9c6394cf

See more details on using hashes here.

File details

Details for the file podcut-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: podcut-0.2.1-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

Hashes for podcut-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 11708c4abe7c3a2af5038239d67bea68274961e7c7d7c1a3cd856ddfacdaac6d
MD5 8eecf38d024c2c900cd016a84a48d1b3
BLAKE2b-256 fa32b9010e395a94693a4c73196114da7b2a8de978129b046fc388027655a0b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page