Input JSON
JSON Spec
Required fields are x, y, and points. Other sections render in order below the chart.
{
"title": "Chart title",
"subtitle": "small subtitle",
"topNote": "↖ better — cheaper · smarter",
"x": { "field": "price", "label": "price", "min": 0, "max": 40, "ticks": [0, 8, 16], "prefix": "$", "lowerBetter": true },
"y": { "field": "score", "label": "score", "min": 0, "max": 10, "ticks": [0, 5, 10], "digits": 1, "lowerBetter": false },
"bubble": { "field": "speed", "label": "output speed", "suffix": " t/s" },
"points": [{ "name": "Model A", "symbol": "●", "price": 10, "score": 8, "speed": 120 }]
}
Axis Objects
"x" or "y": {
"field": "property used from each point",
"label": "axis note text",
"min": 0,
"max": 100,
"ticks": [0, 25, 50, 75, 100],
"prefix": "$",
"suffix": "%",
"digits": 1,
"lowerBetter": true
}
Points
{
"name": "Label shown beside marker",
"shortName": "Legend label",
"legendName": "Explicit legend label",
"symbol": "●",
"labelSide": "left",
"xFieldValue": 123,
"yFieldValue": 45,
"bubbleFieldValue": 67
}
Table
"table": {
"source": "points",
"columns": [
{ "field": "name", "label": "model", "width": 18 },
{ "field": "cost", "label": "run cost", "prefix": "$", "align": "center", "digits": 1 }
],
"rows": [{ "name": "Optional explicit row", "cost": 123 }]
}
Tokens
"tokens": {
"title": "COST PER TOKEN ≠ COST PER TASK",
"subtitle": "output tokens per run:",
"nameWidth": 12,
"valueWidth": 8,
"rows": [["Model A", "10M", "(8M reasoning + 2M answer)"]],
"conclusion": "→ short takeaway"
}
Bars
"bars": [{
"title": "── speed ───── higher = faster",
"before": [" ╎ optional annotation", " ▼"],
"barWidth": 22,
"rows": [{ "name": "Model A", "value": 100, "label": "100%", "detail": "~120 t/s" }],
"note": "→ short takeaway",
"noteIndent": 45
}]
Callouts, Scorecard, Footer
"callouts": [{ "title": "winner", "point": "Model A", "text": "why it matters" }],
"scorecard": {
"title": "SCORECARD",
"columns": ["model", "score", "cost"],
"rows": [["Model A", "43.5", "$280"]],
"style": "plain"
},
"footer": ["→ final conclusion", " continuation line"]
AI Assistant Skill
Use
points for scatter data. Optional sections: table, tokens, bars, scorecard, footer.
Output