RenderMac Docs

Buyer API quickstart. Base URL: https://api.rendermac.com

Workload guides · Service status · Security model

1. Authenticate

Authorization: Bearer rm_live_…

2. List services

curl -s https://api.rendermac.com/v1/services \
  -H "Authorization: Bearer $RENDERMAC_API_KEY"

3. Quote capacity

QUOTE=$(curl -s -X POST https://api.rendermac.com/v1/jobs/estimate \
  -H "Authorization: Bearer $RENDERMAC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "service_id": "ffmpeg.stitch_export.v1",
    "pool": "private_first_party",
    "region": "us-east",
    "input": {
      "input_urls": ["https://…/clip1.mp4", "https://…/clip2.mp4"],
      "video_codec": "copy",
      "audio_codec": "copy"
    }
  }')

QUOTE_ID=$(printf '%s' "$QUOTE" | jq -r .quote_id)

The response includes a fee ceiling, capacity cell and confidence, ready/eligible supply, queue depth, ETA bands, and expiry. A quote can be accepted once by the same organization and exact input.

4. Accept the quote

curl -s -X POST https://api.rendermac.com/v1/jobs \
  -H "Authorization: Bearer $RENDERMAC_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d "{
    \"service_id\": \"ffmpeg.stitch_export.v1\",
    \"quote_id\": \"$QUOTE_ID\",
    \"pool\": \"private_first_party\",
    \"region\": \"us-east\",
    \"input\": {
      \"input_urls\": [\"https://…/clip1.mp4\", \"https://…/clip2.mp4\"],
      \"video_codec\": \"copy\",
      \"audio_codec\": \"copy\"
    }
  }"

Retry the exact request with the same Idempotency-Key after a timeout. Reusing the key with a different payload is rejected.

5. Poll + fetch output

curl -s https://api.rendermac.com/v1/jobs/$JOB_ID \
  -H "Authorization: Bearer $RENDERMAC_API_KEY"

curl -s https://api.rendermac.com/v1/jobs/$JOB_ID/output \
  -H "Authorization: Bearer $RENDERMAC_API_KEY"

6. Register a webhook

curl -s -X POST https://api.rendermac.com/v1/webhook-endpoints \
  -H "Authorization: Bearer $RENDERMAC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"production","url":"https://example.com/rendermac","events":["job.succeeded","job.failed","job.cancelled"]}'

Store the returned signing_secret; it is shown once. Verify X-RenderMac-Signature over timestamp + "." + exact_request_body, reject stale timestamps, and deduplicate on X-RenderMac-Delivery. Delivery state and replay are available from /v1/webhook-deliveries.

API contract

OpenAPI 3.1 YAML

Provider agent

Create a 15-minute, one-use pairing code with a devices:write organization key. Self-service pairing is restricted to that organization's private pool:

PAIRING=$(curl -s -X POST https://api.rendermac.com/v1/provider/enrollment-codes \
  -H "Authorization: Bearer $RENDERMAC_PROVIDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hostname_hint":"studio-mini","region":"us-east","max_slots":1}' \
  | jq -r .enrollment_code)

Paste the code into RenderMac Host. Headless installers can claim it directly and must put the returned device token in Keychain or an equivalently protected machine-local secret store:

curl -s -X POST https://api.rendermac.com/v1/provider/enrollment-claims \
  -H "Content-Type: application/json" \
  -d "{\"code\":\"$PAIRING\",\"hostname\":\"studio-mini\",\"chip\":\"Apple M4\",\"ram_gb\":24,\"agent_version\":\"0.1.0\"}"

The code cannot be replayed. Recovery rotates the device credential and disconnects the prior session; revocation is available at POST /v1/provider/devices/{id}/revoke. Agents connect to wss://api.rendermac.com/v1/provider/ws.

← RenderMac home