API

Rendering infrastructure for agents

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

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)

HTTP MCP V1 at https://api.farpy.com/mcp is live. Let an AI agent inspect, quote, run, and return a verified result. See MCP for agents. Canonical tools: farpy_inspect, farpy_quote, farpy_start, farpy_status, farpy_download, farpy_receipt. farpy_start is the only spend tool. Do not default to farpy_render.

Live discovery still: capabilities, pricing, limits.

Agent-ready path

  1. Use a Job API farpy_agent_ key for inspect/start. Account Settings keys are a different store.
  2. prepare() / inspect — NO SPEND. Read quote_id, frames, price_cents, qualified_1c, pricing_version.
  3. Decide. Then start(quote_id=..., legal_acceptance="FARPY_LEGAL_V1") — SPEND BOUNDARY. Do not send price_cents.
  4. Poll status or consume the signed terminal webhook.
  5. Download the ZIP and receipt. SHA-256 is file identity, not art review.

One-call is deprecated

import os
from farpy_client import LEGAL_ACCEPTANCE_V1, FarpyClient, FarpyError

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

prepared = client.prepare("scene.blend")  # NO SPEND
started = client.start(
    prepared["upload_id"],
    quote_id=prepared["quote_id"],
    legal_acceptance=LEGAL_ACCEPTANCE_V1,  # SPEND
)
print(started["job_id"])

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

Production flow

inspect (.blend) — NO SPEND
read locked quote
start (quote_id + FARPY_LEGAL_V1) — SPEND
status / webhook
download ZIP
receipt / SHA-256

API properties

  • API-key authentication
  • Public price: $0.01 per completed Blender Cycles frame
  • 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"