RikaidoDeveloper

GET /v1/art

The ingredient cast

680 3D toys and 678 kawaii drawings, one per ingredient in the graph, through the same key.

GEThttps://api.rikaido.app/v1/art/ingredients/:name

Every ingredient in the graph has two portraits. The kawaii drawing is a 64 × 64 SVG, hand-drawn in the house style — one ink, one body, one face. The 3D toy is the same ingredient rendered in Blender as a matte toy wearing Chef Max's face: a square WebP, transparent, 1024 px.

Both are ours. Through this door you use them in your product; you do not redistribute them.

One portrait

:namestring · required
The name or the slug. “cherry tomato”, “tomate”, tomato — the slug is the one the graph gives in art.slug.
200
{
  "slug": "tomato",
  "kawaiiSvg": "<svg viewBox=\"0 0 64 64\" …",
  "kawaiiUrl": "https://api.rikaido.app/v1/art/ingredients/tomato/kawaii.svg",
  "toyUrl": "https://api.rikaido.app/v1/art/ingredients/tomato/toy.webp"
}

kawaiiSvg comes inline because it weighs under a kilobyte and an SVG recolours, animates and scales without losing anything. The toy comes by address: fetch it with the same key.

The files

GEThttps://api.rikaido.app/v1/art/ingredients/:name/toy.webp
GEThttps://api.rikaido.app/v1/art/ingredients/:name/kawaii.svg

The bytes, with their type. The key travels in Authorization as everywhere; an <img> tag cannot send it, so go through your server or the SDK (art.toy, art.kawaii) and serve the file yourself. Answers are Cache-Control: private, max-age=86400 — keep them for a day.

The whole cast

GEThttps://api.rikaido.app/v1/art/ingredients
200
{ "count": 690, "ingredients": [{ "slug": "achiote_paste", "kawaii": true, "toy": true },] }

One call, the whole list: which slug has what. An ingredient the cast does not have yet answers 404 not-drawn, and is not counted.

What it costs

$0.002 per portrait, whichever form. A 404 is not counted.