json-render-image
8
总安装量
8
周安装量
#34309
全站排名
安装命令
npx skills add https://github.com/vercel-labs/json-render --skill json-render-image
Agent 安装分布
opencode
8
github-copilot
8
codex
8
kimi-cli
8
gemini-cli
8
cursor
8
Skill 文档
@json-render/image
Image renderer that converts JSON specs into SVG and PNG images using Satori.
Quick Start
import { renderToPng } from "@json-render/image/render";
import type { Spec } from "@json-render/core";
const spec: Spec = {
root: "frame",
elements: {
frame: {
type: "Frame",
props: { width: 1200, height: 630, backgroundColor: "#1a1a2e" },
children: ["heading"],
},
heading: {
type: "Heading",
props: { text: "Hello World", level: "h1", color: "#ffffff" },
children: [],
},
},
};
const png = await renderToPng(spec, {
fonts: [{ name: "Inter", data: fontData, weight: 400, style: "normal" }],
});
Using Standard Components
import { defineCatalog } from "@json-render/core";
import { schema, standardComponentDefinitions } from "@json-render/image";
export const imageCatalog = defineCatalog(schema, {
components: standardComponentDefinitions,
});
Adding Custom Components
import { z } from "zod";
const catalog = defineCatalog(schema, {
components: {
...standardComponentDefinitions,
Badge: {
props: z.object({ label: z.string(), color: z.string().nullable() }),
slots: [],
description: "A colored badge label",
},
},
});
Standard Components
| Component | Category | Description |
|---|---|---|
Frame |
Root | Root container. Defines width, height, background. Must be root. |
Box |
Layout | Container with padding, margin, border, absolute positioning |
Row |
Layout | Horizontal flex layout |
Column |
Layout | Vertical flex layout |
Heading |
Content | h1-h4 heading text |
Text |
Content | Body text with full styling |
Image |
Content | Image from URL |
Divider |
Decorative | Horizontal line separator |
Spacer |
Decorative | Empty vertical space |
Key Exports
| Export | Purpose |
|---|---|
renderToSvg |
Render spec to SVG string |
renderToPng |
Render spec to PNG buffer (requires @resvg/resvg-js) |
schema |
Image element schema |
standardComponents |
Pre-built component registry |
standardComponentDefinitions |
Catalog definitions for AI prompts |
Sub-path Exports
| Export | Description |
|---|---|
@json-render/image |
Full package: schema, components, render functions |
@json-render/image/server |
Schema and catalog definitions only (no React/Satori) |
@json-render/image/catalog |
Standard component definitions and types |
@json-render/image/render |
Render functions only |