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.MaterialsCreate and manage PBR materials and their texture maps.CategoriesOrganize assets and materials into categories for filtering and bulk material blocks.
