CraftStory について
CraftStory は、CraftStory API を通じてトーキングアバター動画、短いクリップ、画像、音楽、効果音を生成する MCP サーバーです。MCP クライアントを使うコンテンツ制作者向けに、モデル選択、料金見積もり、ジョブ追跡、動画のアップスケールを提供します。
主な機能
- 01写真からトーキングアバター動画を作成
- 02音声やリップシンク付きの短編を生成
- 03画像、音楽、効果音を作成
- 04モデル、音声、アバター、料金を確認
- 05ジョブ追跡と動画のアップスケール
活用シーン
- 01写真と台本から話す動画を作成
- 02写真と説明から短編クリップを生成
- 03メディア用の音楽や効果音を作成
- 04生成状況を確認して結果を取得
MCP 対応
MCP クライアントに、ツールとガイド付きプロンプトを通じて CraftStory API の機能を公開します。ローカルパッケージのほか、OAuth 対応の Streamable HTTP ホストサーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.craftstory.com/mcpclaude mcp add --transport http craftstory https://mcp.craftstory.com/mcp{"mcpServers":{"craftstory":{"type":"http","url":"https://mcp.craftstory.com/mcp"}}}Cursor で開く{"servers":{"craftstory":{"type":"http","url":"https://mcp.craftstory.com/mcp"}}}VS Code で開く{"mcpServers":{"craftstory":{"type":"http","url":"https://mcp.craftstory.com/mcp"}}}{"mcpServers":{"craftstory":{"serverUrl":"https://mcp.craftstory.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
CraftStory MCP サーバー
Claude、Cursor、Claude Code、その他の MCP クライアントから、CraftStory API を使ってトーキングアバター動画を生成できます。
- CraftStory 2.0 - 1 枚の写真と音声クリップ(台本と音声、自分で録音した音声、またはカスタムアバター)から、長さを問わずトーキング動画を生成します。動画 1 本あたり 8~15 分です。
- MiniMax H3 - 1 枚の写真から最大 15 秒のクリップを生成します。生成音声付きの説明文主導、リップシンク付きの音声主導、または音声なしの参照モデルに対応します(説明文に書かれたセリフが音声になります。追加の写真を使うと、2 人目の人物や製品の一貫性を保てます)。所要時間は 1~3 分です。
Node.js 20 以降、API にアクセスできるプランの CraftStory アカウント、API キーが必要です(アプリの Account -> API Access から取得できます。キーは sk-cs-... の形式です)。生成にはアプリと同じクレジットが課金され、ジョブに失敗した場合はクレジットが返却されます。
設定
すべてのクライアント(Claude Desktop、Cursor、Windsurf、VS Code、Zed など)で共通の標準的な MCP 設定です。
{
"mcpServers": {
"craftstory": {
"command": "npx",
"args": ["-y", "@craftstory/mcp"],
"env": {
"CRAFTSTORY_API_KEY": "sk-cs-..."
}
}
}
}
インストール
claude.ai、Claude Desktop、モバイル:ホステッドコネクター
キーもインストールも不要です。コネクターは Claude アカウントに紐づくため、一度設定すればウェブ、デスクトップ、モバイルのすべてで使えます。claude.ai で Settings → Connectors → Add custom connector を開き、
https://mcp.craftstory.com/mcp を貼り付けて、詳細設定を開き、OAuth Client ID に
hAlwpyaDeO0CmuEKMibZxiXxtTT09NXL(公開情報。シークレットは不要)を設定してから、CraftStory アカウントでサインインします。
アカウントには API アクセス権のあるプラン(Producer)が必要です。ホステッドサーバーは OAuth 2.1(Auth0)を使う Streamable HTTP で通信し、以下のパッケージと同じツールを実行します。ローカルのファイルパスやチャットの添付ファイルは利用できません。公開 URL を渡すか、Claude に request_file_upload を呼び出させ、返された 1 回限りのアップロードページで写真をアップロードしてください。
Claude Code
claude mcp add --scope user craftstory -e CRAFTSTORY_API_KEY=sk-cs-... -- npx -y @craftstory/mcp
(--scope user を指定すると、すべてのプロジェクトで利用できます。省略すると、現在のプロジェクトだけにインストールされます。)
Claude Desktop
claude_desktop_config.json(Settings -> Developer -> Edit Config)に追加してから、Claude Desktop を再起動します。サーバーはツールアイコンの下に表示されます。
{
"mcpServers": {
"craftstory": {
"command": "npx",
"args": ["-y", "@craftstory/mcp"],
"env": { "CRAFTSTORY_API_KEY": "sk-cs-..." }
}
}
}
Cursor / その他のクライアント
~/.cursor/mcp.json でも同じ形式です(ユーザーレベルなので、キーがリポジトリに保存されることはありません)。コマンドは npx、引数は ["-y", "@craftstory/mcp"]、環境変数は CRAFTSTORY_API_KEY です。プロジェクトレベルの .cursor/mcp.json では "CRAFTSTORY_API_KEY": "${env:CRAFTSTORY_API_KEY}" を使い、実際のキーはシェル環境に設定してください。
環境変数:CRAFTSTORY_API_KEY(必須)、CRAFTSTORY_API_BASE(任意。既定値は https://api.craftstory.com/api/v1。CRAFTSTORY_ALLOW_HTTP=1 の場合を除き、https が必須です)。
ツール
アップロードリンク(ホストモードとローカルモードのどちらでも使用可能):request_file_upload(kind=image|audio|video) → ユーザー用の1回限りのページ → wait_for_upload / get_upload。画像:file_url を image_url に渡すか、upload_id を create_image(image_upload_ids) に渡します。音声:upload_id を create_audio_clip(audio_upload_id) に渡します。音声/動画:upload_id を MiniMax H3 ツールの reference_upload_ids に渡します。上限:写真は20 MB、音声と動画は100 MBです。
list_models:モデル、ステータス(一時停止中のモデルは503を返します)、上限、料金list_voices:ライブラリの音声。include_clonedを指定すると、クローンした音声も含まれますlist_avatars:カスタムアバター、または1つのアバターのシーンcreate_audio_clip:テキストと音声からの音声生成、またはローカル録音のアップロードpreview_cost:CraftStory 2.0 の動画のクレジット見積もりcreate_craftstory2_video:CraftStory 2.0 のジョブを開始します(写真またはアバターのシーン+音声クリップ)create_minimax_h3_video、create_minimax_h3_avatar_video:MiniMax H3 のジョブを開始します(基本モード、または音声の有無を選べる参照モード)create_cloud_video、preview_cloud_video_cost:クラウドモデルのいずれかを使い、写真を最初のフレームとするクリップを作成します:seedance-2.5(4~30秒)、flux-3-video/flux-3-max(5~20秒、720p/1080p)、minimax-h3-maxとheygen-video(5~15秒、480p/768p/1080p)、gemini-omni-flash(3~10秒、720p)。モデルが独自のサウンドトラックを作成し、音声を生成しますget_job_status:ステータス、進捗率、失敗理由、返金フラグget_job_result:署名付き動画 URL(有効期間7日)を含む完全なレコードwait_for_job:上限付きポーリング(デフォルト45秒、最大55秒)。stateがrunningの間は再度呼び出しますupscale_video:アップスケール後の結果を含む新しいジョブ(CraftStory 2.0 は720pから1080p、H3とクラウドモデルは2倍)create_image:プロンプトから画像を生成します。最大8枚の写真を任意で使用できます。modelは nano-banana(10クレジット、デフォルト)、nano-banana-pro(39)、seedream-5-pro(13)、flux-3(14)から選択します。aspect_ratioは9:16、16:9、4:5、1:1、3:4、4:3から選択します。生成されたimage_urlは動画ツールにそのまま渡せますcreate_music:説明文から5~180秒の音楽トラックを作成します(デフォルトはインストゥルメンタル、1秒あたり1クレジット)。拒否されたプロンプトにはprompt_suggestionが返されますcreate_sound_effect:0.5~30秒(または自動長)の効果音または環境音を作成します。シームレスループも任意で指定できます(5秒ごとに1クレジット、最低2クレジット)
さらに、モデルを全体の流れに沿って案内する、プロンプト talking_video_from_photo(スクリプト+写真)もあります。
例
/Users/me/photos/portrait.jpgにある人物が「Welcome to our spring collection」と話す、落ち着いたジェスチャーのポートレート動画を作成してください。
アシスタントは次のように実行します:list_voices -> create_audio_clip -> wait_for_job(audio-clip) -> preview_cost -> create_craftstory2_video(解像度は 720_1280、または4:5の場合は 768_960、ジェスチャーは calm)-> wait_for_job(craftstory-2) を数回 -> get_job_result -> 動画 URL。
時間のかかるジョブ:wait_for_job は timeout_s(デフォルト45秒、最大55秒)以内に戻ります。最終結果の取得にはさらに数秒かかります。内部の各リクエストは残り時間に合わせて上限が設定されるため、ほとんどのクライアントのツール呼び出し上限である60秒以内に収まります。CraftStory 2.0 の動画には複数回の呼び出しが必要です。これはエージェントのランタイムがタイムアウトしないようにするための仕様です。CraftStory 2.0 の動画には複数回の呼び出しが必要です。これはエージェントのランタイムがタイムアウトしないようにするための仕様です。
ローカルファイルと URL
写真には image_url(JPG/PNG)または image_path(絶対パスまたは ~/...。JPG/PNG/HEIC、最大20 MB、マルチパート形式でアップロード)を指定できます。録音と追加の参照ファイルにもローカルパスを指定できます。パスとして渡したファイルはすべて CraftStory API にアップロードされるため、クライアントのツール承認プロンプトを有効にしておいてください(SECURITY.md を参照)。
ホステッドサーバー(運用者向け)
craftstory-mcp-http は、OAuth の背後で Streamable HTTP を通じて同じツールを提供します。必須の環境変数:MCP_PUBLIC_URL、
AUTH0_DOMAIN。任意の環境変数:MCP_AUDIENCE(デフォルトは <MCP_PUBLIC_URL>/mcp)、CRAFTSTORY_API_BASE、PORT
(8788)、MCP_ALLOWED_ORIGINS、ロードバランサーの背後で使用する MCP_TRUST_PROXY=1。保護対象リソースのメタデータは
/.well-known/oauth-protected-resource/mcp にあります。アクセストークンはテナントの JWKS に照らして検証され、CraftStory API に転送されます。保存されるデータはありません。Dockerfile が本番用イメージをビルドします。
開発
npm install
npm run build
CRAFTSTORY_API_KEY=sk-cs-... npm run smoke # live check over stdio: lists tools, makes an audio clip, previews cost
# add "-- --h3" and SMOKE_IMAGE=/path/to/photo.jpg to also render a 5 s MiniMax H3 clip (costs 17 credits)
npm test
API の完全なリファレンス:https://api.craftstory.com/api/v1/docs/public/。curl の手順については https://api.craftstory.com/api/v1/docs/samples/curl/ をご覧ください。
プライバシーポリシー
このサーバーはお使いのマシン上で実行され、独自のデータを保持しません。API キーと、ツールに渡す入力(テキスト、写真、音声、参照ファイル)は、CRAFTSTORY_API_BASE(デフォルトは
https://api.craftstory.com)にある CraftStory API にのみ送信され、CraftStory のプライバシーポリシーに基づいて処理されます:
https://craftstory.com/privacy/。生成された動画とアップロードされたファイルは CraftStory アカウントに保存され、アカウント上または API 経由で削除できます。サーバーがローカルにデータを保持することはありません。サーバー自体が分析サービスやサードパーティーサービスを呼び出すことはありません。お問い合わせ:サポート窓口 https://craftstory.com/contacts/。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。