Convilyn developers

Convilyn for developers

Build on Convilyn.

Convert files, run agentic goal workflows, and extend the platform with your own tools. The SDKs are Python; everything they do is also available over the REST API.

Three ways to work with Convilyn

Pick the track that matches what you're building. They're separate packages so each stays lean — apps that only call the API never pull in the server-side dependencies that workflow authors need, and the device runtime carries no cloud client at all.

A first conversion

The five-minute hello-world — upload a document, convert it to PDF, download the result.

from convilyn import Convilyn
 
client = Convilyn()  # reads CONVILYN_API_KEY
file = client.files.upload("report.docx")
job = client.convert.create_and_wait(file=file, target_format="pdf")
client.convert.download_to(job, to="report.pdf")

TypeScript & Go SDKs are coming soon.

SDK matrix

Consumer + Author share one wire contract, and both are Python.

LanguageConsumer SDK (use the API)Author SDK (extend the platform)
Python — supportedconvilyn · uv add --prerelease=allow convilynconvilyn-author · uv add --prerelease=allow convilyn-author

On the device: the Edge SDK is a third, Python-only, zero-dependency track — uv add --prerelease=allow convilyn-edge — for building edge/IoT AI workflows that run on the device. Removable reference Solution Packs build on it (the flagship reference is pet-monitoring). Each package is published to PyPI; its source mirrors to a public GitHub repo (linked from the package's Repository metadata).

Not using an SDK? See API access for the supported integration path and the CLI escape hatch.

Start here

Requirements

  • Python 3.10+. The SDKs are Python; the REST API is language-agnostic if you prefer to call it directly.
  • A Convilyn API key (ck_…) created on your Settings → API page — also where you manage billing and quota.
  • For authors: an HTTPS-reachable endpoint to host your tool server (Lambda, Fargate, or any VM).

Production-grade defaults

The consumer SDK ships sensible defaults so you don't wire them yourself:

  • Retry on 5xx / 429 / 408 with exponential backoff and jitter; Retry-After honoured.
  • Idempotency-Key auto-stamped on every mutating verb, stable across retries — a retried create never double-charges.
  • Typed billing errors (PlanRequiredError, QuotaExceededError) so callers can distinguish a paywall from a transient failure.
  • A fully typed surface — Python ships py.typed, so your editor autocompletes the whole API.

This section is English only. Endpoint paths, parameter names, and SDK symbols are themselves English; translating them would only add drift. For end-user product docs in your language, switch to the user manual.