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
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.