Ingesting file via Zapier / Setting frame rate (fps) of source clip

It seems a rendered Shotstack video’s frame rate defaults to 25fps, so if I have a source clip with a different fps, I’ll need to adjust that output frame rate accordingly.

It would be nice if output frame rate could default to the fps of the source clip, but I assume that’s not the case. (Feature request?)

Each video I render may have varying frame rates in the source content, so I’ll need to use the correct frame rate according to the source content.

To figure out the frame rate of the source clip, I thought it would work to use the ingest API to upload the source clip, then I’ll be able to get the fps along with other useful attributes like height and width… then when used in a project, the clip would already be ready to go.

However, after a day trying to figure this out, it looks like Zapier can only send files as hydrate||…, and I’m understanding that the Shotstack API expects a binary file, which seems impossible to do in Zapier.

So I’m back at square one… For now, I’ll just manually set the frame rate for each project, but I’m hoping there is something I’m missing. Ideally, I’d like a way to upload a file via a public URL to the ingest API, instead of needing to pass the actually binary of the file. Or even better, allow the output frame rate of a project to default to that of the first source clip in the project instead of defaulting to 25fps.

Thanks in advance for any help!


Hi Joel, the ingest API supports public URL’s as the payload. Shotstack v1 API Reference Documentation.

The Edit API also supports fps as merge fields in the output Shotstack v1 API Reference Documentation and we also have a probe/inspect endpoint Shotstack v1 API Reference Documentation that returns the asset metadata including fps.

Those should allow you to ingest the video from the url, run a probe on the first video, then setting the output.fps merge field based on that.

We also just released Shotstack Workflows that allows you to very easily stitch all those operations together, which you can access via the dashboard.

Hope this helps, please let me know if there’s anything else :smiley: