Skip to main content

The Chart Rendering API Built for Production

Chart Output converts chart configurations into pixel-perfect images via a single REST call. Deterministic output, async batch rendering, and AI-assisted config generation — built for pipelines that can't afford fragile infrastructure.

✓ Same input, same output, every time · ✓ Async rendering with webhook delivery · ✓ Production-ready in minutes

Your spec in. A production-ready image out. Deterministic, versioned, and pipeline-safe.

Works with your existing stack

Official integrations and SDKs: Zapier, n8n, Node.js, Python, Ruby, Go, PHP

Features

Infrastructure for production chart rendering

via api

One endpoint. Deterministic output.

POST a chart spec, receive a rendered image. Same input produces the same output across every deploy — pinned dependencies, golden test coverage, no runtime drift. PNG, SVG, WebP, or PDF. One endpoint, every language.

const res = await fetch("https://api.chart-output.com/v1/render", {
  method: "POST",
  headers: { "Authorization": "Bearer co_live_..." },
  body: JSON.stringify({ type: "bar", data: chartData }),
});
const png = await res.arrayBuffer(); // → image/png
async batch

Async rendering with webhook delivery

Fire a render job, receive the result via signed webhook when it's ready. Idempotency keys prevent duplicate renders on retries. No polling loops, no client timeouts blocking your pipeline.

POST /v1/render/batch
{ "idempotency_key": "abc123" }
→ 202 Accepted · webhook on complete
ai generation

Natural language to rendered chart. No spec required.

Send a description and raw data — the AI generation endpoint constructs the chart spec and returns a rendered image. Built for pipelines where the chart type isn't known in advance: dynamic reporting, user-driven analytics, AI-assisted dashboards.

View AI generation docs
brand kits

Every chart inherits your brand automatically

Define your colors, fonts, and logo once as a brand kit. Reference it by ID on any API call — automated reports, Slack digests, embedded analytics — and every chart renders consistently across your entire pipeline.

performance

p50 under 133ms. Built for inline calls.

Fast enough to call synchronously on a server route without adding latency to your response. For high-volume or time-insensitive workloads, use async batch rendering and receive results via webhook.

output formats

PNG, SVG, WebP, and PDF

One chart config renders to four formats. Switch per request without changing anything else. Retina 2× is included on all plans. PDF is available on Pro and Scale.

How it works

One REST endpoint. Three steps.

Authenticate once, POST your spec, receive your image. Synchronous or async — same endpoint, same predictable output.

1

Authenticate

One API key, works in any environment — local dev, CI, production. Per-key analytics so you know exactly what is rendering and when.

2

POST your spec or a description

Synchronous for single renders, async for batch. Pass a chart config directly or send a natural language description with raw data and let the AI endpoint construct the spec.

3

Receive your image

Binary response, CDN URL, or webhook delivery — your choice. PNG, SVG, WebP, or PDF output. Signed URLs available on Pro and above.

Pricing

Pricing for teams running charts in production

Pay for successful renders, not seats. Scale your volume without renegotiating.

Free

Start building with full API access. No card required.

$0/mo

500 renders / month

Includes
  • 25 AI renders/month
  • PNG, SVG & PDF output
  • Full API access
  • No watermarks
  • OpenAPI 3.1 spec + SDK
Get API Key →

No credit card required

Starter

Synchronous rendering for teams getting started in production.

$29/mo

10,000 renders / month

Includes
  • 100 AI renders/month
  • PNG, SVG & PDF output
  • Synchronous rendering
  • Full API access
  • No watermarks
  • OpenAPI 3.1 spec + SDK
Pro
Most popular

For engineering teams running async pipelines and batch report generation.

$99/mo

50,000 renders / month

What's included
  • 50,000 renders/month
  • 500 AI renders/month
  • Async batch rendering
  • HMAC-signed webhooks
  • Signed CDN URLs
  • Per-key analytics
  • Priority support≤24h
Business

For SaaS teams with high-volume pipelines and embedded analytics at scale.

$299/mo

200,000 renders / month

Everything in Starter, plus
  • 200,000 renders/month
  • 2,000 AI renders/month
  • Uptime SLA
  • Invoice billing
  • Priority support≤8h
Enterprise

Custom volume, dedicated support, and compliance documentation on request.

Custom

Unlimited renders

Everything in Business, plus
  • Custom render volume
  • Dedicated support
  • SOC 2 docs on request
  • SSO / SAML
  • HMAC-signed webhooks
  • Custom domain (CNAME)
  • Custom SLA
No credit card to startOpenAPI 3.1 specHMAC-signed webhooksPer-key analyticsPublic status pageSLA on Business+
Still have questions?

Email hello@chart-output.com

We pin all rendering dependencies and run a regression suite against golden snapshots on every deploy. The same spec produces the same image across environments. We publish a compatibility matrix so you know exactly what changed between versions.
Synchronous renders return a structured error response with a machine-readable code. Async renders retry automatically and deliver failure payloads to your webhook endpoint, so your pipeline can handle it without manual intervention.
Specs submitted for rendering are not persisted after the render completes. If you use the AI generation endpoint, the spec we construct is returned to you and not stored. See our privacy policy for full data handling details.
One successful API response containing an image. Requests that return errors don't count against your quota.
Submit a batch render job via POST. We return a job ID immediately. When rendering completes, we deliver a signed payload to your registered webhook URL with the render results and CDN URLs. Idempotency keys prevent duplicate renders if your client retries.
You send a natural language description and raw data. The endpoint constructs a chart spec, renders it, and returns the image. It's designed for pipelines where the chart type isn't known in advance — dynamic reporting, user-driven analytics, or AI-assisted dashboards.
The public status page is at status.chart-output.com. SLA terms are included in Business and Enterprise plans. Uptime history is public and updated in real time.