Render Reactcomponents intoimages, animations.

From JSX to images, animations, and video frames at native speed. Supports rich CSS layout, WOFF2 fonts, and complex text scripts.

Bring Existing Code

JSX in. Pixels out.

Images, animations, video frames all in one engine.

route.tsx
import { ImageResponse } from "takumi-js/response";

export async function GET() {
  return new ImageResponse(
    <div
      style={{
        display: "flex",
        background: "linear-gradient(135deg, #0a0a0a, #1a0a0a)",
        color: "white",
        padding: 48,
        width: "100%",
        height: "100%",
        fontFamily: "Geist",
      }}
    >
      <h1 style={{ fontSize: 64 }}>
        Hello, Takumi ✌️
      </h1>
    </div>,
  );
}
output.png1200×630
Takumi rendered OG output

Still images are just the beginning. CSS animations, video pipelines, batch at native speed.

Rich CSS Layout

Block, Inline, Flexbox, Grid complete display support.

Animations & Video

Keyframes, GIF, WebP, or raw frames for FFmpeg.

Native Performance

Rust-powered rendering. No browser, no timeouts.

Runs Everywhere

Node.js native, WebAssembly for Edge, or embed the Rust crate.

Showcase

Built with Takumi

From OG images to dynamic cards, see what the community is building.

Showcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase projectShowcase project

Start rendering
in minutes.

Install the package, write your first component, and generate your image. It's that simple.

bun install takumi-js