To generate images in Zapier, add a Webhooks by Zapier step with the Custom Request event: method POST, URL https://shareglint.com/v1/images?wait=true, an Authorization: Bearer header with your API key, and a JSON body with the template and the values mapped from the trigger. The step's output has the finished image's public url, which any later step can use as a file. There is no Shareglint app in Zapier's directory; this one step is the integration.
What you need on the Zapier side
Webhooks by Zapier is a premium app: Zapier's help center shows it for Professional, Team and Enterprise plans, not Free (Zapier Help, updated 2026-08-10). The alternatives are no better on Free:
- API by Zapier (beta) is also premium and paid-only; its advantage is that it keeps the API key out of plain step fields (Zapier Help).
- Code by Zapier runs on Free, but with a 1-second runtime there (30 seconds on Professional and Team) — not enough to wait for a render (Code by Zapier).
On the Shareglint side, create a separate API key for Zapier in the dashboard, so you can revoke it without touching other integrations.
Recipe: an image for every new row (or post, or order)
Trigger → Webhooks by Zapier: Custom Request → where the image goes.
The trigger can be anything with the text you need: a new row in Google Sheets, a new WordPress post, a new Shopify product, a new form entry. Configure the webhook step:
- Event: Custom Request. (The plain POST event builds the body from key-value pairs; the API expects a nested
modificationsobject, which Custom Request sends exactly as written. Zapier points to Custom Request for nested JSON too.) - Method:
POST - URL:
https://shareglint.com/v1/images?wait=true - Data (raw JSON; insert the trigger's fields where the values go):
{
"template": "blog-og",
"format": "jpeg",
"modifications": {
"title": "{{Title from the trigger}}",
"author": "{{Author from the trigger}}",
"site": "northwind.dev"
}
}
- Headers:
Authorization→Bearer sk_live_…, andContent-Type→application/json.
Run Test step. The response comes back parsed, with fields such as id, status and url. That url is the image.
One caution about raw JSON: Zapier inserts mapped values as they are, so a title containing a double quote breaks the JSON. If your data can contain quotes, add a Formatter step before the webhook (Text → Replace " with \"), or use API by Zapier, which builds the body for you.
Using the image in the next step
Zapier's file fields take "a URL link that supports files" if it is publicly accessible and a direct download, not a preview page (Zapier Help: files). The render URL is both, so map url straight into:
- Google Drive → Upload File: File =
url; the image lands in a folder. - Slack → Send Channel Message: put
urlin the message, or in a file field to upload it. - Google Sheets → Update Row: write
urlinto a column, and=IMAGE(…)on that cell shows it in the sheet. - WordPress, Webflow, a CMS: set the post's featured or
og:imagefield tourl. - Social media steps that take an image URL: pass
urlas the post's image.
For several sizes of the same image, add "sizes": ["og", "square", "story"] to the body. The response then has a renders list with one url per size, in the order you listed the sizes, so later steps can pick each by position.
Many rows at once
A Zap runs once per trigger item, which suits new rows and new posts. For a back catalogue — 500 products, last year's posts — one batch call is simpler than 500 Zap runs: send the rows to POST /v1/batches (a csv_url of a published sheet works) and collect one ZIP. Rows per batch by plan: Free 50, Starter 500, Pro 1,000, Scale 2,000, Business 5,000. The CSV and Google Sheets guide has the details.
When something goes wrong
- 402
quota_exceeded: the month's renders are used up; nothing is charged. Zapier shows the step as errored. Raise the plan or add a top-up pack of 1,000 images for $8. - 422: an invalid request — an unknown template, size or format, for example; the body says which.
- 503
sync_overloaded: the image was not ready within the wait. The body still has the render'sid; a laterGET /v1/images/{id}step (a Custom Request withGET) returns it, and nothing renders twice. Zapier does not publish a timeout for webhook steps, so for animated GIF or MP4 renders, which take longer, use a webhook (webhook_url) to a "Catch Hook" Zap instead of?wait=true.
Retried or replayed Zap runs are safe: the same template with the same values returns the existing image without using quota.
Cost
One render per image and size; repeats are free. The Free plan's 100 renders a month carry a watermark; Starter is $9 a month for 2,000 renders (pricing). Zapier bills its own tasks separately.
What it does not do
- No native Zapier app, triggers or searches; everything goes through the webhook step.
- It does not run on Zapier's Free plan, because the HTTP steps it needs are premium.
- It does not store your Zapier data: each request carries the values, and only the rendered image is kept, for your plan's retention period.