Image Export
How to export images - Abyssale REST API
You can generate an export (.zip format) containing several images.
This process is asynchronous and requires a webhook server to listen to export events.
The export process

(1) Ask an export

post
https://api.abyssale.com
/async/banners/export
Create a banner export
cURL
Javascript
Python
# Do not forget to replace {YOUR-API-KEY}
curl -X POST -H "x-api-key:{YOUR-API-KEY}" -H "Content-Type: application/json" \
-d '{
"callback_url": "https://webhook.mycompany.com/export",
"ids": ["{banner_id1}", "{banner_id2}", "{banner_id3}"]
}' \
https://api.abyssale.com//async/banners/export
const axios = require('axios');
const payload = {
"callback_url": "https://webhook.mycompany.com/export",
"ids": ["{banner_id1}", "{banner_id2}", "{banner_id3}"]
}
// Replace {id} by your template ID
axios.post("https://api.abyssale.com/banner-builder/{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
export_payload = {
"callback_url": "https://webhook.mycompany.com/export",
"ids": ["{banner_id1}", "{banner_id2}", "{banner_id3}"]
}
# Do not forget to replace {YOUR-API-KEY} and {template_id}
r = requests.post("https://api.abyssale.com/banner-builder/{template_id}/generate",
headers={"x-api-key": "YOUR-API-KEY", "Content-Type": "application/json"},
data=json.dumps(export_payload),
timeout=30
)
r.json()

(2) Receive the export request ID

If the export request is accepted, the API call returns the export_id. It represents the ID of the asynchronous export and allows toto identify the asynchronous response.

The following errors can occur:

  • 400: A given parameter is invalid. Body response:
{
"message": "body_validation_errors: {'media': {'ids': {0: ['Length must be 36.']}}}",
"errors": {
"media": {
"ids": {
"0": [
"Length must be 36."
]
}
}
}
}
  • 404: One the given banner ID cannot be found.

(3) NewExport event

Once the export is generated on the Abyssale side, a NewExport event is sent (POST) to the callback_url
If the initial request returns an export ID, the NewExport event will always be sent.