

Blender 3D Modeling
Model
Available ActionsEach successful request consumes credits as outlined below.
render_turntable25crrender_views25crrender_custom25crconvert_format25crrun_script25crcheck_printability25crfix_printability25crvoxel_remesh25crslice_for_printing25crget_task25crlist_tasks25crcancel_task25cr
Details
Full access to Blender, the industry-standard open-source 3D creation suite, running headless in the cloud. Render stunning images and turntable videos from any 3D model, convert between file formats (BLEND, GLB, FBX, OBJ, STL, DAE, PLY), set up professional studio lighting, and run custom Blender Python scripts — all without installing anything locally. Upload your 3D models and get back production-quality renders, spinning animations, processed assets, and Blender project files. Choose from four lighting presets (studio, product, outdoor, dramatic), render from multiple camera angles at once, or position the camera exactly where you want it. Perfect for game development asset previews, product visualization, architectural walkthroughs, e-commerce 3D photography, 3D printing prep, portfolio showcases, and creative projects of any kind.
Use Cases
Render turntable videos of 3D models for game asset previews, Create multi-angle product shots from 3D models for e-commerce, Convert 3D files between formats like GLB to BLEND, GLB to FBX, or OBJ to STL, Save procedurally generated scenes as Blender .blend files, Generate professional renders with studio lighting for portfolios, Preview 3D-printed models from every angle before printing, Render architectural models with custom camera positions, Create spinning animations of characters or props for social media, Apply dramatic lighting to 3D models for cinematic presentations, Run custom Blender Python scripts for advanced 3D processing, Render 3D models generated by AI tools like Meshy with proper textures and lighting, Convert game assets between Unity FBX and web GLB formats, Generate thumbnail images of 3D models for catalogs and marketplaces
Actions(12)
render_turntable25cr13 paramsGenerate a spinning turntable video of a 3D model. Returns a task_id immediately; use get_task to check progress and retrieve the output. Joins the strict-FIFO render queue (capacity 50); if the queue is full, returns a 429 with error_code GPU_RENDER_QUEUE_FULL and a Retry-After header.
render_turntable25cr13 paramsGenerate a spinning turntable video of a 3D model. Returns a task_id immediately; use get_task to check progress and retrieve the output. Joins the strict-FIFO render queue (capacity 50); if the queue is full, returns a 429 with error_code GPU_RENDER_QUEUE_FULL and a Retry-After header.
file_urlstringPublic URL of the 3D model file (BLEND, GLB, GLTF, FBX, OBJ, STL, DAE, PLY).
file_idstringAgentPMT file storage ID for the 3D model.
framesintegerNumber of animation frames (12-120). Default: 72.
Range: 12 - 120
duration_secondsnumberVideo duration in seconds (1-30). Default: 6.
Range: 1 - 30
resolutionstringResolution: 720p (default), 1080p, 2k, 4k, or WxH.
samplesintegerRender samples (1-512). Default: 8.
Range: 1 - 512
background_colorstringBackground hex color without #. Default: 1a1a1a.
lighting_presetstringLighting style.
Values:
studioproductoutdoordramatic
elevationnumberCamera elevation degrees (-45 to 90). Default: 25.
Range: -45 - 90
camera_distancenumberOptional camera distance override.
Range: 0.1 - 100
camera_lens_mmnumberCamera focal length in mm (10-120). Default: 35.
Range: 10 - 120
fit_marginnumberAuto-framing padding multiplier (1-3). Default: 1.25.
Range: 1 - 3
decimate_rationumberOptional polygon-reduction ratio (0.05-1.0).
Range: 0.05 - 1
render_views25cr11 paramsRender preset camera angles. Returns a task_id immediately. Joins the strict-FIFO render queue.
render_views25cr11 paramsRender preset camera angles. Returns a task_id immediately. Joins the strict-FIFO render queue.
file_urlstringPublic URL of the 3D model file.
file_idstringAgentPMT file storage ID.
viewsarrayViews to render. Default: front, back, left, right, top, 3quarter.
Array of: string
resolutionstringResolution: 720p (default), 1080p, 2k, 4k, or WxH.
samplesintegerRender samples (1-512). Default: 8.
Range: 1 - 512
background_colorstringBackground hex color without #. Default: 1a1a1a.
lighting_presetstringLighting style.
Values:
studioproductoutdoordramatic
camera_distancenumberOptional camera distance override.
Range: 0.1 - 100
camera_lens_mmnumberCamera focal length in mm (10-120). Default: 35.
Range: 10 - 120
fit_marginnumberAuto-framing padding multiplier (1-3). Default: 1.25.
Range: 1 - 3
decimate_rationumberOptional polygon-reduction ratio (0.05-1.0).
Range: 0.05 - 1
render_custom25cr10 paramsRender with a custom camera position. Returns a task_id immediately. Joins the strict-FIFO render queue.
render_custom25cr10 paramsRender with a custom camera position. Returns a task_id immediately. Joins the strict-FIFO render queue.
file_urlstringPublic URL of the 3D model file.
file_idstringAgentPMT file storage ID.
camera_positionarrayCamera [x, y, z] position. Default: [3, -3, 2.5].
Array of: number
look_atarrayCamera look-at [x, y, z] target. Default: [0, 0, 0].
Array of: number
fovnumberCamera focal length in mm (10-120). Default: 50.
Range: 10 - 120
resolutionstringResolution preset or WxH.
samplesintegerRender samples.
Range: 1 - 512
background_colorstringBackground hex color without #.
lighting_presetstringLighting style.
Values:
studioproductoutdoordramatic
decimate_rationumberOptional polygon-reduction ratio (0.05-1.0).
Range: 0.05 - 1
convert_format25cr4 params(1 required)Convert a 3D model between file formats. Runs synchronously through the queue; if the queue is full, returns 429 with error_code GPU_RENDER_QUEUE_FULL.
convert_format25cr4 params(1 required)Convert a 3D model between file formats. Runs synchronously through the queue; if the queue is full, returns 429 with error_code GPU_RENDER_QUEUE_FULL.
output_formatrequiredstringTarget format.
Values:
blendglbfbxobjstldaeply
file_urlstringPublic URL of the source 3D model.
file_idstringAgentPMT file storage ID for the source 3D model.
apply_transformsbooleanApply transforms before export. Default: true.
run_script25cr5 params(1 required)Execute a custom Blender Python script. Returns a task_id immediately. Script payload limited to 65,536 bytes — oversize requests fail with error_code BLENDER_RUN_SCRIPT_TOO_LARGE.
run_script25cr5 params(1 required)Execute a custom Blender Python script. Returns a task_id immediately. Script payload limited to 65,536 bytes — oversize requests fail with error_code BLENDER_RUN_SCRIPT_TOO_LARGE.
scriptrequiredstringBlender Python script (≤64 KiB). Has access to bpy, MODEL_PATH, OUTPUT_DIR.
file_urlstringOptional model URL — exposed as MODEL_PATH.
file_idstringOptional AgentPMT file storage ID — exposed as MODEL_PATH.
output_typestringExpected output class. Default: image.
Values:
imagevideomodelall
script_timeout_secondsintegerOverride the per-subprocess timeout in seconds.
Range: 600 - 1800
check_printability25cr6 paramsRun a structured 3D-printability analysis using Blender's object_print3d_utils addon. Read-only — no upload, no mesh mutation. Returns a task_id immediately.
check_printability25cr6 paramsRun a structured 3D-printability analysis using Blender's object_print3d_utils addon. Read-only — no upload, no mesh mutation. Returns a task_id immediately.
file_urlstringPublic URL of the 3D model file.
file_idstringAgentPMT file storage ID.
checksarraySubset of checks to run. Default: all six.
Array of: string
thickness_min_mmnumberWall-thickness threshold in mm. Default: 0.5.
Range: 0.05 - 10
overhang_angle_degnumberOverhang angle threshold in degrees. Default: 45.
Range: 10 - 89
distort_angle_degnumberFace-distortion angle threshold in degrees. Default: 45.
Range: 5 - 89
fix_printability25cr9 params(1 required)Light-touch repair using Blender's object_print3d_utils clean operators. For mostly-clean inputs (CAD exports, few stray non-manifolds). Use voxel_remesh for structurally-broken inputs.
fix_printability25cr9 params(1 required)Light-touch repair using Blender's object_print3d_utils clean operators. For mostly-clean inputs (CAD exports, few stray non-manifolds). Use voxel_remesh for structurally-broken inputs.
output_formatrequiredstringTarget format for the cleaned export.
Values:
stlglbobjply
file_urlstringPublic URL of the 3D model file.
file_idstringAgentPMT file storage ID.
auto_fix_non_manifoldbooleanRun the addon's clean-non-manifold operator. Default: true.
auto_fix_distortedbooleanRun the addon's clean-distorted operator. Default: true.
checksarraySubset of checks to run. Default: all six.
Array of: string
thickness_min_mmnumberWall-thickness threshold in mm. Default: 0.5.
Range: 0.05 - 10
overhang_angle_degnumberOverhang angle threshold in degrees. Default: 45.
Range: 10 - 89
distort_angle_degnumberFace-distortion angle threshold in degrees. Default: 45.
Range: 5 - 89
voxel_remesh25cr4 params(1 required)Rebuild a model into a watertight manifold via OpenVDB voxel remesh. The right tool for structurally-broken inputs. Output is guaranteed manifold; surface detail smaller than the voxel size is smoothed away. Pre-flight rejects requests whose grid cell count exceeds 5,000,000 with error_code BLENDER_VOXEL_GRID_TOO_LARGE — the response message includes the minimum-safe voxel_size for the input, and the report context exposes bbox_x/y/z, voxel_size, cells, max_cells, and min_safe_voxel_size for runbooks.
voxel_remesh25cr4 params(1 required)Rebuild a model into a watertight manifold via OpenVDB voxel remesh. The right tool for structurally-broken inputs. Output is guaranteed manifold; surface detail smaller than the voxel size is smoothed away. Pre-flight rejects requests whose grid cell count exceeds 5,000,000 with error_code BLENDER_VOXEL_GRID_TOO_LARGE — the response message includes the minimum-safe voxel_size for the input, and the report context exposes bbox_x/y/z, voxel_size, cells, max_cells, and min_safe_voxel_size for runbooks.
output_formatrequiredstringTarget format for the remeshed export.
Values:
stlglbobjply
file_urlstringPublic URL of the 3D model file.
file_idstringAgentPMT file storage ID.
voxel_sizenumberOptional explicit voxel size in the same units as your model (typically mm). Smaller = finer detail and longer compute. Omit to auto-scale to ~1.3% of the longest bounding-box dimension.
Range: 0.01 - 100
slice_for_printing25cr6 paramsSlice a 3D model with PrusaSlicer and return G-code, parsed metadata, and a Blender-rendered printbed preview PNG. Returns a task_id immediately.
slice_for_printing25cr6 paramsSlice a 3D model with PrusaSlicer and return G-code, parsed metadata, and a Blender-rendered printbed preview PNG. Returns a task_id immediately.
file_urlstringPublic URL of the 3D model file.
file_idstringAgentPMT file storage ID.
printer_profilestringBundled PrusaSlicer profile name. Default: prusa_mk4_pla_020.
Pattern:
^[a-z0-9_]+$layer_height_mmnumberOverride the slicer's layer height in mm.
Range: 0.05 - 0.6
infill_density_pctintegerOverride infill density percent (0-100).
Range: 0 - 100
support_materialbooleanOverride the support-material toggle.
get_task25cr1 param(1 required)Check the status of a render task and retrieve download links when complete. Non-terminal responses include queue_position (0 when running, 1+ when queued), queue_eta_seconds, and queue_stats {queue_total_running, queue_total_queued, queue_total_capacity}. Caller-driven failures (GPU_RENDER_QUEUE_FULL, BLENDER_VOXEL_GRID_TOO_LARGE, BLENDER_RUN_SCRIPT_TOO_LARGE, GPU_RENDER_TASK_CANCELED, BLENDER_SLICER_PROFILE_INVALID) report at warning severity and are safe to retry with corrected inputs; subprocess / memory / timeout failures (GPU_RENDER_BLENDER_NONZERO_EXIT, GPU_RENDER_BLENDER_TIMEOUT, BLENDER_SUBPROCESS_MEMORY_LIMIT, GPU_RENDER_CONTAINER_RESTARTED, GPU_RENDER_UNEXPECTED_ERROR) report at error severity — retry once but escalate if it recurs.
get_task25cr1 param(1 required)Check the status of a render task and retrieve download links when complete. Non-terminal responses include queue_position (0 when running, 1+ when queued), queue_eta_seconds, and queue_stats {queue_total_running, queue_total_queued, queue_total_capacity}. Caller-driven failures (GPU_RENDER_QUEUE_FULL, BLENDER_VOXEL_GRID_TOO_LARGE, BLENDER_RUN_SCRIPT_TOO_LARGE, GPU_RENDER_TASK_CANCELED, BLENDER_SLICER_PROFILE_INVALID) report at warning severity and are safe to retry with corrected inputs; subprocess / memory / timeout failures (GPU_RENDER_BLENDER_NONZERO_EXIT, GPU_RENDER_BLENDER_TIMEOUT, BLENDER_SUBPROCESS_MEMORY_LIMIT, GPU_RENDER_CONTAINER_RESTARTED, GPU_RENDER_UNEXPECTED_ERROR) report at error severity — retry once but escalate if it recurs.
task_idrequiredstringTask ID returned from a render action.
list_tasks25cr1 paramList render tasks for the current user, most recent first.
list_tasks25cr1 paramList render tasks for the current user, most recent first.
limitintegerMaximum tasks to return (1-100). Default: 20.
Range: 1 - 100
cancel_task25cr1 param(1 required)Cancel a queued or running render task. Idempotent: cancelling an already-terminal task returns an error explaining that. Queued tasks transition immediately; running tasks transition once the SIGTERM grace window closes (≤30s). The task ends with status='failed' and error_code='GPU_RENDER_TASK_CANCELED'. Poll get_task to confirm the terminal state.
cancel_task25cr1 param(1 required)Cancel a queued or running render task. Idempotent: cancelling an already-terminal task returns an error explaining that. Queued tasks transition immediately; running tasks transition once the SIGTERM grace window closes (≤30s). The task ends with status='failed' and error_code='GPU_RENDER_TASK_CANCELED'. Poll get_task to confirm the terminal state.
task_idrequiredstringTask ID returned from a render action.
Frequently Asked Questions
How do I connect this tool to an external agent?
You can install the local MCP server by opening a terminal and running:
Install commands
npm install -g @agentpmt/mcp-router
agentpmt-setupThis will connect you to local agents like Claude Code, Windsurf, Grok Build, Cursor, etc.
Alternatively you can connect to the hosted version with this config block, no installation required:
Hosted MCP config
{
"mcpServers": {
"agentpmt": {
"type": "streamable-http",
"url": "https://api.agentpmt.com/mcp",
"headers": {
"Authorization": "Bearer <AGENTPMT_BEARER_TOKEN>",
"x-instance-metadata": "{\"client\":\"generic-mcp\",\"platform\":\"remote\"}"
}
}
}
}View MCP Connection Instructions for more details.
How does an external agent use this tool?
After the external agent is connected to an Agent Group that can use this tool, paste this prompt into the agent:
Agent prompt
Call the AgentPMT-Tool-Search-and-Execution tool with action 'get_schema' and tool_id 69c43a6b87d290b84efb81ab ("Blender 3D Modeling"). Then call the same tool with action 'call_tool', tool_id 69c43a6b87d290b84efb81ab, and the parameters needed for my request.
The agent should fetch the tool schema first, collect the required parameters for your request, and then call the tool through AgentPMT.






