Video — entry 017 of 35

Rendobar

Verified Jul 2026

Rendobar is a credit-billed REST API for server-side media processing — arbitrary sandboxed FFmpeg commands, subtitle and animated-caption burning, and JSON-timeline video composition — aimed at both developers and AI agents, with an MCP server for agent tool-calling. New accounts get $5 of free signup credit before per-job nanodollar billing on top of the $9/mo Pro plan kicks in; CORS is locked to Rendobar's own app.rendobar.com dashboard rather than open to arbitrary origins (confirmed: Access-Control-Allow-Origin doesn't change no matter what Origin is sent).

ffmpegvideo-processingmcp-serverai-agentscredit-billing
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score81out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 81 on greatapis.com
<a href="https://greatapis.com/api/rendobar/"><img src="https://greatapis.com/badge/rendobar.svg" alt="Scored 81 on greatapis.com"></a>

Auth quickstart

  1. Get a key at the provider
  2. Send it on every request as a headerAuthorization: <key>
  3. The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.rendobar.com
Auth
bearerAuth
Jobs17

Job creation and management (submit, list, get, cancel, download)

GET/jobsList jobs
Parameters
NameInRequiredType
statusquerynostring
typequerynostring
limitquerynostring
offsetquerynostring
sortquerynostring
orderquerynostring
clientquerynostring
fromquerynointegernull
toquerynointegernull
Responses
StatusDescriptionSchema
200List of jobs
401Unauthorized
POST/jobsCreate a job (generic)
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Job completed synchronously or duplicate (idempotent)
201Job created and dispatched successfully
400Validation error
401Unauthorized
402Insufficient credits
403Forbidden — job type not allowed on plan
429Rate limited
POST/jobs/:id/disputeDispute a job charge
Parameters
NameInRequiredType
idpathyesstring
Request body

application/json

Responses
StatusDescriptionSchema
200Dispute logged for admin review
404Job not found
409Job not eligible for dispute
GET/jobs/statsJob stats
Parameters
NameInRequiredType
windowquerynostring
Responses
StatusDescriptionSchema
200Job stats
401Unauthorized
GET/jobs/typesList job types
Responses
StatusDescriptionSchema
200List of job types
429Rate limited
GET/jobs/types/{type}/schemaGet job type parameter schema
Parameters
NameInRequiredType
typepathyesstring
Responses
StatusDescriptionSchema
200Parameter schema for the job type
404Job type not found or not active
429Rate limited
GET/jobs/{id}Get job details
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Job details
401Unauthorized
404Job not found
POST/jobs/{id}/cancelCancel a job
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Job cancelled
401Unauthorized
404Job not found
409Job cannot be cancelled in current status
GET/jobs/{id}/downloadDownload job output
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Output file stream
400Job has no output available
401Unauthorized
404Job or output file not found
GET/jobs/{id}/logsGet job logs
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Job logs
401Unauthorized
404Job or logs not found
GET/jobs/{id}/metricsGet job resource utilization (deprecated alias for /resources)
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Job resource utilization series
401Unauthorized
404Job not found
GET/jobs/{id}/resourcesGet job resource utilization
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Job resource utilization series
401Unauthorized
404Job not found
GET/jobs/{id}/shareGet share link info
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Share link info
POST/jobs/{id}/shareCreate a public share link for a job output
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
201Share link created
400Job not complete or no output
403Plan does not allow sharing or quota exceeded
404Job not found
409Job already shared
DELETE/jobs/{id}/shareRemove a public share link
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Share link removed
404Job or share not found
GET/jobs/{id}/throughputGet job encode throughput
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Job encode-throughput series (fps/speed/frame)
401Unauthorized
404Job not found
GET/jobs/{id}/timingsGet job execution timings
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Job timings
401Unauthorized
404Job not found
Models1

Generation model catalog (image.generate / image.edit)

GET/modelsList generation models
Parameters
NameInRequiredType
jobquerynostring
Responses
StatusDescriptionSchema
200List of generation models
401Unauthorized
Billing12

Check account balance and usage history

POST/billing/checkout/creditsCreate credit purchase checkout
Request body

application/json

Responses
StatusDescriptionSchema
200Checkout session created
400Invalid amount
401Unauthorized
500Checkout creation failed
POST/billing/checkout/proCreate Pro subscription checkout
Responses
StatusDescriptionSchema
200Checkout session created
401Unauthorized
500Pro plan not configured or checkout creation failed
GET/billing/historyGet billing history
Parameters
NameInRequiredType
pagequerynostring
limitquerynostring
Responses
StatusDescriptionSchema
200Billing history
401Unauthorized
GET/billing/history/:id/pdfDownload invoice PDF
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
302Redirect to Polar invoice PDF
404Order or invoice not found
GET/billing/payment-methodsList payment methods
Responses
StatusDescriptionSchema
200Payment methods list
401Unauthorized
GET/billing/payment-methods/portal-urlGet customer portal URL
Responses
StatusDescriptionSchema
200Customer portal URL
401Unauthorized
404Customer not found
DELETE/billing/payment-methods/{id}Delete payment method
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Payment method deleted
400Payment method in use
401Unauthorized
404Customer or payment method not found
GET/billing/stateGet unified billing state
Responses
StatusDescriptionSchema
200Billing state
401Unauthorized
PATCH/billing/subscriptionManage subscription
Request body

application/json

Responses
StatusDescriptionSchema
200Subscription updated
400Bad request
401Unauthorized
404No subscription found
GET/billing/transactionsGet transaction history
Parameters
NameInRequiredType
pagequerynostring
limitquerynostring
Responses
StatusDescriptionSchema
200Transaction history
401Unauthorized
GET/billing/usageGet usage summary
Parameters
NameInRequiredType
startquerynostring
endquerynostring
Responses
StatusDescriptionSchema
200Usage summary
400Invalid date
401Unauthorized
GET/billing/usage-by-clientGet usage broken down by originating client
Parameters
NameInRequiredType
daysquerynostring
Responses
StatusDescriptionSchema
200Usage grouped by client, busiest first
401Unauthorized
Organizations13

Manage organizations and members

GET/orgsList user organizations
Responses
StatusDescriptionSchema
200User organizations list
401Unauthorized
POST/orgsCreate organization
Request body

application/json

Responses
StatusDescriptionSchema
201Organization created
400Validation error
403Organization limit reached
409Slug already taken
GET/orgs/currentGet current organization
Responses
StatusDescriptionSchema
200Organization details retrieved successfully
401Unauthorized - missing or invalid API key
404Organization not found
PATCH/orgs/currentUpdate current organization
Request body

application/json

Responses
StatusDescriptionSchema
200Organization updated successfully
400Validation error
403Not the organization owner
409Slug already taken
DELETE/orgs/currentDelete current organization
Responses
StatusDescriptionSchema
204Organization deleted successfully
403Not the organization owner
GET/orgs/current/callback-secretGet callback signing secret
Responses
StatusDescriptionSchema
200Callback signing secret
401Unauthorized
POST/orgs/current/callback-secret/rotateRotate callback signing secret
Responses
StatusDescriptionSchema
200New callback signing secret
401Unauthorized
GET/orgs/current/settingsGet org settings
Responses
StatusDescriptionSchema
200Org settings
401Unauthorized
PATCH/orgs/current/settingsUpdate org settings
Request body

application/json

Responses
StatusDescriptionSchema
200Settings updated
400Validation error
401Unauthorized
POST/team/inviteInvite team member
Request body

application/json

Responses
StatusDescriptionSchema
200Invitation sent
400Validation error
403Insufficient role
409Already a member or pending invitation
POST/team/removeRemove team member
Request body

application/json

Responses
StatusDescriptionSchema
200Member removed
403Insufficient role or cannot remove owner
404Member not found
POST/team/revoke-invitationRevoke invitation
Request body

application/json

Responses
StatusDescriptionSchema
200Invitation revoked
403Insufficient role
404Invitation not found
PATCH/team/roleChange member role
Request body

application/json

Responses
StatusDescriptionSchema
200Role updated
403Insufficient role or cannot change owner
404Member not found
API Keys4

Create and manage API keys

GET/api-keysList API keys
Responses
StatusDescriptionSchema
200API keys retrieved successfully
401Unauthorized
POST/api-keysCreate API key
Request body

application/json

Responses
StatusDescriptionSchema
201API key created successfully
401Unauthorized
PATCH/api-keys/:idUpdate API key
Parameters
NameInRequiredType
idpathyesstring
Request body

application/json

Responses
StatusDescriptionSchema
200API key updated
400Validation error
401Unauthorized
404Not found
DELETE/api-keys/:idRevoke API key
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200API key revoked successfully
401Unauthorized
404API key not found or already revoked
Assets9

Upload and manage PSD templates and design assets

GET/assetsList assets
Parameters
NameInRequiredType
kindquerynostring
scopequerynostring
statusquerynostring
lifecyclequerynostring
limitquerynostring
offsetquerynostring
Responses
StatusDescriptionSchema
200Paginated list of assets
401Unauthorized
POST/assetsInitialize an asset upload
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Deduplicated — a ready asset with this checksum already exists
201Pending asset created with presigned upload URL(s)
401Unauthorized
413File exceeds the plan's upload size limit
429Too many uploads in progress
GET/assets/templatesList system PSD templates
Parameters
NameInRequiredType
limitquerynostring
offsetquerynostring
Responses
StatusDescriptionSchema
200Paginated list of system PSD templates
401Unauthorized
GET/assets/{id}Get asset details
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Asset details
401Unauthorized
404Asset not found or not accessible
DELETE/assets/{id}Delete an asset
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Asset deleted successfully
401Unauthorized
403Cannot delete system assets
404Asset not found
POST/assets/{id}/completeFinalize an asset upload
Parameters
NameInRequiredType
idpathyesstring
Request body

application/json

Responses
StatusDescriptionSchema
200Asset finalized and ready
400Multipart completion is missing part etags
401Unauthorized
402Storage quota exceeded
404Asset not found
409Asset is not in a finalizable state, or the upload was not found in storage
413Uploaded file exceeds the plan's size limit
GET/assets/{id}/contentGet asset content (redirect)
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
302Redirect to a presigned download URL
401Unauthorized
404Asset not found
GET/assets/{id}/downloadGet a presigned download URL
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Presigned download URL
401Unauthorized
404Asset not found
409Asset is not ready for download
GET/assets/{id}/previewGet asset thumbnail preview
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
401Unauthorized
501Not implemented
Webhooks9

Configure webhook endpoints and view delivery history

GET/webhooks/deliveriesList webhook deliveries
Parameters
NameInRequiredType
endpointIdquerynostring
eventquerynostring
statusquerynostring
jobIdquerynostring
limitquerynointeger
offsetquerynointegernull
Responses
StatusDescriptionSchema
200List of webhook deliveries
401Unauthorized
POST/webhooks/deliveries/{id}/retryRetry a failed webhook delivery
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Delivery re-enqueued for retry
401Unauthorized
404Delivery or endpoint not found
409Delivery is not in a retryable state
GET/webhooks/endpointsList webhook endpoints
Responses
StatusDescriptionSchema
200List of webhook endpoints
401Unauthorized
POST/webhooks/endpointsCreate webhook endpoint
Request body

application/json

Responses
StatusDescriptionSchema
201Endpoint created. Signing secret shown in plaintext (only time it is visible).
400Invalid URL or events
401Unauthorized
409Maximum endpoints per organization reached
GET/webhooks/endpoints/{id}Get webhook endpoint
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Webhook endpoint
401Unauthorized
404Endpoint not found
PATCH/webhooks/endpoints/{id}Update webhook endpoint
Parameters
NameInRequiredType
idpathyesstring
Request body

application/json

Responses
StatusDescriptionSchema
200Endpoint updated
400Invalid URL or events
401Unauthorized
404Endpoint not found
DELETE/webhooks/endpoints/{id}Delete webhook endpoint
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
204Endpoint deleted
401Unauthorized
404Endpoint not found
POST/webhooks/endpoints/{id}/secretRotate webhook signing secret
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Secret rotated. New signing secret shown in plaintext (only time it is visible).
401Unauthorized
404Endpoint not found
409Secret was rotated less than 24 hours ago
POST/webhooks/endpoints/{id}/testSend test webhook event
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Test event sent
401Unauthorized
404Endpoint not found
429Rate limited (max 10 test events per minute)
Upload Sessions4
GET/upload-sessions/{token}Get upload session state
Parameters
NameInRequiredType
tokenpathyesstring
Responses
StatusDescriptionSchema
200Session state (active or done)
404Unknown token
410Session expired
POST/upload-sessions/{token}/doneMark an upload session done
Parameters
NameInRequiredType
tokenpathyesstring
Responses
StatusDescriptionSchema
200Session marked done
404Unknown token
410Session expired or already done
POST/upload-sessions/{token}/filesInitialize a file upload against a session
Parameters
NameInRequiredType
tokenpathyesstring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Deduplicated — a ready asset with this checksum already exists
201Pending asset created with presigned upload URL(s)
403Session has reached its file cap
404Unknown token
410Session expired or no longer active
413File exceeds the org's plan upload size limit
POST/upload-sessions/{token}/files/{assetId}/completeFinalize a file upload against a session
Parameters
NameInRequiredType
tokenpathyesstring
assetIdpathyesstring
Request body

application/json

Responses
StatusDescriptionSchema
200Asset finalized and ready
400Multipart completion is missing part etags
404Unknown token, or assetId not tracked by this session
409Asset is not in a finalizable state, or the upload was not found in storage
410Session expired or no longer active
413Uploaded file exceeds the org's plan size limit

Try it

Developer reference

Base URLhttps://api.rendobar.com
Rate limit

Free: 120 API requests/min; Pro ($9/mo): 600 API requests/min

Key endpoints
  • POST/jobs
  • GET/jobs/{id}

Changelog

Spec version1.0.0
Tracked paths59
  • Aug 2026gained an OpenAPI spec, official SDKs and a pricing page
  • Sep 2026content changed

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗