image-to-3d について
image-to-3dは、Meshy AI APIで画像からテクスチャ付き3Dモデルを生成し、アクティブなBlenderシーンに読み込むスキルです。ローカル画像または公開URLからBlender用アセットを作る用途に向け、メッシュやテクスチャの設定を選べます。
主な機能
- 01画像からの3Dモデル生成
- 02Meshyタスクの状態と進捗の確認
- 03生成されたGLBのダウンロード
- 04Blender MCP経由でモデルをインポート
- 05トポロジー、ポリゴン数、テクスチャの設定
活用シーン
- 01写真からBlenderモデルを作成
- 02生成アセットをシーンに読み込み
- 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_model | meshy-6 | 使用するモデル。選択肢:meshy-5、meshy-6、latest |
model_type | standard | 詳細なモデルにはstandard、すっきりしたゲーム用メッシュにはlowpoly |
topology | triangle | quadまたはtriangleメッシュ |
target_polycount | 30000 | 100~300,000ポリゴン |
enable_pbr | true | メタリック/ラフネス/ノーマルマップを生成します |
symmetry_mode | auto | off、auto、またはon |
pose_mode | "" | a-pose、t-pose、または空欄 |
should_texture | true | テクスチャを生成します(追加クレジットが必要です) |
remove_lighting | true | ライティングが焼き込まれていない、クリーンなテクスチャを作成します |
出力
完了すると、ユーザーは次のものを利用できます:
- Blenderシーンにインポートされた3Dモデル
- PBRマテリアルでテクスチャ設定済み(有効にした場合)
- レンダリング、アニメーション、または追加編集にすぐ使用可能
エラー処理
- 402:Meshyのクレジット不足 — ユーザーに通知します
- 429:レート制限 — 待機してから再試行します
- FAILEDステータス:
task_error.messageをユーザーに報告します - Blender MCPが切断された場合:アドオンを再接続するようユーザーに依頼します
コメント
Markdown 対応