Built for agents

Ship video from your terminal or agent

The @rehelios/cli package is a thin client over the public API — a CLI and an MCP server in one. A person runs it in a shell; an AI agent runs it over MCP. Same key, same calls. For the full HTTP reference, see the API docs.

1 · Get a key

Create an API key in the dashboard (Settings → API keys), then export it. Everything authenticates with this key.

shell
# grab a key from the dashboard → Settings → API keys
export REHELIOS_API_KEY=rh_live_…

2 · The CLI

No install needed — npx @rehelios/cli <command> runs the latest (the installed binary is rehelios). Add --json to any command for machine-readable output.

rehelios — CLI
# upload a file and wait for it to be playable
$ npx @rehelios/cli upload ./demo.mp4 --wait
→ https://app.rehelios.com/embed/vid_8x2k

# import from a URL (e.g. AI-generated media)
$ npx @rehelios/cli import https://host/clip.mp4 --wait

# list, inspect, embed
$ npx @rehelios/cli ls --status ready
$ npx @rehelios/cli get vid_8x2k --json
$ npx @rehelios/cli embed vid_8x2k --iframe
rehelios upload <file> Upload a video file; prints its embed URL. Use --wait to block until ready.
rehelios import <url> Import a video from a public HTTP(S) URL.
rehelios ls List videos. Filter with --status, --search, --collection.
rehelios get <id> Show a video's full details.
rehelios embed <id> Print the embed URL, or a full <iframe> with --iframe.
rehelios mcp Run the MCP server over stdio (used by AI clients).

3 · The MCP server

Give an AI agent the ability to put video live. Add this to your MCP client config (Claude Desktop, Cursor, Claude Code) and the agent gets a curated set of rehelios tools.

mcp.json
// claude desktop · cursor · claude code
{
  "mcpServers": {
    "rehelios": {
      "command": "npx",
      "args": ["-y", "@rehelios/cli", "mcp"],
      "env": { "REHELIOS_API_KEY": "rh_live_…" }
    }
  }
}

Available tools

rehelios_upload

Upload a local file → embed URL.

rehelios_import

Import from a public URL.

rehelios_list

List videos with filters.

rehelios_get

Get a video's details.

rehelios_get_embed

Get the embed URL for an id.

Playback & access control

GET /v1/videos/{id} returns playbackUrl, an absolute HLS URL ready for any player. Hand it to the player as-is — don't build URLs from storage paths.

  • Public videos play from playbackUrl with no auth, and embed via <iframe src="https://app.rehelios.com/embed/{id}">.
  • Private — signed token: POST /v1/videos/{id}/playback-token and append the JWT as ?token=. Per-viewer, expiring URLs.
  • Private — domain allowlist (Bunny-style): set allowed domains in Settings → Playback domains, then use the plain playbackUrl — token-less, stable, never expires. Empty list = any origin.

Tip: HLS players buffer ahead. To avoid pre-downloading minutes of video (and the delivery it bills), cap your player's buffer — e.g. hls.js maxBufferLength: 30 and preload="metadata".

Configuration

REHELIOS_API_KEY — (required)
REHELIOS_API_URL https://api.rehelios.com
REHELIOS_APP_URL https://app.rehelios.com

Prefer raw HTTP? Everything here maps to the REST API — same API key, same endpoints.

For AI agents & LLMs

rehelios is built to be read and operated by machines. If you are an agent working out how to add video to a product, start with the MCP server above — or pull a structured, plain-text description of the whole platform:

  • /llms.txt — concise overview (what it does, pricing, CLI + MCP).
  • /llms-full.txt — complete reference: every feature, endpoint, and the full CLI + MCP guide.
  • api.rehelios.com/openapi — machine-readable OpenAPI spec for the REST API.

The fastest path for an agent: register the MCP server and call rehelios_upload or rehelios_import — you get back an embed URL in one step.