{"uid":"cap_z9fo75cUFjNQS5VptctXD","slug":"blender-join-meshes-5b83b3a2","name":"Blender Join Meshes","description":"Blender: Join Meshes: Combine imported mesh objects into one mesh, preserving disconnected islands. Accepts mesh JSON, small GLB or OBJ; without input uses an explicitly labelled demo mesh. Runs locally in Blender. Bounded small-model processing, normally under 60 seconds; a busy worker returns an error before payment settlement.","url":"https://market.datapackvibe.com/x402/studio3d-process-join-meshes?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"mesh":{"type":"object","required":["vertices","faces"],"properties":{"faces":{"type":"array","items":{"type":"array","items":{"type":"integer","minimum":0},"maxItems":16,"minItems":3},"maxItems":20000},"vertices":{"type":"array","items":{"type":"array","items":{"type":"number"},"maxItems":3,"minItems":3},"maxItems":10000}},"description":"Optional mesh in Blender Z-up coordinates. Max 10,000 vertices and 20,000 faces; each face has 3..16 indices.","additionalProperties":false},"seed":{"type":"integer","default":42,"maximum":2147483647,"minimum":0},"angle":{"type":"number","default":45,"maximum":180,"minimum":-180},"color":{"type":"string","default":"#6688bb","pattern":"^#[0-9a-fA-F]{6}$"},"count":{"type":"integer","default":3,"maximum":8,"minimum":2},"amount":{"type":"number","default":0.05,"maximum":0.5,"minimum":0.001},"factor":{"type":"number","default":1,"maximum":5,"minimum":0.1},"sample":{"enum":["demo"],"type":"string","default":"demo","description":"If no model is supplied, process the included demonstration mesh; response identifies this explicitly."},"metallic":{"type":"number","default":0,"maximum":1,"minimum":0},"roughness":{"type":"number","default":0.5,"maximum":1,"minimum":0},"resolution":{"type":"integer","default":256,"maximum":512,"minimum":128},"model_base64":{"type":"string","maxLength":699052,"description":"Optional base64 GLB (geometry and PBR values, without images/animations) or OBJ geometry, at most 512 KiB decoded. Mutually exclusive with mesh. No URLs or local paths."},"model_format":{"enum":["glb","obj"],"type":"string","default":"glb"},"target_faces":{"type":"integer","default":500,"maximum":20000,"minimum":20}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Sl1cWim2354nnx_o1ar8h","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Combines multiple imported mesh objects into a single unified mesh while preserving disconnected geometry islands, running locally in Blender.","exampleAgentPrompt":"Take my mesh data — 4 vertices and 2 triangular faces — and join it into a single combined mesh using the Blender join-meshes processor, targeting 500 faces, with a blue color #6688bb and roughness 0.5.","exampleUseCases":[{"title":"Merge fragmented GLB into one object","prompt":"I have a GLB model split into multiple parts — here's the base64-encoded file — can you join all the mesh pieces into a single unified mesh targeting 1000 faces with a metallic value of 0.3 and roughness of 0.4?"},{"title":"Combine custom mesh JSON geometry","prompt":"I've got a mesh defined as a list of vertices and faces in JSON format — can you merge all the disconnected islands into one joined mesh with the default color and 500 target faces?"},{"title":"Run demo mesh join to test the pipeline","prompt":"Run the Blender join-meshes processor on the built-in demo mesh so I can see what the joined output looks like — use default settings with roughness 0.5 and target 500 faces."}],"resultDescription":"Returns a joined mesh result from Blender representing all input mesh objects combined into a single unified geometry, preserving disconnected islands. The response identifies whether a demo mesh was used and includes the processed mesh data.","failureModes":["Input mesh exceeds 10,000 vertices or 20,000 faces — rejected before processing","base64-encoded model exceeds 512 KiB decoded limit — rejected","Both mesh JSON and model_base64 supplied simultaneously — mutually exclusive inputs","Busy worker returns an error before payment settlement — no charge incurred","Invalid face indices referencing out-of-range vertices — processing error","Unsupported model_format value outside glb/obj enum — validation error","model_base64 contains embedded images or animations (not supported for GLB)"],"whenToPreferThis":"Choose this endpoint when you need to programmatically join multiple 3D mesh objects into a single mesh using Blender's geometry engine, especially when working with raw mesh JSON, GLB, or OBJ files and need the result to preserve disconnected islands. It is well-suited for automated 3D asset pipelines that need reliable, bounded-time mesh consolidation without running a local Blender install. Prefer this over generic mesh tools when you want Blender-native join semantics with configurable material properties like color, roughness, and metallic values.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-16T20:00:13.737Z","isFirstParty":false,"canonicalSlug":"blender-join-meshes-5b83b3a2"}