Five steps#
- 1
Create an account and publish a template
Sign up at app.anjin.design, open a project (the starter gallery gives you working templates), mark a headline or image as a slot, and publish the frame. Only published frames can be rendered. - 2
Mint an API key
Dashboard → API Keys. The key (ik_live_…) is shown once and is scoped to one project. - 3
Discover your templates
GET /v1/templateslists every published template with its addressing key — the value you pass astemplatewhen rendering. - 4
Check the slot contract
GET /v1/templates/:id/schemareturns the slot names and types the template accepts, so you can validate input before spending a credit. - 5
Render
POST /v1/renderswith your slot values. SendPrefer: waitand the response usually carries the finished image URL directly.
Your first render#
shell
curl -X POST https://api.anjin.design/v1/renders \
-H "Authorization: Bearer $ANJIN_API_KEY" \
-H "Content-Type: application/json" \
-H "Prefer: wait" \
-d '{
"template": "acme_instagram_1080x1350",
"modifications": [
{"name": "headline", "text": "Launch day"},
{"name": "hero_image", "image_url": "https://example.com/photo.jpg"}
]
}'What comes back#
200 — with Prefer: wait
{
"id": "6f1c…",
"status": "completed",
"output_url": "https://…signed…", // valid ~1 hour — download now
"asset_url": "https://…permanent…" // keep this one
}output_url is a signed link for immediate download; asset_url is the permanent copy in your project’s Renders folder — use it for anything you store. If the render couldn’t finish inside the wait window you get a 202 with status: "pending" instead — poll GET /v1/renders/:id as described in Rendering.
