# Car Dealership Slideshow (video template) > A dealership-ready vehicle video: photos of the car animated in sequence with price, model and dealer details merged in. Wire it to your inventory feed and every car on the lot gets its own video the day it is listed. ## Overview - **Page**: https://shotstack.io/studio/templates/car-sale-slideshow-video/ - **Output**: MP4, 1920x1080 (16:9), 25 fps - **Length**: 36s - **Timeline**: 33 clips on 27 tracks; assets: audio, html, image, luma, text - **Render endpoint (sandbox, free, watermarked)**: POST https://api.shotstack.io/edit/stage/render with header `x-api-key` - **Production**: same request against https://api.shotstack.io/edit/v1/render with a v1 key - **Preview in the browser (no account)**: https://shotstack.studio/#json=eyJ0aW1lbGluZSI6eyJiYWNrZ3JvdW5kIjoiIzAwMDAwMCIsInRyYWNrcyI6W3siY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7IFlFQVIgfX0iLCJmb250Ijp7ImZhbWlseSI6Ik1vbnRzZXJyYXQgRXh0cmFCb2xkIiwiY29sb3IiOiIjZmZmZmZmIiwic2l6ZSI6MTYwfSwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJyaWdodCJ9LCJ3aWR0aCI6NDUwLCJoZWlnaHQiOjE4MH0sInN0YXJ0IjowLCJsZW5ndGgiOjQsImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwib2Zmc2V0Ijp7IngiOi0wLjMxNywieSI6MC4wOTV9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIiwib3V0Ijoic2xpZGVEb3duIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiTUVSQ0VERVMtQkVOWiIsImZvbnQiOnsiZmFtaWx5IjoiTW9udHNlcnJhdCBFeHRyYUJvbGQiLCJjb2xvciI6IiNmZmZmZmYiLCJzaXplIjo4MH0sImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCJ9LCJ3aWR0aCI6MTEzMSwiaGVpZ2h0IjoxNjB9LCJmaXQiOiJub25lIiwic2NhbGUiOjEsIm9mZnNldCI6eyJ4IjowLjA5OCwieSI6MC4xMjR9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIiwib3V0Ijoic2xpZGVEb3duIn0sInN0YXJ0IjowLjUsImxlbmd0aCI6My41fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7IE1PREVMIH19IiwiZm9udCI6eyJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwiY29sb3IiOiIjZmZmZmZmIiwic2l6ZSI6NjB9LCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQifSwid2lkdGgiOjExMzMsImhlaWdodCI6MTIwfSwiZml0Ijoibm9uZSIsInNjYWxlIjoxLCJvZmZzZXQiOnsieCI6MC4wOTksInkiOjAuMDQ1fSwicG9zaXRpb24iOiJjZW50ZXIiLCJzdGFydCI6MSwibGVuZ3RoIjozLCJ0cmFuc2l0aW9uIjp7Im91dCI6InNsaWRlRG93biIsImluIjoic2xpZGVVcCJ9fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7IFNFTExFUiB9fSB8IHt7IFRZUEUgfX0gfCB7eyBTVEFURSB9fSwge3sgUE9TVENPREUgfX0iLCJmb250Ijp7ImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJjb2xvciI6IiNmZmZmZmYiLCJzaXplIjozMn0sImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCJ9LCJ3aWR0aCI6ODI2LCJoZWlnaHQiOjYwfSwiZml0Ijoibm9uZSIsInNjYWxlIjoxLCJvZmZzZXQiOnsieCI6MC4wMTksInkiOi0wLjAxNH0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJvdXQiOiJzbGlkZURvd24iLCJpbiI6InNsaWRlVXAifSwic3RhcnQiOjEuMiwibGVuZ3RoIjoyLjh9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoie3sgSU1BR0VfMSB9fSJ9LCJzdGFydCI6MCwibGVuZ3RoIjo1LCJlZmZlY3QiOiJ6b29tSW4iLCJ0cmFuc2l0aW9uIjp7ImluIjoiZmFkZSJ9LCJwb3NpdGlvbiI6ImNlbnRlciIsImZpdCI6ImNyb3AiLCJvcGFjaXR5IjowLjR9LHsiYXNzZXQiOnsidHlwZSI6Imx1bWEiLCJzcmMiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvLzMxZDIzNGQyLTIwOTEtNGE0My1hYTJhLWUzYmVjMWMzZGRjNC9zb3VyY2UubXA0In0sImxlbmd0aCI6Miwic3RhcnQiOjR9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiS01TIiwiZm9udCI6eyJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwiY29sb3IiOiIjZmZmZmZmIiwic2l6ZSI6NDB9LCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQifSwid2lkdGgiOjE0NCwiaGVpZ2h0Ijo5M30sImxlbmd0aCI6NSwic3RhcnQiOjUsInRyYW5zaXRpb24iOnsib3V0Ijoic2xpZGVEb3duIiwiaW4iOiJzbGlkZVVwIn0sImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwib2Zmc2V0Ijp7IngiOi0wLjE3OCwieSI6MC4wMjF9LCJwb3NpdGlvbiI6ImNlbnRlciJ9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3sgU1BFQyB9fSIsImZvbnQiOnsiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjQwfSwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJyaWdodCJ9LCJ3aWR0aCI6NzAwLCJoZWlnaHQiOjkwfSwibGVuZ3RoIjo1LCJzdGFydCI6NSwidHJhbnNpdGlvbiI6eyJvdXQiOiJzbGlkZURvd24iLCJpbiI6InNsaWRlVXAifSwiZml0Ijoibm9uZSIsInNjYWxlIjoxLCJvZmZzZXQiOnsieCI6LTAuMzIsInkiOi0wLjA1fSwicG9zaXRpb24iOiJjZW50ZXIifV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7IE9ET01FVEVSIH19IiwiZm9udCI6eyJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjkwfSwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJyaWdodCJ9LCJ3aWR0aCI6NDIzLCJoZWlnaHQiOjE2MH0sImxlbmd0aCI6NSwic3RhcnQiOjUsInRyYW5zaXRpb24iOnsib3V0Ijoic2xpZGVEb3duIiwiaW4iOiJzbGlkZVVwIn0sImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwib2Zmc2V0Ijp7IngiOi0wLjMzMiwieSI6MC4wMzV9LCJwb3NpdGlvbiI6ImNlbnRlciJ9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6Imh0bWwiLCJ3aWR0aCI6MTAwLCJoZWlnaHQiOjYwMCwiYmFja2dyb3VuZCI6IiNkOTY2NTciLCJodG1sIjoiPHAgZGF0YS1odG1sLXR5cGU9XCJ0ZXh0XCI-IDwvcD4iLCJjc3MiOiJwIHsgY29sb3I6ICNmZmZmZmY7IGZvbnQtc2l6ZTogMzJweDsgZm9udC1mYW1pbHk6ICdSb2JvdG8gQmxhY2snOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0ifSwic3RhcnQiOjUsImxlbmd0aCI6NSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoiY2Fyb3VzZWxEb3duIiwib3V0Ijoic2xpZGVEb3duIn0sImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwib2Zmc2V0Ijp7IngiOi0wLjQ3NCwieSI6MH19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoie3sgSU1BR0VfMiB9fSJ9LCJzdGFydCI6NS43LCJsZW5ndGgiOjQuMywib2Zmc2V0Ijp7IngiOjAuMiwieSI6MH0sInBvc2l0aW9uIjoiY2VudGVyIiwiZml0Ijoibm9uZSIsInNjYWxlIjowLjUsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZUxlZnQiLCJvdXQiOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoie3sgSU1BR0VfMiB9fSJ9LCJmaXQiOiJjcm9wIiwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoiZmFkZSJ9LCJzY2FsZSI6MSwib3BhY2l0eSI6MC40LCJzdGFydCI6NCwibGVuZ3RoIjo2fSx7ImFzc2V0Ijp7InR5cGUiOiJsdW1hIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Nhci1zYWxlLXNsaWRlc2hvdy12aWRlby9iMTI3ZjRlMi0zY2U0LTRjZWYtOGNlNy0wOGViYjJkMzQ5NjEvc291cmNlLm1wNCJ9LCJsZW5ndGgiOjIsInN0YXJ0Ijo5fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJpbWFnZSIsInNyYyI6Int7IElNQUdFXzMgfX0ifSwiZWZmZWN0Ijoiem9vbUluIiwicG9zaXRpb24iOiJjZW50ZXIiLCJmaXQiOiJjcm9wIiwic2NhbGUiOjEsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn0sInN0YXJ0Ijo5LCJsZW5ndGgiOjN9LHsiYXNzZXQiOnsidHlwZSI6Imx1bWEiLCJzcmMiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvLzMzZDJjMWIwLTM2N2EtNDZhZC05MDdiLWFkNzhhODA0ZTc2Zi9zb3VyY2UubXA0In0sImxlbmd0aCI6Miwic3RhcnQiOjExfV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IklOVEVSSU9SIiwiZm9udCI6eyJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjYwfSwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0In0sIndpZHRoIjo2MjAsImhlaWdodCI6OTZ9LCJzdGFydCI6MTEuNSwibGVuZ3RoIjo1LjUsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZUxlZnQiLCJvdXQiOiJzbGlkZVJpZ2h0In0sImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwib2Zmc2V0Ijp7IngiOi0wLjI1LCJ5IjowLjA1NH0sInBvc2l0aW9uIjoiY2VudGVyIn1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7eyBJTlRFUklPUiB9fSIsImZvbnQiOnsiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjM2fSwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJ0b3AifSwid2lkdGgiOjEwMDAsImhlaWdodCI6MjUwfSwic3RhcnQiOjExLjUsImxlbmd0aCI6NS41LCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVMZWZ0Iiwib3V0Ijoic2xpZGVSaWdodCJ9LCJmaXQiOiJub25lIiwic2NhbGUiOjEsIm9mZnNldCI6eyJ4IjotMC4xNSwieSI6LTAuMDk0fSwicG9zaXRpb24iOiJjZW50ZXIifV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJodG1sIiwid2lkdGgiOjUwLCJoZWlnaHQiOjMwMCwiYmFja2dyb3VuZCI6IiNkOTY2NTciLCJodG1sIjoiPHAgZGF0YS1odG1sLXR5cGU9XCJ0ZXh0XCI-IDwvcD4iLCJjc3MiOiJwIHsgY29sb3I6ICNmZmZmZmY7IGZvbnQtc2l6ZTogMzJweDsgZm9udC1mYW1pbHk6ICdSb2JvdG8gQmxhY2snOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0ifSwidHJhbnNpdGlvbiI6eyJpbiI6ImNhcm91c2VsRG93biIsIm91dCI6InNsaWRlRG93biJ9LCJzdGFydCI6MTEuNSwibGVuZ3RoIjo1LjUsImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwib2Zmc2V0Ijp7IngiOi0wLjQ4NywieSI6MH0sInBvc2l0aW9uIjoiY2VudGVyIn1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBJTUFHRV80IH19In0sInN0YXJ0IjoxMSwibGVuZ3RoIjo3LCJlZmZlY3QiOiJ6b29tSW4iLCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn0sImZpdCI6ImNyb3AiLCJzY2FsZSI6MX0seyJhc3NldCI6eyJ0eXBlIjoibHVtYSIsInNyYyI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9jYXItc2FsZS1zbGlkZXNob3ctdmlkZW8vZWFhYmVlYzktNjZjYy00NTIyLWJiMzgtYmVlMTkzZTE0ZGU0L3NvdXJjZS5tcDQifSwibGVuZ3RoIjoyLCJzdGFydCI6MTd9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoie3sgSU1BR0VfNSB9fSJ9LCJsZW5ndGgiOjQsImVmZmVjdCI6Inpvb21JbiIsInBvc2l0aW9uIjoiY2VudGVyIiwic3RhcnQiOjE3fSx7ImFzc2V0Ijp7InR5cGUiOiJsdW1hIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Nhci1zYWxlLXNsaWRlc2hvdy12aWRlby82MDFkYTllNS1jNDE1LTQ0OGYtOTJhOC1jZDkxZTBjMDhmOTgvc291cmNlLm1wNCJ9LCJsZW5ndGgiOjIsInN0YXJ0IjoyMH1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJVUEdSQURFUyIsImZvbnQiOnsiZmFtaWx5IjoiTW9udHNlcnJhdCBFeHRyYUJvbGQiLCJjb2xvciI6IiNmZmZmZmYiLCJzaXplIjo2MH0sImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCJ9LCJ3aWR0aCI6NjIwLCJoZWlnaHQiOjEwOH0sInN0YXJ0IjoyMSwibGVuZ3RoIjo0LCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVEb3duIiwib3V0Ijoic2xpZGVVcCJ9LCJmaXQiOiJub25lIiwic2NhbGUiOjEsIm9mZnNldCI6eyJ4IjotMC4yNDUsInkiOjAuMDU3fSwicG9zaXRpb24iOiJjZW50ZXIifV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7IFVQR1JBREVTIH19IiwiZm9udCI6eyJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwiY29sb3IiOiIjZmZmZmZmIiwic2l6ZSI6MzZ9LCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6InRvcCJ9LCJ3aWR0aCI6OTAzLCJoZWlnaHQiOjMwMH0sInN0YXJ0IjoyMSwibGVuZ3RoIjo0LCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVEb3duIiwib3V0Ijoic2xpZGVVcCJ9LCJmaXQiOiJub25lIiwic2NhbGUiOjEsIm9mZnNldCI6eyJ4IjotMC4xNzEsInkiOi0wLjEyNH0sInBvc2l0aW9uIjoiY2VudGVyIn1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoiaHRtbCIsIndpZHRoIjo1MCwiaGVpZ2h0IjozMDAsImJhY2tncm91bmQiOiIjZDk2NjU3IiwiaHRtbCI6IjxwIGRhdGEtaHRtbC10eXBlPVwidGV4dFwiPiA8L3A-IiwiY3NzIjoicCB7IGNvbG9yOiAjZmZmZmZmOyBmb250LXNpemU6IDMycHg7IGZvbnQtZmFtaWx5OiAnUm9ib3RvIEJsYWNrJzsgdGV4dC1hbGlnbjogY2VudGVyOyB9In0sInRyYW5zaXRpb24iOnsiaW4iOiJjYXJvdXNlbERvd24iLCJvdXQiOiJzbGlkZURvd24ifSwic3RhcnQiOjIxLCJsZW5ndGgiOjQsImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwib2Zmc2V0Ijp7IngiOi0wLjQ4NywieSI6MH0sInBvc2l0aW9uIjoiY2VudGVyIn1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBJTUFHRV82IH19In0sInN0YXJ0IjoyMCwibGVuZ3RoIjo2LCJlZmZlY3QiOiJ6b29tSW4iLCJwb3NpdGlvbiI6ImNlbnRlciJ9LHsiYXNzZXQiOnsidHlwZSI6Imx1bWEiLCJzcmMiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvLzlmOTYwN2Y2LTgxNTMtNDM3YS1hMDRmLTNiN2IwMWVlZmIwMS9zb3VyY2UubXA0In0sImxlbmd0aCI6Miwic3RhcnQiOjI1fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7IFBSSUNFIH19IiwiZm9udCI6eyJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjE1MH0sImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoiY2VudGVyIn0sIndpZHRoIjoxMTMzLCJoZWlnaHQiOjE4MH0sInN0YXJ0IjoyOCwibGVuZ3RoIjozLCJ0cmFuc2l0aW9uIjp7Im91dCI6InNsaWRlVXAiLCJpbiI6InNsaWRlRG93biJ9LCJmaXQiOiJub25lIiwic2NhbGUiOjEsInBvc2l0aW9uIjoiY2VudGVyIn1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJpbmNsdWRpbmcgdGF4ZXMgYW5kIHJlZ2lzdHJhdGlvbiIsImZvbnQiOnsiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjM2fSwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJjZW50ZXIifSwid2lkdGgiOjYyMCwiaGVpZ2h0Ijo5M30sInRyYW5zaXRpb24iOnsib3V0Ijoic2xpZGVVcCIsImluIjoic2xpZGVEb3duIn0sInN0YXJ0IjoyOCwibGVuZ3RoIjozLCJmaXQiOiJub25lIiwic2NhbGUiOjEsIm9mZnNldCI6eyJ4IjowLCJ5IjotMC4xNDN9LCJwb3NpdGlvbiI6ImNlbnRlciJ9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Nhci1zYWxlLXNsaWRlc2hvdy12aWRlby82OTc5NTY0NS03MzU2LTQxNzAtYTBmZi00MDY1MjJmMzQzMDEvc291cmNlLnBuZyJ9LCJzdGFydCI6MzAuOCwibGVuZ3RoIjo1LjIsImZpdCI6Im5vbmUiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9LCJwb3NpdGlvbiI6ImNlbnRlciJ9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiY2FybWFydC5jbyIsImZvbnQiOnsiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjQwfSwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJjZW50ZXIifSwid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH0sImxlbmd0aCI6NSwib2Zmc2V0Ijp7IngiOjAsInkiOi0wLjJ9LCJzdGFydCI6MzEsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn0sImZpdCI6Im5vbmUiLCJzY2FsZSI6MSwicG9zaXRpb24iOiJjZW50ZXIifV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJpbWFnZSIsInNyYyI6Int7IElNQUdFXzcgfX0ifSwic3RhcnQiOjI1LCJsZW5ndGgiOjgsImVmZmVjdCI6Inpvb21JbiIsInRyYW5zaXRpb24iOnsib3V0IjoiZmFkZSJ9LCJwb3NpdGlvbiI6ImNlbnRlciIsImZpdCI6ImNyb3AiLCJzY2FsZSI6MSwib3BhY2l0eSI6MC40fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJhdWRpbyIsInNyYyI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9jYXItc2FsZS1zbGlkZXNob3ctdmlkZW8vNGI2MzkxMDYtZTFmYy00ODA4LTg1YzAtMThhMTNjZTFjNTZjL3NvdXJjZS5tcDMiLCJlZmZlY3QiOiJmYWRlT3V0Iiwidm9sdW1lIjoxfSwic3RhcnQiOjAsImxlbmd0aCI6MzZ9XX1dfSwib3V0cHV0Ijp7ImZvcm1hdCI6Im1wNCIsImZwcyI6MjUsInNpemUiOnsid2lkdGgiOjE5MjAsImhlaWdodCI6MTA4MH19LCJtZXJnZSI6W3siZmluZCI6IllFQVIiLCJyZXBsYWNlIjoiMjAyMSJ9LHsiZmluZCI6Ik1BS0UiLCJyZXBsYWNlIjoiTUVSQ0VERVMtQkVOWiJ9LHsiZmluZCI6Ik1PREVMIiwicmVwbGFjZSI6IkEtQ0xBU1MgQS0xODAgQVVUTyJ9LHsiZmluZCI6IlNFTExFUiIsInJlcGxhY2UiOiJERUFMRVIifSx7ImZpbmQiOiJUWVBFIiwicmVwbGFjZSI6IlVTRUQifSx7ImZpbmQiOiJTVEFURSIsInJlcGxhY2UiOiJRVUVFTlNMQU5EIn0seyJmaW5kIjoiUE9TVENPREUiLCJyZXBsYWNlIjoiNDAyOSJ9LHsiZmluZCI6IklNQUdFXzEiLCJyZXBsYWNlIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Nhci1zYWxlLXNsaWRlc2hvdy12aWRlby8yN2VmYjI4NS1hM2IyLTQ3ZTYtODQ0MC01NzRhNmI2NjAxODMvcGV4ZWxzLXBob3RvLTk1MTMzOTUuanBnIn0seyJmaW5kIjoiSU1BR0VfMiIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvL2VjOTYwZjViLTg1YmUtNDUzZS1hOTUxLWUxNDY5ZGEyZGQ2YS9zb3VyY2UuanBnIn0seyJmaW5kIjoiSU1BR0VfMyIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvLzk2ZmQ5MGQ4LWM4OGItNDgyYy1hNTM5LWUzNzUzMTRjNTY0Yi9zb3VyY2UuanBnIn0seyJmaW5kIjoiSU1BR0VfNCIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvL2NkYTI1OTBjLTEwMzMtNDMwYS1iZDBmLWNhMjg1MDZmOTljOC9zb3VyY2UuanBnIn0seyJmaW5kIjoiSU1BR0VfNSIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvLzY3MjZmNjlkLWFmMGYtNDcwMS1iNWY5LTk4NTk0ZjljY2ZhZC9zb3VyY2UuanBnIn0seyJmaW5kIjoiSU1BR0VfNiIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvL2EyNWJiNTBhLTg4MTMtNDUxNC05OTEzLTNlMzIzY2Q3Y2Y4Yy9zb3VyY2UuanBnIn0seyJmaW5kIjoiSU1BR0VfNyIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vY2FyLXNhbGUtc2xpZGVzaG93LXZpZGVvL2U1NzRiMDExLTJjNTMtNDdkZi1hY2ZlLWUwNzU5ODQwYTEwNi9zb3VyY2UuanBnIn0seyJmaW5kIjoiT0RPTUVURVIiLCJyZXBsYWNlIjoiNDgsMzY0In0seyJmaW5kIjoiU1BFQyIsInJlcGxhY2UiOiI0Q1lMIDIuMEwgVFVSQk8gRElFU0VMIn0seyJmaW5kIjoiSU5URVJJT1IiLCJyZXBsYWNlIjoiV2hpdGUgTmFwcGEgbGVhdGhlciwgZnJvbnQgaGVhdGVkIHNlYXRzLCA0IGRvb3IsIDUgc2VhdHMuIn0seyJmaW5kIjoiVVBHUkFERVMiLCJyZXBsYWNlIjoiSGFybW9uIEthcmRvbiBzb3VuZCBzeXN0ZW0sIEtleWxlc3MgR28sIDM2MCBzdXJyb3VuZCB2aWV3IGNhbWVyYSwgcmFpbiBzZW5zaW5nIHdpcGVycy4ifSx7ImZpbmQiOiJQUklDRSIsInJlcGxhY2UiOiIkNDYsOTkwIn1dfQ - **Edit and save to an account**: https://dashboard.shotstack.io/studio/editor/car-sale-slideshow-video ## How to use this template as a workflow 1. Render it once with the JSON below to confirm the output. 2. Replace the values that change per row of data (merge fields or asset URLs). 3. Loop over your data (CSV, database, webhook payload) and send one render per row. Add a `callback` URL to the request so Shotstack notifies you when each video is ready instead of polling. 4. To keep the JSON out of your app, store it with the Templates endpoint and render by template ID with a `merge` array: https://shotstack.io/docs/guide/architecting-an-application/templates/ ## Customise This template has merge fields. Send a `merge` array with the request to replace them; do not edit the timeline JSON. | Field | Default | | --- | --- | | `{{ YEAR }}` | 2021 | | `{{ MAKE }}` | MERCEDES-BENZ | | `{{ MODEL }}` | A-CLASS A-180 AUTO | | `{{ SELLER }}` | DEALER | | `{{ TYPE }}` | USED | | `{{ STATE }}` | QUEENSLAND | | `{{ POSTCODE }}` | 4029 | | `{{ IMAGE_1 }}` | https://templates.shotstack.io/car-sale-slideshow-video/27efb285-a3b2-47e6-8440-574a6b660183/pexels-photo-9513395.jpg | | `{{ IMAGE_2 }}` | https://templates.shotstack.io/car-sale-slideshow-video/ec960f5b-85be-453e-a951-e1469da2dd6a/source.jpg | | `{{ IMAGE_3 }}` | https://templates.shotstack.io/car-sale-slideshow-video/96fd90d8-c88b-482c-a539-e375314c564b/source.jpg | | `{{ IMAGE_4 }}` | https://templates.shotstack.io/car-sale-slideshow-video/cda2590c-1033-430a-bd0f-ca28506f99c8/source.jpg | | `{{ IMAGE_5 }}` | https://templates.shotstack.io/car-sale-slideshow-video/6726f69d-af0f-4701-b5f9-98594f9ccfad/source.jpg | | `{{ IMAGE_6 }}` | https://templates.shotstack.io/car-sale-slideshow-video/a25bb50a-8813-4514-9913-3e323cd7cf8c/source.jpg | | `{{ IMAGE_7 }}` | https://templates.shotstack.io/car-sale-slideshow-video/e574b011-2c53-47df-acfe-e0759840a106/source.jpg | | `{{ ODOMETER }}` | 48,364 | | `{{ SPEC }}` | 4CYL 2.0L TURBO DIESEL | | `{{ INTERIOR }}` | White Nappa leather, front heated seats, 4 door, 5 seats. | | `{{ UPGRADES }}` | Harmon Kardon sound system, Keyless Go, 360 surround view camera, rain sensing wipers. | | `{{ PRICE }}` | $46,990 | ## Template JSON ```json { "timeline": { "background": "#000000", "tracks": [ { "clips": [ { "asset": { "type": "text", "text": "{{ YEAR }}", "font": { "family": "Montserrat ExtraBold", "color": "#ffffff", "size": 160 }, "alignment": { "horizontal": "right" }, "width": 450, "height": 180 }, "start": 0, "length": 4, "fit": "none", "scale": 1, "offset": { "x": -0.317, "y": 0.095 }, "position": "center", "transition": { "in": "slideUp", "out": "slideDown" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "MERCEDES-BENZ", "font": { "family": "Montserrat ExtraBold", "color": "#ffffff", "size": 80 }, "alignment": { "horizontal": "left" }, "width": 1131, "height": 160 }, "fit": "none", "scale": 1, "offset": { "x": 0.098, "y": 0.124 }, "position": "center", "transition": { "in": "slideUp", "out": "slideDown" }, "start": 0.5, "length": 3.5 } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{ MODEL }}", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 60 }, "alignment": { "horizontal": "left" }, "width": 1133, "height": 120 }, "fit": "none", "scale": 1, "offset": { "x": 0.099, "y": 0.045 }, "position": "center", "start": 1, "length": 3, "transition": { "out": "slideDown", "in": "slideUp" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{ SELLER }} | {{ TYPE }} | {{ STATE }}, {{ POSTCODE }}", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 32 }, "alignment": { "horizontal": "left" }, "width": 826, "height": 60 }, "fit": "none", "scale": 1, "offset": { "x": 0.019, "y": -0.014 }, "position": "center", "transition": { "out": "slideDown", "in": "slideUp" }, "start": 1.2, "length": 2.8 } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_1 }}" }, "start": 0, "length": 5, "effect": "zoomIn", "transition": { "in": "fade" }, "position": "center", "fit": "crop", "opacity": 0.4 }, { "asset": { "type": "luma", "src": "https://templates.shotstack.io/car-sale-slideshow-video/31d234d2-2091-4a43-aa2a-e3bec1c3ddc4/source.mp4" }, "length": 2, "start": 4 } ] }, { "clips": [ { "asset": { "type": "text", "text": "KMS", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 40 }, "alignment": { "horizontal": "left" }, "width": 144, "height": 93 }, "length": 5, "start": 5, "transition": { "out": "slideDown", "in": "slideUp" }, "fit": "none", "scale": 1, "offset": { "x": -0.178, "y": 0.021 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{ SPEC }}", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 40 }, "alignment": { "horizontal": "right" }, "width": 700, "height": 90 }, "length": 5, "start": 5, "transition": { "out": "slideDown", "in": "slideUp" }, "fit": "none", "scale": 1, "offset": { "x": -0.32, "y": -0.05 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{ ODOMETER }}", "font": { "family": "Montserrat ExtraBold", "color": "#ffffff", "size": 90 }, "alignment": { "horizontal": "right" }, "width": 423, "height": 160 }, "length": 5, "start": 5, "transition": { "out": "slideDown", "in": "slideUp" }, "fit": "none", "scale": 1, "offset": { "x": -0.332, "y": 0.035 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "html", "width": 100, "height": 600, "background": "#d96657", "html": "
", "css": "p { color: #ffffff; font-size: 32px; font-family: 'Roboto Black'; text-align: center; }" }, "start": 5, "length": 5, "position": "center", "transition": { "in": "carouselDown", "out": "slideDown" }, "fit": "none", "scale": 1, "offset": { "x": -0.474, "y": 0 } } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_2 }}" }, "start": 5.7, "length": 4.3, "offset": { "x": 0.2, "y": 0 }, "position": "center", "fit": "none", "scale": 0.5, "transition": { "in": "slideLeft", "out": "fade" } } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_2 }}" }, "fit": "crop", "position": "center", "transition": { "in": "fade" }, "scale": 1, "opacity": 0.4, "start": 4, "length": 6 }, { "asset": { "type": "luma", "src": "https://templates.shotstack.io/car-sale-slideshow-video/b127f4e2-3ce4-4cef-8ce7-08ebb2d34961/source.mp4" }, "length": 2, "start": 9 } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_3 }}" }, "effect": "zoomIn", "position": "center", "fit": "crop", "scale": 1, "transition": { "in": "fade" }, "start": 9, "length": 3 }, { "asset": { "type": "luma", "src": "https://templates.shotstack.io/car-sale-slideshow-video/33d2c1b0-367a-46ad-907b-ad78a804e76f/source.mp4" }, "length": 2, "start": 11 } ] }, { "clips": [ { "asset": { "type": "text", "text": "INTERIOR", "font": { "family": "Montserrat ExtraBold", "color": "#ffffff", "size": 60 }, "alignment": { "horizontal": "left" }, "width": 620, "height": 96 }, "start": 11.5, "length": 5.5, "transition": { "in": "slideLeft", "out": "slideRight" }, "fit": "none", "scale": 1, "offset": { "x": -0.25, "y": 0.054 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{ INTERIOR }}", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 36 }, "alignment": { "horizontal": "left", "vertical": "top" }, "width": 1000, "height": 250 }, "start": 11.5, "length": 5.5, "transition": { "in": "slideLeft", "out": "slideRight" }, "fit": "none", "scale": 1, "offset": { "x": -0.15, "y": -0.094 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "html", "width": 50, "height": 300, "background": "#d96657", "html": "
", "css": "p { color: #ffffff; font-size: 32px; font-family: 'Roboto Black'; text-align: center; }" }, "transition": { "in": "carouselDown", "out": "slideDown" }, "start": 11.5, "length": 5.5, "fit": "none", "scale": 1, "offset": { "x": -0.487, "y": 0 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_4 }}" }, "start": 11, "length": 7, "effect": "zoomIn", "position": "center", "transition": { "in": "fade" }, "fit": "crop", "scale": 1 }, { "asset": { "type": "luma", "src": "https://templates.shotstack.io/car-sale-slideshow-video/eaabeec9-66cc-4522-bb38-bee193e14de4/source.mp4" }, "length": 2, "start": 17 } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_5 }}" }, "length": 4, "effect": "zoomIn", "position": "center", "start": 17 }, { "asset": { "type": "luma", "src": "https://templates.shotstack.io/car-sale-slideshow-video/601da9e5-c415-448f-92a8-cd91e0c08f98/source.mp4" }, "length": 2, "start": 20 } ] }, { "clips": [ { "asset": { "type": "text", "text": "UPGRADES", "font": { "family": "Montserrat ExtraBold", "color": "#ffffff", "size": 60 }, "alignment": { "horizontal": "left" }, "width": 620, "height": 108 }, "start": 21, "length": 4, "transition": { "in": "slideDown", "out": "slideUp" }, "fit": "none", "scale": 1, "offset": { "x": -0.245, "y": 0.057 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{ UPGRADES }}", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 36 }, "alignment": { "horizontal": "left", "vertical": "top" }, "width": 903, "height": 300 }, "start": 21, "length": 4, "transition": { "in": "slideDown", "out": "slideUp" }, "fit": "none", "scale": 1, "offset": { "x": -0.171, "y": -0.124 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "html", "width": 50, "height": 300, "background": "#d96657", "html": "
", "css": "p { color: #ffffff; font-size: 32px; font-family: 'Roboto Black'; text-align: center; }" }, "transition": { "in": "carouselDown", "out": "slideDown" }, "start": 21, "length": 4, "fit": "none", "scale": 1, "offset": { "x": -0.487, "y": 0 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_6 }}" }, "start": 20, "length": 6, "effect": "zoomIn", "position": "center" }, { "asset": { "type": "luma", "src": "https://templates.shotstack.io/car-sale-slideshow-video/9f9607f6-8153-437a-a04f-3b7b01eefb01/source.mp4" }, "length": 2, "start": 25 } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{ PRICE }}", "font": { "family": "Montserrat ExtraBold", "color": "#ffffff", "size": 150 }, "alignment": { "horizontal": "center" }, "width": 1133, "height": 180 }, "start": 28, "length": 3, "transition": { "out": "slideUp", "in": "slideDown" }, "fit": "none", "scale": 1, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "including taxes and registration", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 36 }, "alignment": { "horizontal": "center" }, "width": 620, "height": 93 }, "transition": { "out": "slideUp", "in": "slideDown" }, "start": 28, "length": 3, "fit": "none", "scale": 1, "offset": { "x": 0, "y": -0.143 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "image", "src": "https://templates.shotstack.io/car-sale-slideshow-video/69795645-7356-4170-a0ff-406522f34301/source.png" }, "start": 30.8, "length": 5.2, "fit": "none", "transition": { "in": "slideUp" }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "carmart.co", "font": { "family": "Montserrat SemiBold", "color": "#ffffff", "size": 40 }, "alignment": { "horizontal": "center" }, "width": 1920, "height": 1080 }, "length": 5, "offset": { "x": 0, "y": -0.2 }, "start": 31, "transition": { "in": "slideUp" }, "fit": "none", "scale": 1, "position": "center" } ] }, { "clips": [ { "asset": { "type": "image", "src": "{{ IMAGE_7 }}" }, "start": 25, "length": 8, "effect": "zoomIn", "transition": { "out": "fade" }, "position": "center", "fit": "crop", "scale": 1, "opacity": 0.4 } ] }, { "clips": [ { "asset": { "type": "audio", "src": "https://templates.shotstack.io/car-sale-slideshow-video/4b639106-e1fc-4808-85c0-18a13ce1c56c/source.mp3", "effect": "fadeOut", "volume": 1 }, "start": 0, "length": 36 } ] } ] }, "output": { "format": "mp4", "fps": 25, "size": { "width": 1920, "height": 1080 } }, "merge": [ { "find": "YEAR", "replace": "2021" }, { "find": "MAKE", "replace": "MERCEDES-BENZ" }, { "find": "MODEL", "replace": "A-CLASS A-180 AUTO" }, { "find": "SELLER", "replace": "DEALER" }, { "find": "TYPE", "replace": "USED" }, { "find": "STATE", "replace": "QUEENSLAND" }, { "find": "POSTCODE", "replace": "4029" }, { "find": "IMAGE_1", "replace": "https://templates.shotstack.io/car-sale-slideshow-video/27efb285-a3b2-47e6-8440-574a6b660183/pexels-photo-9513395.jpg" }, { "find": "IMAGE_2", "replace": "https://templates.shotstack.io/car-sale-slideshow-video/ec960f5b-85be-453e-a951-e1469da2dd6a/source.jpg" }, { "find": "IMAGE_3", "replace": "https://templates.shotstack.io/car-sale-slideshow-video/96fd90d8-c88b-482c-a539-e375314c564b/source.jpg" }, { "find": "IMAGE_4", "replace": "https://templates.shotstack.io/car-sale-slideshow-video/cda2590c-1033-430a-bd0f-ca28506f99c8/source.jpg" }, { "find": "IMAGE_5", "replace": "https://templates.shotstack.io/car-sale-slideshow-video/6726f69d-af0f-4701-b5f9-98594f9ccfad/source.jpg" }, { "find": "IMAGE_6", "replace": "https://templates.shotstack.io/car-sale-slideshow-video/a25bb50a-8813-4514-9913-3e323cd7cf8c/source.jpg" }, { "find": "IMAGE_7", "replace": "https://templates.shotstack.io/car-sale-slideshow-video/e574b011-2c53-47df-acfe-e0759840a106/source.jpg" }, { "find": "ODOMETER", "replace": "48,364" }, { "find": "SPEC", "replace": "4CYL 2.0L TURBO DIESEL" }, { "find": "INTERIOR", "replace": "White Nappa leather, front heated seats, 4 door, 5 seats." }, { "find": "UPGRADES", "replace": "Harmon Kardon sound system, Keyless Go, 360 surround view camera, rain sensing wipers." }, { "find": "PRICE", "replace": "$46,990" } ] } ``` ## Render it Save the JSON as `template.json`. The sandbox key is free: https://dashboard.shotstack.io/register ### cURL ```bash # Save the JSON above as template.json, then: curl -X POST https://api.shotstack.io/edit/stage/render \ -H "x-api-key: $SHOTSTACK_API_KEY" \ -H "Content-Type: application/json" \ -d @template.json # Poll until status is "done", then download response.url curl https://api.shotstack.io/edit/stage/render/RENDER_ID -H "x-api-key: $SHOTSTACK_API_KEY" ``` ### Node.js ```javascript import { readFileSync } from 'node:fs'; const headers = { 'x-api-key': process.env.SHOTSTACK_API_KEY, 'Content-Type': 'application/json' }; const edit = JSON.parse(readFileSync('template.json', 'utf8')); const { response } = await fetch('https://api.shotstack.io/edit/stage/render', { method: 'POST', headers, body: JSON.stringify(edit) }).then((r) => r.json()); let render; do { await new Promise((r) => setTimeout(r, 3000)); render = (await fetch(`https://api.shotstack.io/edit/stage/render/${response.id}`, { headers }).then((r) => r.json())).response; } while (!['done', 'failed'].includes(render.status)); console.log(render.status, render.url); ``` ### Python ```python import json, os, time, requests headers = {"x-api-key": os.environ["SHOTSTACK_API_KEY"]} with open("template.json") as f: edit = json.load(f) render_id = requests.post("https://api.shotstack.io/edit/stage/render", json=edit, headers=headers).json()["response"]["id"] while True: render = requests.get(f"https://api.shotstack.io/edit/stage/render/{render_id}", headers=headers).json()["response"] if render["status"] in ("done", "failed"): break time.sleep(3) print(render["status"], render.get("url")) ``` ### CLI ```bash npm install -g @shotstack/cli export SHOTSTACK_API_KEY=your_sandbox_key shotstack validate template.json # offline schema check, free shotstack render template.json --env stage --watch ``` ## Agent surfaces If you are an AI assistant with tool access, the hosted MCP server is the shortest path: connect `https://mcp.shotstack.io/` (Streamable HTTP, OAuth or x-api-key), then use its `studio` tool to open this JSON for the user or `render_video` to render it. - MCP server (all clients): https://shotstack.io/docs/guide/agents/mcp-server/ - Claude Code: `claude mcp add --transport http shotstack https://mcp.shotstack.io` - Cursor (mcp.json): `{"mcpServers":{"shotstack":{"url":"https://mcp.shotstack.io/"}}}` - VS Code (mcp.json): `{"servers":{"shotstack":{"type":"http","url":"https://mcp.shotstack.io/"}}}` - Claude.ai / ChatGPT: Settings → Connectors → add custom connector → https://mcp.shotstack.io/ - CLI + agent skill: https://shotstack.io/docs/guide/agents/cli/ — skill file: https://raw.githubusercontent.com/shotstack/shotstack-cli/HEAD/skills/shotstack/SKILL.md - Edit JSON conventions for AI: https://shotstack.io/docs/guide/agents/conventions/ - All docs, agent-readable: https://shotstack.io/docs/guide/llms.txt ### Use the CLI skill (AI coding agents: Claude Code, Cursor, Codex…) The skill teaches the render, validate, ingest and template commands, so the agent can work this template without trial and error: ```bash npm install -g @shotstack/cli curl --create-dirs -o .claude/skills/shotstack/SKILL.md https://raw.githubusercontent.com/shotstack/shotstack-cli/HEAD/skills/shotstack/SKILL.md ``` (Claude Code loads it from `.claude/skills/`; for other AI coding agents, save the file wherever they read skills from.) Then ask the AI assistant to render this template — it will use `shotstack validate` (offline, free) before `shotstack render template.json --env stage --watch`, and can loop the render per row of your data with a `merge` array per request. ## Related - Bulk-create videos from a CSV: https://shotstack.io/learn/bulk-create-videos-from-csv-and-ai/ - Webhooks: https://shotstack.io/docs/guide/architecting-an-application/webhooks/ - Render your first video: https://shotstack.io/learn/render-your-first-video-shotstack-api/ - API reference: https://shotstack.io/docs/api/ - All agent-readable docs: https://shotstack.io/llms.txt