Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rendobar.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Tool definitions for both Rendobar MCP servers. The local stdio server (@rendobar/mcp) exposes six tools including upload_file. The remote HTTP server keeps upload_media for browser-based clients that have no disk access.

Annotations

ToolreadOnlyHintdestructiveHintidempotentHintopenWorldHint
upload_filefalsefalsefalsetrue
upload_mediafalsefalsefalsetrue
submit_jobfalsefalsewhen key settrue
get_jobtruefalsetruetrue
list_jobstruefalsetruetrue
cancel_jobfalsetruetruetrue
get_accounttruefalsetruetrue

upload_file

Local server only. Reads a file from disk and uploads it to ephemeral R2 storage.
path
string
required
Absolute or working-directory-relative path to the file.
filename
string
Filename hint sent to Rendobar. Defaults to the basename of path.
Returns: { downloadUrl: string, sizeBytes: number }. Pass downloadUrl as a value in submit_job’s inputs map. Files auto-delete after 24 hours. The pre-stream gate rejects files larger than your plan’s maxInputFileSize before any bytes leave the disk.

upload_media

Remote server only. Returns instructions for the user to upload via curl.
filename
string
required
Filename with extension.
contentType
string
MIME type. Auto-detected from the extension if omitted.
Returns: { uploadEndpoint, method, contentType, maxFileSize, expiresIn, instructions }. The agent passes the curl command back to the user; the user runs it; the response contains a downloadUrl to use in submit_job. For seamless local uploads, use the local server’s upload_file instead.

submit_job

Submit any active job type. The tool description enumerates current types at server startup.
type
string
required
Job type from the registry. raw.ffmpeg is the only Live type today.
inputs
Record<string, string>
required
Map of input name to URL. For raw.ffmpeg, keys match filenames in the command.
params
Record<string, unknown>
Type-specific parameters. For raw.ffmpeg: { command: "ffmpeg -i input -c copy output.mp4" }.
idempotencyKey
string
Resubmitting the same key returns the original job instead of creating a duplicate.
Returns: { jobId: string, status: "waiting" | "complete", url?: string }. Sync-eligible jobs (e.g. some QR generation) return complete immediately with url. Everything else returns waiting.

get_job

Poll a job by ID.
jobId
string
required
Job ID from submit_job, e.g. job_abc123.
Returns shape varies with status:
  • waiting / dispatched: { id, type, status }
  • running: adds progress (0–1) and step (current step name)
  • complete: adds cost (e.g. "$0.05"), durationMs, outputUrl, output: { format, resolution, durationMs, fileSizeBytes }
  • failed: adds error: { code, message }
  • cancelled: terminal, no extra fields

list_jobs

Recent jobs.
status
enum
waiting | dispatched | running | complete | failed | cancelled
type
string
Filter by job type, e.g. raw.ffmpeg.
limit
integer
default:"10"
1 to 50.
Returns: { jobs: [{ id, type, status, createdAt, cost, outputUrl? }], total }. outputUrl is included only when status is complete.

cancel_job

Cancel a job that has not started running.
jobId
string
required
Job ID to cancel.
Returns: { id, status: "cancelled" } on success. Returns isError: true with code CONFLICT if the job is already running, complete, failed, or cancelled. Only waiting and dispatched jobs can be cancelled.

get_account

Current account state. No parameters. Returns:
  • balance — formatted dollars, e.g. "$29.42"
  • balanceUsd — raw number
  • planfree | pro
  • isPro — boolean
  • limits.concurrentJobs — max concurrent jobs
  • limits.maxFileSize — formatted, e.g. "100 MB"
  • limits.maxFileSizeBytes — raw integer
  • limits.jobTimeoutMin — per-job timeout in minutes

Errors

Tool failures return a CallToolResult with isError: true and a JSON payload:
{ "error": { "code": "INSUFFICIENT_CREDITS", "message": "Not enough credits" } }
Common codes: UNAUTHORIZED, INSUFFICIENT_CREDITS, RATE_LIMITED, VALIDATION_ERROR, NOT_FOUND, CONFLICT, INVALID_JOB_TYPE. The full list lives in Errors.

See also