Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/pictify-io:pictify-io-images-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Pictify Images API
version: 1.0.0
description: 'Generate images, GIFs, and PDFs from HTML templates programmatically.
## Authentication
All API requests require a Bearer token in the Authorization header:
```
Authorization: Bearer pk_live_your_api_key
```
## Rate Limits
- Free: 60 requests/minute
- Pro: 300 requests/minute
- Business: 1,000 requests/minute
Rate limit headers are included in all responses.'
contact:
email: support@pictify.io
url: https://pictify.io
license:
name: MIT
servers:
- url: https://api.pictify.io
description: Production
security:
- bearerAuth: []
tags:
- name: Images
description: Image generation endpoints
paths:
/image:
post:
operationId: createImage
summary: Generate an image
description: Generate an image from HTML, URL, or template
tags:
- Images
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImageRequest'
responses:
'200':
description: Image generated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ImageResponse'
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
get:
operationId: listImages
summary: List images
description: Get a paginated list of generated images
tags:
- Images
parameters:
- name: limit
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 30
- name: offset
in: query
schema:
type: integer
minimum: 0
default: 0
responses:
'200':
description: List of images
content:
application/json:
schema:
type: object
properties:
images:
type: array
items:
$ref: '#/components/schemas/ImageResponse'
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
hasMore:
type: boolean
/image/{uid}:
get:
operationId: getImage
summary: Get image details
tags:
- Images
parameters:
- name: uid
in: path
required: true
schema:
type: string
responses:
'200':
description: Image details
content:
application/json:
schema:
type: object
properties:
image:
$ref: '#/components/schemas/ImageResponse'
'404':
description: Image not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/image/canvas:
post:
operationId: createCanvasImage
summary: Generate image from FabricJS canvas
description: Render an image from FabricJS canvas data
tags:
- Images
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- fabricJSData
properties:
fabricJSData:
type: object
description: FabricJS canvas JSON
variables:
type: object
additionalProperties: true
variableDefinitions:
type: array
items:
$ref: '#/components/schemas/VariableDefinition'
width:
type: integer
height:
type: integer
fileExtension:
type: string
enum:
- png
- jpg
- jpeg
- webp
responses:
'200':
description: Canvas image generated
content:
application/json:
schema:
$ref: '#/components/schemas/ImageResponse'
components:
schemas:
Error:
type: object
required:
- type
- title
- status
properties:
type:
type: string
format: uri
description: Link to error documentation
example: https://docs.pictify.io/errors/invalid-api-key
title:
type: string
description: Short error title
example: Invalid API Key
status:
type: integer
description: HTTP status code
example: 401
detail:
type: string
description: Detailed error message
example: The provided API key is invalid or has been revoked.
instance:
type: string
description: Request path that caused the error
example: /image
VariableDefinition:
type: object
required:
- name
properties:
name:
type: string
description: Variable identifier. Must match the name used in `{{name}}` tokens.
type:
type: string
enum:
- text
- image
- color
- chart
- table
- array
- object
default: text
defaultValue:
description: 'Fallback value when the variable is not supplied at render time.
Typed according to `type` — string for text/image/color/url, number for number,
boolean for boolean, ISO date string for date, JSON array/object for array/object.
'
description:
type: string
allowRawHtml:
type: boolean
description: 'Only meaningful for `type=text` on `engine=html` templates. When true the value
is NOT HTML-escaped at render time. Use with care — treat as trusted input.
'
default: false
validation:
type: object
properties:
required:
type: boolean
minLength:
type: integer
maxLength:
type: integer
ImageRequest:
type: object
properties:
html:
type: string
description: HTML content to render
url:
type: string
format: uri
description: URL to screenshot (mutually exclusive with html)
template:
type: string
description: Template UID to render
variables:
type: object
additionalProperties: true
description: Variables to populate in the template
width:
type: integer
minimum: 1
maximum: 4000
default: 1200
description: Output width in pixels
height:
type: integer
minimum: 1
maximum: 4000
default: 630
description: Output height in pixels
selector:
type: string
description: CSS selector to capture specific element
fileExtension:
type: string
enum:
- png
- jpg
- jpeg
- webp
default: png
description: Output image format
ImageResponse:
type: object
properties:
url:
type: string
format: uri
description: URL of the generated image
example: https://cdn.pictify.io/renders/abc123.png
userStorageUrl:
type: string
format: uri
description: URL in user's configured storage (if configured)
id:
type: string
description: Unique image identifier
example: img_abc123
createdAt:
type: string
format: date-time
description: Timestamp when image was created
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key obtained from the Pictify dashboard