すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:マルチモーダル生成モデルの統合

最終更新日:Sep 02, 2026

Token Plan の画像生成、動画生成、音声合成モデルは、各ツールの拡張メカニズム (スキル、スラッシュコマンド、またはエージェント) を通じて統合する必要があります。

例:Claude Code での画像生成モデルの統合

この例では、スラッシュコマンドを使用して Claude Code に画像生成モデルを統合する方法を示します。他のツールでもプロセスは同様ですが、拡張メカニズムと設定ファイルのパスが異なります。

ステップ 1:スラッシュコマンドの作成

プラン固有の API キー (sk-sp- で始まる) を環境変数 $ANTHROPIC_AUTH_TOKEN として設定し、後続のステップで curl 認証に使用します。

プロジェクトのルートディレクトリに .claude/commands/text-to-image.md ファイルを作成し、以下の内容を記述します。

Token Plan の text-to-image API を呼び出し、説明に基づいて画像を生成します。

ユーザーリクエスト: $ARGUMENTS

## ステップ

1. ユーザーリクエストから、プロンプト (画像の説明)、モデル、サイズ (デフォルト 1024*1024) を抽出します。ユーザーがモデルを明示的に指定している場合 (例:「model=wan2.7-image」または「wan2.7-image を使用して描画」)、そのモデル名を正確に使用し、デフォルトにフォールバックしないでください。モデルが指定されていない場合のみ、デフォルトの qwen-image-2.0 を使用します。一般的な画像生成モデルには、qwen-image-2.0、qwen-image-2.0-pro、wan2.7-image、wan2.7-image-pro などがあります。完全なリストについては、Model Studio のモデルリストをご参照ください。

2. API を呼び出して画像を生成します (Bash ツールを使用して curl を実行)。

```
curl -s -X POST "https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "input": {
      "messages": [{"role":"user","content":[{"text":"<prompt>"}]}]
    },
    "parameters": {"size":"<size>"}
  }'
```

3. レスポンス JSON の output.choices[*].message.content[*].image から画像 URL を抽出します。

4. curl -s -o "generated_$(date +%Y%m%d_%H%M%S).png" "<URL>" で画像を現在のディレクトリにダウンロードします。

5. 生成された画像ファイルのパスをユーザーに表示します。

ステップ 2:画像の生成

Claude Code で /text-to-image draw a cat と入力します。デフォルト以外の画像生成モデルを使用する場合は、コマンドにモデル名を含めてください。例:/text-to-image draw a cat using wan2.7-image

例:Claude Code での動画生成モデルの統合

この例では、スラッシュコマンドを使用して Claude Code に動画生成モデルを統合する方法を示します。動画生成は非同期 API を使用し、タスクの送信、ステータスのポーリング、動画のダウンロードというワークフローで実行されます。

ステップ 1:スラッシュコマンドの作成

プラン固有の API キー (sk-sp- で始まる) を環境変数 $ANTHROPIC_AUTH_TOKEN として設定し、後続のステップで curl 認証に使用します。

プロジェクトのルートディレクトリに .claude/commands/text-to-video.md ファイルを作成し、以下の内容を記述します。

Token Plan の text-to-video API を呼び出し、説明に基づいて動画を生成し、自動的にローカルにダウンロードします。

ユーザーリクエスト: $ARGUMENTS

## ステップ

1. ユーザーリクエストから、プロンプト (動画の説明)、モデル (デフォルト happyhorse-1.1-t2v)、解像度 (デフォルト 720P)、アスペクト比 (デフォルト 16:9)、再生時間 (デフォルト 5 秒) を抽出します。ユーザーがモデルを明示的に指定している場合 (例:「model=happyhorse-1.1-r2v」)、そのモデル名を正確に使用してください。

2. Bash ツールを使用して以下のスクリプトを実行します。このスクリプトは、タスクの送信、完了の待機、動画のダウンロードを一括で実行します。

```bash
#!/bin/bash
set -e

TASK_RESPONSE=$(curl -s -X POST "https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis" \
  -H "X-DashScope-Async: enable" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "input": {"prompt": "<prompt>"},
    "parameters": {"resolution": "<resolution>", "ratio": "<ratio>", "duration": <duration>}
  }')

TASK_ID=$(echo "$TASK_RESPONSE" | grep -o '"task_id":"[^"]*"' | head -1 | cut -d'"' -f4)
if [ -z "$TASK_ID" ]; then echo "タスクの送信に失敗しました: $TASK_RESPONSE"; exit 1; fi
echo "タスクを送信しました。ID: $TASK_ID。生成を待っています..."

while true; do
  sleep 15
  STATUS_RESPONSE=$(curl -s "https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/$TASK_ID" \
    -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN")
  STATUS=$(echo "$STATUS_RESPONSE" | grep -o '"task_status":"[^"]*"' | cut -d'"' -f4)
  if [ "$STATUS" = "SUCCEEDED" ]; then
    VIDEO_URL=$(echo "$STATUS_RESPONSE" | grep -o '"video_url":"[^"]*"' | cut -d'"' -f4)
    OUTPUT="generated_$(date +%Y%m%d_%H%M%S).mp4"
    curl -s -o "$OUTPUT" "$VIDEO_URL"
    echo "動画がダウンロードされました: $(pwd)/$OUTPUT"
    exit 0
  elif [ "$STATUS" = "FAILED" ]; then
    echo "生成に失敗しました: $STATUS_RESPONSE"; exit 1
  fi
  echo "生成中..."
done
```

3. 生成された動画ファイルのパスをユーザーに表示します。

ステップ 2:動画の生成

Claude Code で /text-to-video a white cat sunbathing on a balcony と入力します。別の動画生成モデルを使用する場合は、コマンドにモデル名を含めてください。例:/text-to-video generate a video of a cat jumping using happyhorse-1.1-r2v

例:Claude Code での音声合成モデルの統合

この例では、スラッシュコマンドを使用して Claude Code に音声合成モデルを統合する方法を示します。音声合成は同期 API を使用し、非ストリーミングモードとストリーミングモードの両方をサポートします。

ステップ 1:スラッシュコマンドの作成

プラン固有の API キー (sk-sp- で始まる) を環境変数 $ANTHROPIC_AUTH_TOKEN として設定し、後続のステップで curl 認証に使用します。

プロジェクトのルートディレクトリに .claude/commands/text-to-speech.md ファイルを作成し、以下の内容を記述します。

Token Plan の音声合成 API を呼び出し、テキストを音声ファイルに変換します。

ユーザーリクエスト: $ARGUMENTS

## ステップ

1. ユーザーリクエストから、text (合成するテキスト)、voice (音声スタイル、デフォルト longanhuan_v3.6)、format (音声フォーマット、デフォルト mp3)、sample_rate (サンプルレート、デフォルト 24000) を抽出します。ユーザーがモデルを明示的に指定している場合は、そのモデル名を使用します。それ以外の場合は、デフォルトの qwen-audio-3.0-tts-plus を使用します。

2. API を呼び出して音声を合成します (Bash ツールを使用して curl を実行)。

```
curl -s -X POST "https://token-plan.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesis" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -o "speech_$(date +%Y%m%d_%H%M%S).<format>" \
  -d '{
    "model": "<model>",
    "input": {
      "text": "<text>",
      "voice": "<voice>",
      "format": "<format>",
      "sample_rate": <sample_rate>
    }
  }'
```

3. 生成された音声ファイルのパスをユーザーに表示します。

ステップ 2:音声の合成

Claude Code で /text-to-speech Hello, welcome to Model Studio と入力します。

その他のツール

拡張機能をサポートする主要な AI コーディングツールについて、拡張メカニズムと設定ファイルのパスを次の表に示します。上記の Claude Code の例と同じ内容を対応するパスに保存してください。

ツール

拡張メカニズム

設定ファイルのパス

Claude Code

スラッシュコマンド

.claude/commands/text-to-image.md

Codex

スキル

~/.codex/skills/token-plan-image/SKILL.md

Qwen Code

スキル

~/.qwen/skills/text-to-image/SKILL.md

OpenCode

エージェント

.opencode/agents/text-to-image.md

OpenClaw

スキル

~/.openclaw/workspace/skills/token-plan-image/SKILL.md

Hermes Agent

スキル

~/.hermes/skills/media/text-to-image/SKILL.md

Qoder

スキル

~/.qoder/skills/text-to-image/SKILL.md

注記スキルベースのツール (Codex、Qwen Code、OpenClaw、Hermes Agent、Qoder) では、設定ファイルの先頭に YAML フロントマターが必要です。

---
name: "token-plan-image"
description: "Token Plan の text-to-image モデルを呼び出し、テキストの説明から画像を生成します。ユーザーが画像の描画または生成を依頼したときに起動します。"
---

(... 上記の Claude Code の例と同じ内容 ...)

OpenCode エージェントでは、フロントマターの形式が異なります。

---
description: "Token Plan の text-to-image モデルを呼び出し、テキストの説明から画像を生成します。"
mode: subagent
tools:
  bash: true
  write: false
  edit: false
---

(... 上記の Claude Code の例と同じ内容 ...)