Cloudflare Worker API

Chart Renderer API

返回标准化 config、简单 SVG 或浏览器端 HTML shell。Worker 不生成服务端 PNG,PNG 由浏览器 viewer 下载导出。

runtimecloudflare-worker
version0.2.0
formatsconfig / svg / html
png ssrlegacy only

Endpoints

GET/health

Worker 健康检查和 runtime metadata。

GET/

简版落地宣传页,提供 Viewer 和 API 文档入口。

GET/viewer

可编辑 payload、预览图表并下载 JSON/SVG/PNG 的浏览器页面。

GET/api

当前 API 文档页面。/docs/api 是同一页面别名。

GET/logo.svg

横版 SVG logo。

GET/favicon.svg

SVG favicon。/favicon.ico 返回同一 SVG。

POST/render

核心渲染接口,返回 config、SVG 或 HTML。

POST /render

请求体必须是 JSON object。默认响应是 config。生产鉴权交给上游 API gateway,Worker 内只做输入限制、格式校验、缓存和错误处理。

字段类型默认说明
typestringrequired图表类型,会做大小写归一化和少量别名转换。
dataarrayrequired*liquid 外通常需要非空数组。
titlestringnone图表标题。
widthinteger900图表与下载产物目标宽度,范围 100..4096。
heightinteger520图表与下载产物目标高度,范围 100..4096。
themestringdefaultdefaultdarkacademy
optionsobject{}类型附加配置,如轴标题、堆叠、表格列顺序。
response_formatstringconfigconfigsvghtml

Response Formats

config

返回标准化 JSON,包含 hashrendererformatchartmetadata

svg

Worker 直接生成简单图表 SVG:line、bar、column、pie、summary。

html

返回浏览器端 HTML shell,引入 @antv/gpt-vis@0.6.1 渲染复杂图表。

png

不支持。请求 response_format=pngAccept: image/png 返回 422。

所有 /render 成功响应都带有 ETagX-Chart-HashX-Chart-TypeX-Chart-RendererX-Chart-Cache

Chart Types

type主要字段推荐格式
linetime, value, optional groupsvg / config / html
bar, columncategory, value, optional groupsvg / config / html
piecategory, valuesvg / config / html
summarylabel, value, optional deltasvg
area, radar, waterfall, word-cloud, liquid, table见 Markdown API 文档config / html

Examples

SVG

curl -s -X POST /render \
  -H "Content-Type: application/json" \
  -d '{"type":"line","response_format":"svg","title":"Token price","data":[{"time":"2026-05-01","value":1.12},{"time":"2026-05-02","value":1.18}]}'

HTML Shell

curl -s -X POST /render \
  -H "Content-Type: application/json" \
  -d '{"type":"waterfall","response_format":"html","title":"Flow bridge","data":[{"category":"Start","value":100},{"category":"Cost","value":-20},{"category":"Total","isTotal":true}]}'

Errors

Statuserror说明
400bad_request请求体为空、超过上限或不是合法 JSON。
404not_found路径或方法不支持。
422invalid_chart_payload字段缺失、尺寸越界、主题无效等。
422unsupported_response_format请求了 Worker 不支持的 PNG。
422unsupported_svg_chart_type复杂图表请求了 Worker SVG。