Hash outputs upload, webhook attempts start at 1
Fixes ffmpeg jobs that failed at upload when the output extension was longer than five characters, and an attempt counter that reported 2 on the first try.
Every shipped feature, improvement, and fix on Rendobar.
88 updates. Last shipped .
Fixes ffmpeg jobs that failed at upload when the output extension was longer than five characters, and an attempt counter that reported 2 on the first try.
Name a job with label, see when each key and teammate was last active, and switch product analytics off for your workspace.
Fixes four bugs: trimmed clips with length end failing the render, asset links in compose timelines, silent font swaps, and compress.target legacy output.
Fixes three bugs: WOFF font files failing at render time, BT.2020 SDR video reported as HDR, and an output mapping mistake reported as a bad input.
See failed callbacks, low balance, payment problems and messages from support in one place, with a popup for the ones that need your attention.
Receive multi-file outputs as folders, structured data as JSON and files of any size in your own bucket, named after the file you started from.
A compose clip that asks for more of its file than exists renders instead of failing. The last frame holds, silent, and the job names the clip and the fix.
Position, scale, rotation, opacity, volume, a shape's colour and any numeric effect parameter take a list of keyframes, with 33 easings.
One ordered effects list, on any clip, any track, or the finished video. 34 picture and sound effects, each with parameters in real units.
Text, shapes and pictures are positioned, scaled and turned by the same transform, which takes pixels as well as percent.
transform.size gives any clip a box in pixels or percent, fit decides how the picture fills it, and crop.radius rounds it into a circle avatar.
Three new clip kinds: a timer that counts over its own length, one subtitles clip holding every line or an .srt file, and Lottie animations.
A mask effect cuts a clip to any image, lut grades it with a .cube file, and the engine entry reaches the render engine's own filters by name.
POST a timeline to /compose/validate and get back the params a render would read, the old fields it upgraded, and the settings it will ignore. Free.
output.range renders any span, and on jpg and png its start is the frame you get. Backgrounds take a colour or transparent, which png and webm keep as alpha.
Fixes three bugs: audio fades on a trimmed clip, the fade-out of a clip shorter than its source, and keyframed opacity that played late by the trim.
Every payment email now shows the tax, the total and the receipt number, with a link that opens the receipt PDF. Subscription emails state the price, the renewal date and how to cancel.
Render layered compose timelines at 1080p and 4K without stalls or black frames. Heavy renders no longer hit the render machine's memory limit.
Ask compress.target for an H.264 video under a size limit and it plans the bitrate and resolution up front, then encodes once. Quality targets take fewer encodes too, and the video tiers now sit where the numbers they were based on actually are.
The sign-in email carries a 6-digit code beside the link, so you can finish signing in on a different device from the one your mail is on. The page also remembers how you signed in last time.
Set a credit top-up to repeat every month instead of buying each time. Manage the card on file, pick which one is charged, and see every recurring charge in one total.
Send subtitle files, text overlays and concat lists inline to ffmpeg jobs. Inputs written as { content } no longer fail with INVALID_PAYLOAD.
Read and write files whose names contain %, ? or # through storage:// inputs and destinations. The dashboard pickers escape those characters for you.
Send job outputs to your own bucket and browse the files in it from rb, the local MCP server, n8n and Activepieces.
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.
Search for Rendobar in the n8n Cloud nodes panel and install it in one click. n8n verified the node, so there is no self-hosting and no Execute Command to enable.
Run out of credits and the API answers 402 INSUFFICIENT_CREDITS with a link to add them. Top up and jobs resume, nothing else on the account changes.
Send a file to POST /assets without a contentType and the API derives one from the filename, so a client stops carrying its own MIME table.
Run transcodes, captions and image generation from an Activepieces flow. Nine actions, two triggers, and a long job parks instead of polling.
Read which media a job type accepts and whether each input takes a URL or a list, so a form renders real fields instead of a free-text JSON box.
Add Rendobar to Claude Code, claude.ai, or any MCP client over OAuth, see the app's domain and exact permissions before you allow it, and revoke it later.
Narrow an API key to jobs:read when that is all your code does, and see exactly what an app is asking for before you allow it.
Send If-None-Match to /jobs/types and the schema endpoint and get a 304 when the contract has not changed, plus a new /account/capabilities for plan limits.
Invite, promote and remove organization members through /orgs/current/members, and cancel pending invitations through /orgs/current/invitations.
The spec at api.rendobar.com/openapi.json now carries a stable operationId on every endpoint and a resolvable auth scheme, so a generator produces readable method names and a client that actually authenticates.
Both job types picked their model from a union, which the connector field projection could not represent, so n8n and every other connector showed an empty panel and a raw JSON box. They now render a model dropdown plus that model's own fields.
A shape clip draws a rect, ellipse, circle, triangle, diamond or any SVG path straight from JSON. Gradients, outlines with a real hole, drop shadows, rotation about the shape's own centre, feathered edges, and geometry, colour and rounding that animate.
A crossfade on any track above the base used to turn opaque for the length of the overlap, hiding every track underneath it. Only the bottom-most visual track flattens onto black now.
One rule for clip timing: a clip runs as long as its content does, never past its container, and length end runs it to the container's end. Omit both fields and the engine lays the timeline out.
Name any Google Fonts family in style.font, or declare your own files in the fonts input under family names you pick. A stack falls through instead of failing.
Read every label, caption and table row at full contrast. 378 pieces of dimmed text missed the 4.5:1 minimum and now clear it, site and dashboard.
Read error.retryable as true when a job failed because dispatch ran out of retries or a runner was decommissioned. Five codes were misclassified.
Submit a retry with a new idempotency key when a job fails retryably. Reusing the spent key now returns 409 CONFLICT instead of the failed job.
Each job now gets 1 hour of processing on Free and 9 hours on Pro, up from 5 and 15 minutes. The budget is on processing time, not output length.
Get a paste-ready prompt that walks Claude, ChatGPT, or Cursor through a full Rendobar integration. Your key stays in your env file, never in the chat.
Create, list, and revoke organization API keys from OAuth-connected MCP sessions. Keys default to a 90 day expiry and every action is audit logged.
Read a plain explanation when a job times out or runs out of memory, naming the thing to change, instead of an opaque platform code.
Increase an image's resolution on a one-step diffusion restoration model. Ask for a factor or a target height, keep transparency, and get back exactly the size you asked for.
Four compose rendering fixes shipped after a full engine audit, plus a complete parameter reference for every timeline field, in the docs and over MCP.
Generate an image from a prompt, or edit one from up to four reference images, on hosted open-weight diffusion models. Both stream preview frames while they render.
Cancellation now works on running jobs across the API, MCP, and dashboard. The runner stops, and you pay only for the compute the job actually used.
A full audit of the job pipeline cut submission latency roughly in half and closed the gap between a runner finishing and the result being visible.
The quality search now interpolates instead of blind-stepping, reuses the winning probe, and scores VMAF on all cores, so compress jobs finish in a third of the time and cost a third as much.
The hosted MCP server can now receive file uploads directly, from a shell agent's presigned PUT to a link you finish on your phone, alongside a job discovery tool and output chaining between jobs.
GET /jobs/types and its per-type schema endpoint are now public, so an agent or a client library can read the live job registry before anyone has signed up for a key.
@rendobar/sdk now declares MIT and ships a LICENSE file, so dependency scanners that reject unlicensed packages stop blocking it.
Compress an image, video, or audio file to the smallest size that clears a quality bar. Named tiers or byte targets, with AVIF, JPEG XL, AV1, Opus, and more.
Claude Code and other MCP clients can now connect to Rendobar's hosted MCP server through a browser sign-in. One command, no key to copy.
Pass a callback when you create a job and Rendobar POSTs the result straight to your URL the moment that job reaches a terminal state, so an orchestrator can resume without polling.
Set compose output with named size presets (tiktok, reels, youtube-4k, 1080p, 4k) and a quality tier, or override the encoder directly. Any resolution up to 4K, no plan tiers.
The compose job renders finished video from a declarative JSON timeline. Tracks, clips, transitions, text, per-clip effects, and scene-first authoring.
The ffprobe job runs like local ffprobe: send a command with the media URL and get back a normalized summary plus the full structured report.
Job responses now include a retentionExpiresAt timestamp, so you know the exact date an output will be deleted. Free keeps outputs 7 days, Pro 30.
The @rendobar/sdk now ships verifyWebhook, a zero-dependency helper that checks a delivery's signature, timestamp, and secret rotation in one call.
Jobs whose result file was over 100 MB used to fail at the final upload step. They now upload the output straight to storage and complete normally.
Job output downloads now support HTTP range requests, so large videos start playing and seek immediately instead of downloading in full first.
Submitting past your plan's concurrency no longer fails. Jobs are accepted into a queue and run at your plan's concurrency, draining in order as earlier jobs finish.
The dashboard Jobs page is now a sortable, filterable table with search, bulk actions, and a two-tab per-job detail panel.
Every job now records where it came from (dashboard, SDK, CLI, MCP, n8n, or direct API), with a usage-by-client breakdown in the dashboard and a new billing endpoint.
A job the runner accepts but never starts now times out with a clear error in minutes, instead of sitting forever. API key errors are clearer too, and the SDK's wait() backs off and surfaces typed errors.
Captions group into readable two-line phrases by default, the active word can ride a moving highlight pill, words can pop or bounce in, and a style object shapes every part of the look.
The job Machine panel was redesigned. It now shows live encode speed and fps, peak and average for each metric, total data moved, and a hint when a job used far less CPU than its machine.
The animated caption highlight is now colour-led so it reads at a glance, the line no longer shifts as words activate, and word timing is cleaned for stable, in-sync playback.
captions.animate gains eleven style presets, custom styling and placement, caption translation, AI keyword highlighting, and word-level transcript with SRT and VTT output.
The ffmpeg job type now takes a compute param. NVENC commands run on NVIDIA L4 GPUs, billed per second, on the Pro plan.
Watch live CPU, memory, and network use while a job runs, replay the graph after it finishes, and read the series from the API.
captions.animate no longer caps input length. Your plan's job time budget is the only bound, so you can caption as much video as that allows.
Upload local files to Rendobar and use them as job inputs, no public URL needed. Free uploads up to 500 MB per file, Pro up to 10 GB.
Jobs report complete and hand you the output as soon as processing finishes, instead of waiting on cost settlement. The cost reconciles in the background a moment later.
Commands that write many files like HLS, DASH, and image sequences now come back as ready-to-use URLs, inputs accept inline text and uploaded files, and failed jobs return the real ffmpeg error.
Audited API responses and trimmed them to only the data a client needs.
Submit custom FFmpeg jobs with type ffmpeg. The old raw.ffmpeg name still works, so existing code keeps running.
Burn static styled subtitles into a video from SRT, VTT, or ASS, with auto-transcription and multilingual auto-detect.
captions.animate now tracks speech word by word, so the highlighted word lines up with what is being said.
Manage API keys from the dashboard with expiry, status, rename, disable, and a one-time reveal on creation.
The @rendobar/sdk 2.0 release covering all job types, realtime job updates, and webhook signature verification.
Rendobar docs are live, with the ffmpeg reference, a webhooks guide, and MCP integration docs.
Rendobar is publicly available. Run FFmpeg in the cloud with one API call, credit-based billing, and MCP tools for agents.