ListenHub MCP

使用例

ポッドキャスト、FlowSpeech、台本先行フロー、話者の検索、アカウント確認について、プロンプトからツール呼び出しまでを解説します。

以下では、MCP クライアントに何を伝えると、クライアントがどのツールを呼び出すのかを紹介します。ツールの選択と入力の組み立ては、クライアントがあなたのプロンプトから行います — JSON を自分で書く必要はありません。ここに示す JSON は妥当な呼び出しの一例で、プロンプトが入力にどう対応するかを確認するためのものです。ツール名、入力の全一覧、レスポンス構造は利用可能なツールにあります。

スクリーンショット

中国語のポッドキャストを生成する:

中国語のポッドキャストを生成

英語のポッドキャストを生成する:

英語のポッドキャストを生成

トピックからポッドキャストを生成

「LLM が検索をどう変えたかについて、短い英語のポッドキャストを作って。ホストは 2 人で。」

クライアントはまず話者を検索し、次に 2 つの speakerIds を指定して create_podcast を呼び出します。create_podcast は完了までポーリングして完成したエピソードを返すため、1 ステップで音声 URL が得られます。

{
  "tool": "create_podcast",
  "input": {
    "query": "How LLMs changed search",
    "speakerIds": ["sp_aria_en", "sp_leo_en"],
    "language": "en",
    "mode": "quick"
  }
}

2 人のホストが真っ向から議論する形式にしたい場合は、ディベートを指示します。debate モードにはちょうど 2 つの speaker ID が必要です:

{
  "tool": "create_podcast",
  "input": {
    "query": "Is remote work better than office work?",
    "speakerIds": ["sp_aria_en", "sp_leo_en"],
    "language": "en",
    "mode": "debate"
  }
}

URL からポッドキャストを生成

「この記事をポッドキャストにして:https://example.com/post」

URL とテキストはどちらも sources に入れます。sourcesquery を組み合わせて、切り口を誘導することもできます。

{
  "tool": "create_podcast",
  "input": {
    "sources": ["https://example.com/post"],
    "query": "Focus on the practical takeaways",
    "speakerIds": ["sp_aria_en"],
    "language": "en",
    "mode": "deep"
  }
}

speaker ID を 1 つだけ指定すると、単独ホストのエピソードになります。querysources のうち少なくとも一方を指定してください。

FlowSpeech ナレーション

「このお知らせを一字一句そのまま読み上げて。」

FlowSpeech は単一話者のナレーションです。元の内容をそのまま読ませるには direct モード、モデルに先に推敲させるには smart モードを使います。create_flowspeechepisodeId を返して非同期で実行されるため、クライアントは get_flowspeech_status をポーリングして音声を取得します。

{
  "tool": "create_flowspeech",
  "input": {
    "sourceType": "text",
    "sourceContent": "This quarter we shipped three major features...",
    "speakerId": "sp_aria_en",
    "language": "en",
    "mode": "direct"
  }
}

代わりに Web ページを読み上げるには、sourceTypeurl にして、リンクを sourceContent に入れます。

台本先行:音声化の前に確認する

「プロンプトエンジニアリングについてのポッドキャストの台本を書いて。読ませてもらってから音声にして。」

これは 2 ステップのフローです。まず台本だけを生成します:

{
  "tool": "create_podcast_text_only",
  "input": {
    "query": "An introduction to prompt engineering",
    "speakerIds": ["sp_aria_en", "sp_leo_en"],
    "language": "en",
    "mode": "quick"
  }
}

クライアントは episodeId を受け取ります。get_podcast_status で台本を読み、必要な箇所を編集してから音声を生成します。編集内容を customScripts として渡せば、音声はあなたの版に一致します:

{
  "tool": "generate_podcast_audio",
  "input": {
    "episodeId": "664e0c2b9f1a2b3c4d5e6f70",
    "customScripts": [
      { "speakerId": "sp_aria_en", "content": "Welcome back. Today: prompt engineering." },
      { "speakerId": "sp_leo_en", "content": "Let's start with what a prompt actually is." }
    ]
  }
}

customScripts を省略すると、台本をそのまま使って音声を生成します。

話者を探す

「どんな英語のボイスが使える?」

get_speakers はボイスライブラリを返します。言語で絞り込めば候補を狭められます。各項目は、生成ツールに渡す speakerId を持ちます。

{
  "tool": "get_speakers",
  "input": {
    "language": "en"
  }
}

サブスクリプションを確認する

「深掘り型のポッドキャストを作れるだけのクレジットは残ってる?」

get_user_subscription は入力なしで、プランとクレジット残高を返します。長時間の生成の前に呼び出して、totalAvailableCredits が足りているか確認してください。

{
  "tool": "get_user_subscription",
  "input": {}
}

クレジットの消費量はツールごとに固定ではありません。生成前に正確に見積もるには、OpenAPI リファレンス の該当する */estimate-credits エンドポイントを使い、その後 get_user_subscription で現在の残高を確認してください。

次のステップ

このページの内容