Render Clips in a Sequence using Integromat & Google Sheets

So I am pretty new to the world of APIs and so for me Integromat is about as complicated as I go with this stuff. Currently I am just trying to use shotstack to edit together an array of clips from Google Sheets. Every clip will need to be the same length (3 seconds in this example). But no matter how I set up the array aggregator to connect with the render module, nothing seems to work. It either fails to render, or only renders the very first clip in the sheet.

I found a previous topic about variable clips, where Derk included a blueprint and a google sheet, and I tried to use that for my use case, but it only seemed to work for his sheet. When I tried to apply the same idea to my own sheet (still keeping the same “select * where A = “abc”” parameter in the search), I couldn’t get it to work the same. I couldn’t tell what was being done between the array aggregator and the Shotstack module either.

And when importing the blueprint, the “create JSON” module is blank so I don’t know what was in that one originally or if it was necessary (Derk’s example seemed to work without the Create JSON).

I could really use some help with this, it’s probably a stupid simple answer that I am just not seeing, because this should be so simple. I just want a list of clips to be edited together, in order, at 3 seconds each. Any help would be appreciated.

I will include a sample spreadsheet and blueprint to show what I’m currently doing, and hopefully someone can tell me what I’m doing wrong. One change I made to this scenario from the variable-clips example is that I just changed the query on the search rows to "select * where A = “ACTIVE”, because certain clips may need to get disabled, so I only want the active clips being rendered if that ever happens.


Here’s the blueprint of my scenario:
blueprint.json (98.6 KB)

Heres the Google Sheet I made for this sample: Shotstack_SampleSheet - Google Sheets

Plus Screenshots of my settings in case they disappear when I export the blueprint:

I also have a song in there, that’s what the second “clip” is below the footage.

And I know there’s also the Stitch module, but it looks like it maxes out at 10 clips (correct me if I’m wrong), and I’ll need more than 10 for some instances, so I don’t think I can use that.

Hi @jbelt40,

You’re taking the right approach. The array aggregator module creates a data model of the tracks or clips array you use in the Render module. However, unfilled properties are saved as null values which aren’t accepted by our API. The way I resolved this in the article was by using the JSON module to build a data model specific to only the values that were to be filled in.

New Integromat App

This has been fixed in the next Integromat release which you can get access to using this link. This new version of our Integromat integration should become public any day now.

This uses the Create an Advanced Render module and you can access my test blueprint below, which uses your spreadsheet and adds a track with an audio clip:

jbelt40-blueprint.json (85.1 KB)

Old Integromat App

If you want to continue using the old module you can still make it work by first building the JSON module to build the correct data model:

And then assign that particular model to the array aggregator module:

I suggest you use the new Integromat module as it’s a lot simpler.

Hi @dazzatron

Thank you for the help! So I imported your blueprint, using the version 2 module. I connected google sheets and Shotstack back up to my sources, but changed nothing else, left the settings exactly the same. But on my watch renders scenario, it keeps saying the render failed.

I’m attaching the blueprint for my watch scenario. I have it setup to send the finished video to google drive, with a filter in place to only send it if the status is “done”. But the status keeps showing up as “failed”, and says “Rendering failed: One or more clips could not be loaded”.

Any ideas what could be going wrong? I’m using version 2, with the advanced render module, didn’t change anything from your blueprint. Was it able to successfully render the video for you using that spreadsheet?

I haven’t tried the JSON method with the old app, but I’ll give that a try now.

Watch Scenario:
blueprint-watchrenders.json (7.0 KB)

I noticed that in your spreadsheet you are using links to Google Drive files like the following:

This links to a page with preview of the video - not the actual file itself. When the API tries to download the file it downloads that preview page - resulting in the Rendering failed: One or more clips could not be loaded error message you are witnessing.

There is a handy page that converts your Google Drive links into a format that directly exposes the file:

I’d suggest you give that a shot. Let me know if it fixes the issue for you.

PS: I said I used your spreadsheet but it looks like I changed the values in the URL column for testing. Apologies.

Sorry I’m just now getting back to this.

Ahh, that makes sense. Okay so I gave that a try, which seemed like it should’ve been the final thing that needed fixing, but apparently the problem is still there. I still get the same error as before.

Here’s my new google sheet with the updated links, let me know if this sheet with these exact links work with what you have setup, and if so please share with me screenshots of exactly what’s happening on your end. If I still run into problems with this, maybe I can get on a video call or do a screen recording to show you what it’s doing on my end?

Hey @jbelt40,

I’ve sent you a DM but will also take a look at this the first chance I get and see where the issue may lie for you.

Hey @jbelt40,

As we discussed the main issue was that the the ingested file was too large for the standard disk type to handle. The Integromat modules can handle a total file size of 512MB.

Currently we don’t provide the ability to change disk types via Integromat but have added it to our backlog to be added with the next release.