1. FARPY
  2. Docs
  3. Agent rendering

FARPY Public API V1

Rendering infrastructure for agents

Agents can discover capabilities, obtain pricing, submit work, track status and retrieve results through one public API without browser automation.

Recommended public flow

  1. Inspect the uploaded .blend.
  2. Read quote_id.
  3. Read amount.
  4. Read currency.
  5. Read expires_at.
  6. Accept the quote, then start.

Upload your Blender file. See the exact price before start. Do not hard-code an amount.

Discover live service facts

Base API URL: https://api.farpy.com/v1. Authenticate protected requests with Authorization: Bearer $FARPY_API_KEY. Agents should read the public machine endpoints at runtime instead of hard-coding price, capacity, or request limits.

Model Context Protocol (MCP)

Canonical MCP endpoint: https://api.farpy.com/mcp. Human docs: FARPY MCP quote, start, status, artifact, receipt. Authenticate with the FARPY_API_KEY environment variable in the agent MCP configuration; the key is read from the environment and is not part of a tool call. MCP is an HTTP endpoint.

Primary agent flow:

  1. farpy_prepare_upload
  2. PUT local file bytes to the returned upload_url with the required headers
  3. farpy_submit_render
  4. farpy_job_status
  5. farpy_download
  6. farpy_receipt

farpy_inspect_blend is optional and is NOT required after the PUT upload. Discover live tools from the MCP server; do not hard-code a tool count. REST remains supported separately at https://api.farpy.com/v1. Before rendering, agents can inspect live capabilities, pricing, and limits contracts.

Agent-ready path

  1. Sign in and create an API key in Account Settings.
  2. Check health, then read capabilities and limits at runtime.
  3. Upload with POST /v1/renders. If using idempotency, send the complete nine-header set; partial sets fail closed.
  4. Read pricing and call POST /v1/renders/preflight.
  5. Submit with POST /v1/renders/{job_id}/submit; the upload fingerprint contract does not apply to submit.
  6. Poll status or consume the signed terminal webhook.
  7. Retrieve the receipt and download, then verify the output SHA-256.

One-call Python workflow

import os
from farpy_client import FarpyClient, FarpyError

client = FarpyClient(os.environ["FARPY_API_KEY"])

try:
    result = client.render(
        "scene.blend",
        output_path="render.zip",
    )
    print(result["job_id"])
    print(result["receipt"])
    print(result["proof"])
except FarpyError as exc:
    print(exc.code)
    print(exc.retryable)
    print(exc.suggested_action)
    print(exc.request_id)
    raise

Download farpy_client.py · Open the Python example · Error contract · Webhook contract

Production flow

health
Bearer authentication
capabilities
upload
pricing
preflight
submit
status
receipt
download
SHA-256 verify

API properties

  • API-key authentication
  • Public price: locked quote with quote_id, amount, currency, and expiry
  • Frame ranges from 1 to 10,000 frames per request
  • 100 MiB upload limit
  • Idempotent submission support
  • 60 requests per minute plus burst capacity
  • Cancellation before worker claim
  • Signed terminal webhooks
  • Receipts and proof artifacts
  • Machine-readable OpenAPI 3.1 specification

Start here

curl -sS https://api.farpy.com/v1/capabilities \
  -H "Authorization: Bearer $FARPY_API_KEY"

API overview · Quickstart · OpenAPI · Pricing · Status · Proof