Animations
Define looping animations applied to 3D objects for presentations. Supports 6 animation types with configurable speed, amplitude, easing, and loop modes.
Animation Types
move — Linear translation along an axis
rotation — Continuous rotation around an axis
float — Gentle floating motion (bobbing)
scale-pulse — Rhythmic scale breathing effect
swing — Pendulum-like swinging motion
orbit — Circular orbit around a center point
List Animation Blocks
GET/projects/:id/animation-blocks
const response = await fetch(BASE_URL + '/projects/proj_123/animation-blocks', {
headers: { 'Authorization': 'Bearer ' + accessToken }
});
const data = await response.json();
// {
// "success": true,
// "blocks": [
// {
// "id": "anim_1",
// "type": "rotation",
// "name": "Turntable",
// "enabled": true,
// "targetObjectId": "all",
// "targetPartNames": [],
// "axis": "y",
// "speed": 0.2,
// "amplitude": 360,
// "easing": "linear",
// "loopMode": "loop",
// "delay": 0
// },
// {
// "id": "anim_2",
// "type": "float",
// "name": "Hover Effect",
// "enabled": true,
// "targetPartNames": ["product_body"],
// "axis": "y",
// "speed": 0.4,
// "amplitude": 0.3,
// "easing": "ease-in-out",
// "loopMode": "ping-pong",
// "delay": 0.5
// }
// ]
// }Create Animation Block
POST/projects/:id/animation-blocks
// Create an orbit animation for a satellite object
const response = await fetch(BASE_URL + '/projects/proj_123/animation-blocks', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({
type: 'orbit',
name: 'Orbiting Camera Target',
targetPartNames: ['highlight_ring'],
axis: 'y',
speed: 0.15,
amplitude: 1,
easing: 'linear',
loopMode: 'loop',
orbitRadius: 2.5,
orbitCenter: [0, 0, 0],
orbitPlane: 'xz'
})
});Update Animation Block
PUT/projects/:id/animation-blocks/:blockId
const response = await fetch(BASE_URL + '/projects/proj_123/animation-blocks/anim_1', {
method: 'PUT',
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({
speed: 0.1,
enabled: false
})
});Delete Animation Block
DELETE/projects/:id/animation-blocks/:blockId
const response = await fetch(BASE_URL + '/projects/proj_123/animation-blocks/anim_2', {
method: 'DELETE',
headers: { 'Authorization': 'Bearer ' + accessToken }
});Continue reading
Project SettingsRead and update the 140+ project settings covering display, branding, AR, e-commerce, email, and PDF.AssetsUpload, list, update, delete, and download 3D model, texture, and image assets.Online 3D LibrariesSearch Poly Haven, Sketchfab and Smithsonian Open Access and import a model as a normal 3D asset — license gate, background import jobs, provenance and Configurator Readiness.MaterialsCreate and manage PBR materials and their texture maps.