dreamlayer について
dreamlayerは、MCPクライアント向けの画像生成・編集サービスです。背景除去、アップスケール、スプライトシート作成に対応し、ビジュアル素材の制作に使えます。READMEには未公開の動画機能候補も記載されていますが、公開版は画像とスプライトが中心です。
主な機能
- 01プロンプトから画像を生成・編集
- 02背景を除去して被写体を透過
- 03画像を縦横2倍に拡大
- 04スプライトフレーム、シート、プレビューを作成
- 05参照画像をアップロードして結果を保存
活用シーン
- 01ロゴやマーケティング素材の案を作成
- 02商品画像を生成・編集
- 03ゲーム用のスプライトアニメ素材を準備
MCP 対応
画像生成・編集、アップロード、実行状態の確認、イベント再開、ダウンロード用のMCPツールを公開します。動画ツールは未公開候補として記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
@dreamlayer/mcp
DreamLayer Agent APIを利用した、MCP 対応 AI クライアント向けの画像生成・編集ツールです。
この作業ツリーには、未公開の 0.5.0-beta.0 動画候補版が含まれています。以下のインストールセクションに記載されている公開版は、引き続き画像/スプライトのみをサポートします。ローカルで確認する場合は、Node >=22.12、pnpm install --frozen-lockfile、pnpm buildを使用し、認証済みの動画対応 API エンドポイントを使ってnode /absolute/path/to/dist/index.jsを実行するよう MCP クライアントを設定してください。公開やデプロイは行われません。
動画候補版のツール
dreamlayer_video_quoteは、有料の生成を行いません。dreamlayer_video_executeは、ユーザーが明示的に承認したクレジット上限内で、準備完了状態の所有済み見積もりのみを実行します。その承認を決して捏造しないでください。実行前に冪等性キーを保存してください。
{"tool":"dreamlayer_video_quote","arguments":{"operation":"text_to_video","prompt":"A silent forest video","options":{"resolution":"720p","generate_audio":false,"aspect_ratio":"16:9"}}}
画像を使用する場合は、まずdreamlayer_upload_imageに絶対パスを指定して実行し、返された所有済みアセット ID を使用してください。
{"tool":"dreamlayer_video_quote","arguments":{"operation":"image_to_video","prompt":"Restrained product showcase on a clean white background","input_asset_id":"OWNED_ASSET_UUID","context":{"use_case":"product_showcase","requested_background":"clean_white"},"options":{"model":"auto","duration_seconds":15,"generate_audio":false}}}
{"tool":"dreamlayer_video_execute","arguments":{"quote_id":"READY_QUOTE_UUID","max_credits":40,"idempotency_key":"SAVED_UNIQUE_KEY"}}
{"tool":"dreamlayer_execution","arguments":{"execution_id":"EXECUTION_UUID"}}
{"tool":"dreamlayer_events","arguments":{"execution_id":"EXECUTION_UUID"}}
{"tool":"dreamlayer_download","arguments":{"execution_id":"EXECUTION_UUID","path":"/absolute/new/result.mp4"}}
実行結果にはvideo_jobが含まれます。インライン/base64 形式の動画は含まれません。ステータスとイベントの取得は読み取り専用で、処理を開始することはありません。進捗は実際の実行ステージを示し、パーセンテージを捏造したものではありません。待機時間の上限に達した場合や応答が失われた場合でも、ジョブはキャンセルされません。同じ見積もり/キーを使用して、そのジョブ ID を復元してください。すでに消費された見積もりは、有効期限後も復元できます。生成をやり直さずに、ダウンロードを再試行してください。
デフォルトは、プロンプトとオプションのどちらにも指定がない場合は 10 秒、ネイティブ 720p、音声は指定がなければなしです。テキストのみの場合のアスペクト比は 16:9 です。明示的に指定された再生時間と発行済みの見積もりは変更されません。画像を 1 枚使う場合は、ネイティブ/ソースに基づくアスペクト比が使用されます。互換性のない設定を明示した場合や、画像が余分に指定された場合は、課金前に拒否されます。
ポリシーvideo-v3-scoped-intent-10s-20261010は、新規の見積もりにのみ適用されます。互換性のあるモデルが明示されている場合は、そのモデルを優先します。自動選択で 4 秒または 21~30 秒が指定された場合は Seedance を選択します。複雑な動き、難易度の高い音声、連続性、白または不明な商品背景、分類が不確かな場合は Seedance を優先します。明らかにシンプルな白以外の商品、話者 1 人のトーキングヘッド、レトロ、または光を制御したシネマティックなシーンでは FLUX を優先します。スタイルより複雑さを優先します。これらは優先順位であり、品質を保証するものではありません。FLUX は 5~20 秒、Seedance は 4~30 秒に対応します。ソース画像のピクセルは分析されません。音声が未指定の場合、話し言葉の対話があると音声が有効になります。キャプション/ラベルだけでは有効になりません。先行する「音楽なし」という節があっても、発話の指示は破棄されません。白以外は白でもある、ということにはなりません。また、話者がいるだけでは動きがシンプルだとは判断されません。ショットのタイムスタンプは、再生時間/アスペクト比の設定ではありません。長すぎるタイムラインは、短縮して圧縮するのではなく、費用が発生する前にエラーになります。対話が途中で切り捨てられることはありません。ライブテスト時のデフォルトは引き続き 5 秒です。既存の見積もりでは、モデル、プロンプト、設定、価格が維持されます。
プロバイダーをまたぐ自動再試行、忠実度スコアリング、UI の変更、拡張、アップスケーリング、キーフレーム、複数の参照画像には対応していません。ダウンロードには、所有者向けの 30 日間ストレージ、上限付きストリーミング、SHA-256 検証が使用され、既存ファイルは上書きされません。pricing_pending/アクセス無効の状態は、回避せず正直に報告してください。
ラスター形式のロゴ案、商品画像、マーケティング用ビジュアル、印刷用アートワークの案、ゲームアセットに使用できます。出力品質とタスク固有の要件を確認してください。タスクのガイダンスと Godot/Unity のインポート例については、インストール可能なエージェントのワークフローをご覧ください。
以下の完全なワークフローでは、公開済みのスプライト対応ベータ版を使用します。安定版のlatestは引き続き0.3.0です。ここに記載された明示的なバージョンを使用してください。
インストール
クライアントに追加します。Claude Code:
claude mcp add dreamlayer --env DREAMLAYER_API_KEY=dlr_live_your_key -- npx -y @dreamlayer/[email protected]
Codex:
codex mcp add dreamlayer --env DREAMLAYER_API_KEY=dlr_live_your_key -- npx -y @dreamlayer/[email protected]
Cursor、またはその他の stdio MCP クライアント:
{
"mcpServers": {
"dreamlayer": {
"command": "npx",
"args": ["-y", "@dreamlayer/[email protected]"],
"env": { "DREAMLAYER_API_KEY": "dlr_live_your_key" }
}
}
}
キーはサーバー自身の環境変数に設定する必要があります。MCP クライアントはこれをサブプロセスとして起動するため、シェルでエクスポートしたキーはサーバーに引き継がれません。これは最もよくある設定上の失敗であり、サーバーは正常に起動できないまま動作を始めるのではなく、説明を表示して終了します。
キーはplatform.dreamlayer.ioで取得できます。新しいアカウントのクレジットは 0 から始まります。通常の画像操作は 1 回につき 1 クレジットです。スプライトバンドルには、以下で説明するフレーム数に基づく見積もりが適用されます。
ツール
| ツール | 機能 |
|---|---|
dreamlayer_capabilities | このキーで実行できる契約と操作を読み取ります。クレジットは消費しません。 |
dreamlayer_balance | この API キーで利用できるプロモーション分、購入分、および合計クレジットを読み取ります。クレジットは消費しません。 |
dreamlayer_upload_image | PNG、JPEG、WebP、またはカメラ RAW(最大 200 MB)をアップロードし、input_asset_id を取得します。 |
dreamlayer_generate | 生成または編集します。イベントストリームを返します。 |
dreamlayer_execution | 1 件の実行について、正規の状態を読み取ります。 |
dreamlayer_events | 最後のイベント ID を指定して、切断後にストリームを再開します。 |
dreamlayer_download | 生成をやり直さずに、完了した実行を新しいローカルパスに保存します。 |
操作
operation を省略すると、DreamLayer がプロンプトを読み取り、確認の質問を返すことがあります。操作を指定すると、この推論は完全に省略されます。
operation | 画像が必要 | 結果 |
|---|---|---|
text_to_image | いいえ | プロンプトから新しい画像を生成します |
image_to_image | はい | 説明に従って編集した参照画像 |
background_remove | はい | 透明背景上の被写体 |
upscale | はい | 幅と高さを 2 倍にします |
upscale は各辺を 2 倍にします。生成後の画像は各辺が最大 4096 ピクセルに制限されるため、入力画像の長辺は 2048 ピクセル以下である必要があります。それより大きい画像はクレジットを消費する前に拒否されます。
知っておくとよい動作
質問は失敗ではありません。 あいまいなプロンプトを送信すると、needs_input で終わる question イベントが返されます。respond と conversation_id を指定して、もう一度 dreamlayer_generate を呼び出し、回答してください。
同じキーを再利用すれば、安全に再試行できます。 idempotency_key は自動生成されます。応答が不確かな場合は、同じキーを指定して再試行してください。二重に支払うことなく、元の結果が再送されます。
長時間の実行は失われず、切り詰められます。 ストリームが 256 イベントを超えると、取得済みの内容が返され、truncated が設定されます。また、再開に必要な execution_id と最後のイベント ID も返されます。
エラーは安定しており、プロバイダーに依存しません。 エラーツールの結果には code、reason、message、retryable、request_id が含まれ、REST と CLI で共通です。モデルはメッセージのテキストではなく、reason と retryable に基づいて分岐する必要があります。応答には、プロンプト、ローカルのファイル名、アセット URL、プロバイダーの詳細、認証情報、生の上流応答は含まれません。
要件
Node.js 22.12 以降。
ライセンス
MIT。LICENSE と NOTICE を参照してください。
スプライトシート(ベータ版)
スプライトのリクエストでは、options.animation_prompt(1~4000 文字)または options.action のプリセット(walk、run、idle)のいずれか一方を指定します。カスタムプロンプトでは、キャラクター、クリーチャー、オブジェクト、エフェクト、360° ターンテーブルを指定できます。animation_mode は loop または once です。プリセットのデフォルトはループ、カスタムプロンプトのデフォルトは 1 回です。ターンテーブルでは、カメラを固定し、被写体を回転させるよう指定してください。大まかなリクエストでは、正しい動き、見えない部分の詳細、エフェクトの背景透過が保証されません。
整数の frame_count は 7~100(デフォルトは 12)、frame_size は 32、64、128、256、512、720、1080(デフォルトは 512)を指定します。これらは正方形の書き出しキャンバスです。書き出しサイズを大きくしても、詳細が増えるとは限りません。アスペクト比とフレーム間の位置合わせは維持され、透明な余白が追加されます。生成されるバンドルには、透明な PNG フレーム、シート、アトラス、プレビュー、インポート手順が含まれます。各フレームの再生時間も記載されます。背景の透過が不要な場合は、options に background: "keep" を指定してください。フレームには生成された背景が残り、切り抜きなしの通常の画像として提供され、料金は一律の背景あり料金になります。切り抜けないフレームは、同じクリップ内の近いタイミングで再試行されます。切り抜きにくいフレームが 1 枚だけ残った場合は、シート全体を失敗させず、そのフレームの背景を残して提供します。atlas.json では、そのようなフレームが kept_background_frames に記載されます。繰り返し再生するループ、または始まりと終わりのある 1 回限りのアクションを選択してください。要求された数の異なるフレームを提供できない場合、ジョブは失敗し、保留中のクレジットは返還されます。半透明のエフェクトは、詳細が失われたり、生成に失敗したりすることがあります。小さい書き出しサイズでも、自動的にピクセルアートになるわけではありません。
サイズによる料金の違いはありません。フレーム 1~14 は 1 枚あたり $0.14、追加フレームは 1 枚あたり $0.07 です。background: "keep" の場合は、段階料金なしで全フレーム一律 $0.07 です。透明なシートのおよそ半額です(12 フレームの場合、9.9 クレジットではなく 5.0 クレジット)。1 クレジットは $0.17 です。注文全体の料金を一度だけ計算し、0.1 クレジット単位で切り上げます。capabilities の sprite_pricing を確認し、承認した見積もりを max_credits で指定してください。処理中はクレジットが保留され、配信完了後に確定し、失敗またはタイムアウト時には返還されます。ユーザーによるキャンセルはできません。ステータスを再開できるよう、実行 ID を保存してください。カスタムリクエストには、対応する広範なアニメーション機能を備えたサーバーリリースが必要です。古いサーバーでは拒否されます。新しいライブ生成の品質、100 フレームの長さ、実際の料金は未検証です。
dreamlayer_upload_image を呼び出してから、operation: "sprite_sheet"、アップロードした input_asset_id、options: {action: "walk", frame_count: 12}、承認した上限に設定した max_credits を指定して dreamlayer_generate を呼び出します。
各ツール呼び出しは、上限時間の範囲内で待機します。結果がまだ処理中の場合は、execution_id と last_event_id を dreamlayer_events に渡してください。完了したら、execution_id と .zip で終わる絶対 path を指定して dreamlayer_download を使用します。既存のファイルが上書きされることはありません。
支払い可能かどうかを確認するには、切り上げ後の注文全体の見積額(クレジット)を available と比較してください。0.1 クレジットは $0.017 です。プロモーション分と購入分はそれぞれ切り捨てて表示されるため、表示上の合計が available より 0.1 クレジット少ないことがあります。内部の端数は保持されます。表示上の合計ではなく、合算された残高と比較してください。注文料金の切り上げは 1 回だけで、フレームごとや料金区分ごとには行われません。
ツールの検出と復旧
tools/list を読み取り、説明、入力スキーマ、操作の利用可否を確認してください。読み取り専用の呼び出しには readOnlyHint が付いていますが、アップロード、生成、ローカルへのダウンロードには付いていません。これらの注釈は処理の影響を示すもので、権限を付与するものではありません。生成を開始すると、有料の処理が実行されます。
各ツールは structuredContent と、古いクライアント向けに同じ内容を JSON としてシリアライズしたテキストブロックを返します。失敗時は isError: true が設定されます。生成結果とエラーには、サーバーが生成した場合も含め、冪等性キーが含まれます。MCP プロセス自体が失われた後でも復旧できるようにするには、呼び出し前に独自のキーを選び、保存してください。
中断後は、保存した実行 ID を使って dreamlayer_execution を呼び出し、続けて最後に処理したイベント ID を使って dreamlayer_events を呼び出してください。完了した処理は dreamlayer_download で取得します。ストリームが閉じたという理由だけで、代わりの生成を開始しないでください。キーを再送する場合は、同じアップロード済みアセット ID と同一の引数を使用してください。
MCP のセットアップ · API の概要 · 実行の復旧
ストリームが突然失敗すると、正規のステータス読み取りが実行されます。それでも状態が不確かな場合、エラーは temporarily_unavailable となり、復旧手順と、判明している実行 ID、カーソル、再試行キーが含まれます。local_output_failed は、完了した出力を書き込めなかったことを意味します。パスを修正して dreamlayer_generate ではなく dreamlayer_download を再試行してください。クライアント側の入力検証では invalid_request が使用されます。ほかの未分類のクライアント側エラーには client_error が使用され、生成に失敗した証拠にはなりません。
beta.5 のスプライト背景
options.background はフレームの見た目を選択します。デフォルトの remove は各フレームを切り抜き、透明にします。keep は生成された背景をそのまま残します。フレームは切り抜かれずに単色の背景になり、ティアは適用されず、各フレームの料金は一律で sprite_pricing.plain_frame_cents となり、透明背景の料金の約半額です。12 フレームの場合、背景を残すと 5 クレジット、透明にすると 9.9 クレジットの見積もりです。
beta.4 以前ではこのフィールドは拒否されます。これらのバージョンの options スキーマでは additionalProperties: false が設定されているため、背景を指定したリクエストはサービスに到達しません。使用するには beta.5 以降を固定してください。
background: "remove" を明示した場合、リクエスト送信前に正規化によって省略されます。これはフィールドを省略した場合と同じ意味であり、サービスは受け取ったオプションのフィンガープリントを生成するためです。送信すると、1 つのジョブが 2 つの冪等性 ID に分かれてしまいます。
beta.4 のパラメーターの説明
tools/list にあるすべての入力パラメーターに、受け入れる値が記載されるようになりました。ネストされたスプライトの options フィールドも対象です。これには prompt、conversation_id、max_credits(画像操作では正確に 1 が必要です。スプライトのジョブでは見積もり価格以上が必要です)、aspect_ratio、execution_id、last_event_id が含まれます。ツール名、引数、結果は beta.3 から変更されていません。
beta.3 のエラー処理の更新
イベントのペイロードが不正な場合は retryable: false を伴う response_contract_error が返されます。判明している場合は、実行 ID、最後のイベント ID、冪等性キーが保持されます。クライアントの互換性を確認するか、サポートにお問い合わせください。代わりの処理を送信しないでください。ネットワークストリームが中断した場合も、正規の状態との照合が行われます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。