FARPY Public API V1
FARPY Render API developer reference
Use this reference for the current authenticated Blender Cycles render API. The canonical machine contract is OpenAPI 3.1.0 and the base URL ishttps://farpy.com/v1.
Machine-readable service contract
Authentication
Render and workspace requests useAuthorization: Bearer farpy_<secret>. Create and revoke API keys from Account Settings. API-key management endpoints require an authenticated browser session.
Upload and submission headers
Authorization: Bearer ...Idempotency-KeyX-Farpy-Request-FingerprintX-Farpy-FilenameX-Farpy-RendererX-Farpy-Frame-StartX-Farpy-Frame-EndX-Farpy-Frame-CountX-Farpy-Size-BytesX-Farpy-Content-SHA256
Multipart upload fields include file, renderer,frame_start, frame_end, andframe_count.
Current public contract
- Public price: $0.01 per completed Blender Cycles frame.
- Frame range: 1 to 10,000 frames per request.
- Maximum upload size: 100 MiB. Oversized uploads return HTTP 413.
- Rate limit: 60 requests per minute plus burst capacity. Rate limiting returns HTTP 429.
- Cancellation is available before worker claim.
- Terminal states include completed, failed, and cancelled.
- Terminal events are render.completed, render.failed, and render.cancelled.
Endpoint reference
| Method | Path | Access | Purpose |
|---|---|---|---|
| GET | /health | Public | Read public service health. |
| GET | /capabilities | Public | Read supported renderer, formats, availability, queue state, pricing, limits, and cancellation rules. |
| GET | /pricing | Public | Read canonical public pricing. |
| GET | /limits | Public | Read upload, frame-range, format, and request limits. |
| POST | /renders/preflight | Bearer API key | Validate render metadata and calculate the canonical price before upload. |
| POST | /renders | Bearer API key | Upload a Blender file and create a render job. |
| POST | /renders/{job_id}/submit | Bearer API key | Submit a created render job for execution. |
| POST | /renders/{job_id}/cancel | Bearer API key | Cancel a render before worker claim. |
| GET | /renders/{job_id} | Bearer API key | Read job status and terminal result metadata. |
| GET | /renders/{job_id}/download | Bearer API key | Retrieve signed artifact download information. |
| GET | /renders/{job_id}/receipt | Bearer API key | Retrieve signed receipt information. |
| GET | /renders/{job_id}/proof | Bearer API key | Retrieve receipt-backed proof information. |
| GET | /workspace/renders | Bearer API key | List renders owned by the authenticated workspace. |
| GET | /api-keys | Browser session | List API-key metadata using an authenticated browser session. |
| POST | /api-keys | Browser session | Create an API key using an authenticated browser session. |
| DELETE | /api-keys/{key_id} | Browser session | Revoke an API key using an authenticated browser session. |
Errors and retries
Error responses expose code, message,retryable, suggested_action, andrequest_id. Rate-limit responses can also expose retry timing. See the error and retry guide.
Workspace listing and pagination
The current OpenAPI contract does not publish a cursor or next_cursor pagination field for the workspace render listing.
Terminal delivery and result retrieval
Poll GET /renders/{job_id} or receive signed terminal webhooks. Completed jobs expose download, receipt, and proof routes. Confirm canonical job status before irreversible processing.
API overview · Quickstart · Agent integration · Errors · Webhooks · OpenAPI