ListenHubSDKs & CLI
CLI

OAuth コマンド

listenhub の OAuth コマンド(auth、podcast、tts、explainer、slides、music、image、video、speakers、lyrics、creation)の完全リファレンス。

本ページでは OAuth コマンド群、つまりサインインしたユーザーアカウントとして動作する listenhub <domain> ... コマンドを解説します。これらはブラウザでのログイン(listenhub auth login)を必要とし、トークンを ~/.config/listenhub/credentials.json から読み取ります。スクリプトや CI で使う API キー版のコマンド群は OpenAPI コマンド を参照してください。

共通仕様

以下の挙動は、このページのすべてのコマンドに共通します。

  • グローバルフラグ。 すべてのコマンドが --json / -j(機械可読な出力を stdout に、エラーを stderr に)と --help / -h を受け付けます。作成系のコマンドはさらに --no-wait(ポーリングせずに ID を即座に返す)と --timeout <seconds>(ポーリングの待機時間の上限。デフォルトはコマンドごとに異なります)も受け付けます。
  • ポーリング。 作成系のコマンドはジョブを送信したあと、終了状態に達するまで 10 秒ごとにステータスをポーリングします。タイムアウトするとコマンドは終了コード 3 で終了します。ジョブはサーバー側で動き続けるため、後から ID で取得できます。
  • 言語の自動判定。 --lang を持つコマンドでそれを省略すると、CLI は入力テキストから言語を推測します。かな → ja、それ以外の CJK 文字 → zh、それ以外は en です。
  • スピーカーの解決。 --speaker <name> は、判定された言語のスピーカーを一覧して inner ID に解決されます。--speaker-id <id> はそのまま渡されます。どちらも指定しない場合、CLI は判定された言語のデフォルトの声を選びます。
  • ファイルと URL の自動判別。 <path-or-url> を受け付けるフラグは入力を自動判別します。http(s) の URL はそのまま渡され、ローカルパスは拡張子とサイズを検証したうえで、API 呼び出しの前にクラウドストレージへアップロードされます。アップロードに対応する形式は、音声が .mp3.wav.flac.m4a.ogg.aac(最大 20 MB)、画像が .jpg.jpeg.png.webp.gif(最大 10 MB)、動画が .mp4.mov(最大 50 MB)です。一部の Mureka 系 music サブコマンドはローカルファイルのみ(URL 不可)を受け付け、独自の上限があります。詳細は各コマンドの説明を参照してください。
  • 終了コード。 0 成功、1 エラー、2 認証が必要または無効、3 タイムアウト。

生成にはクレジットを消費します。OAuth コマンド群には video estimate を除いてコマンドごとのクレジット見積もり機能はありません。生成する前に listenhub openapi subscription で残高を確認し、動画のコストは listenhub openapi video estimate(または listenhub video estimate)で確認してください。固定のコストを前提にせず、必ず照会してください。

auth

ログインセッションを管理します。

listenhub auth login
listenhub auth logout
listenhub auth status [-j]
コマンド説明
loginブラウザを開いて OAuth を完了します。成功すると、トークンを ~/.config/listenhub/credentials.json(モード 0600)に書き込みます。トークンは自動で更新されます。
logoutトークンを失効させ、保存された認証情報を削除します。
status現在のログイン状態を表示します。-j を受け付けます。
listenhub auth login
listenhub auth status

podcast

トピックや参照ソースからポッドキャストのエピソードを生成します。

listenhub podcast create [options]
listenhub podcast list [options]

podcast create

フラグデフォルト意味
--query <text>文字列エピソードのトピックまたはプロンプト。
--source-url <url>URL(繰り返し可)[]エピソードの根拠となる参照 URL。複数指定する場合は繰り返します。
--source-text <text>文字列(繰り返し可)[]エピソードの根拠となる参照テキスト。複数指定する場合は繰り返します。
--mode <mode>quickdeepdebatequick生成モード。
--lang <lang>enzhja自動出力言語。省略時は --query から自動判定。
--speaker <name>文字列(繰り返し可)名前でスピーカーを指定。1 人なら単独エピソード、2 人以上ならマルチボイス。
--speaker-id <id>文字列(繰り返し可)inner ID でスピーカーを指定。--speaker の代わりに使います。
--no-waitフラグポーリングポーリングせずにエピソード ID を即座に返します。
--timeout <seconds>数値300ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub podcast create --query "AI agent trends in 2026" --mode quick

podcast list

フラグデフォルト意味
--page <n>数値1ページ番号。
--page-size <n>数値201 ページあたりの件数。
--json-jフラグfalseJSON 出力。
listenhub podcast list --page 1 --page-size 20

tts

1 つの声でテキストを音声に変換します。

listenhub tts create [options]
listenhub tts list [options]

tts create

フラグデフォルト意味
--text <text>文字列音声に変換するテキスト。
--source-url <url>URL(繰り返し可)[]参照 URL。複数指定する場合は繰り返します。
--source-text <text>文字列(繰り返し可)[]参照テキスト。複数指定する場合は繰り返します。
--mode <mode>smartdirectsmartsmart は読み上げ向けに入力を書き換え、direct はそのまま読み上げます。
--lang <lang>enzhja自動出力言語。省略時は --text から自動判定。
--speaker <name>文字列名前でスピーカーを指定。
--speaker-id <id>文字列inner ID でスピーカーを指定。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値300ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub tts create --text "Hello, world" --lang en

tts list

フラグデフォルト意味
--page <n>数値1ページ番号。
--page-size <n>数値201 ページあたりの件数。
--json-jフラグfalseJSON 出力。
listenhub tts list

voice-clone

ログイン中のアカウントで、参考音声から自分の声をクローンし、そこで生成されたプライベート音声を管理します。アップロードモードのみ対応で、対話的な録音フローは Web アプリ側にあります。対応言語は zhen です。

クローンの確定は、プランの期間ごとのクォータ内であれば無料です。それを超えると 1 回の確定につき 300 クレジットかかり、--use-credits を渡したときにのみ実行されます。

コマンド説明
voice-clone create1–6 個の参考音声ファイルをアップロードし、クローンタスクを作成します。
voice-clone get <taskId>タスクのステータスを取得します。
voice-clone confirm完了したタスクをプライベート音声として確定します。
voice-clone speakersプライベート音声を、クォータと残りの確定回数とあわせて一覧します。
voice-clone speaker <speakerId>プライベート音声を 1 件取得します。
voice-clone update <speakerId>音声の名前を変更する、または性別を変更します。
voice-clone delete <speakerId>音声を削除し、枠を 1 つ解放します。

voice-clone create のオプション:

オプションデフォルト説明
--file <path...>必須1–6 個のローカル参考音声ファイル。
--lang <lang>必須zh または en
--no-wait--timeout <seconds>600)、--json標準の非同期フラグ。

voice-clone confirm--task-id <id>--name <name>(最大 50 文字)、--gender <male\|female\|other>、および任意の --use-credits を受け付けます。voice-clone update <speakerId>--name--gender のいずれか(少なくとも 1 つ)を受け付けます。

# Clone, then confirm what you heard
listenhub voice-clone create --file ./reference.mp3 --lang en
listenhub voice-clone confirm \
  --task-id 6915bde9cca4d3c8ecb3eaf5 --name "My Voice" --gender female

# The speaker ID from `speakers` works anywhere a voice is expected
listenhub voice-clone speakers
listenhub tts create --text "Hello from my own voice." --speaker-id voice-clone-6915bde9cca4d3c8ecb3eaf5

explainer

解説動画(ナレーション付きのビジュアルセグメント)を生成します。

listenhub explainer create [options]
listenhub explainer list [options]

explainer create

音声ナレーションはデフォルトで有効です。--skip-audio を渡すと無音の動画を生成します。

フラグデフォルト意味
--query <text>文字列トピックまたはプロンプト。
--source-url <url>URL(繰り返し可)[]参照 URL。複数指定する場合は繰り返します。
--source-text <text>文字列(繰り返し可)[]参照テキスト。複数指定する場合は繰り返します。
--mode <mode>infostoryinfo生成モード。
--lang <lang>enzhja自動出力言語。省略時は --query から自動判定。
--speaker <name>文字列名前でスピーカーを指定。
--speaker-id <id>文字列inner ID でスピーカーを指定。
--skip-audioフラグfalse音声ナレーションをスキップします(無音の動画)。
--image-size <size>2K4K2Kレンダリングする画像の解像度。
--aspect-ratio <ratio>16:99:161:116:9画面のアスペクト比。
--style <style>文字列ビジュアルスタイルのヒント。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値300ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub explainer create --query "How vaccines work" --mode info --aspect-ratio 16:9

explainer list

フラグデフォルト意味
--page <n>数値1ページ番号。
--page-size <n>数値201 ページあたりの件数。
--json-jフラグfalseJSON 出力。
listenhub explainer list

slides

トピックやソースからスライドを生成します。

listenhub slides create [options]
listenhub slides list [options]

slides create

スライドはデフォルトで無音です。--no-skip-audio を渡すと音声ナレーションを追加します。

フラグデフォルト意味
--query <text>文字列トピックまたはプロンプト。
--source-url <url>URL(繰り返し可)[]参照 URL。複数指定する場合は繰り返します。
--source-text <text>文字列(繰り返し可)[]参照テキスト。複数指定する場合は繰り返します。
--lang <lang>enzhja自動出力言語。省略時は --query から自動判定。
--speaker <name>文字列名前でスピーカーを指定(ナレーションを有効にした場合に使われます)。
--speaker-id <id>文字列inner ID でスピーカーを指定。
--no-skip-audioフラグ無音音声ナレーションを生成します(デフォルトはオフ)。
--image-size <size>2K4K2Kレンダリングする画像の解像度。
--aspect-ratio <ratio>16:99:161:116:9スライドのアスペクト比。
--style <style>文字列ビジュアルスタイルのヒント。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値300ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub slides create --query "Q3 product roadmap" --no-skip-audio

slides list

フラグデフォルト意味
--page <n>数値1ページ番号。
--page-size <n>数値201 ページあたりの件数。
--json-jフラグfalseJSON 出力。
listenhub slides list

music

音楽を生成、変換、分析します。生成系のサブコマンドはポーリングします(デフォルトのタイムアウトは 600)。分析系のサブコマンド(recognizedescribestem)は同期実行で、すぐに結果を出力します。Mureka と記載のあるサブコマンドは、参照入力にローカルファイルのみを受け付けます(URL のパススルーは不可)。

listenhub music generate [options]
listenhub music cover --audio <path-or-url> [options]
listenhub music extend --audio <path-or-url> --model <v> --continue-at <s> [options]
listenhub music remix [audio] [options]
listenhub music instrumental [options]
listenhub music soundtrack [options]
listenhub music track [audio] [options]
listenhub music recognize --audio <path> [-j]
listenhub music describe --audio <path> [-j]
listenhub music stem --audio <path> [options]
listenhub music list [options]
listenhub music get <taskId> [-j]

music generate

テキストプロンプトから音楽を生成します。

フラグデフォルト意味
--prompt <text>文字列(必須)音楽の説明。
--style <text>文字列スタイルまたはムード。
--title <text>文字列トラックのタイトル。
--instrumentalフラグfalseボーカルなしのインストゥルメンタルのみ。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値600ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub music generate --prompt "Upbeat electronic dance" --style "EDM" --title "Night Drive"

music cover

参考音声からカバーを作成します。--audio はローカルファイルまたは URL を受け付けます。

フラグデフォルト意味
--audio <path-or-url>パスまたは URL(必須)参考音声。
--prompt <text>文字列音楽の説明。
--style <text>文字列スタイルまたはムード。
--title <text>文字列トラックのタイトル。
--instrumentalフラグfalseボーカルなしのインストゥルメンタルのみ。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値600ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub music cover --audio ./original.mp3 --title "My Remix"

music extend

参考音声をもとに、指定した時点から続きを生成して曲を延長します。--audio はローカルファイルまたは URL を受け付けます。

フラグデフォルト意味
--audio <path-or-url>パスまたは URL(必須)参考音声。
--model <version>V4V4_5V4_5PLUSV4_5ALLV5V5_5(必須)モデルのバージョン。
--continue-at <seconds>数値(必須)延長を開始する時点。
--prompt <text>文字列歌詞または説明。
--style <text>文字列スタイルまたはムード。
--title <text>文字列トラックのタイトル。
--instrumentalフラグfalseボーカルなしのインストゥルメンタルのみ。
--negative-tags <text>文字列除外するスタイル。
--vocal-gender <gender>mfボーカルの性別。
--style-weight <weight>数値 01スタイルの反映度。
--weirdness <weight>数値 01創造性・奇抜さの制約。
--audio-weight <weight>数値 01入力音声の影響度。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値600ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub music extend --audio ./song.mp3 --model V5 --continue-at 30

music remix

既存の曲を新しい歌詞でリミックスします(Mureka)。ソースはちょうど 1 つ指定します。位置引数 [audio] のローカルファイル(.mp3/.m4a、最大 10 MB)、--audio-url--provider-song-id のいずれかです。

フラグデフォルト意味
[audio]ローカルファイル参考音声ファイル(位置引数)。
--audio-url <url>URLファイルの代わりに参考音声の URL を指定。
--provider-song-id <id>文字列ファイルの代わりに Mureka song id を指定。
--lyrics <text>文字列(必須)リミックスする曲の歌詞。
--prompt <text>文字列(必須)音楽の説明。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値600ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub music remix ./original.mp3 --lyrics "New verse..." --prompt "Lo-fi hip hop"

music instrumental

単体のインストゥルメンタルを生成します(Mureka)。--prompt--reference-audio のうち、ちょうど 1 つを指定します。

フラグデフォルト意味
--prompt <text>文字列音楽の説明。
--reference-audio <path>ローカルファイル参考音声(.mp3/.m4a、最大 10 MB)。
--model <version>automureka-7.6mureka-8mureka-o2モデルのバージョン。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値600ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub music instrumental --prompt "Cinematic orchestral build-up" --model mureka-8

music soundtrack

画像または動画から音楽を生成します(Mureka)。--image--video のうち、ちょうど 1 つを指定します。

フラグデフォルト意味
--image <path>ローカルファイル元になる画像(.jpg/.jpeg/.png/.webp、最大 10 MB)。
--video <path>ローカルファイル元になる動画(.mp4/.mov/.avi/.mkv/.webm、最大 10 MB)。
--prompt <text>文字列音楽の説明。
--model <version>automureka-7.6mureka-8mureka-9mureka-o2モデルのバージョン。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値600ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub music soundtrack --image ./cover.png --prompt "Dreamy synthwave"

music track

単一の楽器またはボーカルのトラックを生成します(Mureka)。ソースはちょうど 1 つ指定します。位置引数 [audio] のローカルファイル(.mp3/.m4a/.wav、最大 10 MB)か --provider-song-id です。--generate-typeVocals の場合は --lyrics が必須です。

フラグデフォルト意味
[audio]ローカルファイル参考音声ファイル(位置引数)。
--provider-song-id <id>文字列ファイルの代わりに Mureka song id を指定。
--generate-type <type>VocalsInstrumentalDrumsBassGuitarKeyboardPercussionStringsSynthFXBrassWoodwinds(必須)生成するトラックの種類。
--prompt <text>文字列(必須)音楽の説明。
--lyrics <text>文字列歌詞。--generate-typeVocals の場合は必須。
--vocal-gender <gender>malefemaleボーカルの性別。
--generate-start <seconds>数値範囲の開始位置(秒)。
--generate-end <seconds>数値範囲の終了位置(秒)。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値600ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub music track ./song.mp3 --generate-type Drums --prompt "Punchy breakbeat"

music recognize

音声からタイムスタンプ付きの歌詞を認識します(Mureka)。同期実行で、すぐに出力します。

フラグデフォルト意味
--audio <path>ローカルファイル(必須)音声ファイル(.mp3/.m4a、最大 10 MB)。
--json-jフラグfalseJSON 出力。
listenhub music recognize --audio ./song.mp3

music describe

音声を分析します。説明、タグ、ジャンル、楽器を返します(Mureka)。同期実行です。

フラグデフォルト意味
--audio <path>ローカルファイル(必須)音声ファイル(.mp3/.m4a、最大 10 MB)。
--json-jフラグfalseJSON 出力。
listenhub music describe --audio ./song.mp3

music stem

音声をステムに分離し、ダウンロード URL を返します(Mureka)。同期実行です。

フラグデフォルト意味
--audio <path>ローカルファイル(必須)音声ファイル(.mp3/.m4a、最大 10 MB)。
--model <model>audio-separation-1audio-separation-2分離モデル。
--json-jフラグfalseJSON 出力。
listenhub music stem --audio ./song.mp3 --model audio-separation-2

music list

フラグデフォルト意味
--page <n>数値1ページ番号。
--page-size <n>数値201 ページあたりの件数。
--status <status>pendinggeneratinguploadingsuccessfailedステータスで絞り込みます。
--json-jフラグfalseJSON 出力。
listenhub music list --status success

music get

フラグデフォルト意味
<taskId>文字列(必須)音楽タスクの ID(位置引数)。
--json-jフラグfalseJSON 出力。
listenhub music get <task-id>

image

AI 画像を生成・管理します。

listenhub image create --prompt <text> [options]
listenhub image list [options]
listenhub image get <id> [-j]
listenhub image delete <id...> [-j]

image create

--reference はローカルファイルまたは URL を受け付け、最大 5 回まで繰り返し指定できます。

フラグデフォルト意味
--prompt <text>文字列(必須)画像の説明。
--model <model>文字列モデル名。
--lang <lang>文字列プロンプトの言語のヒント。
--aspect-ratio <ratio>文字列1:1アスペクト比。
--size <size>1K2K4K2K画像サイズ。
--reference <path-or-url>パスまたは URL(繰り返し可、最大 5)[]参照画像。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値120ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub image create --prompt "a dragon in watercolor style" --reference ./sketch.png

image list

フラグデフォルト意味
--page <n>数値1ページ番号。
--page-size <n>数値201 ページあたりの件数。
--json-jフラグfalseJSON 出力。

image get / image delete

コマンド引数意味
image get <id>画像 ID画像の詳細を取得します。-j を受け付けます。
image delete <id...>1 つ以上の画像 IDAI 画像を 1 つ以上削除します。-j を受け付けます。
listenhub image get <id>
listenhub image delete <id1> <id2>

video

SeeDance モデルで動画を生成します。画像 / 動画 / 音声の入力は <path-or-url> を受け付けます(ローカルファイルはアップロードされ、URL はそのまま渡されます)。

listenhub video create --prompt <text> [options]
listenhub video get <taskId> [-j]
listenhub video list [options]
listenhub video estimate [options]

video create

フラグデフォルト意味
--prompt <text>文字列(必須)動画の説明。
--model <model>happyhorsedoubao-seedance-2-prodoubao-seedance-2-fasthappyhorse生成モデル。
--resolution <res>480p720p1080p出力解像度。
--ratio <ratio>16:94:31:13:49:1621:94:55:4アスペクト比。
--duration <seconds>数値 315動画の長さ。
--first-frame <path-or-url>パスまたは URL最初のフレームの画像。
--last-frame <path-or-url>パスまたは URL最後のフレームの画像(--first-frame が必要)。
--reference-image <path-or-url>パスまたは URL(繰り返し可、最大 9)[]参照画像。
--reference-video <path-or-url>パスまたは URL(繰り返し可、最大 3)[]参照動画。
--reference-audio <path-or-url>パスまたは URL(繰り返し可、最大 3)[]参照音声。
--input-video-duration <seconds>数値 215参照動画の長さ。--reference-video と併用する場合は必須。
--no-generate-audioフラグ音声あり音声の生成を無効にします。
--audio-setting <mode>autoorigin動画編集時の音声の扱い。
--seed <number>数値 -14294967295乱数シード。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値1200ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub video create --prompt "A cat playing piano" --resolution 720p --duration 5

video estimate

作成する前にクレジットのコストを見積もります。

フラグデフォルト意味
--model <model>文字列(必須)モデル名。
--resolution <res>文字列(必須)解像度。
--duration <seconds>数値(必須)長さ。
--ratio <ratio>文字列16:9アスペクト比。
--has-video-inputフラグfalse参照動画の入力があるかどうか。
--input-video-duration <seconds>数値参照動画の長さ。
--json-jフラグfalseJSON 出力。
listenhub video estimate --model doubao-seedance-2-pro --resolution 1080p --duration 10

video get / video list

コマンドフラグ意味
video get <taskId>-j動画タスクの詳細を取得します。
video list--page--page-size--statuspending/generating/uploading/success/failed)、-j動画タスクを一覧します。
listenhub video list --status success
listenhub video get <task-id>

speakers

アカウントで利用できる声を一覧します。

listenhub speakers list [options]
フラグデフォルト意味
--lang <lang>enzhja言語で絞り込みます。
--json-jフラグfalseJSON 出力。

NameIDGenderPersonality の表を出力します。作成系のコマンドで --speaker-id に渡すのは ID 列の値です。

このコマンドはログインが必要です。認証なしで同じカタログを見たい場合や、エージェントに 1 回のリクエストで丸ごと渡したい場合は listenhub.ai/voices.txt を取得してください。すべての公式音声の ID、言語、性別、タグが並んでいます。listenhub.ai/voices は同じカタログを音声プレビュー付きで見られます。

listenhub speakers list --lang en

lyrics

プロンプトから曲の歌詞を生成します。

listenhub lyrics generate --prompt <text> [options]
listenhub lyrics list [options]
listenhub lyrics get <taskId> [-j]

lyrics generate

フラグデフォルト意味
--prompt <text>文字列(必須、最大 200 文字)歌詞の説明。
--no-waitフラグポーリングポーリングせずに ID を即座に返します。
--timeout <seconds>数値120ポーリングのタイムアウト。
--json-jフラグfalseJSON 出力。
listenhub lyrics generate --prompt "A hopeful anthem about new beginnings"

lyrics list / lyrics get

コマンドフラグ意味
lyrics list--page--page-size--statuspending/generating/success/failed)、-j歌詞タスクを一覧します。
lyrics get <taskId>-j歌詞タスクの詳細を取得します。
listenhub lyrics list --status success
listenhub lyrics get <task-id>

creation

任意の創作物(エピソード、画像、その他の生成物)を ID で取得または削除します。

listenhub creation get <id> [-j]
listenhub creation delete <id...> [-j]
コマンド引数意味
creation get <id>創作物の ID創作物の詳細を取得します。-j を受け付けます。
creation delete <id...>1 つ以上の ID創作物を 1 つ以上削除します。-j を受け付けます。
listenhub creation get <id>
listenhub creation delete <id1> <id2>

次のステップ

このページの内容