curl --request POST \
--url https://api.autype.com/api/v1/dev/render/images \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"config": {
"document": {
"type": "pdf",
"size": "A4"
},
"variables": {
"companyName": "Acme Inc"
},
"sections": [
{
"id": "section-1",
"type": "flow",
"content": [
{
"type": "h1",
"text": "Hello {{companyName}}"
},
{
"type": "text",
"text": "This is a paragraph."
}
]
}
]
},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
},
"image": {
"format": "png",
"dpi": 150,
"pages": [
"1-3"
]
}
}
'import requests
url = "https://api.autype.com/api/v1/dev/render/images"
payload = {
"config": {
"document": {
"type": "pdf",
"size": "A4"
},
"variables": { "companyName": "Acme Inc" },
"sections": [
{
"id": "section-1",
"type": "flow",
"content": [
{
"type": "h1",
"text": "Hello {{companyName}}"
},
{
"type": "text",
"text": "This is a paragraph."
}
]
}
]
},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
},
"image": {
"format": "png",
"dpi": 150,
"pages": ["1-3"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {
document: {type: 'pdf', size: 'A4'},
variables: {companyName: 'Acme Inc'},
sections: [
{
id: 'section-1',
type: 'flow',
content: [
{type: 'h1', text: 'Hello {{companyName}}'},
{type: 'text', text: 'This is a paragraph.'}
]
}
]
},
pdfProfile: 'standard',
webhook: {
webhookUrl: 'https://example.com/webhook',
webhookAuth: {
headerName: 'X-API-Key',
headerValue: 'my-secret-key',
basicAuthUsername: 'user',
basicAuthPassword: 'pass'
}
},
image: {format: 'png', dpi: 150, pages: ['1-3']}
})
};
fetch('https://api.autype.com/api/v1/dev/render/images', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.autype.com/api/v1/dev/render/images",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'document' => [
'type' => 'pdf',
'size' => 'A4'
],
'variables' => [
'companyName' => 'Acme Inc'
],
'sections' => [
[
'id' => 'section-1',
'type' => 'flow',
'content' => [
[
'type' => 'h1',
'text' => 'Hello {{companyName}}'
],
[
'type' => 'text',
'text' => 'This is a paragraph.'
]
]
]
]
],
'pdfProfile' => 'standard',
'webhook' => [
'webhookUrl' => 'https://example.com/webhook',
'webhookAuth' => [
'headerName' => 'X-API-Key',
'headerValue' => 'my-secret-key',
'basicAuthUsername' => 'user',
'basicAuthPassword' => 'pass'
]
],
'image' => [
'format' => 'png',
'dpi' => 150,
'pages' => [
'1-3'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.autype.com/api/v1/dev/render/images"
payload := strings.NewReader("{\n \"config\": {\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\"\n },\n \"variables\": {\n \"companyName\": \"Acme Inc\"\n },\n \"sections\": [\n {\n \"id\": \"section-1\",\n \"type\": \"flow\",\n \"content\": [\n {\n \"type\": \"h1\",\n \"text\": \"Hello {{companyName}}\"\n },\n {\n \"type\": \"text\",\n \"text\": \"This is a paragraph.\"\n }\n ]\n }\n ]\n },\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n },\n \"image\": {\n \"format\": \"png\",\n \"dpi\": 150,\n \"pages\": [\n \"1-3\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.autype.com/api/v1/dev/render/images")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\"\n },\n \"variables\": {\n \"companyName\": \"Acme Inc\"\n },\n \"sections\": [\n {\n \"id\": \"section-1\",\n \"type\": \"flow\",\n \"content\": [\n {\n \"type\": \"h1\",\n \"text\": \"Hello {{companyName}}\"\n },\n {\n \"type\": \"text\",\n \"text\": \"This is a paragraph.\"\n }\n ]\n }\n ]\n },\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n },\n \"image\": {\n \"format\": \"png\",\n \"dpi\": 150,\n \"pages\": [\n \"1-3\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.autype.com/api/v1/dev/render/images")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\"\n },\n \"variables\": {\n \"companyName\": \"Acme Inc\"\n },\n \"sections\": [\n {\n \"id\": \"section-1\",\n \"type\": \"flow\",\n \"content\": [\n {\n \"type\": \"h1\",\n \"text\": \"Hello {{companyName}}\"\n },\n {\n \"type\": \"text\",\n \"text\": \"This is a paragraph.\"\n }\n ]\n }\n ]\n },\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n },\n \"image\": {\n \"format\": \"png\",\n \"dpi\": 150,\n \"pages\": [\n \"1-3\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"jobId": "<string>",
"creditCost": 123,
"createdAt": "2023-11-07T05:31:56Z",
"downloadUrl": "<string>",
"filename": "<string>",
"filloutId": "<string>",
"error": "<string>",
"completedAt": "2023-11-07T05:31:56Z"
}Render a document from JSON as page images (temporary)
Submit a document JSON for rendering to page images. The document is rendered to PDF internally and converted with the same PDF image conversion pipeline used by PDF tools. Single-page output is a PNG/JPEG file; multi-page output is a ZIP archive.
curl --request POST \
--url https://api.autype.com/api/v1/dev/render/images \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"config": {
"document": {
"type": "pdf",
"size": "A4"
},
"variables": {
"companyName": "Acme Inc"
},
"sections": [
{
"id": "section-1",
"type": "flow",
"content": [
{
"type": "h1",
"text": "Hello {{companyName}}"
},
{
"type": "text",
"text": "This is a paragraph."
}
]
}
]
},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
},
"image": {
"format": "png",
"dpi": 150,
"pages": [
"1-3"
]
}
}
'import requests
url = "https://api.autype.com/api/v1/dev/render/images"
payload = {
"config": {
"document": {
"type": "pdf",
"size": "A4"
},
"variables": { "companyName": "Acme Inc" },
"sections": [
{
"id": "section-1",
"type": "flow",
"content": [
{
"type": "h1",
"text": "Hello {{companyName}}"
},
{
"type": "text",
"text": "This is a paragraph."
}
]
}
]
},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
},
"image": {
"format": "png",
"dpi": 150,
"pages": ["1-3"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {
document: {type: 'pdf', size: 'A4'},
variables: {companyName: 'Acme Inc'},
sections: [
{
id: 'section-1',
type: 'flow',
content: [
{type: 'h1', text: 'Hello {{companyName}}'},
{type: 'text', text: 'This is a paragraph.'}
]
}
]
},
pdfProfile: 'standard',
webhook: {
webhookUrl: 'https://example.com/webhook',
webhookAuth: {
headerName: 'X-API-Key',
headerValue: 'my-secret-key',
basicAuthUsername: 'user',
basicAuthPassword: 'pass'
}
},
image: {format: 'png', dpi: 150, pages: ['1-3']}
})
};
fetch('https://api.autype.com/api/v1/dev/render/images', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.autype.com/api/v1/dev/render/images",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'document' => [
'type' => 'pdf',
'size' => 'A4'
],
'variables' => [
'companyName' => 'Acme Inc'
],
'sections' => [
[
'id' => 'section-1',
'type' => 'flow',
'content' => [
[
'type' => 'h1',
'text' => 'Hello {{companyName}}'
],
[
'type' => 'text',
'text' => 'This is a paragraph.'
]
]
]
]
],
'pdfProfile' => 'standard',
'webhook' => [
'webhookUrl' => 'https://example.com/webhook',
'webhookAuth' => [
'headerName' => 'X-API-Key',
'headerValue' => 'my-secret-key',
'basicAuthUsername' => 'user',
'basicAuthPassword' => 'pass'
]
],
'image' => [
'format' => 'png',
'dpi' => 150,
'pages' => [
'1-3'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.autype.com/api/v1/dev/render/images"
payload := strings.NewReader("{\n \"config\": {\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\"\n },\n \"variables\": {\n \"companyName\": \"Acme Inc\"\n },\n \"sections\": [\n {\n \"id\": \"section-1\",\n \"type\": \"flow\",\n \"content\": [\n {\n \"type\": \"h1\",\n \"text\": \"Hello {{companyName}}\"\n },\n {\n \"type\": \"text\",\n \"text\": \"This is a paragraph.\"\n }\n ]\n }\n ]\n },\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n },\n \"image\": {\n \"format\": \"png\",\n \"dpi\": 150,\n \"pages\": [\n \"1-3\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.autype.com/api/v1/dev/render/images")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\"\n },\n \"variables\": {\n \"companyName\": \"Acme Inc\"\n },\n \"sections\": [\n {\n \"id\": \"section-1\",\n \"type\": \"flow\",\n \"content\": [\n {\n \"type\": \"h1\",\n \"text\": \"Hello {{companyName}}\"\n },\n {\n \"type\": \"text\",\n \"text\": \"This is a paragraph.\"\n }\n ]\n }\n ]\n },\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n },\n \"image\": {\n \"format\": \"png\",\n \"dpi\": 150,\n \"pages\": [\n \"1-3\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.autype.com/api/v1/dev/render/images")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\"\n },\n \"variables\": {\n \"companyName\": \"Acme Inc\"\n },\n \"sections\": [\n {\n \"id\": \"section-1\",\n \"type\": \"flow\",\n \"content\": [\n {\n \"type\": \"h1\",\n \"text\": \"Hello {{companyName}}\"\n },\n {\n \"type\": \"text\",\n \"text\": \"This is a paragraph.\"\n }\n ]\n }\n ]\n },\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n },\n \"image\": {\n \"format\": \"png\",\n \"dpi\": 150,\n \"pages\": [\n \"1-3\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"jobId": "<string>",
"creditCost": 123,
"createdAt": "2023-11-07T05:31:56Z",
"downloadUrl": "<string>",
"filename": "<string>",
"filloutId": "<string>",
"error": "<string>",
"completedAt": "2023-11-07T05:31:56Z"
}Authorizations
Short-lived, Developer-API-audience token obtained by the trusted MCP service through token exchange (mcp_at_...). Raw MCP resource tokens are rejected.
Query Parameters
Enable strict validation mode (validates anchors, references, citations, abbreviations, and footnotes)
Body
Complete document JSON following the Autype document schema. Must include document (with type) and sections. May also include variables, defaults, abbreviations, citations, footnotes, and style — all at the same level inside this object. The output format is determined by the document.type field (pdf, docx, or odt). Variable placeholders can use either {{varName}} or ${varName} syntax — both are accepted on input. See the Document JSON Syntax docs for the full schema reference.
Show child attributes
Show child attributes
{
"document": { "type": "pdf", "size": "A4" },
"variables": { "companyName": "Acme Inc" },
"sections": [
{
"id": "section-1",
"type": "flow",
"content": [
{
"type": "h1",
"text": "Hello {{companyName}}"
},
{
"type": "text",
"text": "This is a paragraph."
}
]
}
]
}
PDF output profile. Only valid for PDF output. PDF/A and PDF/UA profiles flatten interactive form fields to preserve the selected profile.
standard, pdfa-1b, pdfa-2b, pdfa-3b, pdfua-1 Optional webhook configuration. Receives a POST when the job completes or fails.
Show child attributes
Show child attributes
Image output options.
Show child attributes
Show child attributes
Response
Image render job created
Render job ID for status polling
PENDING, PROCESSING, COMPLETED, FAILED PDF, DOCX, ODT, PNG, JPEG Credit cost for this render job
Autype API download URL with signed token (only when completed). Supports direct browser download.
Filename for download
Saved record ID when rendering a persistent document with variable values.
Error message if failed
