image-to-3d
Convert a photo into a 3D model using Meshy API and import it into Blender via MCP.
How do I install this agent skill?
npx skills add https://github.com/kevinbadi/blender-skills --skill image-to-3dIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is safe to use. It provides a workflow to convert images to 3D models using the Meshy AI service and import them into Blender. It contains a hardcoded local file path belonging to the author, which is a configuration oversight but not a security risk to the user.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Image to 3D Blender Skill
Converts a user-provided photo into a textured 3D model using the Meshy AI API, then imports it into the active Blender scene.
When to Use
Trigger this skill when:
- User wants to turn a photo/image into a 3D model
- User says "make this 3D", "convert to 3D", "3D model from image"
- User provides an image and wants it in Blender as a 3D object
Prerequisites
- Meshy API Key: Stored in environment variable
MESHY_API_KEYor passed directly - Blender MCP: Must be connected (blender-mcp addon running on port 9876)
- Image: Local file path (.jpg, .jpeg, .png) or publicly accessible URL
Flow
Step 1: Prepare the Image
If the user provides a local file path, base64 encode it:
BASE64_IMAGE=$(base64 -i "<image_path>")
DATA_URI="data:image/png;base64,${BASE64_IMAGE}"
Step 2: Create Image-to-3D Task
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"]
}'
Response gives a task ID: {"result": "<task_id>"}
Step 3: Poll for Completion
curl -s https://api.meshy.ai/openapi/v1/image-to-3d/<task_id> \
-H "Authorization: Bearer ${MESHY_API_KEY}"
Poll every 10 seconds. Check status field:
PENDING— queuedIN_PROGRESS— generating (checkprogressfield for %)SUCCEEDED— done,model_urls.glbhas the download URLFAILED— checktask_error.message
Step 4: Download the GLB
curl -L -o "/Users/kevinbahrabadi/Blender Test/output/<filename>.glb" "<model_urls.glb>"
Step 5: Import into Blender
Use the Blender MCP execute_blender_code tool:
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()
Configuration Options
| Option | Default | Description |
|---|---|---|
ai_model | meshy-6 | Model to use. Options: meshy-5, meshy-6, latest |
model_type | standard | standard for detail, lowpoly for clean game meshes |
topology | triangle | quad or triangle mesh |
target_polycount | 30000 | 100–300,000 polygons |
enable_pbr | true | Generate metallic/roughness/normal maps |
symmetry_mode | auto | off, auto, or on |
pose_mode | "" | a-pose, t-pose, or empty |
should_texture | true | Generate textures (costs extra credits) |
remove_lighting | true | Clean textures without baked lighting |
Output
After completion, the user gets:
- 3D model imported into Blender scene
- Textured with PBR materials (if enabled)
- Ready for rendering, animation, or further editing
Error Handling
- 402: Insufficient Meshy credits — inform user
- 429: Rate limited — wait and retry
- FAILED status: Report
task_error.messageto user - Blender MCP disconnected: Ask user to reconnect addon
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/kevinbadi/blender-skills/image-to-3d">View image-to-3d on skillZs</a>