AIエージェント入門

MMX-CLI実装ガイド — 2コマンドで7モダリティをAIエージェントに統合

MMX-CLI実装ガイド — 2コマンドで7モダリティをAIエージェントに統合

この記事の結論

MiniMax MMX-CLIのインストールから7モダリティ活用まで。Claude Code/Cursorへの統合・Music APIのコード例・SKILL.mdベース自動学習設計を解説します。

「AIエージェントに画像生成・音声合成・音楽生成をまとめて組み込みたい。でもAPIを別々にラップするのが面倒で……」

ある開発者から実際にこういう相談を受けました。マルチモーダルな機能を一つのエージェントに集約しようとすると、APIクライアントを7種類実装して、認証フローを個別に管理して——という作業が積み重なります。

2026年4月9日にMiniMaxがリリースしたMMX-CLIは、この問題を「npx skills add MiniMax-AI/cli -y -g」の1コマンドで解消します。テキスト、画像、動画、音声、音楽、ビジョン、検索——7つのモダリティをターミナルから一元的に扱えるCLIで、Claude CodeやCursorのようなAIエージェント環境への統合にも対応しています。

この記事では、インストールから実際のコード活用まで、5分で動かせる手順を中心に解説します。

まず動かす:インストールから認証まで3ステップ

ステップ1:インストール(環境別2パターン)

# AIエージェント環境向け(Claude Code / Cursor / OpenClaw等)
# SKILL.mdベースの自動学習設計で使うならこちら
npx skills add MiniMax-AI/cli -y -g

# ターミナル直接利用向け(グローバルインストール)
npm install -g mmx-cli

# 前提条件: Node.js 18以上
node --version  # v18.x.x 以上であることを確認

実測値:MacBook Pro M2での動作確認(2026-04-13)。インストール完了まで約45秒。

ステップ2:MiniMax APIキーの取得と認証

# APIキー認証(headless環境・CI/CD向け)
mmx auth login --api-key sk-xxxxx

# ブラウザ認証(ローカル開発向け)
mmx auth login

# 認証確認
mmx auth status

APIキーはMiniMax Platformから取得できます。Token Planへの登録が必要です。設定は ~/.mmx/credentials.json に自動保存されます。

ステップ3:動作確認(30秒テスト)

# テキスト生成で接続確認
mmx text chat --message "Hello from MMX-CLI"

# 期待される出力例:
# > Hello! I'm MiniMax M2.7. How can I help you today?

# クォータ残量確認
mmx quota

7モダリティのコマンドリファレンスと実用例

MMX-CLIが提供するコマンドグループと、実際の開発で使えるパターンを整理します。

コマンド モダリティ 主なユースケース
mmx text テキスト生成 エージェントの推論・チャット(M2.7デフォルト)
mmx image 画像生成 コンテンツ生成・サムネイル自動化
mmx video 動画生成 プレゼン資料・マーケティング素材
mmx speech 音声合成 音声エージェント・ポッドキャスト自動化
mmx music 音楽生成 BGM自動生成・ゲームサウンド
mmx vision 画像理解 スクリーンショット解析・OCR代替
mmx search Web検索 エージェントのリアルタイム情報収集

コード例1:テキスト生成(ストリーミング+システムプロンプト)

# ストリーミング付き高速モード
mmx text chat \
  --model MiniMax-M2.7-highspeed \
  --message "Pythonでシンプルなエージェントを実装するコードを書いて" \
  --stream

# システムプロンプト + JSON出力(エージェント連携向け)
mmx text chat \
  --system "あなたはコードレビュアーです。JSON形式で問題点を返してください" \
  --message "$(cat mycode.py)" \
  --json

# マルチターン会話(--message を複数回)
mmx text chat \
  --message "AIエージェントのメモリ設計について説明して" \
  --message "短期記憶と長期記憶の違いは?"

コード例2:音楽生成API(Music 2.6相当機能)

# Lo-fiトラック生成(インストゥルメンタル)
mmx music generate \
  --prompt "Lo-fi study beat with soft piano and rain ambiance" \
  --instrumental \
  --out study_bgm.mp3

# 歌詞付き楽曲生成
mmx music generate \
  --prompt "Upbeat tech startup anthem, energetic, modern" \
  --lyrics "Innovation drives us forward / Building what comes next" \
  --out startup_song.mp3

# 参照音声からカバー生成
mmx music generate \
  --prompt "Jazz piano cover version" \
  --reference-audio original.mp3 \
  --out jazz_cover.mp3

実用場面:ポッドキャストのBGM自動生成、ゲームBGMのプロトタイピング、広告音楽のA/Bテスト用素材作成。

コード例3:ビジョン解析(スクリーンショット→テキスト化)

# スクリーンショット解析
mmx vision screenshot.png

# UIエラーの自動検出(エージェントのself-healingフロー)
mmx vision --prompt "このスクリーンショットにエラーメッセージはありますか?あれば内容を教えてください" error_screen.png

# 複数画像の一括解析(バッチ処理例)
for img in ./screenshots/*.png; do
  echo "=== $img ==="
  mmx vision --prompt "この画面で問題になっている箇所を特定してください" "$img"
  echo ""
done

Claude Code / Cursorへの統合:SKILL.mdベースの設計

MMX-CLIをAIエージェントに組み込む際の最大の特徴が、npx skills addコマンドによるSKILL.mdベースの自動学習設計です。

Claude Codeへの統合

# Claude Codeのセッション内でMMX-CLIを有効化
npx skills add MiniMax-AI/cli -y -g

# これによりClaude Codeが以下を自動で認識:
# - 利用可能なmmxコマンド
# - 各コマンドのパラメータ仕様
# - 出力形式とエラーハンドリング

# 実際の使用例:Claude Codeに音楽生成を依頼
# "プレゼン用のBGMをMMX-CLIで生成して" と指示するだけで
# Claude Codeが適切なmmx musicコマンドを自動実行

Cursorへの統合

# Cursor Terminal でインストール
npx skills add MiniMax-AI/cli -y -g

# .cursorrules に以下を追加してMMX活用を明示的に指示
cat >> .cursorrules << 'EOF'
## MiniMax MMX-CLI
- 画像生成が必要な場合は mmx image generate を使用
- 音声出力が必要な場合は mmx speech synthesize を使用
- 音楽/BGMが必要な場合は mmx music generate を使用
- 外部情報検索は mmx search を優先
EOF

Pythonエージェントからのサブプロセス呼び出し

import subprocess
import json

def generate_image_with_mmx(prompt: str, output_path: str, aspect_ratio: str = "16:9") -> str:
    """
    MMX-CLIを使って画像を生成する
    本番環境で使用する前に、必ずテスト環境で動作確認してください
    """
    result = subprocess.run(
        [
            "mmx", "image", "generate",
            "--prompt", prompt,
            "--aspect-ratio", aspect_ratio,
            "--out", output_path
        ],
        capture_output=True,
        text=True
    )

    if result.returncode != 0:
        raise RuntimeError(f"MMX image generation failed: {result.stderr}")

    return output_path

def analyze_screenshot(image_path: str, question: str) -> str:
    """スクリーンショットをMMX visionで解析する"""
    result = subprocess.run(
        ["mmx", "vision", "--prompt", question, image_path],
        capture_output=True,
        text=True
    )
    return result.stdout.strip()

def synthesize_speech(text: str, output_path: str, voice_speed: float = 1.0) -> str:
    """テキストを音声に変換する(30+ボイス対応)"""
    result = subprocess.run(
        [
            "mmx", "speech", "synthesize",
            "--text", text,
            "--speed", str(voice_speed),
            "--out", output_path
        ],
        capture_output=True,
        text=True
    )
    if result.returncode != 0:
        raise RuntimeError(f"Speech synthesis failed: {result.stderr}")
    return output_path

# 使用例: マルチモーダルエージェントのフロー
if __name__ == "__main__":
    # 1. テキスト生成
    result = subprocess.run(
        ["mmx", "text", "chat", "--message", "新製品のキャッチコピーを3つ考えて", "--json"],
        capture_output=True, text=True
    )
    copy = json.loads(result.stdout)["content"]

    # 2. コピーをビジュアル化(画像生成)
    img_path = generate_image_with_mmx(
        f"Product advertisement: {copy[0]}",
        "product_ad.png"
    )

    # 3. ナレーション音声を生成
    audio_path = synthesize_speech(copy[0], "narration.mp3")

    print(f"Generated: {img_path}, {audio_path}")

よくある失敗パターンと対策

失敗1:Node.jsのバージョン不足

❌ Node.js 16以下でインストールしようとする → npm WARN エラーが出て動かない

node --versionで18以上を確認してからインストール → 問題なし

対策nvm use 18またはnvm install 20で対応バージョンに切り替え

失敗2:APIキーをハードコードする

mmx auth login --api-key sk-xxxxxをスクリプト内に直書き → 誤ってGitにコミットするリスク

⭕ 環境変数MINIMAX_API_KEYを使う → セキュアに管理できる

# .envファイルに記載
MINIMAX_API_KEY=sk-xxxxx

# シェルから読み込み
export MINIMAX_API_KEY=$(cat ~/.minimax/api_key)
mmx auth login --api-key "$MINIMAX_API_KEY"

失敗3:動画生成でタイムアウトする

mmx video generateを同期モードで実行 → 長時間ブロックされてエージェントが止まる

--asyncフラグを使う → ジョブIDを取得し、ポーリングで結果を確認

# 非同期モードで動画生成をキック
JOB_ID=$(mmx video generate --prompt "..." --async | jq -r '.job_id')

# 結果を確認
mmx video status "$JOB_ID"

失敗4:クォータを使い果たす

❌ バッチ処理でループを高速に回す → API制限に引っかかる

mmx quotaで残量を確認しながら処理 → 事前にコスト見積もりを立てる

まとめ:今日から始める3つのアクション

  1. 今日やることnpm install -g mmx-cliでインストールし、mmx text chat --message "テスト"で動作確認する
  2. 今週中:Claude CodeかCursorにnpx skills add MiniMax-AI/cli -y -gで統合し、既存のエージェントワークフローに音声or画像生成を1つ追加してみる
  3. 今月中:マルチモーダルパイプライン(テキスト→画像→音声)を1本構築し、自動化できる繰り返し業務に適用する

あわせて読みたい:


参考・出典


この記事はAIgent Lab編集部がお届けしました。

この記事を読んで導入イメージが固まってきた方へ

UravationではAIエージェント導入の研修・コンサルを行っています。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年4月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事