Flow Music (fmusic) について
Flow Music (fmusic)は、Google Flow Music (Lyria)で楽曲を生成・編集するコマンドラインクライアント兼MCPサーバーです。ターミナル利用者やAIエージェント向けに、楽曲生成のほか、ステム分割、ダウンロード、ループ作成も提供します。
主な機能
- 01説明文や歌詞から楽曲を生成
- 02チャットで楽曲を続編・リミックス
- 03ボーカルと楽器のステム分割
- 04生成したクリップのダウンロードと管理
- 05シームレスなインストループの作成
活用シーン
- 01テキストプロンプトから楽曲を生成
- 02ゲーム用のループ音楽を用意
- 03保存済みクリップの確認やダウンロード
MCP 対応
MCPサーバーは、楽曲生成やクリップ操作などのFlow Music機能をMCPクライアントに公開します。`fmusic mcp run` で起動できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
9掲載時のツール一覧 · 3 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| loop | boolean | いいえ | |
| model | string | いいえ | |
| format | string | いいえ | |
| lyrics | any | いいえ | |
| prompt | string | はい | |
| out_dir | any | いいえ | |
| download | boolean | いいえ | |
| loop_format | string | いいえ | |
| instrumental | boolean | いいえ |
詳細
flowmusic-cli
ターミナル、スクリプト、AI エージェントから Google Flow Music(Lyria)で音楽を作成できます。
fmusic は、flowmusic.app 用のコマンドラインクライアントおよび MCP サーバーです。ご自身の Google アカウントで一度サインインすれば、その後はブラウザーなしで利用できます。曲の説明を入力すると、数分後には WAV ファイルと、曲の詳細を記載した JSON ファイルが手に入ります。
mcp-name: io.github.JvanLeeuwen4/flowmusic-cli
重要
非公式プロジェクトです。 Google との提携、Google による承認、またはサポートはありません。flowmusic.app のウェブサイトと同じエンドポイントを使用するため、サイトの変更によって動作しなくなる可能性があります。ご自身のアカウントとクレジットを使用します。Flow Music の利用規約と生成 AI 利用ポリシーを遵守し、スパムや大量生成には使用しないでください。
クイックスタート
uv tool install flowmusic-cli # 1. install (or: pipx install flowmusic-cli)
fmusic auth login # 2. a browser opens once: sign in with Google
fmusic generate "dreamy synthwave, airy female vocals, 100 bpm" # 3. make a song
出力例:
♪ take 1 (audio__create_song) Dreamy synthwave, airy female vocals, lush pads, 100 bpm
queued "Neon Drift" 3e2b2139-… (~35s)
✓ rendered "Neon Drift"
⬇ ~/Music/flowmusic-cli/2026-11-04/neon-drift_3e2b2139.wav
Neon Drift 1:44 3e2b2139-2783-4171-a2b4-a51d03bc4504
continue with: fmusic chat 13001945-… "…"
必要なもの:
- Python 3.10 以降。uv または pipx 経由で使用します。
- 初回サインイン用の Google Chrome または Edge。
- Flow Music を利用できる Google アカウント。Google AI のサブスクリプションに加入すると、最も多くのクレジットを利用できます。
できること
| やりたいこと… | コマンド |
|---|---|
| 説明から曲を作る | fmusic generate "folk ballad about the sea, male vocals" |
| 自分の歌詞を使う | fmusic generate "upbeat k-pop" --lyrics lyrics.txt |
| インストゥルメンタルを作る | fmusic generate "lofi beat, 80 bpm" --instrumental |
| 作ったばかりの曲を変更する | fmusic chat <conversation_id> "make it faster, add a bridge" |
| 自分の音源を別のスタイルにする | fmusic generate "turn this into a jazz trio" --audio demo.mp3 |
| 曲をステムに分割する | fmusic stems <clip_id>(ボーカル、ドラム、ベース、その他) |
| 自分の曲を確認する | fmusic clips list |
| 曲をダウンロード、名前変更、削除する | fmusic clips download/rename/delete <clip_id> |
| ゲーム用のループ音楽を作る | fmusic generate "cozy village theme" --instrumental --loop (詳細) |
| 手持ちの曲をループさせる | fmusic loop <clip_id or file>(クレジット不要) |
| クレジットを確認する | fmusic credits |
すべてのコマンドとフラグの詳細は、docs/commands.md をご覧ください。
生成の仕組み
Flow Music には AI の共同プロデューサーがいます。入力したプロンプトはこの共同プロデューサーに渡され、何を作るかが決まります。多くの場合、1 つか 2 つのテイクが作成されます。プロンプトは詳細な「サウンドプロンプト」に書き換えられ、次のステップが提案されることもあります。生成ごとに会話が作成され、たとえばテイクの調整、延長、リミックスを行う場合は、fmusic chat <conversation_id> "…" でその会話を続けます。
共同プロデューサーを介さずに厳密に制御したい場合は、実験的な --direct モードを使用してください。プロンプトはそのまま曲のモデルに渡され、-n でテイク数を指定します。
fmusic generate "minimal techno, 126 bpm, hypnotic" --direct -n 2 --title "Night Drive"
ゲーム音楽:シームレスなループ
Lyria の楽曲にはイントロと明確な終わりがあるため、ファイルをそのままループ再生すると、最後のコードから冒頭へ突然戻ります。--loop を使えば解決できます。
1 分間の Lyria ジングルのつなぎ目前後 16 秒をお聴きください:🔊 元のファイルをループ再生 · 🔊 fmusic loop。つなぎ目は 0:08 です。
uv tool install --force "flowmusic-cli[game]" # once: adds numpy + soundfile (no ffmpeg needed)
fmusic generate "cozy pixel-art village theme, acoustic guitar, 90 bpm" --instrumental --loop
⬇ ~/Music/flowmusic-cli/2026-11-05/peaceful-village_467c790b.wav
⟳ loop 0:24 → 1:44 (length 80.0s, similarity 0.96 good)
⬇ ~/Music/flowmusic-cli/2026-11-05/peaceful-village_467c790b_loop.ogg
- プロンプトには、「ループ可能:安定したグルーヴ、イントロなし、エンディングなし」という短い指示が追加されます。
<name>_loop.oggは、どのエンジン(Godot、Unity、ウェブオーディオ)でもループ再生を有効にすると滑らかにつながるよう、カットしてクロスフェードされます。WAV の場合は--loop-format wav|bothを使ってください。- フル WAV にはイントロがそのまま残り、ループポイントが
smplチャンクとして追加されます。Godot では Loop Mode: Detect From WAV を指定してインポートすると、イントロを 1 回再生した後にループします。 - JSON には
loop: {start_s, end_s, length_s, start_sample, end_sample, similarity, quality}が追加されます。qualityがpoorの場合、つなぎ目が聞こえることがあります。別のテイクを試してください。 - すでにある楽曲にはクレジットがかかりません:
fmusic loop <clip_id>またはfmusic loop theme.wavを実行してください。
ループの検出方法については、docs/how-it-works.md をご覧ください。
インストール
| 方法 | コマンド |
|---|---|
| uv(推奨) | uv tool install flowmusic-cli |
| pipx | pipx install flowmusic-cli |
ゲーム用ループ機能付き(--loop) | uv tool install "flowmusic-cli[game]" |
| GitHub から最新版をインストール | uv tool install git+https://github.com/JvanLeeuwen4/flowmusic-cli |
| 更新 | uv tool upgrade flowmusic-cli |
このパッケージをインストールすると、同等のコマンド fmusic と flowmusic の 2 つが利用できます。
サインイン
fmusic auth login # opens Chrome/Edge: sign in with Google; the window closes by itself
fmusic auth status # shows email, subscription tier, credits (exit code 0 = OK)
fmusic auth logout
- サインインは 1 回だけで済みます。トークンは自動的に更新されるため、ログアウトするかセッションが取り消されない限り、再度サインインする必要はありません。
- 複数のアカウントを使うには、任意のコマンドに
--profile workを追加するか、FMUSIC_PROFILE=workを設定してください。 - ブラウザーを開けない場合(サーバー上など)は、別のマシンで flowmusic.app にサインインします。ブラウザーの開発者ツールで「ネットワーク」タブを開き、任意の
__apiリクエストのCookieヘッダーをコピーします。その後、次を実行してください。fmusic auth import "sb-sb-auth-token.0=base64-…; sb-sb-auth-token.1=…"
AI エージェントから使う
fmusic はエージェントから操作できるように設計されています。方法は 3 つあります。
1. Claude Code プラグイン(スキル + MCP サーバー)
/plugin marketplace add JvanLeeuwen4/flowmusic-cli
/plugin install fmusic@flowmusic-cli
その後、ターミナルで fmusic auth login を 1 回実行してください。プラグインは uvx を通じて MCP サーバーを起動するため、ほかに何もインストールする必要はありません。
2. 任意の MCP クライアント(Claude Desktop、Cursor、VS Code、Codex、…)
クライアントの MCP 設定に次を追加してください。uv だけが必要です。
{
"mcpServers": {
"fmusic": { "command": "uvx", "args": ["--from", "flowmusic-cli[game]", "fmusic", "mcp", "run"] }
}
}
fmusic がすでにインストールされている場合は、次のコマンドで設定を書き込めます。
fmusic mcp setup --target claude-code # or: claude-desktop, print
ツールとパラメーターの一覧は docs/mcp.md をご覧ください。
3. --json を使った CLI
すべてのコマンドで --json を指定できます。
- 結果は 1 つの JSON オブジェクトとして標準出力に出力されます:
{"status":"ok","data":…}または{"status":"fail","error":{…}}。 - 進行状況メッセージは標準エラー出力に出力されます。
- 終了コードは安定しています。docs/troubleshooting.md をご覧ください。
fmusic --json generate "calm piano, 70 bpm" --instrumental | jq '.data.clips[].files'
このリポジトリの開発に携わるエージェントは、AGENTS.md をご覧ください。
ファイルの保存先
デフォルトでは、楽曲は ~/Music/flowmusic-cli/<date>/ に保存されます。-o DIR を使うと保存先フォルダーを指定でき、ファイルはそのフォルダーに直接保存されます。各クリップから次のファイルが生成されます。
neon-drift_3e2b2139.wav # audio (or .m4a with --format m4a; both with --format both)
neon-drift_3e2b2139.json # title, duration, sound prompt, lyrics, ids, URLs
neon-drift_3e2b2139.jpg # cover art (only with --cover)
設定
すべての設定は任意の環境変数です。
| 変数 | デフォルト | 用途 |
|---|---|---|
FMUSIC_PROFILE | default | 使用する保存済みアカウント |
FMUSIC_OUTPUT_DIR | ~/Music/flowmusic-cli | ダウンロード先 |
FMUSIC_HOME | OS user-data dir | セッションの保存先 |
FMUSIC_TIMEOUT | 60 | HTTP タイムアウト(秒) |
トラブルシューティング
よくある問題は次のとおりです。
- ボーカル入りのトラックをアップロードすると、「not available in your region」と表示されて失敗します。 EU を含む一部の地域では、Flow Music でボーカル入りのトラックをアップロードしたり、トラックからボーカルを削除したりできません。代わりにインストゥルメンタルをアップロードしてください。
Session expired(終了コード 3)。fmusic auth loginをもう一度実行してください。- Google にサインインできません。 Chrome または Edge がインストールされていることを確認してください。代わりに
fmusic auth importを使用することもできます。
その他の情報はすべて docs/troubleshooting.md にあります。
ドキュメント
| ドキュメント | 対象 |
|---|---|
| docs/commands.md | すべてのコマンド、フラグ、JSON 形式 |
| docs/mcp.md | MCP ツールとクライアントのセットアップ |
| docs/troubleshooting.md | エラー、終了コード、解決方法 |
| docs/how-it-works.md | アーキテクチャと flowmusic.app API |
| AGENTS.md | コントリビューターとコーディングエージェント |
| llms.txt | LLM 向けの簡潔な概要 |
コントリビューション
Issue やプルリクエストを歓迎します。ディレクトリ構成とテストコマンドについては、AGENTS.md をご覧ください。
uv run --extra dev pytest
サインイン方式は gflow-cli を参考にしています。MIT ライセンスです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。