# Cinematic Real Estate Promo (video template) > Bring listings to life with elegant motion design. Ideal for showcasing properties, neighborhoods, and realtor branding in a modern, cinematic way. ## Overview - **Page**: https://shotstack.io/studio/templates/cinematic-real-estate-promo-template/ - **Output**: MP4, 1080x1080 (1:1), 25 fps - **Length**: 35s - **Timeline**: 33 clips on 17 tracks; assets: audio, image, luma, text, video - **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=eyJ0aW1lbGluZSI6eyJiYWNrZ3JvdW5kIjoiI0ZGRkZGRiIsInRyYWNrcyI6W3siY2xpcHMiOlt7Imxlbmd0aCI6ImVuZCIsImFzc2V0Ijp7InR5cGUiOiJhdWRpbyIsInNyYyI6Int7IEFVRElPX1NSQyB9fSIsInZvbHVtZSI6MX0sInN0YXJ0IjowfV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7UzFfREVTQ1JJUFRJT05fMn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMjUiLCJsaW5lSGVpZ2h0IjoxLjI2fSwid2lkdGgiOjY1MCwiaGVpZ2h0IjoxNTB9LCJzdGFydCI6NS44LCJsZW5ndGgiOjQuMiwib2Zmc2V0Ijp7IngiOi0wLjEyLCJ5IjotMC4yODJ9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19LHsiYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tTMl9ERVNDUklQVElPTl8yfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsInNpemUiOiIyNSIsImxpbmVIZWlnaHQiOjEuMjZ9LCJ3aWR0aCI6NjUwLCJoZWlnaHQiOjE1MH0sInN0YXJ0IjoxMC44LCJsZW5ndGgiOjQuMiwib2Zmc2V0Ijp7IngiOi0wLjEyLCJ5IjotMC4yODF9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19LHsiYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiIHt7UzNfREVTQ1JJUFRJT05fMn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMjUiLCJsaW5lSGVpZ2h0IjoxLjI2fSwid2lkdGgiOjY1MCwiaGVpZ2h0IjoxNTB9LCJzdGFydCI6MTUuOCwibGVuZ3RoIjo0LjIsIm9mZnNldCI6eyJ4IjotMC4xMiwieSI6LTAuMjgyfSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9fSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7UzRfREVTQ1JJUFRJT05fMn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMjUiLCJsaW5lSGVpZ2h0IjoxLjI2fSwid2lkdGgiOjY1MCwiaGVpZ2h0IjoxNTB9LCJzdGFydCI6MjAuOCwibGVuZ3RoIjo0LjIsIm9mZnNldCI6eyJ4IjotMC4xMiwieSI6LTAuMjgyfSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9fSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7UzVfREVTQ1JJUFRJT05fMn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMjUiLCJsaW5lSGVpZ2h0IjoxLjI2fSwid2lkdGgiOjY1MCwiaGVpZ2h0IjoxNTB9LCJzdGFydCI6MjUuOCwibGVuZ3RoIjo0LjIsIm9mZnNldCI6eyJ4IjotMC4xMiwieSI6LTAuMjgyfSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9fSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiB7e1dFQlNJVEV9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI1IiwibGluZUhlaWdodCI6MS4yNn0sIndpZHRoIjo2NTAsImhlaWdodCI6MTUwfSwic3RhcnQiOjMwLjgsImxlbmd0aCI6NC4yLCJvZmZzZXQiOnsieCI6LTAuMTIsInkiOi0wLjIyNn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlVXAifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MxX0RFU0NSSVBUSU9OfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsInNpemUiOiIyNSIsImxpbmVIZWlnaHQiOjEuMjZ9LCJ3aWR0aCI6NjAwLCJoZWlnaHQiOjE1MH0sInN0YXJ0Ijo1LjQsImxlbmd0aCI6NC42LCJvZmZzZXQiOnsieCI6LTAuMTQzLCJ5IjotMC4xNjZ9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19LHsiYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tTMl9ERVNDUklQVElPTn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMjUiLCJsaW5lSGVpZ2h0IjoxLjI2fSwid2lkdGgiOjYwMCwiaGVpZ2h0IjoxNTB9LCJzdGFydCI6MTAuNCwibGVuZ3RoIjo0LjYsIm9mZnNldCI6eyJ4IjotMC4xNDMsInkiOi0wLjE2Nn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlVXAifX0seyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MzX0RFU0NSSVBUSU9OfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsInNpemUiOiIyNSIsImxpbmVIZWlnaHQiOjEuMjZ9LCJ3aWR0aCI6NjAwLCJoZWlnaHQiOjE1MH0sInN0YXJ0IjoxNS40LCJsZW5ndGgiOjQuNiwib2Zmc2V0Ijp7IngiOi0wLjE0MywieSI6LTAuMTY2fSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9fSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7UzRfREVTQ1JJUFRJT059fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI1IiwibGluZUhlaWdodCI6MS4yNn0sIndpZHRoIjo2MDAsImhlaWdodCI6MTUwfSwic3RhcnQiOjIwLjQsImxlbmd0aCI6NC42LCJvZmZzZXQiOnsieCI6LTAuMTQzLCJ5IjotMC4xNjZ9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19LHsiYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tTNV9ERVNDUklQVElPTn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMjUiLCJsaW5lSGVpZ2h0IjoxLjI2fSwid2lkdGgiOjYwMCwiaGVpZ2h0IjoxNTB9LCJzdGFydCI6MjUuNCwibGVuZ3RoIjo0LjYsIm9mZnNldCI6eyJ4IjotMC4xNDMsInkiOi0wLjE2Nn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlVXAifX0seyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1M2X0RFU0NSSVBUSU9OXzJ9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBTNl9URVhUX0ZPTlRfQ09MT1JfMiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMjUiLCJsaW5lSGVpZ2h0IjoxLjI2fSwid2lkdGgiOjgwMCwiaGVpZ2h0IjoxNTB9LCJzdGFydCI6MzAuNCwibGVuZ3RoIjo0LjYsIm9mZnNldCI6eyJ4IjotMC4wNTEsInkiOi0wLjEzfSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoiZmFkZSJ9fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7UzFfVElUTEV9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjUwIiwibGluZUhlaWdodCI6MX0sIndpZHRoIjo1MDAsImhlaWdodCI6ODB9LCJzdGFydCI6NSwibGVuZ3RoIjo1LCJvZmZzZXQiOnsieCI6LTAuMTg5LCJ5IjotMC4wNn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlVXAifX0seyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MyX1RJVExFfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsInNpemUiOiI1MCIsImxpbmVIZWlnaHQiOjF9LCJ3aWR0aCI6NTAwLCJoZWlnaHQiOjgwfSwic3RhcnQiOjEwLCJsZW5ndGgiOjUsIm9mZnNldCI6eyJ4IjotMC4xODksInkiOi0wLjA2fSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9fSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7UzNfVElUTEV9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjUwIiwibGluZUhlaWdodCI6MX0sIndpZHRoIjo1MDAsImhlaWdodCI6ODB9LCJzdGFydCI6MTUsImxlbmd0aCI6NSwib2Zmc2V0Ijp7IngiOi0wLjE4OSwieSI6LTAuMDZ9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19LHsiYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tTNF9USVRMRX19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiNTAiLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjUwMCwiaGVpZ2h0Ijo4MH0sInN0YXJ0IjoyMCwibGVuZ3RoIjo1LCJvZmZzZXQiOnsieCI6LTAuMTg5LCJ5IjotMC4wNn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlVXAifX0seyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1M1X1RJVExFfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsInNpemUiOiI1MCIsImxpbmVIZWlnaHQiOjF9LCJ3aWR0aCI6NTAwLCJoZWlnaHQiOjgwfSwic3RhcnQiOjI1LCJsZW5ndGgiOjUsIm9mZnNldCI6eyJ4IjotMC4xODksInkiOi0wLjA2fSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9fSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7UzZfVElUTEV9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjcwIiwibGluZUhlaWdodCI6MX0sIndpZHRoIjo3NjIsImhlaWdodCI6NDAwfSwic3RhcnQiOjMwLCJsZW5ndGgiOjUsIm9mZnNldCI6eyJ4IjotMC4wNjksInkiOjAuMDl9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tERVNDUklQVElPTn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMTAyIiwibGluZUhlaWdodCI6MX0sIndpZHRoIjo3OTcsImhlaWdodCI6MzQ2fSwic3RhcnQiOjAsImxlbmd0aCI6NSwib2Zmc2V0Ijp7IngiOi0wLjA1NSwieSI6MC4wNTR9LCJwb3NpdGlvbiI6ImNlbnRlciJ9XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tUSVRMRX19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6IkRpZGFjdCBHb3RoaWMiLCJzaXplIjoiNTYiLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1OH0sInN0YXJ0IjowLCJsZW5ndGgiOjUsIm9mZnNldCI6eyJ4IjotMC4xOTIsInkiOjAuMjQ4fSwicG9zaXRpb24iOiJjZW50ZXIifV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiB7e0JSQU5EX05BTUV9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsInNpemUiOiIyMyIsImxpbmVIZWlnaHQiOjF9LCJ3aWR0aCI6NTAwLCJoZWlnaHQiOjM5fSwic3RhcnQiOjAsImxlbmd0aCI6MzUsIm9mZnNldCI6eyJ4IjotMC4yMDYsInkiOi0wLjQ1OX0sInBvc2l0aW9uIjoiY2VudGVyIn1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiIiLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImNlbnRlciIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiIjMDAwMDAwIiwiZmFtaWx5IjoiTW9udHNlcnJhdCBFeHRyYUJvbGQiLCJzaXplIjo3MiwibGluZUhlaWdodCI6MX0sIndpZHRoIjo5NTAsImhlaWdodCI6NSwiYmFja2dyb3VuZCI6eyJjb2xvciI6Int7IExJTkVfQ09MT1IgfX0ifX0sInN0YXJ0IjowLCJsZW5ndGgiOjM1LCJvZmZzZXQiOnsieSI6LTAuNDF9fV19LHsiY2xpcHMiOlt7Imxlbmd0aCI6NSwiZml0IjoiY29udGFpbiIsImFzc2V0Ijp7InR5cGUiOiJ2aWRlbyIsInNyYyI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9jaW5lbWF0aWMtcmVhbC1lc3RhdGUtcHJvbW8tdGVtcGxhdGUvaTZsZ3RuN2k5Mml3aTI3YnF3OGtiMGhjL3NvdXJjZV81YjE2MTE5Ny53ZWJtIn0sInN0YXJ0IjowfV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJsdW1hIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL0NpbmVtYXRpYy1SZWFsLUVzdGF0ZS1Qcm9tby1UZW1wbGF0ZS80MDBkZjUwZi04MWEyLTQ3NGEtYmIyMC0yZjkzYmVjMTA1YzIvc291cmNlLm1wNCJ9LCJzdGFydCI6MCwibGVuZ3RoIjozNX0seyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiIge3tTNV9USVRMRX19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJjZW50ZXIiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoiIzAwMDAwMCIsImZhbWlseSI6Ik1vbnRzZXJyYXQgRXh0cmFCb2xkIiwic2l6ZSI6NzIsImxpbmVIZWlnaHQiOjEsIm9wYWNpdHkiOjF9LCJ3aWR0aCI6MTA4MCwiaGVpZ2h0IjoxMDgwLCJiYWNrZ3JvdW5kIjp7ImNvbG9yIjoie3sgUzZfVEVYVF9CQUNLR1JPVU5EX0NPTE9SIH19In19LCJzdGFydCI6MCwibGVuZ3RoIjozNSwib3BhY2l0eSI6MC4zMywicG9zaXRpb24iOiJjZW50ZXIifV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoiY2VudGVyIiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6IiMwMDAwMDAiLCJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsInNpemUiOjcyLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjEwODAsImhlaWdodCI6MTA4MCwiYmFja2dyb3VuZCI6eyJjb2xvciI6IiMwMDAwMDAifX0sInN0YXJ0IjozMCwibGVuZ3RoIjo1LCJlZmZlY3QiOiJ6b29tSW5TbG93In1dfSx7ImNsaXBzIjpbeyJsZW5ndGgiOjUsImFzc2V0Ijp7InR5cGUiOiJpbWFnZSIsInNyYyI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9DaW5lbWF0aWMtUmVhbC1Fc3RhdGUtUHJvbW8tVGVtcGxhdGUvZjVhMzc0YTctYWFhMi00MjcyLWE3NTgtYTZkYmI4OGY4MmMxL3NvdXJjZS5qcGcifSwic3RhcnQiOjI1LCJzY2FsZSI6MSwiZWZmZWN0Ijoiem9vbUluIn1dfSx7ImNsaXBzIjpbeyJsZW5ndGgiOjUsImFzc2V0Ijp7InR5cGUiOiJpbWFnZSIsInNyYyI6Int7IFM0X0lNQUdFX1NSQyB9fSJ9LCJzdGFydCI6MjAsInNjYWxlIjoxLCJlZmZlY3QiOiJ6b29tT3V0U2xvdyJ9XX0seyJjbGlwcyI6W3sibGVuZ3RoIjo1LCJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBTM19JTUFHRV9TUkMgfX0ifSwic3RhcnQiOjE1LCJlZmZlY3QiOiJ6b29tSW5TbG93In1dfSx7ImNsaXBzIjpbeyJsZW5ndGgiOjUsImFzc2V0Ijp7InR5cGUiOiJpbWFnZSIsInNyYyI6Int7IFMyX0lNQUdFX1NSQyB9fSJ9LCJzdGFydCI6MTAsInNjYWxlIjoxLCJlZmZlY3QiOiJ6b29tT3V0U2xvdyJ9XX0seyJjbGlwcyI6W3sibGVuZ3RoIjo1LCJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBTMV9JTUFHRV9TUkMgfX0ifSwic3RhcnQiOjUsImVmZmVjdCI6Inpvb21JblNsb3cifV19LHsiY2xpcHMiOlt7Imxlbmd0aCI6NSwiYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoie3sgSU1BR0VfU1JDIH19In0sInN0YXJ0IjowLCJlZmZlY3QiOiJ6b29tT3V0U2xvdyJ9XX1dfSwib3V0cHV0Ijp7ImZvcm1hdCI6Im1wNCIsImZwcyI6MjUsInNpemUiOnsid2lkdGgiOjEwODAsImhlaWdodCI6MTA4MH19LCJtZXJnZSI6W3siZmluZCI6IlRJVExFIiwicmVwbGFjZSI6IldlbGNvbWUgdG8geW91ciJ9LHsiZmluZCI6IkRFU0NSSVBUSU9OIiwicmVwbGFjZSI6IlZJUlRVQUwgUFJPUEVSVFkgVE9VUiJ9LHsiZmluZCI6IkJSQU5EX05BTUUiLCJyZXBsYWNlIjoiQk9SQ0VMTEUgUkVBTCBFU1RBVEUifSx7ImZpbmQiOiJURVhUX0ZPTlRfQ09MT1IiLCJyZXBsYWNlIjoiI2ZmZmZmZiJ9LHsiZmluZCI6IlMxX1RJVExFIiwicmVwbGFjZSI6IkxpdmluZyBSb29tIn0seyJmaW5kIjoiUzFfREVTQ1JJUFRJT04iLCJyZXBsYWNlIjoiU3RlcCBpbnRvIHRoZSBzcGFjaW91cyBhbmQgYnJpZ2h0IGxpdmluZyByb29tLCBmZWF0dXJpbmcgbGFyZ2Ugd2luZG93cyB0aGF0IGZsb29kIHRoZSBzcGFjZSB3aXRoIG5hdHVyYWwgbGlnaHQuIn0seyJmaW5kIjoiUzFfREVTQ1JJUFRJT05fMiIsInJlcGxhY2UiOiJUaGUgb3BlbiBmbG9vciBwbGFuIGlzIHBlcmZlY3QgZm9yIGVudGVydGFpbmluZywgYW5kIHRoZSBtb2Rlcm4gZml4dHVyZXMgYWRkIGEgdG91Y2ggb2YgZWxlZ2FuY2UifSx7ImZpbmQiOiJTMl9USVRMRSIsInJlcGxhY2UiOiJLSVRDSEVOIn0seyJmaW5kIjoiUzJfREVTQ1JJUFRJT04iLCJyZXBsYWNlIjoiVGhlIGtpdGNoZW4gaXMgYSBjaGVmJ3MgZHJlYW0sIGVxdWlwcGVkIHdpdGggc3RhaW5sZXNzIHN0ZWVsIGFwcGxpYW5jZXMsIGdyYW5pdGUgY291bnRlcnRvcHMsIGFuZCBhbXBsZSBjYWJpbmV0IHNwYWNlLiJ9LHsiZmluZCI6IlMyX0RFU0NSSVBUSU9OXzIiLCJyZXBsYWNlIjoiVGhlIGNlbnRyYWwgaXNsYW5kIHByb3ZpZGVzIGFkZGl0aW9uYWwgd29ya3NwYWNlIGFuZCBpcyBpZGVhbCBmb3IgY2FzdWFsIGRpbmluZy4ifSx7ImZpbmQiOiJJTUFHRV9TUkMiLCJyZXBsYWNlIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL0NpbmVtYXRpYy1SZWFsLUVzdGF0ZS1Qcm9tby1UZW1wbGF0ZS9lMDhhMzMxOS1jNGY5LTQyZjktYjg2Ny05YzcxOTQ3NWRiMzEvc291cmNlLmpwZyJ9LHsiZmluZCI6IlMxX0lNQUdFX1NSQyIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vQ2luZW1hdGljLVJlYWwtRXN0YXRlLVByb21vLVRlbXBsYXRlLzBjMjE3YTgzLTcyYTgtNDQ1ZC1iMTJjLWM1ZGVlN2UxNWZkNi9zb3VyY2UuanBnIn0seyJmaW5kIjoiUzJfSU1BR0VfU1JDIiwicmVwbGFjZSI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9DaW5lbWF0aWMtUmVhbC1Fc3RhdGUtUHJvbW8tVGVtcGxhdGUvMGRmY2MzNDQtNTUzZC00MmQzLTgxNjAtNzAwNGRjMDcwNzQzL3NvdXJjZS5qcGcifSx7ImZpbmQiOiJTM19USVRMRSIsInJlcGxhY2UiOiJNQVNURVJTIFJPT00ifSx7ImZpbmQiOiJTM19ERVNDUklQVElPTiIsInJlcGxhY2UiOiJUaGUgbWFzdGVyIGJlZHJvb20gb2ZmZXJzIGEgcGVhY2VmdWwgcmV0cmVhdCB3aXRoIGl0cyBnZW5lcm91cyBzaXplLCB3YWxrLWluIGNsb3NldCwgYW5kIGVuc3VpdGUgYmF0aHJvb20uIn0seyJmaW5kIjoiUzNfREVTQ1JJUFRJT05fMiIsInJlcGxhY2UiOiJMYXJnZSB3aW5kb3dzIHByb3ZpZGUgYmVhdXRpZnVsIHZpZXdzIGFuZCBwbGVudHkgb2YgbmF0dXJhbCBsaWdodC4ifSx7ImZpbmQiOiJTM19JTUFHRV9TUkMiLCJyZXBsYWNlIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL0NpbmVtYXRpYy1SZWFsLUVzdGF0ZS1Qcm9tby1UZW1wbGF0ZS84ZTI4OTAwNS1kMmY4LTRkM2QtYWE1Zi1iMDM2YTk5M2JjYTEvc291cmNlLmpwZyJ9LHsiZmluZCI6IlM0X1RJVExFIiwicmVwbGFjZSI6IkJBVEhST09NIn0seyJmaW5kIjoiUzRfREVTQ1JJUFRJT04iLCJyZXBsYWNlIjoiRWFjaCBiYXRocm9vbSBpcyB0YXN0ZWZ1bGx5IGRlc2lnbmVkIHdpdGggbW9kZXJuIGZpeHR1cmVzLCB0aWxlIGZsb29yaW5nLCBhbmQgc3R5bGlzaCB2YW5pdGllcy4ifSx7ImZpbmQiOiJTNF9ERVNDUklQVElPTl8yIiwicmVwbGFjZSI6IlRoZSBtYXN0ZXIgYmF0aCBpbmNsdWRlcyBhIGRvdWJsZSBzaW5rLCBhIHNvYWtpbmcgdHViLCBhbmQgYSBzZXBhcmF0ZSBzaG93ZXIuIn0seyJmaW5kIjoiUzRfSU1BR0VfU1JDIiwicmVwbGFjZSI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9DaW5lbWF0aWMtUmVhbC1Fc3RhdGUtUHJvbW8tVGVtcGxhdGUvZjA5YWIwM2EtOTAyNC00ZTQzLTgzMjMtYmZiOTk1NzIzNzZlL3NvdXJjZS5qcGcifSx7ImZpbmQiOiJTNV9USVRMRSIsInJlcGxhY2UiOiJPdXRkb29yIFNwYWNlIn0seyJmaW5kIjoiUzVfREVTQ1JJUFRJT04iLCJyZXBsYWNlIjoiRW5qb3kgdGhlIGJlYXV0aWZ1bGx5IGxhbmRzY2FwZWQgYmFja3lhcmQsIHBlcmZlY3QgZm9yIG91dGRvb3IgYWN0aXZpdGllcyBhbmQgcmVsYXhhdGlvbi4ifSx7ImZpbmQiOiJTNV9ERVNDUklQVElPTl8yIiwicmVwbGFjZSI6IlRoZSBwYXRpbyBhcmVhIGlzIGlkZWFsIGZvciBiYXJiZWN1ZXMgYW5kIGVudGVydGFpbmluZyBndWVzdHMuIn0seyJmaW5kIjoiUzZfVElUTEUiLCJyZXBsYWNlIjoiVGhhbmsgeW91IGZvciBqb2luaW5nIHVzIG9uIHRoaXMgdmlydHVhbCB0b3VyIn0seyJmaW5kIjoiUzZfREVTQ1JJUFRJT05fMiIsInJlcGxhY2UiOiJXZSBob3BlIHlvdSBlbmpveWVkIGV4cGxvcmluZyB0aGlzIGJlYXV0aWZ1bCBwcm9wZXJ0eS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb3IgdG8gc2NoZWR1bGUgYSB2aXNpdCwgcGxlYXNlIGNvbnRhY3QgdXMhIn0seyJmaW5kIjoiV0VCU0lURSIsInJlcGxhY2UiOiJ3d3cucmVhbGx5Z3JlYXRzaXRlLmNvbSJ9LHsiZmluZCI6IlM2X1RFWFRfQkFDS0dST1VORF9DT0xPUiIsInJlcGxhY2UiOiIjMDAwMDAwIn0seyJmaW5kIjoiUzZfVEVYVF9GT05UX0NPTE9SXzIiLCJyZXBsYWNlIjoiI2E3ZmJkNyJ9LHsiZmluZCI6IkxJTkVfQ09MT1IiLCJyZXBsYWNlIjoiI2ViZjlmZiJ9LHsiZmluZCI6IkFVRElPX1NSQyIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vQ2luZW1hdGljLVJlYWwtRXN0YXRlLVByb21vLVRlbXBsYXRlLzdmZWJjZjYzLWE4YjgtNDE3Mi05NmFjLTIyY2UxMDEzOTJiNi9zb3VyY2UubXAzIn1dfQ - **Edit and save to an account**: https://dashboard.shotstack.io/studio/editor/cinematic-real-estate-promo-template ## 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 | | --- | --- | | `{{ TITLE }}` | Welcome to your | | `{{ DESCRIPTION }}` | VIRTUAL PROPERTY TOUR | | `{{ BRAND_NAME }}` | BORCELLE REAL ESTATE | | `{{ TEXT_FONT_COLOR }}` | #ffffff | | `{{ S1_TITLE }}` | Living Room | | `{{ S1_DESCRIPTION }}` | Step into the spacious and bright living room, featuring large windows that flood the space with natural light. | | `{{ S1_DESCRIPTION_2 }}` | The open floor plan is perfect for entertaining, and the modern fixtures add a touch of elegance | | `{{ S2_TITLE }}` | KITCHEN | | `{{ S2_DESCRIPTION }}` | The kitchen is a chef's dream, equipped with stainless steel appliances, granite countertops, and ample cabinet space. | | `{{ S2_DESCRIPTION_2 }}` | The central island provides additional workspace and is ideal for casual dining. | | `{{ IMAGE_SRC }}` | https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/e08a3319-c4f9-42f9-b867-9c719475db31/source.jpg | | `{{ S1_IMAGE_SRC }}` | https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/0c217a83-72a8-445d-b12c-c5dee7e15fd6/source.jpg | | `{{ S2_IMAGE_SRC }}` | https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/0dfcc344-553d-42d3-8160-7004dc070743/source.jpg | | `{{ S3_TITLE }}` | MASTERS ROOM | | `{{ S3_DESCRIPTION }}` | The master bedroom offers a peaceful retreat with its generous size, walk-in closet, and ensuite bathroom. | | `{{ S3_DESCRIPTION_2 }}` | Large windows provide beautiful views and plenty of natural light. | | `{{ S3_IMAGE_SRC }}` | https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/8e289005-d2f8-4d3d-aa5f-b036a993bca1/source.jpg | | `{{ S4_TITLE }}` | BATHROOM | | `{{ S4_DESCRIPTION }}` | Each bathroom is tastefully designed with modern fixtures, tile flooring, and stylish vanities. | | `{{ S4_DESCRIPTION_2 }}` | The master bath includes a double sink, a soaking tub, and a separate shower. | | `{{ S4_IMAGE_SRC }}` | https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/f09ab03a-9024-4e43-8323-bfb99572376e/source.jpg | | `{{ S5_TITLE }}` | Outdoor Space | | `{{ S5_DESCRIPTION }}` | Enjoy the beautifully landscaped backyard, perfect for outdoor activities and relaxation. | | `{{ S5_DESCRIPTION_2 }}` | The patio area is ideal for barbecues and entertaining guests. | | `{{ S6_TITLE }}` | Thank you for joining us on this virtual tour | | `{{ S6_DESCRIPTION_2 }}` | We hope you enjoyed exploring this beautiful property. For more information or to schedule a visit, please contact us! | | `{{ WEBSITE }}` | www.reallygreatsite.com | | `{{ S6_TEXT_BACKGROUND_COLOR }}` | #000000 | | `{{ S6_TEXT_FONT_COLOR_2 }}` | #a7fbd7 | | `{{ LINE_COLOR }}` | #ebf9ff | | `{{ AUDIO_SRC }}` | https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/7febcf63-a8b8-4172-96ac-22ce101392b6/source.mp3 | ## Template JSON ```json { "timeline": { "background": "#FFFFFF", "tracks": [ { "clips": [ { "length": "end", "asset": { "type": "audio", "src": "{{ AUDIO_SRC }}", "volume": 1 }, "start": 0 } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S1_DESCRIPTION_2}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 650, "height": 150 }, "start": 5.8, "length": 4.2, "offset": { "x": -0.12, "y": -0.282 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S2_DESCRIPTION_2}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 650, "height": 150 }, "start": 10.8, "length": 4.2, "offset": { "x": -0.12, "y": -0.281 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": " {{S3_DESCRIPTION_2}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 650, "height": 150 }, "start": 15.8, "length": 4.2, "offset": { "x": -0.12, "y": -0.282 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S4_DESCRIPTION_2}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 650, "height": 150 }, "start": 20.8, "length": 4.2, "offset": { "x": -0.12, "y": -0.282 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S5_DESCRIPTION_2}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 650, "height": 150 }, "start": 25.8, "length": 4.2, "offset": { "x": -0.12, "y": -0.282 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": " {{WEBSITE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 650, "height": 150 }, "start": 30.8, "length": 4.2, "offset": { "x": -0.12, "y": -0.226 }, "position": "center", "transition": { "in": "slideUp" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S1_DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 600, "height": 150 }, "start": 5.4, "length": 4.6, "offset": { "x": -0.143, "y": -0.166 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S2_DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 600, "height": 150 }, "start": 10.4, "length": 4.6, "offset": { "x": -0.143, "y": -0.166 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S3_DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 600, "height": 150 }, "start": 15.4, "length": 4.6, "offset": { "x": -0.143, "y": -0.166 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S4_DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 600, "height": 150 }, "start": 20.4, "length": 4.6, "offset": { "x": -0.143, "y": -0.166 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S5_DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 600, "height": 150 }, "start": 25.4, "length": 4.6, "offset": { "x": -0.143, "y": -0.166 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S6_DESCRIPTION_2}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ S6_TEXT_FONT_COLOR_2 }}", "family": "Montserrat SemiBold", "size": "25", "lineHeight": 1.26 }, "width": 800, "height": 150 }, "start": 30.4, "length": 4.6, "offset": { "x": -0.051, "y": -0.13 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S1_TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "50", "lineHeight": 1 }, "width": 500, "height": 80 }, "start": 5, "length": 5, "offset": { "x": -0.189, "y": -0.06 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S2_TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "50", "lineHeight": 1 }, "width": 500, "height": 80 }, "start": 10, "length": 5, "offset": { "x": -0.189, "y": -0.06 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S3_TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "50", "lineHeight": 1 }, "width": 500, "height": 80 }, "start": 15, "length": 5, "offset": { "x": -0.189, "y": -0.06 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S4_TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "50", "lineHeight": 1 }, "width": 500, "height": 80 }, "start": 20, "length": 5, "offset": { "x": -0.189, "y": -0.06 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S5_TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "50", "lineHeight": 1 }, "width": 500, "height": 80 }, "start": 25, "length": 5, "offset": { "x": -0.189, "y": -0.06 }, "position": "center", "transition": { "in": "slideUp" } }, { "asset": { "type": "text", "text": "{{S6_TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "70", "lineHeight": 1 }, "width": 762, "height": 400 }, "start": 30, "length": 5, "offset": { "x": -0.069, "y": 0.09 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "102", "lineHeight": 1 }, "width": 797, "height": 346 }, "start": 0, "length": 5, "offset": { "x": -0.055, "y": 0.054 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Didact Gothic", "size": "56", "lineHeight": 1 }, "width": 500, "height": 58 }, "start": 0, "length": 5, "offset": { "x": -0.192, "y": 0.248 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": " {{BRAND_NAME}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat ExtraBold", "size": "23", "lineHeight": 1 }, "width": 500, "height": 39 }, "start": 0, "length": 35, "offset": { "x": -0.206, "y": -0.459 }, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "#000000", "family": "Montserrat ExtraBold", "size": 72, "lineHeight": 1 }, "width": 950, "height": 5, "background": { "color": "{{ LINE_COLOR }}" } }, "start": 0, "length": 35, "offset": { "y": -0.41 } } ] }, { "clips": [ { "length": 5, "fit": "contain", "asset": { "type": "video", "src": "https://templates.shotstack.io/cinematic-real-estate-promo-template/i6lgtn7i92iwi27bqw8kb0hc/source_5b161197.webm" }, "start": 0 } ] }, { "clips": [ { "asset": { "type": "luma", "src": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/400df50f-81a2-474a-bb20-2f93bec105c2/source.mp4" }, "start": 0, "length": 35 }, { "asset": { "type": "text", "text": " {{S5_TITLE}}", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "#000000", "family": "Montserrat ExtraBold", "size": 72, "lineHeight": 1, "opacity": 1 }, "width": 1080, "height": 1080, "background": { "color": "{{ S6_TEXT_BACKGROUND_COLOR }}" } }, "start": 0, "length": 35, "opacity": 0.33, "position": "center" } ] }, { "clips": [ { "asset": { "type": "text", "text": "", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "#000000", "family": "Montserrat ExtraBold", "size": 72, "lineHeight": 1 }, "width": 1080, "height": 1080, "background": { "color": "#000000" } }, "start": 30, "length": 5, "effect": "zoomInSlow" } ] }, { "clips": [ { "length": 5, "asset": { "type": "image", "src": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/f5a374a7-aaa2-4272-a758-a6dbb88f82c1/source.jpg" }, "start": 25, "scale": 1, "effect": "zoomIn" } ] }, { "clips": [ { "length": 5, "asset": { "type": "image", "src": "{{ S4_IMAGE_SRC }}" }, "start": 20, "scale": 1, "effect": "zoomOutSlow" } ] }, { "clips": [ { "length": 5, "asset": { "type": "image", "src": "{{ S3_IMAGE_SRC }}" }, "start": 15, "effect": "zoomInSlow" } ] }, { "clips": [ { "length": 5, "asset": { "type": "image", "src": "{{ S2_IMAGE_SRC }}" }, "start": 10, "scale": 1, "effect": "zoomOutSlow" } ] }, { "clips": [ { "length": 5, "asset": { "type": "image", "src": "{{ S1_IMAGE_SRC }}" }, "start": 5, "effect": "zoomInSlow" } ] }, { "clips": [ { "length": 5, "asset": { "type": "image", "src": "{{ IMAGE_SRC }}" }, "start": 0, "effect": "zoomOutSlow" } ] } ] }, "output": { "format": "mp4", "fps": 25, "size": { "width": 1080, "height": 1080 } }, "merge": [ { "find": "TITLE", "replace": "Welcome to your" }, { "find": "DESCRIPTION", "replace": "VIRTUAL PROPERTY TOUR" }, { "find": "BRAND_NAME", "replace": "BORCELLE REAL ESTATE" }, { "find": "TEXT_FONT_COLOR", "replace": "#ffffff" }, { "find": "S1_TITLE", "replace": "Living Room" }, { "find": "S1_DESCRIPTION", "replace": "Step into the spacious and bright living room, featuring large windows that flood the space with natural light." }, { "find": "S1_DESCRIPTION_2", "replace": "The open floor plan is perfect for entertaining, and the modern fixtures add a touch of elegance" }, { "find": "S2_TITLE", "replace": "KITCHEN" }, { "find": "S2_DESCRIPTION", "replace": "The kitchen is a chef's dream, equipped with stainless steel appliances, granite countertops, and ample cabinet space." }, { "find": "S2_DESCRIPTION_2", "replace": "The central island provides additional workspace and is ideal for casual dining." }, { "find": "IMAGE_SRC", "replace": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/e08a3319-c4f9-42f9-b867-9c719475db31/source.jpg" }, { "find": "S1_IMAGE_SRC", "replace": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/0c217a83-72a8-445d-b12c-c5dee7e15fd6/source.jpg" }, { "find": "S2_IMAGE_SRC", "replace": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/0dfcc344-553d-42d3-8160-7004dc070743/source.jpg" }, { "find": "S3_TITLE", "replace": "MASTERS ROOM" }, { "find": "S3_DESCRIPTION", "replace": "The master bedroom offers a peaceful retreat with its generous size, walk-in closet, and ensuite bathroom." }, { "find": "S3_DESCRIPTION_2", "replace": "Large windows provide beautiful views and plenty of natural light." }, { "find": "S3_IMAGE_SRC", "replace": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/8e289005-d2f8-4d3d-aa5f-b036a993bca1/source.jpg" }, { "find": "S4_TITLE", "replace": "BATHROOM" }, { "find": "S4_DESCRIPTION", "replace": "Each bathroom is tastefully designed with modern fixtures, tile flooring, and stylish vanities." }, { "find": "S4_DESCRIPTION_2", "replace": "The master bath includes a double sink, a soaking tub, and a separate shower." }, { "find": "S4_IMAGE_SRC", "replace": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/f09ab03a-9024-4e43-8323-bfb99572376e/source.jpg" }, { "find": "S5_TITLE", "replace": "Outdoor Space" }, { "find": "S5_DESCRIPTION", "replace": "Enjoy the beautifully landscaped backyard, perfect for outdoor activities and relaxation." }, { "find": "S5_DESCRIPTION_2", "replace": "The patio area is ideal for barbecues and entertaining guests." }, { "find": "S6_TITLE", "replace": "Thank you for joining us on this virtual tour" }, { "find": "S6_DESCRIPTION_2", "replace": "We hope you enjoyed exploring this beautiful property. For more information or to schedule a visit, please contact us!" }, { "find": "WEBSITE", "replace": "www.reallygreatsite.com" }, { "find": "S6_TEXT_BACKGROUND_COLOR", "replace": "#000000" }, { "find": "S6_TEXT_FONT_COLOR_2", "replace": "#a7fbd7" }, { "find": "LINE_COLOR", "replace": "#ebf9ff" }, { "find": "AUDIO_SRC", "replace": "https://templates.shotstack.io/Cinematic-Real-Estate-Promo-Template/7febcf63-a8b8-4172-96ac-22ce101392b6/source.mp3" } ] } ``` ## 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