| yUp | No | | |
| format | Yes | | |
| bakeSize | No | | |
| objectIds | No | Platform ids, with selectionPolicy=objects. NOTE: ids are datablock-scoped — deleting and recreating an object mints a NEW id, so a list gathered before an edit can go stale. Prefer objectNamePattern, which is resolved fresh at dispatch. | |
| projectId | Yes | Stable project ID returned by project_create or projects_list. | |
| revisionId | No | "HEAD" (default) uses the project's current head | HEAD |
| scaleFactor | No | | |
| bakeLighting | No | GLB only: bake the full rendered shading, lights included, into UNLIT emissive textures. The trade is view dependence, and it is not subtle: the bake stores one sample of the shading per surface point, so specular highlights stop moving with the camera, reflections and glass stop responding to their surroundings, and anisotropic or clearcoat sheen becomes a fixed painted shape. It looks correct from the baked viewpoint and drifts as the viewer orbits. Right for a dark or rig-driven scene a web viewer cannot relight, WRONG for a turntable of a metal or glass product — use bakeTextures for that, which bakes procedural material values and leaves lighting to the viewer. | |
| bakeOverflow | No | When eligible objects exceed bakeObjectLimit, error stops before any bake. partial explicitly permits an incomplete bake while retaining all selected geometry; exportVerification.bakeSummary reports completed and omitted counts. | error |
| bakeTextures | No | GLB only: bake procedural (node-driven) materials to textures before export so viewers keep the rendered look. Meshes without UV layers are unwrapped automatically first, which is slow on many-part assemblies (the response says so, and the job reports per-object bake progress). Only procedural, node-driven values are lost when this is off: materials with constant base colour, metallic and roughness export correctly unbaked, so false is the right choice for most hard-surface work. | |
| enginePreset | No | | |
| applyModifiers | No | | |
| idempotencyKey | Yes | Stable caller-chosen key for safe retries of this same request. | |
| bakeObjectLimit | No | Maximum eligible GLB objects to bake. Default 24; raise up to 512 for assemblies. The per-job budget is 67,108,864 object texture pixels: 446 objects fit at bakeSize=256. | |
| selectionPolicy | No | | all |
| excludeObjectIds | No | Drop these specific platform ids. Applied after the other selectors. | |
| objectNamePattern | No | Select by Blender object name with * wildcards, e.g. "Watch_*" or "*_Link". Resolved against this revision at dispatch, so it cannot go stale like objectIds. Combined with selectionPolicy (visible + pattern selects visible matches). | |
| excludeNamePattern | No | Drop objects whose name matches, e.g. "Studio_*". Applied after the other selectors. Omitting one backdrop from a 60-part scene previously meant enumerating 60 explicit ids, which is both tedious and stale-prone. | |