Changelog

Every shipped feature, improvement, and fix on Rendobar.

Improved

captions.animate: two-line phrases, a moving highlight, and custom styles

captions.animate now reads the way short-form creators caption. The default groups speech into a two-line phrase of four to six words at a steady size, so a viewer can scan ahead instead of catching one word at a time. Want the punchy word-by-word style instead? Set layout to word.

Placement holds steady. Captions sit at lower-center and a one-line and a two-line caption share the same center, so the block no longer jumps as the word count changes. Move it with position set to top, center, or bottom.

The active word can do more than change color. Set highlight.mode to box for a rounded pill that follows the spoken word, and pick an entrance so each word reveals as it is said: fade, pop, or a springy bounce.

All of it is one style object: layout, position, font, colors, stroke, highlight, and entrance. Start from a preset and override only what you want, or build your own look from scratch. See the captions.animate reference.

API
Improved

Encode speed and right-size hints in the Machine panel

The Machine panel on the job detail page got a redesign. Each metric is now a card with the current value, a filled trend line, and the peak and average for the run. CPU, memory, and the network card shift from green to amber to red as they near their limits, so a hot job is obvious at a glance.

While a job runs, a Speed card shows how fast it is encoding relative to real time, along with the current frames per second. A job encoding at 2.3 times real time shows as 2.3x. The panel also flags when a run peaked well under its allotted CPU, so you know you can move it to a smaller machine next time.

  • CPU, RAM, and Speed each show value, trend, peak, and average.
  • The network card shows download and upload together, plus the total moved over the run.
  • A live or final badge shows elapsed time, and cost once the job settles.
  • The playground console footer carries the same numbers, now with status colors.
Dashboard
Improved

Smoother captions.animate: clearer highlight, no jitter

captions.animate got a pass on how the words move. The active-word highlight is now a clear colour change instead of a size pop. Scaling the active word made the rest of the line shift left and right as the highlight moved, which read as a jitter. Colour-led highlighting keeps every word in place, so the caption sits still and the eye follows the colour.

The gold preset’s active colour was too close to white to see. It now flips to a vivid gold, and the text is larger, so you can tell which word is being spoken. Each caption block also fades in and out instead of hard-cutting.

Timing is steadier too. Word boundaries are snapped to the video’s frame grid so the highlight lands on a frame instead of between two, and the highlight fires a touch before each word to track the voice rather than trail it. A bad final word timestamp that could freeze the highlight is now clamped.

See the captions.animate reference.

API
Improved

More caption presets, translation, and transcript output

captions.animate went from four presets to eleven. Alongside hormozi, mrbeast, tiktok, and pill you now get karaoke, word-pop, minimal, subtitle-block, neon, gold, and reveal. Pick a preset, place the captions at the top, center, or bottom, and override the font, colours, stroke, and active-word highlight with a style object when you want something of your own.

Set captionData: true to also get the data back, not just the burned video. The response carries the word-level transcript with accurate timings plus standard SRT and VTT built from the same cues that were rendered, on output.data. So one call gives you the captioned video and a transcript you can reuse.

Two opt-in helpers run in our own stack at no extra cost. autoEmphasis marks the important words and paints them in the preset’s accent colour, the look creators use to make key words pop. translateTo translates the captions into Spanish, French, German, Portuguese, Italian, or Dutch before they animate. Both fall back to plain captions if they can’t run, so a job never fails over them.

You can also bring your own transcript. Pass an SRT or VTT URL and Rendobar animates your timing instead of transcribing, and pass a font URL with style.font set to its family name to render captions in your brand font.

All of it is in the dashboard playground and the captions.animate reference.

API Dashboard
New

GPU-accelerated FFmpeg encoding

The ffmpeg job type now runs on CPU-powered or GPU-powered machines. A new optional compute param picks the hardware. It defaults to auto, so a command that uses an NVENC or CUDA encoder routes to a GPU on its own. Nothing in your existing jobs changes.

Rendobar’s FFmpeg API runs h264_nvenc, hevc_nvenc and av1_nvenc on NVIDIA L4 GPUs. Billing is per second of processing. There are no instances to start or manage.

  • compute: "auto" (the default) sends NVENC and CUDA commands to a GPU and everything else to a CPU machine.
  • compute: "gpu" forces a GPU. compute: "cpu" forces a CPU and rejects an NVENC command early with a clear error.
  • Swap one flag to try it. -c:v libx264 becomes -c:v h264_nvenc in the same command you already send.
  • GPU acceleration is available on the Pro plan. CPU and auto work on every plan.

See the FFmpeg reference for the compute param and examples.

API Dashboard
New

Live machine metrics on every job

Every job now shows what its machine is doing while it runs. The job detail page has a Machine panel with live CPU, memory, and network usage that updates once a second. After a job finishes, the same graph replays from a saved series, so you can see how a run behaved after the fact.

The numbers are on the API too. GET /jobs/:id/metrics returns the recorded series for a job, and the same samples stream live over the realtime WebSocket as job.metrics events. The SDK exposes them through onMetrics, so an agent can watch a run the way the dashboard does.

  • CPU shows as a percent of the machine and as cores in use, like 5.5 of 8 cores.
  • Memory is the container’s RAM, measured against its limit.
  • Network shows download and upload throughput each second.
  • The playground console has a compact live strip with the same numbers while a job runs.
API Dashboard SDK
Improved

Caption longer videos

captions.animate used to reject any input longer than 5 minutes. That cap is gone. The real limit was always your plan’s job time budget, and now that is the only bound. You can caption a video as long as it transcribes within that budget, and a clip too long for your plan times out like any other job.

Pro plans get a larger time budget than Free, so they caption proportionally longer videos.

API
New

Upload your own files

You can now upload your own files to Rendobar instead of hosting them somewhere public first. Upload from the dashboard, the SDK (uploads.create), the API (POST /assets), or the CLI, then reference the file by its content URL in any job input.

Uploads go straight to storage over presigned URLs, so large files never pass through the API. Per-file size limits follow your plan: up to 500 MB on Free and 10 GB on Pro. Uploaded files are private to your organization and an uploaded file with the same contents is reused instead of stored twice.

API Dashboard SDK
Improved

Faster job results

Jobs now report complete the moment processing finishes. Before, the result waited on cost settlement before the job flipped to complete, which added several seconds of dead time at the end of every job. Completion and billing are now separate: you get the output right away, and the cost settles in the background a moment later.

The billing activity feed also lists job charges now. Each charge is labeled by job type and links to the job, alongside your credits, grants, and refunds.

  • Job completion no longer waits on cost settlement, so results are typically several seconds faster.
  • The billing activity feed itemizes job charges by type.
API Dashboard
Improved

FFmpeg API: multi-file output and inline inputs

The FFmpeg API now handles commands that produce more than one file. Run an HLS or DASH ladder, or write an image sequence, and the job returns a playable URL plus the full file list, each at its own link. The stream plays as-is. No zip to unpack, no rehosting.

Inputs got more flexible. Alongside a URL, you can pass a file’s contents inline, which is handy for an SRT subtitle, a concat list, or a .cube LUT with nothing to host. You can also point at a file you already uploaded. Files land in the working directory under the exact name your command uses, so subtitles=subs.srt and lut3d=look.cube work the way they do on your own machine.

When a command fails, the job now returns the actual ffmpeg error output instead of a status code alone, so you can see what went wrong and fix the command.

  • Multi-file outputs (HLS, DASH, -f segment, image sequences) return a playable URL plus the full file list.
  • Inputs accept a URL, inline text, or a reference to an uploaded file.
  • Failed jobs include the real ffmpeg error output.
  • The SDK returns the typed output shape, with outputUrl() and jobData() helpers for the headline file and structured results.

See the FFmpeg job reference for the full input and output shapes.

API SDK
Improved

Security hardening across the API

We audited what the API returns and tightened it so responses carry only the data a client actually needs.

Jobs return a signed download URL and output metadata. Usage reporting shows what you were charged. The rest stays where it belongs.

API
Improved

The raw.ffmpeg job type is now ffmpeg

The job type for custom FFmpeg commands is now ffmpeg, renamed from raw.ffmpeg. Shorter, and it says exactly what it does.

  • Existing code keeps working. The API still accepts raw.ffmpeg and resolves it to ffmpeg, so you can migrate on your own schedule.
  • The SDK exports FfmpegParams (renamed from RawFfmpegParams).
  • New examples, docs, and the CLI all use ffmpeg.

See the FFmpeg reference for parameters and examples.

API SDK CLI Docs
New

caption.burn goes live

caption.burn is live. Pass an SRT, VTT, or ASS file and Rendobar burns styled subtitles directly into the video. Skip the subtitle file and it auto-transcribes the audio first, then burns the result.

  • Language is auto-detected, so multilingual sources work without a flag.
  • Font, size, weight, position, and wrapping are pixel-matched to the layout you request. Custom fonts load through a fonts directory.
  • Shares the same caption engine as captions.animate, so styling stays consistent across both job types.

See the caption.burn reference for parameters and presets.

API Platform
Fixed

Tighter caption timing

The active word in captions.animate could drift ahead of the audio on longer clips. We reworked the timing so each word is aligned to the speech it belongs to.

The highlighted word now lands on the spoken word across the whole clip, including fast passages where the old timing slipped. No parameter changes are needed. Resubmit a job to pick up the tighter sync.

API Platform
New

API key management

The dashboard now has a full API keys page. Create, name, and retire keys without leaving the browser.

  • Set an expiry date per key.
  • A status pill shows active, expired, or disabled at a glance.
  • Rename or disable a key in place.
  • The secret is revealed once on creation, with an inline test to confirm it works.

Open app.rendobar.com and head to settings to manage keys.

Dashboard API
sdk-v2.0.0
New Breaking

SDK 2.0

@rendobar/[email protected] is on npm. It covers every live job type, realtime job progress over WebSocket, and webhook signature verification out of the box.

  • Typed helpers for each job type, validated before the request leaves your process.
  • Realtime job updates without polling.
  • verifyWebhook() for HMAC-signed delivery checks.

Breaking: the 2.x client reshapes a few response types from 1.x. See the SDK changelog for the upgrade notes.

SDK
v1.0.0
New

Public launch

Rendobar is now publicly available. Process media with a single API call.

Live at launch

  • FFmpeg execution. Bring your own FFmpeg command and run it in a sandboxed cloud environment.
  • Credit-based billing. Pay for what you use. The free tier includes a signup grant with no credit card.
  • Realtime updates. Track job status live in the dashboard and over WebSocket.
  • MCP tools. Six built-in tools connect Rendobar to Claude, GPT, and other agents.
  • Webhooks. Signed delivery for job completion events, with HMAC verification.

API

  • REST API documented with an OpenAPI 3.1 spec.
  • OAuth login with GitHub and Google, plus API key auth.
  • Organization-based multi-tenancy with team management.
Platform