Generate Multi-Page PDF for Printing
How to generate asynchronously a multi page PDF - Abyssale REST API
Asynchronous Asset Generation Endpoint
POST /async/banner-builder/{design_id}/generate
Generation Characteristics
Supported Design Type: Print multi page
Response: Asynchronous
Enables batch generation of multiple assets
Retrieval methods:
Webhooks
Polling
Output File Types
Supported formats:
Multi page printable PDF
Additional information
Retrieval Mechanism
Initial request returns a
generation_request_idYou can track generation status and retrieve results using:
Key feature
Supports bulk asset creation
Allows handling of complex or time-consuming generation tasks
Provides flexibility in result retrieval
Output customisation
In addition to the supported image properties, a print property can be set to customise the output PDF. Here is the available option:
Display crop marks
Default: the value you have in the builder
Boolean
Color profile
be2ab219-8fe4-4d85-91ba-65bdc9ddaf01
CMYK - ISO Coated v2 (ECI)
03738f37-5b6f-4be9-9100-706b1711f9dd
CMYK - ISO Coated v2 (ECI) 300%
e0c86a8a-050c-41f1-885a-0f74b9baac50
CMYK - ISO Uncoated
0e0355e6-2931-4c83-92f2-64db9f5ddffc
CMYK - US Web Coated (SWOP 2006 5v2)
db3c123e-1127-11ef-b77e-f93002785645
RGB - No color profile included
fac91df8-1155-11ef-b77e-f93002785645
CMYK - ISO Newspaper26 v4
Configuration Example:
"print": {
"display_crop_marks": true,
"color_profile": "e0c86a8a-050c-41f1-885a-0f74b9baac50"
}Multi page print design

Sample request
Do not forget to replace {YOUR-API-KEY} and {design_id}
curl -X POST -H "x-api-key:{YOUR-API-KEY}" -H "Content-Type: application/json" \
-d '{
"pages": {
"page_1": {
"root": {
"background_color": "cmyka(0,0,0,0,100)"
},
"tb-image_0": {
"image_url": "https://mycompany.com/image.jpeg"
},
"tb-text_0": {
"payload": "Lorem Ipsum"
}
},
"page_2": {
"root": {
"background_color": "cmyka(0,0,0,0,100)"
},
"tb-image_0": {
"image_url": "https://mycompany.com/image.jpeg"
},
"tb-text_0": {
"payload": "Lorem Ipsum"
},
"tb-text_1": {
"payload": "Lorem Ipsum"
}
}
}' \
https://api.abyssale.com/async/banner-builder/{design_id}/generateconst axios = require('axios');
const payload = {
"pages": {
"page_1": {
"root": {
"background_color": "cmyka(0,0,0,0,100)"
},
"tb-image_0": {
"image_url": "https://mycompany.com/image.jpeg"
},
"tb-text_0": {
"payload": "Lorem Ipsum"
}
},
"page_2": {
"root": {
"background_color": "cmyka(0,0,0,0,100)"
},
"tb-image_0": {
"image_url": "https://mycompany.com/image.jpeg"
},
"tb-text_0": {
"payload": "Lorem Ipsum"
},
"tb-text_1": {
"payload": "Lorem Ipsum"
}
}
}
axios.post("https://api.abyssale.com/async/banner-builder/{design_id}/generate", payload, {
headers: {"x-api-key": "{YOUR-API-KEY}", "Content-Type": "application/json", "timeout": 30000}
}).then(response => {
console.log(response.data)
})import json
import requests
image_generation_payload = {
"pages": {
"page_1": {
"root": {
"background_color": "cmyka(0,0,0,0,100)"
},
"tb-image_0": {
"image_url": "https://mycompany.com/image.jpeg"
},
"tb-text_0": {
"payload": "Lorem Ipsum"
}
},
"page_2": {
"root": {
"background_color": "cmyka(0,0,0,0,100)"
},
"tb-image_0": {
"image_url": "https://mycompany.com/image.jpeg"
},
"tb-text_0": {
"payload": "Lorem Ipsum"
},
"tb-text_1": {
"payload": "Lorem Ipsum"
}
}
}
r = requests.post("https://api.abyssale.com/async/banner-builder/{design_id}/generate",
headers={"x-api-key": "YOUR-API-KEY", "Content-Type": "application/json"},
data=json.dumps(image_generation_payload),
timeout=30
)
r.json()Sample response
{"generation_request_id": "166e1852-dc97-43e3-a5f2-142076452c74"}Last updated