Skip to main content
The Rendobar piece runs FFmpeg commands, compression, captions and image generation from an Activepieces flow, and a trigger starts a flow when a job finishes. Run a Media Job pauses the flow while the job runs, so an hour-long render holds no worker and does not count against the flow’s timeout.
The Rendobar mark joined by a connector line to the Activepieces logo. The caption reads: Flows pause on a waitpoint until the job finishes.

The Rendobar piece runs video and image jobs inside Activepieces flows.

Before you start

  • A Rendobar API key. Create one on the API Keys page of the dashboard.
  • Platform admin access to Activepieces 0.36.1 or later. The piece installs from npm rather than from the Activepieces catalog, and installing a custom piece is a paid feature on Activepieces Cloud.
  • An Activepieces that Rendobar can reach over HTTPS, for flows that pause and for the instant trigger. Without one, Run a Media Job polls instead and Finished Job (Polling) replaces the trigger.

Install the piece

1

Open Pieces

In the platform admin, select Pieces under Setup.
2

Install from npm

Select Install Piece. Keep Package Type on NPM Registry, enter @rendobar/piece-rendobar as the package name, and confirm.
3

Check the list

Rendobar appears in the list with its package name and the installed version.
The Activepieces platform admin Pieces page. An Install Piece button sits at the top right. The list shows Rendobar with the package name @rendobar/piece-rendobar at version 0.1.1, and the Webhook piece below it.

The Pieces page in the platform admin after an install. Rendobar is listed by its npm package name and version, and Install Piece at the top right adds the next one.

Add your API key

Add a Rendobar step to a flow and create a connection with your API key, which starts with rb_. The piece checks the key against your account when you save the connection. Use an API key rather than an OAuth token. Finished Job registers a webhook on your account, and Rendobar refuses webhook management over OAuth. If you restrict the key’s scopes, keep webhooks:write for that trigger.

Run a job

Add Run a Media Job and pick a Job Type. The form below it is built from that job type’s live schema, so a new job type shows up without a piece update.
  • Input Media has one field per file the job reads. ffmpeg and ffprobe name their files inside the command, so they get a map from file name to URL instead.
  • Parameters are the job’s own settings. A job type with several models shows Variant first, and the fields change to match.
  • Deliver To writes the output to buckets connected on the Storage page, optionally under a Delivery Folder or Path.
The Run a Media Job panel in the Activepieces builder. Connection is Rendobar and connected. Job Type is compress.target. Variant is disabled with the text Not used by this job type. Below are a required Source field, a For dropdown and a Target JSON editor.

Run a Media Job with compress.target selected. Variant is disabled because this job type has one mode, and Source, For and Target come from the job type's schema.

For a file produced earlier in the flow, run Upload File first and put its url in a media field. The upload goes straight to storage through a presigned URL, so the bytes never pass through the API.

What comes out

Every job-shaped action and trigger returns the same flat row, so a table built on one step works with the others. cost_formatted can be null on a row read the moment a job completes, because billing settles a moment later. A later read carries it.

How do I wait for a long job?

Two timelines compared. Polling holds a worker open and repeats status calls from submit to done. A waitpoint submits once, shows a paused span with no execution time, and resumes on Rendobar's callback.

Polling holds a worker and repeats status calls for the whole job. A waitpoint submits once, parks the flow, and resumes it when Rendobar calls back.

Wait for the Result is on by default. The step creates a waitpoint, sends its resume URL as the job’s callback, and pauses the flow. A paused flow holds no worker and does not count against the run timeout, which is 10 minutes on Activepieces Cloud. A pause can last 30 days, longer than any job runs. When the job ends, Rendobar’s callback resumes the flow. The step then re-reads the job over your connection rather than trusting the callback body. If Rendobar cannot reach this Activepieces from the internet, there is nowhere to call back to. The step polls instead for up to Maximum Wait (seconds), 300 by default, then returns the job as it stands. Keep that below the flow timeout. The job keeps running on Rendobar either way. Turn Wait for the Result off to submit and move on, then pick up the result with Finished Job. Two more settings shape the step:
  • Fail This Step if the Job Fails is on by default, so a failed job runs the flow’s error path. Turn it off to branch on succeeded instead.
  • Idempotency Key is derived from the run, the step and the submission when left empty. An automatic retry then settles on the job it already created instead of billing a second one.

How do I start a flow when a job finishes?

Finished Job registers a webhook on your Rendobar account when the flow is turned on, and deletes it when the flow is turned off. Outcome picks which jobs start the flow: Job Type narrows it to one type, such as compress.target. The flow receives the same row Get Job returns, read fresh from the API. Each flow with this trigger uses one of the 10 webhook endpoints an organization can have. Finished Job (Polling) does the same on a timer, for an Activepieces that Rendobar cannot reach.

Actions

Troubleshooting

Installing a custom piece needs platform admin access, and on Activepieces Cloud it is a paid feature. On a self-hosted platform, check that Activepieces is 0.36.1 or later.
Activepieces builds the resume URL from AP_FRONTEND_URL. When that points at localhost or a private address, Rendobar cannot reach it, so the step polls. Set it to the platform’s public HTTPS address and restart Activepieces.
Rendobar could not register the webhook, and the error names the reason. A key without the webhooks:write scope is refused, and so is an OAuth token. If this Activepieces is not reachable from the internet, use Finished Job (Polling).
The job id reached the step empty. A reference such as {{step_1.id}} resolves to nothing when the step name is wrong, so pick the value again from the data selector.
Activepieces caps a step file at 10 MB on Cloud. Turn Download the Output File off and pass file_url to the next step, which most steps accept.

See also

Next step: add Run a Media Job to a flow, pick ffmpeg, and run a command against a public video URL.
Last modified on September 18, 2026