Getting started

Integration & migration

Image & video API

Video Player SDK

DAM user guide

API overview

Account

Creative automation

Create on-brand banners, promotional content, and social media posts in bulk from reusable templates with variables through the UI, via CSVs, or with AI Assist.


Creative automation lets your marketing and creative teams produce on-brand banners, promotional content, and social media posts at scale, without depending on graphic designers or your engineering team for every new asset.

You start by building a reusable template, mark the parts that should change as variables (such as product image, logo, category text, or discount percentage), and then generate many on-brand banners that follow the same layout and style but use different text and images. This makes it easy to launch marketing campaigns, run A/B tests, or publish creatives in multiple languages.

There are four key parts of Creative Automation:

  1. Creating a template
  2. Introducing variables in a template
  3. Creating a job to generate new banners by providing input values for the template variables
  4. Using AI Assist to quickly generate multiple text variations and translations.

Finally, you can export the generated banners back to your Media Library as ready-to-use assets.

Creative automation may not be enabled on every account. If you don't see it on your account and would like access, reach out to us on our support channels, and we'll be happy to help.

You can watch a demo video of the entire feature here:

Creating a template

A template defines the layout, styling, and positioning of your banner. You build it once using layer transformations, and then reuse it to generate many banners.

Create a new template

  1. Go to Creative Automation and open the Templates section. Click New Template.
  2. Select the banner size. For example, a 480 × 640 banner. Choose a background color. White (#FFFFFF) or transparent (#FFFFFF00) works for most templates.

Once the canvas is ready, you add the layers that make up your banner.

Add layers

Templates are built primarily from layer transformations, the same overlay layers you can apply through ImageKit URLs. Anything you can do with overlays on images can be done in a template. The three types of layers that are available are:

Layer Description
Canvas layerAdds a solid color or gradient block on top of the base image. See adding solid color blocks over an image.
Image layerAdds an image, such as a product image or logo, onto the banner. See adding images over an image.
Text layerAdds a string of text on the banner, such as a category name or discount percentage. See adding text over an image.

A template is composed of multiple layers stacked on top of each other, much like working in a tool such as Photoshop or Figma. To add a layer, click Add New Transformation and select the layer type. After adding a layer, rename it to something descriptive (for example, Product image or Discount text) so it's easy to identify later.

For every layer, you control its position using offsets (x/y from the top-left, or xc/yc from the center) together with an anchor point (center, top, bottom, etc.) that sets the reference point from which the offset is measured. Refer to position of layer for how these work, and use negative values (for example, a negative y offset anchored to the bottom) to position a layer relative to an edge.

Layer names are for your reference only. They help you understand which layer maps to which part of the template when you return to it later.

When we create a template, we set the default image and text values first. The parts that can be varied are marked in the second step and covered here.

Image layer

Use an image layer to place a product photo, logo, or any other image onto the banner. Key considerations:

Text layer

Use a text layer to add headings, category names, prices, or calls to action. Key considerations:

Canvas layer

Use a canvas layer to add a solid color or gradient block, useful for backgrounds, badges, or color blocks behind text. Key considerations:

If you design in Figma or Photoshop, the exact size, color, and position values are usually available there. You can copy those values directly into the template.

You can also nest text and image layers inside a canvas or an image layer inside another image layer. This is useful for relative positioning and sizing of layers. For example, if the gradient needs to be only on the product image and not on the whole canvas, then the gradient has to be nested inside the product image.

When all layers are in place, give the template a name (for example, Sale banner) and save it.

Introduce variables

So far, the template uses fixed images and text. Variables let you change specific parts (such as the product image, logo, or text) while keeping the rest of the layout, positioning, and styling the same.

To turn a layer's value into a variable:

  1. Hover over the layer. A curly braces icon ({ }) appears on the top-right.
  2. Click the icon and give the variable a name, for example, productImage, logoImage, categoryText, or discountText. Click Save and then Apply.

The layer is now highlighted (shown with a purple box) to indicate it's a variable. Its current value becomes the default for that variable, sourced from the asset you originally picked.

You can mark any property as a variable, but for most templated banners, you only need to vary the image and text values. Properties such as font color, font style, and placement usually stay fixed and match your brand or banner requirements.

Each layer shows the number of variables it contains, and the template shows a total variable count across all layers. Click the variable count to review all variables defined in the template. Once your template has variables, it's ready to be used in a job.

Creating a job

A job is a process that generates multiple banners from a template by supplying different values for its variables. Each banner becomes a row; each row contains all available template variables, and you can fill in the values manually or by uploading a CSV file.

Start a job

Go to the Jobs section and click New Job, then select a template.

Give the job a name (for example, Summer banners June 2026) and optionally add a goal to help understand why the banners are being created.

Then choose how to populate the rows:

Start blank

The blank view lists the template's variables as columns, with each row corresponding to a banner.

  1. The first row contains the template's default values.
  2. Update the variable values for each banner. As you change a value, the banner preview updates in real time while still following the template layout.
  3. To create a similar banner, duplicate an existing row. The values are copied, and you can tweak them.
  4. To add a fresh banner, click Add Another Item and select images and text values.

Hover over any row to preview the banner being generated in real time.

Upload a CSV

For larger batches, you can drive a job from a CSV file.

  1. If you don't have a CSV available, download the sample CSV file. Its columns match the variables defined in your template (for example, productImage, logoImage, categoryText, and discountText), and the first row shows example values.
  2. Add as many rows as you need, each representing one banner.
  3. In the job, click Upload CSV and select your file.
  4. Map each template variable to the corresponding CSV column. If you started from the sample file, the mapping is automatic. If you are uploading a custom CSV file, this is the step where you map the CSV columns to the template variables.
  5. Review the row count and click Import to load the rows into the job.

After importing, you can still manually edit rows or use AI Assist before exporting the banners.

Using AI Assist

AI Assist lets you generate new inputs or modify existing inputs for the banners using plain-language instructions. It's useful for creating translations, A/B test variations, or matching CTA text across many rows.

  1. Click on the AI Assist button within a job
  2. Enter your instruction in plain language. For example: “Duplicate the rows that contain Spanish text.” The clearer and more specific your prompt, the better AI Assist can understand your requirement and generate accurate results.
  3. AI Assist reads the existing rows and generates or updates existing data based on your instructions. You can review the change being made and then click Apply to apply them to the job. Refine any text manually if needed.

Other examples of what you can ask AI Assist to do:

  • Translate banner text into one or more languages as shown above
  • Generate matching CTA text variations (such as Buy now, Click here) or quickly create A/B test variants of the same text (such as Get 10% Off or Flat 10% off) across rows.
  • Find assets from the media library and use them to create new input rows. For example, Find 3 images tagged as shoes in the media library and use them for new banner input rows.

Export banners to the Media Library

Once your rows are ready, export the banners as ready-to-use assets.

  1. Click Preview and Export to review each banner at a higher resolution, including the final text and images.
  2. Select the ones which look good to publish, click Send to Media Library and select the destination folder.
  3. At this stage, you can also apply additional operations for the entire batch or for an individual file before export, such as:
    • Adding manual tags (for example, sale-banners-2026-june) or adding auto tags or running saved extensions for AI tasks.
    • Setting custom metadata values.
    • Renaming the assets.
  4. Click Upload files to export all the banners to your Media Library.

The exported banners appear in the destination folder and behave like any other asset in the DAM. You can share, tag, edit, and version them, and each banner gets a ready-to-use media delivery URL.

The exported banner is a complete, flattened image, not a real-time layer transformation. Its URL contains no transformation parameters, so it can be embedded directly on your website or app without any transformation latency. The final image would still have access to all of ImageKit's real-time optimizations and transformation capabilities, just like any other image.

Pricing

Creative Automation is billed as extension units, with each variation generated consuming a fixed number of units. See Creative Automation Pricing for details.