# Fully Customizable Luxury Smart Home (video template) > Promote smart homes with this sleek real estate video template, highlighting advanced features like lighting, climate control, and security systems. ## Overview - **Page**: https://shotstack.io/studio/templates/fully-customizable-luxury-smart-home/ - **Output**: MP4, 1080x1920 (9:16), 25 fps - **Length**: 10s - **Timeline**: 31 clips on 28 tracks; assets: audio, 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=eyJ0aW1lbGluZSI6eyJiYWNrZ3JvdW5kIjoiI0ZGRkZGRiIsInRyYWNrcyI6W3siY2xpcHMiOlt7Imxlbmd0aCI6ImVuZCIsImFzc2V0Ijp7InR5cGUiOiJhdWRpbyIsInNyYyI6Int7IEFVRElPX1NSQyB9fSIsInZvbHVtZSI6MX0sInN0YXJ0IjowfV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJsdW1hIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Z1bGx5LWN1c3RvbWl6YWJsZS1sdXh1cnktc21hcnQtaG9tZS80MzM2OWM3Ni04NjU1LTRjMTgtOTE4Zi1iN2ZiM2MzOWU1NzIvc291cmNlLnBuZyJ9LCJzdGFydCI6MS4zLCJsZW5ndGgiOiJlbmQifSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoiY2VudGVyIiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6IiMwMDAwMDAiLCJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsInNpemUiOjcyLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjUwLCJoZWlnaHQiOjUwLCJiYWNrZ3JvdW5kIjp7ImNvbG9yIjoiIzBhNDczZCJ9fSwic3RhcnQiOjEuMywibGVuZ3RoIjoiZW5kIiwib2Zmc2V0Ijp7IngiOi0wLjQwNCwieSI6LTAuNDY3fSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoiZmFkZSJ9fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7V0VCU0lURX19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgU2VtaUJvbGQiLCJzaXplIjoiMzQiLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjUwMCwiaGVpZ2h0Ijo3NX0sInN0YXJ0IjoxLjQsImxlbmd0aCI6OC42LCJvZmZzZXQiOnsieCI6LTAuMTI3LCJ5IjotMC40Njd9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tQSE9ORX19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJyaWdodCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjM4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NzV9LCJzdGFydCI6MS43LCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4yODIsInkiOi0wLjQ2N30sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MzX1RJVExFfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6InJpZ2h0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUiB9fSIsImZhbWlseSI6Ik1vbnRzZXJyYXQgRXh0cmFCb2xkIiwic2l6ZSI6IjM4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NzV9LCJzdGFydCI6MS42LCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4yODIsInkiOi0wLjQzNX0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MyX0RFU0NSSVBUSU9OXzZ9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NTB9LCJzdGFydCI6MS41LCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4zMDgsInkiOi0wLjM3N30sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MyX0RFU0NSSVBUSU9OXzV9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NTB9LCJzdGFydCI6MS40LCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4zMDgsInkiOi0wLjM1Nn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MyX0RFU0NSSVBUSU9OXzR9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NTB9LCJzdGFydCI6MS4zLCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4zMDgsInkiOi0wLjMzM30sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MyX0RFU0NSSVBUSU9OXzN9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NTB9LCJzdGFydCI6MS4yLCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4zMDgsInkiOi0wLjMxMn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MyX0RFU0NSSVBUSU9OXzJ9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NTB9LCJzdGFydCI6MS4xLCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4zMDgsInkiOi0wLjI4OX0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1MyX0RFU0NSSVBUSU9OXzF9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoibGVmdCIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiJ7eyBURVhUX0ZPTlRfQ09MT1IgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjozMDAsImhlaWdodCI6NTB9LCJzdGFydCI6MSwibGVuZ3RoIjoiZW5kIiwib2Zmc2V0Ijp7IngiOjAuMzA4LCJ5IjotMC4yNjh9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tBTU9VTlR9fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoiY2VudGVyIiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUl8yIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBFeHRyYUJvbGQiLCJzaXplIjoiNTkiLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjI3MCwiaGVpZ2h0Ijo3NX0sInN0YXJ0IjowLjgsImxlbmd0aCI6ImVuZCIsIm9mZnNldCI6eyJ4IjowLjI3MSwieSI6LTAuMTYzfSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoiZmFkZSJ9fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Int7RFVSQVRJT059fSIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoiY2VudGVyIiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUl8yIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBTZW1pQm9sZCIsInNpemUiOiIzNCIsImxpbmVIZWlnaHQiOjF9LCJ3aWR0aCI6MjcwLCJoZWlnaHQiOjc1fSwic3RhcnQiOjAuOSwibGVuZ3RoIjoiZW5kIiwib2Zmc2V0Ijp7IngiOjAuMjcxLCJ5IjotMC4xOTR9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tTMl9USVRMRX19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJjZW50ZXIiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SXzIgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjI4IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjoyNzAsImhlaWdodCI6NzV9LCJzdGFydCI6MC43LCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6MC4yNzEsInkiOi0wLjExNn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJsZW5ndGgiOiJlbmQiLCJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBMT0dPIH19In0sInN0YXJ0IjowLjUsInNjYWxlIjowLjA2LCJvZmZzZXQiOnsieCI6LTAuMjg2LCJ5IjotMC4xMTV9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tCUkFORF9OQU1FfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SXzIgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IFNlbWlCb2xkIiwic2l6ZSI6IjMyIiwibGluZUhlaWdodCI6MX0sIndpZHRoIjoyMTksImhlaWdodCI6ODN9LCJzdGFydCI6MC42LCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6LTAuMTA2LCJ5IjotMC4xMjN9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tTMV9ERVNDUklQVElPTn19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJ0b3AifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUl8yIH19IiwiZmFtaWx5IjoiRGlkYWN0IEdvdGhpYyIsInNpemUiOiIzMCIsImxpbmVIZWlnaHQiOjEuMjl9LCJ3aWR0aCI6NDc0LCJoZWlnaHQiOjIwMH0sInN0YXJ0IjoxLCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6LTAuMTg4LCJ5IjotMC4zNjF9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJmYWRlIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0Ijoie3tTMV9USVRMRX19IiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJsZWZ0IiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6Int7IFRFWFRfRk9OVF9DT0xPUl8yIH19IiwiZmFtaWx5IjoiTW9udHNlcnJhdCBFeHRyYUJvbGQiLCJzaXplIjoiMjQiLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjI1MCwiaGVpZ2h0Ijo2MH0sInN0YXJ0IjowLjksImxlbmd0aCI6ImVuZCIsIm9mZnNldCI6eyJ4IjotMC4yOTUsInkiOi0wLjI5OX0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e0RFU0NSSVBUSU9OfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SXzIgfX0iLCJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsInNpemUiOiI1MyIsImxpbmVIZWlnaHQiOjF9LCJ3aWR0aCI6NDgwLCJoZWlnaHQiOjE1MH0sInN0YXJ0IjowLjgsImxlbmd0aCI6ImVuZCIsIm9mZnNldCI6eyJ4IjotMC4xODksInkiOi0wLjIzMn0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiJ7e1RJVExFfX0iLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImxlZnQiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoie3sgVEVYVF9GT05UX0NPTE9SXzIgfX0iLCJmYW1pbHkiOiJEaWRhY3QgR290aGljIiwic2l6ZSI6IjQ1IiwibGluZUhlaWdodCI6MX0sIndpZHRoIjo1MDAsImhlaWdodCI6NzV9LCJzdGFydCI6MC43LCJsZW5ndGgiOiJlbmQiLCJvZmZzZXQiOnsieCI6LTAuMTgsInkiOi0wLjE4MX0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6ImZhZGUifX1dfSx7ImNsaXBzIjpbeyJsZW5ndGgiOiJlbmQiLCJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBJTUFHRV9TUkNfNSB9fSJ9LCJzdGFydCI6MC4zLCJzY2FsZSI6MC4yMiwib2Zmc2V0Ijp7IngiOjAuMTY1LCJ5IjowLjA1NX0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlVXAifX1dfSx7ImNsaXBzIjpbeyJsZW5ndGgiOiJlbmQiLCJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBJTUFHRV9TUkNfMiB9fSJ9LCJzdGFydCI6MCwic2NhbGUiOjAuMjE3LCJvZmZzZXQiOnsieCI6LTAuMTU3LCJ5IjowLjI4NH0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlVXAifX1dfSx7ImNsaXBzIjpbeyJsZW5ndGgiOiJlbmQiLCJhc3NldCI6eyJ0eXBlIjoiaW1hZ2UiLCJzcmMiOiJ7eyBJTUFHRV9TUkNfNCB9fSJ9LCJzdGFydCI6MC4yLCJvZmZzZXQiOnsieCI6LTAuMjk4LCJ5IjowLjA1NX0sInBvc2l0aW9uIjoiY2VudGVyIiwic2NhbGUiOjAuMjIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19XX0seyJjbGlwcyI6W3sibGVuZ3RoIjoiZW5kIiwiYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoie3sgSU1BR0VfU1JDXzMgfX0ifSwic3RhcnQiOjAuMSwic2NhbGUiOjAuMjIsIm9mZnNldCI6eyJ4IjowLjMwNiwieSI6MC4yODd9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19XX0seyJjbGlwcyI6W3siYXNzZXQiOnsidHlwZSI6InRleHQiLCJ0ZXh0IjoiIiwiYWxpZ25tZW50Ijp7Imhvcml6b250YWwiOiJjZW50ZXIiLCJ2ZXJ0aWNhbCI6ImNlbnRlciJ9LCJmb250Ijp7ImNvbG9yIjoiIzAwMDAwMCIsImZhbWlseSI6Ik1vbnRzZXJyYXQgRXh0cmFCb2xkIiwic2l6ZSI6NzIsImxpbmVIZWlnaHQiOjF9LCJ3aWR0aCI6NTUwLCJoZWlnaHQiOjcwMCwiYmFja2dyb3VuZCI6eyJjb2xvciI6IiM5NzViMDciLCJib3JkZXJSYWRpdXMiOjI4fX0sInN0YXJ0IjowLjQsImxlbmd0aCI6ImVuZCIsIm9mZnNldCI6eyJ4IjotMC4xOCwieSI6LTAuMjUzfSwicG9zaXRpb24iOiJjZW50ZXIiLCJ0cmFuc2l0aW9uIjp7ImluIjoic2xpZGVVcCJ9fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJsdW1hIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Z1bGx5LWN1c3RvbWl6YWJsZS1sdXh1cnktc21hcnQtaG9tZS8yMGEyZmU4Ny0yNDM0LTQzYmUtYTgyMi0zMDk5ZDJhODQ5YTUvc291cmNlLnBuZyJ9LCJzdGFydCI6MCwibGVuZ3RoIjoiZW5kIn0seyJhc3NldCI6eyJ0eXBlIjoidGV4dCIsInRleHQiOiIiLCJhbGlnbm1lbnQiOnsiaG9yaXpvbnRhbCI6ImNlbnRlciIsInZlcnRpY2FsIjoiY2VudGVyIn0sImZvbnQiOnsiY29sb3IiOiIjMDAwMDAwIiwiZmFtaWx5IjoiTW9udHNlcnJhdCBFeHRyYUJvbGQiLCJzaXplIjo3MiwibGluZUhlaWdodCI6MX0sIndpZHRoIjoyMDAwLCJoZWlnaHQiOjIwMDAsImJhY2tncm91bmQiOnsiY29sb3IiOiIjOTc1YjA3In19LCJzdGFydCI6MCwibGVuZ3RoIjoiZW5kIiwib2Zmc2V0Ijp7IngiOjAuMDI0LCJ5IjowLjYxOX0sInBvc2l0aW9uIjoiY2VudGVyIiwidHJhbnNpdGlvbiI6eyJpbiI6InNsaWRlRG93biJ9fV19LHsiY2xpcHMiOlt7ImFzc2V0Ijp7InR5cGUiOiJsdW1hIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Z1bGx5LWN1c3RvbWl6YWJsZS1sdXh1cnktc21hcnQtaG9tZS8zMGU2OTIwYS1iZjM2LTQ4ZTUtOWI0MC0wMzk2ZWU1MWNhMjgvc291cmNlLnBuZyJ9LCJzdGFydCI6MC41LCJsZW5ndGgiOiJlbmQifSx7ImFzc2V0Ijp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiIsImFsaWdubWVudCI6eyJob3Jpem9udGFsIjoiY2VudGVyIiwidmVydGljYWwiOiJjZW50ZXIifSwiZm9udCI6eyJjb2xvciI6IiMwMDAwMDAiLCJmYW1pbHkiOiJNb250c2VycmF0IEV4dHJhQm9sZCIsInNpemUiOjcyLCJsaW5lSGVpZ2h0IjoxfSwid2lkdGgiOjM1MCwiaGVpZ2h0IjozNTAsImJhY2tncm91bmQiOnsiY29sb3IiOiIjOTc1YjA3In19LCJzdGFydCI6MC41LCJsZW5ndGgiOjkuNSwib2Zmc2V0Ijp7IngiOjAuMjcxLCJ5IjotMC4xNTV9LCJwb3NpdGlvbiI6ImNlbnRlciIsInRyYW5zaXRpb24iOnsiaW4iOiJzbGlkZVVwIn19XX0seyJjbGlwcyI6W3sibGVuZ3RoIjoxMCwiYXNzZXQiOnsidHlwZSI6ImltYWdlIiwic3JjIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Z1bGx5LWN1c3RvbWl6YWJsZS1sdXh1cnktc21hcnQtaG9tZS8wN2RjMTIxMi1kODdjLTQwNTAtYTliNC05ZjZmODQ2NTk4M2Uvc291cmNlLnBuZyJ9LCJzdGFydCI6MH1dfV19LCJvdXRwdXQiOnsiZm9ybWF0IjoibXA0IiwiZnBzIjoyNSwic2l6ZSI6eyJ3aWR0aCI6MTA4MCwiaGVpZ2h0IjoxOTIwfX0sIm1lcmdlIjpbeyJmaW5kIjoiQlJBTkRfTkFNRSIsInJlcGxhY2UiOiJSRUFMIEVTVEFURSJ9LHsiZmluZCI6IlRJVExFIiwicmVwbGFjZSI6IlNtYXJ0IEhvbWUgZm9yIFNhbGUifSx7ImZpbmQiOiJERVNDUklQVElPTiIsInJlcGxhY2UiOiJCb3JjZWxsZSBWaWxsYWdlIEhvdXNlcyJ9LHsiZmluZCI6IlMxX1RJVExFIiwicmVwbGFjZSI6IkFib3V0IFByb3BlcnR5IDoifSx7ImZpbmQiOiJTMV9ERVNDUklQVElPTiIsInJlcGxhY2UiOiJNZXRpY3Vsb3VzdHkgZGVzaWduZWQgYW5kIGVxdWlwcGVkIHdpdGggdGhlIGxhdGVzdCBpbiBob21lIGF1dG9tYXRpb24gdGVjaG5vbG9neSwgdGhpcyByZXNpZGVuY2Ugb2ZmZXJzIHVucGFyYWxsZWxlZCwgc2VjdXJpdHksIGFuZCBlbmVyZ3kgZWZmaWNpZW5jeS4ifSx7ImZpbmQiOiJTMl9USVRMRSIsInJlcGxhY2UiOiJBc2tpbmcgUHJpY2U6In0seyJmaW5kIjoiQU1PVU5UIiwicmVwbGFjZSI6IiQxNTAwIn0seyJmaW5kIjoiRFVSQVRJT04iLCJyZXBsYWNlIjoiLyBtb250aCJ9LHsiZmluZCI6IlMyX0RFU0NSSVBUSU9OXzEiLCJyZXBsYWNlIjoiLSBTbWFydCBMaWdodGluZyJ9LHsiZmluZCI6IlMyX0RFU0NSSVBUSU9OXzIiLCJyZXBsYWNlIjoiLSBDbGltYXRlIENvbnRyb2wifSx7ImZpbmQiOiJTMl9ERVNDUklQVElPTl8zIiwicmVwbGFjZSI6Ii0gU2VjdXJpdHkifSx7ImZpbmQiOiJTMl9ERVNDUklQVElPTl80IiwicmVwbGFjZSI6Ii0gSG9tZSBUaGVhdGVyIn0seyJmaW5kIjoiUzJfREVTQ1JJUFRJT05fNSIsInJlcGxhY2UiOiItIFNvbGFyIFBhbmVscyJ9LHsiZmluZCI6IlMyX0RFU0NSSVBUSU9OXzYiLCJyZXBsYWNlIjoiLSBPdXRkb29yIE9hc2lzIn0seyJmaW5kIjoiUzNfVElUTEUiLCJyZXBsYWNlIjoiQk9PSyBOT1cifSx7ImZpbmQiOiJQSE9ORSIsInJlcGxhY2UiOiIrMTIzLTQ1Ni03ODkwIn0seyJmaW5kIjoiV0VCU0lURSIsInJlcGxhY2UiOiJ3d3cucmVhbGVzdGF0ZS5jb20ifSx7ImZpbmQiOiJMT0dPIiwicmVwbGFjZSI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9mdWxseS1jdXN0b21pemFibGUtbHV4dXJ5LXNtYXJ0LWhvbWUvY2IyMDFkODktNGUzNC00NDMwLWIyZDItMWI4ZmE1Y2JiNWNiL3NvdXJjZS5wbmcifSx7ImZpbmQiOiJJTUFHRV9TUkNfMiIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vZnVsbHktY3VzdG9taXphYmxlLWx1eHVyeS1zbWFydC1ob21lLzMxMmY1ZDVhLWIzNTMtNGNhYS05NjljLWIzMjI4YjU4OWY0YS9zb3VyY2UuanBnIn0seyJmaW5kIjoiSU1BR0VfU1JDXzMiLCJyZXBsYWNlIjoiaHR0cHM6Ly90ZW1wbGF0ZXMuc2hvdHN0YWNrLmlvL2Z1bGx5LWN1c3RvbWl6YWJsZS1sdXh1cnktc21hcnQtaG9tZS9hZTY5YjdmMS00YWVkLTQ5ZjItYTIzYi1jYWZkNzllZGM4NTQvc291cmNlLmpwZyJ9LHsiZmluZCI6IklNQUdFX1NSQ180IiwicmVwbGFjZSI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9mdWxseS1jdXN0b21pemFibGUtbHV4dXJ5LXNtYXJ0LWhvbWUvNWMwN2Y2ZGEtNWI1ZC00MGFjLTkwMTAtZWQ4ZjdkY2U0ZmMzL3NvdXJjZS5qcGcifSx7ImZpbmQiOiJJTUFHRV9TUkNfNSIsInJlcGxhY2UiOiJodHRwczovL3RlbXBsYXRlcy5zaG90c3RhY2suaW8vZnVsbHktY3VzdG9taXphYmxlLWx1eHVyeS1zbWFydC1ob21lL2FjYjIzN2Q4LWJiYTYtNGY3NS04NmRhLTQ2ODQ3NWViODNhNS9zb3VyY2UuanBnIn0seyJmaW5kIjoiQVVESU9fU1JDIiwicmVwbGFjZSI6Imh0dHBzOi8vdGVtcGxhdGVzLnNob3RzdGFjay5pby9mdWxseS1jdXN0b21pemFibGUtbHV4dXJ5LXNtYXJ0LWhvbWUvMjdhYmI1Y2UtMGU5Ni00NmM5LWFmN2MtOTQxYzkwZTk1MzAyL3NvdXJjZS5tcDMifSx7ImZpbmQiOiJURVhUX0ZPTlRfQ09MT1IiLCJyZXBsYWNlIjoiIzBhNDczZCJ9LHsiZmluZCI6IlRFWFRfRk9OVF9DT0xPUl8yIiwicmVwbGFjZSI6IiNmZmZmZmYifV19 - **Edit and save to an account**: https://dashboard.shotstack.io/studio/editor/fully-customizable-luxury-smart-home ## 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 | | --- | --- | | `{{ BRAND_NAME }}` | REAL ESTATE | | `{{ TITLE }}` | Smart Home for Sale | | `{{ DESCRIPTION }}` | Borcelle Village Houses | | `{{ S1_TITLE }}` | About Property : | | `{{ S1_DESCRIPTION }}` | Meticulousty designed and equipped with the latest in home automation technology, this residence offers unparalleled, security, and energy efficiency. | | `{{ S2_TITLE }}` | Asking Price: | | `{{ AMOUNT }}` | $1500 | | `{{ DURATION }}` | / month | | `{{ S2_DESCRIPTION_1 }}` | - Smart Lighting | | `{{ S2_DESCRIPTION_2 }}` | - Climate Control | | `{{ S2_DESCRIPTION_3 }}` | - Security | | `{{ S2_DESCRIPTION_4 }}` | - Home Theater | | `{{ S2_DESCRIPTION_5 }}` | - Solar Panels | | `{{ S2_DESCRIPTION_6 }}` | - Outdoor Oasis | | `{{ S3_TITLE }}` | BOOK NOW | | `{{ PHONE }}` | +123-456-7890 | | `{{ WEBSITE }}` | www.realestate.com | | `{{ LOGO }}` | https://templates.shotstack.io/fully-customizable-luxury-smart-home/cb201d89-4e34-4430-b2d2-1b8fa5cbb5cb/source.png | | `{{ IMAGE_SRC_2 }}` | https://templates.shotstack.io/fully-customizable-luxury-smart-home/312f5d5a-b353-4caa-969c-b3228b589f4a/source.jpg | | `{{ IMAGE_SRC_3 }}` | https://templates.shotstack.io/fully-customizable-luxury-smart-home/ae69b7f1-4aed-49f2-a23b-cafd79edc854/source.jpg | | `{{ IMAGE_SRC_4 }}` | https://templates.shotstack.io/fully-customizable-luxury-smart-home/5c07f6da-5b5d-40ac-9010-ed8f7dce4fc3/source.jpg | | `{{ IMAGE_SRC_5 }}` | https://templates.shotstack.io/fully-customizable-luxury-smart-home/acb237d8-bba6-4f75-86da-468475eb83a5/source.jpg | | `{{ AUDIO_SRC }}` | https://templates.shotstack.io/fully-customizable-luxury-smart-home/27abb5ce-0e96-46c9-af7c-941c90e95302/source.mp3 | | `{{ TEXT_FONT_COLOR }}` | #0a473d | | `{{ TEXT_FONT_COLOR_2 }}` | #ffffff | ## Template JSON ```json { "timeline": { "background": "#FFFFFF", "tracks": [ { "clips": [ { "length": "end", "asset": { "type": "audio", "src": "{{ AUDIO_SRC }}", "volume": 1 }, "start": 0 } ] }, { "clips": [ { "asset": { "type": "luma", "src": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/43369c76-8655-4c18-918f-b7fb3c39e572/source.png" }, "start": 1.3, "length": "end" }, { "asset": { "type": "text", "text": "", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "#000000", "family": "Montserrat ExtraBold", "size": 72, "lineHeight": 1 }, "width": 50, "height": 50, "background": { "color": "#0a473d" } }, "start": 1.3, "length": "end", "offset": { "x": -0.404, "y": -0.467 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{WEBSITE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "34", "lineHeight": 1 }, "width": 500, "height": 75 }, "start": 1.4, "length": 8.6, "offset": { "x": -0.127, "y": -0.467 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{PHONE}}", "alignment": { "horizontal": "right", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "38", "lineHeight": 1 }, "width": 300, "height": 75 }, "start": 1.7, "length": "end", "offset": { "x": 0.282, "y": -0.467 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S3_TITLE}}", "alignment": { "horizontal": "right", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat ExtraBold", "size": "38", "lineHeight": 1 }, "width": 300, "height": 75 }, "start": 1.6, "length": "end", "offset": { "x": 0.282, "y": -0.435 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S2_DESCRIPTION_6}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "28", "lineHeight": 1 }, "width": 300, "height": 50 }, "start": 1.5, "length": "end", "offset": { "x": 0.308, "y": -0.377 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S2_DESCRIPTION_5}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "28", "lineHeight": 1 }, "width": 300, "height": 50 }, "start": 1.4, "length": "end", "offset": { "x": 0.308, "y": -0.356 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S2_DESCRIPTION_4}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "28", "lineHeight": 1 }, "width": 300, "height": 50 }, "start": 1.3, "length": "end", "offset": { "x": 0.308, "y": -0.333 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S2_DESCRIPTION_3}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "28", "lineHeight": 1 }, "width": 300, "height": 50 }, "start": 1.2, "length": "end", "offset": { "x": 0.308, "y": -0.312 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S2_DESCRIPTION_2}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "28", "lineHeight": 1 }, "width": 300, "height": 50 }, "start": 1.1, "length": "end", "offset": { "x": 0.308, "y": -0.289 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S2_DESCRIPTION_1}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR }}", "family": "Montserrat SemiBold", "size": "28", "lineHeight": 1 }, "width": 300, "height": 50 }, "start": 1, "length": "end", "offset": { "x": 0.308, "y": -0.268 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{AMOUNT}}", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Montserrat ExtraBold", "size": "59", "lineHeight": 1 }, "width": 270, "height": 75 }, "start": 0.8, "length": "end", "offset": { "x": 0.271, "y": -0.163 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{DURATION}}", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Montserrat SemiBold", "size": "34", "lineHeight": 1 }, "width": 270, "height": 75 }, "start": 0.9, "length": "end", "offset": { "x": 0.271, "y": -0.194 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S2_TITLE}}", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Montserrat SemiBold", "size": "28", "lineHeight": 1 }, "width": 270, "height": 75 }, "start": 0.7, "length": "end", "offset": { "x": 0.271, "y": -0.116 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "length": "end", "asset": { "type": "image", "src": "{{ LOGO }}" }, "start": 0.5, "scale": 0.06, "offset": { "x": -0.286, "y": -0.115 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{BRAND_NAME}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Montserrat SemiBold", "size": "32", "lineHeight": 1 }, "width": 219, "height": 83 }, "start": 0.6, "length": "end", "offset": { "x": -0.106, "y": -0.123 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S1_DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "top" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Didact Gothic", "size": "30", "lineHeight": 1.29 }, "width": 474, "height": 200 }, "start": 1, "length": "end", "offset": { "x": -0.188, "y": -0.361 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{S1_TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Montserrat ExtraBold", "size": "24", "lineHeight": 1 }, "width": 250, "height": 60 }, "start": 0.9, "length": "end", "offset": { "x": -0.295, "y": -0.299 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{DESCRIPTION}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Montserrat ExtraBold", "size": "53", "lineHeight": 1 }, "width": 480, "height": 150 }, "start": 0.8, "length": "end", "offset": { "x": -0.189, "y": -0.232 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "{{TITLE}}", "alignment": { "horizontal": "left", "vertical": "center" }, "font": { "color": "{{ TEXT_FONT_COLOR_2 }}", "family": "Didact Gothic", "size": "45", "lineHeight": 1 }, "width": 500, "height": 75 }, "start": 0.7, "length": "end", "offset": { "x": -0.18, "y": -0.181 }, "position": "center", "transition": { "in": "fade" } } ] }, { "clips": [ { "length": "end", "asset": { "type": "image", "src": "{{ IMAGE_SRC_5 }}" }, "start": 0.3, "scale": 0.22, "offset": { "x": 0.165, "y": 0.055 }, "position": "center", "transition": { "in": "slideUp" } } ] }, { "clips": [ { "length": "end", "asset": { "type": "image", "src": "{{ IMAGE_SRC_2 }}" }, "start": 0, "scale": 0.217, "offset": { "x": -0.157, "y": 0.284 }, "position": "center", "transition": { "in": "slideUp" } } ] }, { "clips": [ { "length": "end", "asset": { "type": "image", "src": "{{ IMAGE_SRC_4 }}" }, "start": 0.2, "offset": { "x": -0.298, "y": 0.055 }, "position": "center", "scale": 0.22, "transition": { "in": "slideUp" } } ] }, { "clips": [ { "length": "end", "asset": { "type": "image", "src": "{{ IMAGE_SRC_3 }}" }, "start": 0.1, "scale": 0.22, "offset": { "x": 0.306, "y": 0.287 }, "position": "center", "transition": { "in": "slideUp" } } ] }, { "clips": [ { "asset": { "type": "text", "text": "", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "#000000", "family": "Montserrat ExtraBold", "size": 72, "lineHeight": 1 }, "width": 550, "height": 700, "background": { "color": "#975b07", "borderRadius": 28 } }, "start": 0.4, "length": "end", "offset": { "x": -0.18, "y": -0.253 }, "position": "center", "transition": { "in": "slideUp" } } ] }, { "clips": [ { "asset": { "type": "luma", "src": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/20a2fe87-2434-43be-a822-3099d2a849a5/source.png" }, "start": 0, "length": "end" }, { "asset": { "type": "text", "text": "", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "#000000", "family": "Montserrat ExtraBold", "size": 72, "lineHeight": 1 }, "width": 2000, "height": 2000, "background": { "color": "#975b07" } }, "start": 0, "length": "end", "offset": { "x": 0.024, "y": 0.619 }, "position": "center", "transition": { "in": "slideDown" } } ] }, { "clips": [ { "asset": { "type": "luma", "src": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/30e6920a-bf36-48e5-9b40-0396ee51ca28/source.png" }, "start": 0.5, "length": "end" }, { "asset": { "type": "text", "text": "", "alignment": { "horizontal": "center", "vertical": "center" }, "font": { "color": "#000000", "family": "Montserrat ExtraBold", "size": 72, "lineHeight": 1 }, "width": 350, "height": 350, "background": { "color": "#975b07" } }, "start": 0.5, "length": 9.5, "offset": { "x": 0.271, "y": -0.155 }, "position": "center", "transition": { "in": "slideUp" } } ] }, { "clips": [ { "length": 10, "asset": { "type": "image", "src": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/07dc1212-d87c-4050-a9b4-9f6f8465983e/source.png" }, "start": 0 } ] } ] }, "output": { "format": "mp4", "fps": 25, "size": { "width": 1080, "height": 1920 } }, "merge": [ { "find": "BRAND_NAME", "replace": "REAL ESTATE" }, { "find": "TITLE", "replace": "Smart Home for Sale" }, { "find": "DESCRIPTION", "replace": "Borcelle Village Houses" }, { "find": "S1_TITLE", "replace": "About Property :" }, { "find": "S1_DESCRIPTION", "replace": "Meticulousty designed and equipped with the latest in home automation technology, this residence offers unparalleled, security, and energy efficiency." }, { "find": "S2_TITLE", "replace": "Asking Price:" }, { "find": "AMOUNT", "replace": "$1500" }, { "find": "DURATION", "replace": "/ month" }, { "find": "S2_DESCRIPTION_1", "replace": "- Smart Lighting" }, { "find": "S2_DESCRIPTION_2", "replace": "- Climate Control" }, { "find": "S2_DESCRIPTION_3", "replace": "- Security" }, { "find": "S2_DESCRIPTION_4", "replace": "- Home Theater" }, { "find": "S2_DESCRIPTION_5", "replace": "- Solar Panels" }, { "find": "S2_DESCRIPTION_6", "replace": "- Outdoor Oasis" }, { "find": "S3_TITLE", "replace": "BOOK NOW" }, { "find": "PHONE", "replace": "+123-456-7890" }, { "find": "WEBSITE", "replace": "www.realestate.com" }, { "find": "LOGO", "replace": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/cb201d89-4e34-4430-b2d2-1b8fa5cbb5cb/source.png" }, { "find": "IMAGE_SRC_2", "replace": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/312f5d5a-b353-4caa-969c-b3228b589f4a/source.jpg" }, { "find": "IMAGE_SRC_3", "replace": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/ae69b7f1-4aed-49f2-a23b-cafd79edc854/source.jpg" }, { "find": "IMAGE_SRC_4", "replace": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/5c07f6da-5b5d-40ac-9010-ed8f7dce4fc3/source.jpg" }, { "find": "IMAGE_SRC_5", "replace": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/acb237d8-bba6-4f75-86da-468475eb83a5/source.jpg" }, { "find": "AUDIO_SRC", "replace": "https://templates.shotstack.io/fully-customizable-luxury-smart-home/27abb5ce-0e96-46c9-af7c-941c90e95302/source.mp3" }, { "find": "TEXT_FONT_COLOR", "replace": "#0a473d" }, { "find": "TEXT_FONT_COLOR_2", "replace": "#ffffff" } ] } ``` ## 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