mcpField
I
image-to-3d

image-to-3d

github.com/kevinbadiクリエイティブ・メディア210166 回インストール30 週間前に更新
リポジトリ

image-to-3d について

image-to-3dは、Meshy AI APIで画像からテクスチャ付き3Dモデルを生成し、アクティブなBlenderシーンに読み込むスキルです。ローカル画像または公開URLからBlender用アセットを作る用途に向け、メッシュやテクスチャの設定を選べます。

主な機能

  1. 01画像からの3Dモデル生成
  2. 02Meshyタスクの状態と進捗の確認
  3. 03生成されたGLBのダウンロード
  4. 04Blender MCP経由でモデルをインポート
  5. 05トポロジー、ポリゴン数、テクスチャの設定

活用シーン

  1. 01写真からBlenderモデルを作成
  2. 02生成アセットをシーンに読み込み
  3. 03メッシュとPBRテクスチャ設定の選択

MCP 対応

このスキルにはBlender MCPへの接続が必要です。execute_blender_codeツールを使って、ダウンロードしたGLBをアクティブなBlenderシーンに読み込みます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kevinbadi/blender-skills --skill image-to-3d

インストール後、Claude Code で/image-to-3dを入力して読み込まれたか確認します。

詳細

画像から3Dモデルを作成するBlenderスキル

Meshy AI APIを使用してユーザーが提供した写真からテクスチャ付きの3Dモデルを作成し、アクティブなBlenderシーンにインポートします。

使用するタイミング

次の場合にこのスキルを実行します:

  • ユーザーが写真や画像を3Dモデルにしたい場合
  • ユーザーが「これを3Dにして」「3Dに変換して」「画像から3Dモデルを作成して」と言った場合
  • ユーザーが画像を提供し、それをBlenderに3Dオブジェクトとして取り込みたい場合

前提条件

  • Meshy APIキー:環境変数 MESHY_API_KEY に保存されているか、直接渡されていること
  • Blender MCP:接続されていること(blender-mcpアドオンがポート9876で実行中であること)
  • 画像:ローカルファイルのパス(.jpg、.jpeg、.png)または一般公開されているURL

処理の流れ

ステップ1:画像を準備する

ユーザーがローカルファイルのパスを指定した場合は、Base64エンコードします:

BASE64_IMAGE=$(base64 -i "<image_path>")
DATA_URI="data:image/png;base64,${BASE64_IMAGE}"
ステップ2:画像から3Dモデルを作成するタスクを開始する
curl -s https://api.meshy.ai/openapi/v1/image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${MESHY_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<data_uri_or_public_url>",
    "ai_model": "meshy-6",
    "enable_pbr": true,
    "should_remesh": true,
    "should_texture": true,
    "topology": "quad",
    "target_polycount": 30000,
    "target_formats": ["glb"]
  }'

応答にはタスクIDが含まれます:{"result": "<task_id>"}

ステップ3:完了するまでポーリングする
curl -s https://api.meshy.ai/openapi/v1/image-to-3d/<task_id> \
  -H "Authorization: Bearer ${MESHY_API_KEY}"

10秒ごとにポーリングします。statusフィールドを確認します:

  • PENDING — キューに登録済み
  • IN_PROGRESS — 生成中(progressフィールドで進捗率を確認)
  • SUCCEEDED — 完了。model_urls.glbにダウンロードURLが含まれます
  • FAILED — task_error.messageを確認
ステップ4:GLBをダウンロードする
curl -L -o "/Users/kevinbahrabadi/Blender Test/output/<filename>.glb" "<model_urls.glb>"
ステップ5:Blenderにインポートする

Blender MCPのexecute_blender_codeツールを使用します:

import bpy

# Clear scene (optional, based on user preference)
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

# Import GLB
bpy.ops.import_scene.gltf(filepath="/Users/kevinbahrabadi/Blender Test/output/<filename>.glb")

# Center and frame the imported object
bpy.ops.object.select_all(action='SELECT')
bpy.ops.view3d.view_selected()

設定オプション

オプションデフォルト説明
ai_modelmeshy-6使用するモデル。選択肢:meshy-5、meshy-6、latest
model_typestandard詳細なモデルにはstandard、すっきりしたゲーム用メッシュにはlowpoly
topologytrianglequadまたはtriangleメッシュ
target_polycount30000100~300,000ポリゴン
enable_pbrtrueメタリック/ラフネス/ノーマルマップを生成します
symmetry_modeautooff、auto、またはon
pose_mode""a-pose、t-pose、または空欄
should_texturetrueテクスチャを生成します(追加クレジットが必要です)
remove_lightingtrueライティングが焼き込まれていない、クリーンなテクスチャを作成します

出力

完了すると、ユーザーは次のものを利用できます:

  • Blenderシーンにインポートされた3Dモデル
  • PBRマテリアルでテクスチャ設定済み(有効にした場合)
  • レンダリング、アニメーション、または追加編集にすぐ使用可能

エラー処理

  • 402:Meshyのクレジット不足 — ユーザーに通知します
  • 429:レート制限 — 待機してから再試行します
  • FAILEDステータス:task_error.messageをユーザーに報告します
  • Blender MCPが切断された場合:アドオンを再接続するようユーザーに依頼します

コメント