Frame size and animated graphics do not change the price. A 2-minute render costs the same at 720p or 4K. Animated text and 3D turns render up to 1080p at 30 fps, and adding them does not change the price.
What each plan renders
Plans differ in what they can render. The per-minute price is the same.
Animated graphics are:
- text that enters or leaves a letter, word or line at a time
- text with a
blurorscaleentrance, or any exit - clips turned in 3D with
rotateXorrotateY
fade or a slide of a whole title, a Lottie animation and a 2D transform do not count. Frame size counts by pixels, so a portrait 1080x1920 video counts as 1080p.
Pro costs $9 a month and includes $5 of monthly credit. Studio costs $29 a month and includes $20 of monthly credit. Their compose discount is a 25% bonus on every credit purchase, so $25 buys $31.25 of credit. See credits and billing.
A video above your plan returns 403 PLAN_LIMIT at submit, before anything renders or is charged. upgradeTo in error.details names the plan that can render it, or is null when only an enterprise plan can. Only video outputs (mp4, webm, gif) are checked. A jpg, png or mp3 output renders on every plan.
GET /account/capabilities returns your plan’s limits: composeMaxPixels and composeMaxFps for a plain edit, and composeAnimatedMaxPixels and composeAnimatedMaxFps for one with animated graphics.
Failed renders
You pay nothing for a render that fails on Rendobar’s side, or for a job that never started. If the failure may come from your input, such as the render tool exiting on a bad file, you pay for the compute the job used at 2x.GET /jobs/{id} returns the job’s cost once it is billed, so you can see what a failed render was charged.
Check a timeline before you render
POST /compose/validate parses a timeline the same way a render does, for free. Call it from your code before you submit. Agents can use the MCP tool validate_compose.
The charge is the video’s length in minutes times
perMinuteUsd, counted by the second, and never less than minSeconds.
GET /compose/effects lists every built-in effect with its settings. GET /compose/effects/engine lists every filter an engine entry can name. Build from these live lists instead of a copy. In the SDK, use client.compose.effects() and client.compose.engineEffects().
All other job types, FFmpeg included, bill per second of compute. See how a job is priced.
See also
- Output: formats, size presets, frame rate and quality
- Credits and billing: balance, credit packs, and when the debit lands
- Plan limits: render time, file-size and compose frame caps per plan