Abyssale Developer Hub
  • Getting Started
  • Rest API
    • Overview - Rest API
    • Authentication
    • Designs
      • Design Details
    • Generation
      • Design information
      • Synchronous generation
        • Generate single image
      • Asynchronous generation
        • Generate Multi-Format images
        • Generate Multi-Format PDFs for Printing
        • Generate Multi-Page PDF for Printing
        • Generate Multi-Format Videos
        • Generate Multi-Format Animated GIFs
        • Generate HTML5 Banner Ads
          • ad network
      • Element properties
        • Root
        • Text
        • Button
        • Image
        • Logo
        • Shape
        • Rating
        • Illustration
        • QR Code
        • Video
        • Audio
      • Errors
    • Image Export
    • Fonts
    • Annexes
    • API Reference
  • Dynamic Images
    • Overview - Dynamic Images
    • Dynamic Image generation with URL
  • Webhooks
    • Overview - Webhooks
    • Events
      • Design
      • Banner
      • Global events
Powered by GitBook
On this page
  • Asynchronous Asset Generation Endpoint
  • Generation Characteristics
  • Output File Types
  • Additional information
  • Sample request
  • Sample response
  1. Rest API
  2. Generation
  3. Asynchronous generation

Generate Multi-Format images

How to generate several images at once - Abyssale REST API

Asynchronous Asset Generation Endpoint

POST /async/banner-builder/{design_id}/generate

Generation Characteristics

  • Supported Design Type: Static

  • Response: Asynchronous

  • Enables batch generation of multiple assets

  • Retrieval methods:

    • Webhooks

    • Polling

Output File Types

Supported formats:

  • JPEG

  • PNG

  • WEBP

  • AVIF

  • Web PDF

You can override the default using the image_file_type parameter:

  • Specify png, jpeg, webp, avif or pdf

Additional information

Retrieval Mechanism

  • Initial request returns a generation_request_id

  • You can track generation status and retrieve results using:

    • Webhook notifications

    • Periodic API polling

Key Differences from Synchronous Generation

  • All formats of a template can be generated by removing the template_format_names property.

  • Supports bulk asset creation

  • Allows handling of complex or time-consuming generation tasks

  • Provides flexibility in result retrieval

The callback_url request parameter and the asynchronous mechanism

As this method is asynchronous you should provide a callback_url. Check how the asynchronous generation works

Sample request

​Do not forget to replace {YOUR-API-KEY} and {designId}

curl -X POST -H "x-api-key:{YOUR-API-KEY}" -H "Content-Type: application/json"  \
-d '{
  "callback_url": "https://webhook.mycompany.com/images",
  "template_format_names": ["facebook-feed", "instagram-post", "iab-medium"],
  "elements": {
    "primary_text": {
        "payload": "New branding available.",
        "color": "#FF0000"
    }
  }
}' \
https://api.abyssale.com/async/banner-builder/{design_id}/generate
const axios = require('axios');

const payload = {
  "callback_url": "https://webhook.mycompany.com/images",
  "template_format_names": ["facebook-feed", "instagram-post", "iab-medium"],
  "elements": {
    "primary_text": {
        "payload": "New branding available.",
        "color": "#FF0000"
    }
  }
}

// Replace {id} by your template ID
axios.post("https://api.abyssale.com/async/banner-builder/{designId}/generate", payload, {
    headers: {"x-api-key": "{YOUR-API-KEY}", "Content-Type": "application/json", "timeout": 30000}
  }).then(response => {
    console.log(response.data)
}j
import json
import requests

image_generation_payload = {
  "callback_url": "https://webhook.mycompany.com/images",
  "template_format_names": ["facebook-feed", "instagram-post", "iab-medium"],
  "elements": {
    "primary_text": {
        "payload": "New branding available.",
        "color": "#FF0000"
    }
  }
}

# Do not forget to replace {YOUR-API-KEY} and {template_id}
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": "df75afa8-5a77-4e03-aeef-6d1b6dd0580a"
}
PreviousAsynchronous generationNextGenerate Multi-Format PDFs for Printing

Last updated 4 months ago