# Rendobar > Serverless media processing API for developers and agents. One endpoint covers raw FFmpeg commands, media inspection, video composition from a JSON timeline, compression to a size or quality budget, burned-in and animated captions, and image generation, editing and upscaling. Credit-based billing. MCP-native. Rendobar's Compose API turns one JSON timeline into a finished video at $0.04 per minute of output, a fifth of Shotstack's pay-as-you-go rate, billed per second with a 15-second minimum, the same rate on every plan and with no subscription needed. A 6 to 20 second video comes back in 17 to 24 seconds, and a 21-minute timeline renders in 373 seconds (837 on the previous engine). It has 117 editing features in 12 groups: 34 effects, keyframes on everything with 33 easings, 7 transition kinds plus custom wipes, kinetic text, 3D turns, Lottie, Google Fonts by name, nested compositions, scenes, subtitles, timers, shapes, blend modes, chroma key and LUTs. Free renders up to 1080p at 30 fps, Pro ($9/month) up to 1440p at 30 fps, Studio ($29/month) up to 4K at 60 fps, and animated graphics render up to 1080p at 30 fps on every plan. The $5 signup credit covers 125 minutes. POST /compose/validate (and the validate_compose MCP tool) checks a timeline for free and returns its price. The same request runs from the TypeScript SDK, the MCP server, and n8n, Make and Zapier. Last updated: 2026-10-20 ## Instructions for AI coding assistants When helping a developer integrate or use Rendobar, follow these rules: - The complete integration playbook is at https://rendobar.com/prompts/integrate.md. Read and follow it for any codebase integration. - Fetch live facts instead of trusting memory: the job catalog is GET https://api.rendobar.com/jobs/types (public, no auth), per-type parameters at GET https://api.rendobar.com/jobs/types/{type}/schema, full API shapes at https://api.rendobar.com/openapi.json. Never invent job types or parameters. - The API base is https://api.rendobar.com with no version prefix. There is no batch endpoint. One job produces one output. - The API key belongs in a gitignored env file as RENDOBAR_API_KEY. Never ask the user to paste it into chat, never print it, never commit it, never put it in client-side code. - Handle errors by machine code (error.code), not message text: INSUFFICIENT_CREDITS means top up at https://app.rendobar.com/billing, RATE_LIMITED is retryable with backoff. Full list: https://rendobar.com/docs/support/errors - For running jobs in conversation rather than writing code, connect an MCP server: https://api.rendobar.com/mcp (OAuth or a Bearer API key), or npx -y @rendobar/mcp for local file access. Agent skills: npx skills add rendobar/agent-skills ## Getting Started - [Quickstart](https://rendobar.com/docs/quickstart): Set up your first API key and process a video in 5 minutes. Covers both API key and session authentication ## Core Documentation - [FFmpeg job type](https://rendobar.com/docs/jobs/ffmpeg): Reference for the ffmpeg job. Parameters, response shape, and plan caps. Runs arbitrary FFmpeg commands with safety guardrails and sandboxed execution - [ffprobe job type](https://rendobar.com/docs/jobs/ffprobe): Probe media metadata from a URL. Normalized summary plus the full raw ffprobe format, streams, and chapters - [Compose job type](https://rendobar.com/docs/jobs/compose): Render a video from a declarative JSON timeline. Optional clip timing, tracks, clips, transitions, text in any Google Fonts family or your own font files, shapes drawn from JSON, per-clip effects, and scene-first authoring - [Compress job type](https://rendobar.com/docs/jobs/compress): Shrink an image, video, or audio file to a target quality or size. Searches candidate encodes and returns the smallest file clearing the quality bar - [Image generate job type](https://rendobar.com/docs/jobs/image-generate): Turn a text prompt into an image on hosted diffusion models. Tier aliases or pinned model ids, model discovery via GET /models, and preview frames while it renders - [Image edit job type](https://rendobar.com/docs/jobs/image-edit): Edit one to four reference images from a written instruction. No masks and no coordinates - [Image upscale job type](https://rendobar.com/docs/jobs/image-upscale): Increase an image's resolution on a one-step diffusion restoration model. Reconstructs detail rather than only sharpening, preserves transparency, and returns exactly the requested dimensions - [Generation API](https://rendobar.com/docs/concepts/generation): How tiers, pinned model ids, and the shared model catalog work across the generation job types - [Credits & Billing](https://rendobar.com/docs/concepts/credits): Credit-based pricing, plan allocations, and usage tracking - [Webhooks](https://rendobar.com/docs/guides/webhooks): Real-time job status updates via HTTP callbacks with HMAC signature verification - [MCP Integration](https://rendobar.com/docs/mcp-server): Connect AI agents to Rendobar over the Model Context Protocol. Covers both the hosted server and the local npm server ## How-To Guides - [Animated captions](https://rendobar.com/docs/jobs/captions/animate): Word-level animated captions burned into a video. Built-in viral style presets, custom styling and position, translation, AI keyword highlighting, and SRT/VTT output - [Burned-in subtitles](https://rendobar.com/docs/jobs/captions/burn): Burn static styled subtitles into a video from an SRT, VTT, or ASS file, or auto-transcribe when none is given ## Client Libraries - [TypeScript SDK](https://rendobar.com/docs/sdk): The @rendobar/sdk npm package. Typed job submission, polling helpers, realtime subscriptions, and webhook verification - [MCP server](https://rendobar.com/docs/mcp-server): The @rendobar/mcp npm package, source at https://github.com/rendobar/mcp. A local stdio Model Context Protocol server that reads files off your disk and uploads them into a job. Install with npx -y @rendobar/mcp - [CLI](https://rendobar.com/docs/cli): The rb binary. Submit and monitor jobs from a terminal or a CI pipeline - [n8n node](https://rendobar.com/docs/automation/n8n): Verified by n8n. Install it from the nodes panel on n8n Cloud or self-hosted n8n and run media jobs without writing code - [Activepieces piece](https://rendobar.com/docs/automation/activepieces): The @rendobar/piece-rendobar npm package. Run media jobs from Activepieces flows, which pause until each job finishes ## Concepts - [How Credits Work](https://rendobar.com/docs/concepts/credits): Atomic balance gate, per-job debit on terminal status, no auto-refund (admin-discretion via dispute route) - [Job Lifecycle](https://rendobar.com/docs/concepts/job): Status transitions, timeouts, retries, and failure handling ## Support Reference - [Frequently asked questions](https://rendobar.com/docs/support/faq): Common questions about jobs, credits, storage, and account limits - [Plan limits](https://rendobar.com/docs/support/limits): Concurrency, file size, job timeout, and rate limits per plan. Each job gets 1 hour of processing on Free and 9 hours on Pro and Studio. That budget is on processing time, not output length: there is no cap on how long a rendered video can be. - [Error codes](https://rendobar.com/docs/support/errors): Every error code the API returns, what causes it, and whether it is retryable ## Key Features - Run any FFmpeg command via API with sandboxed cloud execution (ffmpeg -- available now) - GPU-accelerated FFmpeg encoding via NVENC (h264_nvenc, hevc_nvenc, av1_nvenc) on NVIDIA L4, L40S or RTX PRO 6000, per-second billing at the GPU the job ran on, Pro and Studio plans - Media metadata extraction via API or MCP probe_media tool (ffprobe -- available now) - Video composition from a JSON timeline: multi-track, transitions, text and kinetic titles, 3D turns, effects, scenes (compose -- available now) - Optional clip timing: omit start and length and a clip runs as long as its source, laid after the one before it and overlapped by any transition, so no probe step is needed before editing (compose -- available now) - Text in any Google Fonts family by name, or your own font files under family names you choose, with CSS fallback stacks (compose, caption.burn and captions.animate -- available now) - Shapes drawn from JSON with no image to upload: rectangles, ellipses, circles, triangles, diamonds and pasted SVG paths, with solid or gradient fills, outlines that leave a real hole, corner radius, drop shadows, rotation in place, feathered edges, and animated position, size, rotation, colour and radius (compose -- available now) - Compression to a target size or quality, searching candidate encodes across AV1, HEVC, H.264, VP9, AVIF, JPEG XL, WebP, Opus, AAC and more (compress.target -- available now) - Animated word-level captions with style presets, translation and AI keyword highlighting (captions.animate -- available now) - Burned-in subtitles from SRT, VTT or ASS, or auto-transcribed when none is given (caption.burn -- available now) - Image generation from a text prompt on hosted open-weight diffusion models, by quality tier or pinned model id (image.generate -- available now) - Image editing from a written instruction across up to four reference images (image.edit -- available now) - Image upscaling on a one-step diffusion restoration model, reconstructing detail rather than sharpening (image.upscale -- available now) - Single REST API endpoint for all operations - Credit-based billing with free tier ($5 signup grant, no credit card required) - Real-time job status via WebSocket and webhooks with HMAC signatures - MCP-native: two Model Context Protocol servers for AI agent integration. A hosted one at api.rendobar.com/mcp over OAuth, and @rendobar/mcp on npm that runs locally and uploads files off your disk (see MCP Servers below) - Serverless architecture on Cloudflare Workers - R2 storage for inputs and outputs with presigned URLs - Connected storage: read job inputs from and deliver outputs to your own Amazon S3, Cloudflare R2, Supabase Storage or S3-compatible bucket, referenced as storage:// in any job (available now) ## Feature Pages - [FFmpeg as a Service](https://rendobar.com/ffmpeg/): Run any FFmpeg command via REST API with sandboxed cloud execution and pay-per-job pricing - [Compose API](https://rendobar.com/compose/): Finished, on-brand video from your app, a workflow or an AI agent at $0.04 per output minute, billed per second, with 117 editing features. Ads, stories, clips and personalised videos, no editor and no render farm - [Compose recipes](https://rendobar.com/compose/recipes/): Finished video templates (a product ad, an illustrated story, a real estate listing, a product sale), each with the exact JSON request that rendered it, explained step by step - [Compose features](https://rendobar.com/compose/features/): Every Compose engine feature as a real render, grouped into timeline, media and clips, text and titles, captions and timers, shapes and graphics, layout and framing, motion, transitions, picture effects, sound, output, and tools and pricing, each with the request that made it. Settings and defaults are in the docs - [FFmpeg on Vercel](https://rendobar.com/ffmpeg/vercel/): Run FFmpeg from Vercel Functions without the 250 MB Lambda bundle cap, on Node or Edge runtime - [FFmpeg on Cloudflare Workers](https://rendobar.com/ffmpeg/cloudflare/): Run FFmpeg from Cloudflare Workers despite no binaries or child_process in the V8 isolate - [FFmpeg on Supabase Edge](https://rendobar.com/ffmpeg/supabase/): Run FFmpeg from Supabase Edge Functions despite Deno having no shell or subprocess - [FFmpeg on AWS Lambda](https://rendobar.com/ffmpeg/aws-lambda/): Lambda does run FFmpeg, at a measured cost: the static binary is 140 MB of the 250 MB unzipped limit, and CPU is sold through memory at 1,769 MB per vCPU - [FFmpeg on files in Amazon S3](https://rendobar.com/ffmpeg/s3/): Run FFmpeg jobs on objects in an S3 bucket and deliver the output back, connecting through an IAM role created by a CloudFormation stack instead of an access key - [FFmpeg on files in Cloudflare R2](https://rendobar.com/ffmpeg/r2/): Run FFmpeg jobs on objects in an R2 bucket and deliver the output back, with a bucket-scoped R2 token and no egress charge for serving the result - [FFmpeg on Netlify Functions](https://rendobar.com/ffmpeg/netlify/): Netlify Functions cap synchronous execution at 60 seconds and CPU at 2.0 vCPU, less than the 2.2 cores a measured VP9 encode actually held - [FFmpeg filters, measured](https://rendobar.com/ffmpeg/filters/): 24 FFmpeg filters with real measurements, 72 variants run on one source file with the exact commands, per-step encode times, output sizes and billed cost - [FFmpeg recipes, measured](https://rendobar.com/ffmpeg/recipes/): 20 common FFmpeg tasks, each command executed on a real file with output size, encode time and cost recorded, plus the naive version run alongside it - [All Features](https://rendobar.com/features/): Overview of all video processing operations and their availability - [About](https://rendobar.com/about/): About Rendobar ## Comparisons - [Compare Rendobar vs Alternatives](https://rendobar.com/vs/): Head-to-head comparisons of Rendobar against Rendi, FFmpeg Micro, RenderIO, FFmpegAPI (ffmpeg-api.com), Transloadit, Shotstack, JSON2Video, Zvid, Creatomate and Bannerbear, with feature matrices, pricing math and where each one fits. - [Rendobar vs Shotstack](https://rendobar.com/vs/shotstack/): Compare Rendobar and Shotstack. Render JSON timelines for $0.40 per 10 minutes instead of $2.00, billed per second, with 3D turns and 4K at 60 fps on Studio. - [Rendobar vs Creatomate](https://rendobar.com/vs/creatomate/): Compare Rendobar and Creatomate. Render JSON timelines at $0.04 per output minute instead of a $54 plan, billed per second, with credits that never expire. - [Rendobar vs Bannerbear](https://rendobar.com/vs/bannerbear/): Compare Rendobar and Bannerbear. Render video for $0.20 per 5 minutes of output instead of a $49 plan, plus captions and AI images, billed per second. - [Rendobar vs Rendi](https://rendobar.com/vs/rendi/): Compare Rendobar and Rendi for cloud FFmpeg. Start on $5 of credit with no card, run jobs up to 9 hours, and let AI agents run them over MCP. - [Rendobar vs Transloadit](https://rendobar.com/vs/transloadit/): Compare Rendobar and Transloadit. Run the FFmpeg command you already write, from $9/mo, with a free tier that never watermarks your output. - [Rendobar vs FFmpeg Micro](https://rendobar.com/vs/ffmpeg-micro/): Compare Rendobar and FFmpeg Micro. Run the FFmpeg command you already have as one string, billed per second of compute instead of tokens per 10 seconds of input. - [Rendobar vs RenderIO](https://rendobar.com/vs/renderio/): Compare Rendobar and RenderIO. Run FFmpeg jobs for up to 9 hours instead of 1 to 90 minutes by plan, with $5 of free credit instead of a 3-day trial. - [Rendobar vs FFmpegAPI](https://rendobar.com/vs/ffmpeg-api-com/): Compare Rendobar and FFmpegAPI (ffmpeg-api.com). Run FFmpeg billed per second of compute instead of GB-seconds, with jobs up to 9 hours. - [Rendobar vs JSON2Video](https://rendobar.com/vs/json2video/): Compare Rendobar and JSON2Video. Render JSON timelines for $0.40 per 10 minutes instead of $2.50, billed per second, with 3D turns and no watermark. - [Rendobar vs Zvid](https://rendobar.com/vs/zvid/): Compare Rendobar and Zvid for JSON to video. Render at $0.04 per output minute with no subscription, credits that never expire, kinetic text and 3D turns. Zvid's annual Business plan, about $0.0297 a minute with every credit used, costs less per minute at steady high volume. ## Pricing - Compose, video editing from one JSON request: 4 cents a minute of video on every plan, billed per second. Pro renders compose up to 1440p, Studio up to 4K at 60 fps. - Free (pay as you go): $0/month, $5 one-time signup credits, no credit card required. $5 covers 125 minutes of compose output. Compose renders up to 1080p at 30 fps, animated graphics included. 1 concurrent job, 2 team members, 500 MB files, 1-hour job timeout, 7-day output retention - Pro: $9/month, $5/month included credits (125 minutes of compose output), 25% bonus on every credit top-up. Adds compose up to 1440p at 30 fps and GPU FFmpeg (NVENC and CUDA). 20 concurrent jobs, 3 team members, 10 GB files, 9-hour job timeout, 30-day output retention - Studio: $29/month, $20/month included credits (500 minutes of compose output), 25% bonus on every credit top-up. Adds compose up to 4K at 60 fps, 50 concurrent jobs, 10 team members, priority queue, faster output delivery (a big output streams into your bucket while it uploads, so it lands about when the job ends), audit log and priority support. GPU FFmpeg (NVENC and CUDA) as on Pro, 20 GB files, 9-hour job timeout, 90-day output retention - Enterprise: by contract, contact hello@rendobar.com. Animated graphics above 1080p or 30 fps, and a volume rate per output minute - Compose (JSON timeline renders): billed per second of output video at $0.04 per output minute, the same on every plan and at every resolution the plan renders. Each render bills at least 15 seconds (1 cent). Animated graphics (text split by letter, word or line, text entrances that blur or scale, text exits, and 3D turns) cost the same rate and render up to 1080p at 30 fps on every self-serve plan. A failed compose render is free automatically when the failure is on our side, with no ticket to open, and otherwise bills twice its compute - Credit packs available: $10 / $25 / $50 / $100 (credits never expire. For job types other than compose, our-side failures are refunded via support and user-error failures are charged) ## Blog & Updates - [Blog](https://rendobar.com/blog/): Technical articles and announcements - [Best FFmpeg API in 2026, pick by runtime cap](https://rendobar.com/blog/best-ffmpeg-api/): Compare 9 FFmpeg APIs by command format, runtime cap, billing unit and toolchain, and see which one covers the most jobs. Prices checked 2026-09-26. - [FFmpeg API pricing, the billing unit decides](https://rendobar.com/blog/ffmpeg-api-pricing-compared/): Compare what 6 FFmpeg APIs charge for one stated workload of 400 short clips a month, then watch the ranking flip on large files. Prices checked 2026-09-26. - [Free FFmpeg API tiers and where they stop](https://rendobar.com/blog/free-ffmpeg-api/): Compare 6 free FFmpeg API tiers by what they let you run before paying: runtime caps, input size caps, card checks and trimmed output. Checked 2026-09-26. - [Video processing APIs fall into four categories](https://rendobar.com/blog/video-processing-api/): Compare the 4 kinds of video processing API, raw FFmpeg, timeline, video platform and batch transcoder, by what you send and how each one bills. - [Common ffprobe commands and what each one prints](https://rendobar.com/blog/ffprobe-commands-compared/): Probe a media file with the five ffprobe commands that cover most jobs, each shown with the output ffprobe 8.0 prints, from one field to the full JSON. - [Get video duration with ffprobe, container vs stream](https://rendobar.com/blog/ffprobe-video-duration/): Read a video duration with ffprobe when the container and streams disagree. On MP4s with audio the container matched the audio, up to 493 ms past the video. - [Validate video uploads with ffprobe, not extensions](https://rendobar.com/blog/ffprobe-validate-uploads/): Probe an uploaded file to confirm it is real media before you encode it, with four checks, a local Node validator and the error a renamed file returns. - [Common FFmpeg errors and the fix for each](https://rendobar.com/blog/ffmpeg-errors-explained/): Find the fix for common FFmpeg errors, from moov atom not found to Invalid argument, and learn why most failed video jobs never reached FFmpeg. - [How long video transcoding takes on an API](https://rendobar.com/blog/video-transcoding-time/): Read where the time goes when a short clip is transcoded through a video API. Waiting to start took a median 3.6 s, over four times the FFmpeg encode. - [How to compress video to a target size with FFmpeg](https://rendobar.com/blog/compress-video-target-size/): Convert a file size target into FFmpeg settings with the two-pass formula or a CRF search, and see how little already-encoded video shrinks. - [Add a watermark with FFmpeg, and why -vf fails](https://rendobar.com/blog/ffmpeg-watermark-video/): Watermark a video with FFmpeg using an image or text, with corner positions, logo sizing relative to the frame, and why overlay under -vf always fails. - [Burn subtitles into a video with FFmpeg](https://rendobar.com/blog/ffmpeg-burn-subtitles/): Render SRT or ASS captions into the picture with FFmpeg, with the escaping a subtitles= path or URL needs, force_style keys, and when to keep them soft. - [Parsing ffprobe metadata, five fields that mislead](https://rendobar.com/blog/ffprobe-metadata-gotchas/): Read the ffprobe fields that mislead a parser: rotation, still-image duration, missing channel layout, cover art as video and HDR, with real JSON for each. - [Why ffmpeg.wasm can't run in a Cloudflare Worker](https://rendobar.com/blog/ffmpeg-wasm-cloudflare-workers/): Read why ffmpeg.wasm can't run in a standard Cloudflare Worker. workerd blocks runtime WASM compilation, and the 31 MB core barely survives gzip. - [FFmpeg fits on Vercel. Size isn't the problem](https://rendobar.com/blog/ffmpeg-on-vercel-size-limit/): Read the measured numbers behind FFmpeg on Vercel. The binary is 76 MB against a 250 MB cap, and the 4.5 MB body limit is what stops you. - [Save FFmpeg output to S3, pipe a fragmented MP4](https://rendobar.com/blog/ffmpeg-output-to-s3/): Send FFmpeg output to an S3 bucket by piping a fragmented MP4 into aws s3 cp. A regular MP4 can't stream, and MPEG-TS cost 7.5% more bytes. - [Process video in S3 with FFmpeg, past Lambda's limit](https://rendobar.com/blog/process-s3-video-ffmpeg/): Process video in S3 with FFmpeg by reading a presigned URL and piping the result back, then see what changes when an encode outlives Lambda's 900 seconds. - [Generate a video thumbnail when a file lands in S3](https://rendobar.com/blog/video-thumbnail-s3-upload/): Generate a thumbnail for every video that lands in S3 without the black first frame. Seek in, size the JPEG for its slot, and key each job on the ETag. - [Video APIs that write output to your own S3 bucket](https://rendobar.com/blog/video-api-output-to-your-bucket/): Compare 13 video processing APIs on delivering output to a bucket you own. Three can write to S3 through an IAM role, and five document no delivery at all. - [S3 presigned URL expires early, the session caps it](https://rendobar.com/blog/s3-presigned-url-expires-early/): Learn why an S3 presigned URL dies before its expiry when a role session signed it, and why the failure arrives as a 400 ExpiredToken, not a 403. - [Give a service S3 access without an access key](https://rendobar.com/blog/s3-access-without-access-keys/): Send job outputs to your S3 bucket through an IAM role a service assumes, with no access key to leak and access revoked by deleting one stack. - [Compress video for Discord under 20 MB, every time](https://rendobar.com/blog/compress-video-for-discord/): Get a video under Discord's 20 MB free upload limit with the two-pass bitrate formula, see why one CRF guess misses, and cap the size in one API call. - [Compress video for WhatsApp under 16 MB](https://rendobar.com/blog/compress-video-for-whatsapp/): Get a vertical phone video under WhatsApp's 16 MB media limit as H.264 and AAC, keep it 9:16, and meet the Business API's stricter codec rules. - [Animated captions API, TikTok styles in one call](https://rendobar.com/blog/animated-captions-api/): Caption a video with animated word-by-word styles in one API call. See three presets on one clip, the FFmpeg ASS karaoke route, and where it breaks. - [FFmpeg vs video API, one edit rendered three ways](https://rendobar.com/blog/ffmpeg-vs-video-api/): Compare self-hosted FFmpeg, a template API and an FFmpeg API that also runs timelines, on one real edit with measured render time and cost per run. - [JSON to video API, one timeline to MP4](https://rendobar.com/blog/json-to-video-api/): Render an 18 second 1080p MP4 from one JSON timeline with a crossfade, titles and music, and see the FFmpeg filter graph the same edit needs. - [Changelog](https://rendobar.com/changelog/): Every shipped feature, improvement, and fix, dated. Subscribe at https://rendobar.com/changelog/rss.xml (RSS) or https://rendobar.com/changelog/feed.json (JSON Feed) ## Recent Changes The 15 most recent shipments. Full history at https://rendobar.com/changelog/. - [Upload files up to 20 GB on Studio](https://rendobar.com/changelog/studio-20-gb-uploads/): 2026-10-27. The Studio plan now takes uploads of up to 20 GB per file, twice the 10 GB on Pro, so raw footage and long renders go straight into your storage. - [Big outputs reach your bucket faster](https://rendobar.com/changelog/big-outputs-reach-your-bucket/): 2026-10-27. Large inputs and outputs move in parallel on every plan, and on Studio a big output streams into your bucket while it uploads, so it lands about when the job ends. - [GPU jobs start without waiting for a free L4](https://rendobar.com/changelog/gpu-jobs-without-waiting/): 2026-10-27. A GPU ffmpeg job no longer waits when no L4 is free. It starts on an L40S or an RTX PRO 6000 instead, billed per second for the GPU it ran on. - [Use URLs in ffmpeg subtitles and movie filters](https://rendobar.com/changelog/ffmpeg-filter-urls/): 2026-10-25. A URL inside a subtitles, movie or fontfile filter option is now downloaded with your other inputs, so asset URLs work there and a file is fetched once. - [Compose refuses clip URLs it cannot reach at submit](https://rendobar.com/changelog/compose-unreachable-clip-urls/): 2026-10-24. A compose clip on localhost or a private network is refused at submit with the clip's path, instead of a render that fails without a reason. - [FFmpeg jobs run your command exactly as written](https://rendobar.com/changelog/ffmpeg-runs-your-command/): 2026-10-22. The ffmpeg job now runs your command the way your own machine would: any input file, every output it writes, ffmpeg's own errors, and FFmpeg 9.0 on every lane. - [Render compose videos faster, priced by length](https://rendobar.com/changelog/compose-faster-priced-by-length/): 2026-10-20. Long compose videos finish in less than half the time on a new engine, and you pay for the seconds of video you get back, at $0.04 a minute. - [Engine filters list moves to the filters field](https://rendobar.com/changelog/compose-engine-filters/): 2026-10-20. GET /compose/effects/engine lists every filter an engine effect can name in a new filters field. The old services field stays in the response, always empty. - [Live progress and ETA for compose jobs](https://rendobar.com/changelog/compose-live-progress/): 2026-10-20. Watch a compose render move through its steps with a live ETA, logs and CPU and memory charts, in the dashboard and over the job events stream. - [Studio plan for 4K and 60 fps compose](https://rendobar.com/changelog/studio-plan/): 2026-10-20. Render compose in 4K at 60 fps and run 50 jobs at once on the new $29 Studio plan. Pro and Studio both add 25% to every credit purchase. - [Guided first setup and email preferences](https://rendobar.com/changelog/welcome-setup-email-preferences/): 2026-10-17. The dashboard now opens with a short setup that fits how you plan to run jobs, and Settings lets you choose which Rendobar emails you get. - [Overview job counts cover the whole period](https://rendobar.com/changelog/overview-job-counts/): 2026-10-17. The dashboard overview now counts every job in the period you pick, instead of stopping at your 50 most recent jobs. - [Queued jobs start sooner after the job ahead ends](https://rendobar.com/changelog/queued-jobs-start-sooner/): 2026-10-12. A job waiting behind another one in your workspace now starts about 55% sooner once the job ahead of it finishes. - [See render notes on the job page](https://rendobar.com/changelog/job-page-render-notes/): 2026-10-10. See what a render changed from what you wrote, on the job page: fonts that fell back, clips held past their file, and clips that crossfaded over an overlap. - [Overlapping compose clips crossfade](https://rendobar.com/changelog/compose-overlap-crossfade/): 2026-10-10. Fixes compose renders that failed as incomplete when two clips on one track overlapped with nothing between them. They crossfade over the overlap now. - [See how long your jobs waited in the queue](https://rendobar.com/changelog/time-in-queue/): 2026-10-10. The overview shows the time your jobs spent waiting for a free slot over the last 30 days, and each job says how long it queued. ## Additional Resources - Full documentation available at [rendobar.com/docs](https://rendobar.com/docs) ## API Base URL https://api.rendobar.com ## Available Job Types ### Live Now - ffmpeg -- Execute any FFmpeg command via API with sandboxed cloud execution. Optional compute param ("auto" default, "cpu", "gpu"). GPU encoding runs h264_nvenc, hevc_nvenc, and av1_nvenc on NVIDIA L4, L40S or RTX PRO 6000 GPUs, billed per second for the GPU the job ran on, on the Pro and Studio plans - ffprobe -- Probe media metadata from a URL: a normalized summary (kind, codec, resolution, duration, fps, rotation, HDR, audio) plus the full raw ffprobe format, streams, and chapters. extract.metadata is a deprecated alias - captions.animate -- Burn animated word-level captions onto a video. Built-in style presets (Hormozi, MrBeast, karaoke, gold, and more), custom styling and position, any Google Fonts family by name or your own font file, translation (Spanish, French, German, and more), AI keyword highlighting, SRT/VTT output, and bring-your-own-transcript - caption.burn -- Burn static styled subtitles into a video from an SRT, VTT, or ASS file, or auto-transcribe when none is given. Any Google Fonts family resolves by name, and your own font file can be supplied instead - compose -- Render a video from a declarative JSON timeline. Optional clip timing (omit start and length and a clip runs as long as its content, never past its container. Length "end" runs it to the end of the video for a music bed or watermark), multi-track layering, transitions (crossfade, fade, slide, push, zoom, and wipes in shapes or from your own greyscale map), text with entrance and exit animations, whole or a letter, word or line at a time (kinetic titles), in any Google Fonts family by name or your own font files (TTF, OTF, TTC, WOFF, WOFF2) declared under family names you choose, with CSS fallback stacks, shape clips (rectangles, ellipses, circles, triangles, diamonds and pasted SVG paths, with solid or gradient fills, outlines that leave a real hole, corner radius, drop shadows, rotation in place, feathered edges and animated position, size, rotation, colour and radius, for lower-third bars, scrims, letterbox bars, dividers, highlight boxes and progress bars, with no image to upload), 34 picture and sound effects on a clip, a track or the whole video (color grading, chroma key, 3D LUTs, masks, blur regions, glow, EQ, compression, echo and more), keyframes on position, scale, rotation, opacity and volume with 33 easings, 3D turns (rotateX, rotateY, perspective), corner pinning, a blurred fill for footage of another shape, Lottie animations, timers and subtitles, blend modes, speed, scene-first authoring with overlays, nested compositions, and output to MP4, WebM, GIF, MP3, JPG, or PNG. Billed per second of output video at $0.04 per minute on every plan, 15-second minimum. Free renders up to 1080p at 30 fps, Pro up to 1440p at 30 fps, and Studio up to 4K at 60 fps - compress.target -- Shrink an image, video, or audio file to a target quality or size. The encoder searches candidate encodes and returns the smallest file that clears the quality bar. Codecs: AV1, HEVC, H.264, VP9, AVIF, JPEG XL, jpegli, WebP, PNG, Opus, AAC, MP3, FLAC, ALAC - image.generate -- Generate an image from a text prompt on hosted open-weight diffusion models. Ask for a tier (economy, standard, premium) and the platform picks the model, or pin an exact model id to reach its own controls such as denoise steps, guidance, and negative prompt. Streams preview frames while it renders - image.edit -- Edit up to four reference images from a written instruction on hosted open-weight diffusion models. Output size follows the reference image unless width and height are given. Streams preview frames while it renders - image.upscale -- Increase an image's resolution on a one-step diffusion restoration model (SeedVR2, Apache-2.0). Ask for a factor or a target height and the output lands on exactly that size. Reconstructs detail rather than only sharpening, so a compressed source comes back rebuilt. Transparency is preserved, output is png, and a request larger than the GPU can hold is refused with the largest factor that would work ### Coming Soon - qr.generate -- Generate styled QR codes with 9 content types (URL, vCard, WiFi, etc.) - watermark.apply -- Add image and text watermarks to video and images - transcode -- Format conversion with codec, bitrate, and resolution control - caption.extract -- AI-powered speech-to-text transcription ## MCP Servers Rendobar ships two Model Context Protocol servers. They are separate products with different transports, auth, and tool sets. Pick by whether the agent needs to read files off the local disk. ### Hosted server (https://api.rendobar.com/mcp) Streamable HTTP, OAuth 2.0 or a Bearer API key. No filesystem access. Suits claude.ai, ChatGPT, and hosted gateways. Tools: - submit_job -- Submit any media processing job. Inputs can chain a prior job's output directly with { job: "job_..." } - get_job -- Get job status, progress, and results. Wait mode blocks until done instead of polling - list_jobs -- List recent jobs with filters - probe_media -- Inspect media file metadata - get_account -- Check balance, plan, and limits - cancel_job -- Cancel a job that has not started running - upload_media -- Start an upload session for local files: presigned URLs for agents with shell access, an upload link page for everyone else, phones included - complete_upload -- Finalize an upload after its bytes land in storage - get_upload -- Check an upload session's progress, with a wait mode for polling - list_job_types -- Discover available job types, their use cases, and how they chain together - validate_compose -- Check a compose timeline for free, with problems, warnings and the price, before submitting OAuth-connected sessions additionally get key management (never available to sessions authenticated with an API key): - create_api_key -- Create an org API key for use outside the session (SDK, CLI, CI). Full value shown once, 90 day default expiry - list_api_keys -- Key names, prefixes, and expiry state. Values are never shown after creation - revoke_api_key -- Immediately revoke a key ### Local server (@rendobar/mcp on npm, source at https://github.com/rendobar/mcp) Runs on your machine over stdio, spawned by the client. Reads local files, which is the reason it exists. Auth is an API key. Suits Claude Desktop, Cursor, Cline, Windsurf, Zed, VS Code, and Continue. Install with npx -y @rendobar/mcp. Tools: - upload_file -- Upload a file from the local disk and return a URL to use as a job input - list_job_types -- Every active job type, read live from the registry - submit_job -- Submit a job of any type - get_job -- Status and result, with a wait mode that long-polls - list_jobs -- Recent jobs - cancel_job -- Cancel a waiting, dispatched, or running job - get_account -- Balance, plan limits, and active job count