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.

Reference for every rb command. Use the overview for narrative.

Global flags

Accepted by rb ffmpeg. Other commands ignore them.
FlagDefaultEffect
--jsonoffPrint the full job result as JSON to stdout
--url-onlyoffPrint only the result URL to stdout
--quietoffPrint nothing. Use the exit code
--no-waitoffSubmit the job and exit. Prints the job ID to stdout
--timeout N120Server-side execution timeout in seconds. Range 1–900
--json and --url-only conflict; the first one parsed wins. --quiet overrides both.

Exit codes

CodeMeaning
0Success
1Job ran but failed, or generic runtime error
2User error: not authenticated, invalid arguments, port in use, insufficient credits
130Cancelled via Ctrl+C. The CLI tries to cancel the in-flight job before exiting

rb doctor

rb doctor [--json] [--fix]
Runs eight diagnostic checks: CLI version vs latest release, install method, OS/arch, update cache, api.rendobar.com reachability, auth state, macOS quarantine bit, GitHub API rate limit. --json prints results as JSON. --fix removes the macOS quarantine bit from the rb binary (the only fix currently supported). Exits 0 when all checks pass, 1 if any failed. Warnings do not change the exit code.
rb 1.0.0 doctor

  [ok  ] version: 1.0.0 (latest)
  [ok  ] install method: standalone binary (linux-x64)
  [ok  ] OS/arch: linux x64
  [ok  ] update cache: cached latest=1.0.0 (3h old)
  [ok  ] api.rendobar.com: HTTP 200
  [ok  ] auth: oauth token present (not verified)
  [ok  ] macOS quarantine: N/A
  [ok  ] GitHub rate limit: 58/60 remaining

All checks passed.

rb ffmpeg

rb ffmpeg [--json | --url-only | --quiet] [--no-wait] [--timeout N] <ffmpeg args>
Runs FFmpeg in the cloud. Pass real FFmpeg arguments after the subcommand. Global flags above are stripped by name; everything else is passed through. Local input files (-i ./clip.mp4) upload automatically before submission and are rewritten to short-lived URLs. Remote inputs (-i https://...) pass through as-is. The trailing positional argument (the FFmpeg output filename) is the local path the result downloads to. With --no-wait no download happens — only the job ID prints. Job-failure exits 1 and writes the API error to stderr. Insufficient credits exits 2 with a top-up link.
# Remote input → local output
rb ffmpeg -i https://cdn.example.com/clip.mp4 -vf scale=1280:720 -c:v libx264 -crf 23 out.mp4

# Local input (auto-uploaded)
rb ffmpeg -i ./local.mp4 -c:v libx265 -preset medium -crf 28 out.mp4

# Submit only, get the job ID, exit
rb ffmpeg --no-wait -i ./local.mp4 -c:v libx264 out.mp4

# CI assertion
rb ffmpeg --quiet -i in.mp4 -c:v libx264 out.mp4 || exit 1

# Pipe the URL to wget
URL=$(rb ffmpeg --url-only -i in.mp4 -c:v libx264 out.mp4)
wget "$URL" -O out.mp4

rb login

rb login [--key <api-key>]
Default flow opens a browser, listens on http://127.0.0.1:14832/callback, times out after 120 seconds. --key <api-key> skips the browser flow and saves the given key after verifying it. Credential paths and storage details: Authentication.
rb login
rb login --key rb_live_xxx

rb logout

rb logout
Revokes the OAuth refresh token (best-effort) and deletes the credentials file. No-op when not signed in.

rb update

rb update
Checks github.com/rendobar/cli/releases for the latest non-prerelease tag. If you’re behind, downloads the platform archive, verifies SHA-256 against checksums.txt, atomically replaces the running binary, rolls back on failure. Logs to ~/.rendobar/update.log. Already on latest: exits with Already on the latest version (X.Y.Z). In dev mode (bun run), prints the install command instead of self-replacing. Exits 1 on any failure (network, checksum, write permission). Old binary is preserved on rollback.

rb whoami

rb whoami
Hits /orgs/current with the saved credential and prints org, plan, balance:
  Org       Acme Corp
  Plan      Pro
  Balance   $42.85
Exits 2 if not authenticated, 1 if the API call fails.

See also