Changelog
New

Deliver job outputs to your own bucket

Add destinations to any job and the output lands in a bucket you own on S3, R2, Supabase or any S3-compatible service. Inputs can come from it too.

API Dashboard SDK MCP Docs

Jobs can now read inputs from a bucket you own and write their outputs back to it. Amazon S3, Cloudflare R2, Supabase Storage and any S3-compatible service work.

Start in three steps

  1. Connect a bucket on the Storage page. Amazon S3 takes one click and creates no access key.
  2. Point at files as storage://<connection>/<path>.
  3. Add destinations to a job with the SDK:
import { createClient } from "@rendobar/sdk";
const rendobar = createClient({ apiKey: process.env.RENDOBAR_API_KEY });
await rendobar.jobs.run({
type: "ffmpeg",
inputs: { source: "storage://media/raw/clip.mp4" },
params: { command: "ffmpeg -i source -vf scale=1280:-2 out.mp4" },
destinations: ["storage://media/exports"],
});

That reads raw/clip.mp4 from the connection media and writes exports/clip.mp4 back into it. The output stays downloadable from Rendobar too. In the Playground, pick the input with From Storage and a folder under Deliver to, no code needed.

Rendobar connected to Amazon S3, Cloudflare R2 and Supabase Storage
Amazon S3, Cloudflare R2 and Supabase Storage, plus any service that speaks the S3 API.

Good to know

  • Delivery results. The job’s deliveries lists each write. Webhooks send job.delivery_succeeded or job.delivery_failed per bucket, then job.deliveries_settled once all are done. Retry a failed one from the job page or with rendobar.jobs.retryDeliveries(jobId).
  • Access. Rendobar tests a connection before saving it, encrypts stored credentials and never returns them. The S3 role cannot delete objects, and a Read only connection cannot write.
  • File names. Each connection has an output path, rendobar/{date}/{source_name}.{ext} by default. A taken name gets a short suffix, or is replaced if you choose.
  • Default destination. Your first connected bucket receives the output of jobs that name no destination. Pass destinations: [] to keep one job’s output on Rendobar only.
  • API keys. Keys created before September 13, 2026 cannot read storage, so rendobar.storage needs a new key. Delivering with destinations works with your existing keys.

Docs and guides

Share