DOCS

Render Blender jobs from the browser, Discord, MCP, or the API

These docs are for people and agents who need finished Blender Cycles frames. Upload a .blend, see a fixed quote, pay from wallet credit, then download a ZIP with a receipt and proof. Fastest path: sign in, add credit, inspect the .blend, read the quote, then start. MCP is AVAILABLE. Discord bot is AVAILABLE. IRC, Matrix, Slack, and Telegram come later.

Ways to use FARPY

Every doorway uses the same FARPY contract: inspect → exact quote → approve → run → status → ZIP/artifact → receipt/proof

Blender 5.2.2, Cycles GPU, .blend, <=100 MiB, 1–10 frames, exact locked quote before start, failed delivery $0. Ordering is in limited availability: 1–10 frames per job, one job at a time, while slots remain.

Documented doorways

Web

Documented doorway

The browser can inspect a .blend and show a locked quote. Ordering is in limited availability: 1–10 frames per job, one job at a time, while slots remain.

Open the dropzone

Blender Add-on

Documented doorway

Windows add-on tested with Blender 4.1.1. That test is not 5.2.2 compatibility. During limited availability, orders start from the FARPY website or the API. MCP ordering has not been validated.

Add-on guide

AI / MCP

Documented doorway

MCP documents the same inspect and locked-quote contract. MCP ordering has not been validated.

MCP for agents

API

Documented doorway

API reference for inspect, quote, and result retrieval. Limited website and API ordering are open while slots remain. MCP ordering has not been validated.

API docs

Python client

Documented doorway

Python client for the documented contract. Limited website and API ordering are open while slots remain. MCP ordering has not been validated.

Download farpy_client.py

Discord bot

Documented doorway

Discord documents the same locked-quote path. During limited availability, orders start from the FARPY website or the API. Do not paste an API key into Discord.

Render from Discord

Not offered yet

IRC bot

Not offered

A later chat doorway over the same inspect → quote → start contract.

Matrix

Not offered

A later chat doorway. Not live.

Slack

Not offered

A later chat doorway. Not live.

Telegram

Not offered

A later chat doorway. Not live.

Creator apps

Not offered

Build apps, templates, and visual products on FARPY.

How a finished result moves. This diagram explains the architecture. It is not a live capacity board.
  1. 1Customer workloadA Farpy submits finished work, not a rented hour.
  2. 2ChompyRoutes that work to a qualified provider.
  3. 3GPU nodesInterchangeable NodeMunchers. Not a live fleet count.
  4. 4VerificationFARPY checks the result before it counts.
  5. 5ZIP + receiptPrivate download, SHA-256, and the financial record.

Quickstart

Sign in with Google to use a stored balance and saved job history. Email sign-in is coming soon. Create an API key in Account settings when you want the REST or Python path.

  1. Authenticate. Browser: Google sign-in. API: Authorization: Bearer $FARPY_API_KEY
  2. Inspect a Blender .blend (up to 100 MiB). Read the locked quote. No spend yet.
  3. Start only after you accept the quote (quote_id + FARPY_LEGAL_V1).
  4. Check status until the job is terminal.
  5. Download the .zip result.
  6. Get the receipt and proof.

Browser: sign in, add credit, then upload from the homepage or Your renders.

# Full copy-paste steps: https://farpy.com/api/quickstart/
# Job API inspect/start uses FARPY_AGENT_KEY (farpy_agent_…). Account Settings farpy_ keys are a different store.
# User-Agent farpy_client. Do not send farpy-mcp-v1. Do not send price_cents.
export FARPY_AGENT_KEY
ORIGIN=https://farpy.com
curl -fsS "$ORIGIN/node/v1/blender52/availability"

Inspect then start: download farpy_client.py, then python3 farpy_client.py prepare scene.blend. Example: farpy_client_example.py.

API reference

Base URL https://api.farpy.com/v1 is Public API V1 (legacy upload can reserve). Proven inspect/start is https://farpy.com/node/v1/uploads/…. Full reference: /api/. OpenAPI: /v1/openapi.json. Agents: /api/agent-rendering/.

GET/healthService availability.
GET/capabilitiesAccepted renderer, formats, and queue state.
GET/pricingLive pricing contract.
GET/limitsUpload, frame, and rate limits.
GET/openapi.jsonOpenAPI 3.1 contract.
POST/rendersUpload a .blend and create the job.
POST/renders/preflightValidate before submit when you need eligibility feedback.
POST/renders/{job_id}/submitStart the uploaded render.
GET/renders/{job_id}Canonical status.
POST/renders/{job_id}/cancelCancel before a worker claims the job.
GET/renders/{job_id}/downloadZIP artifact delivery.
GET/renders/{job_id}/receiptUSD receipt for completed work.
GET/renders/{job_id}/proofSHA-256 and execution proof.

Errors

Error JSON includes error.code and error.message. Request IDs are not guaranteed. HTTP 401 means the API key is missing, invalid, or revoked. HTTP 429 includes Retry-After. Do not retry a terminal failed or cancelled job. Guide: /api/errors/.

Webhooks

Terminal events are render.completed, render.failed, and render.cancelled. Verify the signature on HTTPS before trusting the payload. Treat duplicates as normal. Guide: /api/webhooks/.

Proof / receipts

A completed job produces a downloadable ZIP, a USD receipt, and SHA-256 proof of the output bytes. Proof shows the downloaded file matches the recorded hash. It does not prove the image looks correct. Browser: open the job in Your renders. Public explanation: /proof/.

Limits / pricing

  • Current GPU Socket workload: Blender 5.2.2, Cycles GPU, .blend in, private .zip out. Ordering is in limited availability: 1–10 frames per job, one job at a time, while slots remain.
  • 1–10 frames per job during limited availability. Maximum upload 100 MiB. Packed assets and a camera are required.
  • The price is the locked quote. A charge happens only after verified delivery. A failed delivery is $0.
  • Cancel only before a worker claims the job.
  • Current rate limit: 60 requests per minute per client, burst 20.

Pricing page: /pricing/. Live machine contract: GET /v1/pricing and GET /v1/limits.