What clipping does from a user’s point of view is covered in
Video clipping. This page is only the setup.
What it needs
Postiz does not download or render video itself. It hands the heavy work to postiz-uploader, an open source media worker you deploy on RunPod Serverless, and passes files around as presigned URLs.Setup
1
Switch storage to Cloudflare R2
Follow Cloudflare R2 and set
STORAGE_PROVIDER="cloudflare".2
Deploy postiz-uploader twice on RunPod
Create two serverless endpoints from the
postiz-uploader image: a CPU
endpoint for ingest jobs and a GPU endpoint for clip jobs. Its README covers
the image, the deployment and the worker’s own variables.On the ingest endpoint, set the worker’s
OXYLABS_USERNAME,
OXYLABS_PASSWORD and OXYLABS_STORAGE_URL. Without them every clipping
fails at the first step.3
Create the API keys
- A RunPod API key with access to both endpoints.
- A Deepgram API key.
- An OpenAI API key, if the instance does not have one already.
4
Add the variables to Postiz
5
Restart Postiz
The backend and the orchestrator both read these variables, so they need
the same values if you run them as separate processes.
Check that it works
Connect an MCP client and list the tools, or open the Agent section. When clipping is on,clippingTool and clippingStatusTool are there. Ask for a
clipping of a short public YouTube video and watch it move through its steps.
Limits on a self-hosted instance
There are no plans, so no clipping minutes are counted. These caps still apply and are not configurable:
A clipping that has not finished after 4 hours is closed as failed the next
time anybody looks at it.

