ListenHub MCP

사용 예시

팟캐스트, FlowSpeech, 스크립트 우선 흐름, 스피커 조회, 계정 확인을 프롬프트부터 도구 호출까지 따라가며 설명합니다.

여기서는 MCP 클라이언트에 무엇이라고 말하면 클라이언트가 어떤 도구를 호출하는지 보여 줍니다. 도구를 고르고 입력을 채우는 것은 클라이언트가 프롬프트를 보고 하는 일이며, JSON을 직접 작성할 필요는 없습니다. 아래 JSON은 실제로 만들어질 법한 호출을 보여 주는 것으로, 프롬프트가 입력으로 어떻게 옮겨지는지 확인할 수 있습니다. 도구 이름, 전체 입력 목록, 응답 구조는 사용 가능한 도구에 있습니다.

스크린샷

중국어 팟캐스트 생성:

중국어 팟캐스트 생성

영어 팟캐스트 생성:

영어 팟캐스트 생성

주제로 팟캐스트 만들기

"LLM이 검색을 어떻게 바꿨는지에 대한 짧은 영어 팟캐스트를 만들어 줘. 진행자는 두 명으로."

클라이언트는 먼저 스피커를 조회한 다음 speakerIds 2개로 create_podcast를 호출합니다. create_podcast는 완료될 때까지 폴링한 뒤 완성된 에피소드를 반환하므로, 한 번에 오디오 URL까지 받게 됩니다.

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

두 진행자가 정면으로 맞붙는 논쟁을 원한다면 토론을 요청하세요. debate 모드에는 speaker ID가 정확히 2개 필요합니다:

{
  "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는 1인 내레이션입니다. 원문을 그대로 읽으려면 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"
  }
}

텍스트 대신 웹 페이지를 내레이션하려면 sourceTypeurl로 설정하고 링크를 sourceContent에 넣으세요.

스크립트 우선: 오디오 전에 검토하기

"프롬프트 엔지니어링에 대한 팟캐스트 스크립트를 써 줘. 내가 읽어 본 다음에 오디오를 만들자."

두 단계로 진행되는 흐름입니다. 먼저 스크립트만 생성합니다:

{
  "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으로 실시간 잔액을 확인하세요.

다음 단계

이 페이지의 내용