Revolutionizing how video is built. Create, edit and distribute thousands of bespoke, data driven videos in minutes with Shotstack.
Trigger when a new media asset has been uploaded to the Shotstack API. See the documentation here.
Write Python and use any of the 350k+ PyPi packages available. Refer to the Pipedream Python docs to learn more.
Generate a timeline with layers and assets for a new video project. See the documentation here.
Initiate rendering of a video using a timeline created in Shotstack API. See the documentation here.
Add media assets like images, audio, or video to the Shotstack API for use in video projects. See the documentation here.
The Shotstack API is a video editing platform that allows you to automate the creation and production of videos. With it, you can edit clips, add transitions, overlays, and backgrounds, and even include music in your videos. Integrating Shotstack with Pipedream can supercharge your workflow by automating the video creation process. You can trigger video edits in response to various events, manage assets, or even kick off rendering jobs based on data from other apps and services.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
shotstack: {
type: "app",
app: "shotstack",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.shotstack.io/ingest/${this.shotstack.$auth.version}/sources`,
headers: {
"x-api-key": `${this.shotstack.$auth.api_key}`,
},
})
},
})
Develop, run and deploy your Python code in Pipedream workflows. Integrate seamlessly between no-code steps, with connected accounts, or integrate Data Stores and manipulate files within a workflow.
This includes installing PyPI packages, within your code without having to manage a requirements.txt
file or running pip
.
Below is an example of using Python to access data from the trigger of the workflow, and sharing it with subsequent workflow steps:
def handler(pd: "pipedream"):
# Reference data from previous steps
print(pd.steps["trigger"]["context"]["id"])
# Return data for use in future steps
return {"foo": {"test":True}}