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-batch-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 Batch 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: Batch
description: Batch rendering operations
paths:
/templates/{uid}/batch-render:
post:
operationId: batchRenderTemplate
summary: Batch render template
description: Generate multiple images from a template in one request
tags:
- Batch
parameters:
- name: uid
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BatchRenderRequest'
responses:
'202':
description: Batch job created
content:
application/json:
schema:
$ref: '#/components/schemas/BatchResponse'
/templates/batch/{batchId}/results:
get:
operationId: getBatchResults
summary: Get batch job results
tags:
- Batch
parameters:
- name: batchId
in: path
required: true
schema:
type: string
responses:
'200':
description: Batch job status and results
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatus'
/templates/batch/{batchId}/cancel:
post:
operationId: cancelBatch
summary: Cancel batch job
tags:
- Batch
parameters:
- name: batchId
in: path
required: true
schema:
type: string
responses:
'200':
description: Batch job cancelled
content:
application/json:
schema:
type: object
properties:
batchId:
type: string
status:
type: string
message:
type: string
components:
schemas:
BatchRenderRequest:
type: object
required:
- variableSets
properties:
variableSets:
type: array
items:
type: object
additionalProperties: true
minItems: 1
maxItems: 100
format:
type: string
enum:
- png
- jpeg
- webp
default: png
quality:
type: number
minimum: 0.1
maximum: 1
default: 0.9
layout:
type: string
pattern: ^[a-z0-9-]{1,64}$
description: Layout variant to use for all batch items. Omit for default layout.
layouts:
type: array
items:
type: string
pattern: ^[a-z0-9-]{1,64}$
description: Array of layout variant names to render for all batch items. Use instead of `layout` to render multiple layouts per item.
concurrency:
type: integer
minimum: 1
maximum: 10
default: 5
BatchStatus:
type: object
properties:
batchId:
type: string
status:
type: string
enum:
- pending
- processing
- completed
- failed
- partial
- cancelled
progress:
type: integer
minimum: 0
maximum: 100
totalItems:
type: integer
completedItems:
type: integer
failedItems:
type: integer
results:
type: array
items:
type: object
properties:
index:
type: integer
description: Zero-based index of this item in the batch
success:
type: boolean
description: Whether this batch item rendered successfully
variables:
type: array
items:
type: string
description: Variable names used for this item
results:
type: array
description: Rendered images, one per requested layout
items:
type: object
properties:
layout:
type: string
description: Layout key ('default' for base layout)
example: twitter-post
name:
type: string
description: Display name of the layout
example: Twitter/X Post
url:
type: string
format: uri
description: URL of the rendered image
width:
type: integer
description: Image width in pixels
height:
type: integer
description: Image height in pixels
format:
type: string
description: Image format
example: png
id:
type: string
description: Unique render identifier
errors:
type: array
description: Layout keys that failed to render for this item
items:
type: object
properties:
layout:
type: string
error:
type: string
createdAt:
type: string
format: date-time
startedAt:
type: string
format: date-time
completedAt:
type: string
format: date-time
BatchResponse:
type: object
properties:
batchId:
type: string
status:
type: string
enum:
- pending
- processing
- completed
- failed
- partial
- cancelled
totalItems:
type: integer
message:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key obtained from the Pictify dashboard