# Render from a Utility Template

> Learn how you can make a POST request to render from a template

- **URL**: https://orshot.com/docs/api-reference/render-from-template

---

## What are Utility or Library Templates?

These are templates in Orshot which are pre-designed and meant to be used as utilities.
Some examples are [Website Screenshot](https://orshot.com/templates/website-screenshot),
[Tweet Image](https://orshot.com/templates/tweet-image), [Dynamic Image Resizer](https://orshot.com/templates/dynamic-image-resizer)

You can render content from a [template](https://orshot.com/templates) by making `POST` request to Orshot API```markdown tab="Endpoint"
https://api.orshot.com/v1/generate/${renderType}
``````markdown tab="Images"
https://api.orshot.com/v1/generate/images
```### Available `renderType` options

- `images`: To be used for all templates that generate images
- `pdfs`: To be used for all templates that generate pdfs

You can refer to `renderType` value on template pages on Orshot [e.g](https://orshot.com/templates/website-screenshot)

## POST Request```js
await fetch("https://api.orshot.com/v1/generate/images", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: "Bearer <ORSHOT_API_KEY>",
  },
  body: JSON.stringify({
    templateId: "website-screenshot",
    response: {
      format: "png",
      type: "base64",
    },
    modifications: { // different for each template
      websiteUrl: "https://pinterest.com",
      fullCapture: false,
      delay: 500,
      width: 1200,
      height: 1000,
    },
  }),
});
```</Tab>```js
{
  "data": {
    "content": "data:image/png;base64,iVBORw0.....",
    "format": "png",
    "type": "base64",
    "responseTime": 10325.22
  }
}
```</Tab>
</Tabs>

You can learn more about params:

- [`templateId`](https://orshot.com/docs/definitions/template-id)
- [`modifications`](https://orshot.com/docs/definitions/modifications)
- [`response.format`](https://orshot.com/docs/definitions/response-format)
- [`response.type`](https://orshot.com/docs/definitions/response-type)

## Rate Limits

This endpoint is rate limited based on your plan. Check the response headers for your current limit:

| Header                  | Description                                      |
| ----------------------- | ------------------------------------------------ |
| `X-RateLimit-Limit`     | Maximum requests per minute for your plan         |
| `X-RateLimit-Remaining` | Remaining requests in the current window          |
| `Retry-After`           | Seconds to wait (only on `429` responses)         |

## SDKs

If you prefer, you can use our SDKs which give you abstracted functions to quickly render from templates

[View Available SDKs](https://orshot.com/sdks)