# Designs

A design is a reusable creative blueprint that defines both the visual structure and output specifications of your marketing assets. It includes at least:

* one format *(dimension, i.e. Facebook feed 1200x628 or IAB 300x250)*
* one element *(text, button, image, shape...)*

{% hint style="info" %}
&#x20;[Discover how to create your first design on Abyssale](https://help.abyssale.com/en/articles/99196-create-my-first-template)
{% endhint %}

Each layer in a design has configurable properties that control its appearance and behavior. These properties can include:

* Visual attributes (colors, opacity, effects)
* Content values (text content, image sources)
* Positioning and layout settings
* Layer-specific configurations

{% content-ref url="generation/element-properties" %}
[element-properties](https://developers.abyssale.com/rest-api/generation/element-properties)
{% endcontent-ref %}

The properties you set in the design builder serve as default values. However, you can dynamically override any property at generation time through the API, enabling:

* Dynamic styling changes
* Contextual customization
* A/B testing variations

### Design Types&#x20;

Our platform supports four distinct design types, each optimized for different output needs:

#### Static Design

* Purpose: Creates static visual assets
* Output formats: PNG, JPEG, PDF
* Use case: Single-frame marketing assets like social posts or display ads

#### Animated Design

* Purpose: Creates dynamic visual content with motion
* Features:
  * Animation effects (fade, slide, transitions)
  * Optional background video support
* Output formats:
  * MP4 video
  * Animated GIF
  * HTML5 banner (ZIP package)

#### PDF Design

* Purpose: Creates print-ready single-page documents
* Output format: PDF
* Use case: Brochures, flyers, or print advertisements

#### Multi-page PDF Design

* Purpose: Creates multi-page documents
* Output format: PDF
* Use case: Catalogs, presentations, or multi-page marketing materials

<figure><img src="https://3568284716-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHvY8mOYKzvcoxVpCu4FE%2Fuploads%2FziU9hVA9Z56BQlb3NAQI%2Fimage.png?alt=media&#x26;token=cca290ec-2265-4c79-a32f-34c849e939ef" alt=""><figcaption></figcaption></figure>

#### Here is the mapping between a template type and supported generation file types:

<table><thead><tr><th width="195.33333333333331">Template type</th><th width="69" data-type="checkbox">jpeg</th><th width="71" data-type="checkbox">png</th><th width="63" data-type="checkbox">pdf</th><th width="58" data-type="checkbox">gif</th><th width="86" data-type="checkbox">html5</th><th width="69" data-type="checkbox">mp4</th><th data-type="checkbox">printable PDF</th></tr></thead><tbody><tr><td>static</td><td>true</td><td>true</td><td>true</td><td>false</td><td>false</td><td>false</td><td>false</td></tr><tr><td>animated</td><td>false</td><td>false</td><td>false</td><td>true</td><td>true</td><td>true</td><td>false</td></tr><tr><td>printer</td><td>false</td><td>false</td><td>false</td><td>false</td><td>false</td><td>false</td><td>true</td></tr><tr><td>printer_multipage</td><td>false</td><td>false</td><td>false</td><td>false</td><td>false</td><td>false</td><td>true</td></tr></tbody></table>

### Get your designs

Abyssale provides a list of free templates in the `Templates library` page. Feel free to use one to start designing a template instead of doing it from scratch.

**Only designs listed in the `Projects` page are accessible via API**.

{% hint style="info" %}
[The full api reference can be found here](https://api-reference.abyssale.com/#tag/Templates/paths/~1templates/get)
{% endhint %}

## Get Designs

> Retrieve all of your designs (containing for each the id, name, creation date & update date)

```json
{"openapi":"3.0.3","info":{"title":"API Reference - Abyssale","version":"0.0.1"},"tags":[{"name":"Designs","description":"A design is a layout including at least:\n- one format (dimension, i.e. Facebook feed 1200x628 or IAB 300x250)\n- one element (text, button, image, shape...)\n\nAll elements have their own properties that can be customized (color, text payload, image...).\n\nOnce designed, all properties of the design will act as a reference for subsequent image generation. Obviously, those properties can be overridden by sending new parameters in the generation API call.\n\nAbyssale provides a list of free template designs in the Template Library page. Feel free to use one to start designing your design instead of doing it from scratch.\n\n**All of your designs are listed in the different project pages, only those are accessible via API.**\n"}],"servers":[{"url":"https://api.abyssale.com","description":"Main Production Server"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"description":"All of your Abyssale requests must contain a `x-api-key header` with your API Key.","type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Design":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier (UUID) of the design."},"name":{"type":"string","description":"Name of the design."},"type":{"type":"string","enum":["static","animated","printer","printer_multipage"],"description":"Type of the design"},"created_at":{"type":"integer","description":"Timestamp of when the design has been created."},"updated_at":{"type":"integer","description":"Timestamp of when the design has been updated for the last time."},"category_name":{"type":"string","nullable":true,"description":"Design Category"}},"required":["id","name","created_at","updated_at"]}}},"paths":{"/designs":{"get":{"summary":"Get Designs","description":"Retrieve all of your designs (containing for each the id, name, creation date & update date)","tags":["Designs"],"parameters":[{"in":"path","name":"category_id","schema":{"type":"string","format":"uuid"},"required":false,"description":"Unique identifier (UUID) of a category. Filter designs by a category."},{"in":"path","name":"type","schema":{"type":"string","enum":["static","animated","printer","printer_multipage"]},"required":false,"description":"Filter designs by one of these types static, animated, printer, printer_multipage"}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Design"},{"type":"object","properties":{"preview_url":{"type":"string","format":"uri","description":"Preview Image URL of the first design format"}}}]}}}}}}}}}}
```

```
[
  {
    "id": "3f1900f0-9a0f-4d3f-867e-1bb3a6e4fa2d",
    "name": "Abyssale demo - FB Square",
    "type": "static",
    "created_at": 1681215684,
    "updated_at": 1681217794,
    "preview_url": "https://production-banners.s3-eu-west-1.amazonaws.com/templates/e0d292f2-ec21-11e9-a539-3c408bf94155/65422510-332e-4da6-ab50-d40ff532d000.png",
    "category_name": "Abyssale Demo"
  },
  {
    "id": "46d22c62-d134-44d3-a040-138e4ea9ea08",
    "name": "Abyssale demo - FB Feed",
    "type": "static",
    "created_at": 1688631025,
    "updated_at": 1688977170,
    "preview_url": "https://production-banners.s3-eu-west-1.amazonaws.com/templates/e0d292f2-ec21-11e9-a539-3c408bf94155/9c872731-da6f-4923-b342-7c4250ac94cc.png",
    "category_name": "Abyssale Demo"
  }
]
```

This sample contains 2 designs:

* *Abyssale demo - FB Feed* (static template) with the `46d22c62-d134-44d3-a040-138e4ea9ea08` template ID
* *Abyssale demo - FB Square* (static template) with the `3f1900f0-9a0f-4d3f-867e-1bb3a6e4fa2d` template ID

The `preview_url` property is the image associated with the first format in the template.
