A large round portrait with name, headline, handle, short bio and location.
This is a real render from the API with the example values below, at 1200×630.
For author pages, speaker profiles, team pages and link-in-bio sites. The portrait gets a ring and a glow in your accent colour; the name shrinks to fit when it is long.
Every field is optional. Long text shrinks to fit instead of overflowing; an image field takes a public URL that we fetch on our side.
| Field | Type | Description | Example |
|---|---|---|---|
name |
text | Person's name. default: Your name | Maya Chen |
headline |
text | Role or one-line headline. | Staff Engineer at Northwind |
bio |
text | One or two sentences about the person. | Writes about performance, edge rendering and boring technology that works. |
handle |
text | Social handle, e.g. @mayacodes. | @mayacodes |
location |
text | City or country. | Lisbon, Portugal |
site |
text | Your domain or a short URL. | mayachen.dev |
photo |
image URL | Portrait, cropped to a circle. | https://example.com/images/avatar-woman.jpg |
accent |
colour | Brand colour as hex, e.g. #6366f1. Drives buttons, highlights and the background glow. default: #14b8a6 | #14b8a6 |
theme |
dark | light | Colour scheme: dark or light. | — |
Use the slug as template. The response holds the URL of the finished PNG; ?wait=true keeps the connection open until it is ready.
curl -X POST "https://imageapi.benchkithq.com/v1/images?wait=true" \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": "profile-card",
"modifications": {
"name": "Maya Chen",
"headline": "Staff Engineer at Northwind",
"bio": "Writes about performance, edge rendering and boring technology that works.",
"handle": "@mayacodes",
"location": "Lisbon, Portugal",
"site": "mayachen.dev",
"photo": "https://example.com/images/avatar-woman.jpg"
}
}'
For static sites, Webflow, Shopify and no-code tools: put the fields in the query string and sign it with your signing secret. The first request renders the image, every later one is a redirect to the cached file. How to compute the signature.
<meta property="og:image" content="https://imageapi.benchkithq.com/i/acc_YOUR_ACCOUNT_ID/profile-card.png?bio=Writes%20about%20performance%2C%20edge%20rendering%20and%20boring%20technology%20that%20works.&handle=%40mayacodes&headline=Staff%20Engineer%20at%20Northwind&location=Lisbon%2C%20Portugal&name=Maya%20Chen&site=mayachen.dev&s=YOUR_SIGNATURE">
accent and theme change per request. For anything more, copy the template into your account: you get an ordinary HTML template with the same fields that you can edit in the dashboard or through the API. If the slug is free on your account, the copy takes it — your integrations switch to your version without changing a line.
curl -X POST "https://imageapi.benchkithq.com/v1/templates/library/profile-card/copy" \
-H "Authorization: Bearer sk_live_YOUR_KEY"