一键导入
multi-image-to-3d
Convert multiple photos (1-4 angles) of the same object into a high-accuracy 3D model using Meshy API and import into Blender.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Convert multiple photos (1-4 angles) of the same object into a high-accuracy 3D model using Meshy API and import into Blender.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Render the same product across multiple HDRI environments and output a comparison grid. Trigger when asked to compare lighting setups, test different environments, show product in multiple settings, or create an HDRI comparison.
Cycle through multiple PolyHaven materials on a product and render each variant. Great for showing color/finish options. Trigger when asked to show material variants, swap textures, create color options, show finish comparisons, or render product in different materials.
Build complete product scenes using PolyHaven assets — HDRI environment, textured ground/pedestal, and optional props from the 3D model library. Trigger when asked to build a product scene, create a showcase setup, add a pedestal, or compose a product shot.
Set up a professional product photography studio in Blender using PolyHaven HDRIs and PBR ground materials. Trigger when asked to create a studio setup, add HDRI lighting, set up product photography, or create a showroom scene.
Apply realistic PBR textures from PolyHaven to any Blender object. Supports metals, wood, concrete, fabric, and more. Trigger when asked to texture an object, apply a material from PolyHaven, make something look like metal/wood/marble, or change object surface.
Import a 3D model (GLB/GLTF) into Blender and apply a sleek, glossy product-shot finish with studio lighting. Trigger when asked to polish a 3D model, make a Meshy AI model look shiny, apply product lighting in Blender, or prepare a 3D asset for product shots.
| name | multi-image-to-3d |
| description | Convert multiple photos (1-4 angles) of the same object into a high-accuracy 3D model using Meshy API and import into Blender. |
Converts 1-4 photos of the same object (from different angles) into a textured 3D model using Meshy AI's Multi-Image to 3D API, then imports it into the active Blender scene. More angles = more accurate geometry and textures.
Trigger this skill when:
For each local file, base64 encode it into a data URI:
import base64, json
image_paths = ["front.png", "back.png", "side.png"] # user-provided paths
image_urls = []
for path in image_paths:
with open(path, 'rb') as f:
b64 = base64.b64encode(f.read()).decode()
ext = path.rsplit('.', 1)[-1].lower()
mime = 'image/jpeg' if ext in ('jpg', 'jpeg') else 'image/png'
image_urls.append(f"data:{mime};base64,{b64}")
Write payload to a JSON file (base64 strings are too large for CLI args):
payload = {
"image_urls": image_urls, # array of 1-4 data URIs or public URLs
"ai_model": "meshy-6",
"enable_pbr": True,
"should_texture": True,
"target_formats": ["glb"]
}
with open("output/request.json", "w") as f:
json.dump(payload, f)
Then POST:
curl -s https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-H "Authorization: Bearer ${MESHY_API_KEY}" \
-H 'Content-Type: application/json' \
-d @output/request.json
Response: {"result": "<task_id>"}
curl -s https://api.meshy.ai/openapi/v1/multi-image-to-3d/<task_id> \
-H "Authorization: Bearer ${MESHY_API_KEY}"
Poll every 15 seconds. Check status:
PENDING — queued (check preceding_tasks for queue position)IN_PROGRESS — generating (check progress for %)SUCCEEDED — done, download from model_urls.glbFAILED — check task_error.messagecurl -L -o "output/<filename>.glb" "<model_urls.glb>"
Use the Blender MCP execute_blender_code tool:
import bpy
# Clear scene (optional)
for obj in bpy.data.objects:
bpy.data.objects.remove(obj, do_unlink=True)
# Import GLB
bpy.ops.import_scene.gltf(filepath="<path_to_glb>")
# Frame imported object
bpy.ops.object.select_all(action='SELECT')
# Add basic lighting
import math
from mathutils import Vector, Euler
bpy.ops.object.light_add(type='AREA', location=(2, -2, 3))
key = bpy.context.active_object
key.data.energy = 500
key.data.size = 3
# Set viewport to material preview
for area in bpy.context.screen.areas:
if area.type == 'VIEW_3D':
for space in area.spaces:
if space.type == 'VIEW_3D':
space.shading.type = 'MATERIAL'
| Option | Default | Description |
|---|---|---|
ai_model | meshy-6 | meshy-5, meshy-6, or latest |
topology | triangle | quad or triangle mesh |
target_polycount | 30000 | 100–300,000 polygons |
enable_pbr | true | Metallic/roughness/normal maps |
symmetry_mode | auto | off, auto, or on |
pose_mode | "" | a-pose, t-pose, or empty |
should_texture | true | Generate textures |
should_remesh | false | Remesh to target polycount/topology |
remove_lighting | true | Clean textures without baked lighting |
image_enhancement | true | Optimize input images |
target_formats | all | Array: glb, obj, fbx, stl, usdz, 3mf |
task_error.message to user