Repository navigation
docs(compose): new engine, per-minute pricing and a full docs revamp - #113
Merged
Merged
Conversation
Compose now bills per second of delivered video instead of compute time. Add a compose pricing page (rates, 20 s minimum, animated graphics at 3x, failed-render rules, quote from validate, enterprise contact) and update the credits, FAQ, job lifecycle and MCP pages that said every job bills by compute. Escape the dollar signs on lines Mintlify rendered as math.
A timeout means the compose engine's own time estimate was off, so it counts as a failure on Rendobar's side and bills nothing.
The engine effect now takes "filter" with a public name and public parameter names (FFmpeg names for FFmpeg filters, camelCase for the rest). Point readers at GET /compose/effects/engine for the full list.
Compose bills one rate per output minute with a 15-second minimum, the same on every plan. Pro adds 4K and 60 fps compose and GPU FFmpeg, and animated graphics above 1080p or 30 fps are enterprise only. A render over the plan returns PLAN_LIMIT.
Studio ($29/mo, $20 monthly credits, 50 concurrent jobs) renders compose up to 4K at 60 fps. Pro now stops a plain edit at 1440p 30 fps. Both paid plans get a 25% credit-purchase bonus, up from 20%. Adds a Studio column to the plan tables, drops the priority queue row (no plan has it yet) and names Studio wherever a limit was listed for Pro only.
Generated from the schema the API validates with. Nested fields such as style.animate.by, stagger, order and out now appear, with the 3D transform fields, and schemaVersion, output and style.size show their defaults instead of being marked required.
Every engine capability is now explained in prose. New Media clips page (video, image, audio, Lottie, trim, speed, opacity, blend modes) and Subtitles and timers page. Output becomes a full reference (formats, all size presets, quality, codecs, transparency, range), Framing gets JSON per section and fit, Audio covers ducking, pan and the mix, Effects explains every picture effect, Transitions adds direction and custom wipes, and Pricing explains the validate response. Fixes 18 errors found against the schema (mosaic, visualizer kinds, animated graphics, volume path, fade colour, broken anchors). Plain-English pass on every page, links written as /docs/... so they resolve without JavaScript, and the overview opens with the illustrated story and its request.
Studio keeps outputs 90 days. The FAQ lists the nine live job types instead of ffmpeg alone. A compose render past its time limit is free, and compose failures follow their own rule. The Open in ChatGPT and Cursor links carry the current integration prompt. Ten in-page links point at headings that were renamed, and the credits section on charging is titled for what it says.
…ics cap The transform and text animation fields now say they render up to 1080p at 30 fps on self-serve plans, from the schema.
Animated text and 3D turns are refused inside a scene or a composition, so the timeline, text and motion pages now say they work only on top-level tracks and in overlays. The pricing page no longer claims a 4K render with animated graphics costs the same, since those stop at 1080p 30 fps. It names upgradeTo on a plan refusal and points at the job's cost instead of the error codes page. Free replaces pay-as-you-go on the output page, and two float artifacts in the index example are rounded.
The error codes page gains FEATURE_NOT_ENABLED and a section on reading upgradeTo from a PLAN_LIMIT, and RUNNER_TIMEOUT now says what it means. The FFmpeg page matches the job lifecycle page: a job past its timeout fails with JOB_TIMEOUT and is billed for its compute. The limits table gains team members, total input per job, the priority queue, the audit log and priority support. Table rows with two prices escape the dollar sign, two semicolons become sentences, and the links this branch added carry the /docs prefix. The SDK page covers the compose resource and billing.checkoutPlan, and the MCP page shows the real validate_compose result.
Scene clips no longer advertise 3D turns, subtitles and timers say which entrances they take, the output size and frame rate name each plan's frame, and the subtitle file field no longer names a job type that is not live.
a-essawy
marked this pull request as ready for review
October 20, 2026 19:48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Compose docs for the new engine and its pricing. Merge on launch day, together with rendobar/rendobar#867 (the API deploy changes billing and plan limits, so these pages must go live the same day).
What changes
Pricing and plans
POST /compose/validateresponse, field by field.Every engine capability documented in prose
.srtand.vttfiles,linevstypewriterreveal, timer directions and formats, and what they can animate.range.fit(all four modes).pan, how tracks mix, and effects on the final mix.mapwipes.by,stagger,order,out) and 3D turns (rotateX,rotateY,perspective).transformand textanimatestate the 1080p 30 fps cap for animated graphics.Corrections found against the schema (18), for example:
mosaicispixelate, the visualizer drawswaveformorspectrum(no meter), animated graphics are kinetic text,blur/scaleentrances and 3D turns (not HTML or Lottie),volumelives on video and audio assets,fadedips through black andtransitionhas no default, broken in-page anchors and duplicate headings.Readability
/docs/.... On the live site a bare/jobs/...href returns 404 without JavaScript. About 30 non-Compose pages still use the bare form. That is a separate fix.build-with-ai.mdxmirrors the integration prompt's new line pointing at /compose/features/ (rendobar/rendobar#867 changes the source).Checks
mint validatepasses.mint broken-linksflags only/docs/-prefixed links (it serves locally at the root) and existing links outside Compose.Merge order
deploy:production: the website build fails while the new Compose pages it links (/docs/jobs/compose/media,/captions,/pricing) return 404.deploy:productionfrom rendobar/rendobar. The illustrated-story recipe link here resolves once that deploy is live.