For Agents
Render charts as PNG or SVG images by calling a single URL with chart type, data, and styling parameters - works in emails and PDFs.
Use for: I want to embed a bar chart image in a marketing email, Render a pie chart as a PNG for a printable report, Replace a broken Google Image Charts URL with a working equivalent, Generate a Chart.js configuration as a server-rendered image
Not supported: Does not handle interactive charting, data warehousing, or dashboard hosting - use for static chart image rendering via URL only.
Image-Charts renders charts as static images directly from a URL. It positions itself as a safe, fast replacement for the deprecated Google Image Charts service and supports the same chart types and parameter syntax. The API is essentially two endpoints: a /chart renderer that returns a PNG or SVG and a chart.js renderer that accepts Chart.js v2 configurations. It targets emails, dashboards, and PDFs that need an image of a chart rather than an interactive widget.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Image-Charts, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fimage-charts.com%2Fimage-charts" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fimage-charts.com%2Fimage-charts" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Image-Charts API.
Render bar, line, pie, radar, and other chart types as PNG or SVG via query parameters
Embed chart images in transactional emails where JavaScript is not allowed
Drop in as a replacement for legacy Google Image Charts URLs with the same parameter syntax
Render Chart.js 2.8.0 configurations server-side and return the resulting image
Generate sparkline-style images for dashboards rendered to PDF
Patterns agents use Image-Charts API for, with concrete tasks.
★ Charts in Transactional Emails
Email clients block JavaScript, so interactive charts cannot run inline. Image-Charts solves this by rendering the chart as a PNG behind a URL that goes straight into an <img> tag. Marketing and product teams use it for weekly summary emails, billing reports, and onboarding nudges that include data visualisations.
Build a /chart URL with cht=bvg, chd=t:10,20,30, and chs=600x400, then put it in an <img src> tag inside the email template.
Google Image Charts Migration
Google deprecated Image Charts but many legacy systems still build chart URLs with its parameter syntax. Image-Charts re-implements the same surface, so swapping the host in existing URLs restores chart rendering without rewriting the parameter builder. This is a low-risk fix for old reporting pipelines.
Replace https://chart.googleapis.com/chart in existing URLs with https://image-charts.com/chart and verify the rendered image matches the expected output.
Server-Rendered Chart.js for PDFs
PDF generation pipelines that use headless Chrome can be slow when many charts are rendered per document. Calling /chart.js/2.8.0 with a Chart.js config returns a ready-made image, removing the headless render step. Document services use this to keep PDF generation under per-job time budgets.
Send a Chart.js config as a query parameter to /chart.js/2.8.0 and embed the returned PNG into the PDF template.
Agent-Generated Chart Embeds
An AI agent producing a Slack or email summary can include a chart by asking Jentic for the Image-Charts URL builder, supplying the data and chart type, and embedding the resulting URL in the message. Because the API requires no auth, Jentic returns the operation schema and the agent calls it directly without any credential handling.
Search Jentic for 'render a bar chart as a PNG', execute the /chart operation with cht, chd, and chs, and place the returned URL in the agent's reply.
2 endpoints — image-charts renders charts as static images directly from a url.
METHOD
PATH
DESCRIPTION
/chart
Render a chart as a PNG or SVG image
/chart.js/2.8.0
Render a Chart.js v2.8.0 configuration as an image
/chart
Render a chart as a PNG or SVG image
/chart.js/2.8.0
Render a Chart.js v2.8.0 configuration as an image
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Image-Charts by hand means building the chart query string against the image-charts.com host and encoding the chart type, data, and size yourself. Through Jentic you install once, import Image-Charts from the API Directory, and your agent calls it with no key to manage on the public endpoints.
Permission scoping
The public Image-Charts endpoints take all chart settings in the request rather than in path resource ids, so scope the agent to the operations it needs, such as rendering a chart image. Because you choose the allowed operations, the agent is limited to the rendering calls you have named.
Credential isolation
Image-Charts has no required credential on its public endpoints, so there is nothing to store. If a signing key is added later, your own Jentic One instance would store it encrypted and inject it at execution time so it never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'render a bar chart as a PNG', and Jentic returns the /chart or /chart.js operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Image-Charts API through Jentic.
What authentication does the Image-Charts API use?
The two public endpoints do not require authentication. Image-Charts offers paid plans that issue a signing key for higher rate limits, but the OpenAPI spec exposed here covers the unauthenticated /chart and /chart.js/2.8.0 surface.
Can I render Chart.js configurations as images with this API?
Yes. GET /chart.js/2.8.0 accepts a Chart.js v2.8.0 configuration and returns a server-rendered image. Use it when a PDF or email pipeline needs a chart image without running headless Chrome.
Is Image-Charts a true replacement for Google Image Charts?
Image-Charts re-implements the Google Image Charts URL parameter syntax (cht, chd, chs, etc.) on /chart, so replacing the host in existing URLs restores rendering for most chart types.
How do I render a chart through Jentic?
Run pip install jentic, search for 'render a bar chart as a PNG with Image-Charts', load the /chart operation schema, and execute with the chart type, data, and size parameters. The returned URL can be embedded directly in HTML or markdown.
Is the Image-Charts API free?
There is a free tier for low-volume use. Higher request volumes and watermark removal require a paid plan from image-charts.com - the OpenAPI spec itself does not cover billing.
Can I limit what my agent is allowed to do with the Image-Charts API?
Yes. Jentic One is self-hosted by you, so your own rules decide which Image-Charts operations the agent may call, and you can allow just the chart-image rendering it needs, such as the GET /chart renderer while excluding the GET /chart.js/2.8.0 endpoint. Because every chart setting travels in the request rather than in a path resource id, scoping is done at the operation level: the agent is restricted to the exact rendering calls you have named. The public endpoints require no credential, so there is nothing for the agent to hold, and it can only invoke the operations you have permitted.
GET STARTED